:root{color:#f3e9c7;font-synthesis:none;background:#0b1118;font-family:Yu Gothic UI,Hiragino Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 45% -10%,#30495a,#0b1118 52%);min-width:320px;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.turn-confirm-overlay{z-index:10;background:#050a0e9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.turn-confirm-dialog{text-align:center;background:linear-gradient(145deg,#263840,#121d24);border:2px solid #e3c66e;border-radius:8px;width:min(380px,100%);padding:24px;box-shadow:0 20px 70px #0000008c}.turn-confirm-dialog p{color:#b8c7c0;font-size:.84rem}.turn-confirm-dialog h2{color:#fff0bd;margin-top:8px}.turn-countdown{color:#fff0b2;background:#4b3018;border:1px solid #d9a94f;border-radius:3px;margin-top:13px;padding:6px 12px;font-family:monospace;display:inline-block}.turn-confirm-actions{justify-content:center;gap:12px;margin-top:20px;display:flex}.turn-confirm-actions .action-button{min-width:112px}.app-shell{width:100%;margin:0;padding:10px clamp(8px,1.2vw,20px) 28px}.top-bar,.command-deck,.status-card,.battlefield-frame{border:1px solid #efd1874d;box-shadow:0 18px 48px #00000040,inset 0 0 36px #ffeaa409}.top-bar{background:linear-gradient(105deg,#152431,#101820 60%,#22303b);grid-template-columns:minmax(140px,auto) minmax(0,1fr);gap:10px;margin-bottom:10px;padding:8px 13px 11px;display:grid}.header-summary{justify-content:space-between;align-items:center;gap:16px;min-height:28px;display:flex}.game-title{color:#d5af69;letter-spacing:.14em;white-space:nowrap;align-items:baseline;gap:9px;font-family:monospace;font-size:.72rem;display:flex}.game-title small{color:#e9dfbd;letter-spacing:.04em;font-family:Yu Gothic UI,sans-serif;font-size:.74rem}.top-bar>.header-summary>.eyebrow,.top-bar>.header-summary>h1{display:none}h1,h2,h3,p{margin:0}h1{letter-spacing:.07em;font-family:Georgia,Yu Mincho,serif;font-size:clamp(1.6rem,3vw,2.35rem)}h2{font-size:clamp(1rem,2vw,1.35rem)}h3{letter-spacing:.06em;font-size:.96rem}.eyebrow{color:#d5af69;letter-spacing:.15em;margin-bottom:4px;font-size:.68rem}.phase-panel{color:#b8c7cb;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 15px;font-family:monospace;font-size:.8rem;display:flex}.phase-panel strong{color:#f5e1a2;font-size:.92rem}.faction-chip{border-radius:3px;padding:5px 8px;font-weight:700}.faction-chip.amber{color:#ffd58a;background:#5f3519}.faction-chip.azure{color:#9ce6ff;background:#173f58}.header-command{background:#0810147a;border:1px solid #e1c87c52;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 10px;padding:6px 10px;display:grid}.header-command-title{color:#e4c875;letter-spacing:.08em;font-family:monospace;font-size:.68rem}.header-command-guide{color:#cbd8c4;flex-wrap:wrap;align-items:center;gap:9px;font-size:.7rem;display:flex}.header-command-guide b{color:#ffe6a0;font-family:monospace;font-size:.67rem}.header-notice{color:#b7cab5;text-overflow:ellipsis;white-space:nowrap;grid-column:1/3;font-size:.66rem;overflow:hidden}.header-reset{grid-area:1/3/3;padding:5px 8px;font-size:.68rem}.header-phase-action{grid-area:1/2/3;min-height:32px;padding:5px 9px;font-size:.7rem}.base-gauge-board{background:#0811148f;border:1px solid #dfca8259;grid-template-columns:175px 1fr;align-items:center;gap:15px;width:100%;margin-top:8px;padding:8px 11px;display:grid}.base-gauge-title{color:#f2dc9f;gap:2px;font-family:monospace;font-size:.78rem;display:grid}.base-gauge-title small{color:#aebcae;font-family:Yu Gothic UI,sans-serif;font-size:.62rem;line-height:1.35}.base-gauge-tracks{gap:6px;display:grid}.base-gauge-track{grid-template-columns:100px 1fr 43px;align-items:center;gap:7px;font-family:monospace;font-size:.65rem;display:grid}.base-gauge-track strong{font-weight:700}.base-gauge-track.azure strong{color:#8ce5fc}.base-gauge-track.amber strong{color:#ffd187}.base-gauge-slots{grid-template-columns:repeat(40,minmax(4px,1fr));gap:2px;display:grid}.base-gauge-slots i{background:#18272b;border:1px solid #708170;height:9px;display:block}.base-gauge-track.azure .base-gauge-slots i.filled{background:#46b9dd;border-color:#b0eaf5}.base-gauge-track.amber .base-gauge-slots i.filled{background:#f4a33c;border-color:#ffe1a1}.base-gauge-track b{color:#f3e6bd;text-align:right;font-size:.76rem}.base-gauge-track b small{color:#aebcae;font-size:.6rem}.battlefield-frame{background:#152430;position:relative;overflow:hidden}.game-canvas{width:100%}.game-canvas canvas{display:block;width:100%!important;height:auto!important}.map-legend{color:#e8ddbd;background:#080e13cc;border:1px solid #f0dea440;flex-wrap:wrap;gap:12px;padding:7px 10px;font-family:monospace;font-size:.67rem;display:flex;position:absolute;bottom:13px;right:14px}.dot{border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.dot.amber{background:#f5a63a}.dot.azure{background:#4db7d8}.tactics-board{background:linear-gradient(110deg,#1e2932,#131d25);border:1px solid #efd1874d;margin-top:18px;padding:18px 20px;box-shadow:0 18px 48px #00000038,inset 0 0 36px #ffeaa409}.tactics-board-head{justify-content:space-between;align-items:end;gap:20px;display:flex}.tactics-board-head>p{color:#b8c7c0;max-width:520px;font-size:.78rem;line-height:1.55}.tactics-factions{grid-template-columns:1fr 1fr;gap:15px;margin-top:16px;display:grid}.tactics-faction{background:#0b161c94;border:1px solid #536a68;padding:13px}.tactics-faction.amber{border-top:3px solid #d98e34}.tactics-faction.azure{border-top:3px solid #3e9ec2}.tactic-card-grid{grid-template-columns:repeat(5,minmax(48px,1fr));gap:8px;margin-top:11px;display:grid}.tactic-card{color:#283032;text-align:center;background:linear-gradient(145deg,#f1e7c1,#bfa96f);border:1px solid #8f8b6b;min-height:76px;padding:7px 5px;position:relative;box-shadow:2px 3px #0000003d}.tactic-card.unconfigured{color:#ddd1a9;background:linear-gradient(145deg,#625b51,#3e3e3b)}.tactic-card span{font-size:.62rem;display:block}.tactic-card strong{margin-top:8px;font-family:Yu Mincho,serif;font-size:1rem;display:block}.tactic-card i{color:#916d2d;font-size:.62rem;font-style:normal;position:absolute;bottom:4px;right:5px}.command-deck{background:linear-gradient(110deg,#172631,#111a21);margin-top:18px;padding:20px}.command-deck,.status-grid{display:none}.command-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.reset-button{color:#c9d2c9;background:0 0;border:1px solid #697c75;padding:8px 12px}.reset-button:hover{color:#f8e7af;border-color:#e5c878}.selection-guide{color:#d9e5d1;background:#233c397a;border:1px solid #bad2ac47;flex-wrap:wrap;align-items:center;gap:9px;min-height:56px;margin-top:16px;padding:10px 12px;font-size:.82rem;display:flex}.step-badge{color:#fff0b7;background:#62451d;border:1px solid #e7c86d;border-radius:50%;place-items:center;width:21px;height:21px;font-family:monospace;font-weight:700;display:grid}.step-arrow{color:#e2c476}.selection-state{color:#ffe6a0;background:#18282a;border:1px solid #ecd79666;margin-left:auto;padding:5px 8px;font-family:monospace;font-size:.76rem}.action-button{color:#e7f1dc;background:#1d3b3c;border:1px solid #587a78;min-height:46px;padding:9px 13px;transition:transform .12s,background .12s}.action-button:not(:disabled):hover{background:#295154;transform:translateY(-1px)}.action-button.primary{color:#fff0bb;background:linear-gradient(#905d25,#593815);border-color:#ebc76a}.action-button.primary:not(:disabled):hover{background:linear-gradient(#a76d29,#6f4717)}.phase-action{color:#cdd5d2;align-items:center;gap:14px;min-height:65px;margin-top:16px;display:flex}.notice{color:#b7cab5;min-height:1.25rem;margin-top:13px;font-size:.82rem}.status-grid{display:none}.status-card{background:#121d24;min-height:130px;padding:16px}.status-card.amber{border-top:3px solid #d98e34}.status-card.azure{border-top:3px solid #3e9ec2}.status-card.log-card{border-top:3px solid #b9ad7c}dl{margin:12px 0 0}dl div{border-bottom:1px solid #e7daa81f;justify-content:space-between;padding:4px 0;display:flex}dt{color:#9cadad;font-size:.8rem}dd{color:#f2e2ad;margin:0;font-family:monospace}.log-card ol{color:#b7c4be;margin:10px 0 0;padding-left:17px;font-size:.74rem;line-height:1.55}@media (width<=720px){.header-summary,.command-head,.tactics-board-head{flex-direction:column;align-items:flex-start}.phase-panel{justify-content:flex-start}.base-gauge-board{grid-template-columns:1fr;gap:6px}.base-gauge-track{grid-template-columns:86px 1fr 37px;font-size:.58rem}.base-gauge-slots{gap:1px}.selection-state{width:100%;margin-left:0}.tactics-factions,.status-grid{grid-template-columns:1fr}.map-legend{justify-content:center;bottom:7px;left:9px;right:9px}}
