:root{color-scheme:dark;font-family:Trebuchet MS,Segoe UI,sans-serif;font-synthesis:none;--ink: #0a1115;--panel: rgba(13, 24, 28, .94);--panel-soft: rgba(20, 34, 37, .9);--line: rgba(190, 157, 103, .28);--line-bright: rgba(222, 184, 117, .62);--gold: #dfba78;--gold-pale: #f0d9a8;--mint: #83b9aa;--text: #e7dfce;--muted: #a79f91;--danger: #d88977}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:#091115}body{color:var(--text);font-size:calc(15px * var(--game-font-scale, 1))}.high-contrast #game-root{--text: #ffffff;--muted: #e0d8c8;--gold: #ffdc8a;--gold-pale: #fff0c4;--mint: #a3f3d0;--line: rgba(255, 220, 138, .58);--line-bright: rgba(255, 220, 138, .85)}.high-contrast #game-root .game-main-panel,.high-contrast #game-root .command-panel,.high-contrast #game-root .top-bar{background:#071012}.reduced-motion #game-root *,.reduced-motion #game-root *:before,.reduced-motion #game-root *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}button,select,input{font:inherit}button{color:inherit}button:not(:disabled),select:not(:disabled),input:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold-pale);outline-offset:3px}button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500}p{line-height:1.65}#game-root{position:fixed;inset:0}#game-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}#ui-overlay,.game-interface{position:absolute;inset:0;pointer-events:none}.loading-screen{position:absolute;inset:0;display:grid;place-content:center;gap:18px;text-align:center;background:#0a1317;color:var(--gold);pointer-events:auto}.loading-rune{width:42px;height:42px;margin:auto;border:1px solid var(--gold);transform:rotate(45deg);animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.35;transform:rotate(45deg) scale(.82)}}.section-kicker{display:block;margin-bottom:7px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.level-chip,.ap-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:3px;color:var(--gold-pale);background:#091013b8;font-size:12px;white-space:nowrap}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;font-size:23px}.section-heading>svg{color:var(--gold)}.primary-button,.secondary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border-radius:3px;font-weight:700;letter-spacing:.02em}.primary-button{border:1px solid #e1bd7c;background:#c39755;color:#132024;box-shadow:inset 0 0 0 1px #ffffff29,0 5px 20px #00000038}.primary-button:not(:disabled):hover{background:#e0ba76;border-color:#f5dca8}.secondary-button{border:1px solid var(--line-bright);background:#111d20e0;color:var(--gold-pale)}.secondary-button:not(:disabled):hover{border-color:var(--gold);background:#2c352ff5}.text-button{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:5px 0;border:0;background:transparent;color:var(--gold)}.text-button:hover{color:var(--gold-pale)}.square-button{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:3px;background:#0a1215b8;color:var(--muted)}.square-button:not(:disabled):hover{color:var(--gold-pale);border-color:var(--line-bright);background:#2b2e27e6}.title-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6vh 7vw;overflow:auto;pointer-events:auto;background:linear-gradient(90deg,#050c0ffa,#060d10d6 42%,#060d1014 72%)}.title-crest{position:relative;display:grid;width:86px;height:86px;place-items:center;margin-bottom:26px;border:1px solid var(--line-bright);color:var(--gold);transform:rotate(45deg)}.title-crest>svg{transform:rotate(-45deg)}.crest-orbit{position:absolute;inset:9px;border:1px solid rgba(131,185,170,.35)}.title-kicker{margin-bottom:14px;color:var(--mint);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.title-screen h1{margin:0 0 20px;color:#eee3cb;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.045em;text-shadow:0 5px 24px #000}.title-screen h1 em{color:var(--gold);font-weight:400}.title-screen>p{max-width:520px;margin-bottom:28px;color:#c2b9aa;font-family:Georgia,serif;font-size:17px;line-height:1.65}.title-actions{display:flex;flex-wrap:wrap;gap:12px}.title-primary{min-width:205px}.title-features{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;color:#a9b7b0;font-size:12px}.title-features span{display:inline-flex;align-items:center;gap:7px}.title-hint{margin-top:20px;color:#827d73;font-size:11px}.title-save-note{margin-top:16px;color:var(--danger)}.story-screen{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:5vh 5vw;pointer-events:auto;background:linear-gradient(0deg,rgba(5,11,14,.9),transparent 70%)}.story-character{position:absolute;right:9vw;bottom:35vh;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font-size:12px;letter-spacing:.1em}.character-sigil{display:grid;width:150px;height:190px;place-items:center;border:1px solid var(--line);background:radial-gradient(circle at 50% 30%,#deb87533,#0e1b1edb 65%);color:var(--gold);font-family:Georgia,serif;font-size:88px;box-shadow:0 25px 60px #00000059}.dialogue-panel{position:relative;width:min(860px,100%);padding:28px 32px;border:1px solid var(--line-bright);background:#0c161af5;box-shadow:0 18px 70px #000}.dialogue-panel h2{margin-bottom:12px;color:var(--gold-pale);font-size:28px}.dialogue-panel p{min-height:76px;margin-bottom:20px;color:#ded5c5;font-family:Georgia,serif;font-size:18px;line-height:1.65}.dialogue-panel .primary-button{float:right}.dialogue-progress{position:absolute;top:0;left:0;display:flex;width:100%;gap:3px}.dialogue-progress span{flex:1;height:3px;background:#273235}.dialogue-progress .is-filled{background:var(--gold)}.top-bar{position:absolute;z-index:20;top:0;right:0;left:0;display:flex;height:68px;align-items:center;gap:20px;padding:0 20px;border-bottom:1px solid var(--line);background:#081013f5;box-shadow:0 5px 25px #00000040;pointer-events:auto}.brand-button{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;text-align:left}.brand-button>span:last-child{display:flex;flex-direction:column}.brand-button strong{color:var(--gold-pale);font-family:Georgia,serif;font-size:16px}.brand-button small{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.brand-mark{display:grid;width:35px;height:35px;place-items:center;border:1px solid var(--line-bright);color:var(--gold);transform:rotate(45deg)}.brand-mark svg{transform:rotate(-45deg)}.primary-nav{display:flex;height:100%;gap:3px}.primary-nav button{position:relative;display:flex;align-items:center;gap:7px;padding:0 13px;border:0;background:transparent;color:var(--muted)}.primary-nav button:after{position:absolute;right:12px;bottom:0;left:12px;height:2px;background:transparent;content:""}.primary-nav button:hover{color:var(--text)}.primary-nav button.is-active{color:var(--gold-pale)}.primary-nav button.is-active:after{background:var(--gold)}.resource-bar{display:flex;align-items:center;gap:14px;margin-left:auto}.resource{display:flex;align-items:center;gap:5px;color:var(--gold)}.resource strong{color:var(--text)}.resource small{color:var(--muted)}.top-actions{display:flex;gap:6px}.game-main-panel{position:absolute;z-index:10;inset:84px 18px 18px;padding:24px;overflow:auto;border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 60px #0000006b;pointer-events:auto}.overview-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:22px;max-width:1240px;margin:auto}.overview-hero{position:relative;min-height:320px;padding:34px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 85% 20%,rgba(198,148,75,.14),transparent 40%),linear-gradient(135deg,#233a38b3,#111a1ecc)}.overview-hero:after{position:absolute;right:-45px;bottom:-65px;width:230px;height:230px;border:1px solid rgba(218,180,113,.13);content:"";transform:rotate(45deg)}.overview-hero h1{max-width:630px;margin-bottom:18px;color:#eee2c9;font-size:clamp(34px,4vw,53px);line-height:1.05}.overview-hero>p{max-width:650px;color:#bcb5a7;font-family:Georgia,serif;font-size:16px}.overview-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.objective-strip{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;color:#827f75;font-size:12px}.objective-strip span{display:inline-flex;align-items:center;gap:5px}.objective-strip .is-complete{color:var(--mint)}.preparation-panel{padding:26px;border:1px solid var(--line);background:#131e20e0}.preparation-panel h2{margin-bottom:20px}.preparation-panel>p{margin:18px 0 8px;color:var(--muted);font-size:13px}.kit-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(190,157,103,.13)}.kit-row strong{margin-left:auto;color:var(--gold-pale)}.inventory-ribbon{padding:22px 24px;border:1px solid var(--line);background:#0c1619d1}.inventory-ribbon-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ribbon-item{display:flex;align-items:center;gap:7px;padding:8px;color:var(--muted);font-size:12px}.ribbon-item strong{margin-left:auto;color:var(--text)}.notice-log{padding:18px 22px;border-left:2px solid var(--gold);background:#202825a3}.notice-log p{margin:0;color:#c7bcaa;font-family:Georgia,serif}.alchemy-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:22px;max-width:1240px;margin:auto}.inventory-panel,.recipe-panel{min-width:0;padding:22px;border:1px solid var(--line);background:#111c1fe0}.item-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-content:flex-start;max-height:370px;min-height:190px;padding:12px;overflow-y:auto;border:1px solid rgba(190,157,103,.2);background:#050c0f9e;scrollbar-color:#7d6646 #10171a}.item-slot{position:relative;display:flex;flex:0 0 80px;width:80px;height:80px;aspect-ratio:1/1;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px;border:2px solid #6d593c;border-radius:3px;background:linear-gradient(145deg,#273435,#11191d);box-shadow:inset 0 0 0 2px #0b1215,0 3px 8px #0006;color:var(--text)}.item-slot:hover,.item-slot:focus-visible{z-index:10;border-color:var(--gold);background:#33413e}.item-slot.is-empty{filter:saturate(.45);opacity:.55}.item-slot-name{width:100%;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.item-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.item-count{position:absolute;right:3px;bottom:3px;min-width:21px;padding:2px 4px;border:1px solid #705c3d;border-radius:2px;background:#060c0ff2;color:var(--gold-pale);font-size:10px;font-weight:700}.item-tooltip{position:absolute;z-index:30;bottom:calc(100% + 9px);left:0;display:flex;visibility:hidden;width:220px;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line-bright);background:#101a1d;box-shadow:0 8px 25px #000;color:#d7cebd;font-size:12px;line-height:1.45;text-align:left;opacity:0;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}.item-tooltip strong{color:var(--gold-pale);font-family:Georgia,serif;font-size:15px}.item-tooltip small{color:var(--mint)}.item-slot:hover .item-tooltip,.item-slot:focus-visible .item-tooltip,.item-slot:focus-within .item-tooltip{visibility:visible;opacity:1}.inspected-item{display:flex;min-height:46px;align-items:center;gap:10px;padding:10px 4px;color:var(--muted);font-size:12px}.reagent-market{margin-top:12px;padding-top:16px;border-top:1px solid var(--line)}.market-heading{display:flex;align-items:center;gap:8px;color:var(--gold)}.market-heading h3{margin:0;font-size:18px}.reagent-market p{margin:8px 0 12px;color:var(--muted);font-size:12px}.market-actions{display:flex;flex-wrap:wrap;gap:8px}.market-button{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:3px;background:#182528;font-size:12px}.market-button span{color:var(--gold)}.market-button:not(:disabled):hover{border-color:var(--gold)}.recipe-list{display:flex;flex-direction:column;gap:6px}.recipe-row{display:flex;min-height:55px;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-left:2px solid #344244;background:#070f1273;text-align:left}.recipe-row:hover{background:#2f3931a6}.recipe-row.is-selected{border-color:var(--line);border-left-color:var(--gold);background:#433b2b57}.recipe-row-copy{display:flex;flex-direction:column;gap:3px}.recipe-row-copy strong{font-family:Georgia,serif;font-weight:500}.recipe-row-copy small{color:var(--muted)}.recipe-status{margin-left:auto;color:#8e817a;font-size:11px}.recipe-status.is-ready{color:var(--mint)}.recipe-detail{margin-top:18px;padding:18px;border:1px solid var(--line);background:#08101394}.recipe-result{display:flex;align-items:center;gap:12px}.recipe-result h3{margin:0;color:var(--gold-pale);font-size:22px}.recipe-detail>p{margin:12px 0;color:var(--muted);font-size:12px}.ingredient-list{display:flex;flex-direction:column;gap:6px;margin:14px 0}.ingredient{display:flex;align-items:center;gap:8px;padding:7px 9px;background:#5d302b2e;color:#d6a091;font-size:12px}.ingredient.enough{background:#3d644e29;color:#b5cbbd}.ingredient strong{margin-left:auto}.craft-button{width:100%}.craft-note{display:block;margin-top:9px;color:var(--muted);text-align:center}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;max-width:1280px;margin:auto}.showroom-panel{min-width:0;padding:22px;border:1px solid var(--line);background:#111c1fe0}.panel-intro{color:var(--muted);font-size:13px}.showroom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.showroom-slot{position:relative;min-width:0;padding:16px;border:1px solid #3d4948;background:#08101394}.showroom-slot.is-active{border-color:#d1ae6e7a;background:#302e235c}.slot-number{position:absolute;top:10px;right:11px;color:#6f7772;font-family:Georgia,serif;font-size:12px}.slot-item-visual{display:grid;width:48px;height:48px;place-items:center;margin-bottom:12px;border:1px solid var(--line);color:var(--gold);transform:rotate(45deg)}.slot-item-visual>*{transform:rotate(-45deg)}.slot-select-label,.markup-control{display:flex;flex-direction:column;gap:6px;margin-top:11px;color:var(--muted);font-size:11px}.slot-select-label select{width:100%;min-height:38px;padding:6px;border:1px solid var(--line);border-radius:2px;background:#101a1d;color:var(--text);font-size:12px}.markup-control>span{display:flex;justify-content:space-between}.markup-control strong{color:var(--gold-pale)}.markup-control input{width:100%;accent-color:var(--gold)}.slot-economics{display:flex;align-items:baseline;justify-content:space-between;margin-top:12px}.slot-economics>span{color:var(--gold-pale);font-family:Georgia,serif;font-size:20px}.slot-economics small{color:var(--mint);font-size:10px}.slot-actions{display:flex;gap:7px;margin-top:12px}.icon-text-button{display:inline-flex;min-height:38px;flex:1;align-items:center;justify-content:center;gap:6px;padding:7px;border:1px solid var(--line);border-radius:3px;background:#172326;font-size:11px}.icon-text-button:hover{border-color:var(--gold)}.sales-panel{padding:24px;border:1px solid var(--line);background:#141f20f0}.popularity-seal{display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid var(--line-bright);color:var(--gold);text-align:center}.popularity-seal span{margin-top:8px;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.popularity-seal strong{color:var(--gold-pale);font-family:Georgia,serif;font-size:44px;font-weight:400}.sales-panel>p{margin:16px 0;color:var(--muted);font-size:12px}.sales-panel>.primary-button{width:100%}.sales-ledger{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.sales-ledger p{color:var(--muted);font-size:12px}.revenue-total{display:block;margin-bottom:12px;color:var(--mint);font-family:Georgia,serif;font-size:25px}.sales-ledger ul{max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.sales-ledger li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid rgba(190,157,103,.1);color:var(--muted);font-size:11px}.sales-ledger li strong{color:var(--gold)}.tactical-interface{position:absolute;inset:0;pointer-events:none}.tactical-objective{position:absolute;top:14px;left:50%;display:flex;min-width:360px;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;border:1px solid var(--line);background:#081013e6;box-shadow:0 8px 30px #0000004d;transform:translate(-50%);pointer-events:auto}.tactical-objective .section-kicker{margin-bottom:3px}.tactical-objective strong{font-family:Georgia,serif;font-weight:500}.enemy-counter{display:inline-flex;align-items:center;gap:6px;color:var(--danger);font-size:12px;white-space:nowrap}.unit-roster{position:absolute;top:104px;left:16px;display:flex;width:265px;flex-direction:column;gap:9px;pointer-events:auto}.unit-card{display:flex;min-height:82px;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);background:#0a1417e6;text-align:left}.unit-card.is-selected{border-color:var(--mint);background:#243d38f0;box-shadow:0 0 18px #58a08c26}.unit-card:disabled{opacity:1;cursor:default}.unit-card:not(.is-selected):disabled{opacity:.68}.unit-avatar{display:grid;width:43px;height:50px;flex:0 0 auto;place-items:center;border:1px solid var(--line-bright);color:var(--gold);font-family:Georgia,serif;font-size:25px}.unit-card-copy{display:flex;min-width:0;flex:1;flex-direction:column}.unit-card-copy strong{font-family:Georgia,serif;font-size:17px}.unit-card-copy small{color:var(--muted);font-size:10px}.mini-health-track{height:3px;margin-top:8px;background:#283235}.mini-health-track span{display:block;height:100%;background:var(--mint)}.unit-card-stats{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--gold-pale)}.unit-card-stats small{display:flex;align-items:center;gap:3px;white-space:nowrap}.command-panel{position:absolute;top:88px;right:16px;width:320px;max-height:calc(100% - 150px);padding:18px;overflow-y:auto;border:1px solid var(--line-bright);background:#0a1417f0;box-shadow:0 16px 45px #00000059;pointer-events:auto}.selected-unit-heading{display:flex;align-items:flex-start;justify-content:space-between}.selected-unit-heading h2{margin:0;font-size:27px}.health-line{display:flex;align-items:center;gap:8px;margin:14px 0;color:var(--danger)}.health-track{height:6px;flex:1;background:#303236}.health-track span{display:block;height:100%;background:#b66f63}.health-line strong{color:var(--text);font-size:11px}.command-hint{min-height:38px;margin-bottom:12px;color:var(--muted);font-size:11px;line-height:1.5}.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.command-grid button{display:flex;min-height:51px;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:#172629;text-align:left}.command-grid button:not(:disabled):hover{border-color:var(--gold);background:#2a3634}.command-grid button>span{display:flex;flex-direction:column;font-size:12px}.command-grid button small{color:var(--muted);font-size:9px}.cache-actions{margin-top:8px}.cache-button{display:flex;width:100%;min-height:38px;align-items:center;gap:7px;padding:8px;border:1px solid rgba(190,157,103,.18);background:#392d1e59;color:var(--gold-pale);font-size:11px}.cancel-button{display:inline-flex;min-height:34px;align-items:center;gap:5px;margin-top:8px;padding:5px 0;border:0;background:transparent;color:var(--muted);font-size:11px}.target-list{display:flex;flex-direction:column;gap:5px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.target-list button{display:flex;min-height:38px;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(190,157,103,.18);background:#2a1d1d6b;font-size:11px;text-align:left}.target-list button small{margin-left:auto;color:var(--danger)}.end-turn-button{width:100%;min-height:42px;margin-top:15px;border:1px solid #976c54;border-radius:2px;background:#5b34287a;color:#edc1a6;font-weight:700}.end-turn-button:not(:disabled):hover{background:#7e4631a6}.no-selection{padding:20px 6px;color:var(--muted);text-align:center}.no-selection svg{color:var(--gold)}.no-selection h2{margin:12px 0 8px;color:var(--text)}.no-selection p{font-size:12px}.tactical-log{position:absolute;bottom:18px;left:18px;width:min(510px,calc(100% - 390px));padding:10px 14px;border-left:2px solid var(--gold);background:#070e11c7;color:#c1b8a7;font-size:11px;line-height:1.6;pointer-events:auto}.camera-help{position:absolute;right:18px;bottom:9px;color:#e0d8c494;font-size:10px}.modal-backdrop{position:absolute;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#04090cc7;pointer-events:auto}.pause-panel{width:min(420px,100%);padding:30px;border:1px solid var(--line-bright);background:#111e22;box-shadow:0 20px 80px #000;text-align:center}.pause-panel h2{margin-bottom:10px;color:var(--gold-pale);font-size:42px}.pause-panel p{color:var(--muted);font-size:13px}.pause-panel>.primary-button{width:100%;margin:10px 0}.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.pause-grid button{display:flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:#18272a}.result-screen{position:absolute;z-index:40;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:radial-gradient(circle at center,#263f37e0,#050c0ff7 65%);text-align:center;pointer-events:auto}.result-screen.is-defeat{background:radial-gradient(circle at center,#4c2a27d9,#080b0efa 65%)}.result-sigil{display:grid;width:90px;height:90px;place-items:center;margin-bottom:28px;border:1px solid var(--line-bright);color:var(--gold);transform:rotate(45deg)}.result-sigil svg{transform:rotate(-45deg)}.result-screen h1{margin-bottom:16px;color:var(--gold-pale);font-size:clamp(38px,5vw,64px)}.result-screen p{max-width:620px;color:#c3b9a7;font-family:Georgia,serif;font-size:17px}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}@media(max-width:1050px){.brand-button small,.resource small{display:none}.primary-nav button{padding:0 9px}.resource-bar{gap:8px}.alchemy-layout,.shop-layout{grid-template-columns:1fr}.sales-panel{display:grid;grid-template-columns:180px 1fr;gap:16px}.sales-panel>p{display:none}.sales-panel>.primary-button{align-self:center}.sales-ledger{grid-column:1 / -1;margin-top:0}.overview-layout{grid-template-columns:1fr}.preparation-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.preparation-panel>.section-kicker,.preparation-panel>h2,.preparation-panel>p,.preparation-panel>.text-button{grid-column:1 / -1}.unit-roster{width:230px}.command-panel{width:295px}}@media(max-width:760px){body{font-size:14px}.title-screen{justify-content:flex-end;padding:30px 22px 38px;background:linear-gradient(0deg,#050c0ffc,#060d10d1 58%,#060d101a)}.title-crest{width:58px;height:58px;margin-bottom:20px}.title-crest svg{width:30px}.title-screen h1{font-size:43px}.title-screen>p{font-size:14px}.title-features{gap:10px;flex-direction:column}.title-actions{width:100%}.title-actions button{flex:1;padding:10px}.story-character{display:none}.story-screen{padding:14px}.dialogue-panel{padding:24px 20px}.dialogue-panel p{font-size:16px}.top-bar{height:58px;gap:8px;padding:0 8px}.brand-button>span:last-child,.resource-bar,.top-actions .square-button:nth-child(2){display:none}.brand-mark{width:32px;height:32px}.primary-nav{flex:1;justify-content:space-around}.primary-nav button{min-width:44px;min-height:44px;justify-content:center;padding:0 7px}.brand-button{min-width:40px;min-height:44px;justify-content:center}.primary-nav button span{display:none}.top-actions{gap:4px}.square-button{width:44px;height:44px}.market-button,.icon-text-button,.text-button,.cancel-button,.end-turn-button,.cache-button,.slot-select-label select{min-height:44px}.game-main-panel{inset:66px 8px 8px;padding:12px}.overview-hero{min-height:0;padding:22px}.overview-hero h1{font-size:35px}.preparation-panel{display:block;padding:20px}.inventory-ribbon-items{grid-template-columns:repeat(2,1fr)}.inventory-panel,.recipe-panel,.showroom-panel{padding:15px}.alchemy-layout{gap:12px}.item-grid{max-height:300px}.showroom-grid{grid-template-columns:1fr}.sales-panel{display:block;padding:16px}.sales-ledger{margin-top:18px}.tactical-objective{top:8px;min-width:0;width:calc(100% - 16px);padding:9px 11px}.tactical-objective strong{font-size:12px}.unit-roster{top:72px;right:8px;left:8px;width:auto;flex-direction:row;gap:6px}.unit-card{min-height:60px;flex:1;padding:7px}.unit-avatar,.unit-card-copy small,.unit-card-stats small:first-child{display:none}.unit-card-copy strong{font-size:14px}.command-panel{inset:auto 8px 42px;width:auto;max-height:42vh;padding:12px}.selected-unit-heading h2{font-size:20px}.command-hint{min-height:0;margin:7px 0}.health-line{margin:7px 0}.command-grid{grid-template-columns:repeat(4,1fr)}.command-grid button{min-height:45px;justify-content:center;padding:6px}.command-grid button>svg{display:none}.command-grid button>span{font-size:10px;text-align:center}.tactical-log{display:none}.camera-help{right:10px;bottom:12px}.target-list{max-height:130px;overflow-y:auto}.end-turn-button{margin-top:8px}.no-selection{padding:5px}.no-selection p{margin-bottom:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.min-h-screen{min-height:100vh}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.w-full{width:100%}.max-w-sm{max-width:24rem}.text-center{text-align:center}.text-4xl{font-size:2.25rem}.font-bold{font-weight:700}.text-muted-foreground{color:var(--muted)}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.ui-card{overflow:hidden;border:1px solid var(--line-bright);border-radius:5px;background:#0d181cf7;box-shadow:0 22px 80px #00000080}.ui-card-header{padding:24px 24px 8px}.ui-card-title{margin:0;color:var(--gold-pale);font-size:25px}.ui-card-content{padding:16px 24px 24px}.ui-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--gold);border-radius:3px;background:var(--gold);color:#132024;font-weight:700;text-decoration:none}.ui-button:hover{background:var(--gold-pale)}.ui-button-outline{background:transparent;color:var(--gold-pale)}.ui-button-ghost{border-color:transparent;background:transparent;color:var(--gold)}.ui-button-lg{min-height:48px;padding:12px 20px}.ui-button-sm{min-height:38px;padding:6px 12px}.cloud-save-controls{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border:1px solid rgba(131,185,170,.28);background:#0f1d1ed1;pointer-events:auto}.overview-layout>.cloud-save-controls{grid-column:1 / -1}.cloud-save-controls.is-compact{max-width:480px;background:#091416b8}.cloud-account-line{display:flex;align-items:center;gap:10px}.cloud-account-line>div{display:flex;min-width:0;flex-direction:column;gap:3px}.cloud-account-line strong{color:#c6ded2;font-family:Georgia,serif;font-weight:500}.cloud-account-line small{color:var(--muted);font-size:11px;line-height:1.45}.cloud-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid rgba(131,185,170,.38);color:var(--mint)}.cloud-sign-in{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:1px solid var(--mint);border-radius:3px;color:#d0e6dc;font-weight:700;text-decoration:none}.cloud-sign-in:hover{background:#83b9aa1f}.cloud-action-row{display:flex;gap:7px}.cloud-action-row button{display:inline-flex;min-height:44px;flex:1;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid rgba(131,185,170,.3);border-radius:3px;background:#172829;color:#d3e1d8;font-size:12px}.cloud-action-row button:not(:disabled):hover{border-color:var(--mint);background:#223635}.cloud-action-row .cloud-logout{flex:0 0 44px;padding:0}.cloud-sync-time{color:#91afa1;font-size:10px}.pause-panel>.cloud-save-controls{margin:14px 0;padding:12px;text-align:left}.game-main-panel,.command-panel,.item-grid,.target-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-command-toggle{display:none}@media(max-width:760px){.title-screen{padding-bottom:calc(38px + env(safe-area-inset-bottom))}.title-screen .cloud-save-controls{margin-top:16px;padding:12px}.title-features{margin-top:20px}.cloud-action-row button{min-height:44px;padding:8px 6px}.mobile-command-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:6px;margin-bottom:8px;border:1px solid var(--line);background:#172629;color:var(--gold-pale)}.command-panel:not(.is-expanded){max-height:112px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));overflow:hidden}.command-panel:not(.is-expanded) .collapsible-command-content{display:none}.command-panel:not(.is-expanded) .end-turn-button{margin-top:4px}.command-panel.is-expanded{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.overview-layout>.cloud-save-controls{grid-column:auto}}.persistence-quota-banner{position:fixed;z-index:10000;right:18px;bottom:18px;display:flex;max-width:min(560px,calc(100vw - 36px));align-items:center;gap:14px;padding:16px;border:1px solid var(--danger);background:#241718;color:#fff1e8;box-shadow:0 14px 50px #00000073;pointer-events:auto}.persistence-quota-banner>svg{flex:0 0 auto;color:var(--danger)}.persistence-quota-banner p{margin:4px 0 0;font-size:12px;line-height:1.45}.persistence-quota-banner button{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--gold-pale);background:transparent}@media(max-width:600px){.persistence-quota-banner{align-items:flex-start;flex-wrap:wrap}.persistence-quota-banner button{width:100%;justify-content:center}}.conflict-dialog-backdrop{position:fixed;z-index:9000;inset:0;display:grid;place-items:center;padding:20px;background:#03080ad1;pointer-events:auto}.conflict-dialog{width:min(560px,100%);padding:26px;border:1px solid var(--line-bright);background:#101c20;box-shadow:0 24px 80px #0000008c}.conflict-dialog h2{margin-bottom:12px;color:var(--gold-pale)}.conflict-dialog p{color:var(--muted)}.conflict-dialog-error{color:var(--danger)!important}.conflict-dialog-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.conflict-dialog-actions button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid var(--line-bright);background:#19272af2}.conflict-dialog-actions button:hover{background:#323d35fa}@media(max-width:640px){.conflict-dialog-actions{grid-template-columns:1fr}}.newer-save-screen{position:fixed;z-index:8500;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:28px;background:#091215;color:var(--text);text-align:center;pointer-events:auto}.newer-save-screen>svg{color:var(--gold)}.newer-save-screen h1{margin:0;color:var(--gold-pale)}.newer-save-screen p{max-width:520px;color:var(--muted)}.hex-keyboard-grid{position:absolute;z-index:2;inset:0;pointer-events:none}.hex-keyboard-cell{position:absolute;display:grid;width:56px;height:48px;place-items:center;padding:0;transform:translate(-50%,-50%);border:1px solid transparent;border-radius:45%;background:transparent;color:transparent;font-size:0;pointer-events:auto}.hex-keyboard-cell:hover,.hex-keyboard-cell:focus-visible{border-color:var(--gold-pale);background:#dfba7821;color:var(--gold-pale);font-size:10px;outline:2px solid var(--gold);outline-offset:2px}.hex-keyboard-cell[aria-disabled=true]{cursor:wait}.editor-tools-disclosure{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px}.editor-tools-toggle{display:inline-flex;align-items:center;gap:8px}
