:root{--navy:#0b1220;--ink:#070c16;--gun:#2a323d;--inset:#1b222c;--line:#3a4452;--text:#ece8df;--muted:#b9b6ae;--cyan:#5be7ff;--cyan-dim:#16788f;--red:#e0314b;--red-deep:#b3122b;--gold:#c9a24b;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:17px}html[data-text=s]{font-size:15px}html[data-text=m]{font-size:17px}html[data-text=l]{font-size:20px}html[data-text=xl]{font-size:23px}*{box-sizing:border-box}html,body{height:100%;background:var(--navy);height:100dvh;max-height:100dvh;color:var(--text);margin:0}body{text-rendering:optimizelegibility;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}#app{height:100dvh;max-height:100dvh;overflow:hidden}a{color:var(--cyan)}.screen{height:100%;min-height:0;padding:calc(10px + var(--safe-t)) calc(14px + var(--safe-r)) calc(12px + var(--safe-b)) calc(14px + var(--safe-l));background:radial-gradient(1200px 500px at 10% -10%, #5be7ff14, transparent 50%), linear-gradient(180deg, var(--navy), var(--ink));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;gap:8px;display:flex;overflow:hidden}.prose,.captions,.log,input,select{-webkit-user-select:text;user-select:text}h1,h2,p{margin:0}h1{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.55rem,6.4vw,2.5rem);font-weight:720;line-height:1.05}h2{letter-spacing:.04em;font-size:1.05rem}.sub{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.eyebrow{color:var(--cyan);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.68rem}.mono{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.title-screen,.menu-screen{text-align:center;padding-bottom:calc(32px + var(--safe-b));align-items:center;position:relative}.legal-foot{left:calc(14px + var(--safe-l));right:calc(14px + var(--safe-r));bottom:calc(8px + var(--safe-b));text-align:center;letter-spacing:.02em;color:#b9b6aec7;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;line-height:1.2;position:absolute;overflow:hidden}.title-screen h1,.menu-screen h1,.title-art,.hero-row,.gadget-row,.menu{width:min(100%,520px)}.title-screen{justify-content:center}.title-art{place-items:center;display:grid}.hero-row{text-align:left;align-items:center;gap:12px;display:flex}.hero-row h1{font-size:clamp(1.25rem,4.5vw,1.8rem)}.gadget-row{justify-content:center;align-items:center;gap:14px;display:flex}.reticle,.drone{width:54px;height:54px}.radar{filter:drop-shadow(0 0 8px #5be7ff59)}.sweep{transform-origin:60px 60px;animation:4.8s linear infinite sweep}@keyframes sweep{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sweep{animation:none}}.clock{white-space:nowrap;color:var(--cyan);letter-spacing:.08em;flex:none;align-items:center;gap:6px;font-family:ui-monospace,Menlo,monospace;display:flex}.clock svg{width:36px;height:36px}.menu{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:stretch;gap:6px;width:min(100%,520px);min-height:0;display:grid;overflow:hidden}.menu button,.card>button,.actions button,.text-btn,.dock button,.brief>button,.seg button,.primary,.icon-btn{background:var(--gun);border:1px solid var(--line);text-align:left;touch-action:manipulation;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 12px;display:flex}.menu button small{color:var(--muted);font-size:.75rem}.menu button[data-screen=season] small{color:var(--red)}.lock-mark{flex:none;width:14px;height:14px}.card.is-locked>header b{align-items:center;gap:4px;display:inline-flex}.primary{border-color:var(--cyan-dim);color:var(--cyan);background:#12343d;justify-content:center;font-weight:650}.icon-btn{background:0 0;border-color:#0000;justify-content:center;width:44px;min-width:44px;padding:4px}.text-btn{background:0 0;width:auto}.topbar{align-items:center;gap:8px;min-height:44px;display:flex}.topbar-title{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-title strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.loadout-screen .topbar-title strong{white-space:normal;text-overflow:clip;line-height:1.1;overflow:visible}.stack{flex-direction:column;gap:10px;min-height:0;padding-bottom:8px;display:flex;overflow:auto}.card{border:1px solid var(--line);background:#1b222ceb;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.card header{color:var(--cyan);justify-content:space-between;display:flex}.card.is-locked{outline:1px solid #e0314b73}.danger{color:var(--red)}.roster-scroll{flex:1}.roster-grid{grid-template-columns:1fr;gap:10px;display:grid}.agent.is-selected{outline:1px solid var(--cyan)}.agent.is-kia,.team-detail.is-kia{color:#9a968e;background:#12161e;border-color:#4a3036}.agent.is-kia .agent-copy,.team-detail.is-kia p,.team-detail.is-kia h2{opacity:.72}.agent.is-kia .sheet-token,.team-detail.is-kia .sheet-token{filter:grayscale()brightness(.62);opacity:.9}.portrait-kia{flex:none;line-height:0;display:inline-block;position:relative}.kia-x{z-index:1;pointer-events:none;position:absolute;inset:0}.kia-x:before,.kia-x:after{content:"";background:#e0314b;border-radius:2px;height:5px;margin-top:-2px;position:absolute;top:50%;left:8%;right:8%;box-shadow:0 0 0 1px #140306}.kia-x:before{transform:rotate(42deg)}.kia-x:after{transform:rotate(-42deg)}.kia-badge{z-index:2;color:#fff;letter-spacing:.12em;background:#e0314b;border-radius:2px;padding:0 5px;font-size:.62rem;font-weight:800;line-height:1.3;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.agent.is-kia .agent-pick:disabled{cursor:default;opacity:1}.agent-pick{background:0 0;border-color:#0000;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:0}.agent-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.agent-copy strong{font-size:1rem}.stat-line{color:var(--muted);font-size:.75rem;line-height:1.35}.kia-line{color:var(--red);font-size:.82rem;display:block}.hud-id{align-items:center;gap:8px;min-width:0;display:flex}.hud-agent{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.hud-class{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--cyan-dim);max-width:42%;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;flex:none;padding:3px 6px;font-size:.68rem;overflow:hidden}.attune{flex:none;gap:3px;display:flex}.attune i{background:var(--line);width:16px;height:4px;display:block}.attune i.on{background:var(--gold)}.hud-readout{-webkit-line-clamp:2;overflow-wrap:anywhere;min-height:2.5em;max-height:2.5em;color:var(--muted);-webkit-box-orient:vertical;margin:0;font-size:.82rem;display:-webkit-box;overflow:hidden}.loadout-tabs{min-width:0;overflow:auto}.loadout-tabs button{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.armory-hint{color:var(--cyan);letter-spacing:.04em;overflow-wrap:anywhere;margin:0;font-size:.72rem}.armory-panel{flex-direction:column;gap:8px;min-width:0;display:flex}.armory-head{background:repeating-linear-gradient(#0000,#0000 3px,#5be7ff0a 3px 4px),linear-gradient(#1b222cf5,#0b1220f5);border:1px solid #5be7ff8c;border-radius:2px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.armory-head strong{color:var(--cyan);letter-spacing:.18em;flex:none;font-size:.78rem}.armory-head span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;overflow:hidden}.hud-card{text-align:left;min-width:0;max-width:100%;height:108px;color:var(--text);background:repeating-linear-gradient(#0000,#0000 3px,#5be7ff0a 3px 4px),linear-gradient(#1b222cf5,#0b1220f5);border:1px solid #5be7ff8c;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;padding:10px 6px 8px 22px;display:flex;position:relative;overflow:hidden}.hud-card.on{box-shadow:inset 0 0 0 1px var(--cyan)}.hud-card.is-signature{border-color:#c9a24bd9}.hud-card.is-signature .hud-kicker{color:var(--gold)}.hud-card.is-locked{outline:1px solid var(--red);outline-offset:-2px}.hud-card.is-locked .hud-kicker{color:var(--red)}.hud-br{border:1px solid var(--cyan);pointer-events:none;width:7px;height:7px;position:absolute}.hud-card.is-signature .hud-br{border-color:var(--gold)}.hud-card.is-locked .hud-br{border-color:var(--red)}.hud-br.tl{border-bottom:0;border-right:0;top:3px;left:3px}.hud-br.tr{border-bottom:0;border-left:0;top:3px;right:3px}.hud-br.bl{border-top:0;border-right:0;bottom:3px;left:3px}.hud-br.br{border-top:0;border-left:0;bottom:3px;right:3px}.hud-svg{width:14px;height:14px;color:var(--cyan);position:absolute;top:26px;left:5px}.hud-card.is-signature .hud-svg{color:var(--gold)}.hud-card.is-locked .hud-svg{color:var(--red)}.key-toggle{border:1px solid var(--cyan-dim);min-width:44px;min-height:44px;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;background:#0b1220b8;border-radius:2px;flex:none;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;display:inline-flex}.key-toggle[aria-expanded=true]{border-color:var(--cyan)}.key-i{letter-spacing:0;font-family:ui-monospace,Menlo,monospace}.gear-key{border:1px solid var(--line);min-width:0;max-width:100%;color:var(--muted);background:#0b1220b8;border-radius:2px;flex-direction:column;gap:6px;padding:8px;font-size:.68rem;line-height:1.35;display:flex}.gear-swatches{flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.gear-swatches li{align-items:flex-start;gap:6px;min-width:0;display:flex}.gear-swatches span,.gear-tags{overflow-wrap:anywhere;min-width:0}.gear-tags{margin:0}.swatch{background:repeating-linear-gradient(#0000,#0000 3px,#5be7ff0a 3px 4px),linear-gradient(#1b222cf5,#0b1220f5);border:1px solid #5be7ff8c;border-radius:2px;flex:0 0 14px;width:14px;height:14px;margin-top:1px}.swatch.sig{border-color:#c9a24bd9}.swatch.lock{outline:1px solid var(--red);outline-offset:-2px}.gear-key.desk{display:none}.hud-svg path,.hud-svg circle{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.hud-kicker{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--cyan);letter-spacing:.14em;font-size:.62rem;overflow:hidden}.hud-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:12px;font-weight:650;line-height:1.2;overflow:hidden}.hud-chips{flex-wrap:wrap;gap:4px;width:100%;min-width:0;max-height:18px;display:flex;overflow:hidden}.hud-chips span{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);max-width:100%;color:var(--muted);letter-spacing:.04em;padding:0 4px;font-family:ui-monospace,Menlo,monospace;font-size:.62rem;line-height:16px;overflow:hidden}@media (max-height:700px){.hud-card{height:96px;padding-top:8px}}@media (min-width:800px){.loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loadout-screen .hud-id,.loadout-screen .loadout-tabs,.loadout-screen .hud-readout,.loadout-screen .actions{width:min(920px,100%);margin-left:auto;margin-right:auto}}.sheet-head{align-items:center;gap:10px;display:flex}.sheet-token{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:64px;height:64px}.tag{width:46px;height:50px;color:var(--text)}.stats{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stats li{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.seg{gap:6px;display:flex}.seg.wrap{flex-wrap:wrap}.seg button{flex:1;justify-content:center}.seg button.on{border-color:var(--cyan);color:var(--cyan)}.field,.check{flex-direction:column;gap:4px;display:flex}.check{flex-direction:row;align-items:center;min-height:44px}.row{gap:8px;display:flex}select,input[type=range]{background:var(--inset);border:1px solid var(--line);border-radius:8px;width:100%;min-height:44px;padding:8px}.quote{color:var(--muted);font-style:italic}.note{color:var(--muted);min-height:1.2em}.price{color:var(--cyan);font-size:1.3rem}.brief{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:auto}.debrief-screen{gap:8px}.debrief-head{flex-direction:column;flex:none;gap:2px;min-width:0;display:flex}.debrief-head h1{letter-spacing:.02em;text-transform:none;overflow-wrap:anywhere;font-size:clamp(1.25rem,5.6vw,1.8rem)}.debrief-head[data-tone=win] h1{color:var(--cyan)}.debrief-head[data-tone=early] h1{color:var(--gold)}.debrief-head[data-tone=fail] h1{color:var(--red)}.debrief-mission{overflow-wrap:anywhere;font-weight:650}.debrief-tone{color:var(--muted);overflow-wrap:anywhere;font-size:.92rem;line-height:1.35}.debrief-head[data-tone=win] .debrief-tone{color:var(--gold)}.debrief-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex;overflow:auto}.debrief-scroll h2{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem}.debrief-goals{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.debrief-goals li{overflow-wrap:anywhere;align-items:flex-start;gap:8px;min-width:0;line-height:1.3;display:flex}.debrief-goals li span{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.68rem}.debrief-goals li.done span{color:#3ddc97;border-color:#3ddc97}.debrief-goals li.missed span{color:var(--red);border-color:var(--red)}.obj-flag{border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;gap:3px;padding:0 5px;font-size:.62rem;font-weight:800;line-height:1.5;display:inline-flex}.obj-flag.is-required{color:#141000;background:#ffe600;border-color:#ffe600}.obj-flag.is-bonus{color:var(--muted);letter-spacing:.06em;background:0 0;font-weight:650}.debrief-goals li.done .obj-flag.is-required,.debrief-goals li.missed .obj-flag.is-required{color:#141000;background:#ffe600;border-color:#ffe600}.obj-tip{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.obj-tip .obj-flag.is-required{color:#141000}.debrief-squad{flex-direction:column;gap:8px;display:flex}.debrief-agent{background:#1b222cb8;border:1px solid #167e96;border-radius:12px;min-width:0;padding:8px}.debrief-agent header{align-items:center;gap:8px;min-width:0;display:flex}.debrief-agent header div{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.debrief-agent strong{overflow-wrap:anywhere}.debrief-face{background:#0b1220;border:3px solid #167e96;border-radius:50%;flex:0 0 44px;width:44px;height:44px;overflow:hidden}.debrief-face img{object-fit:cover;width:100%;height:100%}.debrief-status{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.68rem}.debrief-status.is-ok{color:#3ddc97;border-color:#3ddc97}.debrief-status.is-injured{color:var(--gold);border-color:var(--gold)}.debrief-status.is-down{color:var(--red);border-color:var(--red)}.debrief-agent dl,.debrief-totals dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 0;display:grid}.debrief-totals dl{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.debrief-agent dl div,.debrief-totals dl div{border:1px solid var(--line);border-radius:8px;min-width:0;padding:4px 6px}.debrief-agent dt,.debrief-totals dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.debrief-agent dd,.debrief-totals dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.debrief-actions{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.debrief-actions button{background:var(--gun);border:1px solid var(--line);text-align:center;overflow-wrap:anywhere;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:8px 10px;display:flex}.debrief-actions .primary,.debrief-actions [data-testid=debrief-menu]{grid-column:1/-1}.story-screen .brief{-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:#0b122073;border-radius:12px;flex:1 1 0;min-height:0;max-height:min(32dvh,240px);padding:8px 10px;font-size:.88rem;line-height:1.35;overflow:auto}.brief-host{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;position:relative;overflow:hidden}.brief-stage{border:1px solid var(--line);background:#070c16;border-radius:12px;flex:1;min-height:0;position:relative;overflow:hidden}.brief-card,.brief-map,.brief-arena{position:absolute;inset:0}.brief-card[hidden],.brief-map[hidden],.brief-arena[hidden],.brief-heat[hidden]{display:none}.brief-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.brief-card h2{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.2rem,4vw,2rem)}.arthur-plate{flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.arthur-plate svg{width:96px;height:96px}.brief-map{overflow:hidden}.map-cam{transform-origin:0 0;width:100%;height:100%}.overland{width:100%;height:100%;display:block}.brief-arena img{object-fit:contain;width:100%;height:100%}.callouts{pointer-events:none;position:absolute;inset:0}.callout{box-sizing:border-box;border:1px solid var(--red);min-height:22px;color:var(--text);letter-spacing:.04em;white-space:nowrap;background:#0b1220eb;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:11px;position:absolute}.brief-clock,.brief-heat{z-index:2;border:1px solid var(--cyan-dim);color:var(--cyan);background:#0b1220e0;border-radius:999px;margin:0;padding:4px 8px;position:absolute}.brief-clock{top:8px;right:8px}.brief-heat{white-space:nowrap;text-overflow:ellipsis;max-width:none;top:8px;left:8px;right:112px;overflow:hidden}.brief-log{z-index:2;pointer-events:none;flex-direction:column;gap:4px;max-height:28%;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:8px;left:8px;right:8px;overflow:auto}.brief-log li{min-height:22px;color:var(--text)}.brief-log li span{color:var(--cyan);margin-right:6px}@media (prefers-reduced-motion:reduce){.map-cam{transition:none}}.actions{flex-direction:column;flex:none;gap:6px;display:flex}.brief-actions{width:100%}.brief-transport{gap:6px;width:100%;display:flex}.brief-transport>button{flex:1 1 0;justify-content:center;min-width:0}:is(.mission-screen:has(.brief-host),.mission-screen:has(.speaker-slot)){padding-bottom:calc(8px + var(--safe-b))}.speaker-slot{flex:0 0 164px;height:164px;min-height:164px;max-height:164px}.speaker-slot #speaker{pointer-events:none;height:100%;position:relative;bottom:auto;left:auto;right:auto;overflow:visible}.speaker-slot .speaker-card{width:100%;max-width:none;height:100%;min-height:0;max-height:none;margin:0;padding:8px;display:block;position:relative;bottom:auto;left:auto;right:auto;overflow:hidden}.speaker-slot .speaker-main{width:100%;height:auto;min-height:0;padding:0;display:block}.speaker-slot .speaker-portrait{float:left;width:56px;height:56px;margin:0 8px 6px 0}.speaker-slot .speaker-face{width:56px;height:56px}.speaker-slot .speaker-controls{position:absolute;top:8px;right:8px}.speaker-slot .speaker-copy{min-height:56px;display:block;overflow:visible}.speaker-slot .speaker-name,.speaker-slot .speaker-call{white-space:nowrap;text-overflow:ellipsis;padding-right:156px;display:block;overflow:hidden}.speaker-slot .speaker-line{clear:both;white-space:normal;width:100%;max-height:4.05em;margin-top:6px;line-height:1.35;display:block;overflow:hidden}:root{--speaker-slot:calc(52px + var(--safe-b));--actions-row:calc(52px + var(--safe-b))}.mission-screen{padding-bottom:calc(72px + var(--safe-b))}.mission-screen.combat-layout{padding-bottom:0}#speaker{z-index:30;pointer-events:none;height:0;position:fixed;bottom:0;left:0;right:0;overflow:visible}html:has(.combat-layout){--dialog-bottom:var(--actions-row)}.speaker-card{pointer-events:auto;z-index:30;left:max(8px, var(--safe-l));right:max(8px, var(--safe-r));bottom:var(--dialog-bottom,12px);box-sizing:border-box;text-align:left;border:1px solid var(--cyan-dim);background:#0b1220f0;border-radius:12px;align-items:center;gap:6px;width:auto;max-width:720px;height:48px;min-height:48px;max-height:48px;margin-inline:auto;padding:4px 6px;animation:.28s ease-out speaker-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 6px 18px #00000059}.speaker-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;height:44px;padding:0 4px;display:flex}.speaker-controls{flex:none;gap:4px;display:flex}.speaker-controls button{letter-spacing:.04em;min-width:36px;min-height:36px;padding:0 8px;font-size:.72rem}.speaker-card.is-collapsed .speaker-copy,.speaker-card.is-collapsed .speaker-portrait{display:none}.speaker-card.is-collapsed [data-skip=show]{display:inline-flex}.speaker-card:not(.is-collapsed) [data-skip=show]{display:none}@keyframes speaker-in{0%{opacity:0}to{opacity:1}}.speaker-portrait{flex:none;width:36px;height:36px;position:relative}.speaker-face{object-fit:cover;border:2px solid #2d94aa;border-radius:50%;width:36px;height:36px;box-shadow:0 0 0 1px #c9a24b}.speaker-wave{background:linear-gradient(#5be7ff,#5be7ff) 3px 8px/2px 8px no-repeat,linear-gradient(#5be7ff,#5be7ff) 8px 4px/2px 12px no-repeat,linear-gradient(#5be7ff,#5be7ff) 13px 6px/2px 10px no-repeat,#0b1220;border-radius:50%;width:18px;height:18px;animation:.8s ease-in-out infinite wave;position:absolute;bottom:-2px;right:-2px}@keyframes wave{50%{transform:scaleY(.65)}}.speaker-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.speaker-name,.speaker-call{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.speaker-name{letter-spacing:.04em;font-weight:700}.speaker-call{color:var(--cyan);font-size:.8rem}.speaker-line{white-space:nowrap;overscroll-behavior:contain;font-size:.82rem;line-height:1.2;overflow:auto hidden}@media (prefers-reduced-motion:reduce){.speaker-card,.speaker-wave,.token.party.current,.token.is-pulse,.obj-pin{animation:none}.token.party.current{box-shadow:0 0 0 2px #3ddc97,0 0 8px #3ddc978c}}#speaker[hidden]{display:none}.brief img{border:1px solid var(--line);object-fit:cover;object-position:center;border-radius:12px;width:100%;height:auto;max-height:28dvh}.captions p{margin:0 0 8px}.objs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.objs .done{color:var(--cyan)}.mission-screen{gap:6px}.mission-body{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.map-pane{flex:1;min-height:0;position:relative}.map-viewport{border:1px solid var(--line);touch-action:none;background:#d9d6cf;border-radius:12px;place-items:center;height:100%;display:grid;overflow:hidden;container-type:size}.map-world{aspect-ratio:1;transform-origin:50%;width:min(100cqw,100cqh);position:relative}.arena{pointer-events:none;width:111.111%;max-width:none;height:auto;position:absolute;top:-15.2778%;left:-5.55556%}.cell,.token{background:0 0;border:0;padding:0;position:absolute}.cell{left:calc(var(--c) / 24 * 100%);top:calc(var(--r) / 24 * 100%);z-index:1;width:4.16667%;height:4.16667%}.cell.move{background:#5be7ff47;box-shadow:inset 0 0 0 1px #5be7ffcc}.cell.blast{pointer-events:none;z-index:1;background:#e0314b59;box-shadow:inset 0 0 0 1px #e0314be6}.obj-pin{z-index:6;touch-action:manipulation;background:#ffea0061;animation:1.3s ease-in-out infinite obj-pulse;overflow:visible;box-shadow:inset 0 0 0 2px #ffe600}.obj-pin:before{content:"";width:44px;height:44px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.obj-pill{z-index:8;color:#ffe600;white-space:nowrap;pointer-events:none;background:#0b12209e;border:1px solid #ffe600cc;border-radius:999px;align-items:center;gap:3px;max-width:160px;height:16px;padding:0 4px 0 2px;font-size:11px;line-height:14px;display:inline-flex;position:absolute;overflow:hidden}.obj-pill span{text-overflow:ellipsis;letter-spacing:0;text-transform:none;min-width:0;font-size:11px;line-height:14px;overflow:hidden}.obj-pill .obj-flag{letter-spacing:.02em;border-radius:999px;flex:none;height:12px;padding:0 3px;font-size:9px;line-height:12px}.obj-pill.is-float{animation:3s linear forwards obj-label-fade}.obj-badge{z-index:4;left:calc((var(--c) + .5) / 24 * 100%);top:calc(var(--r) / 24 * 100%);color:#ffe600;pointer-events:none;filter:drop-shadow(0 0 1px #1a1600);width:14px;height:14px;position:absolute;transform:translate(-50%,-130%)}.obj-glyph{width:14px;height:14px;display:block}.map-viewport{position:relative}.obj-arrow{z-index:7;pointer-events:auto;touch-action:manipulation;background:#ffe600;border:0;border-radius:4px;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;position:absolute;box-shadow:0 0 0 1px #1a1600}@keyframes obj-label-fade{0%,75%{opacity:1}to{opacity:0}}.combat-layout .show-obj-btn{flex:0 0 40px;width:40px;min-width:40px;padding:0}@keyframes obj-pulse{0%,to{background:#ffea0038;box-shadow:inset 0 0 0 2px #ffe600}50%{background:#ffea008c;box-shadow:inset 0 0 0 3px #fff36a}}.token-slot{left:calc((var(--c) + .5) / 24 * 100%);top:calc((var(--r) + .5) / 24 * 100%);z-index:2;width:7.5%;height:7.5%;position:absolute;transform:translate(-50%,-58%)}.token-slot .token{width:100%;height:100%;top:0;left:0;transform:none}.token{left:calc((var(--c) + .5) / 24 * 100%);top:calc((var(--r) + .5) / 24 * 100%);z-index:2;background:#0b1220;border:2px solid #245caa;border-radius:50%;width:7.5%;height:7.5%;overflow:visible;transform:translate(-50%,-58%)}.ai-badge{color:#0b1220;letter-spacing:.08em;background:#c9a24b;border-radius:2px;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1.4;display:inline-block}.control-toggle{letter-spacing:.06em;border-radius:999px;flex:none;justify-content:center;align-self:center;min-width:40px;height:28px;min-height:28px;max-height:28px;margin-left:auto;padding:0 8px;font-size:12px;font-weight:800;line-height:1}.control-toggle.is-ai{color:#e8f0ff;background:#2f6bff;border-color:#2f6bff}.control-toggle.is-you{color:#041018;background:#167e96;border-color:#5be7ff}.combat-layout .topbar{z-index:6;background:var(--navy);flex-wrap:wrap;flex:none;row-gap:0;position:relative}.topbar-status{color:var(--muted);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1 0 100%;margin:0;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;line-height:1.2;overflow:hidden}.control-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.control-row button{flex:auto;justify-content:center;min-height:44px}.control-row button.on{border-color:var(--cyan);color:var(--cyan)}.ai-prompt{background:#0b1220f5;border:1px solid #c9a24b;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.ai-prompt p{color:var(--gold);margin:0;font-weight:700}.dmg-pop{z-index:4;pointer-events:none;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 2px #000;font-size:12px;font-weight:800;animation:1.2s ease-out forwards dmg-rise;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.dmg-pop.enemy{color:#ff8d9a}.dmg-pop.agent{color:var(--cyan)}.score-pop{z-index:5;pointer-events:none;color:#141000;letter-spacing:.04em;white-space:nowrap;background:#ffe600;border-radius:999px;padding:0 5px;font-size:11px;font-weight:800;animation:1.4s ease-out forwards dmg-rise;position:absolute;top:-28px;left:50%;transform:translate(-50%)}@keyframes dmg-rise{0%{opacity:1;transform:translate(-50%,4px)}to{opacity:0;transform:translate(-50%,-16px)}}.token.hit-flash{animation:.4s ease-out hit-flash}@keyframes hit-flash{0%{box-shadow:0 0 0 3px #fff}to{box-shadow:0 0 #0000}}#fx{z-index:40;pointer-events:none;height:0;position:fixed;bottom:0;left:0;right:0}#fx .combat-toast{pointer-events:auto}.combat-toast.enemy .fx-result{color:var(--red)}.combat-toast.agent .fx-result{color:var(--cyan)}.fx-result{letter-spacing:.14em;font-size:.72rem;font-weight:800}.token.party{border:3px solid #167e96;box-shadow:0 0 0 1px #c9a24b}.token.party.ai{box-shadow:none;border:3px solid #2f6bff}.token.veil{border:3px solid var(--red);box-shadow:0 0 0 2px #e0314b73}.token.down{filter:grayscale(.7)brightness(.7)}.token.dissolve{pointer-events:none;animation:.6s linear forwards dissolve}@keyframes dissolve{0%{opacity:1;filter:none}45%{opacity:.85;filter:contrast(1.6)saturate(.15)brightness(1.4)}to{opacity:0;filter:blur(7px)brightness(2)}}.token.carry{box-shadow:0 0 0 2px var(--gold)}.token.party.current,.token.party.current.carry{border:3px solid #3ddc97;animation:1.4s ease-in-out infinite turn-pulse}@keyframes turn-pulse{0%,to{box-shadow:0 0 0 2px #3ddc9773,0 0 6px #3ddc9759}50%{box-shadow:0 0 0 3px #3ddc97d9,0 0 12px #3ddc97bf}}.map-key{z-index:4;border:1px solid var(--line);max-width:calc(100% - 64px);color:var(--muted);letter-spacing:.04em;pointer-events:none;background:#0b1220db;border-radius:4px;flex-wrap:wrap;gap:3px 8px;margin:0;padding:4px 6px;font-size:.62rem;list-style:none;display:flex;position:absolute;bottom:8px;left:8px}.map-key li{align-items:center;gap:4px;min-width:0;display:flex}.map-key i{box-sizing:border-box;border-radius:50%;flex:none;width:12px;height:12px}.map-key .table{border:3px solid #167e96;box-shadow:0 0 0 1px #c9a24b}.map-key .ai{box-shadow:none;background:0 0;border:3px solid #2f6bff}.map-key .turn{border:3px solid #3ddc97;box-shadow:0 0 6px #3ddc97}.map-key .foe{border:3px solid var(--red)}.map-key .blast{border:1px solid var(--red);background:#e0314b47}@media (min-height:500px){.combat-layout .map-pane{flex-direction:column;display:flex}.combat-layout .map-viewport{flex:auto;height:auto;min-height:0;position:relative;inset:auto}.combat-layout .map-key{flex:none;max-width:none;margin:4px 8px 0;position:relative;bottom:auto;left:auto}}@media (min-height:500px) and (max-width:900px){.combat-layout .map-pane{padding-right:48px}.combat-layout .map-zoom{top:8px;bottom:auto;right:4px}}.token img{object-fit:cover;pointer-events:none;width:100%;height:100%}.token i{display:none}.token b{background:linear-gradient(90deg, var(--cyan) calc(var(--p) * 100%), var(--red) 0);border-radius:2px;height:3px;position:absolute;top:2px;left:10%;right:10%}.map-zoom{z-index:3;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.map-zoom button{background:#0b1220e0;justify-content:center;width:44px;min-height:44px}.dock{border:1px solid var(--line);background:#0b1220b8;border-radius:12px;flex-direction:column;gap:6px;max-height:42%;padding:8px;display:flex;overflow:auto}.mission-body:has(.action-bar){flex-direction:column;min-height:0;overflow:hidden}.mission-body:has(.action-bar) .map-pane{flex:auto;min-height:72px}.combat-layout.screen{overscroll-behavior:none;height:100dvh;max-height:100dvh;overflow:hidden}@supports (height:100svh){.combat-layout.screen{height:100svh;max-height:100svh}}.combat-layout .mission-body{overflow:hidden}.combat-layout .map-pane{flex:auto;min-height:96px;overflow:hidden}.combat-layout .play-feed{flex-direction:column;flex:0 0 216px;gap:4px;height:216px;min-height:216px;max-height:216px;display:flex;overflow:hidden}.combat-layout .play-popup{flex:auto;min-height:0;position:relative;overflow:hidden}.combat-layout .voice-slot,.combat-layout .dialog-slot{flex:none;height:auto;min-height:0;max-height:none;position:absolute;inset:0;overflow:hidden}.combat-layout .voice-slot:not(:has(.speaker-card)){visibility:hidden;display:block}.combat-layout .voice-slot:has(.speaker-card){visibility:visible;height:auto;min-height:0;max-height:none;display:block}.combat-layout .voice-slot #speaker,.combat-layout .dialog-slot #speaker,.combat-layout .dialog-slot #fx{height:100%;position:absolute;inset:0;overflow:hidden}.dialog-slot{flex:0 0 52px;height:52px;min-height:52px;position:relative}.combat-layout .dialog-slot:has(.combat-toast){flex:none;height:auto;min-height:0;max-height:none;position:absolute;inset:0;overflow:hidden}.dialog-slot:has(.combat-toast) #speaker{visibility:hidden;pointer-events:none}.combat-layout .dialog-slot:has(.combat-toast) #fx{z-index:2;pointer-events:none;height:100%;position:absolute;inset:0;overflow:hidden}.combat-layout .dialog-slot:has(.combat-toast) .combat-toast{height:100%;min-height:0;max-height:100%;margin:0;position:absolute;inset:0 8px;overflow:hidden}.combat-toast{border:1px solid var(--cyan-dim);background:#0b1220fa;border-radius:12px;flex-direction:column;gap:6px;margin:0 8px 4px;padding:6px 8px;display:flex;overflow:visible}.combat-toast.enemy{border-color:var(--red)}.fx-body{align-items:flex-start;gap:8px;min-width:0;display:flex}.fx-face{flex:0 0 36px;width:36px;height:36px}.fx-face .speaker-face{width:36px;height:36px}.fx-copy{flex:1;min-width:0;max-height:100%;overflow:auto}.combat-layout .fx-body{flex:auto;align-items:flex-start;min-height:0;overflow:hidden}.combat-layout .fx-copy{min-height:0;max-height:100%;overflow-y:auto}.combat-layout .combat-toast{gap:4px;min-height:0;padding:4px 8px}.combat-layout .fx-face,.combat-layout .fx-face .speaker-face{flex-basis:28px;width:28px;height:28px}.combat-layout .fx-result{font-size:.68rem}.combat-layout .fx-line{font-size:.92rem;line-height:1.3}.combat-layout .speaker-slot .speaker-line{max-height:none}.combat-layout .toast-controls{flex:none}.combat-layout .toast-controls button{height:32px;min-height:32px;max-height:32px;font-size:13px;line-height:1}.combat-layout .fx-hint{flex:auto;min-width:0;font-size:13px;line-height:1.2}.fx-line{color:var(--text);white-space:normal;overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.3;overflow:visible}.combat-toast{cursor:pointer}.toast-controls{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.fx-hint{color:var(--muted);letter-spacing:.04em;margin:0;font-size:.72rem}.fx-speed{color:var(--cyan);letter-spacing:.06em;font-size:.72rem}.toast-pace{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.toast-controls button{white-space:nowrap;text-align:center;flex:none;height:32px;min-height:32px;padding:0 10px;font-size:.72rem}.toast-gear{width:32px;min-width:32px;padding:0;font-size:.9rem}.dialog-slot #speaker,.dialog-slot #fx{pointer-events:none;height:auto;position:absolute;inset:0;overflow:visible}.dialog-slot .speaker-card{height:auto;min-height:0;max-height:none;margin:0;position:absolute;inset:0 0 auto}.actions-dock{z-index:9;min-width:0;padding:4px 8px calc(4px + var(--safe-b));flex-direction:column;flex:none;gap:4px;display:flex;position:relative}.combat-layout .actions-dock{padding-bottom:4px}.combat-layout .actions-dock .turn,.combat-layout .dock-note{text-overflow:ellipsis;white-space:nowrap;min-height:1.2em;max-height:1.2em;margin:0;overflow:hidden}.combat-layout .actions-pop,.combat-layout .ai-prompt{z-index:12;max-height:min(42dvh,260px);position:absolute;bottom:calc(100% - 4px);left:8px;right:8px}.dock-row{align-items:stretch;gap:6px;min-width:0;display:flex}.combat-layout .dock-row{height:52px;min-height:52px;max-height:52px;overflow:hidden}.combat-layout .dock-row>button{letter-spacing:0;height:52px;max-height:52px;padding:2px;font-size:.68rem;line-height:1.05;overflow:hidden}.dock-row>button{white-space:normal;text-align:center;flex:1 1 0;justify-content:center;min-width:0;height:auto;min-height:44px;padding:6px 4px;line-height:1.15}.dock-row>button:disabled{opacity:.45}.end-turn{color:#3ddc97;background:#0b1220f5;border:2px solid #3ddc97;box-shadow:inset 0 0 0 1px #3ddc97}.log-btn{min-width:52px;color:var(--cyan);border:1px solid var(--cyan-dim);letter-spacing:.04em;text-transform:uppercase;background:#0b1220f5;flex-direction:column;flex:0 0 52px;justify-content:center;align-items:center;gap:1px;padding:4px 2px;font-size:.68rem;line-height:1.05;display:flex}.obj-log-btn{color:#ffe600;text-transform:none;border-color:#ffe600;flex-basis:76px;min-width:76px}.obj-log-btn .obj-glyph{color:#ffe600;width:14px;height:14px}.combat-layout .obj-log-btn span{letter-spacing:0;white-space:nowrap;text-align:center;max-width:none;font-size:.62rem;line-height:1}.actions-pop button.obj-action{color:#ffe600;background:#ffe6001a;border-color:#ffe600;gap:8px;font-weight:700}.actions-pop button.obj-action .obj-glyph{color:#ffe600;flex:0 0 16px;width:16px;height:16px}.log-rounds{color:var(--cyan);letter-spacing:.04em;margin:0;font-family:ui-monospace,Menlo,monospace}.log-objectives{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.log-obj{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border-radius:10px;align-items:flex-start;gap:8px;padding:8px;display:flex}button.log-obj{cursor:pointer}.log-obj-mark{flex:0 0 18px;place-items:center;width:18px;height:18px;font-weight:700;display:grid}.log-obj-mark.is-open{color:#ffe600}.log-obj-mark.is-done{color:#3ddc97}.log-obj-mark.is-failed{color:var(--red)}.log-obj-mark .obj-glyph{color:#ffe600;width:16px;height:16px}.log-obj-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.log-obj-flags{letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.log-obj-flags b{font-weight:700}.log-obj-flags .obj-flag{text-transform:uppercase}.log-obj-where{color:#ffe600;letter-spacing:.04em;font-family:ui-monospace,Menlo,monospace}.log-obj-text{overflow-wrap:anywhere;text-transform:none;letter-spacing:0;font-size:.92rem;line-height:1.3}.log-obj.is-done{color:var(--muted)}.log-obj.is-failed{border-color:var(--red)}.log-filters button{flex:auto}.log-sheet{z-index:60;min-width:0;padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));color:var(--text);background:#0b1220fa;flex-direction:column;gap:8px;display:flex;position:fixed;inset:0}.log-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.log-bar h2{letter-spacing:.12em;text-transform:uppercase;font-size:1rem}.log-filters{flex-wrap:wrap;gap:6px;display:flex}.log-filters button{min-height:36px;padding:4px 10px}.log-filters button.on{border-color:var(--cyan);color:var(--cyan)}.party-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.party-row{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border-radius:10px;grid-template-columns:36px minmax(0,1fr);grid-template-areas:"face main""face meta";gap:2px 8px;padding:8px;display:grid}.party-face{border:2px solid #167e96;border-radius:50%;grid-area:face;width:36px;height:36px;overflow:hidden}.party-face img{object-fit:cover;width:100%;height:100%;display:block}.party-main{flex-direction:column;grid-area:main;gap:3px;min-width:0;display:flex}.party-name{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.party-name strong{font-size:.95rem}.party-call{color:var(--muted);letter-spacing:.04em;font-family:ui-monospace,Menlo,monospace;font-size:.72rem}.party-hp{align-items:center;gap:6px;min-width:0;display:flex}.party-hp i{background:#ffffff1f;border-radius:99px;flex:auto;height:6px;position:relative;overflow:hidden}.party-hp i:before{content:"";width:calc(var(--p) * 100%);background:#3ddc97;position:absolute;inset:0 auto 0 0}.party-row.is-wounded .party-hp i:before{background:#e0b15a}.party-row.is-down .party-hp i:before{background:#e0314b}.party-hp b{flex:none;font-family:ui-monospace,Menlo,monospace;font-size:.72rem}.party-meta{flex-wrap:wrap;grid-area:meta;align-items:center;gap:4px;min-width:0;display:flex}.party-status,.party-square,.party-control,.party-carry,.party-turn{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:1px 6px;font-size:.68rem;line-height:1.3}.party-status.is-ok{color:#3ddc97;border-color:#3ddc97}.party-status.is-wounded{color:#e0b15a;border-color:#e0b15a}.party-status.is-down{color:#fff;background:#e0314b;border-color:#e0314b;font-weight:800}.party-status.is-extracted{color:var(--muted)}.party-control.is-you{color:#041018;background:#167e96;border-color:#167e96}.party-control.is-ai{color:#e8f0ff;background:#2f6bff;border-color:#2f6bff}.party-turn{color:#141000;background:#ffe600;border-color:#ffe600;font-weight:800}.party-carry{color:#ffe600;border-color:#ffe600}.party-square{font-family:ui-monospace,Menlo,monospace}.party-foes{color:var(--muted);letter-spacing:.04em;margin:4px 0 0;font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.token.is-pulse{animation:1.2s ease-out token-pulse}@keyframes token-pulse{0%{box-shadow:0 0 #ffe600d9}to{box-shadow:0 0 0 16px #ffe60000}}.log-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow:auto}.log-round h3{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem}.log-turn{border:1px solid var(--line);background:#1b222cb8;border-radius:10px;flex-direction:column;gap:4px;margin:0 0 8px;padding:8px;display:flex}.log-turn header{align-items:center;gap:8px;min-width:0;display:flex}.log-turn header strong{overflow-wrap:anywhere;min-width:0}.log-face{border:3px solid var(--muted);background:#0b1220;border-radius:50%;flex:0 0 36px;width:36px;height:36px;overflow:hidden}.log-face img{object-fit:cover;width:100%;height:100%}.log-face.party,.log-turn.party{border-color:var(--cyan)}.log-face.veil,.log-turn.veil{border-color:var(--red)}.log-line{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.35}.log-line.is-crit{color:var(--gold);background:#c9a24b1f;border-radius:4px;padding:2px 4px;font-weight:700}.active-agent{box-sizing:border-box;border:1px solid var(--line);background:#0b1220f0;border-radius:12px;flex:0 0 44px;align-items:center;gap:10px;min-width:0;height:44px;min-height:44px;max-height:44px;margin:0 8px;padding:4px 8px 4px 4px;display:flex;overflow:hidden}.combat-layout .active-face,.active-face{background:#0b1220;border:3px solid #3ddc97;border-radius:50%;flex:0 0 36px;width:36px;height:36px;overflow:hidden;box-shadow:0 0 8px #3ddc9773}.active-agent.veil .active-face{border-color:var(--red);box-shadow:0 0 8px #c44a4a66}.active-agent.is-ai .active-face{border-color:#2f6bff;box-shadow:0 0 0 1px #2f6bff,0 0 8px #2f6bff73}.active-face img{object-fit:cover;width:100%;height:100%}.active-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.active-copy strong{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:750;line-height:1.05;overflow:hidden}.active-copy em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-style:normal;display:block;overflow:hidden}.you-badge{background:var(--cyan);color:#041018;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;margin-left:2px;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1.35;display:inline-block}.combat-chrome{flex-direction:column;flex:none;min-width:0;min-height:0;display:flex}.combat-layout .report-drawer summary{min-height:28px;padding:2px 8px}.weapon-row{align-items:center;gap:6px;width:100%;display:flex}.w-name{text-align:left;flex:1;min-width:0}.w-tag{letter-spacing:.03em;color:var(--cyan);border:1px solid var(--line);border-radius:99px;flex:none;padding:1px 6px;font-size:.68rem}.menu-tools{gap:8px;width:min(100%,520px);display:flex}.menu-tools button{flex:1;min-height:44px}.menu-tools button:disabled{opacity:.45}.save-faces{flex-wrap:wrap;gap:6px;display:flex}.save-faces img{object-fit:cover;border:2px solid #167e96;border-radius:50%;width:42px;height:42px}.save-actions{flex-wrap:wrap;gap:6px;display:flex}.combat-layout .map-pane{min-height:96px}.actions-toggle{border:2px solid var(--line);background:#0b1220f5;align-items:center;gap:8px;width:100%;min-height:48px;display:flex}.actions-toggle.is-turn{border-color:#3ddc97;box-shadow:0 0 0 1px #3ddc97,0 0 8px #3ddc978c}.turn-pip{border:3px solid #3ddc97;border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 0 6px #3ddc97}.actions-who{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.actions-pop{overscroll-behavior:contain;border:1px solid var(--line);background:#0b1220fa;border-radius:12px;flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex;overflow:auto}.actions-pop button{white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:flex-start;height:auto;min-height:44px;line-height:1.2}.report-drawer{z-index:6;flex:none;min-width:0;position:relative}.report-drawer summary{cursor:pointer;min-height:36px;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:4px 8px;font-size:.78rem;display:flex}.report-drawer .drawer-body{display:none}.report-drawer[open] .drawer-body{border:1px solid var(--line);z-index:6;background:#0b1220f5;border-radius:12px;flex-direction:column;gap:6px;max-height:min(42vh,280px);padding:8px;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow:auto}@media (max-height:700px){.action-scroll{max-height:18vh}.action-scroll button{min-height:40px}.menu-screen .gadget-row{display:none}.menu-screen .hero-row .radar{width:64px;height:64px}.menu{gap:4px}.menu button{min-height:36px;padding-top:2px;padding-bottom:2px}.menu-tools{gap:6px}.menu-tools button{min-height:36px}}@media (max-height:520px){.menu-screen{padding-bottom:calc(28px + var(--safe-b));gap:4px}.menu-screen h1{font-size:1.15rem;line-height:1.1}.menu-screen .eyebrow,.menu-screen .sub{display:none}.menu-screen .hero-row{gap:6px}.menu-screen .hero-row .radar{width:36px;height:36px}.menu-screen .clock svg{width:24px;height:24px}.menu{grid-auto-rows:minmax(0,1fr);gap:4px}.menu button{min-height:0;padding:1px 8px;font-size:.78rem}.menu button small{font-size:.62rem}.menu-tools button{min-height:28px;padding-top:1px;padding-bottom:1px}}@media (max-width:699px){html:not([data-hinge=open]) .mission-screen .dock{flex:none;max-height:none;overflow:visible}html:not([data-hinge=open]) .mission-screen .map-pane{min-height:140px}html:not([data-hinge=open]) .mission-screen .log{max-height:2.6em;overflow:auto}html:not([data-hinge=open]) .dock .seg.wrap button{text-align:center;white-space:normal;flex:8.5rem;justify-content:center;height:auto;line-height:1.15}}.turn,.who{font-family:ui-monospace,Menlo,monospace;font-size:.82rem}.log{color:var(--muted);flex-direction:column;gap:3px;font-size:.82rem;display:flex}.modal{z-index:5;background:#070c16b8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.modal .card{width:min(100%,460px)}.modal.pause-menu,.modal.extract-confirm,.modal.training-done{z-index:60;position:fixed}.modal.pause-menu,.modal.training-done{padding-top:calc(8px + var(--safe-t));place-items:start center}.pause-menu .card{min-height:0;max-height:calc(100dvh - 16px - var(--safe-t) - var(--safe-b));flex-direction:column;gap:8px;display:flex;overflow:auto}.pause-menu button{width:100%}.pause-pacing{flex-direction:column;gap:6px;display:flex}.pause-pacing h3{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem}.pause-menu .seg button{text-align:center;white-space:nowrap;flex:1 1 0;justify-content:center;width:auto;min-width:0}.sound-row{border:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;margin:0 0 10px;padding:8px 10px;display:flex}.sound-row legend{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;padding:0 4px;font-size:.72rem}.sound-row input[type=range]{width:100%}.sfx-picks{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.sfx-picks button{text-align:center;flex:30%;justify-content:center;min-height:40px}html[data-subtitles=off] .speaker-line,html[data-subtitles=off] .captions{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-height:760px){.menu-screen,.title-screen{justify-content:center}}@media (orientation:landscape) and (max-height:500px){.title-art svg{width:72px;height:72px}.gadget-row{display:none}.hero-row .radar{width:56px;height:56px}}@media (orientation:landscape) and (min-width:900px){.mission-body{flex-direction:row}.dock{width:min(360px,38vw);max-height:none}.menu-screen,.title-screen{justify-content:center}}@media (max-height:720px){.menu-screen .gadget-row{display:none}}@media (min-width:800px){.stack{width:min(920px,100%);margin:0 auto}.roster-grid{grid-template-columns:1fr 1fr}.brief{width:min(720px,100%);margin:0 auto}.team-screen .actions,.team-screen>.mono{width:min(920px,100%);margin:0 auto}}.tablet-stage{display:contents}.team-detail,.loadout-detail{display:none}@media (min-width:700px) and (min-height:700px){html[data-text=s]{font-size:clamp(16px,1.6vw,20px)}html[data-text=m]{font-size:clamp(18px,2.05vw,26px)}html[data-text=l]{font-size:clamp(21px,2.3vw,30px)}html[data-text=xl]{font-size:clamp(24px,2.6vw,34px)}.title-screen h1,.menu-screen h1,.title-art,.hero-row,.gadget-row,.menu,.stack,.brief,.team-screen .actions,.team-screen>.mono,.loadout-screen .hud-id,.loadout-screen .loadout-tabs,.loadout-screen .hud-readout,.loadout-screen .actions{width:100%;max-width:none;margin-left:0;margin-right:0}.title-screen{gap:clamp(12px,2.2vh,32px)}.title-art .radar{width:clamp(200px,38vmin,480px);height:auto}.title-screen h1{font-size:clamp(2.5rem,7.2vmin,5.6rem)}.title-screen .sub{font-size:clamp(.85rem,1.8vmin,1.3rem)}.title-screen .primary{min-width:min(100%,28rem);min-height:clamp(52px,7vh,76px);font-size:clamp(1.05rem,2vw,1.45rem)}.hero-row h1{font-size:clamp(1.7rem,4.4vmin,3.2rem)}.hero-row .radar{width:clamp(88px,12vmin,148px);height:auto}.reticle,.drone{width:clamp(54px,8vmin,92px);height:clamp(54px,8vmin,92px)}.menu{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(clamp(52px,8vh,96px),1fr);align-content:stretch;gap:clamp(8px,1.2vw,16px);display:grid}.menu button{min-height:clamp(52px,7vh,88px);font-size:clamp(1rem,1.7vw,1.35rem)}.tablet-stage{flex:1;grid-template-columns:minmax(0,1fr) minmax(220px,30%);align-items:stretch;gap:clamp(10px,1.4vw,18px);width:100%;min-width:0;min-height:0;display:grid}.team-detail,.loadout-detail{border:1px solid var(--line);background:#1b222ceb;border-radius:12px;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:clamp(12px,1.4vw,22px);display:flex;overflow:auto}.key-toggle,#gear-key-phone,.gear-key.phone{display:none}.loadout-detail .gear-key.desk{display:flex}.team-detail .sheet-token,.loadout-detail .sheet-token{width:clamp(84px,12vw,140px);height:clamp(84px,12vw,140px)}.team-detail h2,.loadout-detail h2{font-size:clamp(1.3rem,2.4vw,2rem)}.team-detail>button,.loadout-detail>button{justify-content:center;min-height:44px}.roster-scroll{min-width:0;container-type:inline-size}.roster-grid,.loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,14px)}.roster-grid .card{min-width:0}.roster-grid .agent-pick{flex-direction:column;align-items:flex-start;gap:8px}.roster-grid .agent-copy{width:100%}.roster-grid .agent-copy strong,.roster-grid .agent-copy span{white-space:normal;overflow-wrap:anywhere}.roster-grid .sheet-token{width:52px;height:52px}.hud-card{height:clamp(116px,13vh,148px)}.team-screen .actions,.loadout-screen .actions,.mission-screen .actions{flex-flow:wrap;align-items:center}.team-screen .actions>button,.loadout-screen .actions>button,.mission-screen .actions>button{flex:11rem;justify-content:center}.mission-screen .actions.brief-actions{flex-flow:column;align-items:stretch}.mission-screen .actions.brief-actions>.brief-transport,.mission-screen .actions.brief-actions>button{flex:100%;width:100%}.team-screen .actions .note,.loadout-screen .actions .note{flex:100%}.speaker-card{max-width:none}.speaker-line{font-size:.95rem}.modal .card{width:min(100%,40rem)}.sheets-screen .stack,.codex-screen .stack,.select-screen .stack{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.sheets-screen .stack>p{grid-column:1/-1}.journal-screen .objs{grid-template-columns:1fr 1fr;gap:clamp(8px,1vw,14px);display:grid}.journal-screen .card,.settings-screen .card,.credits-screen .card,.season-screen .card,.soon-screen .card{padding:clamp(16px,2vw,28px)}.brief-host{width:100%}.brief-card h2{font-size:clamp(1.6rem,4.5vmin,3.4rem)}.arthur-plate svg{width:clamp(96px,16vmin,180px);height:auto}.brief-log{font-size:clamp(.95rem,1.6vw,1.25rem)}.mission-body{width:100%}.map-pane{flex:auto;min-height:0}.dock{width:100%;max-height:30%}h2{font-size:clamp(1.15rem,2vw,1.7rem)}}@container (width>=880px){.roster-grid,.loadout-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1100px) and (min-height:700px){.sheets-screen .stack,.codex-screen .stack,.select-screen .stack{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:700px) and (min-height:700px) and (orientation:landscape){.title-art .radar{width:clamp(140px,28vmin,280px)}.menu-screen .gadget-row{display:none}.mission-body{flex-direction:row;align-items:stretch}.map-pane{flex:auto;min-width:0}.dock{flex:none;width:clamp(260px,26vw,420px);max-height:none}.brief-host{flex-direction:row;align-items:stretch}.brief-stage{flex:auto;min-width:0}.brief-log{flex:none;width:clamp(220px,26vw,380px);max-height:none}}@media (min-width:620px) and (max-width:760px) and (min-height:450px) and (max-height:520px){.title-screen h1,.menu-screen h1,.title-art,.hero-row,.gadget-row,.menu,.stack,.brief{width:100%;max-width:none;margin-left:0;margin-right:0}.menu-screen .gadget-row{display:none}.menu-screen .hero-row .radar{width:48px;height:48px}.menu{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}}html[data-hinge=open]{--crease:64px}html[data-hinge=open][data-text=s]{font-size:clamp(16px,2.3vw,18px)}html[data-hinge=open][data-text=m]{font-size:clamp(17px,2.5vw,20px)}html[data-hinge=open][data-text=l]{font-size:clamp(19px,2.8vw,23px)}html[data-hinge=open][data-text=xl]{font-size:clamp(21px,3vw,26px)}html[data-hinge=open] .title-screen h1,html[data-hinge=open] .menu-screen h1,html[data-hinge=open] .title-art,html[data-hinge=open] .hero-row,html[data-hinge=open] .gadget-row,html[data-hinge=open] .menu,html[data-hinge=open] .stack,html[data-hinge=open] .brief,html[data-hinge=open] .team-screen .actions,html[data-hinge=open] .team-screen>.mono,html[data-hinge=open] .loadout-screen .hud-id,html[data-hinge=open] .loadout-screen .loadout-tabs,html[data-hinge=open] .loadout-screen .hud-readout,html[data-hinge=open] .loadout-screen .actions,html[data-hinge=open] .mission-screen .actions{width:100%;max-width:none;margin-left:0;margin-right:0}html[data-hinge=open] .title-art .radar{width:clamp(128px,30vmin,220px);height:auto}html[data-hinge=open] .title-screen h1{font-size:clamp(1.7rem,5.2vw,2.5rem)}html[data-hinge=open] .hero-row h1{font-size:clamp(1.25rem,3.4vw,1.8rem)}html[data-hinge=open] .hero-row .radar{width:clamp(64px,10vmin,96px);height:auto}html[data-hinge=open] .title-screen{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);align-content:center;justify-items:center;display:grid}html[data-hinge=open] .title-screen .title-art,html[data-hinge=open] .title-screen .eyebrow,html[data-hinge=open] .title-screen h1,html[data-hinge=open] .title-screen .sub,html[data-hinge=open] .title-screen .gadget-row{grid-column:1/-1}html[data-hinge=open] .title-screen .primary{grid-column:1;justify-self:stretch;width:auto;min-width:0}html[data-hinge=open] .menu-tools{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);width:100%;display:grid}html[data-hinge=open] .menu-tools button:first-child{grid-column:1}html[data-hinge=open] .menu-tools button:nth-child(2){grid-column:3}html[data-hinge=open] .menu{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);flex:1;grid-auto-rows:minmax(48px,1fr);align-content:stretch;gap:8px 0;display:grid}html[data-hinge=open] .menu button:nth-child(odd){grid-column:1}html[data-hinge=open] .menu button:nth-child(2n){grid-column:3}html[data-hinge=open] .menu button{min-height:48px}html[data-hinge=open][data-orient=landscape] .menu-screen .gadget-row{display:none}html[data-hinge=open][data-orient=landscape] .hero-row{min-height:0}html[data-hinge=open][data-orient=landscape] .menu{grid-template-rows:1fr 1fr var(--crease) 1fr 1fr 1fr}html[data-hinge=open][data-orient=landscape] .menu button:first-child,html[data-hinge=open][data-orient=landscape] .menu button:nth-child(2){grid-row:1}html[data-hinge=open][data-orient=landscape] .menu button:nth-child(3),html[data-hinge=open][data-orient=landscape] .menu button:nth-child(4){grid-row:2}html[data-hinge=open][data-orient=landscape] .menu button:nth-child(5),html[data-hinge=open][data-orient=landscape] .menu button:nth-child(6){grid-row:4}html[data-hinge=open][data-orient=landscape] .menu button:nth-child(7),html[data-hinge=open][data-orient=landscape] .menu button:nth-child(8){grid-row:5}html[data-hinge=open][data-orient=landscape] .menu button:nth-child(9),html[data-hinge=open][data-orient=landscape] .menu button:nth-child(10){grid-row:6}html[data-hinge=open] .tablet-stage{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);flex:1;gap:0;width:100%;min-width:0;min-height:0;display:grid}html[data-hinge=open] .tablet-stage>.roster-scroll{grid-area:1/1;min-width:0}html[data-hinge=open] .tablet-stage>.team-detail,html[data-hinge=open] .tablet-stage>.loadout-detail{grid-area:1/3;max-width:100%}html[data-hinge=open][data-orient=landscape] .tablet-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--crease) minmax(0, 1fr)}html[data-hinge=open][data-orient=landscape] .tablet-stage>.roster-scroll,html[data-hinge=open][data-orient=landscape] .tablet-stage>.team-detail,html[data-hinge=open][data-orient=landscape] .tablet-stage>.loadout-detail{grid-column:1}html[data-hinge=open][data-orient=landscape] .tablet-stage>.team-detail,html[data-hinge=open][data-orient=landscape] .tablet-stage>.loadout-detail{grid-row:3}html[data-hinge=open] .roster-grid .card,html[data-hinge=open] .agent-pick,html[data-hinge=open] .team-detail>button,html[data-hinge=open] .loadout-detail>button{min-width:0;max-width:100%}html[data-hinge=open] .agent-copy{min-width:0}html[data-hinge=open] .agent-copy span,html[data-hinge=open] .agent-copy strong{white-space:normal;overflow-wrap:anywhere}html[data-hinge=open] .team-detail,html[data-hinge=open] .loadout-detail{border:1px solid var(--line);background:#1b222ceb;border-radius:12px;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:12px;display:flex;overflow:auto}html[data-hinge=open] .key-toggle,html[data-hinge=open] #gear-key-phone,html[data-hinge=open] .gear-key.phone{display:none}html[data-hinge=open] .loadout-detail .gear-key.desk{display:flex}html[data-hinge=open] .team-detail>button,html[data-hinge=open] .loadout-detail>button{justify-content:center;min-height:44px}html[data-hinge=open] .roster-grid,html[data-hinge=open] .loadout-grid{grid-template-columns:1fr}html[data-hinge=open] .roster-grid .agent-pick{flex-direction:row;align-items:center}html[data-hinge=open] .team-screen .actions,html[data-hinge=open] .loadout-screen .actions,html[data-hinge=open] .mission-screen .actions{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);gap:8px 0;display:grid}html[data-hinge=open] .team-screen .actions>button:nth-child(odd),html[data-hinge=open] .loadout-screen .actions>button:nth-child(odd),html[data-hinge=open] .mission-screen .actions>button:nth-child(odd){grid-column:1}html[data-hinge=open] .team-screen .actions>button:nth-child(2n),html[data-hinge=open] .loadout-screen .actions>button:nth-child(2n),html[data-hinge=open] .mission-screen .actions>button:nth-child(2n){grid-column:3}html[data-hinge=open] .actions .note{grid-column:1/-1}html[data-hinge=open] .mission-screen .actions.brief-actions,html[data-hinge=open] .story-screen .actions{flex-direction:column;grid-template-columns:none;display:flex}html[data-hinge=open] .speaker-slot .speaker-card{max-width:none;height:100%;position:relative;bottom:auto;left:auto;right:auto}html[data-hinge=open] .sheets-screen .stack,html[data-hinge=open] .codex-screen .stack,html[data-hinge=open] .select-screen .stack,html[data-hinge=open] .journal-screen .objs{column-gap:var(--crease);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;display:grid}html[data-hinge=open] .sheets-screen .stack>p{grid-column:1/-1}html[data-hinge=open][data-orient=portrait] .mission-body{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);flex:1;grid-template-rows:minmax(0,1fr);width:100%;min-height:0;display:grid}html[data-hinge=open][data-orient=portrait] .map-pane{grid-column:1;min-width:0;min-height:0}html[data-hinge=open][data-orient=portrait] .dock{grid-column:3;width:auto;min-height:0;max-height:none;overflow:auto}html[data-hinge=open][data-orient=landscape] .mission-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--crease) minmax(0, 1fr);flex:1;width:100%;min-height:0;display:grid;overflow:hidden}html[data-hinge=open] .speaker-card{max-width:none}html[data-hinge=open][data-orient=landscape] .map-pane{grid-row:1;min-height:0}html[data-hinge=open][data-orient=landscape] .dock{grid-row:3;grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);align-content:start;width:100%;min-height:0;max-height:none;display:grid;overflow:auto}html[data-hinge=open][data-orient=landscape] .dock>*{grid-column:1/-1}html[data-hinge=open][data-orient=landscape] .dock .seg{grid-column:1/-1;grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);display:grid}html[data-hinge=open][data-orient=landscape] .dock .seg button:nth-child(odd){grid-column:1}html[data-hinge=open][data-orient=landscape] .dock .seg button:nth-child(2n){grid-column:3}html[data-hinge=open] .map-zoom{top:8px;bottom:auto}html[data-hinge=open][data-orient=portrait] .speaker-card{left:max(8px, var(--safe-l));right:max(8px, var(--safe-r))}.combat-layout .mission-body{flex-direction:column;grid-template-rows:none;grid-template-columns:none;display:flex}html[data-hinge=open][data-orient=portrait] .combat-layout .mission-body{grid-template-columns:minmax(0, 1fr) var(--crease) minmax(0, 1fr);grid-template-rows:minmax(96px,1fr);display:grid}html[data-hinge=open][data-orient=portrait] .combat-layout .map-pane{grid-area:1/1;min-height:96px}html[data-hinge=open][data-orient=portrait] .combat-layout .combat-chrome{grid-area:1/3;min-width:0;min-height:0;overflow:hidden}html[data-hinge=open][data-orient=portrait] .combat-layout .dock-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}html[data-hinge=open][data-orient=portrait] .combat-layout .dock-row>button,html[data-hinge=open][data-orient=portrait] .combat-layout .log-btn{flex:initial;width:auto;min-width:0}html[data-hinge=open][data-orient=landscape] .combat-layout.screen{position:relative}html[data-hinge=open][data-orient=landscape] .combat-layout .topbar{z-index:8;left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));top:calc(4px + var(--safe-t));position:absolute}html[data-hinge=open][data-orient=landscape] .combat-layout .mission-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--crease) minmax(0, 1fr);height:100%;display:grid}html[data-hinge=open][data-orient=landscape] .combat-layout .map-pane{grid-row:1;min-height:0;overflow:hidden}html[data-hinge=open][data-orient=landscape] .combat-layout .map-zoom{z-index:9;top:auto;bottom:8px}html[data-hinge=open][data-orient=landscape] .combat-layout .combat-chrome{grid-row:3;min-width:0;min-height:0;overflow:hidden}html[data-hinge=open][data-orient=landscape] .combat-layout .actions-dock{min-width:0;max-height:100%}@media (orientation:landscape) and (max-height:430px){.combat-layout.screen{padding:calc(2px + var(--safe-t)) calc(6px + var(--safe-r)) calc(2px + var(--safe-b)) calc(6px + var(--safe-l));grid-template-rows:28px minmax(0,1fr) 96px 36px;gap:2px;display:grid}.combat-layout .mission-body,.combat-layout .combat-chrome{display:contents}.combat-layout .topbar{height:28px;min-height:28px;max-height:28px;overflow:hidden}.combat-layout .topbar{flex-wrap:nowrap}.combat-layout .topbar-title{flex-direction:row;align-items:center;gap:6px}.combat-layout .topbar-title strong{flex:0 auto;font-size:12px}.combat-layout .topbar .eyebrow{display:none}.combat-layout .topbar-status{flex:auto;width:auto;min-width:0;font-size:10px}.combat-layout .control-toggle{min-width:28px;height:18px;min-height:18px;max-height:18px;padding:0 5px;font-size:10px}.combat-layout .topbar .radar,.combat-layout .clock svg{width:22px;height:22px}.combat-layout .icon-btn{width:26px;min-width:26px;height:26px;min-height:26px;padding:0}html:not([data-hinge=open]) .combat-layout .map-pane,.combat-layout .map-pane{align-self:stretch;min-height:0;position:relative;overflow:hidden}.combat-layout .map-viewport{height:auto;min-height:0;position:absolute;inset:0}:is(.combat-layout .play-feed,.combat-layout:has(.is-range) .play-feed){flex-basis:96px;gap:2px;height:96px;min-height:96px;max-height:96px}#kay-slot{display:contents}.combat-layout .active-agent{height:24px;min-height:24px;max-height:24px;padding:1px 6px 1px 2px}.combat-layout .active-face,.combat-layout .active-face img,.combat-layout .fx-face,.combat-layout .fx-face .speaker-face{flex-basis:20px;width:20px;height:20px}.combat-layout .active-copy strong{font-size:12px}.combat-layout .active-copy em,.combat-layout .report-drawer,.combat-layout .dock-note{display:none}.combat-layout .actions-dock{gap:0;height:36px;min-height:36px;max-height:36px;padding:0 4px;overflow:visible}.combat-layout .actions-pop,.combat-layout .ai-prompt{z-index:40}.combat-layout .actions-dock .turn{display:none}.combat-layout .dock-row,.combat-layout .dock-row>button{height:36px;min-height:36px;max-height:36px}.combat-layout .fx-line{font-size:13px;line-height:1.2}.combat-layout .fx-result{font-size:11px}.combat-layout .play-popup{flex:auto;height:auto;min-height:0;overflow:hidden}.combat-layout .play-popup,.combat-layout .dialog-slot,.combat-layout .dialog-slot #fx{height:100%;max-height:100%;margin:0;position:relative;inset:auto;overflow:hidden}.combat-layout .dialog-slot:has(.combat-toast){height:100%;max-height:100%;margin:0;position:relative;inset:auto;overflow:hidden}.combat-layout .dialog-slot:has(.combat-toast) #fx{height:100%;max-height:100%;margin:0;position:relative;inset:auto;overflow:hidden}.combat-layout .dialog-slot:has(.combat-toast) .combat-toast{height:100%;max-height:100%;margin:0;position:relative;inset:auto;overflow:hidden}.combat-layout .combat-toast{gap:2px;padding:2px 6px}.debrief-screen{gap:4px}.debrief-head .eyebrow,.debrief-head .debrief-tone{display:none}.debrief-head h1{font-size:1rem}.debrief-actions{flex-direction:row;gap:4px;display:flex}.debrief-actions button{flex:1 1 0;justify-content:center;height:36px;min-height:36px;padding:2px 4px;font-size:12px}.mission-screen:has(.speaker-slot){padding:calc(2px + var(--safe-t)) calc(6px + var(--safe-r)) calc(2px + var(--safe-b)) calc(6px + var(--safe-l));gap:4px}.mission-screen:has(.speaker-slot) .topbar{min-height:26px}.mission-screen:has(.speaker-slot) .topbar .radar{width:22px;height:22px}.mission-screen:has(.speaker-slot) .clock svg{width:22px;height:22px}.mission-screen:has(.speaker-slot) .icon-btn{width:26px;min-width:26px;height:26px;min-height:26px;padding:0}.speaker-slot{flex-basis:92px;height:92px;min-height:92px;max-height:92px}.speaker-slot .speaker-card{padding:4px 6px}.speaker-slot .speaker-portrait,.speaker-slot .speaker-face{width:32px;height:32px}.speaker-slot .speaker-copy{min-height:0}.speaker-slot .speaker-name,.speaker-slot .speaker-call{padding-right:120px;font-size:12px;line-height:1.15}.speaker-slot .speaker-line{max-height:2.4em;margin-top:2px;font-size:13px;line-height:1.2}:is(.mission-screen:has(.speaker-slot) .actions button,.mission-screen:has(.speaker-slot) .brief-actions>button){height:36px;min-height:36px}}.map-world.is-range{width:min(100cqw, calc(100cqh * var(--cols) / var(--rows)));height:auto;aspect-ratio:calc(var(--cols) / var(--rows));background:#c5c1b4;max-width:100cqw;max-height:100cqh}html[data-hinge=open] .combat-layout:has(.is-range)>.topbar{position:relative;top:auto;left:auto;right:auto}html[data-hinge=open] .combat-layout:has(.is-range) .mission-body{flex-direction:column;grid-template-rows:none;grid-template-columns:none;height:auto;display:flex}html[data-hinge=open] .combat-layout:has(.is-range) .combat-chrome{overflow:visible}:is(.combat-layout .actions-dock:has(.actions-pop),.combat-layout .actions-dock:has(.ai-prompt)){z-index:30;overflow:visible}.combat-layout .play-feed:has(.combat-toast){z-index:20;position:relative;overflow:visible}.combat-layout:has(.is-range) .play-feed{flex:none;height:auto;min-height:0;max-height:none}.combat-layout:has(.is-range) .play-popup:not(:has(.combat-toast)){display:none}@media (min-height:431px){.combat-layout:has(.is-range) .play-popup:has(.combat-toast){z-index:21;flex:0 0 108px;height:108px;min-height:108px;max-height:108px;position:relative;overflow:hidden}}#kay-slot{flex:none;min-width:0}#kay-slot .kay-guide{z-index:4;max-height:none;position:relative;inset:auto}.is-range .range-cell,.is-range .cell,.is-range .obj-badge{left:calc(var(--c) / var(--cols) * 100%);top:calc(var(--r) / var(--rows) * 100%);width:calc(100% / var(--cols));height:calc(100% / var(--rows))}.is-range .obj-badge{left:calc((var(--c) + .5) / var(--cols) * 100%);top:calc(var(--r) / var(--rows) * 100%);width:14px;height:14px}.is-range .token-slot{left:calc((var(--c) + .5) / var(--cols) * 100%);top:calc((var(--r) + .5) / var(--rows) * 100%);width:calc(100% / var(--cols) * .9);aspect-ratio:1;z-index:2;height:auto}.is-range .cell.move{z-index:4}.range-cell{pointer-events:none;background:#d4d0c4;position:absolute;box-shadow:inset 0 0 0 1px #141c2847}.range-cell.is-half{background:#8fafc4}.range-cell.is-half:after{content:"";border:2px solid #167e96;border-radius:2px 2px 40% 40%;position:absolute;inset:22% 18%}.range-cell.is-full{background:#4e463c}.range-cell.is-gate{background:#e1c85a}.kay-guide{z-index:70;left:max(8px, var(--safe-l));right:max(8px, var(--safe-r));border:1px solid var(--line);pointer-events:auto;background:#0b1220f0;border-radius:12px;align-items:flex-start;gap:8px;max-height:28vh;padding:6px;display:flex;position:fixed;overflow:auto}.kay-face{object-fit:cover;border:2px solid #c9a227;border-radius:50%;flex:none;width:44px;height:44px}.tut-head .kay-face{width:72px;height:72px}.kay-bubble{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kay-row{align-items:center;gap:6px;min-width:0;display:flex}.kay-row b,.kay-say,.kay-do{min-width:0}.kay-guide b{letter-spacing:.02em;text-transform:uppercase;color:var(--gold,#e0b15a);font-size:.72rem}.kay-say,.kay-do{margin:0;font-size:.78rem;line-height:1.25}.kay-do{color:var(--cyan);flex:1}.kay-guide button{min-height:28px;padding:2px 8px;font-size:.72rem}.kay-quote{font-size:1rem;line-height:1.35}.tut-head{align-items:center;gap:10px;display:flex}.lvls{flex-direction:column;gap:8px;display:flex}.lvl{text-align:left;align-items:center;gap:8px;min-height:52px;display:flex}.lvl small{color:var(--muted);font-size:.75rem;display:block}.lvl .lnum{text-align:center;width:1.6rem;font-weight:700}.lvl.locked{opacity:.55}.lvl.done .lnum{color:#3ddc97}.tut-ring{z-index:69;pointer-events:none;border:3px solid #ffe600;border-radius:8px;animation:1s ease-in-out infinite tut-pulse;position:fixed;box-shadow:0 0 0 4px #ffe60059}.tut-spot{z-index:68;pointer-events:none;border-radius:12px;position:fixed;box-shadow:0 0 0 200vmax #0508109e}.tutglow{outline-offset:2px;z-index:71;outline:3px solid #ffe600;position:relative}.tut-shake{animation:.35s linear tut-shake}@keyframes tut-pulse{50%{box-shadow:0 0 0 6px #ffe60026}}@keyframes tut-shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.tut-ring,.tutglow,.tut-shake{animation:none}}
