.cmp-panels,.squad-loadout,.region-map{--p-frame-top: rgba(255, 255, 255, .05);--p-frame-bot: rgba(0, 0, 0, .28);--p-hair: rgba(255, 255, 255, .08);--p-hair-lit: rgba(143, 227, 176, .55);--p-glow: 0 0 0 1px rgba(143, 227, 176, .35), 0 6px 18px -8px rgba(143, 227, 176, .4);--p-inset: inset 0 1px 0 rgba(255, 255, 255, .05), inset 0 -1px 0 rgba(0, 0, 0, .35);--tier1: #9a978c;--tier2: #6bb7d8;--tier3: #d8b24a;--slot-empty: rgba(0, 0, 0, .3)}.cmp-command__tabs{flex:none;display:flex;gap:4px;padding:4px;border-radius:8px;border:1px solid var(--p-hair);box-shadow:var(--p-inset);background-color:#00000057;background-image:url(/assets/ui/tab_strip.png);background-repeat:no-repeat;background-size:100% 300%;background-position:center top}.cmp-command__tabs .cmp-command__tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-dim);background:#14161c80;border:1px solid transparent;transition:color .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.cmp-command__tabs .cmp-command__tab:hover:not([aria-selected=true]){color:var(--ink);background:#3c424cd1;border-color:var(--p-hair)}.cmp-command__tabs .cmp-command__tab[aria-selected=true]{color:var(--accent);background:#8fe3b024;border-color:#8fe3b066;box-shadow:inset 0 0 0 1px #8fe3b02e,0 0 10px -4px #8fe3b080}.cmp-command__tab-icon{display:inline-flex;align-items:center}.cmp-command__tabs .cmp-command__tab[aria-selected=true] .cmp-command__tab-icon{filter:drop-shadow(0 0 4px rgba(143,227,176,.5))}.cmp-command__tab-label{line-height:1}.cmp-panels .cmp-panel{position:relative;background:linear-gradient(180deg,var(--p-frame-top) 0%,transparent 12%,transparent 88%,var(--p-frame-bot) 100%),var(--panel);border:1px solid var(--edge);border-radius:9px;padding:11px 13px 13px;box-shadow:var(--p-inset);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.cmp-panels .cmp-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),rgba(143,227,176,.15));opacity:.75}.cmp-panels .cmp-power:before{background:linear-gradient(180deg,var(--warn),rgba(201,162,60,.15))}.cmp-panels .cmp-infirmary:before,.cmp-panels .cmp-radio:before{background:linear-gradient(180deg,var(--danger),rgba(209,102,91,.15))}.cmp-panels .cmp-panel h3{display:flex;align-items:center;gap:7px;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid var(--p-hair);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.cmp-panels .cmp-panel h3 .cmp-level{margin-left:auto;font-size:11px;letter-spacing:.04em;color:var(--accent);background:#8fe3b01f;border:1px solid rgba(143,227,176,.28);border-radius:4px;padding:0 6px}.cmp-empty,.cmp-locked{margin:2px 0;font-size:12px;color:var(--ink-dim);font-style:italic}.cmp-panels .cmp-palette{gap:8px}.cmp-palette-item{position:relative;padding:9px 10px 10px 12px;border-radius:7px;background:#00000038;border:1px solid var(--p-hair);box-shadow:var(--p-inset);cursor:grab;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.cmp-palette-item[data-category]:after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--ink-dim);opacity:.5}.cmp-palette-item[data-category=production]:after{background:var(--warn);opacity:.8}.cmp-palette-item[data-category=defense]:after{background:var(--danger);opacity:.8}.cmp-palette-item[data-category=housing]:after{background:var(--accent);opacity:.8}.cmp-palette-item[data-category=utility]:after{background:var(--tier2);opacity:.8}.cmp-palette-item:hover{transform:translateY(-1px);border-color:var(--p-hair-lit);background:#8fe3b00f;box-shadow:var(--p-glow)}.cmp-palette-item:active{cursor:grabbing}.cmp-palette-item[data-armed=true]{border-color:var(--accent);box-shadow:var(--p-glow);background:#8fe3b017}.cmp-palette-item[data-built=true]{cursor:default;opacity:.72}.cmp-palette-item[data-built=true]:hover{transform:none;border-color:var(--p-hair);background:#00000038;box-shadow:var(--p-inset)}.cmp-palette-head{display:flex;align-items:center;gap:6px}.cmp-palette-grip{color:var(--ink-dim);font-size:13px;line-height:1;letter-spacing:-1px;opacity:.6}.cmp-palette-item[data-built=true] .cmp-palette-grip{visibility:hidden}.cmp-palette-name{font-weight:600;color:var(--ink);font-size:13px}.cmp-palette-fp{margin-left:auto;font-size:11px;color:var(--ink-dim);background:#0000004d;border:1px solid var(--p-hair);border-radius:4px;padding:0 5px}.cmp-palette-built{margin:6px 0 0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.cmp-build-active{display:flex;align-items:center;gap:8px;margin:0 0 9px;padding:7px 9px;border-radius:6px;font-size:12px;color:var(--accent);background:#8fe3b014;border:1px solid rgba(143,227,176,.3)}.cmp-build-active button{margin-left:auto;padding:3px 9px;font-size:12px}.cmp-build-group{margin-top:8px}.cmp-build-group:first-of-type{margin-top:2px}.cmp-build-grouphead{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);opacity:.85}.cmp-panels .cmp-cost{display:flex;flex-wrap:wrap;gap:4px 6px;margin:7px 0 0;flex-direction:row}.cmp-cost li{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:1px 7px 1px 5px;border-radius:4px;border:1px solid var(--p-hair);background:#00000047}.cmp-cost-ok{color:var(--ink)}.cmp-panels .cmp-cost-short{color:var(--danger);border-color:#d1665b66;background:#d1665b14}.cmp-cost-free{font-size:11px;color:var(--ink-dim)}.cmp-panels .cmp-locks{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0 0;flex-direction:row}.cmp-lock{font-size:11px;padding:1px 7px;border-radius:4px;color:var(--warn);background:#c9a23c1a;border:1px solid rgba(201,162,60,.32)}.cmp-palette-item button,.cmp-recipe button,.cmp-upgrade button{margin-top:9px;width:100%;font-size:12px;letter-spacing:.03em}.cmp-panels .cmp-storage-rows{gap:5px}.cmp-storage-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:4px 8px;padding:6px 8px;border-radius:6px;background:#00000038;border:1px solid var(--p-hair);cursor:grab;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.cmp-storage-row:hover{transform:translateY(-1px);border-color:var(--p-hair-lit);box-shadow:var(--p-glow)}.cmp-storage-row:active{cursor:grabbing}.cmp-storage-row[data-dragging=true]{opacity:.4}.cmp-storage-row[data-dropbefore=true]{box-shadow:inset 0 2px 0 var(--accent);border-color:var(--p-hair-lit)}.cmp-storage-row[data-full=true]{border-color:#c9a23c66}.cmp-storage-grip{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center}.cmp-storage-move{width:16px;height:12px;padding:0;border-radius:3px;font-size:8px;line-height:1;color:var(--ink-dim);background:#0000004d;border:1px solid var(--p-hair);cursor:pointer}.cmp-storage-move:hover:not(:disabled){color:var(--accent);border-color:var(--p-hair-lit)}.cmp-storage-move:disabled{opacity:.3}.cmp-storage-label{grid-column:2;grid-row:1;display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--ink)}.cmp-storage-fill{grid-column:3;grid-row:1;font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.cmp-storage-row[data-full=true] .cmp-storage-fill{color:var(--warn)}.cmp-bar{grid-column:2 / 4;grid-row:2;display:block;height:5px;border-radius:3px;background:#00000080;overflow:hidden;border:1px solid var(--p-hair)}.cmp-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#4f9e6b,var(--accent));transition:width .3s ease}.cmp-storage-row[data-full=true] .cmp-bar-fill{background:linear-gradient(90deg,#a07d23,var(--warn))}.cmp-storage-hint{margin:8px 0 0;font-size:10.5px;color:var(--ink-dim);letter-spacing:.03em;opacity:.75}.cmp-power-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.cmp-power-summary>span{font-size:11px;padding:3px 8px;border-radius:5px;background:#00000047;border:1px solid var(--p-hair);font-variant-numeric:tabular-nums}.cmp-power-draw[data-over=true]{color:var(--danger);border-color:#d1665b66}.cmp-power-status[data-status=ok]{color:var(--accent);border-color:#8fe3b059}.cmp-power-status[data-status=brownout],.cmp-power-status[data-status=unpowered]{color:var(--warn);border-color:#c9a23c66}.cmp-power-gens,.cmp-power-lines{font-size:11px;color:var(--ink-dim);gap:3px!important}.cmp-power-gens li,.cmp-power-lines li{display:flex;justify-content:space-between;padding:2px 6px;border-radius:4px;background:#00000029}.cmp-power-gens li{color:var(--accent)}.cmp-upkeep-rows li{display:flex;justify-content:space-between;padding:4px 8px;border-radius:5px;background:#0003;border:1px solid var(--p-hair);font-size:12px}.cmp-net{color:var(--accent);font-variant-numeric:tabular-nums}.cmp-net[data-negative=true]{color:var(--danger)}.cmp-morale{margin:8px 0 0;font-size:12px;padding:4px 8px;border-radius:5px;border:1px solid var(--p-hair)}.cmp-morale[data-band=ok]{color:var(--accent)}.cmp-morale[data-band=low],.cmp-morale[data-band=poor]{color:var(--warn);border-color:#c9a23c59}.cmp-banner{margin:8px 0 0;padding:7px 9px;border-radius:6px;font-size:11.5px;line-height:1.35}.cmp-banner-warn{color:#f0dca6;background:#c9a23c1a;border:1px solid rgba(201,162,60,.34)}.cmp-power .cmp-banner-warn[data-status=unpowered]{color:#f0c9c2;background:#d1665b1a;border-color:#d1665b5c}.cmp-tabs{display:flex;gap:4px;margin-bottom:9px;padding:3px;border-radius:7px;background:#0000004d;border:1px solid var(--p-hair)}.cmp-tabs [role=tab]{flex:1;background:transparent;border:1px solid transparent;padding:4px 8px;font-size:12px}.cmp-tabs [role=tab][aria-selected=true]{background:#8fe3b01f;border-color:#8fe3b04d;color:var(--accent)}.cmp-craft-queue{margin-bottom:9px!important;gap:4px!important}.cmp-craft-job{font-size:11px;padding:4px 8px;border-radius:5px;color:var(--accent);background:#8fe3b012;border:1px solid rgba(143,227,176,.25);border-left-width:2px}.cmp-recipes{gap:8px!important}.cmp-recipe{padding:9px 10px 10px;border-radius:7px;background:#00000038;border:1px solid var(--p-hair);box-shadow:var(--p-inset);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.cmp-recipe:hover{transform:translateY(-1px);border-color:var(--p-hair-lit);box-shadow:var(--p-glow)}.cmp-recipe-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cmp-recipe-name{font-weight:600;font-size:13px;color:var(--ink)}.cmp-recipe-time{font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.cmp-repair p{font-size:12px;line-height:1.4}.cmp-beds,.cmp-radio-beds{font-size:12px;color:var(--ink-dim);margin:0 0 8px}.cmp-recovering{gap:6px!important}.cmp-recover-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;background:#00000038;border:1px solid var(--p-hair);border-left:2px solid var(--ink-dim)}.cmp-recover-row[data-severity=moderate]{border-left-color:var(--warn)}.cmp-recover-row[data-severity=severe],.cmp-recover-row[data-severity=critical]{border-left-color:var(--danger)}.cmp-recover-row .portrait{grid-column:1;grid-row:1 / 3;width:30px;height:30px}.cmp-recover-name{grid-column:2;grid-row:1;font-size:12px;color:var(--ink);font-weight:600}.cmp-recover-sev{grid-row:2;grid-column:2;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.cmp-recover-row[data-severity=moderate] .cmp-recover-sev{color:var(--warn)}.cmp-recover-row[data-severity=severe] .cmp-recover-sev,.cmp-recover-row[data-severity=critical] .cmp-recover-sev{color:var(--danger)}.cmp-recover-time{grid-row:1 / 3;grid-column:3;font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.cmp-radio-recruit{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:#0003;border:1px solid var(--p-hair);margin-bottom:9px}.cmp-radio-recruit .portrait{filter:grayscale(.25) contrast(1.05)}.cmp-radio-recruit p{margin:0;font-size:11.5px;color:var(--ink-dim);line-height:1.35}.cmp-radio button{width:100%}.cmp-timer{font-size:12px;color:var(--accent);margin:4px 0}.cmp-effect,.cmp-effect-next{font-size:12px;color:var(--ink-dim);line-height:1.4;margin:0 0 6px}.cmp-upgrade{margin-top:8px;padding:9px 10px;border-radius:7px;background:#8fe3b00d;border:1px solid rgba(143,227,176,.18)}.cmp-upgrade h4{margin:0 0 4px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.cmp-buildtime{margin:6px 0 0;font-size:11px;color:var(--ink-dim)}.cmp-maxed{font-size:12px;color:var(--accent)}.spr-icon{display:inline-block;flex:none;background-repeat:no-repeat;image-rendering:pixelated;vertical-align:middle}.portrait{display:inline-block;flex:none;border-radius:7px;background-size:cover;background-position:center 18%;background-color:#14161b;border:1px solid var(--edge-strong);box-shadow:var(--p-inset),0 2px 6px -3px #0009}.squad-loadout{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:16px;padding:56px 20px 28px;color:var(--ink)}.squad-loadout>*{width:100%;max-width:1180px}.squad-loadout__toolbar{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--panel);border:1px solid var(--edge);box-shadow:var(--p-inset)}.squad-loadout__toolbar h2{margin:0;font-size:18px;letter-spacing:.03em}.squad-loadout__toolbar>span{margin-left:auto;font-size:12px;color:var(--ink-dim);padding:4px 10px;border-radius:6px;background:#0000004d;border:1px solid var(--p-hair)}.squad-loadout__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:start}@media(max-width:860px){.squad-loadout__body{grid-template-columns:1fr}}.squad-loadout fieldset{border:1px solid var(--edge);border-radius:12px;padding:14px;margin:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 30%),var(--panel);box-shadow:var(--p-inset)}.squad-loadout legend{padding:0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.squad-loadout__roster ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.squad-loadout__roster li{display:flex;flex-direction:column;gap:6px}.survivor-chip{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;text-align:left;padding:9px;border-radius:10px;background:#0000003d;border:1px solid var(--p-hair);box-shadow:var(--p-inset);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.survivor-chip:hover:not(:disabled){transform:translateY(-2px);border-color:var(--p-hair-lit);box-shadow:var(--p-glow);background:#8fe3b00f}.survivor-chip[aria-pressed=true]{border-color:var(--accent);background:#8fe3b01a;box-shadow:var(--p-glow)}.survivor-chip .portrait{width:48px;height:48px}.survivor-chip__info{display:flex;flex-direction:column;gap:2px;min-width:0}.survivor-chip__name{font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.survivor-chip__meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-dim);text-transform:capitalize}.survivor-chip__lvl{color:var(--accent);font-variant-numeric:tabular-nums}.survivor-chip__specs{font-size:10.5px;color:var(--ink-dim);text-transform:capitalize;opacity:.85}.survivor-chip__edit{align-self:stretch;font-size:11px;padding:4px 8px}.survivor-chip__edit[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.loadout-editor{display:flex;flex-direction:column;gap:14px}.loadout-editor__head{display:flex;align-items:center;gap:12px}.loadout-editor__head .portrait{width:56px;height:56px}.loadout-editor__ident{display:flex;flex-direction:column;gap:3px}.loadout-editor__ident h3{margin:0;font-size:16px;letter-spacing:.02em}.loadout-editor__tags{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-dim);text-transform:capitalize}.loadout-editor__spec{padding:1px 7px;border-radius:4px;background:#8fe3b017;border:1px solid rgba(143,227,176,.25);color:var(--accent);display:inline-flex;align-items:center;gap:4px}.loadout-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.loadout-slot-drop{position:relative;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border-radius:9px;background:var(--slot-empty);border:1px dashed var(--edge-strong);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.loadout-slot-drop[data-filled=true]{border-style:solid;border-color:var(--p-hair);background:#00000047}.loadout-slot-drop[data-dragover=valid]{border-color:var(--accent);border-style:solid;background:#8fe3b01a;box-shadow:var(--p-glow)}.loadout-slot-drop[data-dragover=invalid]{border-color:var(--danger);background:#d1665b17}.loadout-slot-drop__label{grid-column:1 / -1;grid-row:1;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:5px}.loadout-slot-drop__icon{grid-column:1;grid-row:2}.loadout-slot-drop__item{grid-column:2;grid-row:2;min-width:0}.loadout-slot-drop__name{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loadout-slot-drop__sub{font-size:10.5px;color:var(--ink-dim)}.loadout-slot-drop__empty{grid-column:2;grid-row:2;font-size:11.5px;font-style:italic;color:var(--ink-dim);opacity:.8}.loadout-slot-drop__clear{grid-column:3;grid-row:2;width:22px;height:22px;padding:0;border-radius:5px;font-size:13px;line-height:1;color:var(--ink-dim)}.loadout-slot-drop__clear:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.loadout-slot-drop__warn{color:var(--warn)}.loadout-consumables{grid-column:1 / -1;min-height:56px}.loadout-consumables__chips{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.loadout-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 7px 3px 9px;border-radius:20px;font-size:11.5px;color:var(--ink);background:#8fe3b01a;border:1px solid rgba(143,227,176,.3)}.loadout-chip button{width:16px;height:16px;padding:0;border-radius:50%;font-size:11px;line-height:1;border:0;background:#0000004d;color:var(--ink-dim)}.loadout-chip button:hover{color:var(--danger);background:#00000080}.loadout-carry{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;color:var(--ink-dim)}.loadout-carry__head{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.loadout-carry__bar{height:7px;border-radius:4px;background:#00000080;overflow:hidden;border:1px solid var(--p-hair)}.loadout-carry__fill{height:100%;background:linear-gradient(90deg,#4f9e6b,var(--accent));transition:width .2s ease}.loadout-carry--over .loadout-carry__fill{background:linear-gradient(90deg,#a63f36,var(--danger))}.loadout-carry--over{color:var(--danger)}.gear-locker{display:flex;flex-direction:column;gap:12px}.gear-group__title{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:2px 0 6px;display:flex;align-items:center;gap:8px}.gear-group__title:after{content:"";flex:1;height:1px;background:var(--p-hair)}.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.gear-card{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;text-align:left;padding:8px;border-radius:8px;background:#00000042;border:1px solid var(--p-hair);box-shadow:var(--p-inset);cursor:grab;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.gear-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--p-hair-lit);box-shadow:var(--p-glow);background:#8fe3b00f}.gear-card:active:not(:disabled){cursor:grabbing}.gear-card:disabled{opacity:.42;cursor:not-allowed}.gear-card[data-equipped=true]{border-color:var(--accent);background:#8fe3b017}.gear-card[data-dragging=true]{opacity:.4}.gear-card__icon{width:26px;height:26px;display:grid;place-items:center;border-radius:5px;background:#00000059;border:1px solid var(--p-hair);color:var(--ink-dim);font-size:12px}.gear-card__body{min-width:0}.gear-card__name{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-card__meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink-dim);margin-top:1px}.gear-tier{padding:0 5px;border-radius:3px;font-weight:700;border:1px solid currentColor}.gear-tier[data-tier="1"]{color:var(--tier1)}.gear-tier[data-tier="2"]{color:var(--tier2)}.gear-tier[data-tier="3"]{color:var(--tier3)}.gear-card__req{color:var(--danger)}.gear-card__warn{color:var(--warn)}.squad-loadout__hint{margin:0;padding:22px;text-align:center;font-size:13px;color:var(--ink-dim);font-style:italic;border:1px dashed var(--edge-strong);border-radius:12px;background:#00000026}.squad-loadout__error{margin:0;padding:8px 12px;border-radius:8px;font-size:13px;color:#f0c9c2;background:#d1665b1f;border:1px solid rgba(209,102,91,.4)}.squad-loadout__launch{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.squad-loadout__launch button{min-width:150px;padding:11px 18px;font-size:14px;font-weight:700;letter-spacing:.04em}.squad-loadout__launch button:first-child:not(:disabled){background:linear-gradient(180deg,#2f6f47,#244f36);border-color:#8fe3b080;color:#eafff2}.squad-loadout__launch button:first-child:not(:disabled):hover{background:linear-gradient(180deg,#3a8354,#2b5d40);box-shadow:var(--p-glow)}.region-map{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:56px 20px 28px;color:var(--ink)}.region-map>*{width:100%;max-width:1120px}.region-map__toolbar{display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:16px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--panel);border:1px solid var(--edge);box-shadow:var(--p-inset)}.region-map__squad-size{margin-left:auto;font-size:12px;color:var(--ink-dim);padding:4px 10px;border-radius:6px;background:#0000004d;border:1px solid var(--p-hair)}.region-map__nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.region-node-card{position:relative;display:block;width:100%;text-align:left;padding:14px 14px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 40%),var(--panel);border:1px solid var(--edge);box-shadow:var(--p-inset);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.region-node-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:12px 12px 0 0;background:var(--accent);opacity:.7}.region-node-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--p-hair-lit);box-shadow:var(--p-glow)}.region-node-card[data-locked=true]{opacity:.6;cursor:not-allowed}.region-node-card[data-locked=true]:before{background:var(--ink-dim)}.region-node-card h3{margin:0 0 10px;font-size:15px;letter-spacing:.02em;color:var(--ink)}.region-node-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}.region-node-card dl>div{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:7px;background:#0000003d;border:1px solid var(--p-hair)}.region-node-card dt{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim)}.region-node-card dd{margin:0;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.region-node-card__loot{margin:0 0 10px;font-size:11.5px;line-height:1.4;color:var(--ink-dim)}.region-node-card__badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:10.5px;padding:2px 8px;border-radius:20px;border:1px solid var(--p-hair);background:#00000047;color:var(--ink-dim)}.badge--tutorial{color:var(--tier2);border-color:#6bb7d866;background:#6bb7d81a}.badge--first-clear{color:var(--tier3);border-color:#d8b24a66;background:#d8b24a1a}.badge--cleared{color:var(--accent);border-color:#8fe3b066;background:#8fe3b01a}.badge--locked{color:var(--danger);border-color:#d1665b66;background:#d1665b1a}@media(prefers-reduced-motion:reduce){.cmp-palette-item,.cmp-recipe,.cmp-storage-row,.survivor-chip,.gear-card,.region-node-card{transition:none}.cmp-palette-item:hover,.cmp-recipe:hover,.cmp-storage-row:hover,.survivor-chip:hover:not(:disabled),.gear-card:hover:not(:disabled),.region-node-card:hover:not(:disabled){transform:none}}.rmap{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--ink);overflow:hidden}.rmap--loading{display:flex;align-items:center;justify-content:center;color:var(--ink-dim)}.rmap__board{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#14171a;background-image:url(/assets/ui/map_background.png);background-size:320px;background-repeat:repeat}.rmap__viewport{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.rmap__layer{position:relative;width:100%;max-height:100%;aspect-ratio:16 / 9;transform-origin:center center;transition:transform .18s ease}.rmap__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.rmap__edge{position:absolute;left:0;right:0;height:22px;background:url(/assets/ui/region_map_edge.png) repeat-x;background-size:auto 100%;pointer-events:none}.rmap__edge--top{top:0}.rmap__edge--bottom{bottom:0;transform:rotate(180deg)}.rmap__routes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.rmap__routes line{stroke:#1412108c;stroke-width:2px;stroke-dasharray:5 4;stroke-linecap:round;vector-effect:non-scaling-stroke}.rmap__fog{position:absolute;width:190px;height:190px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#141416b8 30%,#14141600 72%),url(/assets/ui/region_map_fog.png);background-size:cover;background-blend-mode:multiply;pointer-events:none}.rmap__home,.rmap__marker{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.rmap__marker{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:4px;cursor:pointer;border-radius:8px;transition:transform .12s ease,filter .12s ease}.rmap__marker:hover{transform:translate(-50%,-50%) translateY(-2px)}.rmap__marker[data-selected=true]{outline:2px solid var(--accent);outline-offset:1px}.rmap__marker[data-locked=true] .rmap__marker-sprite{filter:grayscale(.6) brightness(.85)}.rmap__marker-sprite,.rmap__home-sprite{display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}.rmap__marker-sprite--pulse{animation:rmap-pulse 1.8s ease-in-out infinite}.rmap__marker-meta{display:flex;align-items:center;gap:3px;min-height:12px}.rmap__marker-name{font-size:10.5px;line-height:1;padding:2px 6px;border-radius:20px;white-space:nowrap;color:var(--ink);background:#080a0cb8;border:1px solid rgba(0,0,0,.4)}.rmap__home .rmap__marker-name{color:var(--accent)}.rmap-pips,.rmap-skull{display:inline-block;vertical-align:middle}.rmap-skull--pulse{animation:rmap-pulse 1.4s ease-in-out infinite}@keyframes rmap-pulse{0%,to{opacity:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}50%{opacity:.72;filter:drop-shadow(0 0 6px rgba(156,90,60,.7))}}.rmap__plate{position:absolute;top:66px;left:50%;transform:translate(-50%);z-index:40;min-width:180px;padding:10px 22px;text-align:center;background:var(--panel);border-image:url(/assets/ui/map_plate_region.png) 20 fill / 20px / 0 stretch}.rmap__plate-label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 2px rgba(0,0,0,.6)}.rmap__toolbar{position:absolute;top:66px;left:16px;z-index:40;display:flex;align-items:center;gap:10px}.rmap__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;color:#0d130f;padding:9px 15px;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,#a6ecc2,#6fca97);border:1px solid rgba(143,227,176,.75);box-shadow:0 6px 18px -8px #8fe3b099,var(--p-inset);transition:filter .12s ease,transform .08s ease}.rmap__back:hover{filter:brightness(1.08)}.rmap__back:active{transform:translateY(1px)}.rmap__back-arrow{font-size:12px;line-height:1}.rmap__squad-size{font-size:12px;color:var(--ink-dim);padding:5px 10px;border-radius:6px;background:#0000006b;border:1px solid var(--edge)}.rmap__zoom{position:absolute;top:114px;left:16px;z-index:40;display:flex;flex-direction:column;gap:6px}.rmap__zoom button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;cursor:pointer;background-color:#00000059;border-radius:6px}.rmap__zoom button:disabled{opacity:.4;cursor:default}.rmap-card{position:absolute;top:66px;right:16px;bottom:16px;width:min(340px,42vw);overflow-y:auto;padding:16px;border-radius:12px;color:var(--ink);background:var(--panel-solid, var(--panel));border:1px solid var(--edge);border-image:url(/assets/ui/frame_node_card.png) 32 fill / 32px / 0 stretch;box-shadow:0 12px 32px #00000080}.rmap-card__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.rmap-card__name{margin:0;font-size:16px;letter-spacing:.02em;flex:1}.rmap-card__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--edge);background:#00000059;color:var(--ink);width:26px;height:26px;border-radius:6px;font-size:16px;line-height:1;cursor:pointer}.rmap-card__close:hover{border-color:var(--accent)}.rmap-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.rmap-card__body{display:flex;gap:12px;margin-bottom:10px}.rmap-card__sketch{width:132px;height:88px;object-fit:cover;border-radius:8px;border:1px solid var(--edge);background:#0000004d;flex:none}.rmap-card__facts{display:flex;flex-direction:column;gap:8px;margin:0;flex:1}.rmap-card__facts>div{display:flex;flex-direction:column;gap:3px}.rmap-card__facts dt{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim)}.rmap-card__facts dd{margin:0}.rmap-card__loot{margin:0 0 10px;font-size:11.5px;line-height:1.4;color:var(--ink-dim)}.rmap-card__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.rmap-card__locked{margin:0;padding:9px 12px;border-radius:8px;font-size:12.5px;color:var(--danger);background:#d1665b1a;border:1px solid rgba(209,102,91,.4)}.rmap-card__actions{display:flex;gap:10px}.rmap-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;font:inherit;font-size:13px;font-weight:700;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--ink);border:1px solid var(--edge);background:#0000004d}.rmap-btn--play{color:#0d130f;background:var(--accent);border-color:var(--accent)}.rmap-btn:hover:not(:disabled){filter:brightness(1.08)}.rmap-btn:disabled{opacity:.45;cursor:not-allowed}.rmap-card__auto-note{margin:8px 0 0;font-size:10.5px;color:var(--ink-dim)}.rmap-chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}.rmap-chip__glyph{display:inline-block;flex:none}@media(prefers-reduced-motion:reduce){.rmap__layer,.rmap__marker{transition:none}.rmap__marker-sprite--pulse,.rmap-skull--pulse{animation:none}}:root{--bg: #0e0f13;--panel: rgba(18, 20, 26, .82);--panel-solid: #14161b;--edge: rgba(255, 255, 255, .08);--edge-strong: rgba(255, 255, 255, .16);--ink: #d8d3c0;--ink-dim: #9a978c;--accent: #8fe3b0;--danger: #d1665b;--warn: #c9a23c;--cursor-pointer: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'28'%20height%3D'28'%20viewBox%3D'0%200%2024%2024'%3E%20%3Cpath%20d%3D'M3%202%20L3%2020%20L8%2015.5%20L11%2022%20L14%2020.5%20L11%2014%20L17%2014%20Z'%20fill%3D'%23d8d3c0'%20stroke%3D'%230b0c0f'%20stroke-width%3D'1.4'%20stroke-linejoin%3D'round'%2F%3E%20%3C%2Fsvg%3E") 3 2, auto;--cursor-target: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'32'%20height%3D'32'%20viewBox%3D'0%200%2032%2032'%3E%20%3Cg%20fill%3D'none'%20stroke%3D'%230b0c0f'%20stroke-width%3D'3.4'%20stroke-linecap%3D'round'%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'9'%2F%3E%20%3Cline%20x1%3D'16'%20y1%3D'3'%20x2%3D'16'%20y2%3D'8'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'24'%20x2%3D'16'%20y2%3D'29'%2F%3E%20%3Cline%20x1%3D'3'%20y1%3D'16'%20x2%3D'8'%20y2%3D'16'%2F%3E%3Cline%20x1%3D'24'%20y1%3D'16'%20x2%3D'29'%20y2%3D'16'%2F%3E%20%3C%2Fg%3E%20%3Cg%20fill%3D'none'%20stroke%3D'%238fe3b0'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'9'%2F%3E%20%3Cline%20x1%3D'16'%20y1%3D'3'%20x2%3D'16'%20y2%3D'8'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'24'%20x2%3D'16'%20y2%3D'29'%2F%3E%20%3Cline%20x1%3D'3'%20y1%3D'16'%20x2%3D'8'%20y2%3D'16'%2F%3E%3Cline%20x1%3D'24'%20y1%3D'16'%20x2%3D'29'%20y2%3D'16'%2F%3E%20%3C%2Fg%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'1.5'%20fill%3D'%238fe3b0'%2F%3E%20%3C%2Fsvg%3E") 16 16, pointer;--cursor-lock: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'32'%20height%3D'32'%20viewBox%3D'0%200%2032%2032'%3E%20%3Cg%20fill%3D'none'%20stroke%3D'%230b0c0f'%20stroke-width%3D'3.6'%20stroke-linecap%3D'round'%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'9'%2F%3E%20%3Cline%20x1%3D'16'%20y1%3D'2'%20x2%3D'16'%20y2%3D'9'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'23'%20x2%3D'16'%20y2%3D'30'%2F%3E%20%3Cline%20x1%3D'2'%20y1%3D'16'%20x2%3D'9'%20y2%3D'16'%2F%3E%3Cline%20x1%3D'23'%20y1%3D'16'%20x2%3D'30'%20y2%3D'16'%2F%3E%20%3C%2Fg%3E%20%3Cg%20fill%3D'none'%20stroke%3D'%23e2796d'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'9'%2F%3E%20%3Cline%20x1%3D'16'%20y1%3D'2'%20x2%3D'16'%20y2%3D'9'%2F%3E%3Cline%20x1%3D'16'%20y1%3D'23'%20x2%3D'16'%20y2%3D'30'%2F%3E%20%3Cline%20x1%3D'2'%20y1%3D'16'%20x2%3D'9'%20y2%3D'16'%2F%3E%3Cline%20x1%3D'23'%20y1%3D'16'%20x2%3D'30'%20y2%3D'16'%2F%3E%20%3C%2Fg%3E%20%3Ccircle%20cx%3D'16'%20cy%3D'16'%20r%3D'2.4'%20fill%3D'%23e2796d'%2F%3E%20%3C%2Fsvg%3E") 16 16, progress;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}canvas{display:block;image-rendering:pixelated}button{font:inherit;color:var(--ink);background:#282c34e6;border:1px solid var(--edge-strong);border-radius:6px;padding:6px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:#3c424cf2;border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}html,body{cursor:var(--cursor-pointer)}a,button,select,summary,label,[role=button],[role=tab],[tabindex]:not([tabindex="-1"]),canvas,.hud-resource,.hud-timer,.mission-card__head{cursor:var(--cursor-target)}a:active,button:not(:disabled):active,[role=button]:active,[role=tab]:active,canvas:active{cursor:var(--cursor-lock)}input,textarea,[contenteditable=true]{cursor:text}button:disabled,[aria-disabled=true],[disabled]{cursor:not-allowed}.shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.shell__route{position:absolute;top:0;right:0;bottom:0;left:0}.hud-bar{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:8px 16px;background:linear-gradient(180deg,#08090ceb,#08090c00);font-size:13px;pointer-events:none}.hud-bar section{display:flex;gap:12px;align-items:center}.hud-bar .hud-resource,.hud-bar .hud-timer{pointer-events:auto;padding:2px 8px;border-radius:5px;background:#00000059;border:1px solid var(--edge);white-space:nowrap}.cmp-view,.cmp-stage{position:absolute;top:0;right:0;bottom:0;left:0}.cmp-stage canvas{width:100%!important;height:100%!important}.cmp-toolbar{position:absolute;top:52px;left:16px;z-index:25;display:flex;gap:8px}.cmp-panels{position:absolute;top:52px;right:0;bottom:0;width:min(384px,94vw);z-index:20;overflow:hidden;padding:8px 10px 12px;display:flex;flex-direction:column}.cmp-command{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:0;box-shadow:0 18px 44px -22px #000000d9,inset 0 1px #ffffff0d}.cmp-command__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px 2px 6px}.cmp-panels h3{margin:0 0 6px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}.cmp-panels ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cmp-error{color:var(--danger);margin:0;font-size:13px}.nine-panel{border:16px solid transparent;border-image:url(/assets/ui/panel_9slice.png) 30 fill / 16px / 0 stretch;background-color:var(--panel)}.nine-panel--light{border-image-source:url(/assets/ui/panel_9slice_light.png)}.nine-panel--heavy{border-image-source:url(/assets/ui/panel_9slice_heavy.png)}.nine-btn{color:var(--ink);background-color:#282c34eb;border:12px solid transparent;border-image:url(/assets/ui/panel_9slice.png) 30 fill / 12px / 0 stretch;transition:filter .12s ease,box-shadow .12s ease}.nine-btn:hover:not(:disabled){filter:brightness(1.12)}.nine-btn:active:not(:disabled){filter:brightness(.92)}.nine-btn:disabled{filter:grayscale(.4) brightness(.68)}.nine-btn--accent{box-shadow:inset 0 0 0 1px #8fe3b080,0 0 10px -3px #8fe3b073}.item-icon{display:inline-block;vertical-align:middle;object-fit:contain;image-rendering:auto}.spr-icon{display:inline-block;vertical-align:middle;flex:none}.hud-resource{display:inline-flex;align-items:center;gap:5px}.hud-supplies{display:inline-flex;flex-direction:column;gap:3px;min-width:150px}.hud-supplies__bar{height:6px;border-radius:3px;background:#00000073;border:1px solid var(--edge);overflow:hidden}.hud-supplies__fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#6fca97);transition:width .3s ease}.hud-cl{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 10px;font-weight:700;letter-spacing:.06em;color:var(--ink);background:url(/assets/ui/plate_cl.png) center / 100% 100% no-repeat;text-shadow:0 1px 2px rgba(0,0,0,.85)}.compound-screen,.region-map-screen,.mission-screen,.squad-loadout-screen{position:absolute;top:0;right:0;bottom:0;left:0;padding:60px 16px 16px;overflow:auto}.compound-screen__toolbar{position:absolute;top:52px;left:16px;z-index:25}#game-root{position:absolute;top:0;right:0;bottom:0;left:0}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:#0b0c0f;isolation:isolate}.auth-screen:before{content:"";position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;z-index:-2;background:url(/assets/ui/login_backdrop.png) center 42% / cover no-repeat,#0b0c0f;image-rendering:pixelated;animation:authDrift 46s ease-in-out infinite alternate;transform-origin:60% 60%}.auth-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#06070ae6,#06070a8c 34%,#06070a00 62%),linear-gradient(0deg,#06070ad1,#06070a00 45%),radial-gradient(130% 120% at 50% 45%,transparent 55%,rgba(4,5,7,.72) 100%)}@keyframes authDrift{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.11) translate3d(-1.4%,-1.2%,0)}}.auth-panel{width:min(390px,92vw);display:flex;flex-direction:column;gap:16px;padding:26px 26px 24px;border-radius:14px;background:linear-gradient(180deg,#14161ce6,#0c0d11f0);border:1px solid var(--edge-strong);box-shadow:0 24px 70px -20px #000000d9,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:authPanelIn .52s cubic-bezier(.22,1,.36,1) both}@keyframes authPanelIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.auth-brand__logo{width:min(240px,70%);height:auto;image-rendering:pixelated;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.auth-brand__title{margin:4px 0 0;font-size:21px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-shadow:0 2px 10px rgba(0,0,0,.7)}.auth-brand__tag{margin:0;font-size:12px;letter-spacing:.05em;color:var(--ink-dim)}.auth-tabs{display:flex;gap:4px;padding:4px;border-radius:9px;background:#0006;border:1px solid var(--edge)}.auth-tabs [role=tab]{flex:1;background:transparent;border:1px solid transparent;border-radius:6px;padding:7px 8px;font-size:13px;color:var(--ink-dim);transition:background .15s ease,color .15s ease,border-color .15s ease}.auth-tabs [role=tab]:hover:not([aria-selected=true]){color:var(--ink);background:#ffffff0a}.auth-tabs [role=tab][aria-selected=true]{color:#0c1410;background:linear-gradient(180deg,#a6ecc2,#7fd6a4);border-color:#8fe3b099;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.auth-form input{font:inherit;letter-spacing:.02em;color:var(--ink);padding:9px 11px;background-color:#0c0d11;border:11px solid transparent;border-image:url(/assets/ui/input_field.png) 30 fill / 11px / 0 stretch;box-shadow:inset 0 2px 6px #00000080;transition:box-shadow .15s ease,filter .15s ease}.auth-form input:hover{filter:brightness(1.08)}.auth-form input:focus{outline:none;filter:brightness(1.12);box-shadow:inset 0 2px 6px #00000080,0 0 0 2px #8fe3b047}.auth-form .auth-hint{margin:-4px 0 0;font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--ink-dim)}.auth-form [role=alert]{margin:0;font-size:12px;color:var(--danger);padding:8px 10px;border-radius:6px;background:#d1665b1f;border:1px solid rgba(209,102,91,.4)}.auth-submit{margin-top:2px;padding:11px 14px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0c1410;background:linear-gradient(180deg,#a6ecc2,#6fca97);border:1px solid rgba(143,227,176,.7);border-radius:8px;box-shadow:0 6px 18px -8px #8fe3b099;transition:filter .15s ease,transform .08s ease}.auth-submit:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(180deg,#a6ecc2,#6fca97);border-color:#8fe3b0e6}.auth-submit:active:not(:disabled){transform:translateY(1px)}@media(min-width:900px){.auth-screen{align-items:flex-start;justify-content:center;padding-left:clamp(40px,8vw,140px)}}@media(prefers-reduced-motion:reduce){.auth-screen:before{animation:none;transform:scale(1.04)}.auth-panel{animation:none}}.mission-screen--live{padding:0;overflow:hidden}.mission-live,.mission-live__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.mission-live__canvas canvas{width:100%!important;height:100%!important}.mission-boot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:10px;text-align:center;color:var(--ink-dim)}.mission-threat{position:absolute;top:48px;left:50%;transform:translate(-50%);z-index:22;width:min(420px,60vw);pointer-events:none;font-size:12px;color:var(--ink-dim)}.mission-threat__bar{height:8px;border:1px solid var(--edge-strong);border-radius:5px;background:#0000008c;overflow:hidden}.mission-threat__fill{height:100%;transition:width .22s linear;background:#74c465}.mission-threat__fill--band1{background:#c9b458}.mission-threat__fill--band2{background:#cf7f3e}.mission-threat__fill--band3{background:#c2543e}.mission-threat__row{display:flex;justify-content:space-between;margin-top:3px}.mission-threat--flash .mission-threat__bar{box-shadow:0 0 14px 2px #c2543ed9}.mission-threat--flash span{color:var(--danger)}.mission-squad{position:absolute;top:96px;left:12px;z-index:22;display:flex;flex-direction:column;gap:8px;width:230px}.mission-card{background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:8px 10px;font-size:12px}.mission-card--selected{border-color:#8fe3b0;box-shadow:0 0 0 1px #8fe3b066}.mission-card--downed{border-color:var(--danger)}.mission-card--extracted{opacity:.55}.mission-card__head{display:flex;justify-content:space-between;width:100%;gap:8px;background:none;border:0;padding:0;color:var(--ink);font:inherit;cursor:pointer}.mission-card__head span{color:var(--ink-dim)}.mission-card__hp{height:5px;margin:6px 0 4px;border-radius:3px;background:#14160f;overflow:hidden}.mission-card__hp-fill{height:100%;background:#74c465;transition:width .2s linear}.mission-card--downed .mission-card__hp-fill{background:var(--danger)}.mission-card__row{display:flex;justify-content:space-between;color:var(--ink-dim)}.mission-card__status{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-card__abilities{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.mission-ability{font-size:11px;padding:2px 6px}.mission-ability--armed{outline:1px solid #e3c96a}.mission-card__revive{margin-top:6px;width:100%;color:#0d0e12;background:var(--danger);border:0;border-radius:5px;padding:4px;font-weight:600;cursor:pointer}.mission-commands{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:22;display:flex;flex-direction:column;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:8px 12px}.mission-commands__stances,.mission-commands__verbs{display:flex;gap:6px}.mission-commands button{font-size:12px}.mission-commands button.is-active{outline:1px solid #8fe3b0}.mission-commands__extract{background:#2f5e3f}.mission-commands__hint{margin:0;font-size:11px;color:var(--ink-dim)}.mission-loot{position:absolute;top:96px;right:12px;z-index:22;width:220px;background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:10px 12px;font-size:12px}.mission-loot h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim)}.mission-loot ul{list-style:none;margin:0 0 8px;padding:0}.mission-loot__weight,.mission-loot__carry{color:var(--ink-dim)}.mission-loot__carry{margin:6px 0 0;font-size:11px}.mission-summary{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-content:center;background:#050608b8}.mission-summary__panel{width:min(460px,92vw);background:var(--panel-solid);border:1px solid var(--edge-strong);border-radius:12px;padding:20px 22px}.mission-summary__panel h2{margin:0 0 4px}.mission-summary__meta{color:var(--ink-dim);font-size:12px}.mission-summary__table{width:100%;border-collapse:collapse;font-size:12px;margin:10px 0}.mission-summary__table th,.mission-summary__table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--edge)}.mission-summary__unvalidated{font-size:11px;color:#c9b458}.mission-summary__status--extracted{color:var(--accent)}.mission-summary__status--lost,.mission-summary__deep{color:var(--danger)}.mission-summary__rec--ok{color:var(--ink-dim)}.mission-summary__rec--light{color:#9fc46a}.mission-summary__rec--moderate{color:var(--warn)}.mission-summary__rec--severe,.mission-summary__rec--lost{color:var(--danger)}.mission-summary__loot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 12px}.mission-summary__lootcol{border:1px solid var(--edge);border-radius:8px;padding:8px 10px;background:#00000038}.mission-summary__lootcol--kept{border-color:#8fe3b059}.mission-summary__lootcol--lost{border-color:#d1665b59}.mission-summary__lootcol h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.mission-summary__lootcol--kept h3{color:var(--accent)}.mission-summary__lootcol--lost h3{color:var(--danger)}.mission-summary__lootwt{font-weight:400;color:var(--ink-dim);letter-spacing:0}.mission-summary__lootcol ul{list-style:none;margin:0;padding:0;max-height:148px;overflow-y:auto;font-size:12px}.mission-summary__lootcol li{display:flex;justify-content:space-between;gap:8px;padding:1px 0}.mission-summary__lootqty{color:var(--ink-dim)}.mission-summary__lootempty{margin:0;font-size:11px;color:var(--ink-dim)}.mission-extract{position:absolute;bottom:92px;left:50%;transform:translate(-50%);z-index:23;min-width:260px;max-width:min(420px,80vw);padding:7px 12px;border-radius:8px;text-align:center;font-size:12px;pointer-events:none}.mission-extract--go{background:#142e1eeb;border:1px solid rgba(143,227,176,.5)}.mission-extract--wait{background:#3a1a16eb;border:1px solid rgba(209,102,91,.55);color:#f0c9c2;animation:extractpulse 1.4s ease-in-out infinite}.mission-extract__bar{height:6px;margin-bottom:5px;border-radius:4px;background:#00000080;overflow:hidden}.mission-extract__fill{height:100%;background:var(--accent);transition:width .12s linear}.mission-extract__label{letter-spacing:.02em}@keyframes extractpulse{0%,to{box-shadow:0 0 #d1665b00}50%{box-shadow:0 0 12px 1px #d1665b8c}}.mission-lootfeed{position:absolute;right:12px;bottom:12px;z-index:22;width:210px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.mission-lootfeed__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mission-lootfeed__line{display:flex;justify-content:space-between;gap:8px;padding:4px 9px;border-radius:6px;font-size:12px;background:var(--panel);border:1px solid var(--edge);border-left:2px solid var(--accent);animation:lootpop 5s ease forwards}.mission-lootfeed__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-lootfeed__qty{color:var(--accent);font-weight:600}.mission-lootfeed__tally{display:flex;justify-content:space-between;gap:8px;padding:5px 10px;border-radius:6px;font-size:11px;background:var(--panel);border:1px solid var(--edge-strong);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em}@keyframes lootpop{0%{opacity:0;transform:translateY(6px)}8%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.mission-lootfeed__line{animation-timing-function:steps(1,end)}.mission-extract--wait{animation:none}}.shell-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.screen-stage{position:absolute;top:0;right:0;bottom:0;left:0;animation:screenIn .34s cubic-bezier(.22,1,.36,1) backwards}@keyframes screenIn{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.route-curtain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,#06070a9e,#040507e6);animation:curtainSweep .44s ease forwards}@keyframes curtainSweep{0%{opacity:0}38%{opacity:1}to{opacity:0}}.loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(120% 90% at 50% 40%,#14161c,#08090c 78%);animation:fadeIn .2s ease both}.loader--overlay{background:#06070ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.loader__ring{width:46px;height:46px;border-radius:50%;border:3px solid rgba(143,227,176,.18);border-top-color:var(--accent);border-right-color:var(--accent);animation:spin .82s linear infinite;box-shadow:0 0 22px -4px #8fe3b073}.loader__label{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);animation:pulseDim 1.6s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseDim{0%,to{opacity:.55}50%{opacity:1}}.boot-splash{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(120% 90% at 50% 40%,#14161c,#08090c 78%);color:var(--ink-dim)}.hud-commander{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border-radius:999px;background:#0000006b;border:1px solid var(--edge)}.hud-commander__avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;image-rendering:pixelated;border:1px solid var(--edge-strong);box-shadow:inset 0 0 0 1px #0009;background:#0c0d11}.hud-commander__meta{display:flex;flex-direction:column;line-height:1.15}.hud-commander__role{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.hud-commander__name{font-size:12px;color:var(--ink);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.screen-stage,.route-curtain,.loader,.loader__label{animation-duration:.01ms;animation-iteration-count:1}.loader__ring{animation-duration:1.2s}}
