@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@600;700&family=Inter:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,600;0,700;1,400&family=Noto+Sans+Arabic:wght@400;600;700&family=Noto+Sans+JP:wght@400;600;700&family=Noto+Sans+KR:wght@400;600;700&family=Noto+Sans+SC:wght@400;600;700&family=Noto+Sans+TC:wght@400;600;700&family=Noto+Sans+Thai:wght@400;600;700&display=swap";:root{color-scheme:dark;--wc-charcoal: #0e1114;--wc-slate: #1b2228;--wc-steel: #8a96a0;--wc-sand: #d6c8a6;--wc-teal: #3aa39b;--wc-mint: #7cffc7;--wc-power: #ffb02e;--wc-danger: #c8403d;--wc-dust: #7a5e43;--wc-light: #e6e2d6;--wc-border: #2a343c;--wc-border-strong: #3d4a54;--font-display: "Orbitron", system-ui, sans-serif;--font-ui: "Rajdhani", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--bg: var(--wc-charcoal);--panel: var(--wc-slate);--border: var(--wc-border);--text: var(--wc-light);--muted: var(--wc-steel);--accent: var(--wc-mint);--warn: var(--wc-power);--danger: var(--wc-danger);--text-bright: var(--wc-light);--glass-bg: rgba(27, 34, 40, .72);--glass-bg-strong: rgba(14, 17, 20, .88);--glass-border: rgba(138, 150, 160, .22);--glass-highlight: rgba(230, 226, 214, .06)}.wc-panel--steel{background:linear-gradient(165deg,#1f2830 0%,var(--wc-slate) 48%,#141a20 100%);border:1px solid var(--wc-border-strong);border-radius:10px;box-shadow:inset 0 1px #ffffff0f,0 12px 32px #00000073}.wc-panel--sand{background:linear-gradient(165deg,#3d3528,#2a241c);border:1px solid rgba(214,200,166,.25);color:var(--wc-light)}.wc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;padding:.45rem .85rem;border-radius:6px;border:1px solid var(--wc-border-strong);background:linear-gradient(180deg,#2a343c,#1b2228);color:var(--wc-light);font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background .12s,border-color .12s,transform .08s}.wc-btn:hover:not(:disabled){border-color:var(--wc-steel);background:linear-gradient(180deg,#35424c,#232c34)}.wc-btn:active:not(:disabled){transform:translateY(1px)}.wc-btn:disabled{opacity:.42;cursor:not-allowed}.wc-btn--primary{border-color:#7cffc773;background:linear-gradient(180deg,#5ee0b8,#2a9d7a);color:#0e1114}.wc-btn--primary:hover:not(:disabled){border-color:var(--wc-mint);background:linear-gradient(180deg,#7cffc7,#3aa39b)}.wc-btn--danger{border-color:#c8403d80;background:linear-gradient(180deg,#a83835,#6e2422);color:var(--wc-light)}.wc-btn--danger:hover:not(:disabled){border-color:var(--wc-danger)}.wc-btn--secondary{background:transparent;color:var(--wc-steel)}.wc-btn--toggle[aria-pressed=true]{border-color:var(--wc-mint);box-shadow:0 0 0 1px #7cffc740;color:var(--wc-mint)}.wc-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.3rem .4rem;min-width:0;font-family:var(--font-ui);font-size:clamp(.55rem,1.3vmin,.68rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--wc-steel)}.wc-meter__glyph{font-size:.95rem;line-height:1}.wc-meter__label,.chrome-top .wc-meter__label,.shelter-hud .wc-meter__label{display:none}.wc-meter__track{position:relative;height:6px;min-width:2.25rem;border-radius:2px;background:var(--wc-charcoal);border:1px solid var(--wc-border);overflow:hidden;background-image:repeating-linear-gradient(90deg,transparent,transparent calc(10% - 1px),rgba(0,0,0,.35) calc(10% - 1px),rgba(0,0,0,.35) 10%)}.wc-meter__track>i{display:block;height:100%;min-width:2px;border-radius:1px;transition:width .2s ease}.wc-meter__value{font-variant-numeric:tabular-nums;color:var(--wc-light);white-space:nowrap}.wc-meter--materials .wc-meter__track>i{background:var(--wc-sand)}.wc-meter--power .wc-meter__track>i{background:var(--wc-power)}.wc-meter--air .wc-meter__track>i{background:var(--wc-teal)}.wc-meter--hull .wc-meter__track>i{background:linear-gradient(90deg,var(--wc-teal),var(--wc-mint))}.wc-meter--stock .wc-meter__track>i{background:var(--wc-dust)}.wc-meter--warn .wc-meter__track>i{background:var(--wc-power)}.wc-meter--critical .wc-meter__track>i{background:var(--wc-danger)}.wc-meter-delta{grid-column:2 / -1;font-size:.52rem;color:var(--wc-mint)}.meter.wc-meter{grid-template-columns:auto minmax(2rem,1fr) auto;padding:.2rem .4rem;background:#0003;border:1px solid var(--glass-border);border-radius:8px}.encounter-sheet__portrait .encounter-hero__probe{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.room-event-shell--encounter{width:min(640px,100%);max-height:calc(100dvh - 16px);background:var(--wc-charcoal);color:var(--wc-light);border:1px solid var(--wc-border-strong);border-radius:12px;padding:14px 16px 12px;box-shadow:0 16px 48px #0000008c}.room-event-shell--encounter .room-event-shell__title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wc-light);text-shadow:none}.room-event-shell--encounter .room-event-shell__sub{font-family:var(--font-ui);font-size:.78rem;font-weight:600;color:var(--wc-steel);margin-top:4px}.room-event-shell--encounter .room-event-shell__countdown{font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--wc-power);margin:6px 0 0}.room-event-shell--encounter .room-event-shell__close{color:var(--wc-steel)}.room-event-shell--encounter .room-event-shell__close:hover{color:var(--wc-mint)}.room-event-shell--encounter .room-event-shell__hint{font-family:var(--font-body);font-size:.72rem;color:var(--wc-steel);margin:10px 0 0;line-height:1.4}.encounter-sheet{display:flex;flex-direction:column;gap:12px;width:100%;min-height:0}.encounter-sheet__grid{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:12px;align-items:stretch;min-height:0}.encounter-sheet__portrait{position:relative;min-height:10rem;border-radius:8px;overflow:hidden;background:var(--wc-slate);border:1px solid var(--wc-border);background-size:cover;background-position:center top}.encounter-sheet__portrait--fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(165deg,#252e36 0%,var(--wc-slate) 100%)}.encounter-sheet__portrait-badge{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--wc-teal);letter-spacing:.08em}.encounter-sheet__portrait-label{font-family:var(--font-ui);font-size:.65rem;letter-spacing:.12em;color:var(--wc-steel);text-transform:uppercase}.encounter-sheet__portrait-scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(14,17,20,.85) 100%);pointer-events:none}.encounter-sheet__detail{display:flex;flex-direction:column;gap:10px;min-width:0}.encounter-sheet__hook{margin:0;font-family:var(--font-body);font-size:.82rem;line-height:1.45;color:var(--wc-light)}.encounter-sheet__toru{margin:0;padding:8px 10px;border-left:3px solid var(--wc-teal);background:#1b2228d9;font-family:var(--font-body);font-size:.78rem;line-height:1.35;color:var(--wc-steel)}.encounter-sheet__panels{display:grid;grid-template-columns:1fr 1fr;gap:8px}.encounter-sheet__panel{padding:8px 10px;border-radius:6px;min-height:3.5rem}.encounter-sheet__panel--receive{background:#3aa39b1f;border:1px solid rgba(58,163,155,.35)}.encounter-sheet__panel--pay{background:#ffb02e14;border:1px solid rgba(255,176,46,.28)}.encounter-sheet__panel-title{margin:0 0 6px;font-family:var(--font-ui);font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--wc-steel)}.encounter-sheet__panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.encounter-sheet__panel-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-family:var(--font-ui);font-size:.72rem;font-weight:600;color:var(--wc-light)}.encounter-sheet__panel-amt{font-family:var(--font-display);font-size:.95rem;color:var(--wc-mint)}.encounter-sheet__panel--pay .encounter-sheet__panel-amt{color:var(--wc-power)}.encounter-sheet__panel-empty{margin:0;font-family:var(--font-body);font-size:.72rem;color:var(--wc-steel);font-style:italic}.encounter-sheet__choices{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:none}.encounter-sheet__choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;border:1px solid var(--wc-border);border-radius:8px;background:#1b2228e6;color:var(--wc-light);cursor:pointer;font:inherit;transition:border-color .12s,box-shadow .12s}.encounter-sheet__choice:hover:not(:disabled){border-color:var(--wc-teal)}.encounter-sheet__choice--selected{border-color:var(--wc-mint);box-shadow:0 0 0 1px #7cffc740}.encounter-sheet__choice:disabled{opacity:.45;cursor:not-allowed}.encounter-sheet__choice-glyph{font-size:1.25rem;line-height:1;width:1.5rem;text-align:center}.encounter-sheet__choice-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.encounter-sheet__choice-label{font-family:var(--font-ui);font-size:.88rem;font-weight:700;letter-spacing:.03em;color:var(--wc-light)}.encounter-sheet__choice-blurb{font-family:var(--font-body);font-size:.72rem;color:var(--wc-steel);line-height:1.3}.encounter-sheet__choice-chev{font-size:1.25rem;color:var(--wc-steel)}.encounter-sheet__feed{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.1em;color:var(--wc-teal);text-transform:uppercase}.encounter-sheet__feed-dot{width:6px;height:6px;border-radius:50%;background:var(--wc-mint);animation:encounter-feed-pulse 1.4s ease-in-out infinite}.room-event-shell--encounter .room-event-shell__result{border-color:var(--wc-mint);background:var(--wc-slate)}.room-event-shell--encounter .room-event-shell__tier{font-family:var(--font-display);color:var(--wc-mint)}@media (max-width: 520px){.encounter-sheet__grid{grid-template-columns:1fr}.encounter-sheet__portrait{min-height:8rem;max-height:10rem}.encounter-sheet__panels{grid-template-columns:1fr}}:root{--bunker-soil: #140c08;--glass-blur: 24px;--glass-radius: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--chrome-top-h: 3.15rem;--dock-height: 10.5rem}.hidden{display:none!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,system-ui,sans-serif}::selection{background:#4fd1c547;color:var(--text)}::-moz-selection{background:#4fd1c547;color:var(--text)}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow:hidden}body{margin:0;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:var(--wc-charcoal);color:var(--text);padding:0;font-family:var(--font-body)}#app{height:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}.shell{height:100%;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.shell--immersive{position:relative;width:100%;height:100%}.glass-panel{pointer-events:auto;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(1.65);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.65);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:0 12px 40px #00000061,inset 0 1px 0 var(--glass-highlight)}.chrome-layer{position:absolute;inset:0;z-index:12;pointer-events:none}.chrome-top{position:absolute;top:0;left:0;right:0;z-index:14;pointer-events:auto;padding:calc(.35rem + var(--safe-top)) calc(.5rem + var(--safe-right)) .35rem calc(.5rem + var(--safe-left));border-radius:0 0 var(--glass-radius) var(--glass-radius);border-top:none}.topnav{display:flex;align-items:center;gap:.35rem;min-height:2rem;min-width:0}.topnav .hud-brand{flex:0 0 auto;margin:0;font-family:var(--font-display);font-size:clamp(.62rem,1.6vmin,.78rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:.35rem;line-height:1}.hud-brand__mark{display:block;height:clamp(1.1rem,2.4vmin,1.45rem);width:auto;max-width:min(7.5rem,28vw);object-fit:contain;object-position:left center}.hud-brand__text{color:var(--wc-light)}.topnav .meters{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:.25rem;overflow-x:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.05rem 0}.topnav .meters::-webkit-scrollbar{display:none}.topnav-trail{flex:0 0 auto;display:flex;align-items:center;gap:.3rem}.hud-audio-toggle{pointer-events:auto;width:1.55rem;height:1.55rem;min-width:1.55rem;min-height:1.55rem;padding:0;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff14;color:var(--text);font:inherit;font-size:.72rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .08s ease}.hud-audio-toggle:active{transform:scale(.94)}.hud-audio-toggle:hover{background:#5eead433}.goal-oneline-bar{margin:.18rem 0 0;font-size:.62rem;line-height:1.2;color:var(--muted);min-height:0}.goal-oneline-bar:empty{display:none}.thumb-bar{margin-top:.22rem;padding:.18rem 0 0;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.25rem}.thumb-bar-main{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:0}.thumb-bar-leading,.thumb-bar-center{display:flex;align-items:center;gap:.3rem;min-width:0}.guide-dock-actions{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.thumb-btn{pointer-events:auto;font:inherit;font-size:.62rem;font-weight:700;letter-spacing:.02em;min-height:2rem;padding:.2rem .55rem;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff17;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;line-height:1.1;white-space:nowrap;transition:background .12s ease,border-color .12s ease,transform .08s ease}.thumb-btn:active:not(:disabled){transform:scale(.96)}.thumb-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.thumb-btn-icon{font-size:.9rem;line-height:1}.thumb-btn--primary{border-color:#5eead473;background:linear-gradient(180deg,#5eead433,#2c7a7b52)}.thumb-btn-sub{font-size:.56rem;color:var(--accent);font-weight:800;letter-spacing:.04em}.thumb-btn--guide-primary{border-color:#5eead46b;background:#5eead424}.score-chip{font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);background:#ffffff14;border:1px solid var(--glass-border);border-radius:999px;padding:.22rem .5rem;min-width:1.75rem;text-align:center}.chrome-top .phase-banner{margin:.25rem 0 0;padding:.22rem .55rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--glass-border);font-size:clamp(.58rem,1.4vmin,.68rem);text-align:center;line-height:1.25}.chrome-top .phase-banner:empty{display:none}.chrome-bottom{position:absolute;left:0;right:0;bottom:0;z-index:14;pointer-events:none;padding:0 calc(var(--safe-right)) calc(var(--safe-bottom));padding-left:calc(var(--safe-left));display:flex;flex-direction:column;align-items:stretch}.chrome-bottom .build-deck.room-art-strip{pointer-events:auto;flex:0 0 auto;width:100%;margin:0;padding:0 0 calc(.2rem + var(--safe-bottom));display:flex;flex-direction:column;gap:0;background:#080b10;border-top:1px solid rgba(255,255,255,.1);border-radius:var(--glass-radius) var(--glass-radius) 0 0;isolation:isolate}.build-deck-bar{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap;min-width:0;padding:.18rem .5rem .12rem;border-bottom:1px solid rgba(255,255,255,.06)}.build-deck-bar .dock-build-header{flex:1 1 auto;min-width:0;padding:0}.hud-bar{display:flex;align-items:center;gap:.35rem;min-width:0}.bottom-dock{pointer-events:auto;width:100%;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.dock-build-header{display:flex;align-items:center;flex-wrap:nowrap;gap:.28rem .4rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);overflow:hidden;min-width:0;line-height:1.1}.dock-build-header .room-build-search{flex:0 1 auto;width:min(6.5rem,24vw);min-width:4.25rem;margin:0;padding:.12rem .32rem;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#0c1016bf;color:var(--text);font:inherit;font-size:.62rem;letter-spacing:.02em;text-transform:none}.dock-build-header .room-build-search::placeholder{color:#a1a1aaa6}.dock-build-header .room-build-search:focus-visible{outline:1px solid var(--accent);outline-offset:0;border-color:#5eead459}.room-pick--needs-research{opacity:.72}.room-pick--needs-research:after{content:"Research";position:absolute;top:4px;right:4px;font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;color:#9f7aea;font-weight:700}.room-pick--recommended-next:not(.room-pick--filtered-out){box-shadow:0 0 0 1px #5eead459}.room-pick--filtered-out{display:none!important}.build-deck--focused{animation:build-deck-focus .85s ease-out}@keyframes build-deck-focus{0%{box-shadow:inset 0 0 #5eead400}25%{box-shadow:inset 0 0 0 2px #5eead48c}to{box-shadow:inset 0 0 #5eead400}}.cell.cell-build-pending{box-shadow:inset 0 0 0 2px #5eead4a6;animation:build-pending-pulse 1.4s ease-in-out infinite}@keyframes build-pending-pulse{0%,to{box-shadow:inset 0 0 0 2px #5eead4a6}50%{box-shadow:inset 0 0 0 2px #5eead4f2}}.dock-build-title{font-weight:600}.dock-build-count,#room-count-label{color:var(--accent);font-weight:700}.quick-dock{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .75rem .15rem;flex-wrap:nowrap;border-top:1px solid rgba(255,255,255,.06);margin-top:.15rem}.dock-btn{pointer-events:auto;font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.02em;min-height:2.5rem;padding:.4rem .9rem;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff14;color:var(--text);cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;line-height:1.1;white-space:nowrap;transition:background .15s ease,transform .12s ease}.dock-btn:hover{background:#ffffff24;color:var(--accent)}.dock-btn--scavenge{flex-direction:column;padding:.3rem .75rem;border-color:#5eead459;background:#5eead41f}.dock-btn--scavenge.hidden{display:none}.dock-btn--scavenge:disabled{opacity:.45;cursor:not-allowed}.dock-btn-sub{font-size:.55rem;color:var(--accent);font-weight:700}.dock-btn.scavenge-btn-hit{transform:scale(.94)}.top-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:0}.brand{min-width:0}.top-bar h1{margin:0;font-size:clamp(1rem,3.5vmin,1.4rem);letter-spacing:.04em;line-height:1.1}.tagline{margin:.15rem 0 0;color:var(--muted);font-size:clamp(.7rem,2vmin,.82rem);line-height:1.2}.viral-link{flex:0 0 auto;display:flex;align-items:center;gap:.35rem;max-width:42%;padding:.35rem .55rem;border-radius:8px;border:1px solid rgba(79,209,197,.45);background:#0f1624e6;color:var(--accent);cursor:pointer;font:inherit;text-align:left}.viral-link-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.viral-link-title{font-size:clamp(.65rem,2vmin,.78rem);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viral-link-arrow{opacity:.8}.viral-link--art{position:relative;overflow:hidden;padding-left:2.4rem;min-width:7rem}.viral-link--art:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2.1rem;background:linear-gradient(90deg,rgba(15,22,36,.92),transparent),var(--viral-thumb) center / cover no-repeat;border-right:1px solid rgba(79,209,197,.25)}.meters{flex:0 0 auto;display:grid;user-select:none;-webkit-user-select:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.15rem,.6vmin,.35rem);min-height:0}@media (min-aspect-ratio: 3/2){.meters{grid-template-columns:repeat(4,minmax(0,1fr))}}.meter{display:grid;grid-template-columns:minmax(2.5rem,auto) 1fr auto;align-items:center;gap:.35rem;font-size:clamp(.6rem,1.8vmin,.8rem);min-width:0}.meter span,.meter b{white-space:nowrap}.bar{height:clamp(4px,1vmin,6px);background:var(--border);border-radius:3px;overflow:hidden;min-width:0}.bar i{display:block;height:100%;background:var(--accent)}.bar.air i{background:var(--wc-teal)}.bar.materials i{background:var(--wc-sand)}.bar.power i{background:var(--wc-power)}.bar.hull i{background:linear-gradient(90deg,var(--wc-teal),var(--wc-mint))}.bar.stock i{background:var(--wc-dust)}.meter button,button.meter{cursor:pointer;border:none;background:transparent;color:inherit;font:inherit;padding:0;text-align:left}.topnav .meters .meter,.chrome-top .meters .meter{width:auto;max-width:none;flex:0 0 auto}.meter--warn .bar i{background:var(--warn)}.meter--critical .bar i{background:var(--danger)}.meter-delta{grid-column:2 / -1;font-size:.55rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav .meters .meter-delta,.chrome-top .meters .meter-delta{grid-column:unset;font-size:.52rem;font-weight:600;color:var(--accent);flex-shrink:0}.stock-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .35rem;border-radius:6px;border:1px solid var(--glass-border);background:#00000040;color:var(--text);font-size:clamp(.55rem,1.6vmin,.72rem);cursor:pointer;font-family:inherit}.stock-chip__bar{width:clamp(1.2rem,4vmin,2rem);height:4px;background:var(--border);border-radius:2px;overflow:hidden}.stock-chip__bar i{display:block;height:100%;background:#c4b5fd}.stock-chip--warn .stock-chip__bar i{background:var(--warn)}.stock-chip--critical .stock-chip__bar i{background:var(--danger)}.stock-chip__glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;line-height:1;width:1.1em;opacity:.95}.prod-chip{display:inline-flex;align-items:center;gap:.22rem;padding:.12rem .4rem;border-radius:6px;border:1px solid var(--glass-border);background:#00000040;color:var(--text);font-size:clamp(.55rem,1.6vmin,.72rem);cursor:pointer;font-family:inherit;flex-shrink:0}.prod-chip__glyph{font-size:.85rem;line-height:1;opacity:.9}.prod-chip__val{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.prod-chip--active{border-color:#f6ad5573;background:#f6ad551f}.prod-chip--active .prod-chip__val{color:#fbd38d}.stock-chip__val{font-weight:600;white-space:nowrap}.goal-panel{flex:0 0 auto;user-select:none;-webkit-user-select:none}.goal-inner{padding:clamp(.35rem,1vmin,.55rem) clamp(.45rem,1.2vmin,.7rem)}.goal-title{margin:0 0 .25rem;font-size:clamp(.75rem,2.2vmin,.9rem);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.goal-lead{margin:0 0 .4rem;font-size:clamp(.68rem,2vmin,.82rem);color:var(--text);line-height:1.35}.goal-steps{margin:0 0 .35rem;padding-left:1.1rem;font-size:clamp(.62rem,1.8vmin,.75rem);color:var(--muted);line-height:1.4}.goal-steps strong{color:var(--text)}.goal-compact{display:flex;align-items:baseline;gap:.5rem}.goal-kicker{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);flex-shrink:0}.goal-oneline{margin:0;font-size:clamp(.68rem,2vmin,.8rem);color:var(--text)}.phase-banner--room-move{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .65rem;padding:.35rem .55rem;font-size:.72rem;color:var(--text);background:#0c121ce0;border:1px solid rgba(94,234,212,.35);border-radius:var(--glass-radius, 14px);box-shadow:0 4px 18px #00000073}.room-move-banner__label strong{color:var(--accent);font-weight:700}.room-move-banner__hint{color:var(--muted);font-size:.65rem}.room-move-banner__actions{display:flex;gap:.35rem;flex-shrink:0}.room-move-banner__btn{font:inherit;font-size:.68rem;font-weight:600;padding:.28rem .55rem;border-radius:8px;border:1px solid var(--glass-border);cursor:pointer;touch-action:manipulation}.room-move-banner__btn--ghost{background:transparent;color:var(--muted)}.room-move-banner__btn--primary{background:#5eead42e;border-color:#5eead473;color:var(--accent)}.room-move-banner__btn--primary:disabled{opacity:.45;cursor:not-allowed}.grid--room-move .cell.room-move-source{outline:2px dashed rgba(246,173,85,.75);outline-offset:-2px;z-index:2}.grid--room-move .cell.slot-excavated:not(.room-move-source){cursor:crosshair}.phase-banner{flex:0 0 auto;padding:clamp(.25rem,1vmin,.5rem) clamp(.35rem,1.2vmin,.65rem);border-radius:8px;background:var(--panel);border:1px solid var(--border);font-size:clamp(.65rem,2vmin,.85rem);line-height:1.25;min-height:0}.phase-storm,.phase-storm_warning{border-color:var(--warn);color:var(--warn)}.playfield{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;align-items:stretch}.playfield--with-rail{flex-direction:column}.playfield--with-rail>.build-rail.chrome-bottom{position:relative;inset:auto;flex:0 0 auto}.build-rail{flex:0 0 auto;width:100%;min-width:0;z-index:16;display:flex;flex-direction:column;background:#080b10;border-left:none;border-top:1px solid rgba(255,255,255,.1);padding:0 calc(var(--safe-left)) calc(var(--safe-bottom));pointer-events:auto}.build-rail .build-rail-deck.room-art-strip{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;gap:.2rem;padding:.35rem .25rem;width:100%;margin:0;border:none;border-radius:0;background:transparent}.build-rail .dock-build-header{flex:0 0 auto;flex-direction:row;align-items:center;justify-content:space-between;padding:.25rem .5rem 0}.build-rail .room-palette{flex:0 0 auto;min-height:0;display:flex;flex-direction:column}.build-rail .room-list.room-carousel-scroll{flex:0 0 auto;min-height:calc(var(--room-pick-box, 6rem) + .35rem);overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:row;gap:.35rem;padding:0 .35rem .35rem;scroll-snap-type:x proximity}.build-rail .room-pick{flex:0 0 auto;scroll-snap-align:start}.tile-menu-layer{position:absolute;inset:0;z-index:40;pointer-events:none}.tile-menu-layer:not(.hidden){pointer-events:auto}.tile-context-menu{position:absolute;min-width:11rem;max-width:min(18rem,92vw);max-height:min(16rem,70vh);overflow:auto;padding:.45rem .5rem;pointer-events:auto;border-radius:var(--glass-radius)}.tile-menu-kicker{margin:0 0 .35rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tile-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.tile-menu-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .5rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);font:inherit;cursor:pointer;text-align:left}.tile-menu-btn:hover:not(:disabled){border-color:var(--accent);background:#5eead414}.tile-menu-btn:disabled{opacity:.45;cursor:not-allowed}.tile-menu-label{font-size:.78rem;font-weight:600}.tile-menu-detail{font-size:.65rem;color:var(--muted)}.tile-menu-dismiss,.tile-menu-back{margin-top:.35rem;width:100%;padding:.35rem;font-size:.72rem;border:none;background:transparent;color:var(--muted);cursor:pointer}body.is-room-dragging .build-rail{pointer-events:auto}.dome-panel{flex:1 1 0;min-height:0;min-width:0;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;position:relative;isolation:isolate;padding:0;background:transparent;border-radius:0}.grid-wrap{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;touch-action:none;cursor:grab;container-type:size;background:var(--bunker-soil)}.grid-wrap.is-panning{cursor:grabbing;touch-action:none}.grid-wrap.is-zooming{touch-action:none}.grid-wrap.is-zooming .grid-rock-canvas,.grid-wrap--zoom-overview .grid-lines-overlay,.grid-wrap--zoom-overview .cell-plus,.grid-wrap--zoom-overview .cell-dig,.grid-wrap--zoom-overview .cell-rock-sealed,.grid-wrap--zoom-overview .room-staff-badge,.grid-wrap--zoom-overview .module-glyph-emoji,.grid-wrap--zoom-mid .cell-plus,.grid-wrap--zoom-mid .cell-dig,.grid-wrap--zoom-mid .cell-rock-sealed{visibility:hidden}body.is-room-dragging .grid-wrap{cursor:copy}body.is-room-dragging .chrome-bottom{pointer-events:auto}.grid-camera{--grid-scale: 1;--grid-cols: 101;--grid-rows: 60;position:absolute;left:0;top:0;aspect-ratio:calc(var(--grid-cols, 101) / var(--grid-rows, 60));max-width:none;max-height:none;will-change:transform;background:var(--bunker-soil)}.grid-rock-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.92}.grid-gl-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.grid-wrap.grid-gl-on .grid-rock-canvas{display:none}.grid-gl-on .cell .tile-overlay,.grid-gl-on .cell .room-diorama:not(.room-diorama--blueprint),.grid-gl-on .cell .room-diorama-img:not(.room-blueprint-img){display:none!important}.grid .grid-gl-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}.grid-gl-on .cell.tile-rock-hd,.grid-gl-on .cell.tile-excavated-hd{background:none!important;--tile-art: none}.grid-lines-overlay{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,rgba(100,120,150,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(100,120,150,.06) 1px,transparent 1px);background-size:calc(100% / var(--grid-cols, 101)) calc(100% / var(--grid-rows, 60));mix-blend-mode:normal;opacity:.85;mask-image:linear-gradient(to bottom,transparent 0%,transparent calc(100% * 10 / 60),black calc(100% * 10 / 60));-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent calc(100% * 10 / 60),black calc(100% * 10 / 60))}.zoom-crisp{transform:none}.room-staff-badge.zoom-crisp{transform:translate(-50%);transform-origin:center top;font-size:.44rem}.grid-wrap--fx .grid{isolation:isolate}.grid-stage{position:relative;width:100%;height:100%;margin:0;contain:layout paint;border-radius:0;overflow:hidden;box-shadow:none}.grid-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#1a2438,#0c121c);opacity:1}.grid-backdrop--cross-section{background-color:#0c1118;filter:none}.grid-backdrop--svg{background:linear-gradient(180deg,#2898d8,#b8e8ff 19%,#140c08 19%,#080604);overflow:hidden}.grid-backdrop__svg-wrap{position:absolute;top:0;pointer-events:none;will-change:transform}.grid-backdrop__svg-wrap svg{display:block;width:100%;height:100%;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;backface-visibility:hidden}.grid-backdrop:not(.grid-backdrop--cross-section){background:url(/assets/bunker/floor-excavation-bg.png) center / cover no-repeat,url(/assets/dome/grid-backdrop.png) center / cover no-repeat,linear-gradient(180deg,#1a2438,#0c121c);opacity:.96;filter:none}.grid-storm-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:url(/assets/dome/storm-overlay.png) center / cover no-repeat;opacity:0;mix-blend-mode:normal;transition:opacity .55s ease}body.storm-active .grid-storm-overlay,body.storm-warning .grid-storm-overlay{opacity:.2}body.storm-active .grid-storm-overlay{animation:grid-storm-pulse 2.8s ease-in-out infinite}@keyframes grid-storm-pulse{0%,to{opacity:.16}50%{opacity:.24}}.grid{position:absolute;inset:0;display:grid;gap:0;width:100%;height:100%;z-index:1;pointer-events:none;background:transparent}.grid .cell{pointer-events:auto}.cell[aria-disabled=true]{cursor:default}.shelter-hud{position:absolute;z-index:13;pointer-events:none;padding:.5rem .65rem;user-select:none;-webkit-user-select:none}.shelter-hud--tl{top:calc(.5rem + var(--safe-top));left:calc(.5rem + var(--safe-left));right:auto;max-width:min(16rem,46vw)}.shelter-hud--tr{top:calc(.5rem + var(--safe-top));right:calc(.5rem + var(--safe-right));display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;max-width:min(14rem,44vw)}.shelter-hud--tc{top:calc(.5rem + var(--safe-top));left:50%;transform:translate(-50%);text-align:center;max-width:min(20rem,72vw);font-size:clamp(.68rem,1.8vmin,.8rem);user-select:none;-webkit-user-select:none;padding:.4rem .75rem;pointer-events:none;line-height:1.3}.hud-brand{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(.72rem,2vmin,.95rem);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text);user-select:none;-webkit-user-select:none}.shelter-hud .goal-panel{margin:0;padding:0;background:transparent;border:none}.shelter-hud .goal-inner{padding:0;background:transparent;border:none;border-radius:0}.shelter-hud .goal-title{font-size:.72rem;margin:0 0 .15rem}.shelter-hud .goal-lead,.shelter-hud .goal-oneline,.shelter-hud .goal-steps{font-size:clamp(.58rem,1.4vmin,.68rem);margin:0}.shelter-hud .meters{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;padding:0;margin:0;background:transparent;border:none}.shelter-hud .meter,.chrome-top .meter{font-size:clamp(.55rem,1.3vmin,.65rem);padding:.2rem .4rem;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:10px;min-width:0;font-weight:500;flex:0 0 auto;white-space:nowrap}.chrome-top .meter .bar{width:2.5rem;height:4px}.chrome-top .meter .meter-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;line-height:1;width:1.1em}.chrome-top .meter-materials b,.chrome-top .meter b{font-size:inherit}.crew-chip{font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--accent);background:#5eead41f;border:1px solid rgba(94,234,212,.28);border-radius:999px;padding:.22rem .55rem}.shelter-actions{position:relative;left:auto;bottom:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none;width:min(100%,20rem)}.shelter-fab{pointer-events:auto;min-height:3.25rem;width:100%;padding:.55rem 1.25rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(1.65);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.65);color:var(--text);cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:.1rem;box-shadow:0 12px 36px #0006,inset 0 1px 0 var(--glass-highlight);transition:transform .12s ease}.shelter-fab:active:not(:disabled){transform:scale(.98)}.shelter-fab:disabled{opacity:.45;cursor:not-allowed}.shelter-fab-label{font-weight:800;font-size:clamp(.95rem,2.4vmin,1.1rem);letter-spacing:.04em}.shelter-fab-sub{font-size:.72rem;color:var(--accent)}.shelter-score{pointer-events:none;margin:0;padding:.25rem .55rem;font-size:.65rem;color:var(--muted);background:#ffffff0f;border-radius:8px;border:1px solid var(--glass-border)}.shaft-caution-tape{position:absolute;inset:0;z-index:14;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(135deg,#141008 0 5px,#f2c424 5px 11px,#141008 11px 17px),repeating-linear-gradient(45deg,#141008 0 5px,#f2c424 5px 11px,#141008 11px 17px);opacity:.86;mix-blend-mode:multiply}.cell-shaft-locked.room-cell{filter:brightness(.62) saturate(.8)}.cell-shaft-gate{outline:2px solid rgba(255,200,80,.85);outline-offset:-2px;cursor:pointer;box-shadow:inset -1px 0 #38425261,inset 0 -1px #38425261,inset 0 0 0 1px #ffd25a73}.cell{position:relative;border:none;box-shadow:inset -1px 0 #38425261,inset 0 -1px #38425261;background:#121a28;color:var(--text);border-radius:0;font-size:clamp(.6rem,2vmin,.8rem);font-weight:700;cursor:pointer;min-height:0;min-width:0;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.cell.empty:hover{box-shadow:inset -1px 0 #38425261,inset 0 -1px #38425261,inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.cell.empty:hover .cell-plus{color:var(--accent);text-shadow:0 0 12px var(--accent)}.cell-plus,.cell-dig{font-size:1.35rem;font-weight:700;line-height:1;transition:color .15s,text-shadow .15s}.cell-plus{color:#b4c3d7eb;position:relative;z-index:1}.cell-build-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);font-size:clamp(.32rem,2.2vmin,.52rem);font-weight:700;letter-spacing:.06em;color:#a0dcffe0;text-shadow:0 0 6px rgba(80,160,220,.45);pointer-events:none;z-index:1}.cell-rock-sealed{color:#5a62708c;font-size:.45rem;opacity:.7}.cell.cell-buildable-slot{box-shadow:inset 0 0 0 1px #78bef08c,inset 0 0 12px #5096dc1f}.cell.cell-buildable-slot .cell-plus{color:#c8e6fffa;text-shadow:0 0 10px rgba(100,180,255,.55)}.cell.cell-rock-sealed.tile-rock-hd .tile-overlay.rock-overlay{filter:brightness(.72) saturate(.85)}.cell-dig{color:#e6c878e6;font-size:.95rem;text-shadow:none}.cell.slot-rock{background:#161c268c;cursor:crosshair}.cell.tile-rock-hd .tile-overlay.rock-overlay{background:var(--tile-art) center / cover no-repeat,linear-gradient(180deg,#494e56bf,#2a2e36d9);filter:none;opacity:1}.cell.tile-rock-hd{background:transparent;overflow:hidden}.cell.cell-surface-edge.tile-rock-hd .tile-overlay.rock-overlay{background-position:center top}.cell.cell-surface-edge.tile-rock-hd{overflow:hidden}.cell.cell-underground-horizon{background:transparent;overflow:hidden}.cell.cell-underground-horizon.tile-rock-hd .tile-overlay.rock-overlay,.cell.cell-underground-horizon.tile-excavated-hd .tile-overlay.dug-overlay{background-position:center top,center top}.cell.cell-underground-horizon.tile-excavated-hd .tile-overlay.dug-overlay{top:-1px;height:calc(100% + 1px)}.cell.cell-underground-horizon.slot-excavated.slot-empty{align-items:center;padding-bottom:0}.cell.cell-underground-horizon.slot-excavated.slot-empty.tile-excavated-hd{background:transparent}.cell.cell-underground-horizon.room-cell.is-room-anchor .room-diorama-img{object-position:center top}.cell.tile-excavated-hd{background:transparent;overflow:hidden}.cell.tile-excavated-hd .tile-overlay.dug-overlay{background-color:#4a3c32;background-image:var(--tile-art);background-size:cover;background-position:center top;background-repeat:no-repeat;filter:none;opacity:1;mix-blend-mode:normal}.cell.slot-excavated.slot-empty.tile-excavated-hd{background:transparent}.tile-overlay{position:absolute;inset:0;border-radius:0;pointer-events:none}.cell-dig{position:relative;z-index:1;opacity:.85}.cell.cell-dig-ready{box-shadow:inset 0 0 0 1px #b48c46a6}.cell.cell-dig-active{box-shadow:inset 0 0 0 2px #dcaa50d9;animation:dig-active-pulse 1.2s ease-in-out infinite}@keyframes dig-active-pulse{0%,to{box-shadow:inset 0 0 0 2px #dcaa50d9}50%{box-shadow:inset 0 0 0 2px #f0be64f2}}.cell.cell--dig-queued-pop{z-index:3;animation:cell-dig-queued-pop .52s ease-out}@keyframes cell-dig-queued-pop{0%{box-shadow:inset 0 0 0 2px #60dcb4f2,0 0 #60dcb480;filter:brightness(1.35)}40%{box-shadow:inset 0 0 0 3px #60dcb4e6,0 0 0 6px #60dcb459}to{box-shadow:inset 0 0 0 2px #dcaa50d9,0 0 0 14px #60dcb400;filter:brightness(1)}}.cell.cell--action-reject{animation:cell-action-reject .4s ease-in-out}@keyframes cell-action-reject{0%,to{transform:translate(0);box-shadow:inset 0 0 0 2px #f0645a00}20%{transform:translate(-3px);box-shadow:inset 0 0 0 2px #f0645ad9}60%{transform:translate(3px);box-shadow:inset 0 0 0 2px #f0645ab3}}@media (prefers-reduced-motion: reduce){.cell.cell--dig-queued-pop,.cell.cell--action-reject{animation-duration:.18s}}.cell.slot-excavated.slot-empty{align-items:flex-end;justify-content:center;padding-bottom:calc((1 - var(--pathway-row-fraction, .965)) * 100% - .2rem)}.cell.slot-empty:not(.tile-excavated-hd),.cell.slot-excavated:not(.tile-excavated-hd){background:#18202ce0}.cell.tile-sky{background:transparent;pointer-events:auto;cursor:grab;box-shadow:none}.cell.cell-surface-edge{box-shadow:none}.cell.cell-surface-edge.tile-excavated-hd,.cell.cell-surface-edge.tile-rock-hd{background:transparent}.cell.cell-surface-edge.tile-excavated-hd .tile-overlay.dug-overlay{display:none}.cell.cell-surface-edge.slot-excavated.slot-empty{align-items:center;padding-bottom:0}.cell.cell-surface-edge.slot-excavated.slot-empty.tile-excavated-hd{background:transparent}.cell.cell-surface-edge.room-cell{box-shadow:none}.cell.cell-build-ready{box-shadow:inset 0 0 0 1px #8c96a58c}.cell.drop-target{box-shadow:inset 0 0 0 2px #b4bec88c}.cell.drop-invalid{box-shadow:inset 0 0 0 2px var(--danger)}.cell.room-cell{position:relative;display:block;padding:0;overflow:hidden;background:#0f141d;box-shadow:inset -1px 0 #38425261}.room-diorama{position:absolute;inset:0;z-index:0;display:block;overflow:hidden;pointer-events:none;isolation:isolate;background:#0f141d}.room-surface_shaft.is-room-anchor .room-diorama{background:transparent}.room-surface_shaft.is-room-anchor .room-diorama-img{object-fit:fill;object-position:center top;top:-2%;bottom:auto;height:104%}.cell.room-footprint-2x1.is-room-anchor .room-diorama-img{object-fit:fill;object-position:center bottom}.room-diorama-img{position:absolute;left:-.5px;right:-.5px;bottom:-.5px;display:block;width:calc(100% + 1px);height:calc(100% + 1px);object-fit:contain;object-position:center bottom;border-radius:0;filter:none;mix-blend-mode:normal;opacity:1;user-select:none;-webkit-user-drag:none}.room-list,.room-carousel-scroll{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:.55rem;padding:.22rem .65rem .35rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:none;scrollbar-width:thin}.room-palette,.room-carousel{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;padding:0;overflow:visible;pointer-events:auto;--room-pick-box: 6rem}.carousel-resize{flex:0 0 auto;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:2.1rem;min-height:0;padding:.28rem 0;margin:0;cursor:ns-resize;touch-action:none;border-radius:3px;user-select:none}.carousel-resize.is-dragging{background:#5eead414}.carousel-resize:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.carousel-resize-grip{display:block;width:2rem;height:3px;border-radius:999px;background:#a1a1aa8c;box-shadow:0 0 0 1px #ffffff14;pointer-events:none}.carousel-resize:hover .carousel-resize-grip,.carousel-resize:focus-visible .carousel-resize-grip{background:#5eead4bf}.room-palette.palette-locked{opacity:.72}.bottom-dock .build-hint,.dock-build-header .build-hint{margin:0;padding:0;font-size:.62rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--accent);line-height:1.1;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.dock-build-header .dock-build-count,.dock-build-header .dock-build-title{flex:0 0 auto;white-space:nowrap}.dock-build-header .dock-build-title:after{content:"·";margin-left:.5rem;color:#a1a1aaa6;font-weight:400}.dock-build-header .dock-build-count:after{content:"·";margin-left:.5rem;color:#a1a1aaa6;font-weight:400}.room-tier{display:block;font-size:.62rem;color:var(--accent);letter-spacing:.02em}.room-pick-hint{display:block;font-size:.5rem;color:var(--muted);line-height:1.2;margin-top:.08rem}.room-staff-badge{position:absolute;left:50%;top:1px;bottom:auto;z-index:4;font-weight:700;letter-spacing:.01em;padding:.04rem .22rem;border-radius:3px;pointer-events:none;white-space:nowrap;line-height:1.1}.room-staff-badge.staffed-empty{color:#94a3b8;background:#0f172ad9;border:1px solid rgba(100,116,139,.5)}.room-staff-badge.staffed-partial{color:#fcd34d;background:#78500ae6;border:1px solid rgba(251,191,36,.65);box-shadow:0 0 10px #fbbf2459}.room-staff-badge.staffed-full{color:#6ee7b7;background:#064e3beb;border:1px solid rgba(52,211,153,.75);box-shadow:0 0 12px #34d39973}.room-palette.palette-locked .room-pick{opacity:.55;cursor:not-allowed}.rooms-heading{margin:.35rem 0 .15rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rooms-heading span{color:var(--accent)}.room-pick{flex:0 0 auto;display:block;width:auto;padding:0;border:none;border-radius:0;background:transparent;color:var(--text);cursor:grab;text-align:left;font:inherit;user-select:none;-webkit-user-drag:element}.room-pick--carousel{flex:0 0 auto;width:auto;max-width:none;scroll-snap-align:center;touch-action:pan-x}.room-pick-face{position:relative;display:block;box-sizing:border-box;background:#0a0d12;border:1px solid rgba(79,209,197,.28);border-radius:8px;box-shadow:0 2px 10px #0006;overflow:hidden}.room-pick-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:none;mix-blend-mode:normal;opacity:1;isolation:isolate}.build-rail .room-palette,.build-rail .room-carousel,.build-rail .room-list,.build-rail .room-carousel-scroll,.build-rail .room-pick,.build-rail .room-pick-face,.chrome-bottom .room-palette,.chrome-bottom .room-carousel,.chrome-bottom .room-list,.chrome-bottom .room-carousel-scroll,.chrome-bottom .room-pick,.chrome-bottom .room-pick-face{filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}.room-pick--carousel .room-pick-face{width:var(--room-pick-box, 11rem);height:var(--room-pick-box, 11rem);max-width:var(--room-pick-box, 11rem);max-height:var(--room-pick-box, 11rem)}.room-pick--carousel.room-pick--2x1 .room-pick-face{width:calc(var(--room-pick-box, 11rem) * 2);max-width:calc(var(--room-pick-box, 11rem) * 2)}.room-pick--1x1:not(.room-pick--carousel) .room-pick-face{aspect-ratio:1 / 1}.room-pick--2x1:not(.room-pick--carousel) .room-pick-face{aspect-ratio:2 / 1}.room-pick--2x2:not(.room-pick--carousel) .room-pick-face{aspect-ratio:1 / 1}.room-pick--1x2:not(.room-pick--carousel) .room-pick-face{aspect-ratio:1 / 2}.room-pick-overlay{position:absolute;left:0;right:0;z-index:2;pointer-events:none;padding:.2rem .28rem;line-height:1.15}.room-pick-overlay--top{top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.2rem;background:linear-gradient(180deg,rgba(8,11,16,.88) 0%,rgba(8,11,16,.35) 70%,transparent 100%)}.room-pick-overlay--bottom{bottom:0;background:linear-gradient(0deg,rgba(8,11,16,.92) 0%,rgba(8,11,16,.55) 55%,transparent 100%)}.room-pick-name{font-size:.82rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.room-pick-cost{flex:0 0 auto;font-size:.72rem;font-weight:700;color:var(--accent);text-shadow:0 1px 3px rgba(0,0,0,.85)}.room-pick-output{display:block;font-size:.52rem;color:#5eead4eb;line-height:1.2;margin-bottom:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-pick-meta{display:block;font-size:.58rem;color:#a1a1aaf2;letter-spacing:.01em;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.85)}.room-pick-meta--carousel{font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-art-strip .room-pick-name{font-size:.76rem}.room-art-strip .room-pick-cost{font-size:.68rem}.room-art-strip .room-pick-meta{font-size:.52rem}.room-art-strip .room-pick-face{border-color:#48586c8c;box-shadow:0 3px 12px #0000008c}.room-pick.locked{opacity:.42;cursor:not-allowed}.room-pick.guide-required .room-pick-face{border-color:#5eead4bf;box-shadow:0 0 14px #4fd1c559}.room-pick.unaffordable .room-pick-cost{color:var(--warn)}.room-pick.selected .room-pick-face{border-color:#5eead4a6;box-shadow:0 0 0 1px #4fd1c559,0 4px 16px #4fd1c533}.room-pick-drag-clone{z-index:100000;border:2px solid rgba(79,209,197,.85)!important;border-radius:8px;box-shadow:0 10px 28px #0009;pointer-events:none;filter:none}.room-pick-drag-clone .room-pick-img{filter:none}.room-pick-drag-clone--2x2{border-color:#ffc857bf!important}.room-pick-drag-clone .room-pick-meta{display:none}.room-pick-drag-clone .room-pick-name{font-size:.45rem}.room-pick-drag-clone .room-pick-cost{font-size:.4rem}.cell.drop-footprint.drop-target{box-shadow:inset 0 0 0 2px var(--accent),0 0 12px #4fd1c540}.cell.drop-footprint.drop-invalid{box-shadow:inset 0 0 0 2px var(--danger)}.room-pick:focus-visible .room-pick-face{outline:2px solid var(--accent);outline-offset:2px}.room-pick.unaffordable{opacity:.5}.room-pick.dragging{opacity:.55;cursor:grabbing}.build-hint-flash{color:var(--warn)!important;animation:build-hint-flash .5s ease}@keyframes build-hint-flash{0%,to{opacity:1}50%{opacity:.4}}.build-hint{margin:0 0 .35rem;font-size:.62rem;color:var(--muted)}.slot-picker{position:absolute;z-index:24;left:50%;bottom:calc(.5rem + var(--safe-bottom));transform:translate(-50%);width:min(calc(100% - 1.5rem),340px);max-height:min(58dvh,420px);overflow:auto;padding:.65rem;pointer-events:auto}.slot-picker.hidden{display:none}.slot-picker-title{margin:0 0 .4rem;font-size:.72rem;color:var(--accent);text-align:center}.slot-picker-options{display:flex;flex-direction:column;gap:.35rem}.slot-pick{display:block;width:100%;padding:0;border:none;border-radius:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;text-align:left}.slot-pick .room-pick-face{width:100%;max-width:280px;height:auto;aspect-ratio:2 / 1;max-height:140px;margin:0 auto}.slot-pick:hover:not(:disabled) .room-pick-face{border-color:#5eead473;box-shadow:0 4px 14px #00000073}.slot-pick.disabled,.slot-pick:disabled{opacity:.45;cursor:not-allowed}.slot-picker-cancel{margin-top:.45rem;width:100%;padding:.45rem;border:1px solid var(--glass-border);border-radius:10px;background:#ffffff0a;color:var(--muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:500}.module-glyph-emoji{position:absolute;left:50%;top:calc(var(--pathway-row-fraction, .965) * 100%);transform:translate(-50%,-100%);display:block;font-size:1.5rem;line-height:1;filter:drop-shadow(0 0 8px var(--mod-neon, var(--accent)));animation:module-glyph-idle 2.8s ease-in-out infinite;pointer-events:none;z-index:3}.module-glyph{display:block;width:clamp(1.35rem,5.2vmin,2.35rem);height:clamp(1.35rem,5.2vmin,2.35rem);object-fit:contain;filter:drop-shadow(0 0 8px var(--mod-neon, var(--accent)));animation:module-glyph-idle 2.8s ease-in-out infinite}.cell[class*=module-]{position:relative;background:#0c1018eb;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mod-neon) 28%,transparent)}.cell.module-generator{--mod-neon: #f6e05e}.cell.module-air_scrubber{--mod-neon: #4fd1c5}.cell.module-storage{--mod-neon: #ed8936}.cell.module-patch_bay{--mod-neon: #f687b1}.cell.module-crew_bunk{--mod-neon: #90cdf4}.cell--drop{animation:module-cell-pop .55s cubic-bezier(.22,1.1,.36,1) forwards;z-index:2}.cell.damaged{box-shadow:inset 0 0 0 2px var(--danger)}#app.chrome-minimal .chrome-top,#app.chrome-minimal .alert-overlay,#app.chrome-minimal .alert-drawer,#app.chrome-minimal #guide-assistant-host,#app.chrome-minimal .build-rail,#app.chrome-minimal .chrome-bottom,#app.chrome-minimal .crew-layer,#app.chrome-minimal #menu-anchor,#app.chrome-minimal .main-menu-popover,#app.chrome-minimal .phase-banner,#app.chrome-minimal .task-queue{display:none!important}#app.chrome-minimal .grid-stage{inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.grid-explainer{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(1px,1.5cqh);padding:4% 3%;box-sizing:border-box;max-width:100%;max-height:100%;overflow:hidden;pointer-events:none;text-align:center;container-type:size;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.grid-explainer__line{margin:0;width:100%;min-width:0;overflow-wrap:normal;word-break:keep-all;font-family:Orbitron,Rajdhani,system-ui,sans-serif;font-weight:700;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.82)}.grid-explainer__line--urgent{flex:0 0 auto;font-size:clamp(4px,min(9cqi,20cqmin),1.25rem);color:#ffd23f}.grid-explainer__line--title{flex:0 1 auto;font-size:clamp(4px,min(8cqi,17cqmin),1.05rem);color:#e8f4fff5}.grid-explainer__line--hint{flex:0 1 auto;font-size:clamp(4px,min(7cqi,15cqmin),.92rem);color:#e8f4ffe0}.room-diorama--blueprint .grid-explainer__line--urgent{color:#ffd23f}.grid-wrap--zoom-overview .grid-explainer__line--urgent,.grid-wrap--zoom-overview .grid-explainer__line--title,.grid-wrap--zoom-overview .grid-explainer__line--hint{font-size:clamp(3px,min(10cqi,22cqmin),.62rem);letter-spacing:.02em}.staff-picker-layer{position:absolute;inset:0;z-index:90;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:0 .75rem calc(var(--dock-height, 5.5rem) + .5rem + var(--safe-bottom, 0px))}.staff-picker-toast{pointer-events:auto;width:min(100%,22rem);max-height:min(52vh,20rem);display:flex;flex-direction:column;gap:.35rem;padding:.65rem .75rem .5rem;border-radius:var(--touch-radius, 12px);box-shadow:0 10px 32px #00000080;animation:staff-picker-in .34s cubic-bezier(.22,1.15,.36,1)}@keyframes staff-picker-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.staff-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.staff-picker__title{margin:0;font-size:.92rem;font-weight:700;letter-spacing:.02em}.staff-picker__dismiss{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:8px;background:#ffffff14;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer}.staff-picker__slots{margin:0;font-size:.72rem;opacity:.75}.staff-picker__hint{margin:0;font-size:.68rem;line-height:1.35;opacity:.65}.staff-picker__empty{margin:.25rem 0 0;font-size:.78rem;color:var(--warn, #e8b060)}.staff-picker__list{list-style:none;margin:.2rem 0 0;padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;display:flex;flex-direction:column;gap:.28rem}.staff-picker__row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.05rem .5rem;width:100%;text-align:left;padding:.45rem .55rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#00000038;color:inherit;cursor:pointer;touch-action:manipulation}.staff-picker__row:disabled{opacity:.55;cursor:default}.staff-picker__row:not(:disabled):hover{border-color:#8dd8ff59;background:#508cc826}.staff-picker__row--idle:not(:disabled){border-color:#78dca059}.staff-picker__name{grid-column:1;font-weight:700;font-size:.82rem}.staff-picker__status{grid-column:1;font-size:.68rem;opacity:.8}.staff-picker__action{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#8dd8fff2}.staff-picker__action--muted{color:inherit;opacity:.55;text-transform:none;letter-spacing:0;font-weight:500}:root{--touch-min: 3rem;--hud-control-min: 2.25rem;--touch-gap: .5rem;--touch-radius: 12px;--chrome-top-h: 3.15rem;--dock-height: 11.5rem;--text-base: clamp(.8125rem, 2.8vmin, .9375rem);--text-caption: clamp(.6875rem, 2.2vmin, .75rem)}@media (min-width: 800px){:root{--chrome-top-h: 3rem;--dock-height: 10.5rem}}@media (max-height: 520px) and (orientation: landscape){:root{--chrome-top-h: 2.85rem;--dock-height: 9.5rem}}.touch-pressed,.dock-btn.touch-pressed,.hud-btn.touch-pressed,.thumb-btn.touch-pressed,.menu-popover__close.touch-pressed,.goal-guide-btn.touch-pressed,.alert-report__go.touch-pressed,.alert-report__dismiss.touch-pressed{transform:scale(.96);filter:brightness(1.12)}@media (hover: hover) and (pointer: fine){.touch-pressed{transform:none;filter:none}}.tap-confirm{animation:tap-confirm-pulse .42s ease-out}@keyframes tap-confirm-pulse{0%{box-shadow:0 0 #60dcb400;filter:brightness(1.2)}35%{box-shadow:0 0 0 4px #60dcb48c;filter:brightness(1.18)}to{box-shadow:0 0 0 10px #60dcb400;filter:brightness(1)}}@media (prefers-reduced-motion: reduce){.tap-confirm{animation-duration:.16s}}.chrome-top{padding:calc(.2rem + var(--safe-top)) calc(.45rem + var(--safe-right)) .18rem calc(.45rem + var(--safe-left))}.hud-bar{display:flex;align-items:center;gap:.35rem;min-width:0;min-height:var(--hud-control-min)}.hud-bar__leading{flex:0 0 auto;display:flex;align-items:center;gap:.3rem;max-width:min(52%,14rem)}.hud-bar .meters{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:.3rem;overflow-x:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.05rem 0}.hud-bar .meters::-webkit-scrollbar{display:none}.hud-bar__trail{flex:0 0 auto;display:flex;align-items:center;gap:.3rem}.hud-bar .guide-dock-actions{display:flex;align-items:center;gap:.25rem;flex-wrap:nowrap}.hud-bar__leading:has(.guide-dock-actions:not(.hidden)) .hud-btn--scavenge{display:none}.chrome-top .phase-banner{margin-top:.2rem;font-size:var(--text-caption)}.chrome-top .meter{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--hud-control-min);padding:.25rem .55rem;font-size:var(--text-caption);touch-action:manipulation}.chrome-top .meter .meter-glyph{font-size:1rem;line-height:1;flex-shrink:0;width:1.15em;text-align:center}.chrome-top .meter .meter-label{display:none}.chrome-top .meter .bar{width:2.75rem;height:5px;flex-shrink:0}.chrome-top .meters .meter{width:auto;flex:0 0 auto}.chrome-top .meters .meter-delta{grid-column:unset}.crew-chip,.score-chip{min-height:var(--hud-control-min);display:inline-flex;align-items:center;justify-content:center;padding:0 .65rem;font-size:var(--text-caption);touch-action:manipulation}.chrome-bottom{display:flex;flex-direction:column;gap:0;padding:0}.build-deck.room-art-strip{pointer-events:auto;border-radius:var(--glass-radius) var(--glass-radius) 0 0;border-bottom:none;padding:0 0 calc(.2rem + var(--safe-bottom));background:#080b10}.build-deck-bar{padding-inline:.65rem}.build-deck-bar .carousel-resize{width:2.5rem;padding:.35rem 0;align-self:stretch}.dock-build-header .room-build-search{min-height:1.65rem;width:min(7rem,30vw)}.bottom-dock.build-deck{width:100%;margin:0}.room-list,.room-carousel-scroll{padding:.22rem .75rem .4rem;gap:.65rem;scroll-padding-inline:.75rem}.hud-btn{pointer-events:auto;font:inherit;font-size:var(--text-caption);font-weight:700;letter-spacing:.02em;min-height:var(--hud-control-min);padding:.2rem .55rem;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff17;color:var(--text);cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.28rem;line-height:1.1;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:background .12s ease,border-color .12s ease,transform .08s ease}.hud-btn:active:not(:disabled){transform:scale(.96)}.hud-btn-icon{font-size:1rem;line-height:1}.hud-btn-text,.hud-btn-label{font-size:var(--text-caption)}.hud-btn--scavenge{border-color:#5eead473;background:linear-gradient(180deg,#5eead433,#2c7a7b52);box-shadow:0 2px 10px #00000047,inset 0 1px #ffffff1a}.hud-btn--scavenge.hidden{display:none}.hud-btn--scavenge:disabled{opacity:.42;cursor:not-allowed;transform:none}.hud-btn-sub{font-size:.58rem;color:var(--accent);font-weight:800;letter-spacing:.04em}.hud-btn--guide,.hud-btn--guide-primary{padding:.2rem .5rem;font-size:.62rem}.hud-btn--guide-primary{border-color:#5eead466;background:#5eead424}.dock-btn{min-height:var(--touch-min);min-width:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dock-btn:active:not(:disabled){transform:scale(.96)}.goal-guide-btn{min-height:var(--touch-min);padding:.5rem 1rem;touch-action:manipulation}.moment-toast{left:50%;right:auto;bottom:calc(var(--dock-height) + .65rem + var(--safe-bottom));top:auto;transform:translate(-50%);max-width:min(calc(100% - 1.5rem),24rem);padding:.65rem 1rem;border-radius:var(--touch-radius);font-size:var(--text-base);line-height:1.35;pointer-events:none;box-shadow:0 8px 28px #00000073}.moment-toast.pop{animation:mobile-toast-in .32s cubic-bezier(.22,1.2,.36,1)}.moment-toast--event{border-color:#8dd8ff38;font-size:.78rem}@keyframes mobile-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.room-list,.room-carousel-scroll{padding:.22rem .85rem .4rem;gap:.75rem;scroll-padding-inline:.85rem}.slot-picker{bottom:calc(var(--dock-height) + .35rem + var(--safe-bottom));width:min(calc(100% - 1rem),380px);max-height:min(52dvh,440px);border-radius:1rem}.slot-picker-cancel{min-height:var(--touch-min);font-size:var(--text-base);touch-action:manipulation}.shift-commander{bottom:calc(var(--dock-height) + .35rem + var(--safe-bottom));padding:.55rem .75rem}.shift-commander button{min-height:var(--touch-min);min-width:var(--touch-min);touch-action:manipulation}.modal{padding:max(.75rem,var(--safe-top)) .75rem max(.75rem,var(--safe-bottom));align-items:flex-end}@media (min-width: 640px){.modal{align-items:center}}.modal-card button,.actions button{min-height:var(--touch-min);touch-action:manipulation}.victory-hold__actions button{min-height:var(--touch-min)}@media (prefers-reduced-motion: reduce){.moment-toast.pop,.main-menu-popover.pop,.dock-btn,.hud-btn{animation:none!important;transition:none!important}#btn-scavenge:not(:disabled):after,.shelter-fab:not(:disabled){animation:none!important}}.module-drop-layer{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:5}.module-drop-ring{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid var(--mod-neon);border-radius:50%;box-shadow:0 0 20px var(--mod-neon);animation:module-ring-expand .65s ease-out forwards}.module-drop-sparks{position:absolute;width:0;height:0;margin:0}.module-drop-sparks span{position:absolute;left:0;top:0;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--mod-neon);box-shadow:0 0 8px var(--mod-neon);animation:module-spark-fly .55s ease-out forwards;transform:rotate(var(--a)) translateY(0)}.module-drop-glyph-pop{position:absolute;transform:translate(-50%,-50%) scale(.4);font-size:2rem;line-height:1;color:var(--mod-neon);text-shadow:0 0 12px var(--mod-neon),0 0 28px var(--mod-neon);animation:module-glyph-pop .6s cubic-bezier(.22,1.15,.36,1) forwards;pointer-events:none}.module-drop-toast{position:absolute;left:50%;bottom:-.35rem;transform:translate(-50%) translateY(100%);font-family:Orbitron,Segoe UI,system-ui,sans-serif;font-size:.62rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--mod-neon, var(--accent));text-shadow:0 0 16px var(--mod-neon, var(--accent));white-space:nowrap;pointer-events:none;z-index:6;opacity:0;visibility:hidden}.module-drop-toast--show{visibility:visible;animation:module-toast-rise 1.35s ease-out forwards}#app.module-drop-flash .grid-camera{animation:module-screen-flash .18s ease-out}@keyframes module-glyph-idle{0%,to{transform:scale(1);filter:drop-shadow(0 0 6px var(--mod-neon, var(--accent)))}50%{transform:scale(1.06);filter:drop-shadow(0 0 10px var(--mod-neon, var(--accent)))}}@keyframes module-cell-pop{0%{transform:scale(.55)}45%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes module-ring-expand{0%{transform:scale(.2);opacity:1}to{transform:scale(4.2);opacity:0}}@keyframes module-spark-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}to{opacity:0;transform:rotate(var(--a)) translateY(-28px)}}@keyframes module-glyph-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}35%{opacity:1;transform:translate(-50%,-58%) scale(1.35)}to{opacity:0;transform:translate(-50%,-72%) scale(.9)}}@keyframes module-toast-rise{0%{opacity:0;transform:translate(-50%) translateY(120%)}12%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-8px)}}@keyframes module-screen-flash{0%{box-shadow:inset 0 0 48px #4fd1c538}to{box-shadow:none}}@media (prefers-reduced-motion: reduce){.module-glyph-emoji,.module-glyph,.cell--drop,.module-drop-ring,.module-drop-sparks span,.module-drop-glyph-pop,.module-drop-toast--show,#app.module-drop-flash .grid-camera{animation:none!important;box-shadow:none}}.cell:disabled{opacity:.6;cursor:not-allowed}.sidebar{min-height:0;min-width:0;max-height:min(42vh,320px);display:flex;flex-direction:column;gap:.35rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;z-index:2;background:var(--bg)}@media (min-width: 800px){.sidebar{max-height:none}}.sidebar-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.35rem}.sidebar h2{margin:0;font-size:clamp(.7rem,2vmin,.9rem);line-height:1.2;flex:0 0 auto}.sidebar h2 span{color:var(--muted);font-weight:400}.mod-list{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.15rem,.5vmin,.3rem);overflow:hidden;align-content:start}@media (min-width: 800px){.mod-list{grid-template-columns:1fr}}@media (max-height: 520px){.tagline{display:none}.mod-list{grid-template-columns:repeat(3,minmax(0,1fr))}.mod-pick small{display:none}}.mod-pick{text-align:left;padding:clamp(.2rem,.8vmin,.45rem);border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-size:clamp(.6rem,1.7vmin,.8rem);min-height:0;overflow:hidden}.mod-pick strong{display:block;line-height:1.15}.mod-pick span{color:var(--muted);font-size:.9em}.mod-pick small{display:block;color:var(--muted);font-size:clamp(.55rem,1.5vmin,.72rem);margin-top:.1rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.15rem,.5vmin,.35rem)}@media (min-aspect-ratio: 5/6) and (min-width: 360px){.actions{grid-template-columns:1fr}}.actions button,.modal-card button{padding:clamp(.3rem,1vmin,.55rem);border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-size:clamp(.65rem,2vmin,.9rem)}.actions .primary,.actions button#btn-storm,.actions button#btn-continue{grid-column:1 / -1}.score{flex:0 0 auto;margin:0;font-size:clamp(.6rem,1.7vmin,.8rem);color:var(--muted);line-height:1.2}.modal{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,3vmin,1rem);z-index:10}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:clamp(.75rem,3vmin,1.25rem);max-width:min(320px,92vw);width:100%;text-align:center}.big-score{font-size:clamp(1.1rem,4vmin,1.5rem);color:var(--accent)}.storm-siege{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;transition:opacity .6s ease}.storm-siege.hidden{opacity:0;visibility:hidden}.storm-siege__vignette{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 40%,transparent 35%,rgba(120,20,10,.35) 70%,rgba(5,0,0,.85) 100%);opacity:0;transition:opacity .5s ease}.storm-siege--warning .storm-siege__vignette,.storm-siege--active .storm-siege__vignette{opacity:1}.storm-siege--active .storm-siege__vignette{background:radial-gradient(ellipse 90% 80% at 50% 35%,#ff501e14 20%,#b41e0a73 55%,#000000eb);animation:storm-vignette-pulse 2.2s ease-in-out infinite}.storm-siege--breach .storm-siege__vignette{background:radial-gradient(circle at 50% 50%,#ff000040,#500000e6 70%);animation:storm-breach-pulse .55s ease-in-out infinite}.storm-siege__scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,120,60,.03) 3px,rgba(255,120,60,.03) 4px);opacity:0}.storm-siege--active .storm-siege__scan{opacity:1;animation:storm-scan 6s linear infinite}.storm-siege__radar{position:absolute;left:50%;top:38%;width:min(92vw,420px);aspect-ratio:1;margin-left:min(-46vw,-210px);border-radius:50%;border:2px solid rgba(246,173,85,.35);opacity:0;transform:scale(.6)}.storm-siege--warning .storm-siege__radar{opacity:.85;animation:storm-radar-in .8s ease-out forwards,storm-radar-spin 4s linear infinite}.storm-siege__radar:before,.storm-siege__radar:after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed rgba(246,173,85,.25)}.storm-siege__radar:after{inset:0;background:conic-gradient(from 0deg,transparent 0deg,rgba(246,173,85,.55) 28deg,transparent 56deg);mask:radial-gradient(circle,transparent 42%,black 43%);-webkit-mask:radial-gradient(circle,transparent 42%,black 43%);animation:storm-radar-sweep 2.4s linear infinite}.storm-siege__particles{position:absolute;inset:0;opacity:0}.storm-siege--active .storm-siege__particles{opacity:1}.storm-siege__particle{position:absolute;top:-8%;left:var(--x);width:2px;height:28px;background:linear-gradient(to bottom,transparent,rgba(200,220,255,.9),rgba(120,160,255,.2));transform:rotate(18deg);animation:storm-debris var(--dur) linear infinite;animation-delay:var(--delay);opacity:.7}.storm-siege__flash{position:absolute;inset:0;background:#fff8e600;mix-blend-mode:screen}.storm-siege--flash .storm-siege__flash{background:#fff8e68c;animation:storm-lightning .09s ease-out}.storm-siege__hud{position:absolute;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));transform:translate(-50%) translateY(12px);text-align:center;width:min(100%,400px);padding:0 1rem;font-family:Orbitron,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:.12em;opacity:0}.storm-siege--warning .storm-siege__hud,.storm-siege--active .storm-siege__hud{opacity:1;animation:storm-hud-rise .55s ease-out forwards}.storm-siege__eyebrow{margin:0;font-size:.62rem;color:#f6ad55;text-shadow:0 0 12px rgba(246,173,85,.8)}.storm-siege__title{margin:.15rem 0 0;font-size:clamp(1.1rem,5vw,1.45rem);font-weight:900;color:#fff5eb;text-shadow:0 0 20px rgba(255,120,40,.9),0 2px 0 #7c2d12}.storm-siege--active .storm-siege__title{color:#fed7aa;animation:storm-title-flicker 3s ease-in-out infinite}.storm-siege--breach .storm-siege__title{color:#fc8181;animation:storm-breach-text .4s ease-in-out infinite}.storm-siege__count{margin:.1rem 0 0;font-size:clamp(2.8rem,18vw,4.2rem);font-weight:900;line-height:1;color:#fff;text-shadow:0 0 30px rgba(255,90,30,1),0 0 60px rgba(255,40,0,.5);font-variant-numeric:tabular-nums}.storm-siege__sub{margin:.35rem 0 0;font-size:.58rem;letter-spacing:.08em;color:#ffdcc8bf;font-family:system-ui,sans-serif;text-transform:none}body.storm-warning #app,body.storm-active #app{position:relative;z-index:1}body.storm-warning .phase-banner{border-color:#f6ad55;box-shadow:0 0 16px #f6ad5559;animation:storm-banner-pulse 1.2s ease-in-out infinite}body.storm-active .phase-banner{border-color:#fc8181;color:#fed7d7;background:#280a0ad9;box-shadow:0 0 20px #fc818166}body.storm-active .grid-wrap{box-shadow:0 0 0 2px #fc818159,0 0 40px #ff3c0026;border-radius:10px}#app.storm-shake{animation:storm-shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes storm-vignette-pulse{0%,to{opacity:.92}50%{opacity:1}}@keyframes storm-breach-pulse{0%,to{opacity:1}50%{opacity:.75}}@keyframes storm-scan{0%{transform:translateY(0)}to{transform:translateY(8px)}}@keyframes storm-radar-in{to{transform:scale(1);opacity:.85}}@keyframes storm-radar-spin{to{transform:rotate(360deg)}}@keyframes storm-radar-sweep{to{transform:rotate(360deg)}}@keyframes storm-debris{0%{transform:translateY(-10vh) rotate(18deg);opacity:0}15%{opacity:.85}to{transform:translateY(115vh) rotate(18deg);opacity:0}}@keyframes storm-lightning{0%{opacity:1}to{opacity:0}}@keyframes storm-hud-rise{to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes storm-title-flicker{0%,to{opacity:1}92%{opacity:1}94%{opacity:.7}96%{opacity:1}}@keyframes storm-breach-text{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes storm-banner-pulse{0%,to{box-shadow:0 0 16px #f6ad5559}50%{box-shadow:0 0 28px #f6ad55a6}}@keyframes storm-shake{0%,to{transform:translate(0)}10%{transform:translate(-3px,2px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-4px,-1px)}40%{transform:translate(3px,3px)}50%{transform:translate(-2px,1px)}60%{transform:translate(2px,-3px)}70%{transform:translate(-3px,2px)}80%{transform:translate(3px,1px)}90%{transform:translate(-1px,-2px)}}@media (prefers-reduced-motion: reduce){.storm-siege__particle,.storm-siege__radar,.storm-siege__radar:after,.storm-siege--active .storm-siege__vignette,.storm-siege--active .storm-siege__title,body.storm-warning .phase-banner,#app.storm-shake{animation:none!important}}.scavenge-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.scavenge-fx-canvas{position:absolute;inset:0;pointer-events:none}.scavenge-pop{position:fixed;transform:translate(-50%,-50%) scale(.4);text-align:center;animation:scavenge-pop-in .45s cubic-bezier(.22,1.2,.36,1) forwards;z-index:2;filter:drop-shadow(0 0 12px rgba(79,209,197,.9))}.scavenge-pop-out{animation:scavenge-pop-out .35s ease-in forwards}.scavenge-pop-amount{display:block;font-family:Orbitron,sans-serif;font-weight:900;font-size:clamp(2rem,10vw,2.75rem);color:#e6fffa;letter-spacing:.06em;text-shadow:0 0 20px #4fd1c5,0 0 40px rgba(79,209,197,.5),0 2px 0 #234e52}.scavenge-pop-tag{display:block;font-family:Rajdhani,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.28em;color:#f6e05e;margin-top:.15rem}.scavenge-pop-stamp{display:block;font-family:Orbitron,sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.35em;color:#4fd1c5;margin-top:.25rem;opacity:.95}.scavenge-ring{position:fixed;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;box-shadow:0 0 #4fd1c5a6;animation:scavenge-ring .7s ease-out forwards;z-index:1}.scavenge-ring-out{opacity:0;transition:opacity .2s}#app.scavenge-pulse .grid-camera{animation:scavenge-screen-pulse .35s ease-out}.meter-materials.materials-magnet-hit b{animation:materials-magnet .5s cubic-bezier(.34,1.56,.64,1);color:#4fd1c5;text-shadow:0 0 12px rgba(79,209,197,.8)}#btn-scavenge.scavenge-btn-hit{animation:scavenge-btn-punch .32s ease-out}#btn-scavenge:not(:disabled){position:relative;overflow:hidden}.shelter-fab:not(:disabled){animation:scavenge-shimmer-bg 3s ease-in-out infinite}@keyframes scavenge-shimmer-bg{0%,to{box-shadow:0 0 20px #4fd1c533,0 8px 24px #00000080}50%{box-shadow:0 0 28px #4fd1c559,0 8px 24px #00000080}}#btn-scavenge:not(:disabled):after{content:"";position:absolute;inset:-2px;background:linear-gradient(105deg,transparent 40%,rgba(79,209,197,.25) 50%,transparent 60%);animation:scavenge-shimmer 2.8s ease-in-out infinite;pointer-events:none}@keyframes scavenge-pop-in{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}55%{transform:translate(-50%,-58%) scale(1.12);opacity:1}to{transform:translate(-50%,-72%) scale(1);opacity:1}}@keyframes scavenge-pop-out{to{transform:translate(-50%,-95%) scale(.85);opacity:0}}@keyframes scavenge-ring{0%{box-shadow:0 0 #4fd1c5b3}to{box-shadow:0 0 0 42vmin #4fd1c500}}@keyframes scavenge-screen-pulse{0%{box-shadow:inset 0 0 32px #4fd1c51f}35%{box-shadow:inset 0 0 48px #4fd1c533}to{box-shadow:none}}@keyframes materials-magnet{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes scavenge-btn-punch{0%{transform:scale(1)}35%{transform:scale(.94)}65%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes scavenge-shimmer{0%,to{transform:translate(-120%)}50%{transform:translate(120%)}}#app.victory-summary-active .layout,#app.victory-summary-active .phase-banner{filter:blur(2px) brightness(.55);pointer-events:none}.victory-hold{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));font-family:Share Tech Mono,Segoe UI,monospace}.victory-hold.hidden{display:none}.victory-hold__backdrop{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 35%,rgba(79,209,197,.12),transparent 55%),#02060ee0}.victory-hold__scan{position:absolute;inset:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.04) 2px,rgba(255,255,255,.04) 4px)}.victory-hold__card{position:relative;width:min(100%,360px);padding:1.35rem 1.25rem 1.15rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--victory-accent, #4fd1c5) 55%,#1e2a42);background:linear-gradient(165deg,#0f1624,#070b13 45%,#0a121f);box-shadow:0 0 0 1px #ffffff0a,0 0 48px color-mix(in srgb,var(--victory-accent, #4fd1c5) 35%,transparent),0 24px 64px #000000a6;text-align:center;transform:scale(.88) translateY(24px);opacity:0}.victory-hold--enter .victory-hold__card{animation:victory-card-in .65s cubic-bezier(.22,1,.36,1) forwards}.victory-hold__stamp{position:absolute;top:.65rem;right:.5rem;font-family:Orbitron,sans-serif;font-size:.62rem;font-weight:900;letter-spacing:.22em;color:var(--victory-accent, #4fd1c5);border:2px solid var(--victory-accent, #4fd1c5);padding:.2rem .45rem;border-radius:4px;transform:rotate(12deg);opacity:.85;animation:victory-stamp .5s .35s ease-out both}.victory-hold__eyebrow{margin:0 0 .35rem;font-size:.62rem;letter-spacing:.28em;color:var(--muted)}.victory-hold__badge{display:inline-block;margin:0 0 .5rem;padding:.2rem .55rem;font-family:Orbitron,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:#070b13;background:var(--victory-accent, #4fd1c5);border-radius:4px;box-shadow:0 0 20px color-mix(in srgb,var(--victory-accent, #4fd1c5) 60%,transparent)}.victory-hold__title{margin:0 0 .25rem;font-family:Orbitron,sans-serif;font-size:1.15rem;font-weight:900;letter-spacing:.12em;color:var(--text);text-shadow:0 0 24px color-mix(in srgb,var(--victory-accent, #4fd1c5) 45%,transparent)}.victory-hold__score{margin:.15rem 0 0;font-family:Orbitron,sans-serif;font-size:3.1rem;font-weight:900;line-height:1;color:var(--victory-accent, #4fd1c5);text-shadow:0 0 32px color-mix(in srgb,var(--victory-accent, #4fd1c5) 55%,transparent);animation:victory-score-glow 2.2s ease-in-out infinite}.victory-hold__score-label{margin:.15rem 0 .85rem;font-size:.65rem;letter-spacing:.35em;color:var(--muted)}.victory-hold__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 .85rem;padding:.55rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.victory-hold__stats div{display:flex;flex-direction:column;gap:.15rem}.victory-hold__stats dt{margin:0;font-size:.62rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.victory-hold__stats dd{margin:0;font-family:Orbitron,sans-serif;font-size:1.05rem;font-weight:700;color:var(--text)}.victory-hold__radio{margin:0 0 1rem;padding:0 .25rem;font-size:.78rem;line-height:1.45;color:#a8b8d8;font-style:italic;border:none}.victory-hold__actions{display:flex;flex-direction:column;gap:.45rem}.victory-hold__actions button{padding:.6rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-family:inherit;font-size:.82rem;letter-spacing:.04em}.victory-hold__actions button.primary{font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:.1em;background:linear-gradient(135deg,color-mix(in srgb,var(--victory-accent, #4fd1c5) 35%,#234e52),#0f1624);border-color:var(--victory-accent, #4fd1c5);color:var(--text)}.victory-hold__copy:hover{border-color:var(--victory-accent, #4fd1c5)}.victory-hold__copied{margin:.55rem 0 0;font-size:.72rem;color:var(--victory-accent, #4fd1c5)}.victory-hold__copied.hidden{display:none}.victory-hold__confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.victory-hold__confetti-bit{position:absolute;left:var(--x);top:-8%;width:6px;height:10px;background:hsl(var(--hue) 75% 58%);border-radius:1px;opacity:0;animation:victory-confetti 2.4s var(--delay) ease-out forwards}@keyframes victory-card-in{to{transform:scale(1) translateY(0);opacity:1}}@keyframes victory-stamp{0%{transform:rotate(24deg) scale(1.4);opacity:0}to{transform:rotate(12deg) scale(1);opacity:.85}}@keyframes victory-score-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}@keyframes victory-confetti{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:1}to{transform:translateY(110vh) rotate(540deg);opacity:0}}@media (prefers-reduced-motion: reduce){.victory-hold__card,.victory-hold__stamp,.victory-hold__score,.victory-hold__confetti-bit,#app.victory-summary-active .layout,#app.victory-summary-active .phase-banner{animation:none!important;filter:none;transform:none;opacity:1}}.grid-stage.swarm-active{box-shadow:0 0 0 1px #fc818140,0 0 24px #e53e3e1f;border-radius:10px}.breachling-layer,.breacher-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.breacher{position:absolute;transform:translate(-50%,-100%);transform-origin:center bottom;transition:left .55s linear,top .55s linear;z-index:4;filter:drop-shadow(0 0 8px rgba(167,139,250,.55))}.breacher--face-right .breacher-sprite{transform:scaleX(-1)}.breacher-sprite{display:block;width:var(--breacher-figure-w, 1rem);height:var(--breacher-figure-h, 1.35rem);image-rendering:pixelated;image-rendering:crisp-edges}.breachling{position:absolute;transform:translate(-50%,-100%);transform-origin:center bottom;transition:left .55s linear,top .55s linear,opacity .2s;z-index:4;filter:drop-shadow(0 0 6px rgba(229,62,62,.6))}.breachling-body{display:block;width:clamp(1.35rem,4.5vmin,2rem);height:clamp(1.35rem,4.5vmin,2rem);object-fit:contain;animation:breach-wiggle .28s ease-in-out infinite}.breachling.hurt .breachling-body{animation:breach-wiggle .15s ease-in-out infinite;filter:hue-rotate(40deg)}.breachling.dying{opacity:.65;transform:translate(-50%,-100%) scale(.85)}.breachling-hp{display:block;height:3px;margin-top:2px;max-width:1.25rem;background:linear-gradient(90deg,#e53e3e,#fc8181);border-radius:2px;transition:width .2s}@keyframes breach-wiggle{25%{transform:rotate(-12deg) scale(1.05)}75%{transform:rotate(12deg) scale(1.05)}}.cell.mod-gen,.cell.mod-air,.cell.mod-sto,.cell.mod-patch,.cell.mod-bunk{background:#0c1018eb;color:var(--text)}.cell.crew-occupied{box-shadow:inset 0 0 0 1px #4fd1c559}.cell.cell-working{animation:room-work-pulse 1.4s ease-in-out infinite}.cell.cell-working.work-combat{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 45%,transparent)}.cell.cell-working.work-repair{box-shadow:inset 0 0 0 1px #feb2b259}.cell.cell-working.work-prep,.cell.cell-working.work-scavenge{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 40%,transparent)}.cell.cell-working.work-power,.cell.cell-working.work-air,.cell.cell-working.work-generic{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.cell.cell-focused{outline:1px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:0;z-index:2}@keyframes room-work-pulse{50%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}}.cell.empty:hover{border-color:var(--accent);transform:scale(1.03)}.cell.damaged{box-shadow:inset 0 0 0 2px var(--danger);animation:damage-flicker .8s ease-in-out infinite}@keyframes damage-flicker{50%{box-shadow:inset 0 0 0 2px var(--danger),0 0 8px #fc818166}}.cell:disabled{opacity:.75;cursor:not-allowed}.cell-pingable{cursor:crosshair;animation:ping-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 1px #4fd1c573}.cell-ordered{box-shadow:0 0 0 2px var(--accent),0 0 14px #4fd1c559}@keyframes ping-pulse{50%{box-shadow:0 0 0 2px var(--accent),0 0 12px #4fd1c580}}.path-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;display:none}.path-layer:not(:empty){display:block}.path-line{vector-effect:non-scaling-stroke;opacity:.75;animation:path-dash .8s linear infinite}.path-line.ordered{opacity:1;filter:drop-shadow(0 0 4px rgba(79,209,197,.6))}@keyframes path-dash{to{stroke-dashoffset:-20}}.shift-commander{position:absolute;left:calc(.5rem + var(--safe-left));right:calc(.5rem + var(--safe-right));bottom:calc(var(--dock-height) + .5rem + var(--safe-bottom))}@media (min-width: 721px){.shift-commander{bottom:calc(.5rem + var(--safe-bottom));right:calc(clamp(5.75rem,16vw,7.25rem) + .5rem + var(--safe-right))}}.shift-commander{z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.5rem .65rem;font-size:.75rem;animation:shift-in .35s cubic-bezier(.22,1,.36,1);pointer-events:auto}.shift-commander.hidden{display:none}.shift-badge{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.shift-crew{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.shift-crew-sprite{display:block;width:24px;height:32px;image-rendering:pixelated;image-rendering:crisp-edges;flex-shrink:0}.shift-hint{color:var(--muted);flex:1 1 100%}@keyframes shift-in{0%{opacity:0;transform:translateY(-4px)}}.combat-sprites{position:absolute;inset:0;pointer-events:none;z-index:7}.combat-sprite{position:absolute;transform:translate(-50%,-50%);font-size:.9rem;animation:sprite-pop .45s ease-out infinite;opacity:.9}.combat-sprite.delay{animation-delay:.2s;font-size:.7rem}@keyframes sprite-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}40%{opacity:1;transform:translate(-50%,-70%) scale(1.2)}to{opacity:0;transform:translate(-50%,-90%) scale(.6)}}.crew-layer{position:absolute;inset:0;pointer-events:none;z-index:6;--crew-hud-font: calc(var(--crew-figure-h, 24px) * .48);--crew-label-font: calc(var(--crew-figure-h, 24px) * .34);--crew-label-max-w: calc(var(--crew-figure-h, 24px) * 2.6);--crew-bubble-font: calc(var(--crew-figure-h, 24px) * .42);--crew-bubble-max-w: calc(var(--crew-figure-h, 24px) * 3.4)}.crew-token{position:absolute;width:auto;height:auto;transform:translate(-50%,-100%);transform-origin:center bottom;transition:none;z-index:7;pointer-events:auto;border:none;padding:0;margin:0;background:transparent;cursor:pointer;overflow:visible}.crew-figure{position:relative;width:var(--crew-figure-w, 18px);height:var(--crew-figure-h, 24px);max-width:var(--crew-figure-w, 18px);max-height:var(--crew-figure-h, 24px);overflow:visible}.crew-hud-mount{position:absolute;left:50%;bottom:100%;z-index:8;pointer-events:none;transform:translate(-50%);transform-origin:center bottom;margin-bottom:.15em;box-sizing:content-box}.crew-hud{position:relative;left:auto;bottom:auto;display:none;flex-direction:column;align-items:center;justify-content:flex-end;gap:.1em;margin:0;padding:0 0 2px;white-space:nowrap;pointer-events:none;z-index:2;transform:none;font-size:var(--crew-hud-font);line-height:1.1}.crew-token.crew-show-hud .crew-hud-mount .crew-hud,.crew-hud-mount.crew-show-hud .crew-hud{display:flex}.crew-sprite{display:block;width:100%;height:100%;max-width:100%;max-height:100%;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45)) brightness(1.12) contrast(1.06);pointer-events:none}.crew-task-ring-wrap{width:1.35em;height:1.35em;flex-shrink:0;display:block}.crew-task-ring-wrap[hidden]{display:none!important}.crew-task-ring-svg{display:block;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.crew-task-ring__track{fill:none;stroke:#ffffff2e;stroke-width:2}.crew-task-ring__progress{fill:none;stroke:var(--crew-accent, #5eead4);stroke-width:2;stroke-linecap:butt;transition:none}.crew-activity-emoji{display:block;line-height:1;font-size:1.15em;padding:0;margin:0;background:none;border:none;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.crew-activity-emoji[hidden]{display:none}.crew-activity-emoji--work{animation:crew-emoji-work 1.1s ease-in-out infinite}.crew-activity-emoji--dig{animation:crew-emoji-dig .85s ease-in-out infinite}.crew-activity-emoji--walk{animation:crew-emoji-walk .9s ease-in-out infinite}.crew-activity-emoji--rest{animation:crew-emoji-rest 2.2s ease-in-out infinite}.crew-activity-emoji--air,.crew-activity-emoji--power{animation:crew-emoji-pulse 1.4s ease-in-out infinite}.crew-activity-emoji--food,.crew-activity-emoji--med{animation:crew-emoji-bob 1.6s ease-in-out infinite}.crew-activity-emoji--fight{animation:crew-emoji-fight .55s ease-in-out infinite}.crew-activity-emoji--build,.crew-activity-emoji--door{animation:crew-emoji-work 1.25s ease-in-out infinite}@keyframes crew-emoji-work{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.12em) scale(1.06)}}@keyframes crew-emoji-dig{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(.1em) rotate(8deg)}}@keyframes crew-emoji-walk{0%,to{transform:translate(0)}50%{transform:translate(.14em)}}@keyframes crew-emoji-rest{0%,to{opacity:.72;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}@keyframes crew-emoji-pulse{0%,to{filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}50%{filter:drop-shadow(0 0 6px rgba(79,209,197,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.9))}}@keyframes crew-emoji-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.1em)}}@keyframes crew-emoji-fight{0%,to{transform:scale(1)}40%{transform:scale(1.14)}70%{transform:scale(.96)}}.crew-condition-emoji,.crew-mood-emoji{display:block;line-height:1;font-size:1.05em;padding:0;margin:0;background:none;border:none;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.crew-condition-emoji[hidden]{display:none}.crew-token.crew-hurt .crew-condition-emoji{filter:drop-shadow(0 0 2px rgba(255,61,106,.75)) drop-shadow(0 1px 2px rgba(0,0,0,.9))}.crew-token.crew-stressed .crew-condition-emoji{filter:drop-shadow(0 0 2px rgba(255,210,63,.75)) drop-shadow(0 1px 2px rgba(0,0,0,.9))}.crew-token.crew-incapacitated .crew-condition-emoji{filter:drop-shadow(0 0 3px rgba(180,120,255,.85)) drop-shadow(0 1px 2px rgba(0,0,0,.9))}.crew-task-label{display:none;flex:1 1 100%;max-width:var(--crew-label-max-w);font-size:var(--crew-label-font);font-weight:700;letter-spacing:.04em;line-height:1.15;text-align:center;color:#ebf5fff5;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.98),0 1px 3px rgba(0,0,0,.95),0 0 1px rgba(0,0,0,1);white-space:normal;overflow-wrap:break-word;word-break:normal}.crew-layer.crew-hud-micro .crew-hud-mount.crew-show-task-label .crew-task-label{display:block}.grid-wrap--zoom-overview .crew-task-label,.grid-wrap--zoom-overview .crew-task-ring-wrap{display:none!important}.grid-wrap--zoom-micro .crew-hud{flex-direction:column;align-items:center;gap:.12em}.crew-hud-mount .crew-bubble{position:absolute;left:50%;bottom:calc(100% + .2em);transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;gap:.2em;max-width:var(--crew-bubble-max-w);padding:.28em .45em;border-radius:.75em;background:#0a101cf0;border:1px solid rgba(150,195,255,.42);box-shadow:0 4px 14px #0000008c,inset 0 1px #ffffff0f;font-size:var(--crew-bubble-font);line-height:1.1;color:#ebf5fff5;white-space:nowrap;pointer-events:none;z-index:4;opacity:0;letter-spacing:.04em}.crew-bubble:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);border:5px solid transparent;border-top-color:#0a101cf0}.crew-token.crew-sleeping .crew-figure{transform:rotate(-90deg);transform-origin:center bottom}.crew-hud-mount.crew-sleeping{margin-bottom:calc(var(--crew-figure-w, 18px) + .35em)}.crew-sleep-zzz{display:none;position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:.12em;font-size:calc(var(--crew-figure-h, 24px) * .44);font-weight:800;font-style:italic;letter-spacing:.08em;line-height:1;color:#bedcffeb;pointer-events:none;text-shadow:0 0 6px rgba(80,150,255,.45),0 1px 3px rgba(0,0,0,.95);white-space:nowrap;animation:crew-sleep-zzz 2.4s ease-in-out infinite}.crew-hud-mount.crew-sleeping .crew-sleep-zzz{display:block}.crew-sleep-zzz[hidden]{display:none!important}@keyframes crew-sleep-zzz{0%,to{opacity:.55;transform:translate(-50%) translateY(0)}50%{opacity:1;transform:translate(-50%) translateY(-.18em)}}.crew-token.crew-sleeping .crew-sprite{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45)) brightness(1.05) contrast(1.04) saturate(.92)}.crew-bubble.visible{animation:crew-bubble-pop 5.2s ease-out forwards}.crew-bubble.crew-bubble--conversation{border-color:#78d2ff8c;box-shadow:0 4px 14px #0000008c,0 0 10px #50aaff2e,inset 0 1px #ffffff14}.crew-bubble.crew-bubble--pair{gap:0;letter-spacing:.05em}.crew-bubble.crew-bubble--pair .crew-bubble-icon{display:none!important}.crew-bubble.crew-bubble--pair-dim{animation:crew-pair-bubble-dim 15s ease-out forwards}@keyframes crew-pair-bubble-dim{0%{opacity:1}to{opacity:.46}}.crew-bubble-icon{flex-shrink:0;font-size:1.1em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}.crew-bubble-icon[hidden]{display:none}.crew-bubble-text{overflow:hidden;text-overflow:ellipsis;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.9);font-size:1.08em}@keyframes crew-bubble-pop{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.88)}8%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}78%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-4px) scale(.96)}}.grid-wrap--zoom-overview .crew-bubble{display:none!important}.grid-wrap--zoom-mid .crew-bubble,.grid-wrap--zoom-near .crew-bubble,.grid-wrap--zoom-micro .crew-bubble{padding:.28em .45em}.crew-token.fighting .crew-figure{animation:crew-fight .35s ease-in-out infinite}.crew-token.prepping .crew-figure{animation:none;filter:drop-shadow(0 0 5px var(--warn, #f6ad55))}.crew-token.focused .crew-figure{filter:drop-shadow(0 0 8px var(--crew-accent, var(--accent))) drop-shadow(0 2px 3px rgba(0,0,0,.55))}.crew-token.focused .crew-sprite{transform:scale(1.06);transform-origin:center bottom}.crew-token.ordered .crew-figure{filter:drop-shadow(0 0 6px var(--crew-accent, var(--accent))) drop-shadow(0 2px 3px rgba(0,0,0,.55))}.crew-token.away{opacity:.45;filter:grayscale(.4)}.crew-token.outside-colony{opacity:0;visibility:hidden;pointer-events:none}@keyframes crew-fight{25%{transform:rotate(-8deg) scale(1.08)}75%{transform:rotate(8deg) scale(1.08)}}.pathway-debug-layer{position:absolute;inset:0;pointer-events:none;z-index:8}.pathway-debug-feet{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#ff3d9a;box-shadow:0 0 6px #ff3d9a}.pathway-debug-door{position:absolute;width:4px;height:14px;margin:-14px 0 0 -2px;background:#5cff8a;box-shadow:0 0 4px #5cff8a}.pathway-debug-sill{position:absolute;height:2px;margin-top:-1px;background:#ff3d9a;opacity:.85}.pathway-debug-tile{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border:1px solid rgba(92,255,138,.9);border-radius:1px}.pathway-edit-layer{position:absolute;inset:0;z-index:9;pointer-events:none}.pathway-edit-svg{display:block;width:100%;height:100%;pointer-events:none}.pathway-edit-graph{stroke:#38e8ffe0;stroke-width:.55;stroke-linecap:round;vector-effect:non-scaling-stroke}.pathway-edit-node{fill:#38e8fff2;stroke:#0c2830e6;stroke-width:.15;vector-effect:non-scaling-stroke}.pathway-edit-crew{stroke:#ff5cc8eb;stroke-width:.45;stroke-dasharray:1.2 .8;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.pathway-edit-crew--ordered{stroke:#ffc857f2}.pathway-edit-banner{position:absolute;left:50%;top:calc(.45rem + var(--safe-top));transform:translate(-50%);z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .65rem;max-width:min(96vw,28rem);padding:.35rem .65rem;font-size:.62rem;line-height:1.25;color:#fef3c7;background:#0c0a04eb;border:1px solid rgba(255,213,74,.55);border-radius:8px;pointer-events:auto;box-shadow:0 6px 20px #00000073}.pathway-edit-banner.hidden{display:none}.pathway-edit-banner strong{font-size:.68rem;letter-spacing:.04em}.pathway-edit-banner kbd{font-size:.58rem;padding:.05rem .25rem;border-radius:3px;border:1px solid rgba(255,255,255,.2);background:#00000059}.pathway-edit-export{font:inherit;font-size:.58rem;font-weight:700;padding:.15rem .45rem;border-radius:6px;border:1px solid rgba(255,213,74,.5);background:#ffd54a26;color:#fef3c7;cursor:pointer}html.pathway-edit-on .grid-wrap{cursor:crosshair}.combat-flash{position:absolute;inset:0;pointer-events:none;z-index:4;border-radius:8px;opacity:0}.combat-flash.active{animation:combat-flash .35s ease-out}@keyframes combat-flash{0%{opacity:0;box-shadow:inset 0 0 0 0 transparent}40%{opacity:1;box-shadow:inset 0 0 40px #fc818159}to{opacity:0}}.dome-watch{flex:0 0 auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.4rem .45rem}.dome-watch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.watch-title{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.watch-live{display:flex;align-items:center;gap:.3rem;font-size:.6rem;font-weight:700;color:var(--danger);letter-spacing:.05em}.watch-live i{width:6px;height:6px;border-radius:50%;background:var(--danger);animation:live-blink 1s ease-in-out infinite}@keyframes live-blink{50%{opacity:.35}}.watch-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.watch-pill{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .25rem .35rem;border-radius:8px;border:1px solid var(--border);background:#0a101a;color:var(--text);cursor:pointer;font-size:.65rem;text-align:center;transition:border-color .2s,transform .15s}.watch-pill:hover{border-color:var(--accent)}.watch-pill.focused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);transform:scale(1.03)}.watch-ring{position:absolute;top:.25rem;width:2rem;height:2rem;border-radius:50%;background:conic-gradient(var(--accent) var(--ring-deg, 0deg),var(--border) var(--ring-deg, 0deg));mask:radial-gradient(farthest-side,transparent 58%,#000 60%);-webkit-mask:radial-gradient(farthest-side,transparent 58%,#000 60%)}.watch-pill.crew-toru .watch-ring{background:conic-gradient(var(--crew-toru) var(--ring-deg, 0deg),var(--border) var(--ring-deg, 0deg))}.watch-pill.crew-mira .watch-ring{background:conic-gradient(var(--crew-mira) var(--ring-deg, 0deg),var(--border) var(--ring-deg, 0deg))}.watch-pill.crew-jax .watch-ring{background:conic-gradient(var(--crew-jax) var(--ring-deg, 0deg),var(--border) var(--ring-deg, 0deg))}.watch-glyph{position:relative;z-index:1;width:2rem;height:2rem;margin-top:.15rem;border-radius:50%;overflow:hidden;border:2px solid var(--border);flex-shrink:0}.watch-meta{position:relative;z-index:1;width:100%;padding:0 .15rem}.watch-meta strong{display:block;font-size:.68rem}.watch-meta small{display:block;color:var(--muted);font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-pct{font-size:.55rem;font-weight:700;color:var(--accent)}.watch-hint{margin:.35rem 0 0;font-size:.62rem;color:var(--muted);text-align:center}.moment-toast{position:absolute;z-index:22;text-align:center;pointer-events:none;font-family:var(--font-ui);font-weight:500}.moment-toast.hidden{display:none}.moment-toast.pop{animation:toast-pop .45s cubic-bezier(.34,1.4,.64,1)}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.9)}}.crew-feed{flex:0 0 auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.35rem .5rem;font-size:.68rem}.crew-feed.hidden{display:none}.feed-title{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.feed-lines{margin:0;padding-left:1rem;color:var(--text)}.feed-lines li{margin:.12rem 0;animation:feed-in .4s ease-out}@keyframes feed-in{0%{opacity:0;transform:translate(-6px)}}.sidebar h2{margin:0 0 .4rem;font-size:.9rem}.crew-roster{margin-bottom:.75rem}.crew-card{display:flex;gap:.5rem;align-items:flex-start;padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:#0a101a;margin-bottom:.35rem;font-size:.78rem}.crew-card-glyph{font-size:1.1rem;line-height:1}.crew-card strong{display:block;font-size:.82rem}.crew-card small{color:var(--muted);display:block;margin-top:.1rem}.morale-bar{height:3px;background:var(--border);border-radius:2px;margin-top:.25rem;overflow:hidden}.morale-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#63b3ed)}.mission-board{margin-bottom:.75rem;padding:.55rem;border-radius:10px;border:1px solid var(--warn);background:linear-gradient(180deg,rgba(246,173,85,.08),transparent)}.mission-board h2{margin:0 0 .45rem}.mission-board .warn{font-size:.65rem;color:var(--warn);font-weight:400}.crew-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.crew-chip{padding:.3rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.75rem;cursor:pointer}.crew-chip.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.crew-chip.assigned{border-color:var(--warn)}.chip-pct{margin-left:.25rem;color:var(--warn);font-size:.65rem}.mission-slots{display:flex;flex-direction:column;gap:.35rem}.mission-slot{padding:.45rem .55rem;border-radius:8px;border:1px dashed var(--border);cursor:pointer;font-size:.75rem;transition:border-color .2s,background .2s}.mission-slot:hover{border-color:var(--accent)}.mission-slot.filled{border-style:solid}.mission-slot.ready{border-color:var(--accent);background:#4fd1c50f}.mission-slot strong{display:block;font-size:.82rem}.mission-slot p{margin:.15rem 0;color:var(--muted);font-size:.68rem}.slot-crew{color:var(--accent);font-size:.72rem;margin-bottom:.2rem}.slot-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.slot-bar i{display:block;height:100%;background:var(--warn);transition:width .3s ease}.mission-slot.ready .slot-bar i{background:var(--accent)}.mission-hint{margin:.4rem 0 0;font-size:.65rem;color:var(--muted)}.mod-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.mod-pick{text-align:left;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.mod-pick.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mod-pick span{float:right;color:var(--muted)}.mod-pick small{display:block;color:var(--muted);font-size:.72rem;margin-top:.15rem}.actions{display:flex;flex-direction:column;gap:.4rem}.actions button,.modal-card button{padding:.55rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-size:.9rem}.actions button.primary,.modal-card button.primary{background:linear-gradient(135deg,#2c7a7b,#234e52);border-color:var(--accent)}.actions button:disabled{opacity:.5;cursor:not-allowed}.score{margin-top:.75rem;font-size:.8rem;color:var(--muted)}.modal{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10}.modal.hidden{display:none}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem;max-width:320px;width:100%;text-align:center}.crew-highlight{font-size:.8rem;color:var(--muted);font-style:italic}.big-score{font-size:1.5rem;color:var(--accent)}.crew-focus-card-host{position:absolute;left:calc(.5rem + var(--safe-left));right:calc(.5rem + var(--safe-right));bottom:calc(var(--dock-height) + .5rem + var(--safe-bottom));z-index:16;pointer-events:none;max-width:24rem}@media (min-width: 721px){.crew-focus-card-host{right:auto;width:min(24rem,calc(100% - 1rem - var(--safe-left)));bottom:calc(.5rem + var(--safe-bottom))}}.crew-focus-card-host.hidden{display:none}.crew-focus-card-host .crew-focus-card{pointer-events:auto;animation:crew-card-in .38s cubic-bezier(.22,1,.36,1);--assistant-accent: #38bdf8;--assistant-accent-dim: rgba(56, 189, 248, .4);--assistant-border: rgba(56, 189, 248, .28)}.crew-focus-card__inner{padding-bottom:.38rem}.crew-focus-card__head{align-items:center;margin-bottom:.28rem}.crew-focus-card__sprite{flex-shrink:0;width:2.4rem;height:3.2rem;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:8px;border:1px solid rgba(56,189,248,.35);background:#070b16}.crew-focus-card__tagline{margin:.12rem 0 0;font-size:.72rem;color:#94a3b8f2;font-style:italic}.crew-focus-card__close{flex-shrink:0;align-self:flex-start;width:1.75rem;height:1.75rem;margin:-.15rem -.1rem 0 0;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#0f172ad9;color:#e2e8f0;font-size:1.1rem;line-height:1;cursor:pointer}.crew-focus-card__section-label{display:block;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--assistant-accent);margin-bottom:.12rem}.crew-focus-card__now{margin-bottom:.5rem;padding:.45rem .5rem;border-radius:10px;background:#38bdf814;border:1px solid rgba(56,189,248,.15)}.crew-focus-card__doing{margin:0;font-size:.86rem;font-weight:700;color:#e0f2fe;line-height:1.25}.crew-focus-card__economy{margin:.25rem 0 0;font-size:.72rem;color:#5eead4;line-height:1.3}.crew-focus-card__mood{display:inline-block;margin-top:.2rem;font-size:.68rem;color:#94a3b8f2}.crew-focus-card__doll{margin-bottom:.5rem}.crew-focus-card__doll-row{display:flex;gap:.45rem;align-items:flex-start}.crew-focus-card__doll-sprite{flex-shrink:0;width:4.8rem;height:6.4rem;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:10px;border:1px solid rgba(56,189,248,.35);background:#070b16}.crew-focus-card__slots{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:.28rem;min-width:0}.crew-focus-card__slot{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.28rem .35rem;border-radius:8px;border:1px dashed rgba(71,85,105,.65);background:#0f172a8c;color:#94a3b8f2;cursor:pointer;text-align:left;font:inherit}.crew-focus-card__slot--filled{border-style:solid;border-color:#38bdf859;background:#38bdf814}.crew-focus-card__slot-lbl{font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--assistant-accent)}.crew-focus-card__slot-val{font-size:.68rem;font-weight:700;color:#e0f2fe;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.crew-focus-card__slot-mod{font-size:.55rem;line-height:1.2;color:#7dd3fcd9}.crew-focus-card__mods{margin:.35rem 0 0;font-size:.65rem;line-height:1.3;color:#7dd3fce6}.crew-focus-card__doll-hint{margin:.2rem 0 0;font-size:.6rem;color:#94a3b8d9}.crew-focus-card__bio{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.crew-focus-card__bio-row p{margin:0;font-size:.76rem;line-height:1.35;color:#e2e8f0e6}.crew-focus-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:.45rem}.crew-focus-card__stat{text-align:center;padding:.35rem .2rem;border-radius:8px;background:#0f172aa6;border:1px solid rgba(51,65,85,.55)}.crew-focus-card__stat-val{display:block;font-size:.95rem;font-weight:800;color:#7dd3fc;line-height:1.1}.crew-focus-card__stat-lbl{display:block;margin-top:.1rem;font-size:.58rem;line-height:1.15;color:#94a3b8eb}.crew-focus-card__foot{border-top:1px solid rgba(51,65,85,.45);padding-top:.4rem}.crew-focus-card__hint{margin:0;font-size:.7rem;line-height:1.35;color:#94a3b8f2}@keyframes crew-card-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.crew-focus-card-host:not(.hidden)~.shift-commander{display:none!important}.assistant-card{--assistant-accent: #a78bfa;--assistant-accent-dim: rgba(167, 139, 250, .45);--assistant-surface: rgba(10, 8, 22, .94);--assistant-border: rgba(129, 140, 248, .22);position:relative;border-radius:10px;border:1px solid var(--assistant-border);background:var(--assistant-surface);box-shadow:0 8px 24px #00000073;overflow:hidden}.assistant-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#c4b5fd,#6366f1 55%,#22d3ee);border-radius:10px 0 0 10px}.assistant-card__inner{padding:.42rem .5rem .42rem .62rem}.assistant-card__bar{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.22rem}.assistant-card__head{display:flex;align-items:flex-start;gap:.38rem;margin-bottom:.2rem}.assistant-card__avatar{flex-shrink:0;width:2.05rem;height:2.05rem;border-radius:7px;object-fit:cover;border:1px solid rgba(129,140,248,.35);box-shadow:0 0 8px #38bdf82e;background:#070b16}.assistant-card__meta{flex:1;min-width:0}.assistant-card__name{display:block;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--assistant-accent);line-height:1.15}.assistant-card__subject{margin:.06rem 0 0;font-size:.78rem;font-weight:800;line-height:1.15;color:#ddd6fe}.assistant-card__body{margin:0;font-size:.73rem;line-height:1.32;color:#e2e8f0e0}.assistant-card__foot{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.22rem}.assistant-card__time{flex-shrink:0;font-size:.58rem;color:#94a3b8bf;white-space:nowrap}.assistant-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.22rem;padding-left:0}.assistant-panel-header__title{font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#ddd6feeb;line-height:1.15}.guide-dock-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0}.guide-dock-actions.hidden{display:none!important}.dock-btn--guide-primary{border-color:#5eead48c;background:linear-gradient(135deg,#2c7a7b,#234e52);color:#e6fffa;font-weight:700}.dock-btn--guide{border-color:#a0aec073;color:var(--muted);font-size:var(--text-caption, .75rem);padding:.45rem .85rem;min-height:var(--touch-min, 3rem)}.goal-guide-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.goal-guide-btn{font:inherit;font-size:var(--text-base, .875rem);font-weight:600;min-height:var(--touch-min, 3rem);padding:.5rem 1rem;border-radius:var(--touch-radius, 12px);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.goal-guide-btn:active{transform:scale(.96)}.goal-guide-btn--primary{background:linear-gradient(135deg,#2c7a7b,#234e52);border-color:var(--accent);color:#e6fffa}.guide-assistant-host{position:absolute;left:auto;right:calc(.5rem + var(--safe-right));bottom:calc(var(--dock-height) + .45rem + var(--safe-bottom));z-index:17;width:min(20rem,calc(100vw - 1rem - var(--safe-left) - var(--safe-right)));max-width:20rem;pointer-events:none;touch-action:manipulation}.guide-assistant-host:empty,.guide-assistant-host:has(.guide-assistant.hidden){display:none}.guide-assistant-host .guide-assistant{pointer-events:auto}.guide-assistant{padding:0;max-width:100%;width:100%}.guide-assistant--lite .assistant-card__bar,.guide-assistant--lite .assistant-card__head{display:none}.guide-assistant--lite .assistant-card__inner{padding:.38rem .5rem .38rem .58rem}.guide-assistant--lite .assistant-card__body{font-size:.68rem;line-height:1.28}.guide-assistant--lite .assistant-card__foot{margin-top:.15rem}.guide-assistant--lite .assistant-card__body:before{content:"Heads up · ";font-weight:800;color:#ddd6fe}.guide-assistant--lite .assistant-card__subject,.guide-assistant.hidden{display:none}.guide-assistant--compact{opacity:.92}.guide-assistant--blocking{box-shadow:0 0 0 2px #a78bfa59,0 12px 36px #0000008c}.guide-assistant--shake{animation:guide-shake .35s ease}@keyframes guide-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.guide-assistant-reject{margin:.18rem 0 0;font-size:.7rem;line-height:1.25;color:#fc8181}.guide-assistant-foot{justify-content:flex-start;margin-top:.2rem}.guide-assistant-actions{display:flex;gap:.28rem;margin:0;flex-wrap:wrap;width:100%}.guide-btn{position:relative;z-index:1;min-height:1.85rem;min-width:0;padding:.22rem .62rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.74rem;font-weight:600;line-height:1.2;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.guide-btn:active{transform:scale(.96)}.guide-btn-continue{background:linear-gradient(135deg,#5b21b6,#312e81);border-color:#a78bfa8c;color:#ede9fe;font-weight:600}.guide-btn-skip-tutorial{border-color:#a0aec080;color:var(--muted)}.guide-dim{position:absolute;inset:0;pointer-events:none;z-index:6;background:#00000059}.guide-dim--blocking{background:#0000008c}.guide-ghost{position:absolute;z-index:7;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat;background-position:center bottom;border:1px dashed rgba(56,178,172,.55);border-radius:2px;opacity:.5;box-shadow:none}.guide-ghost-anim{animation:guide-ghost-pulse 1.6s ease-in-out infinite}@keyframes guide-ghost-pulse{0%,to{opacity:.45;transform:scale(.98)}50%{opacity:.75;transform:scale(1)}}.cell.guide-target{z-index:2;box-shadow:inset 0 0 0 1px #38b2aca6}.cell.guide-target-pulse{animation:guide-cell-pulse 1.2s ease-in-out infinite}@keyframes guide-cell-pulse{0%,to{box-shadow:inset 0 0 0 1px #38b2aca6}50%{box-shadow:inset 0 0 0 2px #5eead4d9}}.guide-meter-pulse{animation:guide-meter-glow 1.4s ease-in-out infinite}@keyframes guide-meter-glow{0%,to{box-shadow:none}50%{box-shadow:0 0 12px #38b2ac8c}}.guide-scavenge-pulse{animation:guide-scavenge-glow 1.2s ease-in-out infinite;outline:2px solid rgba(56,178,172,.75)}@keyframes guide-scavenge-glow{0%,to{box-shadow:none}50%{box-shadow:0 0 14px #38b2ac8c}}.room-pick.guide-required{outline:2px solid rgba(56,178,172,.8);outline-offset:2px}.goal-hint{margin:.5rem 0 0;font-size:.78rem;color:var(--muted)}.menu-anchor{position:relative;display:flex;align-items:center}.hud-btn--menu{position:relative}.hud-btn-badge{position:absolute;top:-.1rem;right:-.15rem;min-width:.85rem;height:.85rem;padding:0 .2rem;border-radius:999px;font-size:.55rem;font-weight:800;line-height:.85rem;text-align:center;color:#0a1218;background:var(--accent);box-shadow:0 0 6px #38b2acbf;pointer-events:none}.hud-btn--menu-stock .hud-btn-badge{background:#c9a227;box-shadow:0 0 6px #c9a227a6}.hud-btn-badge.hidden{display:none}.hud-btn--menu-active,.hud-btn--menu-guide{border-color:#38b2ac8c;background:#38b2ac24}.main-menu-popover{position:absolute;top:calc(100% + .35rem);left:0;z-index:26;width:min(17.5rem,calc(100vw - 2rem));max-height:min(40dvh,16rem);display:flex;flex-direction:column;pointer-events:auto;overflow:hidden;border-radius:var(--touch-radius, 12px);box-shadow:0 8px 28px #0000008c,0 0 0 1px #6496b42e}.main-menu-popover.hidden{display:none}.main-menu-popover.pop{animation:menu-popover-in .28s cubic-bezier(.22,1.2,.36,1)}@keyframes menu-popover-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-popover__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;border-bottom:1px solid var(--glass-border);flex-shrink:0}.menu-popover__title{margin:0;font-size:.85rem;font-weight:700;letter-spacing:-.02em}.menu-popover__close{font:inherit;font-size:1.15rem;line-height:1;min-width:var(--touch-min, 2.75rem);min-height:var(--touch-min, 2.75rem);width:var(--touch-min, 2.75rem);height:var(--touch-min, 2.75rem);border-radius:var(--touch-radius, 12px);border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text);cursor:pointer;touch-action:manipulation}.menu-popover__close:hover{color:var(--accent)}.menu-popover__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.45rem .65rem .6rem}.menu-section{margin:0 0 .55rem}.menu-section:last-child{margin-bottom:0}.menu-section__title{margin:0 0 .25rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.menu-section__body{margin:0;font-size:.74rem;line-height:1.4;color:var(--text)}.menu-stat-row{display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.7rem;color:var(--muted)}.menu-stat b{color:var(--text);font-weight:700}.menu-tips{margin:0;padding-left:1rem;font-size:.7rem;line-height:1.45;color:var(--muted)}.menu-tips li{margin:.15rem 0}.menu-tips strong{color:var(--text)}.menu-section--guide .menu-section__body{margin-bottom:.35rem}.menu-popover__body .goal-guide-actions{margin:.35rem 0 0}.menu-popover__body .goal-hint{margin:.35rem 0 0;font-size:.68rem}.menu-stock-empty,.menu-stock-hint{margin:0 0 .35rem;font-size:.68rem;color:var(--muted)}.menu-stock-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.menu-stock-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.15rem .4rem;padding:.35rem .4rem;border-radius:8px;background:#00000038;border:1px solid rgba(100,150,180,.12)}.menu-stock-label{font-size:.72rem;color:var(--text);grid-column:1}.menu-stock-price{font-size:.62rem;color:var(--muted);grid-column:2;text-align:right}.menu-stock-actions{grid-column:1 / -1;display:flex;gap:.35rem;flex-wrap:wrap}.menu-stock-btn{min-height:2rem;padding:.25rem .55rem;font-size:.65rem;font-weight:700;border-radius:8px;border:1px solid rgba(100,150,180,.25);background:#1e2d3ad9;color:var(--text);cursor:pointer}.menu-stock-btn--accent{border-color:#c9a22773;color:#e8d48a}.menu-stock-liquidate{margin-top:.45rem;width:100%;min-height:2.1rem;font-size:.68rem;font-weight:700;border-radius:8px;border:1px dashed rgba(201,162,39,.4);background:#c9a22714;color:#e8d48a;cursor:pointer}.function-menu-backdrop{position:absolute;inset:0;z-index:24;background:#00000059;pointer-events:auto}.function-menu-backdrop.hidden{display:none}.function-menu-sheet{position:absolute;top:var(--safe-top);right:var(--safe-right);bottom:calc(var(--dock-height, 10.5rem) + var(--safe-bottom));z-index:25;width:min(22rem,calc(100vw - 1.5rem));max-height:none;display:flex;flex-direction:column;pointer-events:auto;overflow:hidden;border-radius:var(--glass-radius)}.function-menu-sheet.hidden{display:none}.function-menu-sheet.pop{animation:menu-popover-in .28s cubic-bezier(.22,1.2,.36,1)}.function-menu-tabs{display:flex;gap:.25rem;padding:0 .65rem .5rem;flex-shrink:0}.function-menu-tab{flex:1;padding:.35rem .4rem;border-radius:8px;border:1px solid var(--glass-border);background:#0003;color:var(--muted);font-size:.7rem;font-weight:600;cursor:pointer;font-family:inherit}.function-menu-tab--active{color:var(--text);border-color:#5eead473;background:#5eead41f}.function-menu-body{flex:1;overflow-y:auto;padding:0 .65rem .75rem;-webkit-overflow-scrolling:touch}.fn-panel{display:flex;flex-direction:column;gap:.65rem}.fn-meters{display:flex;flex-direction:column;gap:.55rem}.fn-meter{padding:.5rem .55rem;border-radius:10px;border:1px solid var(--glass-border);background:#00000038}.fn-meter--focus{outline:2px solid rgba(94,234,212,.55)}.fn-meter__head{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.35rem}.fn-meter__glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;line-height:1;width:1.25em;opacity:.95}.fn-meter__title{margin:0;flex:1;font-size:.8rem}.fn-meter__val{font-weight:700;font-size:.75rem}.fn-meter__bar{height:8px;margin-bottom:.25rem}.fn-meter__delta{margin:0 0 .25rem;font-size:.68rem;color:var(--accent)}.fn-meter__why,.fn-meter__tip{margin:.15rem 0 0;font-size:.68rem;color:var(--muted);line-height:1.35}.fn-section__title{margin:0 0 .35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fn-flow-list{margin:0;padding:0;list-style:none}.fn-flow-row{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:.72rem;border-bottom:1px solid rgba(255,255,255,.06)}.fn-flow-delta{font-weight:600;white-space:nowrap}.fn-cap-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;font-size:.75rem}.fn-cap-bar{height:6px}.fn-stock-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.fn-stock-row{padding:.45rem .5rem;border-radius:8px;background:#0003;border:1px solid var(--glass-border)}.fn-stock-row__head{display:flex;justify-content:space-between;gap:.35rem;font-size:.75rem;margin-bottom:.3rem}.fn-stock-row__bar{height:5px;margin-bottom:.35rem}.fn-stock-row__actions{display:flex;gap:.35rem;flex-wrap:wrap}.fn-liquidate{width:100%;margin-top:.25rem}.fn-empty,.fn-hint{margin:0;font-size:.72rem;color:var(--muted);line-height:1.4}.fn-prod-table{width:100%;border-collapse:collapse;font-size:.68rem}.fn-prod-table th{text-align:left;color:var(--muted);font-weight:600;padding:.25rem .2rem;border-bottom:1px solid var(--glass-border)}.fn-prod-table td{padding:.35rem .2rem;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.05)}.fn-prod-row--idle{opacity:.55}.fn-prod-full{color:var(--accent);font-weight:700;font-size:.6rem}.menu-economy-open{margin-top:.35rem;width:100%;padding:.4rem .55rem;border-radius:8px;border:1px solid var(--glass-border);background:#00000040;color:var(--text);font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit}.menu-economy-open--primary{border-color:#5eead466;background:#5eead41a}.menu-stock-cap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.72rem}.menu-stock-cap-bar{height:5px}@media (max-width: 520px){.function-menu-sheet{left:var(--safe-left);right:var(--safe-right);width:auto}}.cheat-entry{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(120,160,200,.18)}.cheat-entry-title{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#b4d2f0bf}.cheat-entry-hint{margin:0 0 .5rem;font-size:.68rem;line-height:1.35;color:#a0b9d2b8}.cheat-entry-hint kbd{padding:.05rem .35rem;border-radius:3px;background:#283c5a8c;font-size:.65rem}.cheat-entry-form{display:flex;gap:.4rem;align-items:stretch}.cheat-entry-input{flex:1;min-width:0;padding:.45rem .55rem;border-radius:6px;border:1px solid rgba(100,140,180,.35);background:#080e18a6;color:#e8f2ff;font-size:.85rem;font-variant-numeric:tabular-nums}.cheat-entry-submit{padding:.45rem .7rem;border-radius:6px;border:1px solid rgba(80,160,220,.45);background:#1e466e8c;color:#dff0ff;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.cheat-entry-status{margin:.4rem 0 0;font-size:.65rem;color:#8cc8a0d9}html.dev-mode-on .grid .cell{position:relative}html.dev-mode-on .grid-lines-overlay{opacity:1;background-image:linear-gradient(to right,rgba(120,200,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(120,200,255,.14) 1px,transparent 1px)}html.dev-mode-on .grid .cell[data-x]:after{content:attr(data-x) "," attr(data-y);position:absolute;left:2px;top:1px;z-index:6;padding:0 2px;border-radius:2px;font-size:clamp(6px,.42vw,9px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.02em;color:#dcf5fff2;background:#081424b8;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.85)}html.dev-mode-on .cell.tile-sky:after{opacity:.35}html.dev-mode-on .cell-shaft-gate:after{content:"UNLOCK";position:absolute;right:2px;bottom:2px;z-index:7;padding:1px 3px;border-radius:2px;font-size:clamp(5px,.38vw,8px);font-weight:800;letter-spacing:.04em;color:#ffe8a8;background:#50320ad9;pointer-events:none}.room-cell-menu{position:absolute;z-index:24;pointer-events:auto;transform:translate(-50%,-50%);max-width:min(16rem,calc(100vw - 1.5rem))}.room-cell-menu__panel{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .55rem .55rem;min-width:10.5rem;border-radius:var(--touch-radius, 12px);box-shadow:0 8px 28px #0000008c,0 0 0 1px #6496b42e}.room-cell-menu__panel.pop{animation:menu-popover-in .22s cubic-bezier(.22,1.2,.36,1)}.room-cell-menu__title{margin:0;font-family:var(--font-display, "Orbitron", sans-serif);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-bright, #e8eef5)}.room-cell-menu__staff{margin:0;font-size:.68rem;color:var(--muted, #8a9bb0)}.room-cell-menu__economy{margin:.2rem 0 .35rem;font-size:.65rem;color:var(--accent);line-height:1.35}.room-cell-menu__progress{margin:0 0 .4rem;font-size:.62rem;color:var(--muted, #8a9bb0)}.room-cell-menu__actions{display:flex;flex-direction:column;gap:.3rem}.room-cell-menu__btn{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.45rem .55rem;border:1px solid var(--glass-border, rgba(120, 140, 160, .25));border-radius:8px;background:#0c121c8c;color:var(--text, #c8d4e0);text-align:left;cursor:pointer;touch-action:manipulation}.room-cell-menu__btn:active{background:#38b2ac1f;border-color:#38b2ac59}.room-cell-menu__btn--crisis{border-color:#f8717173;background:#50181859}.room-cell-menu__btn--boon{border-color:#60c88c66;background:#14382859}.room-cell-menu__btn--accent{border-color:#38b2ac66}.room-cell-menu__label{font-size:.78rem;font-weight:600}.room-cell-menu__sublabel{font-size:.65rem;color:var(--muted, #8a9bb0)}.scavenge-modal-card{max-width:min(420px,92vw);width:100%}.scavenge-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.scavenge-modal-head h2{margin:0;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}.scavenge-modal-close{border:none;background:transparent;color:var(--text-muted, #9ab);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem}.scavenge-modal-lead{margin:0 0 1rem;font-size:.88rem;color:var(--text-muted, #9ab);line-height:1.45}.scavenge-crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem;margin-bottom:1rem}.scavenge-crew-chip{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem .4rem;border-radius:10px;border:1px solid rgba(120,200,255,.25);background:#08101cbf;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}.scavenge-crew-chip.selected{border-color:#64dcffd9;box-shadow:0 0 18px #3cb4ff59}.scavenge-crew-chip.disabled{opacity:.45;cursor:not-allowed}.scavenge-crew-name{font-weight:700;font-size:.82rem}.scavenge-crew-role{font-size:.72rem;opacity:.85}.scavenge-modal-preview{margin:0 0 1rem;font-size:.9rem}.scavenge-modal-preview-hint{display:block;font-size:.75rem;color:var(--text-muted, #9ab);margin-top:.2rem}.scavenge-modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.scavenge-modal-launch.primary{font-weight:700}.scavenge-topside{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(140,180,220,.2)}.scavenge-topside h3{margin:0 0 .35rem;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}.scavenge-topside-lead{margin:0 0 .55rem;font-size:.76rem;color:var(--text-muted, #9ab)}.scavenge-duration-row{display:flex;gap:.4rem;margin-bottom:.55rem}.scavenge-duration-btn{flex:1 1 0;border-radius:8px;border:1px solid rgba(120,200,255,.25);background:#08101c99;color:inherit;padding:.35rem .45rem;font-size:.72rem;font-weight:600;cursor:pointer}.scavenge-duration-btn.selected{border-color:#64dcffd9;box-shadow:0 0 12px #3cb4ff47}.scavenge-topside-grid{display:grid;grid-template-columns:1fr;gap:.45rem}.scavenge-topside-btn{border:1px solid rgba(120,200,255,.25);background:#08101cb3;color:inherit;border-radius:8px;text-align:left;padding:.45rem .55rem;cursor:pointer}.scavenge-topside-name{display:block;font-weight:700;font-size:.8rem}.scavenge-topside-meta{display:block;margin-top:.1rem;color:var(--text-muted, #9ab);font-size:.7rem}.scavenge-topside-active-list{margin:.6rem 0 0;padding-left:1rem;font-size:.72rem;color:var(--text-muted, #9ab)}.scavenge-topside-empty{margin:.6rem 0 0;font-size:.72rem;color:var(--text-muted, #9ab)}.breacher-hunt-modal-card{max-width:22rem}.breacher-hunt-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.breacher-hunt-modal-head h2{margin:0;font-size:1rem}.breacher-hunt-modal-close{border:none;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.breacher-hunt-brief--inline{margin:.5rem 0 .75rem;padding:.5rem .6rem;border-radius:10px;background:#00000047;border:1px solid rgba(167,139,250,.22)}.breacher-hunt-brief--inline .assistant-card__inner{gap:.35rem}.breacher-hunt-brief__body{margin:0;font-size:.82rem;line-height:1.45}.breacher-hunt-brief__avatar{width:36px;height:36px}.breacher-hunt-hint{margin:0 0 .5rem;font-size:.78rem;opacity:.9}.breacher-hunt-hint--warn{color:color-mix(in srgb,var(--warn, #fbbf24) 85%,#fff 15%)}.breacher-hunt-crew-grid{display:flex;flex-wrap:wrap;gap:.35rem}.breacher-hunt-crew-chip{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000059;cursor:pointer;min-width:3.5rem}.breacher-hunt-crew-chip.selected{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.breacher-hunt-crew-chip.disabled{opacity:.45;cursor:not-allowed}.breacher-hunt-selection{margin:.5rem 0;font-size:.8rem;opacity:.85}.breacher-hunt-flavors{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.breacher-hunt-flavor-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.5rem .65rem;border-radius:8px;border:1px solid rgba(167,139,250,.35);background:#4c1d9533;color:inherit;cursor:pointer}.breacher-hunt-flavor-btn:disabled{opacity:.45;cursor:not-allowed}.breacher-hunt-flavor-name{font-weight:600;font-size:.9rem}.breacher-hunt-flavor-meta{font-size:.75rem;opacity:.85}.breacher-hunt-actions{display:flex;justify-content:flex-end}.breacher-hunt-actions button{font-size:.85rem;opacity:.85;background:transparent;border:none;color:inherit;cursor:pointer}.task-queue{pointer-events:none;margin:.28rem calc(.5rem + var(--safe-right)) .2rem calc(.5rem + var(--safe-left));padding:.4rem .55rem .45rem;border-radius:calc(var(--glass-radius) - 2px);background:#060c16d1;border:1px solid rgba(120,185,255,.22);box-shadow:0 6px 18px #00000059,inset 0 1px #ffffff0d;max-height:min(38vh,220px);overflow:hidden;display:flex;flex-direction:column;gap:.35rem}.task-queue[hidden]{display:none!important}.task-queue__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-shrink:0}.task-queue__title{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#bee1fff2}.task-queue__meta{font-size:.62rem;font-weight:600;color:#a0c3e6e0;white-space:nowrap}.task-queue__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.32rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.task-queue__item{display:flex;flex-direction:column;gap:.18rem}.task-queue__row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.35rem .45rem;min-width:0}.task-queue__glyph{font-size:.85rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}.task-queue__copy{min-width:0;display:flex;flex-direction:column;gap:.04rem}.task-queue__label{font-size:.72rem;font-weight:700;color:#ebf5fff5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-queue__detail{font-size:.6rem;color:#96b9dce6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-queue__crew{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#78d2ffeb;white-space:nowrap}.task-queue__pct{font-size:.62rem;font-weight:800;font-variant-numeric:tabular-nums;color:#c8e6fff2;min-width:2.1rem;text-align:right}.task-queue__bar{height:4px;border-radius:999px;background:#ffffff14;overflow:hidden}.task-queue__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8d9,#81e6d9f2);transition:width .35s ease;box-shadow:0 0 8px #38bdf859}@media (max-width: 520px){.task-queue{max-height:min(32vh,180px)}.task-queue__crew{display:none}.task-queue__row{grid-template-columns:auto 1fr auto}}.tech-tree-backdrop{position:fixed;inset:0;z-index:120;background:#040a12b8;backdrop-filter:blur(4px)}.tech-tree-sheet{position:fixed;inset:2%;z-index:121;display:grid;grid-template-columns:minmax(140px,180px) 1fr minmax(200px,260px);grid-template-rows:auto 1fr auto;gap:.75rem;padding:1rem 1.1rem 1.25rem;max-height:96vh;overflow:hidden}.tech-tree-sheet.hidden,.tech-tree-backdrop.hidden{display:none!important}.tech-tree-sheet__head{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.tech-tree-sheet__title{margin:0;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.tech-tree-sheet__tagline{margin:.2rem 0 0;font-size:.78rem;opacity:.75}.tech-tree-status{list-style:none;margin:0;padding:0;font-size:.78rem}.tech-tree-status li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid rgba(79,209,197,.12)}.tech-tree-stage-wrap{grid-row:2;grid-column:2;overflow:hidden;border:1px solid rgba(79,209,197,.2);border-radius:8px;background:#0008108c}.tech-tree-svg-host{width:100%;height:100%;min-height:420px}.tech-tree-svg__canvas{width:100%;height:auto;display:block}.tech-tree-edge{stroke-width:2;stroke:#4fd1c540;opacity:.85}.tech-tree-edge--active{stroke:var(--accent);stroke-dasharray:6 4;animation:tech-edge-march 1.2s linear infinite}@keyframes tech-edge-march{to{stroke-dashoffset:-20}}@media (prefers-reduced-motion: reduce){.tech-tree-edge--active{animation:none}}.tech-tree-hex{fill:#081420eb;stroke:var(--tier-color, var(--accent));stroke-width:2;shape-rendering:geometricPrecision;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--tier-color, var(--accent)) 45%,transparent))}.tech-tree-node--core .tech-tree-hex{stroke:var(--accent);fill:#0c2830f2}.tech-tree-node--locked{opacity:.45}.tech-tree-node--available .tech-tree-hex{animation:tech-pulse 2s ease-in-out infinite}@keyframes tech-pulse{50%{filter:drop-shadow(0 0 10px var(--accent))}}.tech-tree-node--researching .tech-tree-hex{stroke:#63b3ed}.tech-tree-node--built .tech-tree-hex,.tech-tree-node--unlocked .tech-tree-hex{fill:#103028e6}.tech-tree-label{fill:#e8f4f8;font-size:11px;font-weight:600;pointer-events:none}.tech-tree-sublabel,.tech-tree-cost,.tech-tree-eta{fill:#e8f4f8a6;font-size:9px;pointer-events:none}.tech-tree-progress-ring{fill:none;stroke:#63b3ed;stroke-width:3;transform:rotate(-90deg);transform-origin:center;pointer-events:none}.tech-tree-detail{grid-row:2;grid-column:3;font-size:.82rem;overflow-y:auto}.tech-tree-detail__title{margin:0 0 .5rem;font-size:1rem;color:var(--accent)}.tech-tree-detail__warn{color:#f6ad55}.tech-tree-detail__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.tech-tree-filters{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.35rem}.tech-tree-filter{font-size:.72rem;padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(79,209,197,.35);background:transparent;color:inherit;cursor:pointer}.tech-tree-filter--active{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.tech-tree-legend{grid-column:1;grid-row:2;font-size:.72rem;opacity:.8}.disc-utilities{--tier-color: #48bb78}.disc-maintenance{--tier-color: #68d391}.disc-logistics{--tier-color: #ecc94b}.disc-industry{--tier-color: #ed8936}.disc-science{--tier-color: #9f7aea}.research-modal__panel{max-width:420px;margin:8vh auto;padding:1rem 1.1rem}.research-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.research-modal__brief{font-size:.85rem;opacity:.9;margin:0 0 .5rem}.research-modal__slots{font-size:.78rem;opacity:.7;margin:0 0 1rem}.research-modal__job{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(79,209,197,.15)}.research-modal__job h3{margin:0 0 .25rem;font-size:.95rem}.research-modal__channel{font-size:.78rem;opacity:.75;margin:0 0 .5rem}.research-modal__bar{margin-bottom:.5rem}.research-modal__foot{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.language-support-backdrop{position:fixed;inset:0;z-index:44;background:#040a108c;backdrop-filter:blur(2px)}.language-support-backdrop.hidden{display:none}.language-support-sheet{position:fixed;inset:0;z-index:45;display:flex;align-items:flex-end;justify-content:center;padding:.75rem;pointer-events:none;font-family:"Noto Sans","Noto Sans Arabic","Noto Sans JP","Noto Sans KR","Noto Sans SC","Noto Sans TC","Noto Sans Thai",var(--font-ui, Inter, system-ui, sans-serif)}.language-support-sheet.hidden{display:none}.language-support-sheet.pop .language-support-sheet__panel{animation:lang-support-sheet-in .28s cubic-bezier(.22,1.2,.36,1)}@keyframes lang-support-sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.language-support-sheet__panel{pointer-events:auto;width:min(520px,100%);max-height:min(78dvh,34rem);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--touch-radius, 12px);padding:.85rem .95rem .75rem;box-shadow:0 12px 40px #0000008c,0 0 0 1px #6496b42e}.language-support-sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-shrink:0;margin-bottom:.55rem}.language-support-sheet__kicker{margin:0;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.language-support-sheet__title{margin:.15rem 0 0;font-family:var(--font-display, Rajdhani, sans-serif);font-size:1rem;font-weight:700;letter-spacing:.04em}.language-support-sheet__intro{flex-shrink:0;max-height:7.5rem;overflow-y:auto;margin-bottom:.65rem;padding-bottom:.45rem;border-bottom:1px solid var(--glass-border, rgba(255, 255, 255, .08))}.language-support-sheet__intro-line{margin:0 0 .35rem;font-size:.72rem;line-height:1.35;color:var(--muted, rgba(255, 255, 255, .72))}.language-support-sheet__intro-line:last-child{margin-bottom:0}.language-support-sheet__grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start;padding:.1rem 0 .45rem}.language-support-chip{font:inherit;font-size:.74rem;font-weight:600;line-height:1.2;min-height:var(--touch-min, 2.75rem);padding:.45rem .65rem;border-radius:999px;border:1px solid rgba(100,150,180,.28);background:#ffffff0f;color:var(--text);cursor:pointer;touch-action:manipulation;transition:border-color .15s ease,background .15s ease,transform .12s ease}.language-support-chip:hover,.language-support-chip:focus-visible{border-color:#38b2ac8c;background:#38b2ac1f;outline:none}.language-support-chip:active{transform:scale(.97)}.language-support-sheet__foot{flex-shrink:0;margin:0;padding-top:.45rem;border-top:1px solid var(--glass-border, rgba(255, 255, 255, .08))}.language-support-sheet__foot p{margin:0;font-size:.68rem;line-height:1.35;color:var(--muted, rgba(255, 255, 255, .65))}.menu-section--lang-support{margin-top:.35rem;padding-top:.45rem;border-top:1px solid var(--glass-border, rgba(255, 255, 255, .08))}.lang-support-menu-btn{display:block;width:100%;font:inherit;font-size:.68rem;font-weight:600;line-height:1.35;text-align:center;padding:.55rem .65rem;border-radius:var(--touch-radius, 12px);border:1px dashed rgba(100,150,180,.35);background:#ffffff0a;color:var(--muted, rgba(255, 255, 255, .78));cursor:pointer;touch-action:manipulation;font-family:"Noto Sans","Noto Sans Arabic","Noto Sans JP","Noto Sans KR","Noto Sans SC","Noto Sans TC","Noto Sans Thai",var(--font-ui, Inter, system-ui, sans-serif)}.lang-support-menu-btn:hover,.lang-support-menu-btn:focus-visible{border-color:#38b2ac73;color:var(--text);background:#38b2ac14;outline:none}@media (min-width: 640px){.language-support-sheet{align-items:center}.language-support-sheet__panel{max-height:min(70dvh,32rem)}}.colony-hub{position:fixed;inset:0;z-index:12000;display:flex;align-items:stretch;justify-content:center;color:#e8edf5;font-family:var(--font-ui, "Rajdhani", system-ui, sans-serif)}.colony-hub__backdrop{position:absolute;inset:0;overflow:hidden;background:#0a0e14}.colony-hub__scene{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}.colony-hub__scene.is-active{opacity:1}.colony-hub__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#070b1373,#070b13b8 45%,#070b13f0);pointer-events:none}.colony-hub__panel{position:relative;z-index:2;margin:auto;width:min(420px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem 1.35rem 1.5rem;border-radius:12px;border:1px solid rgba(120,180,220,.22);background:#0c121cd1;backdrop-filter:blur(10px);box-shadow:0 12px 48px #0000008c}.colony-hub__title{margin:0 0 .25rem;font-family:var(--font-display, "Orbitron", sans-serif);font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase}.colony-hub__subtitle{margin:0 0 1rem;font-size:.9rem;opacity:.75}.colony-hub__section{margin-bottom:1rem}.colony-hub__section h3{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.colony-hub__slots{display:flex;flex-direction:column;gap:.5rem}.colony-hub__slot{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(120,180,220,.2);background:#080c1499;color:inherit;text-align:left;cursor:pointer}.colony-hub__slot:hover:not(:disabled){border-color:#8cd2ff73}.colony-hub__slot.is-active{border-color:#64c8ff8c;box-shadow:0 0 0 1px #64c8ff40}.colony-hub__slot:disabled{opacity:.45;cursor:not-allowed}.colony-hub__slot-name{font-weight:700;font-size:.95rem}.colony-hub__slot-meta{font-size:.8rem;opacity:.7}.colony-hub__actions{display:flex;flex-direction:column;gap:.45rem}.colony-hub__btn{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(120,180,220,.25);background:#142030d9;color:inherit;font:inherit;font-weight:600;cursor:pointer}.colony-hub__btn--primary{background:linear-gradient(180deg,#3c78b480,#1e4678a6);border-color:#8cc8ff66}.colony-hub__btn--danger{border-color:#dc645a73;color:#ffc9c4}.colony-hub__btn:disabled{opacity:.45;cursor:not-allowed}.colony-hub__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.colony-hub__field label{font-size:.75rem;opacity:.7}.colony-hub__field input,.colony-hub__field textarea{padding:.5rem .6rem;border-radius:6px;border:1px solid rgba(120,180,220,.25);background:#060a10e6;color:inherit;font:inherit}.colony-hub__restart{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(120,180,220,.15)}.colony-hub__restart-confirm{display:flex;flex-direction:column;gap:.5rem}.colony-hub__close{position:absolute;top:.75rem;right:.75rem;z-index:3;width:2.25rem;height:2.25rem;border:none;border-radius:999px;background:#080c14bf;color:#e8edf5;font-size:1.25rem;cursor:pointer}.colony-hub__toast{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:6px;background:#285a3c59;font-size:.85rem}@media (prefers-reduced-motion: reduce){.colony-hub__scene{transition:none}}.visit-colony{position:fixed;inset:0;z-index:11000;display:flex;flex-direction:column;background:#070b13;color:#e8edf5}.visit-colony__header{flex:0 0 auto;position:relative;min-height:5.5rem;background-size:cover;background-position:center}.visit-colony__header-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#070b1359,#070b13eb)}.visit-colony__header-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:.75rem 1rem}.visit-colony__title{margin:0;font-family:var(--font-display, "Orbitron", sans-serif);font-size:.95rem;letter-spacing:.05em}.visit-colony__meta{margin:.15rem 0 0;font-size:.8rem;opacity:.75}.visit-colony__back{flex:0 0 auto;padding:.45rem .75rem;border-radius:8px;border:1px solid rgba(120,180,220,.35);background:#0c121cd9;color:inherit;font:inherit;font-weight:600;cursor:pointer}.visit-colony__body{flex:1 1 auto;min-height:0;position:relative}.visit-colony__body .shell{height:100%}.visit-colony__guest{flex:0 0 auto;padding:.65rem 1rem 1rem;border-top:1px solid rgba(120,180,220,.15);background:#0a0e16f2}.visit-colony__guest p{margin:0 0 .5rem;font-size:.85rem}.visit-colony__guest code{font-size:.9rem;letter-spacing:.08em}.room-event-layer{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:max(8px,env(safe-area-inset-top,0px)) 8px max(8px,env(safe-area-inset-bottom,0px));background:#020810eb;pointer-events:auto;touch-action:manipulation}body.room-event-open .grid-wrap{pointer-events:none}.room-event-shell{position:relative;display:flex;flex-direction:column;width:min(520px,100%);max-height:calc(100dvh - 16px);overflow:hidden;background:#020810;color:#00e5ff;border:1px solid #0d2840;border-radius:12px;padding:12px 14px;box-shadow:0 0 40px #00e5ff1f;pointer-events:auto;z-index:1}.room-event-shell__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;position:relative;z-index:2;flex-shrink:0}.room-event-shell__title{font-size:1.35rem;line-height:1.1}.room-event-shell__sub{font-size:.72rem;color:#0a4060;margin-top:4px}.room-event-shell__close{background:transparent;border:none;color:#0a4060;cursor:pointer;padding:4px}.room-event-shell__body{position:relative;z-index:2;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;overflow:hidden}.room-event-shell__body:has(.room-event-shell__result){justify-content:center;overflow-y:auto}.minigame-viewport{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.minigame-viewport__box{position:relative;flex-shrink:0;max-width:100%;overflow:hidden}.minigame-viewport__stage{width:100%}.room-event-shell__result{width:100%;max-width:380px;margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:24px 20px;background:#060f1e;border:2px solid #ffd23f;border-radius:10px;overflow:visible;box-sizing:border-box}.room-event-shell__tier{font-size:clamp(1.75rem,8vw,2.5rem);color:#ffd23f;margin-top:8px;line-height:1.15;text-align:center;max-width:100%;padding:0 6px;overflow:visible;word-break:keep-all}.room-event-shell__score{color:#0a4060;margin-top:6px;font-size:.85rem}.room-event-shell__bonus{display:flex;align-items:center;gap:4px;color:#ffd23f;font-size:.75rem;margin-top:4px}.room-event-shell__actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;justify-content:center}.room-event-shell__hint{margin:8px 0 0;font-size:.62rem;line-height:1.25;color:#0a4060;text-align:center;position:relative;z-index:2;flex-shrink:0}.minigame-hud{width:100%;margin-bottom:8px}.minigame-hud__row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:4px}.minigame-hud__label{color:#0a4060;font-size:.8rem;letter-spacing:.06em}.minigame-hud__score{font-size:1.6rem;line-height:1;color:#00e5ff}.minigame-hud__bar{width:100%;height:8px;background:#040c1a;border:1px solid #0d2840;border-radius:4px;overflow:hidden}.minigame-hud__fill{height:100%;transition:width .1s linear;box-shadow:0 0 6px #00e5ff}.minigame-hud__note{text-align:center;margin-top:4px;color:#ff8c42;font-size:.75rem}.minigame-btn{padding:10px 16px;background:#060f1e;color:#00e5ff;border:1px solid #0d2840;border-radius:6px;cursor:pointer;letter-spacing:.06em;font-size:.85rem}.minigame-btn:disabled{background:#142414;color:#0a4060;cursor:default}.room-event-layer .minigame-col{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%}.room-event-layer .minigame-track{position:relative;width:100%;overflow:hidden;border-radius:6px;box-sizing:border-box}.room-event-layer .minigame-meter{position:relative;overflow:hidden;border-radius:6px;flex-shrink:0}.room-event-layer .minigame-hold-btn,.room-event-layer .minigame-rep-btn{margin-top:.75rem;user-select:none;touch-action:none;cursor:pointer;border:none;font:inherit}.room-event-layer .minigame-foot{margin-top:.75rem;width:100%;text-align:center}.room-event-layer .minigame-panel{position:relative;width:100%;padding:1rem;margin-bottom:1rem;border-radius:8px;box-sizing:border-box}.room-event-layer .minigame-panel--tall{min-height:90px;padding:1.25rem}.room-event-layer .minigame-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.room-event-layer .minigame-row--lg{gap:.75rem}.room-event-layer .minigame-row--spaced{margin-top:.75rem}.room-event-layer .minigame-row--wrap{flex-wrap:wrap}.room-event-layer .minigame-stack{display:flex;flex-direction:column;gap:.5rem;width:100%}.room-event-layer .minigame-stack .tech{text-align:left}.room-event-layer .minigame-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.room-event-layer .minigame-bar{width:100%;margin-top:.5rem;border-radius:4px;overflow:hidden;box-sizing:border-box}.room-event-layer .minigame-title{margin-bottom:.5rem}.room-event-layer .minigame-chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin-bottom:1rem}.room-event-layer .minigame-chip{display:flex;flex-direction:column;align-items:center;gap:.25rem}.room-event-layer .minigame-grid-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.room-event-layer .minigame-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.room-event-layer .minigame-queue{display:flex;align-items:flex-end;gap:.5rem;width:100%;min-height:88px;margin-bottom:.75rem}.room-event-layer .minigame-queue-card{position:relative;flex:1 1 0;min-width:0;padding:.5rem;border-radius:8px;box-sizing:border-box}.room-event-layer .minigame-food-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.room-event-layer .minigame-grid-5{display:grid;grid-template-columns:repeat(5,58px);gap:4px;touch-action:none;user-select:none}.room-event-layer .minigame-grid-6{display:grid;grid-template-columns:repeat(6,52px);gap:4px;touch-action:none;user-select:none}.room-event-layer .minigame-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.room-event-layer .minigame-grid-2--rel{position:relative}.room-event-layer .minigame-pack-grid{display:grid;grid-template-columns:repeat(6,46px);gap:4px;width:fit-content;max-width:100%}.room-event-layer .minigame-cell{display:flex;align-items:center;justify-content:center;user-select:none}.room-event-layer .minigame-hud__score{flex-shrink:0;text-align:right;white-space:nowrap}.room-event-layer .minigame-hud__label{flex:1 1 auto;min-width:0;padding-right:8px}.room-event-shell--boon .room-event-shell__title{color:#6ee7b7}.encounter-shell{width:100%;max-width:400px}.encounter-shell__toru{margin:0 0 8px;padding:10px 12px;border-left:3px solid #6ee7b7;background:#061e168c;color:#d1fae5;font-size:.85rem;line-height:1.35}.encounter-shell__hook{margin:0 0 14px;text-align:center;color:#0a4060;font-size:.75rem}.encounter-shell__choices{display:flex;flex-direction:column;gap:8px;width:100%}.encounter-choice{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:10px 12px;text-align:left;border:1px solid #0d2840;border-radius:8px;background:#060f1e;color:#00e5ff;cursor:pointer;font:inherit}.encounter-choice:hover:not(:disabled){border-color:#6ee7b7;box-shadow:0 0 12px #6ee7b740}.encounter-choice:disabled{opacity:.45;cursor:not-allowed}.encounter-choice__emoji{grid-row:1 / span 2;font-size:1.6rem;line-height:1;align-self:center}.encounter-choice__label{font-weight:800;letter-spacing:.04em;font-size:.82rem}.encounter-choice__blurb{grid-column:2;font-size:.72rem;color:#0a4060}.room-event-shell--boon-v2{width:min(680px,100%);padding:14px 16px 12px}.room-event-shell--boon-v2 .room-event-shell__body{align-items:stretch}.encounter-shell-v2{width:100%;display:flex;flex-direction:column;min-height:0}.encounter-hero{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;border:1px solid #0d2840;background:linear-gradient(145deg,#041018,#0a1a2e 45%,#020810);background-size:cover;background-position:center}.encounter-hero--has-art{background-color:#020810}.encounter-hero__probe{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.encounter-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#02081066,#0208101f 38%,#0208108c 62%,#020810eb);pointer-events:none}.encounter-hero__prompt{position:absolute;top:10px;left:10px;right:150px;margin:0;padding:8px 10px;border-left:3px solid #6ee7b7;background:#020c12b8;color:#d1fae5;font-size:.78rem;line-height:1.35;z-index:2}.encounter-manifest{position:absolute;top:10px;right:10px;width:min(148px,42%);padding:8px 10px;border:1px solid rgba(13,40,64,.9);border-radius:6px;background:#020810d1;z-index:2;box-sizing:border-box}.encounter-manifest__title{margin:0 0 6px;font-size:.62rem;letter-spacing:.12em;color:#6ee7b7}.encounter-manifest__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.encounter-manifest__item{display:flex;flex-direction:column;gap:1px}.encounter-manifest__label{font-size:.58rem;letter-spacing:.06em;color:#5a8aa8;line-height:1.2}.encounter-manifest__qty{font-size:.95rem;color:#00e5ff;line-height:1.1}.encounter-hero__choices{position:absolute;left:8px;right:8px;bottom:34px;z-index:3;display:flex;flex-direction:column;gap:5px;margin:0;padding:0;border:none;background:none}.encounter-hero__feed{position:absolute;left:10px;bottom:8px;display:flex;align-items:center;gap:6px;margin:0;padding:4px 8px;border-radius:4px;background:#020810a6;font-size:.62rem;letter-spacing:.1em;color:#6ee7b7;z-index:4}.encounter-hero__feed-dot{width:6px;height:6px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 8px #6ee7b7;animation:encounter-feed-pulse 1.4s ease-in-out infinite}@keyframes encounter-feed-pulse{0%,to{opacity:1}50%{opacity:.35}}.encounter-choice-v2{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;min-height:0;padding:7px 10px;text-align:left;border:1px solid rgba(0,229,255,.28);border-radius:6px;background:#040e1cd1;backdrop-filter:blur(6px);color:#00e5ff;cursor:pointer;font:inherit;width:100%;box-sizing:border-box}.encounter-choice-v2:hover:not(:disabled){border-color:#6ee7b7;box-shadow:0 0 14px #6ee7b738}.encounter-choice-v2:disabled{opacity:.45;cursor:not-allowed}.encounter-choice-v2__acronym{font-size:1.1rem;font-weight:800;letter-spacing:.06em;color:#6ee7b7;min-width:2.5rem;text-align:center}.encounter-choice-v2__thumb{width:44px;height:44px;object-fit:contain;flex-shrink:0}.encounter-choice-v2__copy{display:flex;flex-direction:column;gap:3px;min-width:0}.encounter-choice-v2__label{font-weight:800;letter-spacing:.04em;font-size:.88rem;color:#00e5ff}.encounter-choice-v2__blurb{font-size:.72rem;color:#5a8aa8;line-height:1.25}.encounter-choice-v2__chev{font-size:1.4rem;color:#0a4060;line-height:1;padding-left:4px}.encounter-choice-v2:hover:not(:disabled) .encounter-choice-v2__chev{color:#6ee7b7}@media (max-width: 480px){.encounter-hero__prompt{right:10px;font-size:.72rem}.encounter-manifest{width:min(132px,40%)}.encounter-hero__choices{left:6px;right:6px;bottom:32px;gap:4px}.encounter-choice-v2{padding:6px 8px;gap:6px}.encounter-choice-v2__thumb{width:36px;height:36px}.encounter-choice-v2__acronym{font-size:.95rem;min-width:2rem}}.room-event-layer .cargo-piece-view__cell{background-size:cover;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;border-radius:3px;box-shadow:inset 0 0 0 1px #00000059}.room-event-layer .cargo-piece-view__cell--empty{visibility:hidden}.room-event-layer .minigame-pack-cell{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;border-radius:5px;box-sizing:border-box}.room-event-layer .minigame-pack-cell[data-outline-t="1"]{box-shadow:inset 0 2px #7cffc7d9}.room-event-layer .minigame-pack-cell[data-outline-r="1"]{box-shadow:inset -2px 0 #7cffc7d9}.room-event-layer .minigame-pack-cell[data-outline-b="1"]{box-shadow:inset 0 -2px #7cffc7d9}.room-event-layer .minigame-pack-cell[data-outline-l="1"]{box-shadow:inset 2px 0 #7cffc7d9}.room-event-layer .minigame-pack-cell[data-outline-t="1"][data-outline-r="1"]{box-shadow:inset 0 2px #7cffc7d9,inset -2px 0 #7cffc7d9}.room-event-layer .minigame-pack-cell--selected{outline:2px solid #ffb02e;outline-offset:-1px;z-index:2}.room-event-layer .minigame-pack-cell--row-flash{animation:cargo-row-flash .35s ease-out}@keyframes cargo-row-flash{0%{filter:brightness(2)}to{filter:brightness(1)}}.room-event-layer .minigame-pack-cell--hover-ok:after,.room-event-layer .minigame-pack-cell--hover-bad:after{content:"";position:absolute;inset:0;border-radius:5px;pointer-events:none}.room-event-layer .minigame-pack-cell--hover-ok:after{background:#46ff8a59;box-shadow:inset 0 0 0 2px #46ff8ab3}.room-event-layer .minigame-pack-cell--hover-bad:after{background:#ff5a5a59;box-shadow:inset 0 0 0 2px #ff5a5ab3}.room-event-layer .minigame-pack-cell--ghost{opacity:.88}.room-event-layer .cargo-offer-row{flex-wrap:wrap;gap:8px;justify-content:center}.room-event-layer .cargo-tray-piece--selected{box-shadow:0 0 12px #7cffc773}.cell-event-pending{outline:1px solid rgba(255,210,63,.22);outline-offset:-1px;z-index:2;cursor:pointer}.cell-event-boon{outline-color:#6ee7b747}.module-badge:not(.cell-event-overlay){position:absolute;bottom:4px;left:50%;transform:translate(-50%);z-index:4;width:22px;height:22px;border-radius:5px;background:linear-gradient(145deg,color-mix(in srgb,var(--badge-accent) 85%,#fff 15%),var(--badge-accent));border:1px solid color-mix(in srgb,var(--badge-accent) 50%,#fff 35%);box-shadow:0 0 6px color-mix(in srgb,var(--badge-accent) 35%,transparent);display:flex;align-items:center;justify-content:center;pointer-events:none;color:#020810}.module-badge:not(.cell-event-overlay) .module-badge__svg{width:14px;height:14px;display:block}.cell .cell-event-overlay{position:absolute;inset:0;z-index:3;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:4% 3%;pointer-events:none;background:#00000029;border:none;text-align:center;overflow:hidden;container-type:size}.cell .cell-event-overlay--crisis{background:#0000002e}.cell .cell-event-overlay--boon{background:#00000029}.cell .cell-event-overlay__copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(1px,1.5cqh);width:94%;max-width:94%;max-height:90%;min-width:0;min-height:0;overflow:hidden}.cell .cell-event-overlay__urgency,.cell .cell-event-overlay__cta{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:.1em .24em;font-family:Orbitron,Rajdhani,system-ui,sans-serif;font-weight:700;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.82);width:100%;min-width:0;overflow-wrap:normal;word-break:normal}.cell .cell-event-overlay__word{flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.cell .cell-event-overlay__urgency{flex:0 0 auto;font-size:clamp(4px,min(9cqi,20cqmin),1.25rem);color:var(--badge-accent, #ffd23f)}.cell .cell-event-overlay--boon .cell-event-overlay__urgency{color:#6ee7b7f2}.cell .cell-event-overlay__cta{flex:0 1 auto;min-height:0;font-size:clamp(4px,min(8cqi,17cqmin),1.05rem);color:#e8f4fff5}.grid-wrap--zoom-overview .cell .cell-event-overlay__urgency,.grid-wrap--zoom-overview .cell .cell-event-overlay__cta{font-size:clamp(3px,min(10cqi,22cqmin),.62rem);letter-spacing:.02em;gap:.06em .16em}.moment-toast--event{border-color:#8dd8ff38;color:#dcebf8e6;font-size:.78rem;line-height:1.35;font-weight:500;box-shadow:0 6px 20px #0006}.grid-wrap[data-event-focus] .cell-event-pending{z-index:2}@media (prefers-reduced-motion: reduce){.cell-event-pending{animation:none}}.room-under-construction{outline:1px solid rgba(79,209,197,.45);outline-offset:-2px}.room-diorama--blueprint{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.room-diorama--blueprint .room-blueprint-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:.52;filter:grayscale(1) sepia(.35) hue-rotate(155deg) saturate(2.2) brightness(1.15) contrast(1.05)}.room-blueprint-grid{position:absolute;inset:0;z-index:1;opacity:.1;background-image:linear-gradient(rgba(79,209,197,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(79,209,197,.1) 1px,transparent 1px);background-size:12px 12px;mix-blend-mode:screen}.construction-hazard-tape{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(135deg,#141008 0 5px,#f2c424 5px 11px,#141008 11px 17px),repeating-linear-gradient(45deg,#141008 0 5px,#f2c424 5px 11px,#141008 11px 17px);opacity:.78;mix-blend-mode:multiply}.construction-site{position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:repeat(var(--footprint-w, 1),1fr);grid-template-rows:repeat(var(--footprint-h, 1),1fr);gap:0;padding:0;box-sizing:border-box;pointer-events:none}.construction-cell{display:flex;align-items:stretch;justify-content:stretch;min-width:0;min-height:0}.build-box-grid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:0;padding:0;background:transparent;border:none;border-radius:0}.build-box--filled{border-radius:0;border:1px solid rgba(79,209,197,.75);background:linear-gradient(145deg,#38b2acd9,#2c7a7be6);box-shadow:inset 0 0 0 1px #ffffff1f;animation:build-box-pop .22s ease-out}@keyframes build-box-pop{0%{transform:scale(.65);opacity:.4}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.excavation-site{position:absolute;inset:0;z-index:2;pointer-events:none}.dig-chunk-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:0;padding:0}.dig-chunk{background:var(--tile-art) center / cover no-repeat,linear-gradient(180deg,#494e56bf,#2a2e36d9);background-size:400% 400%,auto;border:1px solid rgba(0,0,0,.35);box-sizing:border-box;transition:opacity .16s ease,transform .16s ease}.dig-chunk[data-i="0"]{background-position:0% 0%,center}.dig-chunk[data-i="1"]{background-position:33.333% 0%,center}.dig-chunk[data-i="2"]{background-position:66.666% 0%,center}.dig-chunk[data-i="3"]{background-position:100% 0%,center}.dig-chunk[data-i="4"]{background-position:0% 33.333%,center}.dig-chunk[data-i="5"]{background-position:33.333% 33.333%,center}.dig-chunk[data-i="6"]{background-position:66.666% 33.333%,center}.dig-chunk[data-i="7"]{background-position:100% 33.333%,center}.dig-chunk[data-i="8"]{background-position:0% 66.666%,center}.dig-chunk[data-i="9"]{background-position:33.333% 66.666%,center}.dig-chunk[data-i="10"]{background-position:66.666% 66.666%,center}.dig-chunk[data-i="11"]{background-position:100% 66.666%,center}.dig-chunk[data-i="12"]{background-position:0% 100%,center}.dig-chunk[data-i="13"]{background-position:33.333% 100%,center}.dig-chunk[data-i="14"]{background-position:66.666% 100%,center}.dig-chunk[data-i="15"]{background-position:100% 100%,center}.dig-chunk--removed{opacity:0;transform:scale(.82);pointer-events:none}.cell.cell-dig-chipping .tile-overlay.rock-overlay{opacity:0}.crew-carry-box{position:absolute;left:50%;top:-8%;transform:translate(-50%);width:calc(var(--crew-figure-w, 24px) * .42);height:calc(var(--crew-figure-w, 24px) * .42);border-radius:2px;background:linear-gradient(145deg,#4fd1c5f2,#2c7a7bf2);border:1px solid rgba(255,255,255,.35);box-shadow:0 1px 3px #00000073;z-index:3;pointer-events:none}.crew-carry-box:after{content:"";position:absolute;inset:18% 22%;border-top:2px solid rgba(255,255,255,.45);border-radius:1px}.alert-overlay{position:absolute;left:0;top:max(calc(var(--chrome-top-h) + .5rem),calc(env(safe-area-inset-top,0px) + 3.5rem));z-index:18;pointer-events:none;width:0;height:0}.alert-stack-rail{pointer-events:auto;position:absolute;left:calc(6px + var(--safe-left));top:0;display:flex;flex-direction:column;gap:var(--touch-gap, .5rem);padding:2px 0;max-height:min(360px,46vh);width:calc(var(--touch-min, 3rem) + .85rem);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.alert-stack-chip{position:relative;flex-shrink:0;width:var(--touch-min, 3rem);height:var(--touch-min, 3rem);min-width:var(--touch-min, 3rem);min-height:var(--touch-min, 3rem);border-radius:50%;border:1px solid rgba(141,216,255,.28);background:#08101ce6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 10px #00000061;transition:border-color .12s ease,transform .08s ease,box-shadow .12s ease}.alert-stack-chip:active{transform:scale(.94)}.alert-stack-chip--active{border-color:#00e5ff80;box-shadow:0 2px 10px #0006}.alert-stack-chip--critical{border-color:#ff648273}.alert-stack-chip--timed{border-color:#ffd23f6b}.alert-stack-chip__timer{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.alert-stack-chip__timer-track{fill:none;stroke:#8dd8ff1f;stroke-width:2.5}.alert-stack-chip__timer-progress{fill:none;stroke:#ffd23feb;stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset 2.8s linear}.alert-stack-chip__timer-label{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:800;letter-spacing:.02em;color:#ffe8a0f2;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.85)}.alert-stack-chip__emoji{font-size:1.25rem;line-height:1}.alert-stack-chip__count{position:absolute;top:-4px;right:-4px;min-width:1.15rem;min-height:1.15rem;padding:2px 5px;border-radius:999px;background:#ffd23f;color:#020810;font-size:.625rem;font-weight:800;line-height:1.2;border:1px solid rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}.alert-stack-popover{pointer-events:auto;position:absolute;left:calc(var(--touch-min, 3rem) + 14px);top:0;width:min(300px,calc(100vw - var(--touch-min, 3rem) - 2.5rem));max-height:min(380px,50vh);margin:0;padding:8px 8px 10px;display:flex;flex-direction:column;gap:6px;overflow:hidden;border-radius:14px;background:#080612f5;border:1px solid rgba(129,140,248,.22);box-shadow:0 12px 36px #00000094,inset 5px 0 #c4b5fdd9;touch-action:manipulation}.alert-stack-popover[hidden]{display:none!important}.alert-popover__head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-shrink:0}.alert-popover__title{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#ddd6fef2;line-height:1.15}.alert-popover__clear{border:1px solid rgba(100,116,139,.45);background:#0f172ad9;color:#cbd5e1e6;font-size:.64rem;font-weight:600;line-height:1.2;cursor:pointer;min-height:1.55rem;padding:.15rem .45rem;border-radius:7px;touch-action:manipulation}.alert-popover__stack-label{margin:0;padding-left:.15rem;font-size:.64rem;font-weight:700;letter-spacing:.04em;line-height:1.2;color:#a78bfad9}.alert-popover__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.alert-report.assistant-card{padding:0}.alert-report--critical:before{background:linear-gradient(180deg,#fda4af,#f43f5e)}.alert-report--urgent:before{background:linear-gradient(180deg,#fde68a,#f59e0b)}.alert-report .assistant-card__head{position:relative;padding-right:1.5rem;margin-bottom:.15rem;align-items:flex-start}.alert-report__title-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0;margin-top:.06rem}.alert-report__title-row .assistant-card__subject{flex:1;min-width:0;margin:0}.alert-report__dismiss{position:absolute;top:-.05rem;right:-.05rem;border:none;background:transparent;color:#94a3b8cc;font-size:1rem;line-height:1;cursor:pointer;min-width:1.4rem;min-height:1.4rem;padding:0;border-radius:6px;touch-action:manipulation}.alert-report__foot{justify-content:flex-start;align-items:center;margin-top:.18rem}.alert-report__go{flex-shrink:0;border-radius:8px;border:1px solid rgba(100,150,180,.35);background:#0a1628d9;color:#c8e6ffe6;font-size:.74rem;font-weight:700;line-height:1.2;cursor:pointer;min-height:1.85rem;padding:.2rem .62rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.alert-report__go:active,.alert-report__dismiss:active{transform:scale(.96)}.alert-drawer{position:absolute;left:0;top:max(calc(var(--chrome-top-h) + .5rem),calc(env(safe-area-inset-top,0px) + 3.5rem));z-index:18;pointer-events:none;width:0;height:0}.viral-room{--room-accent: #6ee7b7;--room-glow: #34d399;position:relative;min-height:calc(100dvh - 1.5rem);display:flex;flex-direction:column;gap:.5rem;overflow:hidden;border-radius:16px;border:1px solid #1e3a2f;background:#050a08}.viral-hero{position:absolute;inset:0 0 38%;background-size:cover;background-position:center 20%;filter:saturate(1.15) contrast(1.05);z-index:0}.viral-hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#050a0826,#050a088c 45%,#050a08f2)}.viral-hero-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(110,231,183,.03) 3px,rgba(110,231,183,.03) 4px);animation:scan-drift 8s linear infinite;pointer-events:none}@keyframes scan-drift{0%{transform:translateY(0)}to{transform:translateY(12px)}}.viral-hud,.viral-meters,.viral-plant-stage,.viral-power-hint,.viral-tap-zone,.viral-footer{position:relative;z-index:1}.viral-hud{padding:.65rem .75rem 0}.viral-codename{display:inline-block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--room-accent);border:1px solid color-mix(in srgb,var(--room-accent) 50%,transparent);padding:.15rem .45rem;border-radius:999px}.viral-hud h1{margin:.35rem 0 .2rem;font-size:1.55rem;line-height:1.1;text-shadow:0 2px 24px var(--room-glow)}.viral-purpose{margin:0;font-size:.78rem;color:#a7f3d0;opacity:.9;line-height:1.35}.viral-meters{display:grid;gap:.3rem;padding:0 .75rem}.viral-intro-copy{margin:0;font-size:.9rem;color:#d1fae5;text-align:center;padding:.35rem;background:#00000059;border-radius:8px}.v-meter{display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.4rem;font-size:.72rem}.v-bar{height:5px;background:#123225;border-radius:3px;overflow:hidden}.v-bar i{display:block;height:100%;background:var(--room-accent);transition:width .12s linear}.v-bar.mood i{background:#f472b6}.v-bar.uv i{background:#fbbf24;box-shadow:0 0 8px #fbbf24}.v-bar.stress i{background:#f87171}.v-score-pill{text-align:center;font-size:.75rem;color:#86efac;margin-top:.15rem}.viral-plant-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:7rem;--plant-scale: 1;--lux-glow: 0%}.plant-aura{position:absolute;width:9rem;height:9rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--room-glow) calc(var(--lux-glow) + 20%),transparent),transparent 70%);filter:blur(8px);animation:aura-pulse 2s ease-in-out infinite}@keyframes aura-pulse{0%,to{transform:scale(.95);opacity:.75}50%{transform:scale(1.08);opacity:1}}.plant-sprite{font-size:calc(3.5rem * var(--plant-scale));filter:drop-shadow(0 0 18px var(--room-glow));transition:transform .15s ease;z-index:1}.plant-whisper{margin:.35rem 0 0;font-size:.8rem;color:#fde68a;min-height:1.1rem;text-align:center;font-style:italic}.viral-power-hint{margin:0;padding:0 .75rem;text-align:center;font-size:.82rem;color:#ecfdf5;min-height:2.4rem}.viral-room[data-power=blackout] .viral-power-hint{color:#fef08a;animation:hint-shake .35s ease infinite}.viral-room[data-power=flicker] .viral-power-hint{color:#fdba74}@keyframes hint-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.viral-tap-zone{margin:0 .75rem;min-height:4.5rem;border-radius:14px;border:2px solid color-mix(in srgb,var(--room-accent) 65%,#fff);background:linear-gradient(160deg,color-mix(in srgb,var(--room-accent) 25%,#0a1510),#050a08);color:#ecfdf5;cursor:pointer;position:relative;overflow:hidden;touch-action:manipulation}.viral-room[data-power=blackout] .viral-tap-zone{border-color:#fde047;box-shadow:0 0 28px #fde04759;animation:blackout-glow .6s ease infinite alternate}@keyframes blackout-glow{0%{box-shadow:0 0 12px #fde04733}to{box-shadow:0 0 32px #fde04780}}.tap-ring{position:absolute;inset:12%;border-radius:50%;border:2px dashed color-mix(in srgb,var(--room-accent) 40%,transparent);animation:ring-spin 12s linear infinite}@keyframes ring-spin{to{transform:rotate(360deg)}}.tap-label{position:relative;font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.viral-room.tap-pulse .plant-sprite{transform:scale(1.12)}.viral-footer{padding:.35rem .75rem .75rem}.viral-back{width:100%;padding:.5rem;border:1px solid #1e3a2f;border-radius:8px;background:transparent;color:#86efac;cursor:pointer;font-size:.8rem}.viral-finale{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020806e0;backdrop-filter:blur(6px)}.viral-finale.hidden{display:none}.finale-card{text-align:center;padding:1.25rem;border-radius:16px;border:1px solid var(--room-accent);background:linear-gradient(180deg,#0f1f18,#050a08);max-width:300px;width:100%;box-shadow:0 0 40px color-mix(in srgb,var(--room-glow) 35%,transparent)}.finale-emoji{font-size:2.5rem;margin:0}.finale-card h2{margin:.35rem 0;color:var(--room-accent);font-size:1.15rem}.finale-score{font-size:1.75rem;margin:.25rem 0;color:#fef9c3}.finale-quote{font-style:italic;color:#d1fae5;font-size:.9rem;margin:.5rem 0}.finale-tag{font-size:.72rem;color:#6ee7b7;opacity:.8}.finale-share,.finale-again{display:block;width:100%;margin-top:.45rem;padding:.55rem;border-radius:8px;border:1px solid #1e3a2f;cursor:pointer;font-size:.85rem}.finale-share{background:linear-gradient(135deg,#065f46,#047857);color:#ecfdf5;border-color:var(--room-accent)}.finale-again{background:transparent;color:#86efac}.viral-launcher{margin-bottom:.75rem;padding:.75rem;border-radius:12px;border:1px solid #2d6a4f;background:linear-gradient(135deg,#102c21f2,#050a08e6);cursor:pointer;text-align:left;width:100%;color:inherit;display:grid;grid-template-columns:72px 1fr;gap:.65rem;align-items:center;overflow:hidden;position:relative}.viral-launcher:after{content:"FEATURED ROOM";position:absolute;top:.45rem;right:.5rem;font-size:.55rem;letter-spacing:.12em;color:#6ee7b7;opacity:.85}.viral-launcher-thumb{width:72px;height:72px;border-radius:10px;background-size:cover;background-position:center;border:1px solid #34d399;box-shadow:0 0 16px #34d39959}.viral-launcher h2{margin:0;font-size:1rem;color:#a7f3d0}.viral-launcher p{margin:.2rem 0 0;font-size:.72rem;color:#86efac;opacity:.9}.viral-room.leak-lounge{border-color:#164e63;background:#060812}.leak-lounge .viral-hero-vignette{background:linear-gradient(180deg,#0608121a,#06081280 40%,#060812f5)}.leak-scan{background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(34,211,238,.04) 3px,rgba(232,121,249,.04) 4px)}.leak-rain{position:absolute;inset:0;background-image:radial-gradient(2px 8px at 20% 10%,rgba(34,211,238,.5),transparent),radial-gradient(2px 6px at 70% 30%,rgba(232,121,249,.4),transparent),radial-gradient(1px 5px at 45% 60%,rgba(34,211,238,.35),transparent);animation:leak-fall 2.2s linear infinite;pointer-events:none;opacity:.6}@keyframes leak-fall{0%{transform:translateY(-8px)}to{transform:translateY(18px)}}.leak-stage{position:relative;z-index:1;min-height:11rem;margin:0 .5rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--room-accent) 35%,transparent);background:linear-gradient(180deg,#080c1cbf,#04060eeb);overflow:hidden}.beat-pulse{position:absolute;left:50%;top:50%;width:3.5rem;height:3.5rem;margin:-1.75rem 0 0 -1.75rem;border-radius:50%;border:2px solid color-mix(in srgb,var(--room-accent) 40%,transparent);opacity:.35;transition:transform .15s ease,opacity .15s ease}.beat-pulse[data-beat=drip]{transform:scale(1.15);opacity:.7;border-color:var(--room-accent);box-shadow:0 0 20px color-mix(in srgb,var(--room-accent) 50%,transparent)}.beat-pulse[data-beat=gush]{transform:scale(1.35);opacity:1;border-color:var(--room-glow);box-shadow:0 0 28px color-mix(in srgb,var(--room-glow) 60%,transparent);animation:gush-pulse .35s ease infinite alternate}@keyframes gush-pulse{0%{transform:scale(1.2)}to{transform:scale(1.4)}}.lounge-whisper{position:absolute;bottom:.35rem;left:0;right:0;text-align:center;font-size:.72rem;color:var(--room-glow);margin:0;min-height:1.1rem;font-style:italic}.leak-spots{position:absolute;inset:0}.leak-spot{position:absolute;transform:translate(-50%,-50%);width:3.2rem;height:3.2rem;border:none;background:transparent;cursor:pointer;padding:0;z-index:2}.leak-drop{font-size:1.6rem;filter:drop-shadow(0 0 8px var(--room-accent));display:block;animation:drip-bob .6s ease-in-out infinite alternate}.leak-ring{position:absolute;inset:0;border-radius:50%;border:2px dashed color-mix(in srgb,var(--room-accent) 30%,transparent);opacity:0;transition:opacity .12s ease,border-color .12s ease}.leak-spot.ripe .leak-ring{opacity:1;border-color:var(--room-accent);border-style:solid;animation:ripe-ring .45s ease infinite alternate}.leak-spot.fading .leak-drop{filter:grayscale(.4) drop-shadow(0 0 4px #f87171)}.leak-spot.patched{pointer-events:none;animation:patch-pop .35s ease forwards}@keyframes drip-bob{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}@keyframes ripe-ring{0%{transform:scale(.9)}to{transform:scale(1.08)}}@keyframes patch-pop{to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}.v-bar.hull i{background:linear-gradient(90deg,#0e7490,#22d3ee)}.v-bar.pressure i{background:linear-gradient(90deg,#86198f,#e879f9)}.viral-tap-zone.hidden,.leak-intro-tap.hidden{display:none}.leak-lounge[data-beat=gush] .leak-stage{box-shadow:inset 0 0 30px color-mix(in srgb,var(--room-glow) 25%,transparent)}
