*{box-sizing:border-box}body{background:#0b0d10;margin:0}.dev-dashboard{background:#101317;border-left:2px solid #2a2f36;flex-direction:column;flex-shrink:0;min-height:0;display:flex}.dev-dashboard-collapsed{width:auto}.dev-dashboard-toggle{color:#f4f469;letter-spacing:.05em;text-align:left;cursor:pointer;background:0 0;border:none;padding:.9rem 1rem;font-family:inherit;font-size:.85rem}.dev-dashboard-toggle:hover{color:#fff}.dev-dashboard-body{flex-direction:column;gap:.9rem;width:15rem;min-height:0;padding:0 1.1rem 1.2rem;display:flex;overflow-y:auto}.dev-dashboard-section{letter-spacing:.12em;text-transform:uppercase;color:#f4f469;margin:0;font-size:.7rem;font-weight:700}.dev-dashboard-section-toggle{width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;display:flex}.dev-dashboard-section-toggle:hover{color:#fff6b8}.dev-dashboard-section-arrow{width:.8rem;display:inline-block}.dev-dashboard-field{color:#9aa4ad;flex-direction:column;gap:.3rem;font-size:.75rem;display:flex}.dev-dashboard-hint{color:#5a6470;font-size:.7rem}.dev-dashboard-field input{color:#e8ecef;background:#1a1e24;border:1px solid #2a2f36;border-radius:6px;width:100%;padding:.4rem .5rem;font-family:inherit;font-size:.85rem}.dev-dashboard-rate{align-items:center;gap:.5rem;display:flex}.dev-dashboard-rate input{flex:1}.dev-dashboard-unit{color:#6ec8ff;font-size:.75rem}.dev-dashboard-divider{border-top:1px solid #2a2f36}.dev-dashboard-restart{color:#0b0d10;cursor:pointer;background:#3ee08c;border:none;border-radius:6px;margin-top:.3rem;padding:.55rem;font-family:inherit;font-size:.85rem;font-weight:700}.dev-dashboard-restart:hover{background:#5ef2a3}.dev-dashboard-field select{color:#e8ecef;background:#1a1e24;border:1px solid #2a2f36;border-radius:6px;width:100%;padding:.4rem .5rem;font-family:inherit;font-size:.85rem}.dev-dashboard-timer-value{color:#e8ecef;font-size:.85rem;font-weight:700}.dev-dashboard-readout{color:#e0473e;font-size:.85rem;font-weight:700}.dev-dashboard-btn-row{gap:.5rem;display:flex}.dev-dashboard-btn-row .dev-dashboard-vuln-toggle{flex:1}.dev-dashboard-vuln-toggle{letter-spacing:.03em;color:#e8ecef;cursor:pointer;background:#1a1e24;border:1px solid #2a2f36;border-radius:6px;padding:.5rem;font-family:inherit;font-size:.75rem;font-weight:700}.dev-dashboard-vuln-toggle:hover{background:#23282f}.dev-dashboard-vuln-toggle:disabled{cursor:not-allowed;opacity:.4}.dev-dashboard-vuln-toggle:disabled:hover{background:#1a1e24}.dev-dashboard-vuln-table{border-collapse:collapse;width:100%;font-size:.7rem}.dev-dashboard-vuln-table th,.dev-dashboard-vuln-table td{text-align:center;border:1px solid #2a2f36;padding:.25rem .3rem}.dev-dashboard-vuln-table th{color:#9aa4ad;background:#15181c;font-weight:700}.dev-dashboard-vuln-table td{color:#e8ecef}.dev-dashboard-vuln-table td.dev-dashboard-vuln-selected{color:#f4f469;background:#23282f;font-weight:700}.dev-dashboard-autopilot-log{color:#c9d1d9;overflow-wrap:anywhere;margin:8px 0 0;padding-left:16px;font-size:11px}.qe-ledger{--bg:#0b0d10;--surface:#12161a;--surface-2:#1a1f25;--ink:#e8ecef;--ink-2:#aab2ba;--ink-3:#78828c;--rule:#262c33;--accent:#f4f469;--accent-soft:#2e2f12;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--warn:#e0a24a;--warn-soft:#33260f;--bad:#e66767;--bad-soft:#351819;--good:#5cc48a;--good-soft:#13291d;--font-body:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Courier New", ui-monospace, Consolas, monospace;z-index:200;background:var(--bg);color:var(--ink);font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:24px 16px 48px;font-size:14px;line-height:1.5;position:fixed;inset:0;overflow-y:auto}.qe-ledger *{box-sizing:border-box}.qe-ledger h1,.qe-ledger h2,.qe-ledger h3{text-wrap:balance;margin:0;line-height:1.2}.qe-ledger h1{font-family:var(--font-mono);letter-spacing:.06em;font-size:1.9rem}.qe-ledger h1 .qe{color:var(--accent)}.qe-ledger h2{font-size:1rem;font-weight:700}.qe-ledger p{margin:0}.qe-ledger .lede{color:var(--ink-2);max-width:72ch}.qe-ledger .eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-size:.7rem}.qe-ledger .dim{color:var(--ink-3)}.qe-ledger .small{font-size:.75rem}.qe-ledger .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.qe-ledger-wrap{flex-direction:column;gap:24px;max-width:1180px;margin-inline:auto;display:flex}.qe-ledger-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.qe-ledger-header>div{flex-direction:column;gap:8px;display:flex}.qe-ledger-close,.qe-ledger-reset{font:inherit;border:1px solid var(--rule);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:7px;padding:7px 14px;font-weight:600}.qe-ledger-close:hover,.qe-ledger-reset:hover{border-color:var(--accent);color:var(--accent)}.qe-ledger button:focus-visible,.qe-ledger input:focus-visible,.qe-ledger select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qe-ledger .layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=880px){.qe-ledger .layout{grid-template-columns:minmax(0,1fr)}}.qe-ledger .rail{background:var(--surface);border:1px solid var(--rule);border-radius:10px;flex-direction:column;gap:14px;padding:16px;display:flex;position:sticky;top:0}@media (width<=880px){.qe-ledger .rail{position:static}}.qe-ledger .field{flex-direction:column;gap:4px;display:flex}.qe-ledger .field label{font-size:.82rem;font-weight:600}.qe-ledger .field .hint{color:var(--ink-3);font-size:.74rem}.qe-ledger .field .derived{font-family:var(--font-mono);color:var(--ink-2);font-size:.76rem}.qe-ledger .field input,.qe-ledger .field select{font:inherit;font-family:var(--font-mono);border:1px solid var(--rule);background:var(--surface-2);color:var(--ink);border-radius:6px;width:100%;padding:6px 8px}.qe-ledger .main{flex-direction:column;gap:26px;min-width:0;display:flex}.qe-ledger section{flex-direction:column;gap:12px;min-width:0;display:flex}.qe-ledger .tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.qe-ledger .tile{background:var(--surface);border:1px solid var(--rule);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.qe-ledger .tile .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.qe-ledger .tile .unit{color:var(--ink-3);font-size:.8rem;font-weight:400}.qe-ledger .tile .sub{color:var(--ink-2);font-size:.78rem}.qe-ledger .findings{flex-direction:column;gap:10px;display:flex}.qe-ledger .finding{background:var(--surface);border:1px solid var(--rule);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.qe-ledger .finding .why{color:var(--ink-2);margin-top:2px;font-size:.84rem}.qe-ledger .pill{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.qe-ledger .pill.bad{background:var(--bad-soft);color:var(--bad)}.qe-ledger .pill.warn{background:var(--warn-soft);color:var(--warn)}.qe-ledger .pill.good{background:var(--good-soft);color:var(--good)}.qe-ledger .pill.info{background:var(--accent-soft);color:var(--accent)}.qe-ledger .chart-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 14px 8px;position:relative}.qe-ledger .legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:.8rem;display:flex}.qe-ledger .legend span{align-items:center;gap:6px;display:inline-flex}.qe-ledger .swatch{border-radius:2px;width:14px;height:3px;display:inline-block}.qe-ledger .swatch.s1{background:var(--series-1)}.qe-ledger .swatch.s2{background:var(--series-2)}.qe-ledger .swatch.dash{background:repeating-linear-gradient(90deg, var(--ink-3) 0 4px, transparent 4px 7px)}.qe-ledger svg.chart{width:100%;height:auto;display:block;overflow:visible}.qe-ledger svg.chart text{fill:var(--ink-3);font-family:var(--font-mono);font-size:11px}.qe-ledger svg .grid{stroke:var(--rule);stroke-width:1px}.qe-ledger svg .grid.dotted{stroke-dasharray:2 4}.qe-ledger svg .freeze{stroke:var(--ink-3);stroke-width:1.5px;stroke-dasharray:5 4}.qe-ledger svg .line{fill:none;stroke-width:2px;stroke-linejoin:round}.qe-ledger svg .line.s1{stroke:var(--series-1)}.qe-ledger svg .line.s2{stroke:var(--series-2)}.qe-ledger svg .dot{stroke:var(--surface);stroke-width:2px}.qe-ledger svg .dot.s1{fill:var(--series-1)}.qe-ledger svg .dot.s2{fill:var(--series-2)}.qe-ledger svg .cross{stroke:var(--ink-3);stroke-width:1px}.qe-ledger .tooltip{pointer-events:none;background:var(--surface-2);border:1px solid var(--rule);border-radius:8px;min-width:160px;padding:8px 10px;font-size:.78rem;position:absolute;top:40px;transform:translate(12px);box-shadow:0 6px 18px #0006}.qe-ledger .tooltip .tip-title{margin-bottom:4px;font-weight:700}.qe-ledger .tooltip .row{font-family:var(--font-mono);font-variant-numeric:tabular-nums;justify-content:space-between;gap:14px;display:flex}.qe-ledger .tooltip .row .k{color:var(--ink-2);font-family:var(--font-body)}.qe-ledger .table-scroll{border:1px solid var(--rule);background:var(--surface);border-radius:10px;overflow-x:auto}.qe-ledger table{border-collapse:collapse;width:100%;font-size:.84rem}.qe-ledger th,.qe-ledger td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:7px 10px}.qe-ledger th{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);background:var(--surface-2);font-size:.68rem;font-weight:700}.qe-ledger td.r,.qe-ledger th.r{text-align:right}.qe-ledger tr.study-end td{border-bottom:2px solid var(--rule)}.qe-ledger td.neg{color:var(--bad)}.qe-ledger .chips{flex-wrap:wrap;gap:8px;display:flex}.qe-ledger .chip{font:inherit;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.8rem}.qe-ledger .chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.qe-ledger .timeline-scroll{overflow-x:auto}.qe-ledger .timeline{grid-template-columns:repeat(10,minmax(100px,1fr));gap:6px;display:grid}.qe-ledger .strain{background:var(--surface);border:1px solid var(--rule);border-radius:8px;flex-direction:column;gap:6px;min-height:120px;padding:8px;display:flex}.qe-ledger .strain.empty{background:0 0;border-style:dashed}.qe-ledger .strain h3{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.06em;font-size:.72rem}.qe-ledger .strain .count{font-family:var(--font-mono);font-size:1.1rem;font-weight:700}.qe-ledger .tag{background:var(--surface-2);color:var(--ink-2);border-radius:5px;padding:3px 6px;font-size:.72rem;line-height:1.3}.qe-ledger .tag.free{background:var(--warn-soft);color:var(--warn);font-weight:700}.qe-ledger .cat-dot{vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.qe-ledger .cat-QGMR{background:var(--accent)}.qe-ledger .cat-Equipment{background:var(--series-1)}.qe-ledger .cat-Usable{background:var(--series-3)}.qe-ledger .footnote{color:var(--ink-3);max-width:80ch;font-size:.8rem}.usables-panel{background:#101317;border-right:2px solid #2a2f36;flex-direction:column;flex-shrink:0;align-items:center;gap:.7rem;width:9.5rem;padding:1rem .75rem;display:flex}.usables-title{letter-spacing:.12em;text-transform:uppercase;color:#f4f469;margin:0;font-size:.7rem;font-weight:700}.usables-grid{grid-template-columns:repeat(2,1fr);justify-items:center;gap:.6rem;display:grid}.usables-slot-wrap{width:3.6rem;height:3.6rem;position:relative}.usables-slot-armed:before{content:"";pointer-events:none;background:radial-gradient(circle,#0000 0% 60%,#f4f469b3 78%,#0000 100%);border-radius:50%;position:absolute;inset:-.4rem}.usables-slot{width:3.15rem;height:3.15rem;clip-path:var(--hex-clip-path);justify-content:center;align-items:center;display:flex}.usables-slot-empty{background:#1a1e24}.usables-slot-filled{cursor:grab;touch-action:none;background:#1a1e24}.usables-slot-filled:active,.usables-slot-dragging{cursor:grabbing;background:#23282f}.usables-slot-usable{cursor:pointer}.usables-slot-usable:active{cursor:pointer;background:#23282f}.usables-count{color:#e8ecef;pointer-events:none;background:#101317;border:1px solid #5a6470;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .2rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:-.15rem;right:-.15rem}.usables-cure-icon,.usables-ricochet-icon,.usables-wormhole-icon,.usables-scanner-icon,.usables-inoculation-icon,.usables-suppressor-icon,.usables-bottom-up-icon,.usables-necromancy-icon,.usables-sterile-icon,.usables-quarantine-icon,.usables-blitzkrieg-icon,.usables-anchor-icon,.usables-quantum-leap-icon{width:70%;height:70%;clip-path:var(--hex-clip-path)}.usables-cure-icon{background:#3ee08c}.usables-ricochet-icon{background:#ff6a1f}.usables-wormhole-icon{background:#7b3fe4}.usables-scanner-icon{background:#14b8a6}.usables-inoculation-icon{background:#e2293d}.usables-suppressor-icon{background:#d6339f}.usables-bottom-up-icon{background:#8a5a22}.usables-necromancy-icon{background:#1f4d2c}.usables-sterile-icon{background:#2596f0}.usables-quarantine-icon{background:#e8b91a}.usables-blitzkrieg-icon{background:#55606b}.usables-anchor-icon{background:#4a6fa5}.usables-quantum-leap-icon{background:#7fe7f5}.usables-confirm-popup{white-space:nowrap;letter-spacing:.03em;cursor:pointer;color:#0b0d10;z-index:10;background:#6ec8ff;border:none;border-radius:999px;padding:.35rem .8rem;font-family:inherit;font-size:.8rem;font-weight:700;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%)}.usables-confirm-popup:hover{background:#93dbff}.usables-hint{color:#5a6470;text-align:center;margin:0;font-size:.6rem;line-height:1.3}.usables-ghost{pointer-events:none;opacity:.85;z-index:50;width:2.2rem;height:2.2rem;position:fixed;transform:translate(-50%,-50%)}.usables-currency{font-size:1.2rem;font-weight:700}.usables-currency-symbol{color:#f4f469}.usables-controls{border-top:1px solid #2a2f36;justify-content:center;padding-top:.3rem;display:flex}.usables-spring-back-btn{letter-spacing:.04em;text-transform:uppercase;color:#d98a80;cursor:pointer;background:#1e1517;border:1px solid #4a2a2a;border-radius:7px;width:100%;margin-top:.5rem;padding:.5rem .4rem;font-family:inherit;font-size:.65rem;font-weight:700}.usables-spring-back-btn:hover{background:#2a1a1c}.usables-spring-back-btn-armed{color:#ffb199;background:#3a1a15;border-color:#ff5a3c}.usables-spring-back-btn-armed:hover{background:#45201b}.speed-control{gap:.3rem;display:flex}.speed-btn{cursor:pointer;background:#1a1e24;border:1px solid #2a2f36;border-radius:.4rem;justify-content:center;align-items:center;gap:.12rem;width:1.75rem;height:1.75rem;padding:0;display:flex}.speed-btn:hover:not(:disabled){background:#23282f}.speed-btn-active{background:#23282f;border-color:#f4f469}.speed-btn:disabled{opacity:.35;cursor:not-allowed}.speed-icon-bar{background:#f4f469;border-radius:1px;width:.18rem;height:.7rem}.speed-icon-tri{border-top:.36rem solid #0000;border-bottom:.36rem solid #0000;border-left:.55rem solid #f4f469;width:0;height:0}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-bubble{text-align:center;white-space:pre-line;color:#e8ecef;pointer-events:none;width:max-content;max-width:12rem;z-index:var(--z-tooltip);background:#1a1e24;border:1px solid #2a2f36;border-radius:6px;padding:.4rem .6rem;font-size:.7rem;line-height:1.4}.lab-section-title{letter-spacing:.1em;text-transform:uppercase;color:#f4f469;margin:0 0 .85rem;font-size:.9rem;font-weight:700}.lab-hint{color:#5a6470;margin:.7rem 0 0;font-size:1rem}.lab-section-title-row{justify-content:space-between;align-items:baseline;gap:.75rem;margin:0 0 .85rem;display:flex}.lab-section-title-row .lab-section-title{margin:0}.lab-section-title-inline{align-items:baseline;gap:.4rem;margin:0 0 .85rem;display:flex}.lab-section-title-inline .lab-section-title{margin:0}.lab-hex,.lab-square{flex-shrink:0;justify-content:center;align-items:center;width:3.1rem;height:3.1rem;display:flex}.lab-hex-sm,.lab-square-sm{width:2.3rem;height:2.3rem}.lab-hex-sm .lab-hex-label,.lab-square-sm .lab-hex-label{font-size:.6rem}.lab-hex{clip-path:var(--hex-clip-path)}.lab-square{border-radius:7px}.lab-hex-locked,.lab-square-locked{background:#1a1e24;border:1px solid #2a2f36}.lab-hex-unlocked{background:#3ee08c2e;border:1px solid #3ee08c99}.lab-slot-partial{background:linear-gradient(to top, #3ee08c2e var(--fill-fraction), #0c1e16f2 var(--fill-fraction))}.lab-slot-partial.lab-hex-clickable:hover,.lab-slot-partial.lab-square-clickable:hover{background:linear-gradient(to top, #3ee08c4d var(--fill-fraction), #122c20f2 var(--fill-fraction))}.lab-hex-clickable{cursor:pointer}.lab-hex-clickable:hover{background:#3ee08c4d}.lab-hex-unlocked[draggable=true]{cursor:grab}.lab-square-unlocked{background:#3ee08c2e;border:1px solid #3ee08c99}.lab-square-clickable{cursor:pointer}.lab-square-clickable:hover{background:#3ee08c4d}.lab-square-shake{animation:.4s lab-hex-shake}.lab-hex-drag-over{background:#f4f46940;border:1px dashed #f4f469}@keyframes lab-hex-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.lab-hex-shake{animation:.4s lab-hex-shake}.lab-hex-wrap{z-index:0;display:inline-flex;position:relative}.lab-hex-wrap-selected:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#0000 0% 60%,#f4f469b3 78%,#0000 100%);border-radius:50%;position:absolute;inset:-.4rem}.lab-hex-wrap-golden:after{content:"";clip-path:var(--hex-clip-path);z-index:-1;pointer-events:none;background:linear-gradient(135deg,#fff6d6 0%,#f4d160 30%,#b8860b 55%,#f4d160 78%,#fff6d6 100%);position:absolute;inset:-.16rem}.lab-hex-label{letter-spacing:.02em;color:#9aa4ad;text-align:center;pointer-events:none;text-shadow:0 1px 2px #000000d9;font-size:.7rem;font-weight:700;line-height:1}.lab-hex-row,.lab-square-row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.lab-currency{margin-top:.7rem;font-size:1.9rem;font-weight:700}.lab-currency-symbol{color:#f4f469}.lab-secondary-btn{letter-spacing:.03em;color:#e8ecef;cursor:pointer;background:#1a1e24;border:1px solid #2a2f36;border-radius:7px;padding:.6rem 1.1rem;font-family:inherit;font-size:1rem;font-weight:700}.lab-secondary-btn:hover{background:#23282f}.lab-secondary-btn:disabled{cursor:not-allowed;opacity:.4}.lab-secondary-btn:disabled:hover{background:#1a1e24}.lab-cost{color:#6ec8ff;margin-left:.5rem;font-weight:400}.lab-modal{background:#101317;border:1px solid #2a2f36;border-radius:10px;flex-direction:column;gap:1rem;width:50%;min-width:22rem;padding:1.45rem 1.8rem;display:flex;position:relative}.lab-modal h3{letter-spacing:.1em;text-transform:uppercase;color:#f4f469;margin:0;font-size:.9rem;font-weight:700}.lab-modal-close{color:#5a6470;cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:1.3rem;line-height:1;position:absolute;top:.6rem;right:.8rem}.lab-modal-close:hover{color:#e8ecef}.lab-modal .lab-secondary-btn{align-self:flex-start}.lab-modal-actions{gap:.6rem;display:flex}.lab-menu-actions{flex-direction:column;gap:.6rem;display:flex}.lab-menu-actions .lab-secondary-btn{align-self:stretch}.lab-insufficient-popup{color:#fff;letter-spacing:.03em;white-space:nowrap;pointer-events:none;z-index:20;background:#e0473e;border-radius:999px;padding:.35rem .8rem;font-size:.75rem;font-weight:700;animation:2s forwards lab-toast-fade;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}@keyframes lab-toast-fade{0%{opacity:0;transform:translate(-50%)translateY(-.2rem)}10%{opacity:1;transform:translate(-50%)translateY(0)}85%{opacity:1}to{opacity:0}}.lab-extract-popup{white-space:nowrap;letter-spacing:.03em;cursor:pointer;color:#0b0d10;z-index:10;background:#6ec8ff;border:none;border-radius:999px;padding:.35rem .8rem;font-family:inherit;font-size:.8rem;font-weight:700;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%)}.lab-extract-popup:hover{background:#93dbff}.lab-shop-popup-marker{width:0;height:0;position:absolute;top:100%;left:50%}.lab-shop-popup{z-index:10;flex-direction:column;align-items:stretch;gap:.3rem;margin-top:.4rem;font-family:Courier New,monospace;display:flex;position:fixed;transform:translate(-50%)}.lab-shop-popup .lab-extract-popup{position:static;transform:none}.lab-exclude-popup{white-space:nowrap;letter-spacing:.03em;cursor:pointer;color:#d9c6ff;background:#241a33;border:1px solid #b38cf5;border-radius:999px;padding:.35rem .8rem;font-family:inherit;font-size:.8rem;font-weight:700}.lab-exclude-popup:hover{background:#33254a}.lab-shop-popup button:disabled{opacity:.45;cursor:not-allowed}.tutorial-modal-overlay{z-index:var(--z-tutorial);pointer-events:auto;background:#05070959;position:fixed;inset:0}.tutorial-quag-bar-wrap{z-index:var(--z-tutorial);pointer-events:none;justify-content:center;padding-bottom:5rem;font-family:Courier New,monospace;display:flex;position:fixed;bottom:0;left:0;right:0}.tutorial-quag-bar{pointer-events:auto;background:#0a0c0ff7;border-top:2px solid #2a2f36;border-bottom:2px solid #2a2f36;width:100%;padding:1.6rem 2.4rem 1.8rem;position:relative;box-shadow:0 10px 30px #00000080}.tutorial-quag-bar-clickable{cursor:pointer}.tutorial-quag-speaker{letter-spacing:.12em;text-transform:uppercase;color:#6ec8ff;text-align:center;margin:0 0 .3rem;font-size:.8rem;font-weight:700}.tutorial-quag-text{color:#e8ecef;text-align:center;margin:0;font-size:1.35rem;line-height:1.5}.tutorial-ring{pointer-events:none;z-index:var(--z-tutorial);border:2px solid #f4f469;border-radius:14px;animation:1.4s ease-in-out infinite tutorial-pulse;position:fixed}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 0 4px #f4f46940}50%{box-shadow:0 0 0 9px #f4f4691f}}.tutorial-caption{z-index:var(--z-tutorial);text-align:center;pointer-events:none;background:#0a0c0ff7;border:1px solid #2a2f36;border-radius:12px;max-width:34rem;padding:1rem 1.5rem;font-family:Courier New,monospace;position:fixed;bottom:1.8rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000080}.tutorial-caption-text{color:#e8ecef;margin:0 0 .6rem;font-size:1.1rem;line-height:1.5}.tutorial-caption-text:last-child{margin-bottom:0}.tutorial-skip-btn{pointer-events:auto;color:#9aa4ad;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem;text-decoration:underline}.tutorial-skip-btn:hover{color:#e8ecef}.tutorial-skip-btn-corner{color:#6b7280;padding:.2rem .4rem;position:absolute;top:.7rem;right:1rem}.dialogue-overlay{z-index:var(--z-dialogue);pointer-events:auto;background:#05070959;justify-content:center;align-items:flex-end;padding-bottom:5rem;display:flex;position:fixed;inset:0}.dialogue-box{background:#0a0c0ff7;border-top:2px solid #2a2f36;border-bottom:2px solid #2a2f36;width:100%;padding:1.6rem 2.4rem 1.8rem;position:relative;box-shadow:0 10px 30px #00000080}.dialogue-box-clickable{cursor:pointer}.dialogue-skip-btn{color:#f4f469;cursor:pointer;background:#0a0c0ff7;border:2px solid #2a2f36;border-bottom:none;border-radius:8px 8px 0 0;padding:.4rem 1rem;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.dialogue-skip-btn:hover{color:#fff6b8;background:#14171cf7}.dialogue-text{margin:0;font-size:1.35rem;line-height:1.5}.dialogue-text-narration{color:#9aa4ad;text-align:center;font-style:italic}.dialogue-speaker{letter-spacing:.12em;text-transform:uppercase;color:#6ec8ff;margin:0 0 .3rem;font-size:.8rem;font-weight:700}.dialogue-text-quag{color:#e8ecef}.dialogue-player-options{flex-direction:column;align-items:center;gap:.5rem;display:flex}.dialogue-player-option{text-align:center;color:#3ee08c;cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-family:inherit;font-size:1.2rem}.dialogue-player-option:hover{color:#7cf0b3;text-decoration:underline}.qe-collect-particle{pointer-events:none;width:.5rem;height:.5rem;z-index:var(--z-board-effect);background:#f4f469;position:fixed;box-shadow:0 0 8px 2px #f4f469cc}.timed-effect-banners{z-index:var(--z-banner);gap:.6rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.timed-effect-banner{pointer-events:none;white-space:nowrap;background:#0a0c0fb3;border:1px solid #ffffff14;border-radius:999px;align-items:baseline;gap:.5rem;padding:.5rem .9rem;display:flex}.timed-effect-banner-label{letter-spacing:.06em;text-transform:uppercase;color:#e8ecef;font-size:.75rem;font-weight:700}.timed-effect-banner-seconds{color:#bfffd9;font-size:.85rem;font-weight:700}.trial-outcome{pointer-events:none;z-index:var(--z-banner);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.trial-outcome-box{pointer-events:auto;background:#0a0c0fd9;border-radius:12px;flex-direction:column;align-items:center;gap:1.1rem;padding:1.3rem 2rem;display:flex}.trial-outcome-box span{letter-spacing:.2em;font-size:2.2rem;font-weight:700}.trial-outcome-win .trial-outcome-box{border:2px solid #3ee08c}.trial-outcome-win span{color:#3ee08c}.trial-outcome-lose .trial-outcome-box{border:2px solid #e0473e}.trial-outcome-lose span{color:#e0473e}.trial-outcome-box .trial-outcome-reward{letter-spacing:.05em;color:#f4f469;font-size:.95rem;font-weight:700}.trial-outcome-breakdown{flex-direction:column;align-items:center;gap:.35rem;display:flex}.trial-outcome-box .trial-outcome-penalty{color:#e0473e}.trial-outcome-continue{letter-spacing:.08em;cursor:pointer;color:#0b0d10;background:#f4f469;border:none;border-radius:6px;padding:.55rem 1.6rem;font-family:inherit;font-size:.85rem;font-weight:700}.trial-outcome-continue:hover{background:#fff}.victory-modal{z-index:var(--z-victory-modal);background:#040507bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.victory-modal-box{background:#0a0c0feb;border:2px solid #3ee08c;border-radius:12px;flex-direction:column;align-items:center;gap:1.3rem;padding:2rem 2.6rem;display:flex}.victory-modal-title{letter-spacing:.2em;color:#3ee08c;font-size:2.4rem;font-weight:700}.victory-modal-stats{flex-direction:column;align-items:center;gap:.4rem;display:flex}.victory-modal-stat{letter-spacing:.05em;color:#f4f469;font-size:.95rem;font-weight:700}.victory-modal-continue{letter-spacing:.08em;cursor:pointer;color:#0b0d10;background:#f4f469;border:none;border-radius:6px;padding:.55rem 1.6rem;font-family:inherit;font-size:.85rem;font-weight:700}.victory-modal-continue:hover{background:#fff}.win-bonus-modal{z-index:var(--z-win-bonus-modal);background:#040507bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.win-bonus-modal-box{background:#0a0c0ff2;border:2px solid #f4f469;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;max-width:34rem;max-height:90vh;padding:1.8rem 2.2rem;display:flex;overflow-y:auto}.win-bonus-modal-title{letter-spacing:.15em;color:#f4f469;text-align:center;font-size:1.6rem;font-weight:700}.win-bonus-modal-hint{color:#9aa4ad;text-align:center;margin:0;font-size:.8rem;line-height:1.4}.win-bonus-row{flex-direction:column;align-items:center;gap:.4rem;width:100%;display:flex}.win-bonus-row-title{letter-spacing:.05em;text-transform:uppercase;color:#5a6470;font-size:.75rem;font-weight:700}.win-bonus-options{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.win-bonus-strain-preview{color:#9aa4ad;text-align:center;border-top:1px solid #2a2f36;margin:0;padding-top:.8rem;font-size:.75rem;line-height:1.4}.win-bonus-confirm{letter-spacing:.08em;cursor:pointer;color:#0b0d10;background:#f4f469;border:none;border-radius:6px;padding:.55rem 1.6rem;font-family:inherit;font-size:.85rem;font-weight:700}.win-bonus-confirm:hover{background:#fff}.win-bonus-confirm:disabled{cursor:not-allowed;opacity:.4;background:#f4f469}.lab-v2{flex-direction:column;flex:1;gap:1.2rem;min-width:0;min-height:0;padding:.9rem 2.4rem 1.2rem;display:flex}.lab-v2-body{align-items:flex-start;gap:2rem;min-height:0;padding-bottom:.6rem;display:flex;overflow:hidden auto}.lab-v2-col{flex-direction:column;display:flex}.lab-v2-col-left{flex:none;gap:1rem}.lab-v2-col-middle{flex:1;min-width:0}.lab-v2-footer{border-top:1px solid #2a2f36;align-items:center;gap:1.8rem;margin-top:auto;padding-top:1rem;display:flex}.lab-v2-footer .lab-hint{flex:1;margin:0}.lab-qgmr-upkeep-block{flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.lab-qgmr-upkeep{color:#5a6470;white-space:nowrap;font-size:.85rem}.lab-qgmr-proficiency{color:#5a6470;white-space:nowrap;font-size:.75rem}.lab-qgmr-upkeep-net{color:#d9dee3;white-space:nowrap;font-size:.9rem;font-weight:700}.lab-qgmr-upkeep-inline{color:#9aa4ad;white-space:nowrap;font-size:.75rem;line-height:1.3}.lab-v2-topbar{border-bottom:1px solid #2a2f36;justify-content:space-between;align-items:center;gap:1.8rem;padding-bottom:.8rem;display:flex}.lab-topbar-icons{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.lab-topbar-tagged{flex-direction:column;gap:.5rem;display:flex}.lab-topbar-tag{letter-spacing:.1em;text-transform:uppercase;color:#f4f469;font-size:.8rem;font-weight:700}.lab-topbar-equipment{align-items:center;gap:.85rem;display:flex}.lab-icon-btn{cursor:pointer;width:2.9rem;height:2.9rem;clip-path:var(--hex-clip-path);border:none}.lab-icon-handicaps{background:#3a3f47}.lab-icon-btn-active.lab-icon-handicaps{background:#e0473e}.lab-icon-qgmr{background:#a97bfa}.lab-icon-qgmr-pulse{animation:.3s .45s lab-qgmr-icon-pulse}@keyframes lab-qgmr-icon-pulse{0%{transform:scale(1)}40%{filter:brightness(1.5);transform:scale(1.25)}to{filter:brightness();transform:scale(1)}}.lab-topbar-trigger-wrap{flex-direction:column;align-items:center;gap:.15rem;display:flex;position:relative}.lab-topbar-arrow{color:#5a6470;background:0 0;border:none;margin:0;padding:0;font-size:.6rem;line-height:1}button.lab-topbar-arrow{cursor:pointer}button.lab-topbar-arrow:hover{color:#9aa4ad}.lab-qgmr-popover{z-index:var(--z-reveal-popup);background:#101317;border:1px solid #2a2f36;border-radius:10px;min-width:22rem;max-width:28rem;padding:1rem 1.2rem;animation:1s lab-qgmr-popover-in;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 4px 14px #0006}.lab-qgmr-popover-closing{animation:1s forwards lab-qgmr-popover-out}@keyframes lab-qgmr-popover-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0 0 0%)}}@keyframes lab-qgmr-popover-out{0%{clip-path:inset(0 0 0%)}to{clip-path:inset(0 0 100%)}}.lab-qgmr-upgrades{margin-top:0}.lab-qgmr-dial-wrap{position:relative}.lab-qgmr-dial-popup{z-index:var(--z-dial-popup);background:#1a1e24;border:1px solid #2a2f36;border-radius:10px;flex-direction:column;align-items:center;gap:.5rem;max-width:18rem;padding:.7rem .9rem;display:flex;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.lab-qgmr-dial-label{color:#e8ecef;white-space:nowrap;font-size:.75rem;font-weight:700}.lab-qgmr-dial-desc{color:#9aa4ad;text-align:center;white-space:pre-line;margin:0;font-size:.7rem;line-height:1.4}.lab-qgmr-dial-slider{accent-color:#6ec8ff;width:8rem}.lab-qgmr-dial-done{letter-spacing:.03em;cursor:pointer;color:#0b0d10;background:#6ec8ff;border:none;border-radius:999px;padding:.3rem .7rem;font-family:inherit;font-size:.7rem;font-weight:700}.lab-qgmr-dial-done:hover{background:#93dbff}.lab-handicap-reveal-overlay{pointer-events:auto;z-index:var(--z-reveal-popup);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lab-handicap-reveal{text-align:center;pointer-events:auto;will-change:transform;background:#0a0c0ff2;border-top:1px solid #e0473e;border-bottom:1px solid #e0473e;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.3rem 2.4rem;display:flex;position:relative;box-shadow:0 10px 30px #00000080}.lab-handicap-reveal-close{color:#d98a80;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1.2rem;line-height:1;position:absolute;top:.5rem;right:.8rem}.lab-handicap-reveal-close:hover{color:#e0473e}.lab-handicap-reveal-title{letter-spacing:.05em;color:#e0473e;font-size:1.1rem;font-weight:700}.lab-handicap-reveal-desc{color:#d98a80;font-size:.85rem;line-height:1.4}.virus-mutation-reveal-overlay{pointer-events:auto;z-index:var(--z-reveal-popup-above);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.virus-mutation-reveal{text-align:center;pointer-events:auto;will-change:transform;background:#0a0c0ff2;border:1px solid #e0473e;border-radius:8px;flex-direction:column;align-items:center;gap:.6rem;max-width:22rem;padding:1.1rem 2rem;display:flex;position:relative;box-shadow:0 10px 30px #00000080}.virus-mutation-reveal-close{color:#d98a80;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1.1rem;line-height:1;position:absolute;top:.4rem;right:.6rem}.virus-mutation-reveal-close:hover{color:#e0473e}.virus-mutation-reveal-title{text-transform:uppercase;letter-spacing:.12em;color:#e0473e;font-size:1rem;font-weight:700}.virus-mutation-reveal-list{color:#d98a80;flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.unlock-list{flex-direction:column;gap:.7rem;margin:.6rem 0 .9rem;padding:0;list-style:none;display:flex}.unlock-item-name{color:#f4f469;letter-spacing:.03em}.unlock-item-noun{color:#5a6470;font-size:.8rem}.unlock-item-description{margin:.25rem 0 0;font-size:.85rem;line-height:1.35}.lab-modal-theme-achievement{border-color:#6b4f17;box-shadow:0 0 0 1px #e3b34126,0 0 24px #e3b3411f}.lab-modal-theme-achievement h3,.lab-modal-theme-achievement .lab-modal-close:hover{color:#e3b341}.achievement-list{flex-direction:column;gap:.7rem;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.achievement-item{background:#ffffff08;border:1px solid #2c3640;border-left:3px solid #e3b341;border-radius:4px;padding:.6rem .8rem}.achievement-item-name{letter-spacing:.04em;color:#e3b341;font-size:.95rem}.achievement-item-description{color:#c5ccd3;margin:.3rem 0 0;font-size:.85rem}.achievement-item-locked{background:#ffffff04;border-left-color:#2c3640}.achievement-item-locked .achievement-item-name{color:#56616b;letter-spacing:.3em}.save-slots-list{flex-direction:column;gap:.6rem;display:flex}.save-slot-name-input{color:#e8ecef;background:#1a1e24;border:1px solid #2a2f36;border-radius:7px;padding:.6rem .8rem;font-family:inherit;font-size:1rem}.save-slot-card{background:#171b20;border:1px solid #2a2f36;border-radius:8px;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.save-slot-card-empty{color:#5a6470;justify-content:center;align-items:center}.save-slot-empty-label{letter-spacing:.03em;font-size:.9rem}.save-slot-name{color:#e8ecef;font-size:1.05rem;font-weight:700}.save-slot-stats{color:#9aa4ad;flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.stats-strains-grid{flex-direction:column;gap:.5rem;display:flex}.stats-strains-row{align-items:center;gap:.8rem;display:flex}.stats-strains-row-label{letter-spacing:.08em;text-transform:uppercase;color:#9aa4ad;flex-shrink:0;width:3.2rem;font-size:.8rem;font-weight:700}.lab-combine-row{align-items:center;gap:1.45rem;margin-bottom:.8rem;display:flex}.lab-ingredient-card{background:#101317;border:1px solid #2a2f36;border-radius:10px;flex-direction:column;align-items:center;gap:.6rem;padding:1.1rem 1.3rem;display:flex}.lab-ingredient-label{letter-spacing:.08em;text-transform:uppercase;color:#9aa4ad;font-size:.85rem}.lab-ingredient-options{align-items:center;gap:.6rem;display:flex}.lab-ingredient-col{flex-direction:column;gap:.5rem;display:flex}.lab-combine-btn-wrap{position:relative}.lab-combine-btn{letter-spacing:.05em;cursor:pointer;color:#0b0d10;background:#6ec8ff;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem 1.55rem;font-family:inherit;font-size:1.1rem;font-weight:700;display:flex}.lab-combine-btn:hover{background:#93dbff}.lab-combine-btn:disabled{cursor:not-allowed;opacity:.4}.lab-combine-btn:disabled:hover{background:#6ec8ff}.lab-combine-btn .lab-cost{color:#0b0d10;opacity:.7;margin-left:0;font-size:.85rem}.combine-effect-layer{z-index:var(--z-board-effect);pointer-events:none;position:fixed;inset:0}.combine-particle{width:1.4rem;height:1.4rem;clip-path:var(--hex-clip-path);background:#3ee08c;position:fixed;box-shadow:0 0 8px 2px #3ee08cb3}.combine-particle-element{background:#6ec8ff;box-shadow:0 0 8px 2px #6ec8ffb3}.combine-poof{background:radial-gradient(circle,#ffffffe6 0%,#f4f46999 40%,#0000 75%);border-radius:50%;width:3rem;height:3rem;position:fixed}.lab-cures-honeycomb{flex-direction:column;align-items:center;gap:.35rem;margin-top:-.5rem;display:flex}.lab-cures-honeycomb-row{justify-content:center;gap:.2rem}.lab-notes-icon{cursor:pointer;opacity:.75;background:0 0;border:none;padding:.1rem .3rem;font-size:1.1rem;line-height:1}.lab-notes-icon:hover{opacity:1}.lab-notes-textarea{resize:vertical;color:#e8ecef;background:#1a1e24;border:1px solid #2a2f36;border-radius:6px;width:28rem;max-width:80vw;min-height:14rem;padding:.7rem .8rem;font-family:inherit;font-size:.85rem;line-height:1.5}.lab-notes-textarea::placeholder{color:#5a6470}.lab-generator-drawer{flex:none;align-items:stretch;display:flex}.lab-generator-tab{color:#9aa4ad;cursor:pointer;writing-mode:vertical-rl;letter-spacing:.08em;background:#101317;border:1px solid #2a2f36;border-radius:12px;flex:none;order:2;justify-content:center;align-items:center;gap:.5rem;margin-left:.6rem;padding:.9rem .5rem;font-family:inherit;font-size:.85rem;transition:color .15s,border-color .15s;display:flex;transform:rotate(180deg)}.lab-generator-tab:hover{color:#f4f469;border-color:#f4f469}.lab-generator-tab-arrow{font-size:.9rem}.lab-generator-panel{background:#101317;border:1px solid #2a2f36;border-radius:12px;flex:0 0 30rem;order:1;transition:flex-basis .25s,border-width .25s;overflow:hidden}.lab-generator-panel-inner{box-sizing:border-box;opacity:1;width:30rem;padding:1rem 1.7rem 2.4rem;transition:opacity .2s}.lab-generator-drawer-collapsed .lab-generator-panel{border-width:0;flex-basis:0}.lab-generator-drawer-collapsed .lab-generator-panel-inner{opacity:0;pointer-events:none}.lab-generator-title{letter-spacing:.1em;color:#f4f469;margin:0 0 .6rem;font-size:1.2rem}.lab-generator-row{margin-bottom:.55rem}.lab-generator-row:last-child{margin-bottom:0}.lab-generator-row-label{color:#9aa4ad;margin-bottom:.3rem;font-size:1rem;display:block}.lab-regen-wrap{flex-direction:column;align-items:center;gap:.15rem;margin-left:auto;display:flex}.lab-generator-row-regen{flex-direction:column;align-items:center;gap:0;padding:.3rem .9rem;font-size:.9rem;line-height:1.15;display:flex}.lab-generator-row-regen .lab-cost{margin-left:0}.lab-regens-left{color:#5a6470;font-size:.7rem}.lab-fe-shop-slot{position:relative}.lab-start-trial{letter-spacing:.1em;cursor:pointer;color:#0b0d10;background:#3ee08c;border:none;border-radius:10px;flex-shrink:0;padding:1rem 2.4rem;font-family:inherit;font-size:1.2rem;font-weight:700}.lab-start-trial:hover{background:#5ef2a3}.lab-start-trial:disabled,.lab-start-trial-blocked{cursor:not-allowed;opacity:.4}.lab-start-trial:disabled:hover,.lab-start-trial-blocked:hover{background:#3ee08c}.lab-start-trial-wrap{flex-shrink:0;position:relative}.lab-insufficient-popup-above{top:auto;bottom:calc(100% + .4rem)}.lab-help-toggle{color:#9aa4ad;cursor:pointer;background:0 0;border:1px solid #2a2f36;border-radius:7px;padding:.6rem 1.1rem;font-family:inherit;font-size:1rem}.lab-help-toggle:hover{color:#e8ecef;border-color:#5a6470}.lab-help-overlay{z-index:var(--z-help-overlay);background:#0a0c0fb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lab-instructions{text-align:left;color:#9aa4ad;background:#101317;border:1px solid #2a2f36;border-radius:10px;max-width:34rem;padding:1.45rem 1.8rem;font-size:1rem;line-height:1.6}.lab-instructions h3{letter-spacing:.1em;text-transform:uppercase;color:#f4f469;margin:0 0 .7rem;font-size:.9rem;font-weight:700}.lab-instructions ul{margin:0;padding-left:1.45rem}.lab-instructions li{margin-bottom:.5rem}.lab-instructions li:last-child{margin-bottom:0}.qgmr-collect-particle{width:1.6rem;height:1.6rem;clip-path:var(--hex-clip-path);pointer-events:none;z-index:var(--z-board-effect);background:#a97bfa;position:fixed;box-shadow:0 0 10px 3px #a97bfacc}.lab-modal-theme-log-vault{border-color:#5a4a33;width:min(80%,64rem)}.lab-modal-theme-log-vault h3,.lab-modal-theme-log-vault .lab-modal-close:hover{color:#d9c9a3}.log-vault-empty,.log-vault-hint{color:#9aa4ad;margin:0;font-size:.85rem}.lab-modal-theme-log-vault.log-vault-modal{box-sizing:border-box;width:min(94vw,96rem);height:88vh}.log-vault-tabs{border-bottom:1px solid #3a342a;flex-wrap:wrap;gap:.4rem;display:flex}.log-vault-tab{color:#9aa4ad;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px 6px 0 0;align-items:baseline;gap:.6rem;margin-bottom:-1px;padding:.45rem .9rem;font-family:inherit;font-size:.9rem;display:flex}.log-vault-tab:hover{color:#d9c9a3}.log-vault-tab-active{color:#d9c9a3;background:#101317;border-color:#3a342a #3a342a #101317}.log-vault-chapter-count{color:#9aa4ad;font-size:.75rem}.log-vault-table-scroll{background:#15120d;border-radius:6px;flex:1;min-height:0;overflow:hidden auto;box-shadow:inset 0 0 40px #0000008c}.log-vault-table{margin:.8rem;position:relative}.log-vault-page-scroll{flex:1;justify-content:center;min-height:0;padding:1rem;display:flex;overflow-y:auto}.log-vault-page{color:#2b2620;filter:drop-shadow(0 3px 6px #00000080);background:#e6dcc3;border-radius:2px;align-self:flex-start;width:min(100%,44rem);padding:2rem 2.4rem}.log-vault-page .log-piece-text{font-size:.9rem;line-height:1.6}.log-piece{filter:drop-shadow(0 3px 6px #00000080);cursor:grab;position:relative}.log-piece-on-table{touch-action:none;-webkit-user-select:none;user-select:none;width:41.6rem;position:absolute}.log-piece-held{cursor:grabbing;filter:drop-shadow(0 12px 18px #000000a6)}.log-piece-paper{color:#2b2620;background:#e6dcc3;border-radius:2px;padding:.9rem 1rem}.log-piece:active{cursor:grabbing}.log-piece-torn-top{clip-path:polygon(0 6px,5% 0,10% 5px,15% 1px,20% 6px,25% 0,30% 4px,35% 1px,40% 6px,45% 0,50% 5px,55% 1px,60% 6px,65% 0,70% 4px,75% 1px,80% 6px,85% 0,90% 5px,95% 1px,100% 6px,100% 100%,0 100%);padding-top:1.2rem}.log-piece-torn-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),95% 100%,90% calc(100% - 5px),85% calc(100% - 1px),80% calc(100% - 6px),75% 100%,70% calc(100% - 4px),65% calc(100% - 1px),60% calc(100% - 6px),55% 100%,50% calc(100% - 5px),45% calc(100% - 1px),40% calc(100% - 6px),35% 100%,30% calc(100% - 4px),25% calc(100% - 1px),20% calc(100% - 6px),15% 100%,10% calc(100% - 5px),5% calc(100% - 1px),0 calc(100% - 6px));padding-bottom:1.2rem}.log-piece-torn-top.log-piece-torn-bottom{clip-path:polygon(0 6px,5% 0,10% 5px,15% 1px,20% 6px,25% 0,30% 4px,35% 1px,40% 6px,45% 0,50% 5px,55% 1px,60% 6px,65% 0,70% 4px,75% 1px,80% 6px,85% 0,90% 5px,95% 1px,100% 6px,100% calc(100% - 6px),95% 100%,90% calc(100% - 5px),85% calc(100% - 1px),80% calc(100% - 6px),75% 100%,70% calc(100% - 4px),65% calc(100% - 1px),60% calc(100% - 6px),55% 100%,50% calc(100% - 5px),45% calc(100% - 1px),40% calc(100% - 6px),35% 100%,30% calc(100% - 4px),25% calc(100% - 1px),20% calc(100% - 6px),15% 100%,10% calc(100% - 5px),5% calc(100% - 1px),0 calc(100% - 6px))}.log-piece-drop-top .log-piece-paper{background:linear-gradient(#f6ebc8 0%,#e6dcc3 50%)}.log-piece-drop-bottom .log-piece-paper{background:linear-gradient(#e6dcc3 50%,#f6ebc8 100%)}.log-drop-edge{pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;left:-4px;right:-4px}.log-drop-edge:before{content:"";background:#e3b341;border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 12px #e3b341cc}.log-drop-edge-top{top:-.6rem}.log-drop-edge-bottom{bottom:-.6rem}.log-drop-edge-label{color:#1a1408;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#e3b341;border-radius:999px;padding:.15rem .55rem;font-size:.65rem;font-weight:700;position:relative}.log-piece-text{white-space:pre-wrap;margin:0;font-family:Courier New,Courier,monospace;font-size:.82rem;line-height:1.45}.log-piece-new{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#b5452f;border-radius:999px;padding:.05rem .4rem;font-size:.65rem;font-weight:700;position:absolute;top:.5rem;right:.6rem}.lab-modal-theme-log-vault.log-arrival-modal{width:min(90%,32rem)}.log-arrival-chapter{color:#d9c9a3;margin:0 0 .4rem;line-height:1.5}.log-arrival-piece{cursor:default;max-height:55vh;overflow-y:auto}:root{--hex-clip-path:polygon(50% 0%, 93.3% 25%, 93.3% 75%, 50% 100%, 6.7% 75%, 6.7% 25%);--z-banner:40;--z-help-overlay:50;--z-tutorial:55;--z-board-effect:60;--z-reveal-popup:70;--z-reveal-popup-above:71;--z-dialogue:80;--z-win-bonus-modal:85;--z-tooltip:90;--z-dial-popup:91;--z-victory-modal:100}.app-shell{color:#e8ecef;background:#0b0d10;flex-direction:column;height:100vh;font-family:Courier New,monospace;display:flex}.app-header{border-bottom:2px solid #2a2f36;justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;display:flex}.app-header h1{letter-spacing:.15em;color:#f4f469;margin:0;font-size:1.5rem}.app-header-right{align-items:baseline;gap:1.5rem;display:flex}.trial-loadout-bar{align-items:center;gap:.4rem;display:flex}.virus-identity{align-items:baseline;gap:.5em;font-size:.85rem;display:flex}.virus-identity-label{color:#5a6470;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.virus-identity-value{color:#e0473e;letter-spacing:.05em;font-weight:700}.spring-count{align-items:baseline;gap:.5em;font-size:.85rem;display:flex}.spring-count-label{color:#5a6470;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.spring-count-value{color:#d98a80;letter-spacing:.05em;font-weight:700}.app-main{flex:1;min-height:0;display:flex}.battle-view{flex:1;min-width:0;min-height:0;position:relative}.title-screen{color:#e8ecef;background-color:#0b0d10;justify-content:center;align-items:center;padding:1rem;font-family:Courier New,monospace;display:flex;position:fixed;inset:0;overflow-y:auto}.title-backdrop{opacity:.5;width:100%;height:100%;position:absolute;inset:0}.title-screen-vignette{pointer-events:none;background:radial-gradient(34rem 26rem,#0b0d10d1,#0b0d1059 70%,#0000),radial-gradient(#0000 55%,#0b0d10d9);position:absolute;inset:0}.title-screen-center{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex;position:relative}.title-screen-title{letter-spacing:.18em;color:#f4f469;text-shadow:0 0 28px #f4f46940;margin:0 -.18em 0 0;font-size:clamp(2.6rem,9vw,6rem)}.title-screen-tagline{letter-spacing:.08em;color:#7d8792;margin:0 0 2rem;font-size:.9rem}.title-screen-menu{flex-direction:column;gap:.6rem;width:min(18rem,100%);display:flex}.title-screen-btn{letter-spacing:.1em;text-transform:uppercase;color:#e8ecef;cursor:pointer;background:#14181d;border:1px solid #2a2f36;border-radius:7px;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem 1rem;font-family:inherit;font-size:1.05rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.title-screen-btn:hover,.title-screen-btn:focus-visible{color:#f4f469;background:#1d2229;border-color:#f4f469;outline:none}.title-screen-btn-primary{background:#1c2a1f;border-color:#2f6b3d}.title-screen-btn-detail{letter-spacing:.04em;text-transform:none;color:#8fa59a;font-size:.72rem;font-weight:400}
