@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--surface-0: #121511;--surface-1: #181c17;--surface-2: #20251f;--surface-3: #2a3028;--surface-4: #343b31;--surface-sunken: #0f120e;--scrim: rgb(8 10 7 / 72%);--border: #353c32;--border-strong: #4b5445;--text: #ebe7dc;--text-muted: #a9ab9c;--text-faint: #80847a;--accent: #c9a06a;--accent-strong: #e2bb83;--accent-soft: rgb(201 160 106 / 14%);--accent-ink: #1c150a;--good: #a3b983;--good-soft: rgb(163 185 131 / 14%);--warn: #dbab5c;--warn-soft: rgb(219 171 92 / 14%);--bad: #d4846f;--bad-soft: rgb(212 132 111 / 14%);--info: #93b4c6;--info-soft: rgb(147 180 198 / 13%);--focus: #f0d49c;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--fs-label: 11px;--fs-small: 12px;--fs-body: 14px;--fs-lead: 16px;--fs-h3: 18px;--fs-h2: 22px;--fs-h1: 30px;--fs-display: 38px;--tracking-label: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-s: 6px;--radius-m: 10px;--radius-l: 14px;--radius-pill: 999px;--shadow-1: 0 1px 0 rgb(255 255 255 / 3%) inset, 0 2px 8px rgb(0 0 0 / 25%);--shadow-2: 0 12px 40px rgb(0 0 0 / 45%);--ease: cubic-bezier(.2, .7, .2, 1);--touch: 44px;--sidebar-w: 200px;--topbar-h: 64px;--mobile-nav-h: 64px}:root{--brass-17: #3c2412;--brass-19: #3b2c22;--brass-37: #695440;--brass-37-2: #784e3d;--brass-47: #b64f3a;--brass-50: #9a6f51;--brass-56: #b37969;--brass-60: var(--accent);--brass-61: #bd896c;--brass-68: #e09279;--brass-68-2: #e39551;--brass-69: #dd9863;--brass-72: #dba390;--brass-77: #efaf91;--brass-77-2: #e1b6a5;--brass-78: #ffac83;--brass-81: #e7c3a3;--brass-87: #ffd0b5;--brass-89: #ffd7cb;--ink-00: #000000;--ink-13: var(--surface-1);--ink-20: var(--surface-2);--ink-34: var(--border-strong);--ink-90: var(--text);--moss-16: #132c24;--moss-30: #214f44;--moss-41: #4b6560;--moss-57: #738e7d;--moss-65: #74a995;--moss-70: #9aafa4;--moss-77: #a6c5c1;--moss-78: #91cfb6;--moss-80: #88d3cf;--moss-89: #b2ebd5;--moss-89-2: #a4eeed;--olive-07: #12170b;--olive-23: var(--surface-3);--olive-32: #3e5135;--olive-38: #456048;--olive-40: var(--border-strong);--olive-41: #5d6356;--olive-47: #69734e;--olive-51: #747c63;--olive-53: #758174;--olive-60: #87966a;--olive-63: #909c86;--olive-67: var(--good);--olive-69: var(--text-muted);--olive-72: #8eba92;--olive-72-2: #aab49b;--olive-73: #aaba6f;--olive-73-2: #b7b77b;--olive-74: #9cbf83;--olive-75: #b3be94;--olive-78: #b4c78b;--olive-78-2: #b9c3b2;--olive-81: #b9d387;--olive-82: #c0d1ac;--olive-86: #d3dd91;--olive-90: #dce7bf;--olive-96: #d5ffbd;--olive-96-2: #ecf7d9;--rust-28: #712c26;--rust-50: #aa635c;--slate-37: #405b60;--slate-73: #87bec0;--straw-12: #251f16;--straw-30: #514630;--straw-37: #665434;--straw-43: #7c6248;--straw-49: #827444;--straw-55: #8b865f;--straw-60: #a18e64;--straw-61: #99957b;--straw-66: #b4a15c;--straw-68: #b9a271;--straw-69: #c9a254;--straw-69-2: #b9a589;--straw-74: #c9b58f;--straw-75: #c9b77f;--straw-75-2: var(--text-muted);--straw-77: #e4b77f;--straw-77-2: #e3b967;--straw-77-3: #ddbb76;--straw-80: #d2c6a7;--straw-81: #ffbc66;--straw-83: #e6cd77;--straw-83-2: #edca8f;--straw-87: #e9d9ae;--straw-87-2: #e0dbc5;--straw-90: #ffdf76;--straw-92: #ffe59e;--straw-95: #fff0d4;--straw-96: #fff2c7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:root{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text);background:var(--surface-0);font-synthesis:none;font-weight:400;--muted: var(--text-muted);--line: var(--border);--red: var(--bad);--green: var(--good);--panel: var(--surface-1)}@media(max-width:600px){.subnav select{width:100%}}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button,a,select{outline-offset:5px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus)}button{color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-s);padding:10px 14px;font-weight:500;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}button:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}button.danger:hover:not(:disabled){background:var(--bad-soft)}button.small{padding:7px 10px;font-size:var(--fs-small)}button.icon{padding:8px;display:grid;place-items:center}button svg{flex:none;vertical-align:middle}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2{font-family:Barlow Condensed,Arial Narrow,sans-serif}h1{font-size:var(--fs-h1);font-weight:600;line-height:1.1;letter-spacing:.01em}h2{font-size:var(--fs-h2);font-weight:600;line-height:1.2}h3{font-size:var(--fs-lead);font-weight:600}.muted{color:var(--muted)}.eyebrow,.label{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:700;color:var(--accent)}.label{color:var(--text-faint)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:grid;gap:18px}.wrap{flex-wrap:wrap}.good{color:var(--green)}.warning{color:var(--accent)}.bad{color:var(--red)}.operatives{display:grid;gap:14px}.operative{border:1px solid var(--line);background:var(--ink-13);overflow:hidden}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{border:1px solid var(--border);background:var(--surface-1);border-radius:var(--radius-m);padding:var(--space-5)}.panel p{font-size:14px;color:var(--muted);line-height:1.7;margin-top:10px}select{background:var(--surface-sunken);border:1px solid var(--border);color:var(--text);padding:9px 10px;border-radius:var(--radius-s);width:100%;font-size:13px}.subnav{display:flex;gap:8px;margin:0 0 22px}.subnav .selected{background:var(--ink-34);border-color:var(--olive-47)}@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.operatives{grid-template-columns:1fr 1fr}}@media(max-width:600px){h1{font-size:34px}.operatives,.cards{grid-template-columns:1fr}.subnav{overflow:auto}.subnav button{font-size:12px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}:root{--mobile-nav-clearance: calc(66px + env(safe-area-inset-bottom)) }.modal.game-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;overscroll-behavior:contain;border-radius:7px;scrollbar-gutter:stable}.game-dialog .game-dialog-header{position:sticky;top:0;z-index:1;gap:14px;padding:14px 20px;background:var(--ink-13);border-bottom:1px solid var(--olive-40)}.game-dialog .game-dialog-header h2{min-width:0;font-size:25px;line-height:1.2}.game-dialog .game-dialog-header button{flex-shrink:0;min-width:44px;min-height:44px;justify-content:center}.game-dialog .game-dialog-body{padding:4px 22px 22px}.game-dialog .game-dialog-body>p{color:var(--straw-75-2)}.game-dialog .game-dialog-body>p.warning{color:var(--accent)}.game-dialog .game-dialog-body>p.bad{color:var(--red)}.game-dialog .health-summary{flex-wrap:wrap}.game-dialog .health-summary>span{flex-basis:auto}.game-dialog .care-quote dd{min-width:0;overflow-wrap:anywhere}.game-dialog .care-quote dt{flex-shrink:0}.game-dialog .game-dialog-body>button{min-height:44px}@media(max-width:480px){.modal.game-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.game-dialog .game-dialog-header{padding:10px 14px}.game-dialog .game-dialog-header h2{font-size:23px}.game-dialog .game-dialog-body{padding:2px 14px 18px}.game-dialog .care-quote dl>div{display:grid;grid-template-columns:1fr;gap:4px}.game-dialog .care-quote dd{text-align:left}.game-dialog .game-dialog-body>.row.wrap{align-items:stretch;flex-direction:column}.game-dialog .game-dialog-body>.row.wrap button{min-height:44px;justify-content:center}}.first-aid-care{margin:16px 0;padding:14px;border:1px solid var(--olive-40);background:var(--olive-23)}.first-aid-care p{margin:8px 0}.first-aid-care button{min-height:44px}.native-modal{color:var(--ink-90);margin:auto}.native-modal::backdrop{background:color-mix(in srgb,var(--ink-00) 85%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.health-summary{display:flex;align-items:center;gap:13px;padding:16px;background:var(--olive-23);border:1px solid var(--olive-40)}.health-summary>span{margin-left:auto;font-size:12px}.care-quote{background:var(--ink-13);border:1px solid var(--olive-32);padding:18px;margin:18px 0}.care-quote dl{display:grid;gap:12px;margin:16px 0 0}.care-quote dl>div{display:flex;justify-content:space-between;gap:15px;font-size:13px}.care-quote dt{color:var(--olive-72-2)}.care-quote dd{margin:0;text-align:right}.care-quote dl>div:nth-last-child(2){border-top:1px solid var(--olive-23);padding-top:12px}.medical-progress{background:var(--olive-23);border:1px solid var(--olive-38);padding:13px;margin-top:13px}.medical-progress>.row{font-size:12px;color:var(--olive-78-2);gap:12px}.medical-progress .meter{margin:12px 0}.medical-progress p{font-size:11px;line-height:1.6;margin:0;color:var(--olive-72-2)}.panel .medical-progress p{font-size:14px;line-height:1.7;margin-top:10px;color:var(--muted)}.medical-progress .meter i{background:var(--olive-72)}@media(max-width:600px){.care-quote{padding:13px}.medical-progress>.row{font-size:11px}}.stat{display:grid;grid-template-columns:58px 1fr 30px;gap:10px;align-items:center;font-size:var(--fs-label);color:var(--olive-69)}.stat>span:last-child{text-align:right}.meter{height:4px;background:var(--olive-23);overflow:hidden}.meter i{height:100%;background:var(--olive-67);display:block}.meter i.low{background:var(--brass-60)}.health-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.health-parts>div{font-size:12px;padding:12px;background:var(--olive-23)}.health-parts .meter{margin-top:10px}.modal{width:min(500px,95vw);max-height:90vh;overflow:auto;background:var(--ink-13);border:1px solid var(--olive-40);padding:28px;box-shadow:0 20px 90px var(--ink-00)}.modal p{font-size:14px;color:var(--muted);line-height:1.7;margin:15px 0}.difficulty-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2);margin:var(--space-3) 0;padding:0;border:0}.difficulty-choice legend{margin-bottom:var(--space-2);color:var(--text-muted);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.difficulty-choice label{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);cursor:pointer}.difficulty-choice label.is-selected{border-color:var(--accent);background:var(--accent-soft)}.difficulty-choice label span{display:grid;gap:var(--space-1)}.difficulty-choice small{color:var(--text-muted);font-size:var(--fs-small);line-height:1.4}.police-raid{display:grid;gap:var(--space-3)}.police-lead{display:flex;gap:8px;align-items:flex-start;margin:0}.police-lead svg{flex:none;margin-top:2px;color:var(--bad)}.police-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2)}.police-choices button,.interrogation-answers button{display:grid;gap:4px;justify-items:start;min-height:64px;padding:10px 12px;text-align:left;white-space:normal}.police-choices small,.interrogation-answers small{font-size:var(--fs-small);opacity:.85}.police-odds{font-size:var(--fs-small);font-weight:700;font-variant-numeric:tabular-nums}.interrogation{display:grid;gap:var(--space-3);max-width:760px}.interrogation-head{display:flex;gap:var(--space-3);align-items:center}.interrogation-head svg{color:var(--accent)}.interrogation-head h2{margin:0}.interrogation-cases{margin:0;padding-left:18px}.interrogation-log{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.interrogation-log li{padding:var(--space-2) var(--space-3);border-left:3px solid var(--border-strong);background:var(--surface-sunken);border-radius:var(--radius-s)}.interrogation-log li.is-denied{border-left-color:var(--good)}.interrogation-log li.is-caught{border-left-color:var(--bad)}.interrogation-log li.is-confessed{border-left-color:var(--warn)}.interrogation-log p,.interrogation-question p{margin:2px 0}.police-line{font-weight:600}.mies-line{font-style:italic;color:var(--text-muted)}.interrogation-answers{display:grid;gap:var(--space-2)}.interrogation-result{padding:var(--space-3);border-radius:var(--radius-m);background:var(--surface-2)}.interrogation-result.is-free{box-shadow:inset 0 0 0 1px var(--good)}.interrogation-result.is-jail{box-shadow:inset 0 0 0 1px var(--bad)}.endgame-choice{display:grid;gap:var(--space-3);max-width:720px}.endgame-lead{margin:0}.endgame-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.endgame-option{display:grid;gap:var(--space-2);align-content:start;padding:12px;border:1px solid var(--border);border-radius:var(--radius-m)}.endgame-option.is-true{border-color:var(--bad)}.endgame-option strong{display:flex;gap:6px;align-items:center}.endgame-option.is-true strong svg{color:var(--bad)}.endgame-option p{margin:0;font-size:var(--fs-small);line-height:1.45}.endgame-confirm{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-small);line-height:1.4}.endgame-confirm input{flex:none;margin-top:2px}.endgame-switch{display:grid;gap:var(--space-2)}.final-quest{display:grid;gap:var(--space-3);max-width:720px}.final-lead{margin:0;line-height:1.5}.final-tally{display:grid;gap:var(--space-3)}.final-score{display:grid;justify-items:center;gap:2px;padding:12px;border:1px solid var(--accent);border-radius:var(--radius-m);background:var(--accent-soft);text-align:center}.final-score strong{font-family:var(--font-display);font-size:var(--fs-display);line-height:1;color:var(--accent-strong)}.final-lines{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.final-lines th,.final-lines td{padding:5px 6px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.final-lines thead th{color:var(--text-muted);font-weight:600}.final-lines tbody th{font-weight:500}.final-lines td:last-child,.final-lines th:last-child{text-align:right;white-space:nowrap}.final-lines .is-plus{color:var(--good)}.final-lines .is-minus{color:var(--bad)}.final-note{margin:0;font-size:var(--fs-small)}.final-actions{gap:var(--space-2);flex-wrap:wrap}.final-tally-callout{align-items:center}.feedback-dialog{display:grid;gap:var(--space-4);max-width:520px;text-align:left}.feedback-dialog section{display:grid;gap:var(--space-2)}.feedback-dialog h3{margin:0}.feedback-dialog h3 small{color:var(--text-faint);font-size:var(--fs-small);font-weight:500}.feedback-stars{display:flex;gap:3px}.feedback-star{flex:1 1 0;min-width:0;max-width:40px;min-height:40px;padding:0;color:var(--text-faint);font-size:20px;line-height:1}.feedback-star.is-zero{font-size:var(--fs-small);font-weight:700}.feedback-star.is-lit{color:var(--accent-strong)}.feedback-star.is-chosen{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.feedback-kinds{gap:var(--space-2)}.feedback-text{width:100%;min-height:130px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:inherit;resize:vertical}.feedback-note,.feedback-privacy{margin:0;color:var(--text-muted);font-size:var(--fs-small)}.feedback-privacy{color:var(--text-faint)}.feedback-status{margin:0;font-weight:600}.feedback-status.is-ok{color:var(--good)}.feedback-status.is-bad{color:var(--bad)}.feedback-actions{gap:var(--space-2)}.settings-feedback{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%}.pause-menu-feedback{display:inline-flex;align-items:center;gap:var(--space-2)}.final-tally-modal,.leaderboard-send,.leaderboard-dialog{display:grid;gap:var(--space-3)}.leaderboard-dialog{max-width:560px}.leaderboard-send h3,.leaderboard-send p,.leaderboard-dialog p{margin:0}.leaderboard-form{gap:var(--space-2)}.leaderboard-form input{flex:1 1 180px;min-width:0;min-height:40px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:inherit}.leaderboard-rows th small{display:block;color:var(--text-muted);font-weight:400}.leaderboard-name{overflow-wrap:anywhere}.leaderboard-rows tr.is-own{background:var(--accent-soft)}.app{display:grid;grid-template-columns:208px 1fr;min-height:100vh}.sidebar{background:var(--ink-00);border-right:1px solid var(--line);padding:32px 19px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:208px;z-index:5}.brand{margin:0 12px 9px}.sidebar nav{display:grid;gap:7px}.nav-btn.active{border-left-color:var(--accent)}.shell{grid-column:2}.empty{text-align:center;padding:50px 20px;border:1px dashed var(--line);color:var(--muted);line-height:1.9}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;gap:20px}.loading p{color:var(--muted)}@media(max-width:1150px){.app{grid-template-columns:175px 1fr}.sidebar{width:175px;padding:25px 11px}}@media(max-width:600px){.app{display:block;padding-bottom:65px}.sidebar{inset:auto 0 0;width:100%;height:65px;padding:0;border-right:0;border-top:1px solid var(--line);background:var(--ink-13)}.sidebar nav{display:flex;height:100%;justify-content:space-around}.nav-btn{flex-direction:column}.nav-btn.active{border-top-color:var(--accent);border-left:0}.nav-btn svg{width:19px;height:19px}.nav-btn .count,.brand,.brand-sub,.side-bottom{display:none}}.game-layout button,.game-layout select,.game-layout summary{touch-action:manipulation}.game-layout button:focus-visible,.game-layout a:focus-visible,.game-layout select:focus-visible,.game-layout summary:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:3px}.game-layout button:not(:disabled),.game-layout select,.game-layout summary{cursor:pointer}.game-layout button:disabled{cursor:not-allowed}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px;background:var(--straw-95);color:var(--ink-13)}.skip-link:focus{top:12px}.crew-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.crew-chip{display:flex;align-items:center;min-width:0;text-align:left;padding:9px 12px;gap:10px;background:var(--ink-13);border-color:var(--ink-34);border-radius:5px}.crew-chip img{flex:0 0 36px;object-fit:cover;border-radius:4px}.crew-location{display:grid;min-width:0;gap:3px;flex:1}.crew-location strong{color:var(--straw-87-2);font-size:13px}.crew-location small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-label);color:var(--olive-78-2)}.crew-vitals{display:flex;gap:12px;font-size:var(--fs-label);color:var(--olive-78-2)}.crew-vitals span{display:grid;gap:3px}.crew-vitals b{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink-90)}.crew-vitals .bad b{color:var(--brass-77)}.crew-chip.needs-help{border-color:var(--brass-68)}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.workspace-tabs{display:flex;flex-wrap:wrap;gap:6px}.workspace-tabs button{padding:10px 14px;font-size:12px;min-height:40px}.workspace-tabs button[aria-pressed=true]{background:var(--olive-23);border-color:var(--olive-67);color:var(--straw-95)}.workspace-tabs button span{margin-left:8px;color:var(--straw-77);font-variant-numeric:tabular-nums}@media(max-width:1200px){.crew-vitals{gap:8px}.crew-vitals span:last-child{display:none}}@media(max-width:760px){.crew-strip{gap:7px;margin-bottom:14px}.crew-chip{padding:8px;gap:7px;flex-wrap:wrap}.crew-chip img{width:28px;height:32px;flex-basis:28px}.crew-vitals{width:100%;flex-wrap:wrap;gap:4px 8px;justify-content:space-between}.crew-vitals span{display:flex;gap:4px;align-items:baseline;font-size:var(--fs-label)}.crew-vitals span:last-child{display:flex}.crew-vitals b{font-size:11px}.workspace-tabs{gap:5px;width:100%}.workspace-tabs button{flex:1;padding:9px 8px}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--surface-0)}.app-shell .app-sidebar{position:sticky;inset:0 auto auto 0;width:auto;height:100vh;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-3) var(--space-4);background:var(--surface-sunken);border-right:1px solid var(--border);z-index:20}.app-shell .brand{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:.95;letter-spacing:.02em;padding:0 var(--space-2)}.app-shell .brand span{display:block;color:var(--accent)}.app-shell .brand-sub{padding:var(--space-2) var(--space-2) var(--space-5);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin:0}.app-shell .app-sidebar nav{display:grid;gap:var(--space-1)}.app-shell .nav-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-s);background:none;color:var(--text-muted);font-size:var(--fs-body);text-align:left}.app-shell .nav-btn:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--text)}.app-shell .nav-btn.active{background:var(--surface-3);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.app-shell .nav-btn .count{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-small);font-weight:700;text-align:center}.app-shell .encounter-nav{margin-top:var(--space-2);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-soft)}.app-shell .encounter-nav .count{background:var(--warn);color:var(--accent-ink)}.app-shell .place-nav{margin-top:var(--space-2);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft);color:var(--text)}.app-shell .side-bottom{margin-top:auto;display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--fs-label);color:var(--text-faint)}.save-state.is-error{color:var(--bad)}.tier-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);font-weight:600;color:var(--accent-strong)}.tier-pips{display:inline-flex;gap:3px}.tier-pips i{width:6px;height:12px;border-radius:2px;background:var(--surface-4)}.tier-pips i.on{background:var(--accent)}.app-shell .shell{min-width:0}.app-shell .page{max-width:1560px;margin:0 auto;padding:var(--space-4) var(--space-6) var(--space-8)}.app-topbar{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"clock speed . stats tools" "ticker ticker ticker ticker ticker";align-items:center;gap:var(--space-1) var(--space-4);min-height:var(--topbar-h);padding:var(--space-2) var(--space-6);background:color-mix(in srgb,var(--surface-1) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar-clock{grid-area:clock;display:flex;align-items:center;gap:var(--space-3)}.topbar-day{display:grid;line-height:1.25}.topbar-day strong{font-size:var(--fs-body)}.topbar-day span{font-size:var(--fs-label);color:var(--text-faint);letter-spacing:.04em}.topbar-time{font-family:var(--font-display);font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;padding-left:var(--space-3);border-left:1px solid var(--border)}.speed-control{grid-area:speed;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-sunken)}.speed-control button{min-width:38px;min-height:36px;padding:0 8px;border:0;border-radius:var(--radius-s);background:none;color:var(--text-muted);font-size:var(--fs-small);font-weight:700;display:inline-grid;place-items:center}.speed-control button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.speed-control .speed-toggle,.speed-control .speed-step{display:none}.speed-control .speed-hurry{color:var(--accent)}.speed-control .pause-menu-button{min-width:34px}.pause-menu-intro,.pause-menu-note{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--fs-small)}.pause-rules{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none}.pause-rules li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.pause-rules li>div{display:grid;gap:2px;min-width:0}.pause-rules li span{color:var(--text-muted);font-size:var(--fs-small)}.pause-rules .chip{flex:none;min-width:108px;justify-content:center}.pause-menu-actions{gap:var(--space-2)}.tutorial-dialog{display:grid;gap:var(--space-3);max-width:560px}.tutorial-step,.tutorial-note{margin:0}.tutorial-note{font-size:var(--fs-small)}.tutorial-card{display:grid;gap:var(--space-2)}.tutorial-lead{margin:0;font-weight:600}.tutorial-points{display:grid;gap:var(--space-2);margin:0;padding-left:1.2em}.tutorial-where{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--info);border-radius:var(--radius-m);background:var(--info-soft);font-size:var(--fs-small)}.tutorial-where svg{flex:none}.tutorial-actions{gap:var(--space-2)}.tutorial-actions .tutorial-off{margin-left:auto;color:var(--text-muted)}.tutorial-list{display:grid;gap:var(--space-1);margin:0 0 var(--space-3)}.tutorial-list h3{margin:0 0 var(--space-1)}.tutorial-list details{padding:var(--space-1) 0;border-bottom:1px solid var(--border)}.tutorial-list summary{cursor:pointer;font-weight:600}.tutorial-list .tutorial-card{padding:var(--space-2) 0}.tutorial-toggle{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-2);font-size:var(--fs-small)}.clock-state{padding:0 var(--space-2) 0 var(--space-1);font-size:var(--fs-label);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.topbar-ticker{grid-area:ticker;display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:30px;margin:0 calc(-1 * var(--space-3));padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-s);background:none;color:var(--text-muted);font-size:var(--fs-small);text-align:left}.topbar-ticker:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);color:var(--text)}.ticker-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ticker-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--surface-4)}.topbar-ticker.is-fresh{color:var(--text);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.topbar-ticker.is-fresh .ticker-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.topbar-stats{grid-area:stats;display:flex;gap:var(--space-5);margin:0}.topbar-stats>div{display:grid;gap:1px}.topbar-stats dt{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.topbar-stats dd{white-space:nowrap;margin:0;display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.topbar-stats dd.is-cash{color:var(--accent-strong)}.topbar-stats dd.is-low{color:var(--bad)}.topbar-stats .star{color:var(--accent);font-size:15px}.topbar-weather dd{font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;color:var(--text-muted)}.topbar-tools{grid-area:tools;display:flex;gap:var(--space-1)}.icon-button{position:relative;display:inline-grid;place-items:center;width:var(--touch);height:var(--touch);padding:0;border:1px solid transparent;background:none;color:var(--text-muted);border-radius:var(--radius-m)}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-button .badge{position:absolute;top:5px;right:4px;min-width:18px;padding:1px 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-label);font-weight:800;line-height:1.4}.settings-menu{position:relative}.settings-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(300px,calc(100vw - 24px));display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.settings-head{display:flex;justify-content:space-between;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--fs-small)}.chip.is-on{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.volume-row{display:grid;grid-template-columns:80px 1fr 32px;align-items:center;gap:var(--space-2);font-size:var(--fs-small);color:var(--text-muted)}.volume-row input{accent-color:var(--accent);width:100%}.volume-row output{text-align:right;font-variant-numeric:tabular-nums}.volume-row.is-off{opacity:.5}.settings-note{font-size:var(--fs-small);color:var(--text-faint);line-height:1.5}.modal.game-dialog.game-drawer{margin:0 0 0 auto;width:min(440px,100vw);height:100dvh;max-height:100dvh;border-radius:0;border:0;border-left:1px solid var(--border-strong);background:var(--surface-1)}.game-drawer .game-dialog-header{background:var(--surface-1);border-bottom-color:var(--border)}.event-day h3{position:sticky;top:0;margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}.event-day ol{display:grid;gap:2px;margin:0;padding:0;list-style:none}.event-day li{display:grid;grid-template-columns:44px 1fr;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.5;color:var(--text)}.event-day time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:var(--fs-small)}.event-note{margin-top:var(--space-4);font-size:var(--fs-small);color:var(--text-faint)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.page-head>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-3);min-width:0}.page-head h1{font-size:26px;line-height:1.1}.page-head p{font-size:var(--fs-small);color:var(--text-faint)}.page-is-home .page-head{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.callout{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-m);background:var(--surface-1)}.callout>div{display:grid;gap:2px}.callout p{font-size:var(--fs-small);color:var(--text-muted)}.callout.is-accent{background:var(--accent-soft)}.callout.is-bad{border-left-color:var(--bad);background:var(--bad-soft)}.save-error{position:fixed;left:50%;top:calc(var(--topbar-h) + 12px);translate:-50% 0;z-index:60;width:max-content;max-width:min(560px,calc(100vw - 32px));padding:var(--space-3) var(--space-4);border:1px solid var(--bad);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-2)}.link-button{display:inline-flex;align-items:center;gap:3px;min-height:0;padding:0 0 0 6px;border:0;background:none;color:var(--accent-strong);font-size:inherit}.link-button:hover:not(:disabled){background:none;text-decoration:underline}@media(max-width:1240px){.topbar-weather{display:none!important}}@media(max-width:1100px){.app-shell{--sidebar-w: 72px}.app-shell .app-sidebar{padding:var(--space-4) var(--space-2);align-items:stretch}.app-shell .brand{font-size:14px;text-align:center;padding:0 0 var(--space-3)}.topbar-stats{gap:var(--space-3)}.topbar-stats dd{font-size:19px}.topbar-time{font-size:28px}.app-shell .brand-sub,.app-shell .side-bottom{display:none}.app-shell .nav-btn{position:relative;flex-direction:column;justify-content:center;gap:3px;padding:var(--space-2) 0;min-height:56px;font-size:var(--fs-label);text-align:center}.app-shell .nav-btn .count{position:absolute;top:4px;right:4px;min-width:18px;padding:0 4px;font-size:var(--fs-label)}.app-shell .page{padding:var(--space-4) var(--space-4) var(--space-8)}.app-topbar{padding:var(--space-2) var(--space-4);gap:var(--space-3)}.clock-state{display:none}}@media(max-width:600px){.app-shell{display:block;padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom))}.app-shell .app-sidebar{position:fixed;inset:auto 0 0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));flex-direction:row;padding:0 0 env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-sunken) 97%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell .brand{display:none}.app-shell .app-sidebar nav{display:flex;flex:1;gap:0}.app-shell .nav-btn{flex:1;min-width:0;height:100%;min-height:0;border-radius:0;box-shadow:none}.app-shell .nav-btn.active{box-shadow:inset 0 2px 0 var(--accent)}.app-shell .encounter-nav,.app-shell .place-nav{margin:0}.app-shell .page{padding:var(--space-3) var(--space-3) var(--space-7)}.app-topbar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"clock speed tools" "stats stats stats" "ticker ticker ticker";gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1)}.topbar-day strong{font-size:var(--fs-small)}.topbar-time{font-size:26px;padding-left:var(--space-2)}.speed-control{padding:2px}.speed-control .speed-option,.speed-control .speed-hurry{display:none}.speed-control .speed-toggle,.speed-control .speed-step{display:inline-grid;min-width:42px;min-height:40px}.speed-control .speed-toggle{background:var(--accent);color:var(--accent-ink)}.icon-button{width:40px;height:40px}.topbar-stats{justify-content:space-between;gap:var(--space-2);padding-top:var(--space-1);border-top:1px solid var(--border)}.topbar-stats>div{grid-auto-flow:column;align-items:baseline;gap:6px}.topbar-stats dd{font-size:17px}.topbar-ticker{min-height:28px;padding:2px var(--space-2)}.ticker-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:var(--fs-small);line-height:1.35}.page-head h1{font-size:24px}.callout{flex-direction:column;align-items:stretch}.modal.game-dialog.game-drawer{margin:auto 0 0;width:100vw;max-width:100vw;height:85dvh;max-height:85dvh;border-left:0;border-top:1px solid var(--border-strong);border-radius:var(--radius-l) var(--radius-l) 0 0}}@media(max-width:360px){.topbar-day{display:none}.topbar-time{border:0;padding:0}}.first-job-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid color-mix(in srgb,var(--info) 45%,var(--border));border-left:3px solid var(--info);border-radius:var(--radius-m);background:linear-gradient(90deg,var(--info-soft),transparent 70%),var(--surface-1)}.first-job-guide .guide-icon{color:var(--info)}.guide-copy{display:grid;gap:1px;min-width:0}.guide-copy .label{color:var(--info)}.guide-copy strong{font-size:var(--fs-body)}.guide-copy p{margin:0;font-size:var(--fs-small);line-height:1.45;color:var(--text-muted)}.guide-progress{display:flex;gap:4px;margin:0;padding:0;list-style:none}.guide-progress li{width:16px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong)}.guide-progress li.is-done{background:color-mix(in srgb,var(--info) 55%,transparent)}.guide-progress li.is-current{background:var(--info)}.guide-action{display:inline-flex;align-items:center;gap:6px;min-height:40px;white-space:nowrap}.guide-skip{min-width:36px;min-height:36px}.page-is-combat .first-job-guide{margin-bottom:var(--space-2);padding-block:6px}@media(max-width:760px){.first-job-guide{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy skip" "icon action action";gap:var(--space-2) var(--space-3);padding-left:var(--space-3)}.first-job-guide .guide-icon{grid-area:icon;align-self:start;margin-top:2px}.guide-copy{grid-area:copy}.guide-skip{grid-area:skip;align-self:start}.guide-action{grid-area:action;justify-self:start}.guide-progress{display:none}.page-is-combat .first-job-guide .guide-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.hire-vitals{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:var(--fs-label);color:var(--text-muted)}.hire-vitals b{font-variant-numeric:tabular-nums;color:var(--text)}.hire-vitals .bad b{color:var(--bad)}.staff-strip li{flex-wrap:wrap}.staff-strip li .hire-vitals{flex-basis:100%}.dispatch-drawer fieldset label:has(.hire-vitals){flex-wrap:wrap;flex-basis:100%}.dispatch-drawer fieldset label .hire-vitals{flex-basis:100%;padding-left:24px}.travel-picker{display:grid;gap:6px;min-width:0}.travel-modes{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden}.travel-modes .travel-mode{display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;min-height:64px;margin:0;padding:6px 4px;border:0;border-radius:0;background:none;color:var(--text);text-align:center}.travel-modes .travel-mode+.travel-mode{border-left:1px solid var(--border)}.travel-modes .travel-mode[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.travel-modes .travel-mode.is-unavailable:not([aria-pressed=true]){color:var(--text-faint)}.travel-modes .travel-mode span{color:inherit}.travel-modes .travel-mode-name{font-size:var(--fs-small);font-weight:700}.travel-modes .travel-mode-time{font-size:var(--fs-label);line-height:1.3;overflow-wrap:anywhere}.travel-picker.is-compact .travel-mode{min-height:52px;padding:4px}.travel-walk-warning{display:flex;align-items:center;gap:6px;margin:0;color:var(--accent);font-size:var(--fs-small)}.travel-chooser{display:grid;gap:6px;min-width:0;align-self:stretch}.travel-reason{margin:0;color:var(--text-muted);font-size:var(--fs-small)}.travel-chooser .travel-go{justify-self:start}.room-stages{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:10px 0;padding:0}.room-stages [aria-current=step]{font-weight:700;color:var(--straw-92)}.room{position:relative;aspect-ratio:1.68;min-height:290px;overflow:hidden;border:1px solid var(--ink-34);background:var(--ink-00)}.room>img{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.7)}.room:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 55%,color-mix(in srgb,var(--ink-00) 79%,transparent));pointer-events:none}@media(min-width:1600px){.room{aspect-ratio:1.85}}@media(max-width:1150px){.room{min-height:310px}}@media(max-width:850px){.home-grid{grid-template-columns:1fr}.room{aspect-ratio:1.7;min-height:0}}.apartment-scene{container-type:inline-size;position:relative;isolation:isolate;border:1px solid var(--olive-40);background:var(--ink-13);overflow:hidden;min-width:0;aspect-ratio:1.49;box-shadow:inset 0 0 70px color-mix(in srgb,var(--ink-00) 40%,transparent)}.apartment-scene>svg{width:100%;height:100%;display:block}.apartment-scene.night>svg{filter:saturate(.86)}.apartment-scene.warm-light>svg{filter:saturate(1.04)}.apartment-scene.night.warm-light>svg{filter:saturate(.94)}.apartment-heading{position:absolute;left:22px;right:22px;top:21px;display:flex;justify-content:space-between;gap:12px;color:var(--olive-78-2);font-size:var(--fs-label);letter-spacing:1px}.apartment-heading .eyebrow{font-size:var(--fs-label);color:var(--straw-87-2);letter-spacing:2px}.apartment-caption{position:absolute;bottom:23px;left:24px;right:24px;display:grid;gap:10px;pointer-events:none}.apartment-caption>span{font-family:Barlow Condensed,sans-serif;font-size:23px;font-weight:500;letter-spacing:.3px;color:var(--ink-90)}.apartment-caption>small{font-size:var(--fs-label);letter-spacing:2px;color:var(--olive-72-2)}.room-hotspots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.room-hotspot{position:absolute;pointer-events:auto;padding:7px;display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--olive-72-2) 33%,transparent);border-radius:50%;color:var(--straw-87-2);background:color-mix(in srgb,var(--ink-13) 78%,transparent);box-shadow:0 2px 10px color-mix(in srgb,var(--ink-00) 33%,transparent);transform:translate(-50%,-50%)}.room-hotspot>span{display:none;font-size:var(--fs-label);white-space:nowrap}.room-hotspot:hover,.room-hotspot:focus-visible,.room-hotspot.selected{border-radius:3px;z-index:2;background:var(--olive-23)}.room-hotspot:hover>span,.room-hotspot:focus-visible>span,.room-hotspot.selected>span{display:inline}.room-hotspot[data-edge=left]:is(:hover,:focus-visible,.selected){transform:translate(-14px,-50%)}.room-hotspot[data-edge=right]:is(:hover,:focus-visible,.selected){transform:translate(calc(-100% + 14px),-50%);flex-direction:row-reverse}@container (max-width: 500px){.room-hotspot{padding:5px}.room-hotspot svg{width:12px;height:12px}.room-hotspot>span{max-width:90px;white-space:normal}}.room-inspect{position:absolute;left:18px;right:18px;bottom:16px;z-index:4;padding:16px;background:color-mix(in srgb,var(--ink-13) 93%,transparent);border:1px solid var(--olive-51);box-shadow:0 4px 30px color-mix(in srgb,var(--ink-00) 53%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.room-inspect strong{font-size:15px;color:var(--straw-87-2)}.room-inspect p{font-size:12px;line-height:1.7;color:var(--straw-75-2);margin:10px 0 13px}.room-inspect .icon{padding:4px}.room-inspect .small{font-size:11px}.room-rain{animation:rain-fall 1.8s linear infinite}.room-snow{animation:snow-fall 6s linear infinite}.sleep-letter{animation:sleep-breathe 3s ease-in-out infinite}.room-outbreak-view,.room-gunfire{mix-blend-mode:screen}.room-gunfire{opacity:0;animation:room-gunfire 6s steps(1,end) infinite}@keyframes room-gunfire{0%,to{opacity:0}2%{opacity:1}3%{opacity:0}4%{opacity:.85}5%{opacity:0}}@media(max-width:1150px){.apartment-caption>span{font-size:19px}.apartment-heading{left:15px;right:15px;top:15px}.apartment-caption{left:17px;bottom:18px}.apartment-heading>span:last-child{display:none}}@media(max-width:600px){.apartment-scene{aspect-ratio:1.49}.apartment-scene>svg{object-fit:cover}.room-hotspot{padding:5px}.room-hotspot svg{width:12px;height:12px}.room-hotspot>span{max-width:90px;white-space:normal}.room-inspect{left:10px;right:10px;bottom:10px;padding:12px}.apartment-heading .eyebrow{font-size:var(--fs-label);letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.room-rain,.room-snow,.sleep-letter,.room-gunfire{animation:none}}.portrait-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--straw-87-2);font-size:20px;font-weight:700}.operative-portrait-art{display:block;width:100%;height:100%;flex:none;overflow:hidden;border-radius:5px;background:var(--surface-2)}.crew-chip>.operative-portrait-art{width:36px;height:36px}.operative-portrait-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;opacity:1;margin:0}@media(max-width:600px){.crew-chip>.operative-portrait-art{width:32px;height:32px}}.wellbeing-actions{padding:12px;margin:8px 0;border:1px solid var(--slate-37);border-radius:10px;background:var(--ink-13);overflow-wrap:anywhere}.wellbeing-actions summary{cursor:pointer;font-weight:700;min-height:32px}.wellbeing-actions p{font-size:13px;line-height:1.5;margin:8px 0}.wellbeing-actions button{min-height:44px;margin:4px 6px 4px 0;max-width:100%;white-space:normal}.home-layout{--scene-w: calc(max(340px, 100dvh - var(--game-hud-height, 96px) - 150px)*1.49) ;display:grid;grid-template-columns:minmax(0,var(--scene-w)) minmax(380px,1fr);grid-template-areas:"status status" "hero side";gap:var(--space-4) var(--space-5);align-items:start}.home-status{grid-area:status;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2)}.home-hero{grid-area:hero;min-width:0}.home-side{grid-area:side;display:grid;gap:var(--space-3);min-width:0}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.crew-card{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-1)}.crew-card-head{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--space-3);align-items:center}.crew-portrait{width:56px;height:56px;border-radius:var(--radius-s);overflow:hidden;background:var(--surface-2)}.crew-portrait .operative-portrait-art{border-radius:0}.crew-id{display:grid;gap:3px;min-width:0}.crew-id h3{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:22px;letter-spacing:.02em}.crew-id h3 svg{color:var(--text-faint)}.crew-role{font-size:var(--fs-small);color:var(--text-faint)}.status-pill{justify-self:start;padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-small)}.status-pill.is-home{background:var(--good-soft);color:var(--good)}.readiness{display:grid;justify-items:center;min-width:64px;padding:var(--space-2);border-radius:var(--radius-m);background:var(--surface-2)}.readiness strong{font-family:var(--font-display);font-size:30px;line-height:1}.readiness span{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.readiness.is-good strong{color:var(--good)}.readiness.is-warn strong{color:var(--warn)}.readiness.is-bad strong{color:var(--bad)}.vitals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4)}.vital{display:grid;grid-template-columns:1fr auto;gap:3px;font-size:var(--fs-small)}.vital-label{color:var(--text-muted)}.vital-value{font-variant-numeric:tabular-nums;font-weight:600}.vital-bar{grid-column:1 / -1;height:5px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.vital-bar i{display:block;height:100%;border-radius:inherit;background:var(--good)}.vital.is-low .vital-bar i{background:var(--bad)}.vital.is-low .vital-value{color:var(--bad)}.crew-note{font-size:var(--fs-small);line-height:1.5;color:var(--text-muted)}.crew-actions{display:flex;flex-wrap:wrap;gap:6px}.crew-actions button{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:0 8px;font-size:13px;white-space:nowrap}.crew-card .wellbeing-actions{margin:0;padding:0;border:0;border-top:1px solid var(--border);border-radius:0;background:none;box-shadow:none}.crew-card .wellbeing-actions summary{padding:var(--space-2) 0 0;font-size:13px;font-weight:500;color:var(--text-muted);background:none}.today-tile{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto auto;gap:1px var(--space-2);align-content:start;align-items:center;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-1);text-align:left}.today-tile.is-event{border-style:dashed;border-color:var(--border-strong);background:none}.today-tile.is-event small{-webkit-line-clamp:2}.today-tile svg{color:var(--accent)}.today-tile>:not(svg){grid-column:2}.today-tile strong{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.15}.today-tile strong.is-warn{color:var(--warn)}.today-tile small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:var(--fs-small);color:var(--text-muted);line-height:1.4}.growth-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius-m);background:linear-gradient(160deg,var(--accent-soft),transparent 60%),var(--surface-1)}.growth-head{display:flex;justify-content:space-between;gap:var(--space-2);align-items:flex-start}.growth-head h3{margin-top:2px;font-family:var(--font-display);font-size:24px}.growth-head p,.growth-perks{font-size:var(--fs-small);color:var(--text-muted);line-height:1.5}.victory-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-small);font-weight:700;white-space:nowrap}.growth-next ul,.goal-list{display:grid;gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none}.growth-next li{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--text-muted)}.growth-next li.is-met{color:var(--good)}.growth-expand{margin-top:var(--space-2)}.growth-reason{margin:var(--space-1) 0 0;font-size:var(--fs-small);color:var(--text-muted)}.goal-list li{display:grid;grid-template-columns:16px 1fr auto;gap:var(--space-2);align-items:start;padding:var(--space-2) 0;border-top:1px solid var(--border)}.goal-list li:first-child{border-top:0}.goal-list li>div{display:grid;gap:1px}.goal-list strong{font-size:13px}.goal-list span{font-size:var(--fs-small);color:var(--text-muted)}.goal-list .goal-progress{color:var(--accent-strong);font-variant-numeric:tabular-nums}.goal-list em{font-style:normal;font-size:var(--fs-small);font-weight:700;color:var(--good)}.goal-icon{margin-top:2px;color:var(--text-faint)}.goal-empty{display:block!important;font-size:var(--fs-small);color:var(--text-muted)}@media(max-width:1100px){.home-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"status" "hero" "side"}}@media(max-width:600px){.home-layout{grid-template-areas:"hero" "side" "status"}.today-tile small{-webkit-line-clamp:2}.crew-grid{grid-template-columns:1fr}.home-status{grid-template-columns:1fr 1fr}.home-status>:first-child,.home-status>.is-event{grid-column:1 / -1}}@keyframes rain-fall{0%{transform:translate(4px,-15px)}to{transform:translate(-4px,15px)}}@keyframes snow-fall{0%{transform:translateY(-15px);opacity:.35}50%{opacity:.9}to{transform:translate(9px,20px);opacity:.35}}@keyframes sleep-breathe{0%,to{opacity:.4}50%{opacity:.9}}.growth-summary{width:100%;gap:var(--space-2);text-align:left;color:inherit;font-weight:400;cursor:pointer}.growth-summary:hover:not(:disabled){border-color:var(--accent)}.growth-summary .growth-head h3{font-size:22px}.growth-line{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--fs-small);color:var(--text-muted)}.growth-line span{display:inline-flex;align-items:center;gap:5px;min-width:0}.growth-line strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.growth-line em{font-style:normal;font-weight:700;color:var(--good);white-space:nowrap}.growth-open{display:inline-flex;align-items:center;gap:2px;justify-self:end;font-size:var(--fs-small);font-weight:700;color:var(--accent)}@container (max-width: 500px){.apartment-heading{display:none}.apartment-caption{left:8px;right:auto;bottom:8px;max-width:72%;gap:1px;padding:4px 8px;border-radius:var(--radius-s);background:#0009}.apartment-caption>span{font-family:var(--font-body);font-size:12px;line-height:1.3}.apartment-caption>small{font-size:10px;letter-spacing:1px}}.side-business{container:side-business / inline-size;display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-l);background:linear-gradient(160deg,rgb(120 40 30 / 12%),transparent 60%),var(--surface-1)}.side-business-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.side-business-head h3{margin:2px 0 0;font-family:var(--font-display);font-size:var(--fs-h3)}.police-heat{position:relative;display:flex;gap:var(--space-1);align-items:center;flex:none;min-width:96px;padding:4px var(--space-2) 7px;border-radius:var(--radius-s);background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-small);overflow:hidden}.police-heat:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--border)}.police-heat i{position:absolute;left:0;bottom:0;height:3px;background:var(--info)}.police-heat.is-warm i{background:var(--warn)}.police-heat.is-hot{color:var(--bad)}.police-heat.is-hot i{background:var(--bad)}.side-business-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start}.side-business-row>div{min-width:0}.side-business-row>svg{margin-top:2px;color:var(--accent)}.side-business-row p{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-small);line-height:1.45}.side-business-row p.warning{color:var(--warn)}.side-business-row button{white-space:nowrap}.side-business-alert{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--bad-soft);color:var(--bad);font-size:var(--fs-small)}.side-business-note{margin:0;color:var(--text-faint);font-size:var(--fs-small)}@container side-business (max-width: 520px){.side-business-row{grid-template-columns:auto 1fr}.side-business-row>button,.side-business-row>.side-business-buttons{grid-column:1 / -1}}.food-cupboard{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-1)}.food-cupboard-head{display:flex;gap:var(--space-2);align-items:center}.food-cupboard-head svg{color:var(--accent)}.food-cupboard-head span{margin-left:auto;font-size:var(--fs-small);color:var(--text-muted)}.food-cupboard ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.food-cupboard li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2);align-items:center;font-size:var(--fs-small)}.food-cupboard .food-name{display:grid;min-width:0}.food-cupboard .food-name small{color:var(--text-faint);font-size:var(--fs-label)}.food-cupboard .food-expiry{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}.food-cupboard .food-expiry.is-warn{color:var(--warn)}.food-cupboard .food-expiry.is-bad{color:var(--bad);font-weight:600}.food-cupboard li button{display:inline-flex;gap:4px;align-items:center;min-height:32px}.today-tile small.is-warn{color:var(--warn)}.crew-buffs{display:flex;flex-wrap:wrap;gap:4px;margin:0}.crew-buffs span{padding:1px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-label)}.side-business-buttons{display:grid;gap:4px}@media(max-width:600px){.food-cupboard li{grid-template-columns:minmax(0,1fr) auto}.food-cupboard .food-expiry{grid-column:1;text-align:left}.food-cupboard li button{grid-row:1 / span 2;grid-column:2}}.staff-strip{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-1)}.staff-strip header{display:flex;gap:var(--space-2);align-items:center}.staff-strip header svg{color:var(--accent)}.staff-strip header .link-button{margin-left:auto}.staff-strip ul{display:flex;flex-wrap:wrap;gap:6px var(--space-3);margin:0;padding:0;list-style:none;font-size:var(--fs-small)}.staff-strip li{display:inline-flex;gap:6px;align-items:baseline;min-width:0}.staff-strip li span{color:var(--text-muted)}.crew-poison{display:inline-flex;gap:3px;align-items:center}.crew-poison img,.health-poison img{flex:none;object-fit:contain}.health-poison{display:flex;gap:8px;align-items:center}.map-workspace{min-width:0}.map-workspace .map-toolbar{gap:8px;margin-bottom:10px;flex-wrap:wrap}.map-workspace .map-toolbar>button{min-height:40px}.map-workspace .map-toolbar>select{margin-left:auto;min-height:40px}.map-workspace .map-route-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;background:var(--ink-13);border:1px solid var(--olive-32);border-bottom:0;border-radius:9px 9px 0 0}.map-workspace .map-route-toolbar label{display:flex;align-items:center;gap:7px;color:var(--straw-87-2);font-size:12px;font-weight:600}.map-workspace .map-route-toolbar select{flex:1;min-width:160px;max-width:340px;min-height:40px}.map-workspace .map-route-toolbar>span{font-size:11px;color:var(--olive-78-2)}.map-workspace .map-panel{height:clamp(370px,58dvh,620px);border-radius:0 0 9px 9px}.map-workspace .map-controls{gap:6px;top:12px;right:12px}.map-workspace .map-controls button{width:40px;height:40px;display:grid;place-items:center;padding:0}.map-workspace .map-key{gap:8px 14px;font-size:var(--fs-label);padding:7px 9px}.map-workspace .map-location[aria-pressed=true]>circle{stroke:var(--straw-83-2);stroke-width:3}.map-workspace .map-mission[aria-pressed=true]>path{stroke:var(--straw-83-2);stroke-width:3}.map-workspace .map-destination,.map-workspace .map-selection{scroll-margin-block:calc(var(--game-hud-height, 72px) + 24px);border-radius:9px;padding:16px}.map-workspace .map-destination:focus,.map-workspace .map-selection:focus{outline:2px solid var(--olive-73-2);outline-offset:3px}.map-workspace .map-destination h2{font-size:24px;margin-top:5px}.map-workspace .map-destination>select{min-height:42px;margin:12px 0}.map-workspace .destination-options{gap:10px}.map-workspace .destination-options>div{border:1px solid var(--olive-40);background:var(--ink-13);padding:12px;border-radius:6px}.map-workspace .destination-options button{min-height:42px}.map-workspace .travel-cards .panel{min-width:0;border-radius:9px;padding:14px}.travel-journey{min-width:0;margin-top:12px}.travel-journey .town-art{border-radius:6px}.travel-journey .town-art figcaption{padding:10px 12px;gap:4px}.travel-journey .town-art figcaption strong{font-size:24px}.travel-journey .travel-route{overflow-wrap:anywhere}.travel-journey .travel-eta,.travel-journey .travel-paused{font-size:12px;line-height:1.5}.travel-journey .travel-paused{color:var(--straw-83-2)}.map-workspace .travel-cards button{min-height:40px;margin-top:5px}.journey-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.journey-controls button{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;text-align:left}.journey-controls button small{flex-basis:100%;color:var(--text-muted);font-weight:400}@media(max-width:600px){.map-workspace .map-toolbar{display:grid;grid-template-columns:1fr 1fr}.map-workspace .map-toolbar>select{grid-column:1 / -1;margin:0;width:100%}.map-workspace .map-toolbar>button{padding:9px 6px;font-size:11px}.map-workspace .map-route-toolbar{padding:10px;gap:8px}.map-workspace .map-route-toolbar label{width:100%}.map-workspace .map-route-toolbar select{max-width:none}.map-workspace .map-route-toolbar>span{display:none}.map-workspace .map-panel{height:390px}.map-workspace .map-controls{grid-auto-flow:column;align-items:center;top:8px;right:8px}.map-workspace .map-zoom-level{padding:5px 4px}.map-workspace .map-key{left:8px;bottom:8px;max-width:calc(100% - 16px);gap:5px 10px}.map-workspace .travel-cards{grid-template-columns:1fr;gap:10px}.map-workspace .destination-options{grid-template-columns:1fr}}.map-location{cursor:pointer;outline:none}.map-location:hover>circle:first-child,.map-location:focus-visible>circle:first-child{stroke:var(--straw-80);stroke-width:2px;fill:color-mix(in srgb,var(--straw-80) 13%,transparent)}.map-destination{margin-top:16px}.destination-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.destination-options>div{display:flex;flex-direction:column;align-items:start;gap:12px;padding:16px;background:var(--ink-13)}.destination-options span{color:var(--muted);font-size:13px}.staff-key{color:var(--slate-73)}@media(max-width:600px){.destination-options{grid-template-columns:1fr}}.map-panel{border:1px solid var(--ink-34);position:relative;overflow:hidden;touch-action:none}.map-panel svg{display:block;width:100%;height:100%;cursor:grab;user-select:none;-webkit-user-select:none}.map-panel svg:active{cursor:grabbing}.map-controls{position:absolute;right:15px;top:15px;display:grid;gap:7px}.map-controls button{background:var(--ink-13)}.map-key{position:absolute;display:flex;gap:20px;color:var(--olive-78-2);font-size:11px;pointer-events:none}.map-caption{font-size:11px;margin:10px 0 20px;color:var(--muted)}.travel-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.travel-cards .panel{padding:16px}.travel-cards button{margin-top:14px}@media(max-width:600px){.travel-cards{grid-template-columns:1fr}.map-key{gap:8px;font-size:var(--fs-label)}}.city-scene text,.region-scene text{font-family:DM Sans,sans-serif;pointer-events:none;paint-order:stroke;stroke:var(--ink-13);stroke-width:4px;stroke-linejoin:round}.map-painting{pointer-events:none}.city-scene .park-label{font-size:9px;fill:var(--olive-63)}.city-scene .water-label,.region-scene .water-label{font-size:9px;fill:var(--slate-73);letter-spacing:2px}.region-scene .water-label{font-size:11px;letter-spacing:0}.region-scene .region-label{font-size:18px;fill:var(--straw-80);letter-spacing:5px}.region-scene .road-number{font-size:10px;fill:var(--straw-87-2)}.city-scene .map-compass,.city-scene .map-scale{stroke:var(--straw-80);opacity:.8}.city-scene .map-compass text,.city-scene .map-scale text{stroke:var(--ink-13);fill:var(--straw-80);font-size:10px}.city-scene .street-label{font-size:var(--fs-label);fill:var(--straw-80);letter-spacing:.7px}.city-scene .district-label{font-size:var(--fs-label);fill:var(--olive-63);letter-spacing:2px}.city-scene .landmark-label{font-size:var(--fs-label);fill:var(--straw-87-2)}.city-scene .exit-label{font-size:var(--fs-label);fill:var(--straw-75-2);letter-spacing:1px}.map-panel{background:var(--ink-13);height:620px}.map-key{padding:9px 12px;background:color-mix(in srgb,var(--ink-13) 90%,transparent);border:1px solid var(--olive-40);left:14px;bottom:13px;flex-wrap:wrap;max-width:calc(100% - 28px)}.map-location-label{paint-order:stroke;stroke:var(--ink-13);stroke-width:5px;stroke-linejoin:round}.map-destination-art{display:block;width:100%;height:auto;aspect-ratio:1672 / 941;margin:10px 0 4px;object-fit:cover;border:1px solid var(--line);border-radius:3px;background:var(--ink-13)}.map-place-icon{filter:drop-shadow(0 2px 1.5px rgb(0 0 0 / .55))}.map-location:hover .map-place-icon,.map-location[aria-pressed=true] .map-place-icon{filter:drop-shadow(0 0 3px var(--straw-75)) brightness(1.15)}.map-mission{cursor:pointer}.map-mission:hover{filter:brightness(1.4)}.map-selection{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--straw-55);background:var(--olive-23);padding:17px 20px;margin:14px 0}.map-selection p{font-size:12px;color:var(--muted);margin:6px 0}.map-selection h3{font-size:19px}@media(max-width:600px){.map-panel{height:460px}.map-selection{align-items:stretch;flex-direction:column;gap:10px}}.map-zoom-level{text-align:center;font:11px monospace;color:var(--straw-87);padding:5px 0;background:var(--ink-13)}.map-panel{overscroll-behavior:contain}.map-panel>svg[data-dragging=true]{cursor:grabbing}.map-panel>svg:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:-3px}.map-planner-empty{display:none}.map-inspector:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:-2px}@media(min-width:1100px)and (min-height:600px){.game-layout.page-is-map .page{max-width:none;padding:12px 16px}.game-layout.page-is-map .crew-strip{display:none}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px}.map-canvas-workspace{position:sticky;top:calc(var(--game-hud-height, 72px) + 12px);height:calc(100dvh - var(--game-hud-height, 72px) - 24px);min-height:420px;display:flex;flex-direction:column;min-width:0}.map-workspace .map-toolbar{flex:0 0 auto}.map-workspace .map-toolbar>select{margin-left:0;flex:1;min-width:140px}.map-workspace .map-route-toolbar{flex:0 0 auto;padding:8px 10px;gap:8px}.map-workspace .map-route-toolbar>span{display:none}.map-workspace .map-route-toolbar select{min-width:120px;max-width:none;flex:1}.map-workspace .map-panel{flex:1;height:auto;min-height:0}.map-workspace .map-key{max-width:calc(100% - 24px);font-size:11px}.map-inspector{padding:2px 6px 12px 2px}.map-workspace .map-planner-empty{display:block;padding:18px}.map-workspace .map-planner-empty h2{margin:12px 0;font-size:24px}.map-workspace .map-planner-empty p{font-size:13px;line-height:1.6}.map-workspace .map-destination,.map-workspace .map-selection{margin-top:0;padding:14px}.map-workspace .map-selection{display:grid;gap:12px}.map-workspace .map-selection button{width:100%}.map-workspace .destination-options,.map-workspace .travel-cards{grid-template-columns:1fr;gap:10px}.map-workspace .destination-options>div{padding:10px}.map-workspace .map-caption{font-size:11px;line-height:1.5;margin:14px 0}.map-workspace .travel-cards .row{flex-wrap:wrap;gap:6px}}@media(min-width:1500px)and (min-height:600px){.map-workspace{grid-template-columns:minmax(0,1fr) 350px}}@media(max-width:980px){.map-workspace .map-selection{position:sticky;bottom:var(--mobile-nav-clearance, 0px);z-index:8}}.return-home{display:grid;gap:var(--space-2, 8px);margin-block:var(--space-3, 12px)}.return-home h3{display:flex;align-items:center;gap:6px;margin:0}.return-home-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.return-home-list li{display:grid;gap:6px;padding-top:6px;border-top:1px solid var(--border)}.return-home.compact{margin-block:0 var(--space-3, 12px)}.dispatch-travel{display:flex;justify-content:space-between;align-items:center;gap:12px}.dispatch-policy,.dispatch-travel>span{display:flex;gap:6px;align-items:center}.dispatch-policy{font-size:11px;color:var(--straw-74);margin:0}.dispatch-controls-body{display:grid;gap:13px;padding-top:15px}.dispatch-unavailable{color:var(--muted)}.dispatch-unavailable small{font-size:var(--fs-label)}.dispatch-select{display:grid;gap:6px;font-size:11px;color:var(--muted)}.dispatch-select small{line-height:1.5}.dispatch-travel{background:var(--olive-07);border:1px solid var(--line);padding:10px;font-size:12px;flex-wrap:wrap}.dispatch-travel strong{color:var(--accent)}.dispatch-blocked{margin:0;color:var(--brass-77);font-size:12px;line-height:1.5}.dispatch-progress{border-top:1px solid var(--line);padding-top:10px}.dispatch-progress p{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--muted)}.dispatch-progress button{width:100%}@media(min-width:1024px){.game-layout .dispatch-select,.game-layout .dispatch-policy{font-size:13px}}@media(min-width:1280px){.game-layout .dispatch-controls-body{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.game-layout .dispatch-controls-body>:not(.dispatch-select){grid-column:1 / -1}.game-layout .dispatch-select{min-width:0}.game-layout .dispatch-select select{min-width:0;width:100%}}.mission{display:flex;flex-direction:column;gap:13px}.mission .reward{font-family:Barlow Condensed,sans-serif;font-size:34px;color:var(--accent)}.mission .description{min-height:70px;margin-top:0}.mission fieldset{padding:10px;border:1px solid var(--line);display:flex;gap:15px;font-size:14px}.mission legend{font-size:11px;color:var(--muted);padding:0 5px}.mission input{accent-color:var(--accent)}.mission .buttons{margin-top:auto;display:flex;gap:8px}.mission .buttons button{flex:1;font-size:13px}.world-event-banner h2{margin:8px 0}.world-event-banner p{line-height:1.7;max-width:90ch}.game-layout .jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.jobs-priority-note{font-size:11px;color:var(--muted);margin:-8px 0 14px}.game-layout .world-event-banner{padding:15px 18px;margin-bottom:16px}.game-layout .world-event-banner h2{font-size:21px}.game-layout .world-event-banner p{font-size:12px;margin-top:5px}.job-sort{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.job-sort select{padding:9px 11px}@media(max-width:760px){.game-layout .jobs-grid{grid-template-columns:1fr}}.mission-staging{border-left:4px solid var(--straw-77-3);margin-bottom:16px}.mission-staging p,.mission-staging li{font-size:14px;line-height:1.5;margin-block:8px}.mission-staging ul{padding-left:20px}.dispatch-select{scroll-margin-top:100px}.world-event-banner{display:flex;gap:var(--space-3);align-items:flex-start;border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--radius-m);background:var(--surface-1)}.world-event-banner>svg{flex:none;margin-top:2px;color:var(--info)}.world-event-banner>div{display:grid;gap:2px}.world-event-banner strong{font-size:var(--fs-lead)}.world-event-banner p{color:var(--text-muted)}.jobs-grid.cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);align-items:stretch}.job-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-1);transition:border-color .15s var(--ease)}.job-card:hover{border-color:var(--border-strong)}.job-card.is-active{border-color:color-mix(in srgb,var(--good) 45%,var(--border));background:linear-gradient(160deg,var(--good-soft),transparent 50%),var(--surface-1)}.job-card.is-boss{border-color:color-mix(in srgb,var(--bad) 50%,var(--border))}.job-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.job-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tag,.risk-pips{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tag.is-good{background:var(--good-soft);color:var(--good)}.tag.is-warn{background:var(--warn-soft);color:var(--warn)}.tag.is-story{background:var(--info-soft);color:var(--info)}.tag.is-pack{background:var(--accent-soft);color:var(--accent-strong)}.tag.is-legendary{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.risk-pips i{width:5px;height:11px;border-radius:2px;background:var(--surface-4)}.risk-pips i.on{background:var(--good)}.risk-pips.risk-2 i.on{background:var(--warn)}.risk-pips.risk-3 i.on{background:var(--bad)}.job-reward{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;color:var(--accent-strong);white-space:nowrap}.job-title{font-family:var(--font-display);font-size:24px;line-height:1.15}.job-facts{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--fs-small);color:var(--text-muted)}.job-facts span{display:inline-flex;align-items:center;gap:5px}.job-facts .is-urgent{color:var(--warn)}.job-deadline{height:4px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.job-deadline i{display:block;height:100%;background:var(--good)}.job-deadline i.is-urgent{background:var(--warn)}.job-description{font-size:13px;line-height:1.6;color:var(--text-muted)}.job-card:not(.is-active)>.job-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.job-story{font-size:var(--fs-small);color:var(--text-muted);line-height:1.5}.job-story summary{cursor:pointer;min-height:28px;color:var(--info)}.job-story p{margin-top:var(--space-1)}.job-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.job-actions .primary{flex:1}button.quiet{background:none;border-color:transparent;color:var(--text-muted)}.job-card .dispatch-progress{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);font-size:13px}.job-card .story-choice,.dispatch-drawer .story-choice{font-size:var(--fs-small);line-height:1.5}.dispatch-drawer{display:grid;gap:var(--space-3);padding-top:var(--space-3)}.dispatch-drawer-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.dispatch-drawer .dispatch-deadlines,.dispatch-drawer .dispatch-objective{font-size:13px;line-height:1.6;color:var(--text-muted)}.dispatch-deadlines{display:grid;gap:var(--space-1)}.dispatch-drawer .dispatch-deadlines p{margin:0;font:inherit;color:inherit}.dispatch-drawer .dispatch-controls-body{display:grid;gap:var(--space-3);padding:var(--space-3) 0 0;border-top:1px solid var(--border)}.dispatch-drawer fieldset{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s)}.dispatch-drawer fieldset label{display:inline-flex;align-items:center;gap:6px;min-height:32px}.dispatch-drawer input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.dispatch-drawer .dispatch-select{display:grid;gap:var(--space-1);font-size:var(--fs-small);color:var(--text-muted)}.dispatch-drawer .buttons{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-2);position:sticky;bottom:calc(-1 * var(--space-5));padding:var(--space-3) 0 var(--space-4);background:var(--surface-1)}.dispatch-drawer small{font-size:var(--fs-small);line-height:1.5}.lease-offer{display:grid;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius-m)}.lease-offer p,.lease-status{font-size:var(--fs-small);line-height:1.5;color:var(--text-muted)}.lease-status{color:var(--accent-strong)}.contraband-panel{border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.experimental-panel,.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.danger-zone{border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}.danger-zone .label{color:var(--bad)}.company-finance-layout>.growth-card{padding:var(--space-5)}@media(max-width:600px){.jobs-grid.cards{grid-template-columns:1fr}.experimental-panel,.danger-zone{flex-direction:column;align-items:stretch}}.dispatch-drawer .solo-dispatch{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s)}.dispatch-drawer .solo-dispatch summary{cursor:pointer;font-weight:700}.dispatch-drawer .solo-dispatch[open] summary{margin-bottom:var(--space-2)}.dispatch-drawer .solo-dispatch p{margin:0;font-size:var(--fs-small)}.dispatch-drawer .staff-quote{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-2);margin:0}.dispatch-drawer .staff-quote>div{padding:8px;background:var(--surface-2);border-radius:3px}.dispatch-drawer .staff-quote dt{color:var(--text-muted);font-size:var(--fs-label);margin-bottom:4px}.dispatch-drawer .staff-quote dd{margin:0;font-weight:700}.supply-toolbar,.supply-controls,.supply-item-action{display:flex;justify-content:space-between;align-items:center;gap:12px}.supply-toolbar{margin-bottom:16px;flex-wrap:wrap}.supply-categories.subnav{margin:0;flex-wrap:wrap;gap:6px}.supply-categories button{padding:10px 18px}.supply-controls{margin-bottom:14px;flex-wrap:wrap}.supply-affordable{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.supply-affordable input{accent-color:var(--accent)}.supply-sort{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.supply-sort select{width:auto;max-width:200px;font-size:12px}.supply-notice{flex:1 1 320px;display:flex;align-items:center;gap:10px;margin:0;padding:8px 12px;background:var(--ink-13);border-left:2px solid var(--straw-55);color:var(--muted);font-size:12px;line-height:1.5}.supply-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.supply-notice svg{flex-shrink:0}.supply-notice strong{color:var(--ink-90)}.supply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.supply-item.store-item{padding:16px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px 16px}.supply-item-art{position:relative;display:grid;place-items:center;width:104px;height:104px;padding:0;background:var(--ink-13);border:1px solid var(--olive-23);border-radius:3px;color:var(--olive-72-2);overflow:hidden;cursor:zoom-in;align-self:start}.supply-item-art:hover{background:var(--ink-13);border-color:var(--accent)}.store-item button.supply-item-art{margin:0}.supply-item-art:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.supply-item-art .equipment-artwork,.supply-item-art .shop-artwork{width:100%;height:100%;display:block;margin:0;object-fit:contain}.supply-art-expand{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--olive-47);border-radius:3px;background:color-mix(in srgb,var(--ink-13) 91%,transparent);color:var(--ink-90);pointer-events:none}.supply-art-preview{margin:14px 0 0}.supply-art-preview>.shop-artwork,.supply-art-preview>.equipment-artwork{display:block;width:100%;height:auto;aspect-ratio:1;max-height:58dvh;object-fit:contain;background:var(--ink-13);border:1px solid var(--ink-34);border-radius:4px}.supply-art-preview figcaption{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.6}.supply-item-copy{min-width:0}.supply-item-kind{display:block;font-size:var(--fs-label);letter-spacing:.07em;color:var(--muted);margin:1px 0 6px}.supply-item h3{font-size:16px;line-height:1.25;margin:0 0 7px}.supply-item.store-item p{min-height:0;font-size:12px;line-height:1.5}.supply-item-action{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:12px;align-self:end}.supply-item-action>strong{color:var(--accent);font-family:Barlow Condensed,sans-serif;font-size:25px;white-space:nowrap}.supply-item-action button{font-size:12px;min-height:38px;padding:9px 12px}.supply-inventory{margin-top:20px}.supply-inventory h2{margin:0;font-size:20px}.supply-inventory>p{margin-bottom:0}.supply-inventory .inventory{margin-top:12px;gap:6px}.supply-inventory .inventory span{padding:7px 9px;font-size:12px}.supply-page .empty button{display:block;margin:12px auto 0}.supply-trip-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:4px 0 16px;background:var(--olive-23);border:1px solid var(--olive-38);border-radius:4px}.store-header{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:14px;align-items:center;margin:4px 0 14px;padding:10px}.store-header-art{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:3px;background:var(--ink-13)}.store-header:not(.store-header--here) .store-header-art{filter:saturate(.8) brightness(.85)}.store-header--here{border-color:var(--olive-38);background:var(--olive-23)}.store-header-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.store-header h2{display:flex;align-items:center;gap:6px;margin:0;font-size:16px}.store-header p{margin:0;font-size:13px;line-height:1.5}.store-header strong{font-size:13px}.store-header-trip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px}.store-trip-buttons{gap:6px}@media(max-width:600px){.store-header{grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}.store-header-art{aspect-ratio:1}}.store-header.store-header--plain{grid-template-columns:minmax(0,1fr)}.supply-shelf{margin-bottom:14px}.supply-shelf-title{margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.supply-trip-notice--waiting{border-color:var(--straw-49)}.supply-trip-notice>svg{flex-shrink:0;color:var(--accent)}.supply-trip-notice>div{flex:1;min-width:0}.supply-trip-notice strong,.supply-trip-notice span{display:block}.supply-trip-notice strong{font-size:14px;margin-bottom:5px}.supply-trip-notice span{color:var(--muted);font-size:12px;line-height:1.5}.supply-item-action{flex-wrap:wrap;gap:10px}.supply-quantity{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin-left:auto}.supply-quantity select{width:56px;min-height:36px;padding:6px}.supply-item-action button{flex-basis:100%}.supply-consumables{display:grid;gap:10px;margin-top:14px}.supply-consumable{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.supply-consumable>div{display:flex;flex-wrap:wrap;gap:8px}.supply-sell{margin-top:14px}@media(max-width:720px){.supply-item.store-item{grid-template-columns:84px minmax(0,1fr)}.supply-item-art{width:84px;height:84px}.supply-trip-notice{flex-wrap:wrap}.supply-trip-notice>button{width:100%}.supply-grid{grid-template-columns:1fr}.supply-categories button{padding:10px 12px}.supply-toolbar{gap:10px}}@media(max-width:390px){.supply-item.store-item{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:12px}.supply-item-art{width:76px;height:76px}.supply-item-action button{padding:8px;font-size:11px}}@media(min-width:1024px){.game-layout .supply-sort,.game-layout .supply-sort select,.game-layout .supply-item.store-item p{font-size:13px}}@media(min-width:1500px){.game-layout .supply-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.store-item{display:flex;flex-direction:column;gap:12px}.store-item p{font-size:13px;margin:0;min-height:44px}.store-item button{margin-top:auto}.inventory{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.inventory span{padding:9px 13px;border:1px solid var(--line);font-size:13px;color:var(--muted)}.shopping-basket{position:sticky;bottom:12px;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.shopping-basket.has-items{border-color:var(--accent)}.shopping-basket>svg{color:var(--text-faint)}.shopping-basket.has-items>svg{color:var(--accent)}.basket-summary{display:grid;min-width:0;gap:1px}.basket-summary strong{font-size:var(--fs-body)}.basket-summary span{font-size:var(--fs-small);color:var(--text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.basket-summary .basket-blocked{color:var(--warn);white-space:normal}.basket-summary .basket-round{color:var(--text);white-space:normal}.basket-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.basket-actions>button{min-height:44px;white-space:nowrap}.basket-lines{position:relative}.basket-lines summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);font-size:var(--fs-small)}.basket-lines ul{position:absolute;right:0;bottom:calc(100% + 10px);width:min(320px,80vw);margin:0;padding:var(--space-2);list-style:none;display:grid;gap:4px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.basket-lines li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:var(--fs-small)}@media(max-width:600px){.shopping-basket{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 8px);grid-template-columns:auto minmax(0,1fr) auto;padding:var(--space-2)}.basket-actions{grid-column:1 / -1}.basket-actions>.primary{flex:1 1 auto}.shopping-basket:not(.has-items)>.basket-actions{display:none}.shopping-basket:not(.has-items) .basket-summary span{white-space:normal}.supply-categories.subnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;min-width:0}.supply-categories button{flex:none;padding:9px 14px}}.inventory-panel{display:grid;gap:1rem;min-width:0}.inventory-panel h2{margin-top:0}.inventory-panel p{line-height:1.55}.inventory-panel label{display:grid;gap:.5rem;font-weight:600}.inventory-panel select{width:100%;min-width:0;max-width:100%}.inventory-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.owned-weapon-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.owned-weapon-list li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;padding:1rem 0;border-top:1px solid color-mix(in srgb,var(--olive-40) 28%,transparent)}.owned-weapon-list li>svg,.owned-weapon-list li>img,.owned-weapon-list li>div:first-child{width:88px;height:88px;object-fit:contain}.owned-weapon-list small,.inventory-stock-table small{display:block;opacity:.75;margin-top:.3rem}.owned-weapon-list button{max-width:100%;white-space:normal}.inventory-stock-table{width:100%;border-collapse:collapse;text-align:left}.inventory-stock-table th,.inventory-stock-table td{padding:.65rem .4rem;border-bottom:1px solid color-mix(in srgb,var(--olive-40) 28%,transparent)}.inventory-stock-table th:last-child,.inventory-stock-table td:last-child{text-align:right}@media(max-width:600px){.inventory-slots{grid-template-columns:minmax(0,1fr)}.owned-weapon-list li{grid-template-columns:60px minmax(0,1fr);gap:.65rem}.owned-weapon-list li>svg,.owned-weapon-list li>img,.owned-weapon-list li>div:first-child{width:60px;height:60px}}.crew-picker{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.crew-picker button{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 12px 4px 4px;border-radius:var(--radius-pill)}.crew-picker button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.crew-picker .operative-portrait-art,.kit-header .operative-portrait-art{width:32px;height:32px;flex:none;border-radius:50%;overflow:hidden}.crew-picker .operative-portrait-art img,.kit-header .operative-portrait-art img{width:100%;height:100%;object-fit:cover}.kit-panel,.storage-panel{display:grid;gap:var(--space-3);min-width:0}.kit-header{display:flex;align-items:center;gap:var(--space-3)}.kit-header .operative-portrait-art{width:48px;height:48px}.kit-header>div{flex:1 1 auto;min-width:0}.kit-header small{color:var(--text-muted)}.kit-count{display:grid;justify-items:end;gap:2px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.kit-count small{display:inline-flex;gap:4px;align-items:center;font-weight:500}.kit-slots,.kit-options,.storage-list{list-style:none;margin:0;padding:0;display:grid}.kit-slot,.storage-list>li{border-top:1px solid var(--border);padding:var(--space-2) 0}.kit-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.kit-slot>.kit-row{grid-template-columns:96px 40px minmax(0,1fr) auto}.kit-slot-label{font-weight:700;font-size:var(--fs-small)}.kit-empty{grid-column:span 2;color:var(--text-muted);font-style:italic}.kit-slot.is-empty .kit-slot-label{color:var(--text-muted)}.kit-thumb{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-s);background:var(--surface-1);color:var(--accent)}.kit-thumb>img,.kit-thumb>svg{width:100%;height:100%;object-fit:contain}.kit-thumb>svg.lucide{width:22px;height:22px}.kit-thumb.rarity-rare{color:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.kit-thumb .legendary-art-button{flex-basis:40px;width:40px;height:40px}.kit-thumb .legendary-art-expand{display:none}.kit-text{display:grid;gap:1px;min-width:0}.kit-text strong{overflow-wrap:anywhere}.kit-text small{color:var(--text-muted);line-height:1.35}.kit-tag{color:var(--text);font-weight:600}.kit-thumb.rarity-legendary+.kit-text strong,.kit-thumb.rarity-legendary+.kit-text .kit-tag{color:var(--accent-strong)}.kit-thumb.rarity-rare+.kit-text .kit-tag{color:var(--info)}.kit-reason{color:var(--warn)}.kit-actions{display:flex;gap:var(--space-1);justify-content:flex-end;flex-wrap:wrap}.kit-actions button{white-space:nowrap}.kit-remove{padding:6px;display:grid;place-items:center}.kit-options{margin:var(--space-2) 0 0 104px;padding:var(--space-1) var(--space-2);border-left:2px solid var(--accent);background:var(--surface-1);border-radius:0 var(--radius-s) var(--radius-s) 0}.kit-options>li+li{border-top:1px solid var(--border)}.kit-options>li{padding:var(--space-1) 0}.kit-rule{color:var(--text-muted);font-size:var(--fs-small);line-height:1.5}.storage-panel h2{display:flex;align-items:center;gap:var(--space-2)}.storage-group{display:grid;gap:var(--space-1)}.storage-group h3{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.kit-replace{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0 48px;font-size:var(--fs-small)}@media(min-width:900px){.storage-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5)}}@media(max-width:600px){.kit-slot>.kit-row{grid-template-columns:40px minmax(0,1fr) auto}.kit-slot-label{grid-column:1 / -1;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.kit-empty{grid-column:1 / 3}.kit-options{margin-left:0}.storage-list .kit-row,.kit-options .kit-row{grid-template-columns:40px minmax(0,1fr)}.storage-list .kit-actions,.kit-options .kit-actions{grid-column:2;justify-content:flex-start}.kit-replace{margin-left:0}}.loot-recap li.is-legendary{color:var(--accent-strong);font-weight:700}.housing-panel,.village-shop{display:grid;gap:var(--space-3);margin-bottom:var(--space-3)}.housing-options,.village-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:var(--space-2)}.housing-option,.village-item{display:grid;gap:var(--space-1);align-content:start;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2)}.housing-option.is-current{border-color:var(--good)}.housing-preview{display:block;width:100%;height:auto;aspect-ratio:1000 / 670;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-s);margin-bottom:var(--space-2)}.housing-move-note{margin:0;font-size:var(--fs-small)}.housing-option p,.village-item p{margin:0;font-size:var(--fs-small);line-height:1.45}.housing-option button,.village-item button{justify-self:start;margin-top:var(--space-1)}.village-item .village-item-art{width:100%;height:auto;aspect-ratio:1;margin:0 0 var(--space-2)}.village-item{grid-template-rows:auto auto auto 1fr auto}.shelf-life{display:inline-flex;gap:4px;align-items:center;margin-top:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:var(--fs-label);font-variant-numeric:tabular-nums}.shelf-life svg{color:var(--accent)}.garage-trip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.garage-trip-art{width:112px;height:auto;aspect-ratio:1672 / 941;object-fit:cover;border:1px solid var(--line);border-radius:3px;background:var(--ink-13)}.keskinen-deals{margin-bottom:var(--space-3)}.keskinen-deals h3{margin:0 0 var(--space-2);font-size:var(--fs-body)}.keskinen-deal{border-color:var(--accent, var(--border))}.keskinen-deal button s{opacity:.7}.keskinen-deal-blank{display:grid;place-items:center;color:var(--text-muted, inherit)}.keskinen-deals-teaser{display:flex;gap:var(--space-1);align-items:center;margin:0 0 var(--space-2);font-size:var(--fs-small)}.garage-service{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:12px;padding:10px 12px;border-color:var(--straw-49)}.garage-service-icon{width:56px;height:56px}.garage-service-copy{min-width:0}.garage-service h3{display:flex;align-items:center;gap:6px;margin:0 0 2px;font-size:15px}.garage-service p{margin:0;font-size:13px}.garage-service-actions{gap:8px;justify-content:flex-end}.garage-service-actions button{min-height:44px;white-space:nowrap}@media(max-width:600px){.garage-service{grid-template-columns:48px minmax(0,1fr)}.garage-service-icon{width:48px;height:48px}.garage-service-actions{grid-column:1 / -1;justify-content:stretch}.garage-service-actions button{flex:1 1 auto}}.map-inspector .garage-service,.home-side .garage-service{grid-template-columns:48px minmax(0,1fr)}.map-inspector .garage-service-actions,.home-side .garage-service-actions{grid-column:1 / -1;justify-content:stretch}.map-inspector .garage-service-actions button,.home-side .garage-service-actions button{flex:1 1 auto}.find-thumb{display:inline-block;width:32px;height:32px;margin-right:8px;overflow:hidden;border-radius:var(--radius-s);vertical-align:middle;object-fit:cover}.find-thumb>img,.find-thumb>svg{width:100%;height:100%;object-fit:cover}.inventory span:has(>.find-thumb){display:inline-flex;align-items:center}.place-screen{display:grid;gap:12px}.place-header{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:center;border-color:var(--straw-49)}.place-header-art{width:100%;height:auto;border-radius:var(--radius-s)}.place-header-copy h2{gap:8px;margin:2px 0 4px}.place-header-copy p{margin:0}.place-header:not(:has(.place-header-art)){grid-template-columns:minmax(0,1fr)}.hospital-people{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.hospital-people li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.hospital-people li div{display:grid;min-width:0}.hospital-people button{min-height:44px;white-space:nowrap}@media(max-width:600px){.place-header{grid-template-columns:minmax(0,1fr)}}.fleet-panel .garage-artwork{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--olive-40);border-radius:4px;background:var(--ink-13)}.fleet-panel .fleet-owned{grid-template-columns:minmax(220px,1.25fr) minmax(190px,1fr)}.fleet-models .garage-artwork{margin-bottom:18px}.fleet-models article{display:flex;flex-direction:column}.fleet-models article button{margin-top:auto}.fleet-models article small{margin-bottom:18px}.fleet-owned-info .eyebrow{color:var(--straw-74)}.fleet-owned-info h3{margin-top:8px}.fleet-owned-info p{line-height:1.7}.fleet-owned-info .fleet-stats{padding-top:14px;border-top:1px solid var(--line)}@media(max-width:600px){.fleet-panel .fleet-owned{grid-template-columns:1fr}}@media(min-width:1024px){.game-layout .company-staff-layout .staff-layout-card>p,.game-layout .company-staff-layout .employee-dispatch label{font-size:13px}}.story-choice{color:var(--straw-87);font-size:12px;line-height:1.5}.company-restart{display:flex;justify-content:space-between;flex-wrap:wrap}.company-restart p{max-width:65ch;margin-bottom:0}.company-restart button{min-height:44px;white-space:normal}.company-staff-layout .employee-grid{gap:14px;margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.company-staff-layout .employee-grid:empty{display:none}.company-staff-layout .staff-layout-card{padding:16px}.company-staff-layout .employee-identity{display:flex;align-items:center;gap:14px;margin:-16px -16px 14px;padding:10px 16px;min-height:104px;background:var(--ink-13)}.company-staff-layout .employee-identity:after{display:none}.company-staff-layout .employee-portrait{width:82px;height:88px;flex-shrink:0;object-fit:cover;object-position:center 25%;border-radius:3px}.company-staff-layout .employee-identity-caption{position:static;min-width:0;text-shadow:none}.company-staff-layout .employee-identity h3{font-size:24px}.company-staff-layout .employee-role{font-size:var(--fs-label);letter-spacing:.05em}.company-staff-layout .staff-layout-card>p{font-size:12px;line-height:1.65}.company-staff-layout .employee-status{padding:9px 10px;border:1px solid var(--olive-32);background:var(--olive-23);color:var(--olive-82);border-radius:3px;font-size:12px}.company-staff-layout .employee-status.on-duty{background:var(--ink-20);color:var(--straw-74);border-color:var(--straw-37)}.company-staff-layout .employee-status.recovering{background:var(--brass-19);color:var(--brass-72);border-color:var(--brass-37-2)}.company-staff-layout .staff-overview,.company-finance-layout .bill-decision-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line);border-radius:4px;overflow:hidden}.company-staff-layout .staff-overview>div,.company-finance-layout .bill-decision-summary>div{background:var(--ink-13);padding:14px;min-width:0}.company-staff-layout .staff-overview span,.company-finance-layout .bill-decision-summary span{display:block;color:var(--straw-75-2);font-size:11px;margin-bottom:7px}.company-staff-layout .staff-overview strong,.company-finance-layout .bill-decision-summary strong{font-size:19px;font-variant-numeric:tabular-nums}.company-staff-layout .staff-section-title{font-size:18px;margin-top:8px}.company-staff-layout .staff-terms,.company-finance-layout .company-finance-details{font-size:12px}.company-staff-layout summary,.company-finance-layout summary{cursor:pointer;color:var(--straw-75-2);padding:10px 0}.company-staff-layout .employee-dispatch{display:grid;gap:10px}.company-staff-layout .employee-dispatch label{font-size:12px;font-weight:700}.company-staff-layout .employee-dispatch select{width:100%;min-width:0}.company-staff-layout .employee-dispatch p{margin:0}.company-staff-layout .staff-quote{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.company-staff-layout .staff-quote>div{padding:9px;background:var(--ink-13);border-radius:3px}.company-staff-layout .staff-quote dt{color:var(--straw-75-2);font-size:var(--fs-label);margin-bottom:4px}.company-staff-layout .staff-quote dd{margin:0;font-size:14px;font-weight:700}.company-staff-layout .staff-dismiss{margin-top:16px;width:100%;color:var(--straw-75-2);font-size:11px}.company-staff-layout .staff-wage{color:var(--straw-80);font-weight:600}.company-staff-layout .employee-recruit-card>small{margin-top:9px}.company-staff-layout .employee-payroll{margin:0;padding-top:12px;font-size:11px;border-top:1px solid var(--line)}.company-garage-layout .fleet-models{margin-bottom:0}.company-garage-layout .fleet-models article{padding:14px}.company-garage-layout .fleet-models .garage-artwork{margin-bottom:14px}.company-garage-layout .garage-model-heading h3{font-size:20px}.company-garage-layout .garage-model-heading strong{color:var(--straw-74);font-size:15px}.company-garage-layout .fleet-models article p{font-size:12px;line-height:1.65}.company-garage-layout .fleet-models article small{font-size:11px}.company-garage-layout .fleet-models article .garage-shortfall{margin:10px 0 0}.company-garage-layout .fleet-owned{grid-template-columns:minmax(220px,.9fr) minmax(220px,1fr);gap:22px}.company-garage-layout .fleet-owned .fleet-stats svg{width:15px}.company-garage-layout .garage-actions{padding-top:16px;border-top:1px solid var(--line)}.company-finance-layout .company-value{font-family:Barlow Condensed,sans-serif;font-size:38px;margin:10px 0}.company-finance-layout .company-kpis p{font-size:12px;line-height:1.7}.company-finance-layout .bill-decision-summary{margin:18px 0 8px}.company-finance-layout .finance-recovery-note{font-size:11px;line-height:1.7;margin-bottom:0}@media(max-width:650px){.company-staff-layout .staff-overview,.company-finance-layout .bill-decision-summary{grid-template-columns:1fr}.company-staff-layout .staff-overview>div,.company-finance-layout .bill-decision-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px}.company-staff-layout .staff-overview span,.company-finance-layout .bill-decision-summary span{margin:0}.company-garage-layout .fleet-owned{grid-template-columns:1fr}.company-garage-layout .garage-actions button{flex:1}}.employees-panel .employee-art-card{overflow:hidden;padding:0 20px 20px}.employee-identity{position:relative;margin:0 -20px 18px;isolation:isolate;background:var(--ink-13);border-bottom:1px solid var(--straw-43)}.employee-portrait{display:block;width:100%;height:260px;object-fit:contain;object-position:center}.employee-identity:after{content:"";position:absolute;top:25%;right:0;bottom:0;left:0;background:linear-gradient(transparent 15%,color-mix(in srgb,var(--ink-13) 93%,transparent));pointer-events:none}.employee-identity-caption{position:absolute;z-index:1;inset:auto 20px 18px;text-shadow:0 2px 8px var(--ink-00)}.employee-role{display:block;margin-bottom:5px;color:var(--straw-74);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.employee-art-card .employee-identity h3{color:var(--ink-90);font-size:25px;line-height:1.15}.employee-recruit-card{display:flex;flex-direction:column}.employee-recruit-card>button{margin-top:auto;justify-content:center;width:100%}@media(max-width:600px){.employee-portrait{height:230px}.employee-art-card .employee-identity h3{font-size:24px}}.employee-initials{display:grid;place-items:center;min-height:180px;aspect-ratio:1;color:var(--straw-87);background:radial-gradient(circle at 45% 35%,var(--olive-40),var(--ink-13) 75%);font:700 3rem Georgia,serif}.fleet-panel h2{display:flex;align-items:center;gap:10px}.fleet-owned{display:grid;grid-template-columns:minmax(180px,.7fr) 1fr;gap:24px;align-items:center;margin:20px 0}.fleet-owned svg{width:100%;max-height:180px}.fleet-stats{display:flex;flex-wrap:wrap;gap:16px;color:var(--straw-80)}.fleet-stats span{display:flex;align-items:center;gap:7px}.fleet-models,.employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:16px 0}.fleet-models article,.employee-card{padding:20px;border:1px solid var(--line);border-radius:5px;background:linear-gradient(130deg,var(--ink-13),var(--ink-13));min-width:0}.fleet-models button{display:block;margin-top:18px;width:100%}.employees-panel{padding:24px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.employee-card h3{margin:0}.employee-card>.row{flex-wrap:wrap;gap:10px}.employee-card p{font-size:13px;line-height:1.7}.employee-card .tag{color:var(--moss-77);border-color:var(--moss-41)}.employee-assignment{padding:14px;margin:16px 0;background:var(--ink-13);border-left:3px solid var(--slate-73)}.employee-dispatch label{display:block;margin:15px 0 9px;font-size:12px;color:var(--olive-78-2)}.employee-dispatch select{width:100%;min-width:0}.employee-card .quiet{margin-top:16px;font-size:12px}.employee-payroll{border-top:1px solid var(--line);padding-top:18px;font-size:13px;line-height:1.8}@media(max-width:600px){.fleet-owned{grid-template-columns:1fr}.employees-panel{padding:16px}}.bill{display:flex;align-items:center;gap:15px;padding:18px;background:var(--ink-13);border:1px solid var(--straw-30)}.bill svg{color:var(--accent);flex-shrink:0}.bill p{font-size:12px;margin-top:5px;color:var(--olive-69);line-height:1.5}.bill strong{font-size:13px;font-weight:500}.bill .amount{margin-left:auto;font-family:Barlow Condensed,sans-serif;font-size:28px;white-space:nowrap}.campaign-panel{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:24px}.campaign-panel button{flex-shrink:0}@media(max-width:600px){.campaign-panel{align-items:stretch;flex-direction:column}}.forecast-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:18px 0}.forecast-values>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.forecast-values dt{font-size:13px}.forecast-values dd{margin:0;white-space:nowrap;font-weight:600}.finance-risk{color:var(--brass-81);border-left:3px solid var(--brass-60);padding-left:14px}@media(max-width:600px){.forecast-values{grid-template-columns:1fr}}.review{padding:17px 0;border-bottom:1px solid var(--line);line-height:1.6}.review p{margin-top:6px;font-size:13px}@media(max-width:600px){.bill .amount{font-size:24px}}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.story-grid article{padding:15px;border:1px solid var(--olive-40);background:var(--ink-13)}.story-grid strong{font-family:Barlow Condensed,sans-serif;font-size:20px}.story-grid .row>span{font-size:12px;color:var(--olive-75)}.story-steps{display:flex;gap:5px;margin:13px 0}.story-steps i{height:5px;background:var(--olive-32);flex:1}.story-steps i.done{background:var(--olive-75)}.story-grid small{font-size:11px;line-height:1.65;color:var(--olive-72-2)}.story-progress>.row{gap:12px;flex-wrap:wrap}@media(max-width:850px){.story-grid{grid-template-columns:1fr}}.game-layout .company-workspace{display:grid;gap:18px}.debt-relief{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.debt-relief p{font-size:var(--fs-small);line-height:1.45}.growth-unlocks{margin:4px 0;color:var(--accent);font-size:var(--fs-small)}.debt-relief-terms{margin:4px 0 8px;padding-left:18px;font-size:var(--fs-small)}.zombie-sample{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start;margin-top:6px}.zombie-sample img{width:72px;height:72px;object-fit:cover;border:1px solid var(--olive-40)}.zombie-sample strong{display:flex;align-items:center;gap:5px;font-size:16px}.zombie-sample small{display:block}.zombie-sample p{margin:6px 0 0;font-size:12px}.zombie-research-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.zombie-research-actions button{min-height:36px}.zombie-research-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;margin-top:10px}.zombie-research-item .legendary-art-button{width:72px}.zombie-lab .zombie-sample{margin-top:.75rem}.zombie-lab progress{width:100%;height:.6rem;margin:.25rem 0 .5rem}.combat-workspace .combat-cap-note,.combat-workspace .capture-brief{margin-top:10px;color:var(--olive-78-2);font-size:11px;line-height:1.5}.combat-workspace .capture-brief{padding:9px 11px;border-left:3px solid var(--olive-78);background:var(--olive-23)}.combat-workspace .arrest-required{border-color:var(--straw-77-2);color:var(--straw-83-2)}.combat-workspace .capture-action{border-color:var(--olive-81);color:var(--olive-96-2);background:var(--olive-32)}.combat-workspace .fleeing-cell{box-shadow:inset 0 0 0 2px var(--straw-83)}.combat-workspace .fleeing-cell .unit-label{color:var(--straw-92)}.combat-workspace.tactical-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);align-items:start;gap:16px}.combat-workspace>.tactical-turn-banner{grid-column:1 / -1;margin:0;border-radius:8px}.combat-workspace .battle-scene{min-width:0}.combat-workspace .battle-controls{min-width:0;gap:12px}.combat-workspace .arena{padding:14px;border-radius:10px}.combat-workspace .arena-title,.combat-workspace .scene-brief{margin-bottom:10px}.combat-workspace .scene-brief h2{font-size:26px;margin-bottom:4px}.combat-workspace .scene-brief p{max-width:none;font-size:11px}.combat-workspace .scene-address{margin-top:4px}.combat-workspace .battle-controls>.panel{padding:16px;border-radius:10px}.combat-workspace .actor-tabs{margin:10px 0 14px}.combat-workspace .actor-tabs button{flex:1;min-height:40px}.combat-workspace .combat-actor-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.combat-workspace .combat-actor-stats .stat{grid-template-columns:64px 1fr 24px;gap:5px;font-size:var(--fs-label)}.combat-workspace .combat-target{border-top:1px solid var(--olive-40);margin:16px 0 12px;padding-top:12px}.combat-workspace .combat-target .subnav{gap:5px;margin-bottom:12px}.combat-workspace .combat-target .subnav button{font-size:var(--fs-label);padding:7px}.combat-workspace .enemy-dossier{grid-template-columns:60px minmax(0,1fr);gap:12px}.combat-workspace .enemy-dossier .enemy-figure{height:120px}.combat-workspace .enemy-dossier h2{font-size:21px}.combat-workspace .enemy-dossier .row{gap:3px}.combat-workspace .enemy-dossier .bad{font-size:var(--fs-label)}.combat-workspace .enemy-stats{margin-top:8px;display:grid;gap:4px}.combat-workspace .enemy-stats .stat{font-size:var(--fs-label);gap:6px;grid-template-columns:64px 1fr 24px}.combat-workspace .target-distance{font-size:var(--fs-label);margin-top:5px;line-height:1.4}.combat-workspace .enemy-intent{padding:9px 10px;margin:10px 0 0}.combat-workspace .enemy-intent p{font-size:11px;margin-top:5px}.combat-workspace .enemy-intent small{font-size:var(--fs-label);margin-top:4px}.combat-workspace .combat-help{color:var(--olive-78-2);font-size:11px;line-height:1.6;margin-top:10px}.combat-workspace .combat-help summary{cursor:pointer;padding:5px 0;color:var(--olive-78-2)}.combat-workspace .combat-help summary:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:3px}.combat-workspace .combat-help p{margin-top:8px}.combat-workspace .combat-mode-tabs{gap:6px;margin:14px 0}.combat-workspace .combat-mode-tabs button{flex:1;min-height:42px;justify-content:center;padding:9px}.combat-workspace .action-option>button{min-height:44px}.combat-workspace .action-option>p{font-size:var(--fs-label);line-height:1.45;margin-top:5px}.combat-workspace .alternative-actions{gap:12px}.combat-workspace .morale-preview{padding:8px 10px}.combat-workspace .movement-note{margin:10px 0;padding:10px 12px;font-size:11px}.combat-workspace .retreat-control{min-height:42px;margin-top:4px}.combat-workspace .body-select{grid-template-columns:repeat(3,minmax(0,1fr))}.combat-workspace .body-select button{min-height:68px}@media(max-width:959px){.combat-workspace.tactical-layout{grid-template-columns:1fr}.combat-workspace .battle-scene .arena,.combat-workspace .battle-controls{grid-row:auto}.combat-workspace .movement-note{margin:0}.combat-workspace .scene-board{max-width:640px;margin-inline:auto}}@media(max-width:600px){.combat-workspace.tactical-layout{gap:10px}.combat-workspace .scene-brief .scene-address{display:none}.combat-workspace .turn-status{font-size:var(--fs-label);line-height:1.4}.combat-workspace .battle-controls>.panel{padding:12px}.combat-workspace .combat-actor-stats{column-gap:10px}.combat-workspace .combat-actor-stats .stat{grid-template-columns:59px 1fr 22px}.combat-workspace .body-select{gap:5px}.combat-workspace .body-select button{padding:7px 3px;font-size:var(--fs-label)}}.board .cell[data-pavement=true]{background:#4b8e7573;border-bottom:3px solid var(--moss-78)}.sit-in-token{display:grid;justify-items:center;color:var(--straw-95);line-height:1.05;text-shadow:0 1px 3px var(--ink-00)}.sit-in-token>span{font-size:clamp(20px,3vw,34px)}.sit-in-token b{font-size:14px}.sit-in-token small{font-size:clamp(11px,1vw,12px);letter-spacing:.04em}.combat-workspace .cell:has(.combat-floats){z-index:12}.combat-floats{position:absolute;z-index:12;left:50%;top:20%;transform:translate(-50%);display:grid;justify-items:center;gap:2px;width:max-content;max-width:165%;pointer-events:none;animation:combat-float-rise 3s ease-out both}.combat-floats[data-edge=left]{left:0;transform:none}.combat-floats[data-edge=right]{left:auto;right:0;transform:none}.combat-float{padding:3px 5px;border-radius:3px;background:color-mix(in srgb,var(--ink-13) 96%,transparent);border:1px solid var(--straw-75-2);color:var(--straw-95);font:700 clamp(11px,1.1vw,13px)/1.2 system-ui,sans-serif;text-align:center;box-shadow:0 2px 5px color-mix(in srgb,var(--ink-00) 67%,transparent)}.combat-float.damage{color:var(--brass-89);border-color:var(--brass-68)}.combat-float.morale{color:var(--straw-92);border-color:var(--straw-77-3)}.combat-float.recovery{color:var(--olive-96);border-color:var(--olive-74)}.action-reaction{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:9;pointer-events:none;fill:none;stroke:var(--straw-92);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;animation:action-cue .22s ease-out both}.reaction-hit{stroke:var(--brass-89);fill:color-mix(in srgb,var(--brass-68) 20%,transparent);animation-duration:.16s}.reaction-contact{animation-name:contact-cue;animation-duration:.16s}.still-effects .combat-floats{animation:none}@media(prefers-reduced-motion:reduce){.action-reaction{display:none;animation:none}}.mission-recap{max-width:760px;margin:20px auto}.mission-recap h2,.mission-recap h3,.mission-recap p{margin:12px 0}.mission-recap ol{padding-left:22px;line-height:1.6}.mission-recap li{margin:8px 0}.firearm-instructions{font-size:12px;line-height:1.5;margin:10px 0;color:var(--straw-87-2)}@media(max-width:600px){.combat-workspace .combat-mode-tabs{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.combat-floats{animation:none}}.combat-workspace .action-option p,.combat-workspace .action-card p,.combat-workspace .force-note{font-size:12px;line-height:1.5}.combat-selected-summary{font-size:13px;line-height:1.5;padding:10px;border:1px solid var(--line);background:var(--ink-13)}.combat-workspace>.room-progress,.combat-workspace>.boss-warning,.combat-workspace>.automatic-status{grid-column:1 / -1;min-width:0;padding:12px 14px;border:1px solid var(--olive-51);border-radius:8px;background:var(--ink-13);font-size:12px;line-height:1.5}.room-progress p,.boss-warning p,.automatic-status p{margin:6px 0;font-size:12px;line-height:1.5}.automatic-enable p{margin-bottom:6px}.automatic-status button,.automatic-enable button{min-height:44px;white-space:normal}.combat-workspace>.automatic-status{border-color:var(--olive-78)}.automatic-status>div+div{border-top:1px solid var(--olive-51);padding-top:8px;margin-top:8px}.automatic-enable{border-top:1px solid var(--olive-40);padding-top:12px;margin-top:12px}.cover-token{display:grid;justify-items:center;color:var(--straw-92);line-height:1.1;pointer-events:none}.cover-token strong{font-size:clamp(20px,4vw,42px)}.cover-token small,.cover-token b{font-size:clamp(11px,1.2vw,12px);overflow-wrap:anywhere}.combat-workspace .selected-cover{outline:3px solid var(--straw-92);outline-offset:-3px}.combat-workspace .boss-danger-cell{background-image:repeating-linear-gradient(135deg,color-mix(in srgb,var(--brass-47) 47%,transparent) 0,color-mix(in srgb,var(--brass-47) 47%,transparent) 5px,color-mix(in srgb,var(--rust-28) 20%,transparent) 5px,color-mix(in srgb,var(--rust-28) 20%,transparent) 10px);box-shadow:inset 0 0 0 2px var(--brass-68)}.combat-workspace .boss-safe-cell{box-shadow:inset 0 0 0 2px var(--moss-80)}.combat-workspace .search-route-cell{border-bottom:3px dotted var(--olive-86)}.cell-danger-marker,.cell-safe-marker,.room-exit-marker,.search-path-marker{position:absolute;z-index:6;pointer-events:none;color:var(--straw-96);background:color-mix(in srgb,var(--ink-13) 94%,transparent);border-radius:3px;font-size:clamp(11px,1.5vw,16px);font-weight:800;line-height:1.1;padding:2px 4px}.cell-danger-marker,.cell-safe-marker{top:2px;right:2px}.cell-danger-marker{color:var(--brass-87)}.cell-safe-marker{color:var(--moss-89-2)}.room-exit-marker{left:2px;top:2px}.search-path-marker{left:45%;top:45%}.combat-workspace .room-exit-cell{border-inline:3px solid var(--olive-86)}.search-route-note,.cover-shot-note{color:var(--straw-87);font-size:12px;line-height:1.5}.shot-trails{position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit;box-sizing:border-box;pointer-events:none;z-index:6}.shot-trails svg{display:block;width:100%;height:100%;overflow:visible}.shot-trails g{fill:none;stroke:var(--straw-83-2);stroke-width:.035}.shot-trails line{stroke-dasharray:.12 .06;opacity:.75}.shot-trails .hit-impact{stroke:var(--brass-78)}.shot-trails .critical-impact{stroke:var(--straw-90);stroke-width:.055}.shot-trails .miss-impact{stroke:var(--straw-87-2)}.shot-trails .muzzle-flash{fill:var(--straw-90);stroke:var(--straw-96)}.shot-motion svg{animation:shot-arrival .65s ease-out both}@media(prefers-reduced-motion:reduce){.shot-motion svg{animation:none}}.shot-risk{padding:.7rem;border:1px solid var(--straw-49);border-radius:8px;background:var(--ink-13);color:var(--straw-87);overflow-wrap:anywhere}.shot-risk p{margin-bottom:.4rem}.shot-risk ol{padding-left:1.25rem;margin:.5rem 0;font-size:.8rem}.shot-risk li+li{margin-top:.3rem}.shot-risk-danger{border-color:var(--brass-68-2)}.board .cell.stray-path-cell{outline:2px dashed var(--straw-81);outline-offset:-3px}.board .cell.stray-path-cell:after{content:attr(data-stray-routes);position:absolute;right:1px;bottom:1px;z-index:6;padding:1px 3px;color:var(--straw-95);background:var(--brass-17);font:700 10px/1.2 sans-serif;border-radius:2px;pointer-events:none}.battle-scene{position:sticky;top:20px;align-self:start}.tactical-expanded{grid-template-columns:minmax(0,1.6fr) minmax(315px,1fr)}.movement-note{display:flex;gap:11px;align-items:start;margin:14px 0 20px;color:var(--olive-72-2)}.movement-note p{font-size:12px;line-height:1.7}.movement-note span{display:block;color:var(--olive-63)}.movement-note svg{flex-shrink:0;margin-top:3px}.cell.selected-unit{box-shadow:inset 0 0 0 3px var(--straw-83-2);background:color-mix(in srgb,var(--olive-73) 31%,transparent)}.spent-marker{position:absolute;top:3px;right:5px;font-size:12px;color:var(--straw-80)}.enemy-summary>.row>span{font-size:12px}.enemy-stats{display:grid;gap:12px;margin:19px 0}.actor-tabs{margin:16px 0}.alternative-actions{margin-top:20px;gap:15px}.action-option button{width:100%;display:flex;gap:9px;align-items:center;font-size:13px;padding:13px 10px}.action-option button>span{margin-left:auto;font-size:var(--fs-label)}.action-option p{margin-bottom:0}.targeting>.row>span{font-size:11px}.attack-tabs button{font-size:12px;padding:9px}.targeting .body-select button{display:grid;gap:5px;text-align:left;padding:11px}.targeting .body-select strong{font-size:12px;font-weight:500}.targeting .body-select span{font-size:var(--fs-label);color:var(--olive-72-2)}.targeting .body-select .hit-value{font-size:13px;color:var(--straw-75)}.shot-preview{display:flex;gap:12px;padding:12px;border:1px solid var(--straw-30);background:var(--ink-20);align-items:center;margin:16px 0;color:var(--straw-74)}.shot-preview strong{font-size:12px;font-weight:500;line-height:1.5;display:block}.shot-preview p{margin-bottom:0}.shot-preview svg{flex-shrink:0}.force-action{width:100%;color:var(--brass-81);border-color:var(--straw-43);background:var(--brass-19);font-size:13px}.force-note{display:flex;gap:8px;align-items:start;font-size:11px!important;color:var(--straw-69-2)!important}.force-note svg{flex-shrink:0;margin-top:5px}.retreat-control{text-align:left}@media(max-width:850px){.tactical-expanded{grid-template-columns:1fr}.battle-scene{position:static}.battle-controls{grid-template-columns:1fr 1fr}.retreat-control{grid-column:1/-1}}@media(max-width:600px){.battle-controls{grid-template-columns:1fr}}.tactical-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px}.arena{border:1px solid var(--olive-40);background:var(--olive-23);padding:28px;position:relative;overflow:hidden}.arena.bar{background:repeating-linear-gradient(0deg,var(--ink-13) 0 2px,var(--olive-23) 2px 55px)}.arena.hospital{background:repeating-conic-gradient(var(--olive-23) 0% 25%,var(--ink-34) 0% 50%) 0 0 / 70px 70px}.arena.street,.arena.parking{background:linear-gradient(90deg,var(--ink-34) 0% 8%,var(--ink-13) 8% 92%,var(--ink-34) 92%)}.arena-title{letter-spacing:3px;font-size:11px;color:var(--straw-75-2);margin-bottom:20px}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:8/6;border:1px solid color-mix(in srgb,var(--olive-51) 33%,transparent)}.scene-brief{margin:0 0 18px}.scene-brief h2{font-size:25px;color:var(--ink-90)}.scene-brief p{font-size:12px;line-height:1.6;color:var(--straw-75-2);margin-top:5px;max-width:48ch}.scene-address{display:block;margin-top:8px;color:var(--olive-78-2);font-size:var(--fs-label);letter-spacing:1px;text-transform:uppercase}.scene-board{background-color:var(--ink-13)}.bar .authored-scene{background:repeating-linear-gradient(0deg,var(--ink-20) 0 2px,var(--ink-20) 2px 28px)}.hospital .authored-scene{background:repeating-conic-gradient(var(--olive-23) 0% 25%,var(--olive-23) 0% 50%) 0 0 / 48px 48px}.street .authored-scene{background:linear-gradient(90deg,var(--ink-34) 0 25%,var(--ink-13) 25% 87.5%,var(--ink-34) 87.5%)}.parking .authored-scene{background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 2px),color-mix(in srgb,var(--straw-74) 31%,transparent) calc(25% - 2px) 25%),var(--olive-23)}.board .cell:disabled{opacity:1}.scene-prop{display:grid;justify-items:center;gap:3px;color:var(--straw-75-2);max-width:100%}.scene-prop span{font-size:var(--fs-label);line-height:1.15;text-align:center;overflow-wrap:anywhere;padding:0 2px}.scene-board .cell.prop-car{background:var(--ink-34);box-shadow:inset 0 0 0 4px var(--ink-13),inset 0 0 0 6px var(--olive-53)}.scene-board .cell.prop-bench{background:repeating-linear-gradient(0deg,var(--ink-34) 0 6px,var(--olive-23) 6px 8px)}.scene-board .cell.prop-table{background:var(--straw-30);box-shadow:inset 0 0 0 5px var(--ink-20),inset 0 0 0 6px var(--straw-43)}.scene-board .cell.prop-desk{background:var(--ink-34);box-shadow:inset 0 0 0 5px var(--olive-23)}.scene-board .cell.prop-planter{background:var(--olive-32)}.scene-key{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:var(--fs-label);color:var(--straw-75-2);padding-top:13px}.scene-key>span{display:inline-flex;align-items:center;gap:5px}.scene-key i{width:8px;height:8px;display:inline-block}.key-worker{background:var(--olive-67)}.key-enemy{background:var(--brass-56)}.enemy-summary .row{gap:12px;flex-wrap:wrap}.enemy-summary h2{font-size:25px}@media(max-width:600px){.scene-prop span{display:none}.scene-prop svg{width:21px;height:21px}.scene-brief h2{font-size:22px}.scene-key{font-size:var(--fs-label)}}.cell{padding:0;border:1px solid color-mix(in srgb,var(--straw-61) 15%,transparent);border-radius:0;position:relative;display:grid;place-items:center;min-width:0;font-size:22px;background:color-mix(in srgb,var(--olive-07) 13%,transparent)}.cell:hover:not(:disabled){background:color-mix(in srgb,var(--olive-67) 31%,transparent)}.cell.obstacle{background:repeating-linear-gradient(45deg,var(--olive-40),var(--olive-40) 4px,var(--straw-30) 4px,var(--straw-30) 8px);box-shadow:inset 0 0 0 5px var(--olive-23)}.cell.actor{background:color-mix(in srgb,var(--olive-67) 27%,transparent);box-shadow:inset 0 0 0 2px var(--olive-67)}.cell.enemy{background:color-mix(in srgb,var(--rust-50) 27%,transparent);box-shadow:inset 0 0 0 2px var(--brass-56)}.cell .unit-label{position:absolute;bottom:3px;font-size:var(--fs-label);letter-spacing:1px}.tactic-controls{display:grid;gap:10px}.body-select{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}.body-select button{font-size:11px;padding:8px}.body-select .selected{background:var(--straw-30);border-color:var(--straw-60)}@media(max-width:850px){.tactical-layout{grid-template-columns:1fr}.tactical-layout .arena{padding:18px}}@media(max-width:600px){.arena{padding:10px}.cell{font-size:18px}.board .unit-label{font-size:var(--fs-label)}}.tactical-expanded .arena{background:linear-gradient(145deg,var(--olive-23),var(--ink-13) 75%);border-color:var(--olive-40);padding:22px;box-shadow:inset 0 1px color-mix(in srgb,var(--straw-74) 9%,transparent),0 12px 32px color-mix(in srgb,var(--ink-00) 13%,transparent)}.tactical-expanded .arena-title{color:var(--straw-74);font-size:var(--fs-label)}.tactical-expanded .scene-brief h2{font-size:clamp(24px,2.4vw,34px)}.tactical-expanded .scene-board{position:relative;isolation:isolate;overflow:hidden;background:var(--olive-23);grid-template-rows:repeat(7,minmax(0,1fr))}.tactical-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.tactical-expanded .scene-board.illustrated-board{padding:8% 6.5%;gap:0}.tactical-expanded .scene-board.illustrated-board .cell{border-color:color-mix(in srgb,var(--straw-87-2) 28%,transparent);background:color-mix(in srgb,var(--ink-13) 8%,transparent)}.tactical-expanded .scene-board.illustrated-board .cell.obstacle{background:color-mix(in srgb,var(--ink-13) 80%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--straw-74) 44%,transparent)}.enemy-art-token{filter:drop-shadow(0 2px 3px color-mix(in srgb,var(--ink-00) 73%,transparent))}.enemy-art-token.resolved{filter:saturate(.45)}.enemy-dossier{display:grid;grid-template-columns:106px minmax(0,1fr);gap:20px;align-items:center}.enemy-dossier .enemy-figure{width:100%;height:210px;background:var(--ink-13);border:1px solid var(--olive-40);border-radius:4px}.enemy-dossier-details{min-width:0}.enemy-dossier-details>.row{flex-wrap:wrap;gap:10px}.enemy-dossier-details h2{margin:0}@media(max-width:600px){.enemy-dossier{grid-template-columns:76px minmax(0,1fr);gap:12px}.enemy-dossier .enemy-figure{height:152px}.tactical-expanded .scene-board.illustrated-board .cell .unit-label{letter-spacing:0;font-size:var(--fs-label);padding:1px 2px}}.tactical-expanded .scene-board .cell{background:transparent;border-color:color-mix(in srgb,var(--olive-72-2) 7%,transparent);box-shadow:none;min-height:0}.tactical-expanded .scene-board .cell.obstacle{background:color-mix(in srgb,var(--ink-13) 8%,transparent)}.tactical-expanded .scene-prop{width:100%;gap:0}.tactical-expanded .tactical-prop-art{width:85%;height:auto;max-height:64px;filter:drop-shadow(2px 4px 2px color-mix(in srgb,var(--ink-00) 33%,transparent))}.tactical-expanded .scene-prop span{color:var(--straw-75-2);background:color-mix(in srgb,var(--ink-13) 78%,transparent);padding:2px 4px;font-size:var(--fs-label)}.tactical-expanded .scene-board .cell.actor{background:color-mix(in srgb,var(--olive-67) 13%,transparent)}.tactical-expanded .scene-board .cell.enemy{background:color-mix(in srgb,var(--brass-56) 11%,transparent)}.tactical-expanded .scene-board .cell.selected-unit{box-shadow:inset 0 0 0 2px var(--straw-77-3);background:color-mix(in srgb,var(--straw-66) 15%,transparent)}.tactical-expanded .scene-board .cell.selected-target{box-shadow:inset 0 0 0 2px var(--brass-56)}.tactical-expanded .scene-board .cell.reachable-cell{background:color-mix(in srgb,var(--olive-73) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--olive-73) 40%,transparent);color:var(--olive-90)}.tactical-expanded .scene-board .cell:hover:not(:disabled){background:color-mix(in srgb,var(--olive-67) 25%,transparent)}.tactical-expanded .scene-board .cell:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:-3px;z-index:2}.tactical-expanded .scene-board .cell.objective-cell{background:color-mix(in srgb,var(--straw-69) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--straw-69) 53%,transparent)}.tactical-expanded .cell .unit-label{font-size:var(--fs-label);letter-spacing:.6px;background:color-mix(in srgb,var(--ink-13) 90%,transparent);padding:2px 4px;bottom:1px;color:var(--straw-87-2)}.tactical-turn-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 16px;border:1px solid var(--olive-47);border-left:3px solid var(--straw-75);background:var(--olive-23);font-size:12px;line-height:1.6}.tactical-turn-banner strong{color:var(--straw-87-2)}.turn-status,.target-distance{color:var(--olive-75);font-size:11px}.body-impact{font-size:11px;line-height:1.7;color:var(--straw-80);margin:10px 0}.battle-controls .panel{border-color:var(--ink-34);background:linear-gradient(130deg,var(--olive-23),var(--ink-13))}.battle-controls .action-option>p{line-height:1.65}@media(max-width:600px){.tactical-expanded .arena{padding:12px}.tactical-expanded .tactical-prop-art{width:92%;height:auto}.tactical-expanded .scene-prop span{display:none}.tactical-expanded .cell .unit-label{font-size:var(--fs-label);letter-spacing:0;padding:1px}.tactical-turn-banner{padding:10px}}.tactical-expanded .cell.actor>svg,.tactical-expanded .cell.enemy>svg:not(.target-reticle){width:min(47px,90%);height:auto;max-height:90%}.enemy-intent{margin:0 0 16px;padding:12px 14px;border:1px solid var(--olive-40);border-left:3px solid var(--olive-67);background:var(--ink-13)}.enemy-intent .row{gap:8px;flex-wrap:wrap}.enemy-intent .eyebrow{font-size:var(--fs-label);letter-spacing:1px}.enemy-intent strong{font-size:12px;color:var(--straw-87-2)}.enemy-intent p{font-size:12px;line-height:1.6;margin-top:8px;color:var(--olive-78-2)}.enemy-intent small{display:block;margin-top:7px;color:var(--olive-72-2);font-size:var(--fs-label);line-height:1.5}.enemy-intent.intent-attack{border-left-color:var(--brass-72);background:var(--ink-20)}.enemy-intent.intent-withdraw{border-left-color:var(--olive-78)}.tactical-expanded .scene-board .cell.predicted-step{border:1px dashed var(--brass-61)}.tactical-expanded .scene-board .cell.threatened-unit{border:2px solid var(--brass-72)}.intent-marker{position:absolute;top:1px;right:3px;color:var(--brass-77);font-size:16px;font-weight:700;line-height:1;pointer-events:none;text-shadow:0 1px 3px var(--ink-00)}.intent-key{color:var(--brass-77);font-weight:700}@media(max-width:600px){.enemy-intent{padding:10px}.intent-marker{font-size:12px;right:1px}}.morale-preview{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px 12px;padding:10px 12px;margin-top:6px;background:var(--ink-13);border-left:2px solid var(--olive-67);color:var(--olive-75);font-size:11px}.morale-preview strong{color:var(--straw-87-2);font-size:13px}.morale-preview small{grid-column:1 / -1;color:var(--olive-78-2);line-height:1.6}@media(max-width:600px){.morale-preview{grid-template-columns:1fr}}.board-stage{display:contents}.mission-briefing{font-size:12px;color:var(--straw-80)}.mission-briefing summary{cursor:pointer;padding:6px 0}.mission-briefing p{margin:8px 0}.combat-workspace .enemy-intent summary{cursor:pointer;list-style:none;gap:8px}.combat-workspace .enemy-intent summary:after{content:"+";font-size:18px}.combat-workspace .enemy-intent[open] summary:after{content:"−"}.battle-controls:focus-visible{outline:2px solid var(--straw-83-2);outline-offset:-2px}@media(min-width:1100px){.combat-workspace .battle-controls>.panel{padding:12px}.combat-workspace .battle-controls h2{font-size:23px}.combat-workspace .actor-tabs{margin:8px 0 10px}.combat-workspace .actor-tabs button{font-size:12px;padding:8px}.combat-workspace .combat-actor-stats{gap:5px 8px}.combat-workspace .combat-target{margin:12px 0;padding-top:10px}.combat-workspace .enemy-dossier{grid-template-columns:48px minmax(0,1fr);gap:8px}.combat-workspace .enemy-dossier:has(>:only-child){grid-template-columns:1fr}.combat-workspace .enemy-dossier .enemy-figure{height:80px}.combat-workspace .enemy-dossier h2{font-size:20px}.combat-workspace .enemy-stats{gap:3px;margin-top:5px}.combat-workspace .enemy-intent{padding:8px}.combat-workspace .enemy-intent summary .eyebrow{display:none}.combat-workspace .enemy-intent summary strong{font-size:12px}.combat-workspace .combat-mode-tabs{margin:10px 0}.combat-workspace .body-select button{min-height:62px}.combat-workspace .scene-board .cell .unit-label{font-size:clamp(11px,.65vw,12px);letter-spacing:0}}.loot-recap ul{padding-left:20px}.combat-workspace .combat-quick-actions{margin:0;padding:16px;border:1px solid var(--olive-40);border-radius:10px;background:linear-gradient(155deg,var(--olive-23),var(--ink-13) 80%);box-shadow:inset 0 1px color-mix(in srgb,var(--straw-87) 10%,transparent),0 8px 24px color-mix(in srgb,var(--ink-00) 20%,transparent)}.combat-quick-actions .command-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.command-heading .eyebrow{color:var(--straw-75);font-size:var(--fs-label)}.command-heading h2{margin:3px 0 0;font-size:26px}.command-stamina{text-align:right;color:var(--olive-90);font-size:13px}.command-stamina strong{font-size:20px;font-variant-numeric:tabular-nums}.command-target{margin:12px 0;padding:10px 0;border-block:1px solid var(--olive-40);color:var(--ink-90);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.combat-quick-actions .actor-tabs{margin:12px 0;gap:6px}.combat-quick-actions .actor-tabs button{min-height:44px;font-size:14px;border-radius:6px}.combat-quick-actions .actor-tabs button[aria-pressed=true]{background:var(--olive-40);border-color:var(--olive-75);color:var(--straw-95);box-shadow:inset 0 -2px var(--straw-83-2)}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-action-grid button{display:flex;align-items:flex-start;gap:9px;text-align:left;min-width:0;min-height:78px;padding:12px 10px;border-radius:7px;border-color:var(--olive-40);background:var(--olive-23);color:var(--ink-90);white-space:normal}.quick-action-grid button>svg{flex:0 0 19px;margin-top:2px;color:var(--straw-75)}.quick-action-grid .command-label{display:grid;gap:6px;min-width:0}.quick-action-grid .command-label strong{font-size:14px;font-weight:650;line-height:1.3;overflow-wrap:break-word}.quick-action-grid .command-label small{display:block;font-size:11px;font-weight:400;line-height:1.4;color:var(--olive-78-2)}.quick-action-grid button.primary{background:linear-gradient(145deg,var(--straw-37),var(--straw-30));border-color:var(--straw-68);color:var(--straw-95)}.quick-action-grid button.primary small{color:var(--straw-87-2)}.quick-action-grid button.capture-action{background:var(--olive-32);border-color:var(--olive-67)}.quick-action-grid button:hover:not(:disabled){background:var(--olive-40);border-color:var(--straw-75)}.quick-action-grid button:focus-visible{outline:3px solid var(--straw-83-2);outline-offset:2px}.quick-action-grid button:disabled{opacity:1;background:var(--ink-13);border-color:var(--ink-34);color:var(--olive-72-2)}.quick-action-grid button:disabled small,.quick-action-grid button:disabled>svg{color:var(--olive-63)}.quick-action-grid .combat-mode-choice{background:var(--ink-20);border-color:var(--olive-40)}.quick-action-grid .combat-mode-choice[aria-pressed=true]{border-color:var(--straw-77-3);box-shadow:inset 0 0 0 1px var(--straw-77-3);background:var(--straw-30)}.combat-details summary{font-size:14px;cursor:pointer;padding:8px 0}.combat-workspace .board-stage{position:relative}.enemy-peek{position:absolute;top:8px;right:8px;z-index:35;display:flex;align-items:center;gap:8px;width:min(290px,85%);padding:8px;background:color-mix(in srgb,var(--ink-13) 96%,transparent);border:1px solid var(--straw-75);border-radius:8px;pointer-events:none;box-shadow:0 4px 18px color-mix(in srgb,var(--ink-00) 53%,transparent)}.enemy-peek>*:first-child{flex:none;width:48px;height:62px;object-fit:cover}.enemy-peek div{min-width:0}.enemy-peek span{display:block;font-size:12px;line-height:1.5}.enemy-peek strong{font-size:14px}.loot-recap{padding:14px;border:1px solid var(--straw-75);border-radius:8px;margin:16px 0}.combat-action-rail{min-width:0}.combat-workspace .board-stage{display:block;container-type:inline-size;width:min(100%,760px);margin-inline:auto}.combat-workspace .board-stage .scene-board{width:100%;max-width:none;margin:0;grid-template-columns:repeat(8,minmax(0,1fr))}.combat-workspace .board-stage .scene-board.illustrated-board{padding:8% 6.5%}.combat-workspace .cover-token{max-width:100%;max-height:100%;gap:1px}.combat-workspace .cover-token strong{font-size:clamp(12px,3cqw,30px);line-height:1}.combat-workspace .cover-token b,.combat-workspace .cover-token small{max-width:100%;font-size:clamp(11px,1.2cqw,12px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-workspace .scene-prop{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.combat-workspace .scene-prop .tactical-prop-art{height:55%;width:75%;flex:none;max-height:none}.combat-workspace .scene-prop span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:959px){.combat-workspace.tactical-layout{display:block}.combat-workspace .battle-scene{position:static;display:block}.combat-workspace .combat-action-rail{margin-top:12px}}@media(max-width:959px){.combat-workspace .battle-scene{display:block}.combat-workspace .battle-controls{gap:8px}}@media(max-width:400px){.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fog-board .fog-layer{position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));pointer-events:none;z-index:7}.fog-layer>span{display:grid;place-items:center;min-width:0}.fog-layer .fog-explored{background:#091210b8}.fog-layer .fog-unseen{background:var(--ink-00)}.fog-layer b{color:var(--straw-77-3);font-size:clamp(14px,2vw,24px)}.vision-note{font-size:.8rem;color:var(--olive-78-2);line-height:1.45;margin:.35rem 0}.civilian-panel{border:1px solid color-mix(in srgb,var(--moss-65) 44%,transparent);background:var(--moss-16);border-radius:8px;padding:.75rem}.civilian-panel h3{display:flex;align-items:center;gap:.4rem}.civilian-panel p,.civilian-panel small{font-size:.8rem;line-height:1.45}.civilian-status{padding:.6rem 0;border-top:1px solid color-mix(in srgb,var(--moss-65) 25%,transparent)}.civilian-status small{display:block;margin-top:.3rem}.civilian-token{color:var(--moss-89);display:grid;justify-items:center;gap:1px;font-size:clamp(11px,.75vw,12px)}.tactical-expanded .scene-board .cell.civilian-cell{background:color-mix(in srgb,var(--moss-30) 69%,transparent);box-shadow:inset 0 0 0 2px var(--moss-78)}.tactical-expanded .scene-board .cell.civilian-safe{border:2px dashed var(--moss-78)}.control-weapon-preview{padding:.6rem .8rem;margin-top:.6rem;border-left:3px solid var(--straw-69);background:color-mix(in srgb,var(--straw-69) 7%,transparent);font-size:.82rem}.control-weapon-preview p{margin:.4rem 0}.action-reaction.reaction-spray{stroke:var(--brass-69);stroke-width:3}.action-reaction.reaction-taser{stroke:var(--straw-90);stroke-width:2}.app-shell.page-is-combat:has(.combat-workspace) .app-topbar{display:none}.combat-workspace .turn-report{grid-column:1 / -1;display:grid;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-sunken);transition:border-color .3s var(--ease),background .3s var(--ease)}.combat-workspace .turn-report.is-fresh{border-left-color:var(--accent);background:linear-gradient(90deg,var(--accent-soft),transparent 70%),var(--surface-sunken)}.turn-report header{display:flex;align-items:center;gap:var(--space-2);color:var(--text-faint)}.turn-report ol{display:grid;gap:3px;margin:0;padding:0;list-style:none}.turn-report-latest li{position:relative;padding-left:var(--space-4);font-size:var(--fs-body);line-height:1.45;color:var(--text)}.turn-report-latest li:before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.turn-report-latest li.is-damage:before{background:var(--bad)}.turn-report-latest li.is-morale:before{background:var(--warn)}.turn-report-latest li.is-recovery:before{background:var(--good)}.turn-report.is-fresh .turn-report-latest li{animation:report-in .24s var(--ease) both}.turn-report.is-fresh .turn-report-latest li:nth-child(2){animation-delay:90ms}.turn-report.is-fresh .turn-report-latest li:nth-child(3){animation-delay:.18s}.turn-report-earlier li,.turn-report-empty{font-size:var(--fs-small);color:var(--text-faint);line-height:1.45}.turn-report-earlier li{padding-left:var(--space-4)}.turn-report details{font-size:var(--fs-small);color:var(--text-muted)}.turn-report summary{cursor:pointer;min-height:28px;display:flex;align-items:center}.turn-report details ol{padding-left:var(--space-4);list-style:decimal;line-height:1.5}@keyframes report-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.turn-report.is-fresh .turn-report-latest li{animation:none}}.combat-action-rail>.sheet-handle{display:none}@media(max-width:600px){.app-shell.page-is-combat{padding-bottom:0}.app-shell.page-is-combat:has(.combat-workspace) .app-sidebar{display:none}.app-shell.page-is-combat:has(.combat-workspace) .page{padding:var(--space-2) var(--space-2) calc(42dvh + var(--space-4))}.combat-workspace>.tactical-turn-banner{padding:var(--space-2) 52px var(--space-2) var(--space-3);gap:2px}.combat-workspace .tactical-turn-banner strong{font-size:15px}.combat-workspace .turn-status,.combat-workspace .arena-title{display:none}.combat-workspace .combat-selected-summary{font-size:var(--fs-small)}.combat-workspace .combat-selected-summary strong{font-size:inherit}.combat-workspace .arena{display:flex;flex-direction:column;padding:var(--space-2)}.combat-workspace .arena>.board-stage{order:1}.combat-workspace .arena>.turn-report{order:2}.combat-workspace .arena>.scene-brief{order:3;margin:var(--space-2) 0 0}.combat-workspace .arena>.board-help{order:5}.combat-workspace .battle-scene,.combat-workspace.tactical-layout{margin-top:var(--space-2)}.combat-workspace .scene-brief h2{font-size:20px}.combat-workspace .board-stage{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2)}.combat-workspace .board-stage>.scene-board{min-width:430px}.combat-workspace .turn-report{padding:var(--space-2) var(--space-3)}.turn-report-latest li{font-size:13px}.combat-workspace .combat-action-rail{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:42dvh;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface-1);border-top:1px solid var(--border-strong);border-radius:var(--radius-l) var(--radius-l) 0 0;box-shadow:0 -12px 32px #00000073}.combat-action-rail>.sheet-handle{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"grip grip" "name info";align-items:center;gap:2px var(--space-2);width:calc(100% + var(--space-4));margin:0 calc(-1 * var(--space-2));padding:6px var(--space-4) var(--space-2);border:0;border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface-1);text-align:left}.sheet-grip{grid-area:grip;justify-self:center;width:40px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong)}.sheet-handle strong{font-family:var(--font-display);font-size:18px}.sheet-handle span:last-child{justify-self:end;font-size:var(--fs-small);color:var(--text-muted)}.combat-workspace .combat-quick-actions{padding:0 0 var(--space-2);border:0;background:none;box-shadow:none}.combat-quick-actions .command-heading{display:none}.combat-workspace .quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.combat-workspace .actor-tabs button{min-height:40px;padding:6px 10px}.combat-workspace .quick-action-grid button{min-height:56px;padding:6px;gap:2px;flex-direction:column;align-items:flex-start}.combat-workspace .quick-action-grid .command-label strong{font-size:13px}.combat-workspace .quick-action-grid .command-label small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-label);line-height:1.3}.combat-workspace .vision-note,.combat-workspace .command-target{display:none}.combat-workspace .targeting{margin-top:var(--space-2);padding:var(--space-3)}}@keyframes action-cue{0%{opacity:.95}to{opacity:0}}@keyframes contact-cue{0%{opacity:.95;translate:-2px 0}to{opacity:0;translate:2px 0}}@keyframes combat-float-rise{0%{opacity:0}12%,85%{opacity:1}to{opacity:0}}@keyframes mission-popup-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes shot-arrival{0%{opacity:1;filter:brightness(1.8)}to{opacity:.7;filter:none}}.combat-workspace>.tactical-turn-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"main summary tools" "status status status";align-items:center;gap:4px var(--space-4);margin:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-m)}.turn-banner-main{grid-area:main;display:grid;line-height:1.25}.turn-banner-main strong{font-size:18px;white-space:nowrap}.turn-banner-main .finale-act{justify-self:start;margin-bottom:2px;padding:1px 8px;border-radius:var(--radius-s);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-strong);font-size:var(--fs-small);font-weight:700;white-space:normal}.combat-workspace>.tactical-turn-banner>.combat-selected-summary{grid-area:summary;margin:0;padding:6px 10px;font-size:13px;line-height:1.4;border-radius:var(--radius-s)}.combat-workspace>.tactical-turn-banner>.turn-status{grid-area:status;margin:0;font-size:var(--fs-label);line-height:1.4}.turn-banner-tools{grid-area:tools;align-self:start}.settings-section{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:0 0 var(--space-3);border:0;border-bottom:1px solid var(--border)}.settings-section legend{padding:0;margin-bottom:var(--space-2);font-weight:700}.settings-section label{display:flex;align-items:center;gap:var(--space-2);min-height:32px;font-size:var(--fs-small);cursor:pointer}.settings-section input{width:18px;height:18px;accent-color:var(--accent)}.combat-workspace .arena-title{display:none}.combat-workspace .scene-brief{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-4);min-height:0;margin:0 0 var(--space-2);padding:0}.combat-workspace .scene-brief h2{margin:0;font-size:22px}.combat-workspace .mission-briefing{font-size:var(--fs-small)}.combat-workspace .mission-briefing summary{cursor:pointer;color:var(--text-muted)}.combat-workspace .mission-briefing[open]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;padding:var(--space-2) var(--space-4) var(--space-3);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.combat-workspace .mission-briefing[open] summary{color:var(--text)}.combat-workspace .mission-briefing p{font-size:13px}.combat-workspace .quick-action-grid .command-label{gap:2px}.combat-workspace .quick-action-grid .command-label small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:1100px){.game-layout.page-is-combat .page{max-width:none;padding:12px 20px}}@media(min-width:960px){.combat-workspace{--rail-w: clamp(340px, 26vw, 420px);--combat-chrome: 350px}.page:not(:has(.mission-atmosphere)) .combat-workspace{--combat-chrome: 280px}.page:has(.first-job-guide) .combat-workspace{--combat-chrome: 420px}.page:has(.first-job-guide):not(:has(.mission-atmosphere)) .combat-workspace{--combat-chrome: 350px}.combat-workspace.tactical-layout{display:block;height:auto;min-height:0}.combat-workspace>.tactical-turn-banner,.combat-workspace>.room-progress,.combat-workspace>.boss-warning,.combat-workspace>.automatic-status{margin-bottom:var(--space-2)}.combat-workspace .battle-scene,.combat-workspace .battle-controls{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);column-gap:var(--space-4);align-items:start;position:static;height:auto;margin:0}.combat-workspace .battle-scene{row-gap:var(--space-2)}.combat-workspace .arena{grid-column:1;grid-row:1;display:block;padding:var(--space-3) var(--space-4)}.combat-workspace .battle-scene>.movement-note{grid-column:1;grid-row:2;margin:0;padding:6px 10px;font-size:12px}.combat-workspace .movement-note span{display:none}.combat-workspace .board-stage{display:block;container-type:inline-size;width:min(100%,max(460px,calc((100dvh - var(--combat-chrome)) * var(--board-aspect))));margin:0 auto}.combat-workspace .board-stage.is-large{width:100%}.combat-workspace .board-stage .scene-board{width:100%;max-width:none;margin:0}.combat-workspace .turn-report{margin-top:var(--space-2)}.combat-workspace .board-help{margin-top:var(--space-1);font-size:11px}.combat-workspace .combat-action-rail{grid-column:2;grid-row:1 / span 2;position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;display:grid;gap:var(--space-2)}.combat-workspace .combat-quick-actions{padding:var(--space-4)}.combat-quick-actions .command-heading h2{font-size:24px}.combat-quick-actions .actor-tabs{margin:var(--space-3) 0 var(--space-2)}.combat-workspace .command-target{margin:var(--space-2) 0;padding:6px 0}.combat-workspace .vision-note{margin:0 0 var(--space-2);font-size:12px;line-height:1.45;color:var(--text-muted)}.combat-workspace .quick-action-grid{grid-template-columns:minmax(0,1fr);gap:6px}.combat-workspace .quick-action-grid button{align-items:center;min-height:52px;padding:8px 12px;gap:12px}.combat-workspace .quick-action-grid button>svg{margin-top:0}.combat-workspace .quick-action-grid .command-label small{font-size:12px;line-height:1.35}.combat-workspace .battle-controls{margin-top:var(--space-3);row-gap:var(--space-2);overflow:visible;max-height:none}.combat-workspace .battle-controls>*{grid-column:1}.combat-workspace .battle-controls>.retreat-control{justify-self:start}}@media(min-width:960px)and (max-height:820px){.combat-workspace{--combat-chrome: 300px}.page:not(:has(.mission-atmosphere)) .combat-workspace{--combat-chrome: 250px}.combat-workspace>.tactical-turn-banner>.turn-status{display:none}.mission-atmosphere{min-height:48px;padding:4px}.mission-atmosphere-picture{height:40px}.mission-atmosphere-text p{-webkit-line-clamp:1}}@media(min-width:601px)and (max-width:959px){.combat-workspace>.tactical-turn-banner,.combat-workspace>.room-progress,.combat-workspace>.boss-warning,.combat-workspace>.automatic-status{margin-bottom:var(--space-2)}.combat-workspace .board-stage:not(.is-large){width:min(100%,640px,calc((100dvh - 360px) * var(--board-aspect)));min-width:min(100%,480px)}.combat-workspace .quick-action-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:600px){.combat-workspace>.tactical-turn-banner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main tools" "summary summary";padding:6px 6px 6px var(--space-3)}.turn-banner-main strong{font-size:15px;white-space:normal}.combat-workspace>.tactical-turn-banner>.combat-selected-summary{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:4px 8px}.combat-workspace>.tactical-turn-banner>.turn-status{display:none}.combat-workspace .scene-brief h2{font-size:18px}.combat-action-rail.is-collapsed{overflow:hidden}.combat-action-rail.is-collapsed>:not(.sheet-handle,.combat-quick-actions),.combat-action-rail.is-collapsed .combat-quick-actions>:not(.quick-action-grid){display:none}.combat-action-rail.is-collapsed .quick-action-grid{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2)}.combat-action-rail.is-collapsed .quick-action-grid>button{flex:0 0 118px;scroll-snap-align:start}.app-shell.page-is-combat:has(.combat-action-rail.is-collapsed) .page{padding-bottom:calc(150px + env(safe-area-inset-bottom))}}.force-budget{display:grid;gap:6px;margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-left:3px solid var(--good);border-radius:var(--radius-s);background:var(--surface-sunken)}.force-budget.is-over{border-left-color:var(--bad);background:linear-gradient(90deg,var(--bad-soft),transparent 70%),var(--surface-sunken)}.force-budget-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small)}.force-budget-head span{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.force-budget-bar{display:flex;height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--border)}.force-budget-bar i{background:var(--warn)}.force-budget-bar b{background:color-mix(in srgb,var(--warn) 45%,transparent)}.force-budget.is-over .force-budget-bar b{background:var(--bad)}.force-budget p{margin:0;font-size:var(--fs-small);line-height:1.45;color:var(--text-muted)}.combat-workspace .team-marker{position:absolute;top:3px;left:3px;z-index:4;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--info);color:var(--surface-0);box-shadow:0 0 0 2px var(--surface-0);pointer-events:none}@media(max-width:600px){.combat-workspace .scene-board .cell .unit-label.is-plain{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.combat-workspace .scene-board .cell .unit-label.is-status{bottom:0;left:50%;z-index:3;transform:translate(-50%,70%);max-width:100%;overflow:hidden;padding:0 3px;border-radius:3px;font-family:var(--font-display);font-size:var(--fs-label);font-weight:600;line-height:14px;letter-spacing:.3px;white-space:nowrap;pointer-events:none;background:color-mix(in srgb,var(--ink-13) 80%,transparent)}}.combat-workspace .cell:has(.speech-bubble){z-index:13}.speech-bubble{position:absolute;z-index:13;left:50%;bottom:92%;transform:translate(-50%);width:max-content;max-width:max(180%,10em);padding:4px 7px;border-radius:9px;background:var(--straw-95);color:var(--ink-13);border:2px solid var(--ink-13);font:700 clamp(11px,1vw,12px)/1.2 system-ui,sans-serif;text-align:center;pointer-events:none;box-shadow:0 2px 5px color-mix(in srgb,var(--ink-00) 50%,transparent);animation:speech-pop .25s ease-out both}.speech-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--ink-13)}.speech-bubble.enemy{background:var(--brass-89)}.speech-bubble[data-edge=left]{left:0;transform:none}.speech-bubble[data-edge=right]{left:auto;right:0;transform:none}@keyframes speech-pop{0%{opacity:0;transform:translate(-50%) scale(.85)}}@media(prefers-reduced-motion:reduce){.speech-bubble{animation:none}}.combat-workspace .target-reticle{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;max-width:none;max-height:none;fill:none;stroke:var(--bad);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1.5px rgb(0 0 0 / 90%));pointer-events:none}.combat-workspace .target-reticle path{vector-effect:non-scaling-stroke}.combat-workspace .target-reticle .reticle-ticks{stroke-width:2;opacity:.85}.combat-workspace.motion-effects .target-reticle{animation:reticle-in .25s var(--ease)}@keyframes reticle-in{0%{transform:scale(1.35);opacity:0}}.combat-workspace .drunk-marker,.combat-workspace .faction-marker,.combat-workspace .aim-marker{position:absolute;z-index:4;display:grid;place-items:center;min-width:16px;height:16px;border-radius:50%;font-size:10px;line-height:1;pointer-events:auto;box-shadow:0 0 0 1.5px var(--surface-0)}.combat-workspace .drunk-marker{top:1px;right:1px;background:color-mix(in srgb,var(--warn) 85%,transparent)}.combat-workspace .drunk-marker.is-vomit{background:color-mix(in srgb,var(--good) 85%,transparent)}.combat-workspace .faction-marker{bottom:1px;left:1px;color:var(--surface-0);font-family:var(--font-display);font-weight:700}.combat-workspace .faction-marker.faction-a{background:var(--info)}.combat-workspace .faction-marker.faction-b{background:var(--accent-strong)}.combat-workspace .aim-marker{top:1px;right:1px;background:var(--bad);color:var(--surface-0);font-size:12px;font-weight:700}@media(max-width:600px){.combat-workspace .drunk-marker,.combat-workspace .faction-marker,.combat-workspace .aim-marker{min-width:12px;height:12px;font-size:8px;box-shadow:none}.combat-workspace .target-reticle{stroke-width:2}}.combat-workspace.motion-effects .aim-marker{animation:aim-pulse 1s ease-in-out infinite alternate}@keyframes aim-pulse{to{box-shadow:0 0 0 4px #d4846f66}}.enemy-peek .peek-kind{color:var(--warn);font-weight:600}.enemy-peek .peek-intent{color:var(--text-muted)}.combat-workspace .target-popup{position:absolute;top:8px;right:8px;z-index:40;display:grid;gap:var(--space-2);width:min(380px,calc(100% - 16px));max-height:calc(100% - 16px);margin:0;padding:var(--space-3);overflow:auto;border:1px solid var(--accent);border-radius:var(--radius-m);background:var(--surface-1);box-shadow:var(--shadow-2)}.target-popup-head{display:grid;grid-template-columns:44px 1fr auto;gap:var(--space-2);align-items:center}.target-popup-head .enemy-portrait{width:44px;height:44px;border-radius:50%;background:var(--surface-3)}.target-popup-head h2{margin:0;font-size:var(--fs-h3)}.target-popup-head .muted{font-size:var(--fs-small)}.target-popup-close{width:32px;min-height:32px;padding:0;font-size:20px;line-height:1}.target-popup-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--space-3)}.target-popup-stats .stat{grid-template-columns:62px 1fr 24px;font-size:var(--fs-small)}.target-popup-intent{margin:0;color:var(--text-muted);font-size:var(--fs-small);line-height:1.4}.combat-workspace .target-popup .body-map{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:". head ." "rightArm torso leftArm" "rightLeg . leftLeg";gap:4px;margin:0}.combat-workspace .target-popup .body-map button{position:relative;min-height:52px;padding:5px 6px 8px;gap:1px;overflow:hidden}.combat-workspace .target-popup .body-map button:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--part-condition, 100%);background:var(--good)}.combat-workspace .target-popup .body-map button.is-hurt:after{background:var(--bad)}.body-map .body-part-head{grid-area:head}.body-map .body-part-torso{grid-area:torso}.body-map .body-part-leftArm{grid-area:leftArm}.body-map .body-part-rightArm{grid-area:rightArm}.body-map .body-part-leftLeg{grid-area:leftLeg}.body-map .body-part-rightLeg{grid-area:rightLeg}.target-popup-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}.target-popup-actions button{display:flex;gap:6px;align-items:flex-start;min-height:44px;padding:6px 8px;text-align:left}.target-popup-actions button span{display:grid;min-width:0}.target-popup-actions button strong{font-size:var(--fs-small)}.target-popup-actions button small{overflow:hidden;color:var(--text-muted);font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap}.target-popup-actions .force-action{grid-column:1 / -1;border-color:var(--bad);background:var(--bad-soft)}.target-popup-actions .vomit-action{border-color:var(--good)}.combat-workspace .target-popup .shot-preview,.combat-workspace .target-popup .body-impact{font-size:var(--fs-small)}@media(max-width:600px){.combat-workspace .target-popup{position:fixed;top:auto;right:8px;bottom:calc(var(--mobile-nav-h) + 8px);left:8px;z-index:60;width:auto;max-height:72vh}.combat-workspace .target-popup .body-map button{min-height:44px}}.combat-workspace .target-popup.is-left{right:auto;left:8px}.combat-workspace .target-popup .body-impact{margin:0;color:var(--text-muted)}.target-popup-actions button small{color:inherit;opacity:.85}.target-popup-actions button.primary small{color:var(--accent-ink);opacity:.9}.target-popup-actions button.capture-action small{color:var(--olive-96-2)}.target-popup-actions button:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--text-muted)}.target-popup-actions button:disabled small,.target-popup-actions button:disabled>svg{color:var(--text-muted);opacity:1}.target-popup .automatic-enable button:disabled{opacity:1;color:var(--text-muted)}.target-popup-actions button.force-action:disabled{border-color:color-mix(in srgb,var(--bad) 55%,var(--border));background:var(--surface-2)}.target-popup-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;pointer-events:none}.target-popup-layer .target-popup.is-floating{position:absolute;right:auto;bottom:auto;max-height:min(600px,calc(100vh - 16px));pointer-events:auto}.target-popup.is-floating .target-popup-head{margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) 0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);border-radius:var(--radius-m) var(--radius-m) 0 0;background:var(--surface-2);position:sticky;top:calc(var(--space-3) * -1);z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.target-popup.is-floating .target-popup-head:active{cursor:grabbing}.target-popup-details{display:grid;gap:2px;padding:var(--space-2);border-radius:var(--radius-s);background:var(--surface-2);font-size:var(--fs-small);line-height:1.45}.target-popup-details span{display:block}.target-popup-details .peek-kind{color:var(--warn);font-weight:600}.target-popup-details .peek-intent{color:var(--text-muted)}.combat-workspace .target-popup .target-popup-details p{margin:2px 0 0;font-size:var(--fs-small);line-height:1.45}.combat-workspace .target-popup .body-map{grid-template-areas:". head ." "rightArm torso leftArm" "rightLeg groin leftLeg"}.body-map .body-part-groin{grid-area:groin}.body-select .body-part-groin{border-style:dashed}.target-popup-actions .special-action,.combat-workspace .quick-action-grid .special-action{border-color:var(--accent);background:var(--accent-soft)}.combat-workspace .board .cell.puke-cell{background-image:radial-gradient(ellipse 38% 26% at 50% 70%,color-mix(in srgb,var(--good) 55%,transparent),transparent 75%)}.combat-workspace .puke-puddle{position:absolute;left:18%;right:18%;bottom:8%;height:22%;z-index:1;border-radius:50%;background:color-mix(in srgb,var(--good) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--good) 70%,transparent);pointer-events:none}.combat-workspace .pickup-marker,.combat-workspace .lunge-marker{position:absolute;z-index:3;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700;line-height:1}.combat-workspace .pickup-marker{top:50%;left:50%;transform:translate(-50%,-50%);background:var(--warn-soft);color:var(--warn);box-shadow:0 0 0 1.5px var(--warn)}.combat-workspace .pickup-marker.is-legendary{background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent)}.combat-workspace .board .cell.lunge-landing{outline:2px dashed var(--accent);outline-offset:-3px}.combat-workspace .lunge-marker{bottom:2px;left:2px;background:var(--accent);color:var(--surface-0)}.combat-workspace .puke-floor{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:var(--space-2);font-size:var(--fs-small);color:var(--text-muted)}.combat-workspace .puke-floor>span{display:inline-flex;flex:1 1 100%;gap:4px;align-items:center}.combat-workspace .puke-floor button{min-width:40px;min-height:34px;font-size:16px}@media(max-width:600px){.combat-workspace .pickup-marker,.combat-workspace .lunge-marker{width:14px;height:14px;font-size:9px}}.combat-workspace>.room-progress{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:6px 12px}.combat-workspace>.room-progress .room-stages{margin:0;gap:4px 14px}.room-briefing{flex:1 1 260px;min-width:0}.room-briefing summary{cursor:pointer;color:var(--text-muted)}.quick-action-grid .exit-action.primary{border-color:var(--olive-86);box-shadow:inset 0 0 0 1px var(--olive-86)}.combat-workspace .cover-reticle{stroke:var(--straw-92)}.room-exit-marker b{font-size:clamp(9px,1vw,11px);letter-spacing:.04em;text-transform:uppercase}.room-exit-marker.is-open{color:var(--ink-13);background:var(--olive-86)}.combat-workspace.motion-effects .room-exit-marker.is-open{animation:exit-ready 1.6s ease-in-out infinite}@keyframes exit-ready{50%{transform:scale(1.12)}}.cover-target-chip{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:8px;padding:1px 4px 1px 8px;border:1px solid var(--straw-77-3);border-radius:999px;font-size:var(--fs-label, 11px)}.cover-target-chip .link-button{display:inline-flex;min-height:24px;min-width:24px;align-items:center;justify-content:center}.combat-workspace .target-popup{gap:6px;padding:var(--space-2) var(--space-3)}.combat-workspace .target-popup .target-popup-head{grid-template-columns:36px 1fr auto}.combat-workspace .target-popup .target-popup-head .enemy-portrait{width:36px;height:36px}.combat-workspace .target-popup .target-popup-head .muted{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.combat-workspace .target-popup .target-popup-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 8px}.combat-workspace .target-popup .target-popup-stats .stat{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "bar bar";gap:1px 4px;font-size:var(--fs-label)}.combat-workspace .target-popup .target-popup-stats .stat>span:first-child{grid-area:label;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-workspace .target-popup .target-popup-stats .stat>.meter{grid-area:bar}.combat-workspace .target-popup .target-popup-stats .stat>span:last-child{grid-area:value}.combat-workspace .target-popup .attack-tabs button{min-height:36px;padding:4px 8px}.combat-workspace .target-popup .body-map{gap:3px}.combat-workspace .target-popup .body-map button{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:36px;padding:3px 6px 6px}.combat-workspace .target-popup .body-map button strong{overflow:hidden;font-size:var(--fs-label);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.combat-workspace .target-popup .body-map .hit-value{flex:none;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.combat-workspace .target-popup .target-popup-actions{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.combat-workspace .target-popup .target-popup-actions button{min-height:40px;padding:4px 6px}.popup-summary{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0;color:var(--text-muted);font-size:var(--fs-small)}.popup-summary:empty{display:none}.popup-summary .is-over{color:var(--bad);font-weight:600}.popup-more>summary{cursor:pointer;font-size:var(--fs-small);color:var(--text-muted)}.popup-more[open]{display:grid;gap:6px}.body-doll{display:inline-grid;flex:none;grid-template-columns:4px 8px 4px;grid-template-rows:6px 9px 8px;grid-template-areas:". head ." "rightArm torso leftArm" "rightLeg . leftLeg";gap:1px;vertical-align:middle}.body-doll i{border-radius:1px;background:var(--good)}.body-doll .doll-head{grid-area:head;border-radius:50%}.body-doll .doll-torso{grid-area:torso}.body-doll .doll-leftArm{grid-area:leftArm}.body-doll .doll-rightArm{grid-area:rightArm}.body-doll .doll-leftLeg{grid-area:leftLeg;width:4px}.body-doll .doll-rightLeg{grid-area:rightLeg;width:4px;justify-self:end}.body-doll.is-dog{grid-template-columns:5px 5px 5px 6px;grid-template-rows:6px 4px;grid-template-areas:"torso torso torso head" "rightLeg leftLeg rightArm leftArm"}.body-doll.is-dog .doll-leftLeg,.body-doll.is-dog .doll-rightLeg{width:auto}.body-doll .is-warn,.crew-condition-parts .is-warn i{background:var(--warn)}.body-doll .is-bad,.crew-condition-parts .is-bad i{background:var(--bad)}.body-doll .is-gone{background:var(--surface-3);outline:1px solid var(--bad)}.crew-condition{margin:6px 0;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken)}.crew-condition>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.crew-condition>summary::-webkit-details-marker{display:none}.crew-condition .body-doll{transform:scale(1.4);margin:0 6px}.crew-condition-vitals{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:var(--fs-small);color:var(--text-muted)}.crew-condition-vitals b{color:var(--text);font-variant-numeric:tabular-nums}.crew-condition-vitals .is-low b{color:var(--bad)}.crew-condition-parts{display:grid;gap:3px;margin:8px 0 0;padding:0;list-style:none;font-size:var(--fs-small)}.crew-condition-parts li{display:grid;grid-template-columns:96px minmax(40px,1fr) 44px auto;gap:6px;align-items:center}.crew-condition-parts li i{height:4px;border-radius:2px;background:var(--good)}.crew-condition-parts li b{text-align:right;font-variant-numeric:tabular-nums}.crew-condition-parts li small{color:var(--text-muted)}.crew-condition-parts .is-gone small,.crew-condition-parts .is-bad small{color:var(--bad)}.crew-condition-effects{margin:6px 0 0;padding-left:16px;color:var(--text-muted);font-size:var(--fs-small)}p.crew-condition-effects{padding-left:0}.sheet-handle strong .body-doll{margin:0 4px 0 8px}.sheet-handle strong small{font-family:var(--font-body, inherit);font-size:var(--fs-label);color:var(--text-muted)}@media(max-width:600px){.combat-workspace .board-stage:not(.is-large)>.scene-board{min-width:0}.combat-workspace .board-stage:not(.is-large) .scene-board.illustrated-board{padding:4% 3%}.combat-workspace .target-popup,.combat-workspace .target-popup.is-left{right:0;bottom:0;left:0;max-height:min(56dvh,460px);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:var(--radius-l) var(--radius-l) 0 0}.combat-workspace .target-popup .body-map button{min-height:36px}.combat-workspace .target-popup .target-popup-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-workspace .command-target:has(.cover-target-chip){display:block;margin:0 0 4px;font-size:var(--fs-small)}.page-is-combat .mission-atmosphere:not(.is-enlarged) .mission-atmosphere-text p,.page-is-combat .first-job-guide .guide-copy p,.page-is-combat .first-job-guide .guide-progress{display:none}.page-is-combat .mission-atmosphere:not(.is-enlarged){grid-template-columns:64px minmax(0,1fr) auto;min-height:0;padding-block:4px}.page-is-combat .mission-atmosphere:not(.is-enlarged) .mission-atmosphere-picture{max-height:40px;width:64px}.page-is-combat .first-job-guide{padding-block:6px}.combat-workspace>.tactical-turn-banner>.combat-selected-summary{-webkit-line-clamp:1}.combat-action-rail .crew-condition-parts li{grid-template-columns:84px minmax(30px,1fr) 40px auto}}.combat-workspace .target-popup .automatic-enable{margin-top:0;padding-top:6px}.combat-workspace .target-popup .automatic-enable button{min-height:36px;padding:4px 10px}.combat-workspace .board .cell.throw-cell{outline:2px dashed var(--warn);outline-offset:-3px;cursor:crosshair}.combat-workspace .board .cell.blast-cell{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--bad) 80%,transparent),inset 0 0 0 999px color-mix(in srgb,var(--bad) 30%,transparent)}.combat-workspace .board .cell.shrapnel-cell{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--bad) 55%,transparent),inset 0 0 0 999px color-mix(in srgb,var(--bad) 14%,transparent)}.combat-workspace .throw-action.is-armed{border-color:var(--warn);background:var(--warn-soft)}.throw-effects{position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit;box-sizing:border-box;pointer-events:none;z-index:9}.throw-effects>svg{display:block;width:100%;height:100%;overflow:visible}.fx-throw .fx-fly{opacity:0;animation:fx-fly var(--fx-fly) linear calc(var(--fx-land) - var(--fx-fly)) forwards}.fx-throw .fx-arc{animation:fx-arc var(--fx-fly) linear calc(var(--fx-land) - var(--fx-fly)) both}.fx-throw .fx-spin{animation:fx-spin var(--fx-fly) linear calc(var(--fx-land) - var(--fx-fly)) both}@keyframes fx-fly{0%{transform:translate(var(--fx-from));opacity:1}to{transform:translate(var(--fx-to));opacity:1}}@keyframes fx-arc{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.33,.66,.66,1)}50%{transform:translateY(var(--fx-lift));animation-timing-function:cubic-bezier(.33,0,.66,.33)}to{transform:translateY(0)}}@keyframes fx-spin{to{transform:rotate(540deg)}}.fx-grenade{stroke:#f1e6c4;stroke-width:.03;paint-order:stroke;stroke-linejoin:round}.fx-grenade.is-frag ellipse{fill:#4f5634}.fx-grenade .fx-grip{fill:none;stroke:#2b2f1c}.fx-grenade .fx-lever{fill:none;stroke:#b9b39a;stroke-width:.028;stroke-linecap:round}.fx-grenade.is-can rect{fill:#8e908a}.fx-grenade.is-can.is-gas rect{fill:#a0a64a}.fx-grenade .fx-band{stroke:#2a2a24;stroke-width:.04}.fx-throw.is-frag .fx-grenade{animation:fx-vanish 1ms linear var(--fx-land) both}.fx-throw:not(.is-frag) .fx-grenade{animation:fx-vanish .5s ease-in calc(var(--fx-land) + .9s) both}@keyframes fx-vanish{to{opacity:0}}.fx-throw .fx-flash{opacity:0;animation:fx-flash .24s ease-out var(--fx-land) forwards}@keyframes fx-flash{0%{transform:scale(.15);opacity:.95}to{transform:scale(1);opacity:0}}.fx-throw .fx-boom{opacity:0;animation:fx-boom-show 1.7s linear var(--fx-land) forwards}.fx-throw .fx-boom-frames{animation:fx-boom 1.7s step-end var(--fx-land) forwards}@keyframes fx-boom-show{0%,72%{opacity:1}to{opacity:0}}@keyframes fx-boom{0%{transform:none}7%{transform:translate(-256px)}17%{transform:translate(-512px)}31%{transform:translate(-768px)}50%{transform:translate(-1024px)}72%,to{transform:translate(-1280px)}}.fx-throw .fx-sparks line{stroke:#ffe7a0;stroke-width:.035;stroke-linecap:round}.fx-throw .fx-sparks{opacity:0;animation:fx-sparks .38s ease-out var(--fx-land) forwards}@keyframes fx-sparks{0%{transform:scale(.5);opacity:1}to{transform:scale(3);opacity:0}}.fx-throw .fx-shrapnel line{stroke:#ffd98a;stroke-width:.03;stroke-linecap:round;stroke-dasharray:.12 1;stroke-dashoffset:.12;opacity:0;animation:fx-shrapnel .42s cubic-bezier(.1,.6,.3,1) calc(var(--fx-land) + var(--fx-streak, 0ms)) forwards}@keyframes fx-shrapnel{0%{stroke-dashoffset:.12;opacity:1}80%{opacity:.9}to{stroke-dashoffset:-.9;opacity:0}}.fx-throw .fx-aftersmoke>g{opacity:0;animation:fx-aftersmoke 2.6s ease-out calc(var(--fx-land) + .5s + var(--fx-after, 0ms)) forwards}@keyframes fx-aftersmoke{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:.85}to{transform:translate(var(--fx-dx),calc(var(--fx-dy) - .9px)) scale(1.3);opacity:0}}.fx-throw .fx-puff>g{opacity:0;animation:fx-puff 1.5s ease-out var(--fx-land) forwards}@keyframes fx-puff{0%{transform:translate(0) scale(.3);opacity:.7}to{transform:translate(var(--fx-dx),calc(var(--fx-dy) - .25px)) scale(1.4);opacity:0}}.fx-ground .fx-glare{opacity:0;fill:#ffb44a;animation:fx-glare .32s ease-out var(--fx-land) forwards}.fx-ground .fx-glare.is-outer{fill:#ff9a3a;animation-duration:.52s;animation-name:fx-glare-outer}@keyframes fx-glare-outer{0%{opacity:.22}to{opacity:0}}@keyframes fx-glare{0%{opacity:.45}to{opacity:0}}.fx-ground .fx-ring{opacity:0;fill:none;stroke:#fff0c4;stroke-width:.08;animation:fx-ring .44s ease-out var(--fx-land) forwards}.fx-ground .fx-ring.is-outer,.fx-ground .fx-dust.is-outer{animation-duration:.7s;animation-delay:calc(var(--fx-land) + 60ms)}@keyframes fx-ring{0%{transform:scale(.2);opacity:.9;stroke-width:.18}to{transform:scale(1.6);opacity:0;stroke-width:.03}}.fx-ground .fx-dust{opacity:0;fill:none;stroke:#d8d2c0;stroke-width:.1;animation:fx-ring .6s ease-out var(--fx-land) forwards}.hazard-clouds{position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit;box-sizing:border-box;pointer-events:none;z-index:8;opacity:.8}.hazard-clouds>svg{display:block;width:100%;height:100%;overflow:visible}.cloud-cell.is-thinning .cloud-puffs{opacity:.42;transform:scale(.85)}.cloud-blob{opacity:.62}.motion-effects .cloud-blob{animation:cloud-churn 6s ease-in-out var(--fx-churn) infinite alternate}@keyframes cloud-churn{0%{transform:translate(-.05px,.03px) scale(.94)}to{transform:translate(.06px,-.04px) scale(1.07)}}.motion-effects .cloud-cell.is-fresh .cloud-puffs{animation:cloud-in .9s cubic-bezier(.2,.7,.3,1) var(--fx-land) both}@keyframes cloud-in{0%{transform:translate(var(--fx-from)) scale(.15);opacity:0}to{transform:none;opacity:1}}.floor-decals{position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit;box-sizing:border-box;pointer-events:none;z-index:0}.floor-decals>svg{display:block;width:100%;height:100%;overflow:visible}.floor-decals .scorch-mark{opacity:.9}.motion-effects .blood-mark.is-fresh{animation:blood-in .7s ease-out .3s both;transform-box:fill-box;transform-origin:center}@keyframes blood-in{0%{opacity:0;scale:.35}}.cell.dead-cell .actor-sprite-sheet,.iso-board .iso-unit-wrap.is-dead image{filter:saturate(.55) brightness(.78)}.cell.dead-cell .actor-sprite>rect{display:none}.tactical-expanded .scene-board .cell.enemy.dead-cell,.cell.enemy.dead-cell{background:none;box-shadow:none}.iso-board .scorch-mark{opacity:.95}.motion-effects .scorch-mark.is-fresh{animation:scorch-in .5s ease-out var(--fx-land, .45s) both}@keyframes scorch-in{0%{opacity:0}}.cell.in-gas .actor-sprite-stage,.iso-board .iso-unit-wrap.is-gassed{filter:sepia(.35) hue-rotate(35deg) saturate(1.35)}.motion-effects .cell.in-gas .actor-sprite-stage:not(.actor-travelling){animation:gas-cough 2.4s ease-in-out infinite}.motion-effects .iso-board .iso-unit-wrap.is-gassed{animation:gas-cough 2.4s ease-in-out infinite}@keyframes gas-cough{0%,62%,84%,to{transform:none}66%{transform:translate(-1.5px,1px)}70%{transform:translate(1.5px,-1px)}74%{transform:translate(-1px,1px)}78%{transform:translate(1px)}}.motion-effects .board-stage.fx-jolt-0{animation:fx-jolt-0 .45s linear var(--fx-land, .45s) both}.motion-effects .board-stage.fx-jolt-1{animation:fx-jolt-1 .45s linear var(--fx-land, .45s) both}@keyframes fx-jolt-0{0%,to{transform:none}12%{transform:translate(-7px,5px)}30%{transform:translate(6px,-4px)}50%{transform:translate(-4px,2px)}72%{transform:translate(2px,-1px)}}@keyframes fx-jolt-1{0%,to{transform:none}12%{transform:translate(-7px,5px)}30%{transform:translate(6px,-4px)}50%{transform:translate(-4px,2px)}72%{transform:translate(2px,-1px)}}@media(prefers-reduced-motion:reduce){.throw-effects,.iso-board .fx-layer{display:none}.cloud-blob,.cloud-puffs,.cell.in-gas .actor-sprite-stage,.iso-board .iso-unit-wrap.is-gassed{animation:none!important}.motion-effects .board-stage.fx-jolt-0,.motion-effects .board-stage.fx-jolt-1{animation:none}}.turn-banner-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.view-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.view-switch button{min-height:32px;padding:2px 10px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:.8rem}.view-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.view-switch small{font-size:.7rem}.combat-workspace .board .cell .height-badge{position:absolute;top:2px;right:3px;z-index:3;min-width:16px;padding:0 3px;border-radius:4px;background:color-mix(in srgb,var(--surface-3) 85%,transparent);color:var(--accent-strong);font-size:.7rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.combat-workspace .board .cell.raised-cell{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.combat-workspace .flat-board-proxy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.combat-workspace .iso-board{display:block;width:min(100%,calc((100dvh - var(--combat-chrome, 360px)) * var(--iso-aspect, 1.5)));height:auto;aspect-ratio:var(--iso-aspect, 1.5);margin-inline:auto;border-radius:8px;background:radial-gradient(ellipse at 50% 40%,var(--surface-2),var(--surface-1) 75%);touch-action:manipulation}.iso-board .iso-tile{fill:var(--surface-3);stroke:color-mix(in srgb,var(--text) 18%,transparent);stroke-width:1;cursor:pointer}.iso-board .iso-tile:hover{fill:color-mix(in srgb,var(--accent) 22%,var(--surface-3))}.iso-board .iso-tile.is-unseen{fill:color-mix(in srgb,var(--surface-1) 85%,black)}.iso-board .iso-tile.is-reachable{fill:color-mix(in srgb,var(--good) 30%,var(--surface-3))}.iso-board .iso-tile.is-throw{stroke:var(--warn);stroke-dasharray:4 3;stroke-width:2}.iso-board .iso-tile.is-blast{fill:color-mix(in srgb,var(--warn) 40%,var(--surface-3))}.iso-board .iso-tile.is-shrapnel{fill:color-mix(in srgb,var(--warn) 20%,var(--surface-3));stroke:color-mix(in srgb,var(--bad) 60%,transparent);stroke-dasharray:3 3}.iso-board .iso-tile.is-smoke{fill:color-mix(in srgb,var(--text) 35%,var(--surface-3))}.iso-board .iso-tile.is-gas{fill:color-mix(in srgb,var(--warn) 30%,var(--surface-3))}.iso-board .iso-tile.is-objective{stroke:var(--accent);stroke-width:2.5}.iso-board .iso-tile.is-exit{stroke:var(--good);stroke-width:2.5}.iso-board .iso-tile.is-raised-top{fill:color-mix(in srgb,var(--accent) 14%,var(--surface-3))}.iso-board .iso-face-top{fill:color-mix(in srgb,var(--text) 30%,var(--surface-3))}.iso-board .iso-face-left{fill:color-mix(in srgb,var(--text) 16%,var(--surface-2))}.iso-board .iso-face-right{fill:color-mix(in srgb,var(--text) 8%,var(--surface-1))}.iso-board .iso-block polygon{stroke:color-mix(in srgb,black 40%,transparent);stroke-width:.75}.iso-board .iso-wall .iso-face-top,.iso-board .iso-obstacle .iso-face-top{fill:color-mix(in srgb,var(--text) 22%,var(--surface-3))}.iso-board .iso-raised .iso-face-top{fill:color-mix(in srgb,var(--accent) 18%,var(--surface-3))}.iso-board .iso-cover-low .iso-face-top{fill:color-mix(in srgb,var(--good) 35%,var(--surface-3))}.iso-board .iso-cover-full .iso-face-top,.iso-board .iso-cover-door .iso-face-top{fill:color-mix(in srgb,var(--accent) 40%,var(--surface-3))}.iso-board .iso-block.is-broken{opacity:.55}.iso-board .iso-block.is-open{opacity:.7}.iso-board .iso-cover-low,.iso-board .iso-cover-full,.iso-board .iso-cover-door,.iso-board .iso-obstacle,.iso-board .iso-raised,.iso-board .iso-walls{pointer-events:none}.iso-board.has-art .iso-tile{fill:transparent;stroke:color-mix(in srgb,var(--text) 12%,transparent);pointer-events:all}.iso-board.has-art .iso-tile:hover{fill:color-mix(in srgb,var(--accent) 22%,transparent)}.iso-board.has-art .iso-tile.is-unseen{fill:color-mix(in srgb,black 78%,transparent)}.iso-board.has-art .iso-tile.is-reachable{fill:color-mix(in srgb,var(--good) 26%,transparent);stroke:color-mix(in srgb,var(--good) 70%,transparent)}.iso-board.has-art .iso-tile.is-blast{fill:color-mix(in srgb,var(--bad) 34%,transparent);stroke:color-mix(in srgb,var(--bad) 80%,transparent)}.iso-board.has-art .iso-tile.is-shrapnel{fill:color-mix(in srgb,var(--bad) 14%,transparent);stroke:color-mix(in srgb,var(--bad) 60%,transparent);stroke-dasharray:3 3}.iso-board.has-art .iso-tile.is-smoke{fill:color-mix(in srgb,var(--text) 38%,transparent)}.iso-board.has-art .iso-tile.is-gas{fill:color-mix(in srgb,var(--warn) 30%,transparent)}.iso-board.has-art .iso-tile.is-raised-top{fill:transparent}.iso-board.has-art .iso-raised .iso-face-left{fill:#3a3127}.iso-board.has-art .iso-raised .iso-face-right{fill:#2a231c}.iso-board.has-art .iso-wall .iso-face-left,.iso-board.has-art .iso-wall .iso-face-right,.iso-board.has-art .iso-wall .iso-face-top{fill:#2c2a24}.iso-board.has-art .iso-wall .iso-face-right{fill:#23211c}.iso-board.has-art :is(.iso-obstacle,.iso-cover-low,.iso-cover-full,.iso-cover-door) .iso-face-left{fill:#4a3b2b}.iso-board.has-art :is(.iso-obstacle,.iso-cover-low,.iso-cover-full,.iso-cover-door) .iso-face-right{fill:#35291e}.iso-board.has-art .iso-obstacle .iso-face-top{fill:#6b5640}.iso-board.has-art .iso-cover-low .iso-face-top{fill:color-mix(in srgb,var(--good) 22%,#6b5640)}.iso-board.has-art :is(.iso-cover-full,.iso-cover-door) .iso-face-top{fill:color-mix(in srgb,var(--accent) 22%,#6b5640)}.iso-board .iso-wall-cap{fill:#221d17;stroke:color-mix(in srgb,black 60%,transparent);stroke-width:.75}.iso-board .iso-floor-light,.iso-board .iso-cloud,.iso-board .iso-tags,.iso-board .iso-raised-edge{pointer-events:none}.iso-board .iso-lamp{mix-blend-mode:screen}.iso-board .iso-cast-shadow{fill:#000;opacity:.38}.iso-board .iso-soft-shadow{fill:url(#iso-soft-shadow)}.iso-board .iso-raised-edge{fill:none;stroke:color-mix(in srgb,#f3e3c0 45%,transparent);stroke-width:1.2}.iso-board.has-art .iso-unit .iso-shadow{fill:none}.iso-board .iso-hp-track{fill:color-mix(in srgb,black 70%,transparent)}.iso-board .iso-hp{fill:#bdcf97}.iso-board .iso-hp.is-low{fill:#e99a7c}.iso-board .iso-name{font-size:9px;font-weight:700;letter-spacing:.5px;text-anchor:middle;fill:#f3e3c0;paint-order:stroke;stroke:#000;stroke-width:2.5px}.iso-board.is-phone .iso-name{font-size:13px;stroke-width:3px}.iso-board.is-phone .iso-float{font-size:19px}.iso-board.is-phone .iso-badge text{font-size:14px}.iso-board.has-art .iso-tile.is-smoke{fill:color-mix(in srgb,var(--text) 14%,transparent)}.iso-board.has-art .iso-tile.is-gas{fill:color-mix(in srgb,var(--warn) 14%,transparent)}.iso-board .iso-floor-art,.iso-board .iso-raised-art,.iso-board .iso-painted-walls{pointer-events:none}.iso-board .iso-see-through{opacity:.38;transition:opacity .15s}.iso-board .iso-figure.is-behind{filter:drop-shadow(0 0 1.5px #f3d483)}.iso-board .iso-figure.is-covering{opacity:.62}.iso-board .iso-figure,.iso-board .iso-unit.is-civilian,.iso-board .iso-floats{pointer-events:none}.iso-board .iso-unit-wrap.is-captured .iso-figure{opacity:.6}.iso-board .iso-figure.is-travelling{animation:iso-travel var(--iso-travel-ms) linear var(--iso-delay) both}@keyframes iso-travel{0%{transform:translate(var(--iso-from-x),var(--iso-from-y))}to{transform:translate(0)}}.iso-board .iso-leap-leap{animation:iso-leap .56s ease-in-out both}.iso-board .iso-leap-spin{animation:iso-spin .9s cubic-bezier(.3,.1,.5,1) both}@keyframes iso-leap{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.06)}to{transform:translateY(0) scale(1)}}@keyframes iso-spin{0%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-40px) rotate(540deg) scale(1.12)}to{transform:translateY(0) rotate(1080deg) scale(1)}}.iso-board .iso-saw-whirl{fill:none;stroke:#f3e2b0;stroke-width:2.5;stroke-dasharray:14 11;stroke-linecap:round;opacity:.8}@media(prefers-reduced-motion:reduce){.iso-board .iso-figure.is-travelling,.iso-board .iso-sprite-sheet,.iso-board .iso-leap{animation:none!important}.iso-board .iso-saw-whirl{display:none}}.iso-board .iso-unit .iso-hit{fill:transparent}.iso-board .iso-prop{pointer-events:none}.iso-board .iso-prop.is-broken{filter:saturate(.4) brightness(.5)}.iso-board :is(.iso-mark,.iso-pickup,.iso-badges){pointer-events:none}.iso-board .iso-mark polygon{fill:none;stroke-width:2}.iso-board .iso-hatch-a{fill:color-mix(in srgb,var(--brass-47) 55%,transparent)}.iso-board .iso-hatch-b{fill:color-mix(in srgb,var(--rust-28) 30%,transparent)}.iso-board .iso-mark.is-danger polygon{fill:url(#iso-hatch);stroke:var(--brass-68)}.iso-board .iso-mark.is-safe polygon{stroke:var(--moss-80)}.iso-board .iso-mark.is-shelter polygon{stroke:var(--moss-78);stroke-dasharray:5 3}.iso-board .iso-mark.is-stray polygon{stroke:var(--straw-81);stroke-dasharray:5 3}.iso-board .iso-mark.is-lunge polygon{stroke:var(--accent);stroke-dasharray:5 3}.iso-board .iso-mark.is-step polygon{stroke:var(--brass-61);stroke-dasharray:4 3}.iso-board .iso-mark.is-objective polygon{fill:color-mix(in srgb,var(--warn) 34%,transparent);stroke:var(--warn);stroke-width:2.5}.iso-board .iso-mark.is-objective-done polygon{stroke:var(--moss-80)}.iso-board .iso-mark:is(.is-exit,.is-exit-open) polygon{stroke:var(--olive-86);stroke-width:2.5;stroke-dasharray:6 3}.iso-board .iso-mark.is-exit-open polygon{stroke-dasharray:none}.iso-board .iso-mark.is-search circle{fill:var(--olive-86);stroke:color-mix(in srgb,black 60%,transparent)}.iso-board .iso-mark.is-puke ellipse{fill:color-mix(in srgb,#a9b23c 62%,transparent);stroke:color-mix(in srgb,#6d7522 80%,transparent);stroke-width:1}.iso-board .iso-pickup circle{fill:color-mix(in srgb,var(--ink-13) 92%,transparent);stroke:var(--warn);stroke-width:1.5}.iso-board .iso-pickup text,.iso-board .iso-badge text{font-size:10px;font-weight:800;text-anchor:middle;dominant-baseline:central}.iso-board .iso-pickup text{fill:var(--warn)}.iso-board .iso-pickup-glow{fill:color-mix(in srgb,var(--warn) 38%,transparent)}.iso-board .iso-pickup.is-legendary circle{stroke:var(--accent-strong);stroke-width:2}.iso-board .iso-pickup.is-legendary text{fill:var(--accent-strong)}.iso-board .iso-pickup.is-legendary .iso-pickup-glow{fill:color-mix(in srgb,var(--accent) 35%,transparent)}.iso-board .iso-badge rect{fill:color-mix(in srgb,var(--ink-13) 94%,transparent)}.iso-board .iso-badge text{fill:var(--straw-96)}.iso-board .iso-badge.is-danger text,.iso-board .iso-badge.is-threat text,.iso-board .iso-badge.is-step text{fill:var(--brass-87)}.iso-board .iso-badge.is-safe text{fill:var(--moss-89-2)}.iso-board .iso-badge.is-stray rect{fill:var(--brass-17)}.iso-board .iso-badge.is-objective rect{fill:var(--warn)}.iso-board .iso-badge.is-objective text{fill:var(--surface-0)}.iso-board .iso-badge.is-objective-done text{fill:var(--moss-89-2)}.iso-board .iso-badge:is(.is-exit,.is-exit-open) text{fill:var(--olive-86)}.iso-board .iso-badge.is-lunge rect{fill:var(--accent)}.iso-board .iso-badge.is-lunge text{fill:var(--surface-0)}.iso-board .iso-unit{cursor:pointer}.iso-board .iso-shadow{fill:color-mix(in srgb,black 45%,transparent)}.iso-board .iso-unit.is-crew .iso-body,.iso-board .iso-unit.is-crew .iso-head{fill:var(--good)}.iso-board .iso-unit.is-opponent .iso-body,.iso-board .iso-unit.is-opponent .iso-head{fill:var(--bad)}.iso-board .iso-unit.is-civilian .iso-body,.iso-board .iso-unit.is-civilian .iso-head{fill:var(--text-muted)}.iso-board .iso-unit.is-captured{opacity:.6}.iso-board .iso-unit.is-selected .iso-shadow{fill:none;stroke:var(--accent-strong);stroke-width:2.5}.iso-board .iso-unit.is-target .iso-shadow{fill:none;stroke:var(--bad);stroke-width:2.5;stroke-dasharray:5 3}.iso-board .iso-initial{fill:var(--surface-1);font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.iso-board .iso-float{font-size:13px;font-weight:700;text-anchor:middle;fill:var(--text);paint-order:stroke;stroke:#000;stroke-width:3px;pointer-events:none}.iso-board .iso-float.damage{fill:var(--bad)}.iso-board .iso-float.morale{fill:var(--warn)}.iso-board .iso-float.recovery{fill:var(--good)}.iso-board .iso-speech,.proto-board .iso-speech{pointer-events:none}.iso-board .iso-bubble rect,.iso-board .iso-bubble path,.proto-board .iso-bubble rect,.proto-board .iso-bubble path{fill:var(--straw-95);stroke:var(--ink-13);stroke-width:2px;stroke-linejoin:round}.iso-board .iso-bubble.is-enemy rect,.iso-board .iso-bubble.is-enemy path,.proto-board .iso-bubble.is-enemy rect,.proto-board .iso-bubble.is-enemy path{fill:var(--brass-89)}.iso-board .iso-bubble text,.proto-board .iso-bubble text{fill:var(--ink-13);font-family:system-ui,sans-serif;font-weight:700;text-anchor:middle}.iso-board .iso-bubble,.proto-board .iso-bubble{transform-box:fill-box;transform-origin:50% 100%;animation:speech-pop-iso .25s ease-out both;filter:drop-shadow(0 2px 3px rgb(0 0 0 / 45%))}@keyframes speech-pop-iso{0%{opacity:0;transform:scale(.85)}}@media(prefers-reduced-motion:reduce){.iso-board .iso-bubble,.proto-board .iso-bubble{animation:none}}.motion-effects .iso-board .iso-float{animation:iso-float-rise 1.6s ease-out both}@keyframes iso-float-rise{0%{transform:translateY(6px);opacity:0}20%{opacity:1}to{transform:translateY(-14px);opacity:0}}@media(prefers-reduced-motion:reduce){.motion-effects .iso-board .iso-float{animation:none}}@media(max-width:600px){.view-switch{display:none}}.combat-workspace .board-stage.is-iso{width:100%;min-width:0}@media(min-width:960px){.combat-workspace .board-stage.is-iso .iso-board{width:min(100%,calc((100dvh - var(--combat-chrome) + 100px) * var(--iso-aspect, 1.5)))}}@media(max-width:600px){.combat-workspace .board-stage.is-iso{width:auto;overflow:visible;margin-inline:calc(-2 * var(--space-2) - 1px);padding:0}.combat-workspace .board-stage.is-iso .iso-board{width:100%;border-radius:0}}.fight-weather{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;opacity:.55}.fight-weather.is-rain{background-image:repeating-linear-gradient(105deg,transparent 0 14px,rgb(190 210 230 / .35) 14px 15px,transparent 15px 31px);background-size:120px 120px;animation:weather-rain .5s linear infinite}.fight-weather.is-snow{background-image:radial-gradient(circle,rgb(240 244 248 / .9) 0 1.6px,transparent 2.2px),radial-gradient(circle,rgb(240 244 248 / .7) 0 1.2px,transparent 1.8px);background-size:70px 70px,45px 45px;background-position:0 0,20px 30px;animation:weather-snow 6s linear infinite}.fight-weather.is-still{animation:none}@keyframes weather-rain{to{background-position:-32px 120px}}@keyframes weather-snow{to{background-position:30px 70px,40px 120px}}.iso-board .iso-torch{mix-blend-mode:screen}.iso-board .iso-weather{pointer-events:none}.iso-board .iso-weather.is-rain line{stroke:#cddef099;stroke-width:1.3}.iso-board .iso-weather.is-snow circle{fill:#f0f4f8bf}.iso-board .iso-weather>g{animation:iso-weather-fall 1.4s linear infinite}.iso-board .iso-weather.is-snow>g{animation-duration:14s}.still-effects .iso-board .iso-weather>g{animation:none}@keyframes iso-weather-fall{to{transform:translateY(var(--fall))}}@media(prefers-reduced-motion:reduce){.fight-weather,.iso-board .iso-weather>g{animation:none}}.scene-board.illustrated-board .cell.obstacle:has(.flat-prop){background:transparent;box-shadow:none}.scene-board .cell :is(.painted-cover,.painted-prop){position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:auto;height:auto;max-width:none;max-height:none;pointer-events:none}.scene-board .flat-prop{position:absolute;top:2%;right:2%;bottom:2%;left:2%;background-size:400% 400%;background-repeat:no-repeat;filter:drop-shadow(0 3px 3px color-mix(in srgb,var(--ink-00) 70%,transparent))}.scene-board .cell :is(.cover-badge,.painted-prop>span){position:absolute;left:50%;bottom:1px;transform:translate(-50%);display:flex;gap:3px;align-items:baseline;max-width:calc(100% - 4px);padding:0 3px;border-radius:3px;background:color-mix(in srgb,var(--ink-00) 72%,transparent);color:var(--straw-92);font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden}.scene-board .cell .cover-badge small{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:inherit}.scene-board .cell .cover-badge b{flex:none;font-size:inherit}.headless-stump{fill:#5a0606}.headless-spray{fill:#7d0a0a;opacity:.85}.motion-effects .headless-head{animation:head-roll .65s cubic-bezier(.2,.7,.3,1) .2s both}@keyframes head-roll{0%{translate:var(--roll-x) var(--roll-y)}}.motion-effects .headless-spray{animation:blood-in .5s ease-out .2s both;transform-box:fill-box;transform-origin:left center}@media(prefers-reduced-motion:reduce){.headless-head,.headless-spray{animation:none!important}}.vignette{position:relative;aspect-ratio:16 / 7;margin:0;overflow:hidden;border-radius:var(--radius-m);background:var(--surface-sunken);isolation:isolate}.vignette.is-compact{aspect-ratio:16 / 8;margin:var(--space-3) 0}.vignette-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.vignette-grade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(0deg,rgb(10 12 9 / 88%),transparent 55%),var(--grade, transparent);mix-blend-mode:normal}.vignette.grade-warm .vignette-backdrop{filter:saturate(1.05) brightness(.9)}.vignette.grade-warm{--grade: linear-gradient(120deg, rgb(201 160 106 / 10%), transparent 60%)}.vignette.grade-blood .vignette-backdrop{filter:saturate(.8) brightness(.75) sepia(.2)}.vignette.grade-blood{--grade: radial-gradient( circle at 80% 30%, rgb(160 50 40 / 30%), transparent 60% )}.vignette.grade-cold .vignette-backdrop{filter:grayscale(.7) brightness(.65) hue-rotate(180deg) sepia(.15)}.vignette.grade-cold{--grade: linear-gradient(160deg, rgb(70 100 130 / 30%), transparent 70%)}.vignette.grade-clinic .vignette-backdrop{filter:grayscale(.6) brightness(.7) contrast(1.05)}.vignette.grade-clinic{--grade: linear-gradient(180deg, rgb(120 180 190 / 22%), transparent 70%)}.vignette.grade-night .vignette-backdrop{filter:brightness(.45) saturate(.7)}.vignette.grade-night{--grade: radial-gradient( circle at 30% 35%, rgb(255 200 120 / 16%), transparent 45% )}.vignette.grade-plague .vignette-backdrop{filter:saturate(.9) brightness(.85)}.vignette.grade-plague{--grade: radial-gradient( circle at 70% 30%, rgb(150 190 90 / 14%), transparent 60% )}.vignette.grade-gold .vignette-backdrop{filter:saturate(1.2) brightness(.95) sepia(.25)}.vignette.grade-gold{--grade: radial-gradient( circle at 50% 20%, rgb(240 200 120 / 30%), transparent 65% )}.vignette-figures{position:absolute;right:1%;bottom:-2%;height:86%;display:flex;align-items:flex-end;gap:0;pointer-events:none}.vignette-figures img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 10px 16px rgb(0 0 0 / 55%))}.vignette-figures .figure-koira-resting,.vignette-figures .figure-koira-sleeping{height:55%;margin-left:-6%}.vignette-figures .figure-mies-sleeping{height:62%}.vignette.grade-cold .vignette-figures img,.vignette.grade-clinic .vignette-figures img{filter:grayscale(.4) brightness(.8) drop-shadow(0 10px 16px rgb(0 0 0 / 55%))}.vignette-stamp{position:absolute;top:8%;left:4%;width:min(36%,280px);rotate:-7deg;mix-blend-mode:screen;opacity:.92}.vignette-stamp.is-good{color:color-mix(in srgb,var(--good) 85%,white)}.vignette-stamp.is-warn{color:color-mix(in srgb,var(--warn) 85%,white)}.vignette-stamp.is-bad{color:color-mix(in srgb,var(--bad) 85%,white)}.vignette-stamp.is-gold{color:color-mix(in srgb,var(--accent-strong) 85%,white)}.vignette figcaption{position:absolute;left:5%;bottom:7%;max-width:min(58%,560px);display:grid;gap:3px;text-shadow:0 2px 8px rgb(0 0 0 / 80%)}.vignette figcaption .label{color:var(--accent-strong)}.vignette figcaption strong{font-family:var(--font-display);font-size:clamp(20px,3vw,32px);line-height:1.05}.vignette figcaption span:last-child:not(.label){font-size:var(--fs-small);line-height:1.45;color:var(--text)}.mission-recap.result-card{display:grid;gap:var(--space-3);max-width:900px;margin:0 auto var(--space-5);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface-1)}.result-review{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);color:var(--text-muted)}.result-review .stars{font-size:18px;letter-spacing:2px;color:var(--accent)}.result-review .stars span{color:var(--surface-4)}.result-events{font-size:var(--fs-small);color:var(--text-muted)}.result-events summary{cursor:pointer;min-height:32px}.result-events ol{padding-left:var(--space-5);line-height:1.6}.result-card>p,.result-card .loot-recap{padding:0 var(--space-2)}.result-card>button{justify-self:start;margin:0 var(--space-2) var(--space-2)}.growth-emblem{display:grid;justify-items:end;gap:var(--space-2)}.tier-crest .crest-shield{fill:var(--surface-3);stroke:var(--accent);stroke-width:3}.tier-crest .crest-inner{fill:none;stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-width:1.5}.tier-crest .crest-chevron{fill:none;stroke:var(--surface-4);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.tier-crest .crest-chevron.on{stroke:var(--accent-strong)}.tier-crest .crest-paw{fill:var(--text);opacity:.85}.tier-crest.tier-4 .crest-shield{fill:color-mix(in srgb,var(--accent) 25%,var(--surface-3))}@media(max-width:600px){.vignette{aspect-ratio:4 / 3}.vignette.is-compact{aspect-ratio:16 / 10}.vignette-stamp{width:48%}.vignette figcaption{max-width:62%}.vignette figcaption span:last-child:not(.label){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.title-screen{--pulse: 0;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;overflow:hidden;background:var(--surface-0);color:var(--text);-webkit-user-select:none;user-select:none}.title-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,rgb(18 21 17 / 10%) 0%,rgb(18 21 17 / 60%) 65%,var(--surface-0) 100%),linear-gradient(#12151159,#121511bf),url(/art/towns/seinajoki-v063.webp) center 30% / cover no-repeat;filter:saturate(.8);transition:opacity 1.2s var(--ease)}.title-screen.is-gate .title-backdrop{opacity:.35}.title-settings{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2}.title-stage{position:relative;display:grid;justify-items:center;gap:var(--space-6);width:100%;padding:var(--space-8) var(--space-4);text-align:center}.title-logo{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.28em;margin:0;font-family:var(--font-display);font-size:clamp(64px,15vw,190px);font-weight:700;line-height:.9;letter-spacing:.01em;text-shadow:0 6px 0 rgb(0 0 0 / 35%),0 0 calc(var(--pulse) * 40px) rgb(226 187 131 / calc(var(--pulse) * 45%))}.title-word{display:inline-flex;white-space:nowrap}.title-word.is-accent{color:var(--accent-strong)}.title-letter{position:relative;display:inline-block;transform-origin:50% 100%;will-change:transform}.title-letter:after{content:"";position:absolute;left:50%;bottom:-.04em;width:1.2em;height:.12em;border-radius:50%;background:#ebe7dc8c;filter:blur(6px);opacity:var(--impact, 0);transform:translate(-50%) scaleX(calc(.4 + (1 - var(--impact, 0)) * 1.2));pointer-events:none}.title-prompt{margin:0;color:var(--text-muted);font-size:var(--fs-lead);letter-spacing:var(--tracking-label);text-transform:uppercase;animation:title-blink 2.4s ease-in-out infinite}@keyframes title-blink{50%{opacity:.35}}.title-menu{display:grid;gap:var(--space-3);width:min(340px,100%);animation:title-rise .6s var(--ease) both}@keyframes title-rise{0%{opacity:0;transform:translateY(16px)}}.title-tagline{display:grid;gap:var(--space-1);margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--fs-small);letter-spacing:var(--tracking-label);text-transform:uppercase}.title-tagline span{color:var(--text-faint);letter-spacing:normal;text-transform:none;font-size:var(--fs-body)}.title-menu>button,.title-error>button{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:52px;font-size:var(--fs-lead)}.title-menu>button>span,.title-error>button>span{display:grid;text-align:left}.title-menu small{font-size:var(--fs-small);font-weight:500;opacity:.75}.title-note,.title-loading{margin:0;color:var(--text-muted)}.title-error{display:grid;gap:var(--space-2)}.title-error p{margin:0;color:var(--bad)}.title-skip{position:absolute;right:var(--space-4);bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2)}.title-version{position:absolute;left:var(--space-4);bottom:var(--space-4);color:var(--text-faint);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase}@media(max-width:600px){.title-logo{flex-direction:column;align-items:center}.title-version{display:none}}@media(prefers-reduced-motion:reduce){.title-prompt,.title-menu{animation:none}.title-letter{transition:opacity .2s}}.debug-gate{display:grid;gap:var(--space-3);padding-top:var(--space-3)}.debug-gate input,.debug-search{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:inherit}.debug-secret{-webkit-text-security:disc}.debug-gate .bad{margin:0;color:var(--red)}.debug-menu{display:grid;gap:var(--space-3)}.debug-menu h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.debug-note{margin:0;color:var(--text-muted);font-size:13px}.debug-tabs{flex-wrap:wrap;margin:0}.debug-message{min-height:1.4em;margin:0;color:var(--accent);font-size:13px}.debug-message.is-empty{display:none}.debug-section{display:grid;gap:var(--space-2)}.debug-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.debug-buttons .debug-search{flex:1 1 180px;width:auto}.debug-list{display:grid;gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--border);overflow:hidden}.debug-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-1)}.debug-list li>span:first-child{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.debug-list li>.debug-buttons{flex-wrap:nowrap;flex-shrink:0}.debug-list small{color:var(--text-faint);font-size:12px}.debug-list button{flex-shrink:0;min-height:40px}.debug-tags{display:flex;flex-wrap:wrap;gap:4px}.debug-crew{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s)}.debug-crew label{display:inline-flex;align-items:center;gap:6px;min-height:36px}.settings-version{display:block;margin-top:var(--space-2);color:var(--text-faint);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.debug-choice{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-s);background:var(--surface-1)}.debug-choice h3,.debug-choice p{margin:0}.debug-choice button{display:grid;gap:2px;min-height:48px;text-align:left}.debug-choice button small{font-size:12px;opacity:.8}.debug-field{display:grid;gap:4px;font-size:13px;color:var(--text-muted)}.debug-field select,.map-editor select,.map-editor input[type=text],.map-editor input[type=number]{min-height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:inherit}.map-editor{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--surface-0);color:var(--text)}.map-editor::backdrop{background:var(--scrim)}.map-editor-list,.map-editor-edit{display:flex;flex-direction:column;height:100%}.map-editor-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface-1)}.map-editor-bar h2{flex:1;min-width:0;margin:0;overflow:hidden;font-size:var(--fs-h3);text-overflow:ellipsis;white-space:nowrap}.map-editor-play{display:inline-flex;align-items:center;gap:6px}.map-editor-scroll{display:grid;gap:var(--space-2);align-content:start;width:100%;max-width:760px;margin:0 auto;padding:var(--space-3);overflow:auto}.map-editor h3{margin:var(--space-3) 0 var(--space-1);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.map-editor-new label,.map-editor-info label{display:grid;gap:4px;font-size:13px;color:var(--text-muted)}.map-editor-new input[type=number]{width:84px}.map-editor-import{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-2);cursor:pointer}.map-editor-import input{display:none}.map-editor-note{margin:0;padding:var(--space-1) var(--space-3)}.map-editor-floors{flex-wrap:wrap;align-items:center;margin:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.map-editor-zoom{display:flex;gap:var(--space-1);margin-left:auto}.map-editor-body{display:grid;flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0}.map-editor-stage{min-width:0;min-height:0;overflow:auto;background:var(--surface-sunken)}.map-editor-canvas-wrap{width:max-content;padding:var(--space-3)}.map-editor-canvas{display:block;touch-action:none;cursor:crosshair}.map-editor-canvas.is-pan{touch-action:auto;cursor:grab}.map-editor-preview{width:max-content;padding:var(--space-3)}.map-editor-panel{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-3);overflow:auto;border-left:1px solid var(--border);background:var(--surface-1)}.map-editor-panel .debug-tabs{position:sticky;top:calc(-1 * var(--space-3));z-index:1;gap:6px;margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;padding:var(--space-3);background:var(--surface-1)}.map-editor-panel .debug-tabs button,.map-editor-tools button{padding:8px 10px}.map-editor-count{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:var(--radius-pill);background:var(--warn-soft);color:var(--warn);font-size:12px}.map-editor-count.is-bad{background:var(--bad-soft);color:var(--bad)}.map-editor-tools{display:flex;flex-wrap:wrap;gap:6px}.map-editor-tools .selected,.map-editor-palette .selected{border-color:var(--accent);background:var(--accent-soft)}.map-editor-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}.map-editor-palette button{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 8px;font-size:13px;text-align:left}.map-editor-swatch{display:grid;flex:none;place-items:center;width:24px;height:24px;border:1px solid var(--border-strong);border-radius:4px;color:#f4efe6;font-size:13px;font-weight:700}.map-editor-info{gap:var(--space-2)}.map-editor-scenes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px var(--space-2)}.map-editor-scenes label{display:flex;align-items:center;gap:6px;min-height:32px;font-size:13px}.map-editor-ok{margin:0;color:var(--good)}.map-editor-problems{display:grid;gap:6px;margin:0;padding:0;list-style:none}.map-editor-problems li{padding:var(--space-2);border-left:3px solid var(--warn);border-radius:var(--radius-s);background:var(--surface-2);font-size:13px}.map-editor-problems li.is-error{border-left-color:var(--bad)}.map-editor-problems li.is-error strong{color:var(--bad)}.map-editor-problems li.is-warning strong{color:var(--warn)}.map-editor-problems button{margin-left:var(--space-2);padding:4px 10px}.map-editor-place{display:block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}.map-editor-fix{display:block;margin-top:2px}.map-editor-legend{font-size:13px;color:var(--text-muted)}.map-editor-legend ul{margin:var(--space-2) 0 0;padding-left:18px}.map-editor-send ol{display:grid;gap:var(--space-2);margin:0;padding-left:20px;font-size:14px}.map-editor-send a.button{display:inline-block;padding:10px 14px;border:1px solid var(--accent);border-radius:var(--radius-s);background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none}.map-editor-send code{overflow-wrap:anywhere}@media(max-width:760px){.map-editor-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.map-editor-stage{max-height:52dvh}.map-editor-panel .debug-tabs{flex-wrap:nowrap;overflow-x:auto}.map-editor-panel .debug-tabs button{flex:none}.map-editor-panel{border-top:1px solid var(--border);border-left:0}.map-editor-play{padding:8px 10px}}.map-editor-json{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-1)}.map-editor-json h3{margin-top:0}.map-editor-json textarea{width:100%;min-height:180px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:13px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.map-editor-guide h4{margin:var(--space-3) 0 var(--space-1);color:var(--text);font-size:13px}.map-editor-guide p{margin:var(--space-2) 0 0}.map-editor-guide code{overflow-wrap:anywhere;color:var(--text)}.map-editor-glyphs{columns:2 180px}.map-editor-try{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:end center;padding:var(--space-3);background:var(--scrim)}.map-editor-try-box{display:grid;gap:var(--space-3);width:min(480px,100%);max-height:100%;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface-1);box-shadow:var(--shadow-2)}.map-editor-try-box h3,.map-editor-try-box .warning,.map-editor-try-box .debug-note{margin:0}.map-editor-try-box small{color:var(--text-faint)}.map-editor-try-box button.primary{display:inline-flex;align-items:center;gap:6px}@media(min-width:761px){.map-editor-try{place-items:center}}.map-editor-palette-group h4,.map-thing-chosen strong{margin:0 0 4px;font-size:13px}.map-editor-palette-group h4{color:var(--text-muted);font-weight:600}.map-thing-chosen{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-2)}.map-thing-chosen>div{display:grid;gap:2px;font-size:13px}.map-thing-chosen code,.map-thing-chosen small{font-size:12px;opacity:.8}.map-thing-big{flex:none;width:96px;height:96px;object-fit:contain}.map-thing-groups{display:flex;flex-wrap:wrap;gap:4px}.map-thing-groups button{min-height:32px;padding:4px 8px;font-size:12px}.map-thing-groups .selected,.map-thing-grid .selected{border-color:var(--accent);background:var(--accent-soft)}.map-thing-search{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface-2);color:var(--text)}.map-thing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.map-thing-grid button{display:grid;justify-items:center;align-content:start;gap:2px;min-height:0;padding:4px;font-size:12px;line-height:1.2;text-align:center}.map-thing-grid small{font-family:ui-monospace,monospace;font-size:11px;opacity:.75}.map-thing-thumb{width:64px;height:64px;object-fit:contain}.map-thing-thumb.is-lamp,.map-thing-big.is-lamp{border-radius:50%;background:radial-gradient(circle,#f3d96b 0 22%,transparent 60%)}.map-editor-clip{margin:0;font-size:13px}.map-editor-hover{position:sticky;bottom:0;left:0;margin:0;padding:4px 8px;background:var(--bad-soft);color:var(--bad);font-size:13px}.map-thing-chosen .debug-note{margin:4px 0 0;font-size:12px}.debug-test-setup{display:grid;gap:var(--space-2)}.debug-test-effect,.debug-loadout-person,.debug-loadout-stock{display:grid;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s)}.debug-test-effect label{display:flex;align-items:flex-start;gap:var(--space-2)}.debug-test-effect input{margin-top:3px}.debug-test-effect span{display:grid;gap:2px}.debug-test-effect small,.debug-presets small{color:var(--text-faint);font-size:12px}.debug-check{display:inline-flex;align-items:center;gap:6px;min-height:36px}.debug-loadout{display:grid;gap:var(--space-2)}.debug-loadout h4{margin:0;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.debug-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2)}.debug-presets button{display:grid;gap:2px;min-height:52px;text-align:left}.debug-presets button.selected{border-color:var(--accent);background:var(--accent-soft)}.debug-loadout-editor{display:grid;gap:var(--space-2)}.debug-loadout-person,.debug-loadout-stock{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.debug-loadout-person legend,.debug-loadout-stock legend{padding:0 4px}.debug-loadout-stock input{min-height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken);color:var(--text);font:inherit}.debug-test-bar .debug-buttons{justify-content:flex-end}@media(max-width:600px){.debug-test-bar{flex-direction:column;align-items:stretch}}
