:root{color:#ede4d5;font-synthesis:none;text-rendering:optimizelegibility;--paper:#eee2ca;--copper:#d3a06e;--line:#d3a06e40;--muted:#b5aabd;--water:#82c6cf;--heat:#e8af68;--land:#9cbf9a;background:#171321;font-family:PingFang TC,Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a,input,select{touch-action:manipulation}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:0 0;padding:12px 18px}button:disabled{cursor:not-allowed;opacity:.42}button:not(:disabled):hover{border-color:var(--copper);background:#d3a06e18}a{color:var(--copper)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--water);outline-offset:4px}h1:focus,h2:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Songti TC,Noto Serif TC,serif}p{line-height:1.8}small,.small{color:var(--muted);font-size:.78rem;line-height:1.7}.content-width{width:min(1280px,100% - 80px);margin:0 auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:94px;padding:0 40px;display:flex}.brand{text-align:left;letter-spacing:.12em;border:0;align-items:center;gap:13px;padding:0;font-weight:700;display:flex}.brand small{letter-spacing:.19em;font-size:.55rem;display:block}.brand-seal{border:1px solid var(--copper);color:var(--copper);padding:2px 9px;font-family:serif;font-size:1.6rem;transform:rotate(-7deg)}.edition{color:var(--muted);letter-spacing:.1em;margin-left:auto;font-size:.72rem}.edition b{color:var(--paper);margin-left:12px;font-size:1.1rem}.settings{z-index:6;font-size:.8rem;position:relative}.settings summary{cursor:pointer;padding:10px}.settings-panel{border:1px solid var(--line);background:#241d30;width:240px;padding:20px;position:absolute;top:45px;right:0;box-shadow:0 16px 50px #0008}.settings-panel label{margin-bottom:14px;display:block}.settings-panel input[type=range]{width:100%}.settings-panel select{color:var(--paper);background:#171321}.hero{border-bottom:1px solid var(--line);height:620px;position:relative;overflow:hidden}.hero-art{object-fit:cover;object-position:center;width:100%;height:100%}.hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#17132198,#0000 80%);position:absolute;inset:0}.hero-copy{z-index:1;position:absolute;top:68px;left:max(40px,50% - 640px)}.eyebrow{letter-spacing:.2em;color:var(--copper);margin-bottom:22px;font-size:.68rem;font-weight:650}.hero h1{letter-spacing:.01em;margin-bottom:24px;font-size:clamp(3rem,5.8vw,5.8rem);line-height:1.17}.hero h1 span{color:var(--copper)}.lead{color:#d4c8d4;font-size:1.08rem;line-height:1.85}.hero .lead{margin-bottom:24px}.primary{background:var(--paper);color:#261e30;border-color:var(--paper);justify-content:space-between;align-items:center;gap:35px;padding:16px 24px;font-weight:750;display:inline-flex}.primary:not(:disabled):hover{color:#261e30;background:#fff1d7}.hero .small{margin-top:14px}.hero-caption{z-index:2;writing-mode:vertical-rl;letter-spacing:.15em;color:#eee2caba;font-size:.63rem;position:absolute;bottom:25px;right:40px}.lobby-bottom{grid-template-columns:1fr 1fr;gap:9%;max-width:1280px;margin:auto;padding:44px 40px 55px;display:grid}.lobby-bottom h2{font-size:1.7rem}.lobby-bottom .eyebrow{margin-bottom:14px}.save-list button{text-align:left;border-width:0 0 1px;justify-content:space-between;gap:20px;width:100%;padding:15px 0;display:flex}.save-list .small{margin-top:18px}.message{border:1px solid var(--copper);background:#322837;max-width:1200px;margin:15px auto;padding:15px 25px;font-size:.9rem;line-height:1.7}.message button{margin-left:14px;padding:5px 12px}.message.error{border-color:#ec9789}.loading{text-align:center;color:var(--copper);margin:15px;font-size:.8rem}.briefing{grid-template-columns:340px 1fr;align-items:center;gap:7%;padding-top:50px;padding-bottom:50px;display:grid}.briefing-art{border:1px solid var(--line);position:relative}.briefing-art img{aspect-ratio:2/3;object-fit:cover;width:100%;display:block}.briefing-art span{letter-spacing:.15em;font-size:.65rem;position:absolute;bottom:20px;left:20px}.briefing h1{margin-bottom:22px;font-size:clamp(2.6rem,4vw,4rem);line-height:1.3}.lesson{color:#c7bbcc;padding-left:23px;line-height:1.9}.lesson li{margin-bottom:14px}.briefing .small{margin-top:15px}.battle{padding-top:30px}.battle-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.battle-heading h1{margin:0;font-size:2rem}.battle-heading .eyebrow{margin-bottom:10px}.turn{align-items:baseline;gap:15px;display:flex}.turn strong{color:var(--copper);font-family:serif;font-size:3.4rem}.turn span{color:var(--muted);font-size:.8rem}.battle-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px;display:grid}.city-stage{border:1px solid var(--line);min-height:355px;position:relative;overflow:hidden}.city-stage>img{object-fit:cover;width:100%;height:100%;position:absolute}.core-panel{background:linear-gradient(#171321cb,#0000);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:22px;display:flex;position:relative}.core-panel span{letter-spacing:.15em;font-size:.8rem}.core-panel strong{color:var(--paper);font-family:serif;font-size:2.1rem}progress{width:100%;height:4px;accent-color:var(--copper);background:#fff2;border:0;display:block}progress::-webkit-progress-bar{background:#ffffff18}progress::-webkit-progress-value{background:var(--copper)}.intent{background:linear-gradient(#0000,#171321f5 30%);padding:18px 22px;position:absolute;bottom:0;left:0;right:0}.intent small{color:var(--copper);letter-spacing:.12em;font-size:.66rem}.intent p{margin:7px 0 0;font-size:.92rem}.defenses{grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 2px;display:grid}.defenses b{justify-content:space-between;gap:8px;font-size:.8rem;font-weight:500;display:flex}.defenses strong{font-size:1.05rem}.defenses progress{margin:12px 0 7px}.water{--element:var(--water)}.heat{--element:var(--heat)}.land{--element:var(--land)}.defenses b{color:var(--element)}.defenses progress::-webkit-progress-value{background:var(--element)}.professor{border:1px solid var(--line);background:#ede2ca0a;align-items:center;gap:20px;padding:18px;display:flex}.professor img{object-fit:cover;width:75px;height:85px}.professor p{margin:6px 0 0;font-size:.83rem;line-height:1.8}.professor small{color:var(--copper);letter-spacing:.1em}.window{border:1px solid var(--copper);color:var(--copper);margin-bottom:20px;padding:10px 15px;font-size:.85rem}.command-panel{border:1px solid var(--line);background:#211b2b;padding:22px}.malice{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:14px;display:flex}.malice span{font-size:.85rem}.malice b{color:var(--copper);font-size:1.7rem}.malice small{font-size:.9rem}.skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.skills button{text-align:center;border-color:#ffffff18;min-height:58px;padding:10px 4px;font-size:.7rem;position:relative}.skills button span{color:var(--element,var(--paper));font-weight:600;display:block}.skills button small{margin-top:4px;font-size:.59rem;display:block}.skills button.selected{border-color:var(--element,var(--copper));box-shadow:inset 0 -2px var(--element,var(--copper));background:#ffffff0c}.skills button.unavailable{background:repeating-linear-gradient(135deg,#0000,#0000 6px,#ffffff03 6px 8px)}.skills button:nth-last-child(-n+2){grid-column:span 1}.skill-detail{min-height:166px;padding-top:20px}.skill-detail b{font-size:.95rem}.skill-detail p{margin:8px 0;font-size:.78rem}.skill-detail small{font-size:.68rem}.cast{gap:5px;width:100%;padding:15px 12px;font-size:.84rem}.forecast,.data-panel,.history{border-bottom:1px solid var(--line);padding-top:28px;padding-bottom:25px}summary{cursor:pointer;color:var(--paper);font-size:.85rem;line-height:1.6}.forecast p,.forecast li{color:var(--muted);font-size:.83rem;line-height:1.9}.data-panel details>p{margin-top:15px}.data-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin:25px 0;display:grid}.data-grid b{color:var(--copper);font-size:.85rem}.data-grid p{font-size:.78rem}.source-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px 20px;padding:13px 0;font-size:.75rem;display:flex}.source-row b{min-width:160px}.source-row p{width:100%;margin:0}.history article{border-bottom:1px solid var(--line);padding:15px 0}.history h3{font-size:.9rem}.history li{color:var(--muted);font-size:.8rem;line-height:1.9}.counterfactual{margin-top:10px}.counterfactual button{padding:8px 14px;font-size:.72rem}.counterfactual p{margin-top:8px}footer{color:#a094aa;border-top:1px solid var(--line);justify-content:space-between;gap:18px;margin-top:35px;padding:35px 40px;font-size:.64rem;line-height:1.8;display:flex}footer a{white-space:nowrap}.report{grid-template-columns:300px 1fr;align-items:center;gap:7%;padding-top:50px;padding-bottom:50px;display:grid}.report>img{object-fit:cover;border:1px solid var(--line);width:100%;height:380px}.report h1{font-size:clamp(2.5rem,5vw,4.8rem)}.report.victory h1{color:var(--copper)}.report p{font-size:.9rem}.report-actions{flex-wrap:wrap;gap:12px;display:flex}.report-actions button{font-size:.8rem}.highlights{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;padding:0;list-style:none;display:grid}.highlights li{background:#211b2b;gap:20px;padding:15px;font-size:.8rem;display:flex}.highlights b{color:var(--copper);white-space:nowrap}.cutscene{z-index:20;background:#100c19;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cutscene>img{object-fit:cover;opacity:.75;width:100%;height:100%;animation:.7s ease-out both reveal}.cutscene:after{content:"";pointer-events:none;background:linear-gradient(#0000,#100c19db);position:absolute;inset:0}.cutscene-copy{z-index:1;text-shadow:0 3px 12px #100c19;position:absolute;bottom:16%;left:7%;right:7%}.cutscene-copy h2{max-width:1100px;margin-bottom:15px;font-size:clamp(2rem,5vw,5rem);line-height:1.3}.cutscene-copy .eyebrow{color:var(--paper)}.cutscene-copy p{font-size:1rem}.cutscene>button{z-index:2;background:#171321dc;position:absolute;top:30px;right:30px}.cutscene.ultimate>img{object-fit:contain;animation:2s ease-out both reveal}.cutscene.triumph{background:#392d29}.cutscene.triumph>img{object-fit:contain;animation:8s ease-out both triumph}.cutscene.triumph h2{color:#f8d99a}.low-motion *,.low-motion :before,.low-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@keyframes reveal{0%{opacity:.2;transform:scale(1.08)}to{opacity:.75;transform:scale(1)}}@keyframes triumph{0%{opacity:.3;transform:scale(.92)}to{opacity:.85;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width>=1600px){.hero{height:710px}.hero-copy{top:85px}}@media (width<=1050px){.battle-layout{grid-template-columns:minmax(0,1fr) 320px}.content-width{width:calc(100% - 40px)}.topbar{padding:0 24px}.briefing{grid-template-columns:270px 1fr;gap:5%}.hero{height:570px}.hero-copy{left:30px}.hero h1{font-size:4.2rem}.hero-art{object-position:60% center}.command-panel{padding:15px}.skills{gap:5px}.report{grid-template-columns:250px 1fr}}@media (width<=760px){.topbar{gap:8px;height:76px;padding:0 18px}.brand{gap:9px;font-size:.82rem}.brand small{font-size:.45rem}.brand-seal{font-size:1.3rem}.edition{display:none}.settings summary{padding:8px;font-size:.72rem}.hero{height:620px}.hero-art{object-position:67% center;opacity:.55}.hero:after{background:linear-gradient(90deg,#171321a8,#0000)}.hero-copy{top:55px;left:24px;right:20px}.hero h1{font-size:clamp(3.25rem,12vw,4.8rem)}.eyebrow{letter-spacing:.12em;font-size:.59rem;line-height:1.8}.hero .lead{font-size:1rem}.hero-caption{font-size:.56rem;bottom:18px;right:16px}.lobby-bottom{grid-template-columns:1fr;gap:24px;padding:32px 24px}.lobby-bottom h2{font-size:1.45rem}.content-width{width:calc(100% - 32px)}.briefing{grid-template-columns:1fr;gap:25px;padding-top:25px}.briefing-art{max-width:220px;margin:auto}.briefing-art img{object-position:50% 45%;height:275px}.briefing h1{font-size:2.6rem}.briefing .lead{font-size:.95rem}.lesson{font-size:.85rem}.battle-heading h1{font-size:1.45rem}.battle-heading .eyebrow{font-size:.56rem}.turn{gap:7px}.turn strong{font-size:2.5rem}.turn span{font-size:.65rem}.battle-layout{grid-template-columns:1fr;gap:22px}.city-stage{min-height:300px}.core-panel,.intent{padding:16px}.intent p{font-size:.8rem}.defenses{gap:12px;padding:18px 0}.defenses b{font-size:.7rem}.defenses small{font-size:.63rem}.professor{gap:14px;padding:12px}.professor img{width:55px;height:70px}.professor p{font-size:.76rem}.command-panel{padding:18px}.skills button{padding:12px 4px;font-size:.8rem}.skills button small{font-size:.65rem}.skill-detail{min-height:140px}.cast{font-size:.95rem}.data-grid{grid-template-columns:1fr;gap:8px}.report{grid-template-columns:1fr;gap:25px;padding-top:25px}.report>img{object-fit:cover;object-position:50% 45%;height:260px}.report.victory>img{object-fit:contain;background:#100c19}.report h1{font-size:2.8rem}.report-actions button{white-space:nowrap;flex:1}.report-actions .primary{flex-basis:100%}.highlights{grid-template-columns:1fr}.highlights li{gap:15px;font-size:.75rem}.cutscene-copy{bottom:20%;left:6%;right:6%}.cutscene-copy h2{font-size:2.3rem}.cutscene>button{top:18px;right:18px}.cutscene-copy p{font-size:.8rem}footer{flex-direction:column;gap:10px;padding:25px 20px}.message{margin:12px 16px;padding:14px;font-size:.8rem}}.professor-quote{border-left:2px solid var(--water);background:#82c6cf09;margin:0 0 24px;padding:16px 20px;font-family:serif;font-size:1.15rem;line-height:1.9}.professor-quote small{margin-top:10px;font-family:system-ui,sans-serif;display:block}.briefing-art span{background:#171321e8;padding:8px 12px;bottom:12px;left:12px}.professor img{object-position:50% 20%}.highlights li{align-items:baseline;line-height:1.9}.report.victory>img{object-fit:cover;object-position:50% 40%}.cutscene-copy{max-height:65vh;overflow:auto}.mode-picker{border:0;grid-template-columns:1fr 1fr;gap:10px;max-width:620px;margin:0 0 22px;padding:0;display:grid}.mode-picker legend{letter-spacing:.2em;color:var(--copper);padding:0 0 10px;font-size:.68rem;font-weight:650}.mode-picker label{border:1px solid var(--line);cursor:pointer;background:#171321b8;padding:12px 14px;display:block}.mode-picker label.on{border-color:var(--copper);background:#d3a06e18}.mode-picker input{margin-right:8px}.mode-picker b{font-size:.88rem}.mode-picker small{margin-top:6px;font-size:.68rem;display:block}.route{background:var(--line);border:1px solid var(--line);gap:1px;margin:0 0 26px;padding:0;list-style:none;display:grid}.route li{opacity:.55;background:#211b2b;padding:13px 16px}.route li.ready{opacity:1;box-shadow:inset 3px 0 var(--copper)}.route b{font-size:.9rem;display:block}.route span{color:#c7bbcc;margin:4px 0;font-size:.76rem;line-height:1.7;display:block}.route small{color:var(--muted);font-size:.68rem}.save-list button span small{color:var(--muted);margin-top:3px;font-size:.65rem;display:block}.clock{align-items:center;gap:26px;display:flex}.countdown{border:1px solid var(--line);justify-content:center;align-items:baseline;gap:6px;min-width:108px;padding:6px 16px;display:flex}.countdown strong{color:var(--water);font-variant-numeric:tabular-nums;font-family:serif;font-size:2.6rem}.countdown span{color:var(--muted);font-size:.7rem}.countdown.urgent{background:#ec978914;border-color:#ec9789}.countdown.urgent strong{color:#f0a293;font-size:3.1rem}.countdown.practice strong{color:var(--muted);font-size:2rem}.city-strip{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}.city-core{border:1px solid var(--line);min-height:190px;position:relative;overflow:hidden}.city-core>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.city-read{flex-direction:column;gap:14px;display:flex}.intent-card{border:1px solid var(--line);background:#211b2b;padding:14px 18px}.intent-card.interruptible{border-color:var(--water);box-shadow:inset 3px 0 var(--water)}.intent-card small{color:var(--copper);letter-spacing:.12em;font-size:.66rem}.intent-card p{margin:7px 0 0;font-size:.92rem}.intent-card .tag{color:var(--water);border:1px solid var(--water);margin-top:9px;padding:3px 9px;font-size:.68rem;display:inline-block}.city-read .defenses{gap:16px;padding:0}.table-bar{border:1px solid var(--line);background:#211b2b;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-bottom:18px;padding:14px 18px;display:flex}.table-bar .malice{border:0;align-items:baseline;gap:10px;margin:0;padding:0}.table-bar .counts{color:var(--muted);margin:0;font-size:.76rem}.table-bar .professor-note{color:#c7bbcc;flex:320px;margin:0;font-size:.8rem;line-height:1.7}.reveal-gate{border:1px dashed var(--line);text-align:center;background:#ede2ca05;padding:52px 24px}.reveal-gate p{color:#c7bbcc;font-size:.88rem}.hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.hand li{flex-direction:column;gap:8px;display:flex}.card-face{text-align:left;background:linear-gradient(#241d30,#1c1726);border-color:#ffffff20;flex-direction:column;gap:9px;width:100%;min-height:270px;padding:16px 14px;display:flex}.card-face:not(:disabled):hover{border-color:var(--element,var(--copper))}.hand li.previewed .card-face{border-color:var(--element,var(--copper));box-shadow:0 0 0 1px var(--element,var(--copper)),0 10px 30px #0007;background:linear-gradient(#2c2438,#221b2e);border-width:2px;transform:translateY(-6px)}.hand li.unavailable .card-face{opacity:.72;background:repeating-linear-gradient(135deg,#1c1726,#1c1726 6px,#ffffff05 6px 8px)}.card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-top b{color:var(--element,var(--paper));font-family:Songti TC,Noto Serif TC,serif;font-size:1.02rem;line-height:1.35}.card-top em{color:var(--element,var(--muted));border:1px solid var(--element,var(--line));white-space:nowrap;padding:2px 6px;font-size:.63rem;font-style:normal}.card-cost{letter-spacing:.08em;color:var(--copper);font-size:.68rem}.card-text{color:#d4c8d4;font-size:.75rem;line-height:1.75}.card-block{color:#ec9789;font-size:.66rem}.card-tools{gap:6px;display:flex}.card-tools button{border-color:#ffffff18;flex:1;padding:7px 4px;font-size:.64rem}.card-tools button[aria-pressed=true]{border-color:var(--copper);color:var(--copper)}.preview-bar{border:1px solid var(--line);background:#211b2b;min-height:112px;margin-bottom:16px;padding:18px}.preview-bar b{font-size:1rem}.preview-bar p{margin:6px 0;font-size:.8rem}.preview-bar small{font-size:.68rem}.fixed-actions{flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:8px;display:flex}.fixed-actions .eyebrow{flex-basis:100%;margin:0 12px 0 0}.fixed-actions button{text-align:left;flex:220px;padding:12px 16px}.fixed-actions b{font-size:.88rem;display:block}.fixed-actions small{margin-top:4px;font-size:.68rem;display:block}.fixed-actions button.unavailable{opacity:.6}@media (width<=1050px){.city-strip{grid-template-columns:1fr}.city-core{min-height:150px}.hand{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.mode-picker{grid-template-columns:1fr}.clock{gap:14px}.countdown{min-width:88px;padding:4px 12px}.countdown strong{font-size:2rem}.countdown.urgent strong{font-size:2.4rem}.hand{scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px;display:flex;overflow-x:auto}.hand li{scroll-snap-align:center;flex:0 0 78%}.card-face{min-height:250px}.card-top b{font-size:1.05rem}.card-text{font-size:.82rem}.card-tools button{padding:10px 4px;font-size:.72rem}.table-bar{gap:8px 16px;padding:12px 14px}.fixed-actions button{flex-basis:100%}.preview-bar{min-height:0;padding:14px}.reveal-gate{padding:34px 16px}}.route li button{margin-top:10px;padding:8px 14px;font-size:.72rem}.campaign-state{border-top:1px solid var(--line);margin-top:4px;padding-top:18px}.campaign-state .titles{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.campaign-state .tag{color:var(--copper);border:1px solid var(--copper);padding:4px 10px;font-size:.68rem}.campaign-state em{color:var(--muted);font-size:.7rem;font-style:normal}.campaign-state .primary{gap:18px;margin-bottom:16px;font-size:.8rem}.deck-list{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:14px 0 0;padding:0;list-style:none;display:grid}.deck-list li{background:#211b2b;padding:10px 13px}.deck-list b{font-size:.8rem;display:block}.deck-list small{font-size:.65rem}.reward{padding-top:50px;padding-bottom:40px}.reward h1{margin-bottom:18px;font-size:clamp(2.2rem,4vw,3.4rem)}.reward-options{grid-template-columns:1fr 1fr;gap:20px;margin:26px 0;padding:0;list-style:none;display:grid}.reward-options li{border:1px solid var(--line);background:linear-gradient(#241d30,#1c1726);padding:22px}.reward-options b{color:var(--copper);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;font-family:Songti TC,Noto Serif TC,serif;font-size:1.25rem;display:flex}.reward-options em{color:var(--water);border:1px solid var(--water);padding:3px 8px;font-size:.66rem;font-style:normal}.reward-options p{font-size:.85rem}.reward-options .cost{color:var(--muted);border-top:1px solid var(--line);padding-top:12px;font-size:.76rem}.reward-options button{justify-content:center;gap:0;width:100%}.ending{border-top:1px solid var(--line);padding-top:36px;padding-bottom:30px}.ending h2{margin-bottom:16px;font-size:clamp(1.9rem,3.4vw,2.9rem)}.ending.main h2,.ending.advanced h2{color:var(--copper)}.ending .report-actions{margin:20px 0 14px}@media (width<=760px){.reward-options,.deck-list{grid-template-columns:1fr}.reward-options li{padding:18px}}.hero-student{z-index:1;opacity:.46;filter:drop-shadow(0 12px 25px #0008);pointer-events:none;width:auto;height:72%;position:absolute;bottom:-11%;right:8%}.city-core .apostle-mark{z-index:1;opacity:.43;object-fit:contain;object-position:bottom right;pointer-events:none;filter:drop-shadow(0 10px 16px #0009);width:auto;height:114%;position:absolute;bottom:-22%;right:4%}.ending-art{object-fit:cover;border:1px solid var(--line);width:min(100%,720px);max-height:320px;margin:0 0 24px;display:block}@media (width<=760px){.hero-student{opacity:.3;height:57%;right:-8%}.city-core .apostle-mark{opacity:.35;height:105%;right:-8%}.ending-art{max-height:210px}}body{min-width:0}small,.small,.eyebrow,summary,.settings,.settings summary,.mode-picker legend,.mode-picker small,.route small,.save-list button span small,.campaign-state .tag,.campaign-state em,.deck-list small,.reward-options em,.reward-options .cost,.source-row,footer{font-size:.875rem}.mode-picker b,.route b,.route span,.route li button,.deck-list b,.reward-options p,.lesson,.forecast p,.forecast li,.data-grid b,.data-grid p,.history h3,.history li,.counterfactual button,.report-actions button,.campaign-state .primary{font-size:1rem}.topbar{height:auto;min-height:94px;padding-top:14px;padding-bottom:14px}.hero{height:auto;min-height:700px}.hero-art{position:absolute;inset:0}.hero-copy{max-width:1280px;margin:auto;padding:58px 40px 44px;position:relative;top:auto;left:auto}.hero-copy .mode-picker{max-width:620px}.battle-heading{flex-wrap:wrap}.battle-heading>div{min-width:0}.battle-goal{border-left:3px solid var(--copper);background:#d3a06e12;margin-bottom:20px;padding:16px 20px;line-height:1.7}.battle-goal b,.battle-goal p{font-size:1rem}.battle-goal p{color:#d4c8d4;margin:6px 0 0}.core-panel span,.intent-card p,.defenses b,.table-bar .professor-note,.malice span{font-size:1rem}.city-core .core-panel{z-index:2;background:#171321b8}.intent-card small,.intent-card .tag,.defenses small,.turn span,.countdown span,.table-bar .counts{font-size:.875rem}.city-read .defenses{gap:12px}.defenses b{flex-wrap:wrap}.defenses small{display:block}.card-face{gap:12px;min-height:300px;padding:16px 12px}.card-top{flex-wrap:wrap}.card-top b{font-size:1.125rem}.card-top em,.card-cost,.card-text,.card-target,.card-cast,.card-block{letter-spacing:0;font-size:1rem;line-height:1.6}.card-target{color:var(--element,var(--paper));border-top:1px solid var(--line);padding-top:10px}.card-cast{color:var(--paper);margin-top:auto;font-weight:700}.card-face:disabled{opacity:.85}.card-help{border:1px solid var(--line);background:#211b2b;padding:10px 12px}.card-help summary{color:var(--water);min-height:24px;font-size:.875rem}.card-help p{margin:12px 0;font-size:1rem;line-height:1.7}.card-help small{font-size:.875rem}.card-tools{flex-wrap:wrap}.card-tools button{flex:90px;min-height:44px;font-size:.875rem}.preview-bar p,.preview-bar b,.fixed-actions b,.fixed-actions span,.fixed-actions strong{font-size:1rem}.preview-bar small,.fixed-actions small{font-size:.875rem}.fixed-action{flex:260px;min-width:0}.fixed-action>button{width:100%;min-height:120px}.fixed-action span,.fixed-action strong{margin-top:6px;line-height:1.7;display:block}.fixed-action .card-help{margin-top:8px}.report{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:32px;padding-top:30px;padding-bottom:30px}.report>div{min-width:0}.report>img{object-fit:cover;height:260px}.report h1{margin-bottom:16px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.3}.report p,.report-causes{font-size:1rem}.report .eyebrow{margin-bottom:12px;font-size:.875rem}.report-condition{color:var(--paper);margin-bottom:16px;font-weight:700}.report-stats{border:1px solid var(--line);background:#eee2ca0b;flex-wrap:wrap;gap:20px;margin:0 0 18px;padding:16px;display:flex}.report-stats dt{color:var(--muted);font-size:.875rem}.report-stats dd{color:var(--copper);margin:4px 0 0;font-size:1.4rem;font-weight:700}.final-move{border-left:3px solid var(--water);padding-left:14px}.report-causes{margin-bottom:20px;padding-left:22px;line-height:1.7}.report-causes li{margin-bottom:8px}.report-causes b{color:var(--copper)}.report-details{border-top:1px solid var(--line);padding:24px 0}.report-details details>p{margin-top:16px}.highlights li{flex-wrap:wrap;gap:8px;font-size:1rem}.report-actions button{white-space:normal;min-width:0}@media (width<=1050px){.hero-copy{padding-left:24px;padding-right:24px}.report{grid-template-columns:minmax(0,1fr) 180px}.report>img{height:230px}}@media (width<=760px){.topbar{min-height:76px;padding:12px 16px}.brand{letter-spacing:0}.settings summary{padding:8px 4px}.hero-copy{padding:40px 24px}.hero{min-height:740px}.hero h1{font-size:clamp(2.75rem,12vw,4.8rem)}.battle-heading h1{font-size:1.6rem}.battle-heading .eyebrow{font-size:.875rem}.clock{flex-wrap:wrap}.battle-goal{padding:14px}.hand li{flex-basis:88%}.card-face{min-height:300px}.city-read .defenses{grid-template-columns:1fr;gap:14px}.defenses b{justify-content:flex-start}.defenses small{margin-top:6px}.fixed-action{flex-basis:100%}.report{grid-template-columns:1fr;gap:24px}.report>img{height:180px}.report-stats{gap:14px}.report-stats dd{font-size:1.2rem}.report .small{font-size:.875rem}.briefing .lead,.cutscene-copy p,.message{font-size:1rem}.eyebrow{letter-spacing:.1em}}.acts{border:1px solid var(--line);background:#ede2ca06;margin-bottom:20px;padding:16px 20px}.acts>ol{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 14px;padding:0;list-style:none;display:grid}.acts>ol>li{color:var(--muted);background:#211b2b;flex-wrap:wrap;align-items:baseline;gap:6px;padding:11px 13px;font-size:.78rem;display:flex}.acts>ol>li b{font-weight:600}.acts>ol>li.done b:before{content:"✓ ";color:var(--copper)}.acts>ol>li.current{color:var(--paper);box-shadow:inset 0 -2px var(--copper);background:#d3a06e14}.acts>ol>li.current b{color:var(--copper)}.acts>ol>li.upcoming{opacity:.6}.acts .conditional{letter-spacing:.08em;border:1px solid var(--line);color:var(--muted);padding:1px 5px;font-size:.6rem}.act-objective,.act-next{margin:0;font-size:.82rem;line-height:1.8}.act-objective b{color:var(--copper)}.act-next{color:var(--muted);margin-top:6px}.act-lines{margin:8px 0 0;padding-left:20px}.act-lines li{margin-bottom:6px;font-size:.8rem}.report-acts{border-bottom:1px solid var(--line);padding-bottom:30px}.report-acts h2{margin-bottom:18px;font-size:1.3rem}.report-acts>ol{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.report-acts>ol>li{background:#211b2b;padding:16px}.report-acts>ol>li.unreached{opacity:.6}.report-acts b{color:var(--copper);margin-bottom:4px;font-size:.9rem;display:block}.report-acts small{color:var(--muted);margin-bottom:10px;font-size:.7rem;display:block}.report-acts p{margin:0 0 7px;font-size:.78rem;line-height:1.8}@media (width<=760px){.acts{padding:14px}.acts>ol,.report-acts>ol{grid-template-columns:1fr}}.save-list button>span{min-width:0}.save-list button>span small{margin-top:6px;display:block}.save-list button>small{flex-shrink:0}.source-link{color:var(--copper);font-size:inherit;white-space:nowrap;border:0;padding:0;text-decoration:underline}.sources-dialog{width:min(600px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--paper);border:1px solid var(--copper);background:#241d30;padding:28px;overflow:auto;box-shadow:0 20px 80px #0008}.sources-dialog::backdrop{background:#100c19c9}.sources-dialog h2{font-size:1.6rem}.sources-dialog dt{color:var(--copper);margin-top:20px;font-weight:700}.sources-dialog dd{margin:8px 0 20px;font-size:1rem;line-height:1.8}.sources-dialog form{justify-content:flex-end;margin-top:24px;display:flex}.briefing{display:block}.briefing-art{width:100%;max-width:none;height:auto;margin:0 0 28px;position:relative}.briefing-art img{aspect-ratio:16/9;object-fit:contain;background:#171321;width:100%;height:auto;display:block}.briefing>div:last-child{max-width:780px;margin:0 auto}.briefing-task{color:var(--copper);margin:0 0 20px;font-size:1.2rem}.act-voice{color:var(--paper);margin:0 0 10px;font-size:1rem;line-height:1.8}.report-review{border-left:2px solid var(--copper);margin:20px 0;padding:14px 18px;font-size:1rem;line-height:1.8}.finale-frame{margin:0 0 28px}.finale-frame figcaption{color:var(--copper);margin-top:10px;font-size:1rem;line-height:1.8}.city-core{isolation:isolate;overflow:hidden}.city-core>img:first-of-type{transition:filter .8s,object-position .8s}.city-core[data-act="2"]>img:first-of-type{object-position:55% 50%;filter:contrast(1.08)}.city-core[data-act="3"]>img:first-of-type{object-position:60% 50%;filter:contrast(1.14)brightness(.9)}.city-core[data-overhaul=true]{outline:2px solid var(--copper);outline-offset:-2px}.battle-shield{border:3px solid var(--water);z-index:2;pointer-events:none;border-radius:50%;position:absolute;inset:10px}.city-core[data-shield=heat] .battle-shield{border-color:var(--heat)}.city-core[data-shield=land] .battle-shield{border-color:var(--land)}.low-motion .city-core>img:first-of-type{transition:none}@media (prefers-reduced-motion:reduce){.city-core>img:first-of-type{transition:none}}@media (width<=760px){.briefing-art span{font-size:.875rem}.briefing-task{font-size:1rem}.report-review{padding:12px;font-size:1rem}.finale-frame{margin-bottom:20px}}
