@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--bg:#050b0b;--panel:#0b1514;--panel-2:#0e1c1a;--line:#203b38;--text:#e7f2ed;--muted:#7f9c96;--cyan:#65e8e0;--green:#b8f34a;--danger:#ff6c60;--amber:#f3c76b;--mono:"Consolas","SFMono-Regular",monospace}*{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 52% -20%,#15312d 0,transparent 42%),linear-gradient(180deg,#07100f,var(--bg) 38%);color:var(--text);min-width:320px;min-height:100vh;margin:0;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}button,select{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.game-shell{background-image:linear-gradient(#65e8e006 1px,#0000 1px),linear-gradient(90deg,#65e8e006 1px,#0000 1px);background-size:42px 42px;min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#050b0beb;align-items:stretch;min-height:78px;padding:0 clamp(18px,3vw,52px);display:flex;position:relative}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;min-width:280px;padding:0;display:flex}.brand-mark{border:1px solid var(--cyan);width:42px;height:42px;color:var(--cyan);place-items:center;font-family:serif;font-size:20px;display:grid;transform:rotate(45deg);box-shadow:inset 0 0 18px #65e8e01f}.brand-mark:first-letter{transform:rotate(-45deg)}.brand>span:last-child{flex-direction:column;display:flex}.brand strong{letter-spacing:.15em;font-size:17px}.brand small{color:var(--muted);font:8px/1.6 var(--mono);letter-spacing:.16em}.topbar nav{margin-left:auto;display:flex}.topbar nav button{color:#9bb3ae;cursor:pointer;background:0 0;border:0;border-left:1px solid #172a28;min-width:112px;font-size:13px;position:relative}.topbar nav button small{color:#4e6d68;font:9px var(--mono);letter-spacing:.18em;margin-bottom:4px;display:block}.topbar nav button:hover,.topbar nav button.active{color:var(--text);background:#0d1b19}.topbar nav button.active:after{content:"";background:var(--green);height:2px;box-shadow:0 0 12px var(--green);position:absolute;bottom:0;left:22px;right:22px}.bgm-toggle{border:0;border-left:1px solid var(--line);color:#68817c;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:9px;min-width:86px;padding:0 15px;display:flex}.bgm-toggle:hover{color:var(--text);background:#0d1b19}.bgm-toggle>span:first-child{width:26px;height:26px;font:15px var(--mono);border:1px solid #31544f;border-radius:50%;place-items:center;display:grid}.bgm-toggle>span:last-child{flex-direction:column;align-items:flex-start;display:flex}.bgm-toggle small{font:8px var(--mono);letter-spacing:.15em}.bgm-toggle strong{font:10px var(--mono);letter-spacing:.12em}.bgm-toggle.active{color:var(--green)}.bgm-toggle.active>span:first-child{border-color:var(--green);box-shadow:0 0 10px #96f07540}.resource-chip{border-left:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-end;min-width:112px;padding-left:24px;display:flex}.resource-chip small{color:var(--muted);letter-spacing:.15em;font-size:9px}.resource-chip strong{font:22px var(--mono);color:var(--green)}.system-strip{color:#68817c;height:28px;font:9px var(--mono);letter-spacing:.08em;background:#07100f;border-bottom:1px solid #132724;align-items:center;gap:8px;padding:0 clamp(18px,3vw,52px);display:flex}.system-strip>span{background:#74544f;border-radius:50%;width:6px;height:6px}.system-strip>span.online{background:var(--green);box-shadow:0 0 7px var(--green)}.system-strip small{margin-left:auto}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#0e1c1af7,#07100ff7);box-shadow:0 18px 60px #00000038}.eyebrow{color:var(--cyan);font:10px/1.5 var(--mono);letter-spacing:.2em;text-transform:uppercase;display:block}.screen-enter{animation:.38s both enter}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}.base-screen,.workspace-screen,.battle-screen{max-width:1480px;margin:auto;padding:clamp(24px,4vw,56px)}.hero-panel{justify-content:space-between;align-items:center;min-height:280px;padding:clamp(30px,5vw,70px);display:flex;position:relative;overflow:hidden}.hero-panel:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 55%,#65e8e00f);position:absolute;inset:0}.hero-panel h1{letter-spacing:-.055em;margin:14px 0 20px;font-size:clamp(36px,5.2vw,76px);font-weight:650;line-height:1.04}.hero-panel h1 em{color:var(--green);font-style:normal}.hero-panel p{color:#9db2ad;max-width:620px;margin:0;line-height:1.9}.hero-die{aspect-ratio:1;background:radial-gradient(circle,#173c34,#091512 70%);border:2px solid #315a54;place-items:center;width:190px;margin-right:6vw;display:grid;position:relative;transform:rotate(24deg);box-shadow:0 0 100px #65e8e01f}.hero-die:before,.hero-die:after{content:"";border:1px solid #22423e;position:absolute;inset:14px;transform:rotate(30deg)}.hero-die:after{inset:30px;transform:rotate(60deg)}.hero-die span{color:var(--green);text-shadow:0 0 30px #b8f34a59;font:62px serif;transform:rotate(-24deg)}.base-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:20px;margin-top:20px;display:grid}.mission-card,.readiness{padding:30px}.card-head{justify-content:space-between;align-items:center;display:flex}.card-head b{color:var(--amber);font:10px var(--mono);border:1px solid #725e32;padding:7px 10px}.mission-card h2{margin:18px 0 5px;font-size:34px}.mission-card>p,.section-title p{color:var(--muted)}.stage-track{align-items:flex-start;margin:32px 0;display:flex}.stage-node{color:#58736e;flex-direction:column;flex:1;align-items:center;gap:9px;display:flex;position:relative}.stage-node:not(:last-child):after{content:"";border-top:1px solid #29413d;width:84%;position:absolute;top:14px;left:58%}.stage-node span{width:29px;height:29px;font:10px var(--mono);z-index:1;background:#0a1514;border:1px solid #3a5752;border-radius:50%;place-items:center;display:grid;position:relative}.stage-node small{font:8px var(--mono);letter-spacing:.08em}.stage-node.current span{color:#07100f;background:var(--green);border-color:var(--green);box-shadow:0 0 18px #b8f34a40}.stage-node.current small{color:var(--green)}.stage-node.cleared span{color:var(--cyan);background:#173430}.stage-node.boss span{border-radius:3px;transform:rotate(45deg)}.stage-node.boss span:first-letter{transform:rotate(-45deg)}.mission-stats{gap:8px;margin-bottom:20px;display:flex}.mission-stats span{color:var(--muted);background:#07100f;border:1px solid #172e2a;flex:1;justify-content:space-between;padding:12px;font-size:11px;display:flex}.mission-stats b{color:var(--text);font-family:var(--mono)}.primary-action,.secondary-action,.roll-action{cursor:pointer;border:0;width:100%;transition:all .18s}.primary-action{background:var(--green);color:#07100f;letter-spacing:.05em;justify-content:space-between;align-items:center;min-height:54px;padding:0 20px;font-weight:800;display:flex}.primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 32px #b8f34a29}.secondary-action{color:#aac0bb;background:0 0;border:1px solid #34524d;min-height:44px;margin-top:10px}.secondary-action:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.readiness h3{margin:12px 0 18px;font-size:24px}.mini-faces{grid-template-columns:1fr 1fr;gap:7px;display:grid}.mini-faces div{background:#081311;border:1px solid #1e3733;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:52px;padding:9px;display:grid}.mini-faces small,.mini-faces span{color:#56736d;font:9px var(--mono)}.mini-faces strong{font-size:11px}.readiness-row{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:15px;padding:17px 0;font-size:12px;display:flex}.readiness-row b{color:var(--text)}.section-title{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.section-title h1{letter-spacing:-.055em;margin:5px 0 8px;font-size:clamp(38px,5vw,68px)}.section-title p{margin:0}.load-gauge,.data-total,.slot-count{border:1px solid var(--line);background:#091311;min-width:220px;padding:18px 22px}.load-gauge small,.data-total small,.slot-count small{color:var(--muted);font:9px var(--mono);letter-spacing:.15em}.load-gauge strong,.data-total strong,.slot-count strong{color:var(--green);font:30px var(--mono);display:block}.load-gauge strong i{color:var(--muted);font-size:14px;font-style:normal}.load-gauge.over strong{color:var(--danger)}.meter{background:#132522;border:1px solid #29433e;height:7px;overflow:hidden}.meter span{background:var(--green);height:100%;transition:width .25s;display:block;box-shadow:0 0 11px #b8f34a59}.meter.danger span{background:var(--danger);box-shadow:0 0 11px #ff6c604d}.load-gauge .meter{margin-top:9px}.editor-grid{grid-template-columns:minmax(0,1fr) 330px;gap:20px;display:grid}.face-editor{padding:12px}.face-editor label{border-bottom:1px solid #1c312e;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:17px;min-height:92px;padding:13px 18px;display:grid}.face-editor label:last-child{border:0}.face-number{color:#41635d;font:18px var(--mono)}.face-editor label>div{grid-template-columns:1fr;display:grid}.face-editor label small{color:var(--muted);font:8px var(--mono);letter-spacing:.14em}.face-editor select{width:100%;color:var(--text);background:#07100f;border:1px solid #294640;margin:3px 0;padding:7px 9px;font-weight:700}.face-editor p{color:#708d87;margin:0;font-size:11px}.ability-type{color:var(--cyan);font:8px var(--mono);text-transform:uppercase;border:1px solid #36534e;padding:5px 8px}.ability-type.offense{color:var(--danger)}.ability-type.recovery{color:var(--green)}.ability-type.utility{color:var(--muted)}.build-summary{align-self:start;padding:26px;position:sticky;top:20px}.build-summary h3{margin:10px 0;font-size:28px}.build-summary p{color:var(--muted);font-size:12px;line-height:1.8}.tag-cloud{flex-wrap:wrap;gap:6px;margin:22px 0;display:flex}.tag-cloud span{color:var(--cyan);font:9px var(--mono);background:#0a2421;padding:5px 7px}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.branch{padding:20px}.branch-head{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:14px;display:flex}.branch-head span{font-weight:800}.branch-head small{color:var(--cyan);font:9px var(--mono)}.research-node{border-bottom:1px solid #182c29;grid-template-columns:1fr auto;align-items:center;gap:15px;min-height:96px;padding:15px 0;display:grid}.research-node:last-child{border:0}.research-node h3{margin:0 0 6px;font-size:14px}.research-node p{color:var(--muted);margin:0;font-size:11px}.research-node button,.equipment-card button{color:var(--cyan);cursor:pointer;font:9px var(--mono);background:#0a1715;border:1px solid #43645e;padding:9px 11px}.research-node.owned h3{color:var(--green)}.research-node.future{opacity:.55}.equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.equipment-card{flex-direction:column;min-height:280px;padding:24px;display:flex}.equipment-card.active{border-color:var(--green)}.equipment-card.locked{opacity:.55}.equipment-icon{width:60px;height:60px;color:var(--cyan);background:#0a211e;border:1px solid #3d615a;place-items:center;margin-bottom:24px;font-size:32px;display:grid;transform:rotate(45deg)}.equipment-card small,.boss-loot small{color:var(--green);font:8px var(--mono);letter-spacing:.15em}.equipment-card h2{margin:10px 0;font-size:19px}.equipment-card p{color:var(--muted);flex:1;font-size:12px;line-height:1.8}.equipment-card button{width:100%}.battle-screen{max-width:1580px;padding-top:26px}.battle-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.battle-heading h1{margin:5px 0 0;font-size:22px}.battle-heading .stage-track{width:460px;margin:0}.battle-grid{grid-template-columns:280px minmax(400px,1fr) 310px;gap:14px;display:grid}.combat-panel{padding:20px}.combat-panel h2{margin:8px 0 22px}.hp-label{justify-content:space-between;align-items:end;margin-bottom:8px;display:flex}.hp-label span{color:var(--muted);font:9px var(--mono)}.hp-label strong{font:18px var(--mono)}.shield-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;margin:12px 0 22px;padding:12px 0;font-size:11px;display:flex}.shield-row b{color:var(--cyan);font:18px var(--mono)}.combat-panel h3{color:#a5bab6;margin:0 0 9px;font-size:11px}.battle-faces{gap:5px;display:grid}.battle-faces div{background:#081311;border:1px solid #1a312d;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;min-height:38px;padding:7px;transition:all .18s;display:grid}.battle-faces div.rolled{border-color:var(--green);background:#12251b;transform:translate(3px)}.battle-faces span,.battle-faces small{color:#56746e;font:9px var(--mono)}.battle-faces b{font-size:10px}.consumable{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:17px;padding-top:17px;display:flex}.consumable>div{align-items:center;gap:9px;display:flex}.consumable p{flex-direction:column;margin:0;font-size:10px;display:flex}.consumable p small{color:var(--muted)}.consumable button{color:var(--green);cursor:pointer;background:#0b1c19;border:1px solid #38625a;padding:8px;font-size:9px}.vial{border:1px solid var(--green);background:linear-gradient(#0000 40%,#b8f34a73 41%);border-radius:3px 3px 7px 7px;width:16px;height:29px}.encounter-panel{grid-template-rows:auto auto auto 222px 58px;grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid;position:relative;overflow:hidden}.encounter-panel.boss-encounter{grid-template-rows:auto auto auto auto 222px 58px}.encounter-panel:before{content:"";background:var(--cyan);opacity:.35;height:1px;animation:4s linear infinite scan;position:absolute;top:0;left:0;right:0}@keyframes scan{50%{top:72%}}.specimen{background:radial-gradient(circle at 50% 58%,#173e36 0,#0000 40%),linear-gradient(#07110f,#091814);border:1px solid #19332f;grid-area:1/1/4;min-height:270px;position:relative;overflow:hidden}.specimen:before{content:"";background:radial-gradient(circle at 38% 27%,#7fb4a6 0 3px,#0000 4px),radial-gradient(circle at 63% 32%,#7fb4a6 0 3px,#0000 4px),linear-gradient(135deg,#254f48,#0c211e);border-radius:52% 48% 35% 65%;width:130px;height:185px;animation:3s ease-in-out infinite breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%);box-shadow:0 0 80px #65e8e01f}.specimen:after{content:"";opacity:.35;border:1px solid #7ba69a;border-radius:50%;width:44px;height:62px;position:absolute;top:51%;left:50%;transform:translate(-50%)}.specimen i{transform-origin:top;background:#173c36;width:8px;height:95px;position:absolute;top:55%;left:50%}.specimen i:first-child{transform:rotate(42deg)}.specimen i:nth-child(2){transform:rotate(-42deg)}.specimen i:nth-child(3){width:92px;height:8px;transform:translate(-50%)rotate(-9deg)}.specimen.swollen:before{border-radius:55% 48%;width:190px;height:170px}.specimen.infected:before{background:radial-gradient(circle at 30% 30%,#b8f34a 0 2px,#0000 3px),linear-gradient(135deg,#36563c,#10231f)}.specimen.director:before{border:1px solid #9acfc2;border-radius:46% 46% 28% 28%;height:215px}.specimen.director:after{box-shadow:0 0 30px var(--danger)}@keyframes breathe{50%{transform:translate(-50%,-48%)scale(1.04)}}.enemy-heading{grid-column:2;justify-content:space-between;align-items:end;display:flex}.enemy-heading small{color:var(--muted);font:8px var(--mono)}.enemy-heading h2{margin:4px 0 0;font-size:25px}.enemy-heading>strong{color:var(--danger);font:27px var(--mono)}.enemy-heading>strong small{font-size:12px}.encounter-panel>.meter{grid-column:2}.intent{background:#f3c76b0d;border:1px solid #5c4b2d;grid-column:2;padding:13px}.intent span{color:var(--amber);font:8px var(--mono);letter-spacing:.16em}.intent strong{margin:4px 0;display:block}.intent p{color:var(--muted);margin:0;font-size:10px}.intent.danger{background:#ff6c6014;border-color:#773b36}.intent.danger span,.intent.danger strong{color:var(--danger)}.boss-die{grid-area:4/1/auto/-1;grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.boss-die span{color:var(--muted);font:8px var(--mono);grid-column:1/-1}.boss-die b{text-align:center;background:#081310;border:1px solid #24403b;padding:7px 4px;font-size:8px}.boss-die b.next{color:var(--danger);border-color:var(--danger)}.dice-scene{background:radial-gradient(at 50% 90%,#65e8e01f,#0000 50%);border:1px solid #1c3732;grid-area:4/1/auto/-1;min-height:222px;position:relative}.dice-scene canvas{inset:0;position:absolute!important}.dice-readout{text-align:right;pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:11px;right:13px}.dice-readout span{color:var(--cyan);font:8px var(--mono);letter-spacing:.15em}.dice-readout strong{font-size:16px}.roll-action{background:var(--green);color:#06100d;grid-area:5/1/auto/-1;justify-content:space-between;align-items:center;min-height:58px;padding:0 22px;display:flex}.boss-encounter .dice-scene{grid-row:5}.boss-encounter .roll-action{grid-row:6}.roll-action span{font-size:16px;font-weight:900}.roll-action small{font:8px var(--mono)}.roll-action:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.log-panel{flex-direction:column;min-height:0;display:flex}.log-panel h2{margin-bottom:12px}.log-list{border-top:1px solid var(--line);min-height:300px;max-height:390px;overflow:auto}.log-list p{color:#718b86;border-bottom:1px solid #162a27;grid-template-columns:26px 1fr;gap:7px;margin:0;padding:10px 3px;font-size:10px;line-height:1.6;display:grid}.log-list p.latest{color:var(--text);background:#65e8e009}.log-list p span{color:#42615b;font:8px var(--mono)}.run-bonuses{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.run-bonuses p{color:var(--muted);justify-content:space-between;margin:0;padding:5px 0;font-size:10px;display:flex}.run-bonuses b{color:var(--green);font-family:var(--mono)}.choice-screen,.end-screen{max-width:1240px;margin:auto;padding:clamp(45px,7vw,100px) 30px}.choice-intro{text-align:center;margin-bottom:42px}.choice-intro h1,.end-screen h1{letter-spacing:-.055em;margin:8px 0 12px;font-size:clamp(42px,6vw,74px)}.choice-intro p,.end-screen>p{color:var(--muted)}.reward-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.reward-card{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;min-height:350px;padding:25px;transition:all .2s;display:flex;position:relative}.reward-card:hover{border-color:var(--cyan);transform:translateY(-7px)}.choice-index{color:#365953;font:12px var(--mono);position:absolute;right:20px}.reward-card>small{color:var(--cyan);font:9px var(--mono);letter-spacing:.15em}.reward-symbol{width:68px;height:68px;color:var(--cyan);border:1px solid #35655d;place-items:center;margin:45px 0 25px;font-size:35px;display:grid}.reward-card h2{margin:0 0 12px;font-size:23px}.reward-card p{color:var(--muted);flex:1;font-size:12px;line-height:1.8}.reward-card>b{border-top:1px solid var(--line);width:100%;color:var(--green);justify-content:space-between;padding-top:16px;font-size:11px;display:flex}.kind-research .reward-symbol{color:var(--amber)}.kind-consumable .reward-symbol{color:var(--green)}.end-screen{text-align:center;max-width:860px}.end-screen.victory h1{color:var(--green)}.end-screen.defeat h1{color:var(--danger)}.boss-loot{max-width:430px;margin:38px auto 22px;padding:32px}.boss-loot .equipment-icon{margin:0 auto 28px}.boss-loot h2{font-size:25px}.boss-loot p{color:var(--muted)}.end-screen .primary-action{justify-content:center;max-width:430px;margin:auto}.failure-analysis{text-align:left;max-width:580px;margin:38px auto 22px;padding:26px}.failure-analysis h2{margin-top:0}.failure-analysis div{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:12px 0;font-size:12px;display:flex}.failure-analysis b{color:var(--text);text-align:right}@media (max-width:1100px){.topbar nav button{min-width:90px}.base-grid,.editor-grid{grid-template-columns:1fr}.build-summary{position:static}.battle-grid{grid-template-columns:230px minmax(400px,1fr)}.log-panel{grid-column:1/-1}.log-list{min-height:140px;max-height:180px}.equipment-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:780px){.topbar{flex-wrap:wrap;padding:10px 16px}.brand{flex:1;min-width:auto}.bgm-toggle{min-width:68px;padding:0 10px}.bgm-toggle>span:first-child{display:none}.resource-chip{min-width:78px;padding-left:14px}.topbar nav{order:3;width:100%;margin:8px 0 -10px;overflow:auto}.topbar nav button{min-width:88px;height:54px}.hero-die{display:none}.hero-panel{min-height:300px}.base-screen,.workspace-screen,.battle-screen{padding:24px 15px}.mission-stats{flex-direction:column}.section-title,.battle-heading{flex-direction:column;align-items:flex-start;gap:20px}.load-gauge,.data-total,.slot-count{width:100%}.branch-grid,.reward-grid{grid-template-columns:1fr}.battle-heading .stage-track{width:100%}.battle-grid{grid-template-columns:1fr}.encounter-panel,.encounter-panel.boss-encounter{grid-template-rows:auto;grid-template-columns:1fr}.specimen,.enemy-heading,.encounter-panel>.meter,.intent,.boss-die,.dice-scene,.roll-action,.boss-encounter .boss-die,.boss-encounter .dice-scene,.boss-encounter .roll-action{grid-area:auto/1}.specimen{min-height:220px}.combat-panel.player-panel{order:2}.encounter-panel{order:1}.log-panel{order:3}.battle-faces{grid-template-columns:repeat(2,1fr)}.equipment-grid{grid-template-columns:1fr}.reward-card{min-height:280px}.face-editor label{grid-template-columns:42px 1fr}.ability-type{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.roll-confirmation{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000807d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.roll-confirmation>.panel{border:1px solid var(--green);width:min(100%,480px);padding:32px;box-shadow:0 0 90px #b8f34a1a}.roll-confirmation h2{color:var(--green);font-size:30px}.roll-confirmation p{color:var(--muted);line-height:1.8}.roll-confirmation button{width:100%;margin-top:12px}.reward-tools{z-index:30;border:1px solid var(--green);background:#081512;padding:10px;position:fixed;bottom:20px;right:20px}.campaign-map{max-width:1400px;margin:24px auto;padding:24px}.campaign-map>div{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.campaign-map button{text-align:left;color:var(--text);cursor:pointer;padding:20px}.campaign-map button.selected{border-color:var(--green);box-shadow:inset 0 0 25px #b8f34a16}.campaign-map button:disabled{opacity:.35;cursor:not-allowed}.campaign-map p{color:var(--muted);line-height:1.7}.clear-stats{color:var(--green);flex-wrap:wrap;justify-content:center;gap:24px;padding:24px;display:flex}.campaign-clear{background:radial-gradient(at 50% 0,#a9d97e28,#0000 65%)}.campaign-clear h1{text-shadow:0 0 50px #b8f34a80;animation:3s ease-out clear-dawn}@keyframes clear-dawn{0%{opacity:0;filter:blur(12px);transform:translateY(20px)}to{opacity:1;filter:none;transform:none}}@media (max-width:780px){.campaign-map>div{grid-template-columns:1fr}}.research-prerequisite{color:var(--green);margin-top:8px;font-size:11px;display:block}.research-prerequisite.locked{color:var(--amber)}.game-shell{background-color:#030908;background-image:linear-gradient(#020808b3,#030908e3),radial-gradient(at 50% 0,#37988b3d,#0000 48%),url(/art/sector-01-lab.png),linear-gradient(#65e8e007 1px,#0000 1px),linear-gradient(90deg,#65e8e007 1px,#0000 1px);background-position:50%,50%,top,50%,50%;background-size:auto,auto,cover,42px 42px,42px 42px;background-attachment:fixed,fixed,fixed,scroll,scroll;position:relative}.hero-panel{background-image:linear-gradient(90deg,#06110ff0 0%,#06110fcc 50%,#06110fad),url(/art/sector-01-lab.png);background-position:50%;background-size:cover;overflow:hidden}.hero-panel>*{z-index:1;position:relative}.specimen{isolation:isolate;background:#06100f;border-color:#65e8e06b;overflow:hidden;box-shadow:inset 0 0 0 1px #b8f34a14,0 16px 32px #00000057}.specimen img{z-index:-1;object-fit:cover;object-position:center;filter:saturate(.88)contrast(1.12)brightness(.84);width:100%;height:100%;animation:7s ease-in-out infinite specimen-breathe;position:absolute;inset:0;transform:scale(1.025)}.specimen:before{z-index:0;width:auto;height:auto;box-shadow:none;background:linear-gradient(#01090908 25%,#0108082e 61%,#010808e0),linear-gradient(90deg,#02090861,#0000 36%,#02090847);border:0;border-radius:0;inset:0;transform:none}.specimen:after{z-index:2;width:auto;height:auto;box-shadow:none;opacity:.28;background:repeating-linear-gradient(#abffee17 0 1px,#0000 1px 5px);border:0;border-radius:0;animation:none;inset:0}.specimen i{display:none}.specimen-vignette,.specimen-scanline{pointer-events:none;position:absolute;inset:0}.specimen-vignette{z-index:3;border:1px solid #b8f34a38;box-shadow:inset 0 0 45px #000000a8,inset 0 0 0 5px #040e0d2e}.specimen-scanline{z-index:4;mix-blend-mode:screen;background:linear-gradient(#0000,#b8f34a1f,#0000);height:20%;animation:5.5s linear infinite specimen-scan}.specimen.swollen img{object-position:55% center;filter:saturate(1.04)contrast(1.1)brightness(.8)}.specimen.infected img{object-position:48% center;filter:saturate(.76)contrast(1.16)brightness(.8)}.specimen.director img{filter:saturate(.95)contrast(1.18)brightness(.82);animation-duration:9s}@keyframes specimen-breathe{0%,to{transform:scale(1.025)}50%{transform:scale(1.065)}}@keyframes specimen-scan{0%{transform:translateY(-120%)}to{transform:translateY(580%)}}.dice-scene{isolation:isolate;background:radial-gradient(circle at 50% 45%,#65e8e02e,#0000 38%),linear-gradient(135deg,#0f2724f0,#040e0dfa);border-color:#65e8e061;overflow:hidden;box-shadow:inset 0 0 28px #65e8e014,0 10px 26px #00000047}.dice-scene canvas{z-index:1;pointer-events:none;position:relative}.dice-scene:before{content:"";z-index:0;border:1px solid #b8f34a3d;border-radius:50%;position:absolute;inset:12% 30%;box-shadow:0 0 34px #b8f34a1f}.dice-scene:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#b8f34a0f,#0000 16% 84%,#65e8e00f);position:absolute;inset:0}.dice-scene.is-rolling:before{border-color:#b8f34acc;animation:.65s linear infinite dice-orbit;box-shadow:0 0 42px #b8f34a59}.dice-scene.is-rolling{border-color:#b8f34ad6}.dice-scene.is-rolling .dice-readout{color:var(--accent);animation:.34s steps(2,end) infinite dice-readout-pulse}.dice-readout{z-index:3;position:absolute}@keyframes dice-orbit{to{transform:rotate(360deg)scale(1.13)}}@keyframes dice-readout-pulse{50%{opacity:.48}}@media (max-width:720px){.game-shell{background-attachment:scroll,scroll,scroll,scroll,scroll}.specimen{min-height:220px}}
