@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#f0f6f8;background:#142d3a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold: #e5bf70;--muted: #a9bdc6;--heading: "Barlow Condensed", sans-serif;--mono: "IBM Plex Mono", monospace;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:350px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:default;opacity:.38}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid #ffe8a3;outline-offset:4px}button,select{transition:background .16s,opacity .16s,color .16s}button:hover:not(:disabled){filter:brightness(1.12)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0}em{font-style:normal;color:var(--gold)}.app-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.topbar{height:72px;min-height:72px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#142924;border-bottom:1px solid #415044;z-index:10;box-shadow:0 2px 15px #143a4c15}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:34px;height:39px;background:var(--gold);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);position:relative}.brand-mark:before{content:"";position:absolute;inset:2px;background:#142924;clip-path:inherit}.brand-mark span{position:relative;display:block;text-align:center;font:700 28px/34px var(--heading);color:var(--gold)}.brand-word{font:700 30px/.85 var(--heading);letter-spacing:1px}.brand-word>span{display:block;font:10px var(--mono);letter-spacing:4.5px;margin-top:7px;color:var(--gold)}.brand-edition{font:8px/1.8 var(--mono);letter-spacing:1.5px;color:#92a58d;margin-left:12px;padding-left:18px;border-left:1px solid #394b3d}.header-round{display:flex;align-items:center;gap:8px;font:9px var(--mono);color:#a6b8ab;letter-spacing:1px}.header-round>b{font:20px var(--heading);color:#e6e7cf;letter-spacing:.5px}.header-round>i{height:14px;width:1px;background:#425544;margin:0 10px}.live-dot{width:5px;height:5px;border-radius:50%;background:#94c390}.header-actions{display:flex;align-items:center;gap:6px}.new-game{display:flex;gap:7px;align-items:center;font-size:11px;color:#e3cc99;border:1px solid #68704d;border-radius:5px;min-height:34px;padding:7px 11px;margin-right:10px}.new-game:hover{background:#3c4328}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;color:#a8bbc1}.icon-btn:hover,.icon-btn.is-on{background:#ffffff10;color:var(--gold)}.play-surface{padding:0;position:relative;flex:1;min-height:0;overflow:hidden;background:#87bfd6}.map-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 70% 55%,#a8d5e5 0,#89c2dc 52%,#73b2ce)}.brazil-map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.brazil-map:active{cursor:grabbing}.map-world{will-change:transform}.state-shape{cursor:pointer;stroke-linejoin:round;transition:filter .15s;vector-effect:non-scaling-stroke}.state-shape:hover,.state-shape:focus-visible{filter:brightness(1.1);stroke:#fff}.state-shape.selected{stroke:#fff3b6;stroke-width:3.5px}.state-shape.targeted{stroke:#173d4c;stroke-width:3px;stroke-dasharray:5 3}.state-abbr{font:600 12px DM Sans,sans-serif;fill:#fff;paint-order:stroke;stroke:#1b4c5f55;stroke-width:2px;stroke-linejoin:round}.army-marker{cursor:pointer}.army-marker:hover rect{fill:#fff4cc;stroke:#183e52;stroke-width:2px}.army-number{font:700 17px DM Sans,sans-serif;fill:#203c4b}.geographic-labels{font:500 9px var(--mono);letter-spacing:2px;fill:#63796d;opacity:.65}.geographic-labels .ocean-label{fill:#366f90;font:500 11px var(--mono);letter-spacing:4px;opacity:.65}.map-tools{position:absolute;left:23px;bottom:23px;display:flex;flex-direction:column;background:#18394be6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff38;border-radius:12px;padding:6px;box-shadow:0 5px 22px #183c4f22;gap:2px}.map-tools>button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#e2f3f8}.map-tools>button:hover,.map-tools>button.active{background:#ffffff1c;color:#ffda8e}.map-tools>i{height:1px;background:#ffffff28;margin:3px 6px}.map-tools>small{font:8px var(--mono);text-align:center;color:#afc9d7;padding:5px 0 3px}.map-credit{position:absolute;bottom:12px;right:19px;font-size:8px;color:#326783;opacity:.8;pointer-events:none}.map-tooltip{position:absolute;left:50%;top:23px;transform:translate(-50%);display:flex;align-items:center;gap:10px;border-radius:7px;background:#15384dec;border:1px solid #ffffff45;padding:9px 13px;font-size:11px;box-shadow:0 5px 25px #1b4c5922;pointer-events:none;white-space:nowrap}.map-tooltip>span{font-weight:700}.map-tooltip>b{color:#bcd0dc;font-weight:400;border-left:1px solid #ffffff22;padding-left:10px}.glass{background:#173547e8;border:1px solid #ffffff3b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 30px #16435b24;border-radius:12px}.status-corner{position:absolute;top:24px;left:24px}.turn-badge{display:flex;gap:11px;align-items:center;padding:10px 12px;text-align:left;min-width:155px}.turn-symbol{height:34px;width:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:inset 0 0 0 1px #fff6;color:#fff}.turn-badge strong{font-size:12px;font-weight:600}.turn-badge small{display:block;color:#bbd0d9;font-size:10px;margin-top:4px}.turn-badge>svg{margin-left:auto;color:#99b8c8;width:14px}.thinking-dot{height:5px;width:5px;background:var(--gold);border-radius:50%;animation:blink 1.2s infinite}.overlay-toolbar{position:absolute;top:24px;right:24px;display:flex;flex-direction:row;gap:4px;padding:6px;border:1px solid #ffffff55;border-radius:12px;background:#173547cf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 30px #16435b18}.overlay-toolbar>button{height:36px;width:36px;display:flex;align-items:center;justify-content:center;color:#dbeff5;border-radius:7px}.overlay-toolbar>button:hover,.overlay-toolbar>button.active{background:#fff2;color:#ffe1a0}.bottom-controls{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 176px);pointer-events:none}.bottom-controls>*{pointer-events:auto}.phase-dock{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 10px 20px;min-height:61px;border-radius:12px}.phase-steps{display:flex;align-items:center;gap:15px}.phase-step{display:flex;align-items:center;gap:7px;color:#94b2c1;font-size:11px;white-space:nowrap}.phase-step.active>svg:first-child{filter:drop-shadow(0 0 5px #ffe1a144)}.phase-arrow{margin-left:7px;color:#7893a4;opacity:.6}.advance-button{background:#f0c875;color:#293a3c;display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;font-weight:700;border-radius:7px;padding:11px 14px;min-height:39px;white-space:nowrap}.advance-button:disabled{background:#bed2d9;color:#234453;opacity:.45}.action-tray{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 12px;max-width:610px;min-height:58px;border-radius:10px}.selection-label{display:flex;flex-direction:column;min-width:40px;gap:3px}.selection-label>b{font-size:13px;letter-spacing:.7px}.selection-label>small{color:#bed2d9;font-size:9px}.quantity{display:flex;align-items:center;gap:4px;background:#0a293b88;border:1px solid #7895a655;border-radius:7px;padding:3px;min-height:35px}.quantity>button:not(.all-units){display:flex;align-items:center;justify-content:center;width:26px;height:28px;border-radius:4px}.quantity button:hover{background:#fff1}.quantity input{appearance:textfield;-moz-appearance:textfield;width:32px;text-align:center;border:0;background:none;font-size:13px;font-weight:700;color:#f4f7ed;outline-offset:0}.quantity input::-webkit-inner-spin-button,.quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.all-units{font-size:10px;color:#edd39c;border-left:1px solid #ffffff24;padding:5px 8px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:10px 15px;background:linear-gradient(110deg,#f0cf88,#e4b95f);color:#273b3e;border:1px solid #f4d697;border-radius:6px;font-size:11px;font-weight:700}.primary:disabled{opacity:.4;filter:saturate(.3)}.full{width:100%}.secondary{border:1px solid #7b93a4;border-radius:5px;padding:10px 15px;font-size:11px}.fortify-control{border-left:1px solid #ffffff25;border-radius:0;width:27px}.selection-pair{display:flex;align-items:center;gap:13px;color:#c7dbe3}.selection-pair>span{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap;min-width:34px}.selection-pair b{font-size:14px;color:#f5f9eb}.selection-pair small{border-radius:5px;background:#ffffff13;padding:3px 5px;color:#e7f3e8;font:10px var(--mono)}.selection-pair>svg{color:#efcb8a}.tactic-control{display:flex;align-items:center;gap:5px;border-left:1px solid #fff2;padding-left:12px;color:#e7c889}.tactic-control select{background:transparent;border:0;font-size:10px;max-width:120px;color:#d5e2e8;padding:6px 0}.tactic-control select>option{background:#183b4c}.action-hint{width:100%;text-align:center;font-size:10px;color:#bdd1da;margin-top:-3px}.tray-note{display:flex;align-items:center;gap:7px;color:#d7e7e8;font-size:11px;padding:4px 12px}.battle-result{min-width:310px;padding:11px 13px 10px;border-radius:10px;position:relative}.result-top{display:flex;align-items:center;gap:10px}.result-top>strong{display:flex;align-items:center;gap:7px;flex:1;font-size:11px;color:#ffe0a4}.text-icon{display:inline-flex;align-items:center;justify-content:center;color:#abc6d1;padding:2px}.text-icon:hover{color:#fff}.result-rolls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:9px 0}.result-rolls>span{display:flex;align-items:center;gap:1px}.result-rolls b{font-family:Arial,sans-serif;font-weight:400;font-size:30px;line-height:32px;display:inline-block}.attack-dice b{color:#f0cb7b}.defense-dice b{color:#ed8e88}.result-rolls small{font:12px var(--mono);margin-left:7px;color:#b7cdd7}.result-rolls>svg{color:#83a9bc}.repeat-button{width:100%;display:flex;justify-content:center;align-items:center;gap:7px;padding:7px;background:#ffffff10;border:1px solid #ffffff2e;border-radius:5px;color:#ecd39c;font-size:10px}.rolling .result-rolls b{animation:dieRoll .45s ease}.info-drawer{position:absolute;right:24px;top:81px;bottom:24px;width:300px;max-width:calc(100% - 112px);z-index:6;display:flex;flex-direction:column;animation:drawerIn .18s ease}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 15px 15px 20px;border-bottom:1px solid #ffffff21}.drawer-heading h2{font:500 25px var(--heading);letter-spacing:.3px}.drawer-body{padding:19px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#6c8e9e transparent}.player-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #ffffff17}.player-row>span:first-child{height:36px;width:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;box-shadow:inset 0 0 0 1px #fff5}.player-row>div{flex:1}.player-row strong{display:flex;align-items:center;gap:7px;font-size:13px}.player-row strong small{font-size:8px;color:#f2d490;border:1px solid #d3c08155;border-radius:3px;padding:2px 3px}.player-row p{font-size:10px;color:#bdd1d9;margin-top:5px}.player-row .player-turn{height:6px;width:6px;border-radius:50%;background:#f0ce87}.drawer-emblem{height:60px;display:flex;align-items:center;color:#edc87b}.drawer-body h3{font:500 29px/1.15 var(--heading);margin:0 0 20px}.mission-metrics{display:flex;justify-content:space-between;font-size:11px;color:#b6d0dc;gap:12px}.mission-metrics b{font:30px var(--heading);color:#ffe0a1}.drawer-body hr{border:0;border-top:1px solid #ffffff22;margin:23px 0}.drawer-body h4{font-size:11px;font-weight:500;color:#e1e9e2;margin:19px 0 12px}.region-row{display:flex;align-items:center;gap:8px;font-size:11px;padding:10px 0;color:#d4e4ea}.region-row>span{height:6px;width:6px;border-radius:50%}.region-row>small{margin-left:auto;font:10px var(--mono);color:#a6c3d1}.region-row>b{color:#ebce91;font:12px var(--mono);margin-left:7px}.detail-region{font-size:10px;color:#b2cdda;display:block;margin-bottom:8px}.detail-owner{font-size:13px;font-weight:600;margin-top:-10px}.drawer-body dl{padding:12px 0;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;margin:22px 0}.drawer-body dl>div{display:flex;justify-content:space-between;font-size:11px;gap:14px;padding:7px 0}.drawer-body dt{color:#b1cbd7}.drawer-body dd{margin:0}.territory-row{width:100%;display:flex;align-items:center;gap:8px;text-align:left;font-size:10px;border:1px solid transparent;border-radius:4px;padding:10px 6px}.territory-row:hover,.territory-row.active{background:#fff1;border-color:#fff2}.territory-row>span{height:7px;width:7px;border-radius:50%}.territory-row>strong{font:10px var(--mono)}.territory-row>b{margin-left:auto;font:11px var(--mono)}.activity-log{list-style:none;padding:0;margin:15px 0 25px}.activity-log li{font-size:11px;color:#c6dae1;border-bottom:1px solid #ffffff1b;padding:12px 0;line-height:1.7}.log-meta{font:10px var(--mono);color:#b0cbd6}.drawer-muted{font-size:10px;line-height:1.8;color:#aec8d6}.save-warning{position:absolute;left:20px;top:96px;background:#f4ca80;color:#233c44;padding:7px 10px;border-radius:5px;font-size:10px}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%);background:#f7deaa;color:#234150;border:1px solid #fff4d0;box-shadow:0 5px 25px #1b435544;max-width:90vw;padding:12px 16px;display:flex;align-items:center;gap:14px;font-size:11px;z-index:30;border-radius:7px}.toast .text-icon{color:#395a64}.modal{background:#173344;color:#ecf3ef;border:1px solid #7896a7;border-radius:12px;padding:0;width:calc(100vw - 30px);max-width:520px;max-height:90dvh;box-shadow:0 25px 100px #061b2c88;scrollbar-width:thin;scrollbar-color:#7895a6 transparent}.modal.wide{max-width:740px}.modal::backdrop{background:#0a233aa3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-inner{padding:31px 34px;position:relative}.modal-close{position:absolute;right:13px;top:12px}.eyebrow{font:9px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:8px}.gold{color:var(--gold)}.modal h2{font:500 47px/1.02 var(--heading);margin:19px 0 17px}.modal-description{font-size:11px;line-height:1.8;color:#b7cdd7;margin-bottom:22px}.field-label{font:9px var(--mono);color:#e3c07d;display:flex;align-items:center;gap:8px;margin:25px 0 12px}.field-label>span{color:#cbdce4}.field-label>small{margin-left:auto;font-size:8px;font-family:DM Sans,sans-serif;color:#a1c0d1}.party-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.party-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:14px;border:1px solid #7893a455;border-radius:6px;text-align:left;background:#102b3c88}.party-choice.chosen{border-color:var(--party);background:color-mix(in srgb,var(--party) 13%,#142f40)}.party-symbol{font-size:25px;height:30px;color:var(--party)}.party-choice>strong{font:600 25px var(--heading);margin-top:9px}.map-color-key{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:10px;color:#bfd3df}.map-color-key i,.lobby-color-key{display:inline-block;width:12px;height:12px;border:1px solid #ffffff70;border-radius:50%;flex-shrink:0}.help-source{font-size:12px;color:#aac4d2;line-height:1.7}.help-source a{color:#f3ce79}.phase-briefing .eyebrow{display:flex;justify-content:center;align-items:center;gap:8px}.phase-briefing h2{max-width:420px;margin-inline:auto}.phase-briefing p{line-height:1.7;max-width:390px;margin-inline:auto}.phase-briefing .primary{margin-top:24px}.briefing-note{font-size:13px;color:#edcf8e;margin:20px 0}.briefing-armies{display:flex;flex-direction:column;align-items:center;margin:20px 0;gap:4px}.briefing-armies strong{font:600 68px/1 var(--heading);color:#ffdf8c}.briefing-armies span{font-size:14px;color:#bdd2df}.turn-notice{position:absolute;inset:0;z-index:32;display:grid;place-items:center;pointer-events:none;padding:24px}.turn-notice-card{display:flex;align-items:center;gap:22px;width:min(430px,100%);padding:26px 32px;border:1px solid #ffffff33;border-top:3px solid var(--turn-color);border-radius:22px;background:linear-gradient(130deg,#123548f5,#0d2739f5);box-shadow:0 20px 70px #071d4270,0 0 36px color-mix(in srgb,var(--turn-color) 25%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:turn-arrive .35s cubic-bezier(.2,.8,.2,1) both}.turn-notice-card .party-mark{width:64px;height:60px;flex-shrink:0}.turn-notice-card span{font:500 10px var(--mono);letter-spacing:1.5px;color:#bdd0db}.turn-notice-card strong{display:block;font:600 clamp(38px,5vw,52px)/1.1 var(--heading);color:#fff5d8;margin:6px 0}.turn-notice-card p{margin:0;font-size:14px;color:#c6dde8}.turn-notice.is-leaving .turn-notice-card{animation:turn-leave .4s ease both}@keyframes turn-arrive{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes turn-leave{to{opacity:0;transform:translateY(-8px) scale(1.02)}}@media(max-width:540px){.turn-notice-card{padding:22px;gap:15px}.turn-notice-card .party-mark{width:46px;height:46px}}@media(prefers-reduced-motion:reduce){.turn-notice-card,.turn-notice.is-leaving .turn-notice-card{animation:none}.turn-notice.is-leaving{opacity:0}}.party-choice>small{font-size:8px;color:#b2cbd7;line-height:1.6;min-height:27px;margin-top:5px}.chosen-check{position:absolute;right:11px;top:10px;color:var(--party)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-grid>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:17px 15px;border:1px solid #6d8c9e66;border-radius:6px;position:relative;color:#bfced6}.mode-grid>button.chosen{border-color:#d7b366;background:#a78d3b13;color:#f0cf8a}.mode-grid strong{font:500 23px var(--heading);color:#e1ebea;margin:10px 0 7px}.mode-grid small{font-size:10px;color:#b3cad6;line-height:1.7}.tag{font:6px var(--mono);letter-spacing:.5px;padding:4px;border:1px solid #c7bc6d77;color:#d3c997;border-radius:3px;position:absolute;top:12px;right:12px}.setup-selects{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.setup-selects label{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px;color:#c7d9e0}.setup-selects select{width:100%;background:#102d40;border:1px solid #6a91a8;border-radius:5px;color:#dbe9ec;padding:10px;font-size:10px;margin-top:4px}.replace-note{color:#e1c48a;font-size:10px;margin:16px 0;line-height:1.6}.fiction-note{font-size:8px;color:#a2bfcc;text-align:center;line-height:1.8;margin-top:13px}.help-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.help-phases article{position:relative;border:1px solid #718b9d55;border-radius:6px;padding:15px}.help-phases article>span{position:absolute;top:10px;right:10px;font:10px var(--mono);color:#7ea2b9}.help-phases article>svg{color:#eccb8c}.help-phases h3{font:500 25px var(--heading);margin:11px 0 8px}.help-phases p{font-size:10px;line-height:1.9;color:#b8cfdc}.help-rule{display:flex;gap:13px;border-top:1px solid #7399ac44;padding:18px 0}.help-rule>svg{width:19px;color:#e1c587}.help-rule h3{font-size:12px;font-weight:500;margin-bottom:7px}.help-rule p{font-size:10px;color:#b4ceda;line-height:1.9}.help-tip{display:flex;align-items:flex-start;gap:11px;font-size:10px;line-height:1.8;background:#d8c2810c;border:1px solid #b6ad7466;padding:14px;border-radius:5px;color:#d3d6ba;margin-top:15px}.help-tip>svg{margin-top:2px}.outcome-icon{color:var(--gold);margin:12px 0 25px}.dice-scene,.dice-loading{position:relative;width:100%;height:230px;background:radial-gradient(ellipse at center,#4e6e7a44,transparent 65%)}.dice-loading{display:flex;align-items:center;justify-content:center;font-size:11px;color:#d6c6a6}.dice-scene canvas{display:block}.dice-scene-label{position:absolute;left:8px;font:8px var(--mono);letter-spacing:1.2px;pointer-events:none}.dice-scene-label.defense{top:60px;color:#ef9f98}.dice-scene-label.attack{bottom:55px;color:#e4c179}.dice-fallback{height:100%;display:flex;align-items:center;justify-content:center;gap:5px;color:#e9c783}.dice-fallback>span{font-size:45px}.battle-dice-values{display:flex;justify-content:space-between;font:8px var(--mono);color:#b9d0da;padding:14px 0;margin-bottom:16px;border-top:1px solid #638da355}.battle-dice-values b{display:block;color:#f1cc86;font-size:13px;margin-top:7px}.battle-dice-values>span:last-child{text-align:right}@keyframes blink{50%{opacity:.3}}@keyframes dieRoll{0%{transform:translateY(-4px) rotate(-12deg);opacity:.4}45%{transform:translateY(3px) rotate(10deg)}to{transform:none;opacity:1}}@keyframes drawerIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@media(max-width:1100px){.topbar{padding:0 22px;height:65px;min-height:65px}.brand-edition{display:none}.header-round{font-size:8px}.header-round>i{margin:0 5px}.new-game{margin-right:5px}.phase-dock{gap:17px;padding-left:16px}.phase-steps{gap:10px}.phase-step{font-size:10px;gap:6px}.phase-arrow{margin-left:2px}.bottom-controls{max-width:calc(100% - 150px)}.status-corner{top:19px;left:19px}.overlay-toolbar{top:19px;right:19px}.map-tools{left:19px;bottom:19px}.info-drawer{right:19px;top:77px;bottom:19px}.action-tray{max-width:550px;gap:9px}.tactic-control{padding-left:9px}.tactic-control select{max-width:106px;font-size:9px}}@media(max-width:760px){.topbar{padding:0 15px;height:61px;min-height:61px;gap:13px}.brand-mark{width:29px;height:34px}.brand-mark span{font-size:24px;line-height:29px}.brand-word{font-size:26px}.brand-word>span{font-size:8px;letter-spacing:4px}.header-round{display:none}.header-actions{margin-left:auto;gap:3px}.new-game{font-size:10px;min-height:32px;padding:6px 9px}.header-actions .icon-btn{width:30px;height:32px}.header-actions .fullscreen-button{display:none}.turn-badge{min-width:141px;padding:8px 10px;gap:9px}.turn-badge strong{font-size:11px}.turn-badge small{font-size:9px}.turn-symbol{height:30px;width:30px;font-size:21px}.overlay-toolbar{padding:4px;gap:1px}.overlay-toolbar>button{width:32px;height:33px}.status-corner{top:14px;left:14px}.overlay-toolbar{top:14px;right:14px}.info-drawer{top:65px;right:14px;bottom:14px;width:290px;max-width:calc(100% - 28px)}.drawer-heading{padding:11px 11px 11px 17px}.drawer-body{padding:15px}.map-tools{left:14px;bottom:16px;padding:4px;gap:0}.map-tools>button{height:30px;width:30px}.map-tools>small{font-size:7px}.map-credit{font-size:6px;right:11px;bottom:6px}.map-tooltip{top:80px;font-size:10px;padding:8px 11px;z-index:2;gap:7px}.map-tooltip>b{font-size:9px;padding-left:7px}.bottom-controls{max-width:calc(100% - 110px);bottom:16px;left:auto;right:14px;transform:none;align-items:stretch;width:min(520px,calc(100% - 80px));gap:8px}.phase-dock{padding:9px 9px 9px 13px;gap:10px;min-height:56px}.phase-steps{flex:1;justify-content:space-between;gap:6px}.phase-step{gap:5px;font-size:9px}.phase-step>svg:first-child{width:15px}.phase-arrow{display:none}.advance-button{font-size:10px;min-height:35px;padding:9px 11px;gap:8px}.action-tray{gap:9px;min-height:52px;padding:9px 10px;border-radius:9px}.selection-label{min-width:28px}.selection-label>b{font-size:12px}.selection-label>small{font-size:8px}.action-tray .primary{min-height:35px;font-size:10px;padding:8px 11px}.selection-pair{gap:8px}.selection-pair>span{font-size:10px;gap:5px;min-width:25px}.selection-pair b{font-size:12px}.selection-pair small{font-size:8px}.tactic-control select{max-width:98px;font-size:9px}.tactic-control>svg{width:12px}.tactic-control{padding-left:8px;gap:3px}.battle-result{min-width:0;max-width:360px;align-self:flex-end;width:100%}.result-top strong{font-size:10px}.result-rolls{gap:9px;margin:6px 0}.result-rolls b{font-size:27px;line-height:29px}.result-rolls small{font-size:10px}.result-rolls>svg{width:13px}.tray-note{font-size:10px;padding:3px 6px}}@media(max-width:550px){.header-actions{gap:0}.new-game{font-size:0;width:30px;border:0;margin-right:1px;padding:0;justify-content:center}.new-game>span{display:none}.header-actions .icon-btn{width:30px}.brand{gap:7px}.topbar{padding:0 13px}.bottom-controls{max-width:calc(100% - 72px);right:10px;bottom:12px;width:calc(100% - 74px)}.phase-step>span{display:none}.phase-step.active>span{display:block;font-size:9px}.phase-steps{gap:8px;justify-content:flex-start}.phase-step{gap:4px}.phase-step>svg:first-child{width:15px}.phase-dock{gap:8px;padding:8px;min-height:54px}.advance-button{font-size:9px;padding:9px;gap:6px}.advance-button>svg{width:14px}.status-corner{top:12px;left:12px}.overlay-toolbar{right:10px;top:12px}.turn-badge{padding:7px 9px;min-width:133px}.turn-badge>svg{width:12px}.map-tools{left:10px;bottom:12px;padding:3px;border-radius:10px}.map-tools>button{width:30px;height:29px}.map-tools>button>svg{width:16px}.map-tools>small{font-size:6px;padding:3px 0}.map-tools>i{margin:3px 6px}.action-tray{gap:8px;padding:9px 8px;justify-content:space-between}.action-tray .selection-label>small{display:none}.action-tray .selection-label{min-width:22px}.quantity{gap:0;min-height:32px;padding:2px}.quantity>button:not(.all-units){width:22px;height:26px}.quantity>button>svg{width:12px}.quantity input{width:23px;font-size:12px}.all-units{font-size:8px;padding:4px 5px}.action-tray .primary{min-height:34px;font-size:9px;padding:8px 9px;gap:5px}.action-tray .primary>svg{width:14px}.action-tray>.fortify-control{width:20px;min-width:20px;padding:0}.action-tray>.fortify-control>svg{width:17px}.selection-pair{gap:6px}.selection-pair small{font-size:8px;padding:2px 3px}.selection-pair b{font-size:11px}.selection-pair>svg{width:12px}.selection-pair>span{font-size:9px;gap:4px;min-width:21px}.tactic-control{order:3;padding-left:0;border-left:0;margin-left:auto}.tactic-control select{font-size:8px;max-width:110px;padding:2px 0}.action-hint{order:4;font-size:9px;text-align:left;margin-top:-3px;width:auto;flex:1}.action-tray:has(.tactic-control) .selection-pair{flex:1}.action-tray:has(.action-hint) .action-hint{width:100%}.info-drawer{max-width:calc(100% - 20px);right:10px;top:65px;bottom:12px;z-index:8}.drawer-heading h2{font-size:24px}.battle-result{padding:9px 10px}.result-top{gap:7px}.result-top>strong{font-size:10px}.result-rolls b{font-size:26px}.repeat-button{font-size:9px;padding:6px}.result-rolls>span{gap:0}.result-rolls small{margin-left:4px}.map-tooltip{max-width:calc(100% - 80px);font-size:9px;gap:6px;top:75px;white-space:normal}.map-tooltip>b{font-size:8px}.modal{width:calc(100vw - 22px);max-height:93dvh}.modal-inner{padding:29px 19px}.modal h2{font-size:41px}.modal .eyebrow{font-size:7px;letter-spacing:.6px}.modal-description{font-size:10px}.field-label{font-size:7px;gap:6px;margin:23px 0 11px}.field-label>small{font-size:6px}.party-grid{gap:6px}.party-choice{padding:12px 10px}.party-choice>strong{font-size:22px}.party-choice>small{font-size:6px;min-height:29px}.party-symbol{font-size:23px}.chosen-check{width:12px;right:8px;top:9px}.mode-grid{gap:7px}.mode-grid>button{padding:14px 11px}.mode-grid strong{font-size:21px}.mode-grid small{font-size:8px}.tag{font-size:4px;right:7px;top:10px;padding:3px}.setup-selects{gap:10px}.setup-selects label{font-size:9px}.setup-selects select{font-size:8px;padding:10px 5px}.fiction-note{font-size:7px}.help-phases{grid-template-columns:1fr;gap:8px}.help-phases article{display:grid;grid-template-columns:22px 1fr;column-gap:10px;padding:13px}.help-phases article>svg{grid-column:1;grid-row:1}.help-phases h3{grid-column:2;margin:0 0 6px;font-size:22px}.help-phases p{grid-column:2;font-size:10px}.help-tip{font-size:10px}.toast{font-size:10px;padding:10px 13px}.save-warning{font-size:8px;top:83px;left:12px}}@media(max-height:620px)and (min-width:761px){.topbar{height:58px;min-height:58px}.bottom-controls{bottom:12px}.action-tray{padding:7px 10px;min-height:48px}.phase-dock{min-height:50px;padding:7px 10px}.battle-result{position:absolute;right:-12px;bottom:135px;min-width:280px}.status-corner,.overlay-toolbar{top:14px}.map-tools{bottom:12px}}@media(max-width:550px){.overlay-toolbar>button{width:40px;height:40px}.info-drawer{top:69px}.header-actions .icon-btn,.new-game{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.primary,.advance-button{min-height:46px;padding:12px 18px;border-radius:12px;font-size:15px;box-shadow:0 3px #a17c39,0 7px 18px #071c2720;transition:transform .16s,box-shadow .16s,background .16s}.primary:hover:not(:disabled),.advance-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px #a17c39,0 10px 20px #071c2728}.primary:active:not(:disabled),.advance-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #a17c39}.primary:disabled,.advance-button:disabled{box-shadow:none}.phase-dock{border-radius:18px;padding:10px 12px 10px 22px}.phase-step{font-size:14px;gap:8px}.phase-step.active{color:#ffe1a1}.action-tray{border-radius:16px;max-width:740px;gap:14px;padding:12px 15px}.selection-label>b,.selection-pair b{font-size:17px}.selection-label>small,.selection-pair small{font-size:12px}.selection-pair>span{font-size:14px}.quantity{border-radius:11px;padding:4px}.quantity>button:not(.all-units){width:32px;height:34px;border-radius:8px}.quantity input{font-size:17px;width:33px}.all-units{font-size:13px;padding:7px 9px}.tactic-control select{font-size:13px;max-width:175px}.tray-note,.action-hint{font-size:13px;line-height:1.5}.turn-badge{border-radius:16px}.turn-badge strong{font-size:15px}.turn-badge small{font-size:12px}.overlay-toolbar{border-radius:14px}.overlay-toolbar>button,.map-tools>button{border-radius:9px;min-width:40px;min-height:40px}.map-tools{border-radius:14px}.new-game{font-size:13px;border-radius:10px}.icon-btn{border-radius:10px}.drawer-body{font-size:14px}.drawer-body p{font-size:13px;line-height:1.7}.drawer-body small,.drawer-body dt,.drawer-body dd,.territory-row,.log-entry{font-size:12px}.drawer-heading h2{font-size:30px}.modal-description,.help-phases p,.help-rule p,.help-tip,.mode-grid small,.replace-note,.setup-selects label,.setup-selects select{font-size:13px}.party-choice>small,.fiction-note{font-size:11px}.field-label{font-size:11px}.battle-result{border-radius:16px;padding:15px 18px;animation:resultIn .24s ease-out both}.result-top>strong{font-size:14px}.repeat-button{font-size:14px;min-height:42px;border-radius:10px}.result-rolls small{font-size:13px}.state-shape{transition:fill .6s ease,filter .2s}.bottom-controls,.status-corner,.overlay-toolbar,.map-tools{transition:opacity .22s ease,transform .22s ease}.is-battling .bottom-controls,.is-battling .status-corner,.is-battling .overlay-toolbar,.is-battling .map-tools{opacity:0;pointer-events:none}.is-battling .map-stage{pointer-events:none}.action-tray{animation:trayIn .2s ease-out both}.modal[open]{animation:resultIn .22s ease-out both}.modal::backdrop{animation:veilIn .22s ease-out both}.modal.closing{animation:resultOut .18s ease-in both;pointer-events:none}.modal.closing::backdrop{animation:veilOut .18s ease-in both}.info-drawer.closing{animation:drawerOut .18s ease-in both;pointer-events:none}.battle-stage{position:absolute;inset:0;z-index:9;overflow:hidden;isolation:isolate;color:#f7fbff}.battle-veil{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 49%,#10273ed9,#163d57b5 40%,#0d2b4775);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:veilIn .3s both;transition:opacity .3s}.battle-heading{position:absolute;left:10px;right:10px;top:9%;text-align:center;text-shadow:0 2px 14px #071e37a0}.battle-heading .eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font:600 13px DM Sans,sans-serif;letter-spacing:3px;color:#ffe3a7}.battle-heading h1{font:600 clamp(34px,4.8vw,64px) / 1.1 var(--heading);margin:12px 0;animation:headlineIn .24s ease-out both}.battle-heading p{font-size:15px;display:flex;align-items:center;justify-content:center;gap:15px;color:#d4e8f1}.battle-arena{position:absolute;top:36%;height:300px;left:50%;width:min(1040px,96%);transform:translate(-50%);transition:opacity .22s,transform .25s}.battle-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.battle-canvas canvas{display:block;width:100%;height:100%}.battle-team{position:absolute;top:-20px;display:flex;align-items:center;gap:12px;z-index:1;transform:translate(-50%);width:230px;justify-content:center}.battle-team--attack{left:25%;--team: var(--attack-color)}.battle-team--defense{left:75%;--team: var(--defense-color)}.team-emblem{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--team);box-shadow:0 4px 20px #081d3c55,inset 0 1px #ffffff50;font:600 31px var(--heading);color:#fff}.battle-team strong{font-size:24px;display:block;line-height:1.15}.battle-team small{font-size:10px;letter-spacing:1.8px;color:#c6d7e7}.roll-numbers{position:absolute;top:245px;left:0;right:0;display:flex;gap:10px;justify-content:center;align-items:center;min-height:54px}.roll-numbers>b{display:grid;place-items:center;min-width:48px;height:54px;border-radius:13px;border:1px solid color-mix(in srgb,var(--team) 80%,white);background:color-mix(in srgb,var(--team) 38%,#10273d);font:600 39px/1 var(--heading);box-shadow:0 5px 20px #081c3340;animation:numberIn .3s cubic-bezier(.18,.9,.2,1.3) both}.roll-numbers>b:nth-child(2){animation-delay:.06s}.roll-numbers>b:nth-child(3){animation-delay:.12s}.roll-numbers>span{font-size:14px;color:#c8deed}.battle-modifiers{position:absolute;top:-57px;left:0;right:0;display:flex;gap:15px;justify-content:center;font-size:11px;color:#ffe2a9}.battle-modifiers>span{display:flex;align-items:center;gap:5px}.dice-comparisons{position:absolute;top:305px;left:0;right:0;display:flex;gap:18px;justify-content:center}.dice-pair{display:grid;grid-template-columns:32px 14px 32px;align-items:center;justify-content:center;gap:6px;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .22s,transform .22s}.dice-pair.shown{opacity:1;transform:none}.dice-pair>b{font-size:23px;text-align:center;border-bottom:3px solid #ffffff25;padding-bottom:4px}.dice-pair.attack>b:first-child{border-color:var(--attack-color);color:#fff1bf}.dice-pair.defense>b:nth-child(3){border-color:var(--defense-color);color:#fff1bf}.dice-pair>span{color:#b7ccdd;font-size:16px;text-align:center}.dice-pair>small{grid-column:1/-1;font-size:11px;white-space:nowrap;text-align:center;color:#e1eaf1}.battle-skip{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;font-size:13px;padding:11px 15px;border:1px solid #c4def24a;border-radius:30px;background:#0a23388a;color:#d7e7f1;white-space:nowrap}.battle-skip:hover{background:#203e56}.battle-skip kbd{font:10px DM Sans,sans-serif;color:#a3c3d6;border:1px solid #b7d7ee40;border-radius:4px;padding:2px 5px;margin-left:8px}.battle-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff1}.battle-progress i{height:100%;display:block;background:linear-gradient(90deg,var(--attack-color),#ffe5a7,var(--defense-color))}.battle-stage--impact .battle-veil{opacity:0;-webkit-backdrop-filter:none;backdrop-filter:none}.battle-stage--impact .battle-arena{opacity:0;transform:translate(-50%,-10px)}.battle-stage--impact .battle-heading h1{color:#fff3bd;filter:drop-shadow(0 2px 3px #122c42)}.battle-stage--impact .battle-heading p,.battle-stage--impact .battle-heading .eyebrow{visibility:hidden}.battle-stage--impact .battle-skip{opacity:0;pointer-events:none}.battle-fallback{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center}.battle-fallback>div{display:flex;gap:12px;justify-content:center}.battle-fallback span{font-size:70px;filter:drop-shadow(0 4px 3px #081d33)}.tumbling{animation:dieRoll .22s linear infinite alternate}.impact-ring{transform-origin:center;transform-box:fill-box;animation:impactRing .85s ease-out both}.impact-core{animation:impactFlash .45s ease-out both}.battle-tracer{stroke-dasharray:12 12;animation:tracer .3s linear 2;opacity:0}.army-hit rect{animation:armyDamage .65s ease-out both}.army-loss{fill:#fff6df;stroke:#6b2332;stroke-width:4px;paint-order:stroke;font:700 27px DM Sans,sans-serif;animation:lossFloat .9s ease-out both}@keyframes impactRing{0%{transform:scale(.3);opacity:1}to{transform:scale(4);opacity:0}}@keyframes impactFlash{0%{opacity:0}20%{opacity:.75}to{opacity:0}}@keyframes tracer{0%{stroke-dashoffset:80;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes armyDamage{0%,40%{fill:#ffc2a9}20%,60%{fill:#fff6d2}to{fill:#f8fcf3}}@keyframes lossFloat{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:0;transform:translateY(-30px)}}@keyframes headlineIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes numberIn{0%{opacity:0;transform:translateY(12px) scale(.75)}to{opacity:1;transform:none}}@keyframes resultIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes resultOut{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes trayIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes veilIn{0%{opacity:0}to{opacity:1}}@keyframes veilOut{to{opacity:0}}@keyframes drawerOut{to{opacity:0;transform:translate(15px)}}@media(max-width:1100px){.phase-step{font-size:13px}.phase-dock{gap:17px}.bottom-controls{max-width:calc(100% - 130px)}.action-tray{max-width:650px}.tactic-control select{font-size:12px;max-width:140px}}@media(max-width:760px){.primary,.advance-button,.action-tray .primary{font-size:14px;min-height:44px;padding:10px 13px}.phase-step{font-size:12px}.phase-step.active>span{font-size:12px}.phase-dock{padding:10px;gap:10px}.phase-steps{gap:9px}.action-tray{padding:10px;gap:10px}.quantity>button:not(.all-units){width:27px;height:32px}.quantity input{font-size:16px;width:29px}.all-units{font-size:12px;padding:7px}.selection-pair b,.selection-label>b{font-size:16px}.selection-pair>span{font-size:13px}.selection-pair small{font-size:11px}.tactic-control select{font-size:12px;max-width:150px}.tray-note,.action-hint{font-size:12px}.turn-badge strong{font-size:13px}.turn-badge small{font-size:11px}.turn-badge{min-width:139px;padding:9px 10px}.turn-symbol{width:30px;height:30px}.overlay-toolbar>button{min-width:36px;width:36px;min-height:38px;height:38px}.header-actions .icon-btn,.new-game{min-width:36px;min-height:38px}.map-tools>button{min-width:36px;min-height:36px}.map-tools>small{font-size:9px}.result-top>strong{font-size:13px}.repeat-button{font-size:13px}.battle-result{padding:12px}.battle-heading{top:8%}.battle-heading h1{font-size:44px}.battle-heading p{font-size:13px}.battle-arena{top:34%;height:260px}.battle-team{width:180px}.team-emblem{width:39px;height:39px;font-size:26px;border-radius:12px}.battle-team strong{font-size:20px}.battle-team small{font-size:9px}.roll-numbers{top:205px;gap:7px}.roll-numbers>b{min-width:40px;height:46px;font-size:32px}.dice-comparisons{top:268px}}@media(max-width:550px){.phase-dock{flex-wrap:wrap;gap:8px;padding:9px 10px}.phase-steps{flex:1}.advance-button{margin-left:auto;font-size:13px}.phase-step.active>span{font-size:11px}.phase-step>svg:first-child{width:17px}.action-tray .selection-label{min-width:25px}.action-tray .primary{font-size:13px;padding:10px 12px}.action-tray .primary>svg{width:17px}.bottom-controls{max-width:calc(100% - 65px);width:calc(100% - 65px);right:8px;bottom:10px}.selection-pair{gap:9px}.tactic-control{margin-left:0}.tactic-control select{font-size:12px}.turn-badge{min-width:135px;padding:9px;gap:7px}.turn-badge strong{font-size:12px}.turn-badge small{font-size:10px}.overlay-toolbar{padding:3px;gap:0}.overlay-toolbar>button{width:36px;min-width:36px;height:38px}.battle-heading{top:6%}.battle-heading h1{font-size:38px}.battle-heading p{font-size:12px;gap:9px}.battle-heading .eyebrow{font-size:11px}.battle-arena{top:28%;height:350px;width:100%}.battle-team{left:50%;width:220px;top:-3px;gap:9px}.battle-team--defense{top:210px}.battle-team strong{font-size:18px}.battle-team small{font-size:9px}.team-emblem{width:33px;height:33px;font-size:23px;border-radius:10px}.roll-numbers{position:static;min-height:35px;width:100px;margin-left:5px;gap:5px}.roll-numbers>b{min-width:26px;height:33px;font-size:26px;border-radius:8px}.roll-numbers>span{font-size:11px}.dice-comparisons{top:306px;gap:13px}.dice-pair>b{font-size:21px}.dice-pair>small{font-size:10px}.dice-pair{grid-template-columns:27px 12px 27px;gap:3px}.battle-modifiers{top:-33px;font-size:10px;gap:10px}.battle-fallback{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.battle-fallback span{font-size:64px}.battle-skip{bottom:25px;font-size:12px}.battle-skip kbd{display:none}}@media(max-height:650px)and (min-width:551px){.battle-heading{top:4%}.battle-heading h1{font-size:36px;margin:6px 0}.battle-arena{top:33%;height:190px}.battle-team{top:-10px}.roll-numbers{top:143px}.dice-comparisons{top:207px}.battle-skip{bottom:14px}.team-emblem{width:32px;height:32px}.battle-team strong{font-size:18px}.battle-modifiers{top:-35px}}@media(prefers-reduced-motion:reduce){.battle-veil{-webkit-backdrop-filter:none;backdrop-filter:none}.impact-ring,.impact-core,.battle-tracer,.army-loss{display:none}.battle-stage--impact .battle-arena{transform:translate(-50%)}}@media(max-height:780px)and (min-width:761px){.bottom-controls{bottom:14px;gap:8px}.action-tray{padding:9px 12px;min-height:64px}.action-tray .action-hint{display:none}.phase-dock{min-height:63px;padding:9px 10px 9px 18px}}@media(max-width:550px){.battle-team--defense{top:175px}}.bottom-controls:has(.battle-result) .action-tray{display:none}.result-rolls .attack-dice{--result-team: var(--attack-color)}.result-rolls .defense-dice{--result-team: var(--defense-color)}.result-rolls>span{gap:5px}.result-rolls b{display:grid;place-items:center;background:color-mix(in srgb,var(--result-team) 40%,#153346);border:1px solid color-mix(in srgb,var(--result-team) 65%,white);color:#f4faff;min-width:28px;height:31px;border-radius:7px;font:600 23px/1 var(--heading)}@media(max-width:550px){.battle-team{width:270px}.battle-team>span:nth-child(2){min-width:70px}.battle-team small{white-space:nowrap}.roll-numbers{width:110px;flex-shrink:0}.battle-result{align-self:stretch}}.battle-fallback{z-index:3}.battle-canvas:has(.battle-fallback)>canvas{visibility:hidden}.battle-fallback .flat-die{width:52px;height:55px;display:grid;place-items:center;border-radius:12px;border:2px solid #ffffff65;box-shadow:0 5px color-mix(in srgb,currentColor 35%,#10273b),0 9px 15px #091d3e66;transform:rotate(-5deg);color:#122334}.battle-fallback .flat-die>b{font:700 35px/1 var(--heading)}.battle-fallback .flat-die:nth-child(2){transform:rotate(4deg)}@media(max-width:550px){.battle-fallback .flat-die{width:48px;height:52px}}.party-mark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:42px;border-radius:10px;padding:5px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px #06172620}.party-mark img{display:block;width:100%;height:100%;object-fit:contain}.party-mark-fallback{font:700 13px var(--heading);color:#132c3b}.turn-symbol{background:none!important;width:auto;height:auto}.turn-symbol .party-mark{width:37px;height:35px}.team-emblem{background:none!important;box-shadow:none;width:auto;height:auto}.team-emblem .party-mark{width:48px;height:48px;border-radius:14px}.player-card>span .party-mark{width:35px;height:35px}.state-shape:focus-visible{outline:none;stroke:#fff4ac;stroke-width:4;filter:brightness(1.13)}.battle-stage--impact .battle-heading{top:50%;transform:translateY(-50%);transition:top .32s,transform .32s}.battle-stage--impact .battle-heading h1{font-size:clamp(40px,6.2vw,78px);text-shadow:0 3px 5px #122840,0 5px 35px #122840}.battle-stage--impact .battle-heading:before{content:"";position:absolute;inset:-35px -15px;background:radial-gradient(ellipse,#102a43b0,transparent 70%);z-index:-1}.battle-stage--impact .battle-skip{opacity:1;pointer-events:auto}.map-skirmish .army-projectile{opacity:0}.map-skirmish .firing-unit{animation:gunRecoil .14s ease-out 7}.skirmish-hit-ring{transform-box:fill-box;transform-origin:center;animation:impactRing .5s ease-out .28s 3 both}.skirmish-sparks{animation:hitSparks .28s ease-out .28s 4 both;transform-origin:center}.army-hit rect{animation:armyDamage .28s ease-out .28s 4 both}.army-loss{animation:lossFloat 1.7s ease-out .28s both}@keyframes gunRecoil{50%{transform:translate(-2px,2px)}}@keyframes hitSparks{0%{opacity:0;transform:scale(.5)}20%{opacity:1}to{opacity:0;transform:scale(1.5)}}.home-screen{position:relative;height:100dvh;min-height:630px;background:#0e2c3f;overflow:hidden;isolation:isolate}.menu-backdrop{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#09131c}.menu-cover{position:absolute;inset:-1px;opacity:0;transition:opacity 1.5s ease-in-out}.menu-cover.is-current{opacity:1;z-index:1}.menu-cover.is-previous{opacity:1;z-index:0}.menu-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:menuCoverZoom 8.5s linear both;animation-play-state:paused}.menu-cover.is-current img,.menu-cover.is-previous img{animation-play-state:running}.menu-embers{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.menu-embers i{position:absolute;bottom:-12px;width:var(--size);height:var(--size);border-radius:50%;background:#c8c0ad;box-shadow:0 0 3px #decaa44d;opacity:0;animation:menuAsh var(--duration) var(--delay) linear infinite}.menu-embers i:nth-child(5n){background:#edac67;box-shadow:0 0 5px #ed8a4d66}.menu-backdrop.is-paused .menu-cover img,.menu-backdrop.is-paused .menu-embers i{animation-play-state:paused}@keyframes menuCoverZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes menuAsh{0%{transform:translateZ(0);opacity:0}12%,70%{opacity:var(--alpha)}to{transform:translate3d(var(--drift),-105vh,0);opacity:0}}.home-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#07121bb3,#07121b44 38%,#07121b05 72%),linear-gradient(0deg,#07121bc9,transparent 30%,transparent 75%,#07121b55)}.home-header{display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;position:relative;z-index:1}.home-brand{display:flex;align-items:center;gap:12px;color:#f0d28d}.home-brand>b{font:700 29px/.95 var(--heading);letter-spacing:1px;color:#fff}.home-brand b>span{display:block;font:10px var(--mono);letter-spacing:4px;color:#f0cf84;margin-top:6px}.home-header nav{display:flex;gap:12px}.home-header nav>button{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:12px;color:#d3e3eb;font-size:13px}.home-header nav>button:hover{background:#ffffff0f}.home-header nav>.menu-tool{padding:10px;color:#aebdc4}.home-header nav>.menu-tool.is-enabled{color:#f0cf84}.home-content{position:relative;margin:6vh 0 0 9vw;max-width:580px}.home-content>.eyebrow{font-size:11px;letter-spacing:2.5px}.home-content h1{font:600 clamp(65px,7.5vw,108px) / .94 var(--heading);margin:21px 0 24px;letter-spacing:-1px}.home-content h1 em{color:#f3cd7c}.home-content>p{font-size:16px;color:#b9d0df;line-height:1.85}.home-actions{display:flex;flex-direction:column;gap:12px;margin:28px 0 26px;max-width:300px}.home-actions>button{justify-content:flex-start;gap:13px;min-height:51px;font-size:15px}.home-actions>button svg:last-child{margin-left:auto}.home-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#d4e4ed;border:1px solid #8cbbd354;background:#193f5266;border-radius:12px;padding:12px 17px;font-size:14px;min-height:47px}.home-secondary:hover:not(:disabled){background:#24516c}.home-parties{display:flex;gap:10px}.home-parties .party-mark{width:38px;height:36px;border-radius:8px;opacity:.9}.home-caption{display:block;margin-top:13px;font-size:11px;letter-spacing:.5px;color:#91b0c1}.home-footer{position:absolute;bottom:23px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;color:#a4c0d1;font-size:10px;letter-spacing:1.5px}.home-footer span:last-child{font:12px var(--heading);letter-spacing:1px}.home-panel{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 145px);border-radius:25px;padding:38px 36px;overflow:auto;background:#102e42f2;box-shadow:0 24px 80px #06152180}.home-panel h2{font:600 45px/1.04 var(--heading);margin:14px 0}.home-panel .eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1px}.panel-back{position:absolute;right:14px;top:13px}.form-label{display:block;font-size:13px;margin:23px 0 16px;color:#b7cddd}.form-label input,.join-row input{display:block;width:100%;background:#0b2233;border:1px solid #6c96ae70;border-radius:11px;padding:13px 14px;color:#f5f8fa;outline-offset:1px;margin-top:9px}.lobby-parties{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 25px}.lobby-parties>button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px;border:1px solid transparent;border-radius:11px;font-size:10px;color:#b9d2de}.lobby-parties>button.chosen{border-color:#f4d595;background:#f4d5950c;color:#f4d595}.lobby-parties .party-mark{width:43px;height:38px}.form-divider{display:flex;align-items:center;gap:12px;font-size:11px;color:#8aa9bc;margin:23px 0 14px}.form-divider:before,.form-divider:after{content:"";height:1px;flex:1;background:#7aa0b43b}.join-row{display:flex;gap:10px}.join-row input{margin:0;letter-spacing:3px;font:18px var(--mono);min-width:0}.join-row button{flex-shrink:0}.lobby-note{display:block;font-size:11px;line-height:1.7;color:#8caebf;margin-top:24px}.form-error{font-size:13px;color:#ffb2a7;padding:12px;background:#a0383020;border:1px solid #bc6d5e70;border-radius:9px;margin:17px 0}.waiting-note{font-size:13px;color:#b8cfdd;text-align:center;margin:15px 0;line-height:1.7}.connection-note{display:flex;flex-direction:column;align-items:center;gap:15px;padding:35px 20px;background:#1e496740;border-radius:15px;margin-top:25px;text-align:center}.connection-note>p{font-size:13px;line-height:1.8;color:#b1c9d8}.room-code{margin:25px 0;text-align:center}.room-code>span{display:block;font-size:10px;letter-spacing:2px;color:#9fbfd0}.room-code button{display:inline-flex;align-items:center;gap:15px;background:#ffffff08;border-radius:12px;padding:10px 15px;margin-top:9px}.room-code b{font:28px var(--mono);letter-spacing:4px;color:#ffe2a3}.lobby-members{display:flex;flex-direction:column;gap:9px;margin:20px 0}.lobby-members>div{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid #729bb33b;border-radius:12px}.lobby-members strong{display:block;font-size:14px}.lobby-members small{display:block;font-size:11px;color:#9db9c9;margin-top:4px}.lobby-members>div>svg{margin-left:auto;color:#8dd7aa}.lobby-leave{width:100%;padding:13px;font-size:12px;color:#a9c3d3}.segmented{display:flex;gap:6px;background:#081e2c66;border:1px solid #7ba1b63b;padding:5px;border-radius:12px}.segmented>button{flex:1;text-align:center;border-radius:8px;padding:11px 8px;color:#a9c6d6;font-size:13px}.segmented>button.active{background:#254e62;color:#ffdf9f;box-shadow:0 2px 5px #07172225}.party-grid{grid-template-columns:repeat(4,1fr)}.party-choice .party-mark{width:56px;height:46px}.party-choice>strong{font-size:24px;margin-top:11px}.setup-start{margin-top:25px}.rankings .segmented{margin-top:24px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center;padding:44px 14px;color:#b6d0df;font-size:14px;line-height:1.7}.empty-state>svg{color:#eccb86}.ranking-list{list-style:none;padding:0;margin:20px 0}.ranking-list>li{display:flex;align-items:center;gap:14px;border-bottom:1px solid #7196ad33;padding:12px 0}.ranking-list>li>b{font:22px var(--heading);color:#d6bc7d;width:20px}.ranking-list strong{font-size:14px}.ranking-list>li>span:last-child{margin-left:auto;text-align:right;font-size:13px;color:#e8d09b}.ranking-list small{display:block;font-size:10px;color:#90afc1;margin-top:4px}.screen-loading{height:100dvh;display:grid;place-items:center;color:#f0d397;background:#102b3c;font-size:16px}.draft-tray{display:flex;align-items:center;gap:15px;padding:17px 22px;border-radius:17px;color:#ffdea4}.draft-tray strong{display:block;font-size:16px}.draft-tray small{display:block;font-size:12px;margin-top:6px;color:#b7d1df}.mission-intro{text-align:center}.mission-intro>.party-mark{width:75px;height:68px;margin-bottom:24px}.mission-intro>.eyebrow{display:block;font-size:11px;letter-spacing:3px}.mission-intro h2{font-size:52px;margin:17px 0}.mission-intro>p{font-size:16px;color:#b9d1df}.mission-steps{display:flex;flex-direction:column;gap:12px;font-size:13px;color:#b9d0dc;margin:30px 0}@media(max-width:760px){.menu-cover img{object-position:64% center}.home-shade{background:linear-gradient(90deg,#07121bba,#07121b44),linear-gradient(0deg,#07121bd9,transparent 85%)}.home-header{padding:23px 24px}.home-header nav{gap:0}.home-header nav>button{font-size:12px;padding:9px;gap:6px}.home-header nav>.menu-tool{padding:8px}.home-content{margin:8vh 24px 0}.home-content h1{font-size:76px}.home-content>p{font-size:14px}.home-actions{margin:25px 0}.home-footer{left:24px;right:24px;bottom:18px;font-size:8px}.home-footer span:last-child{display:none}.home-panel{padding:36px 22px;max-height:calc(100dvh - 125px);top:53%}.home-panel h2{font-size:39px}.party-grid{grid-template-columns:repeat(3,1fr)}.party-choice .party-mark{width:47px;height:40px}.party-choice>small{font-size:10px}.segmented>button{font-size:11px;padding:11px 5px}.team-emblem .party-mark{width:36px;height:34px;border-radius:9px}.draft-tray{padding:15px 17px}.draft-tray strong{font-size:14px}.draft-tray small{font-size:11px}.mission-intro h2{font-size:43px}}@media(max-width:540px){.home-header{padding:20px;gap:12px}.home-brand{gap:8px}.home-brand>b{font-size:26px}.home-brand>svg{width:22px}.home-header .menu-nav-text{display:none}.home-header nav>button,.home-header nav>.menu-tool{width:34px;height:38px;padding:8px;gap:0;justify-content:center;flex-shrink:0}}@media(max-width:360px){.home-content h1{font-size:64px}.home-content>.eyebrow{letter-spacing:1.5px;font-size:10px}}@media(max-height:730px){.home-screen{min-height:520px}.home-content{margin-top:2vh}.home-content h1{font-size:72px;margin:15px 0}.home-content>p{font-size:14px}.home-actions{margin:20px 0;gap:9px}.home-actions>button{min-height:44px}.home-parties .party-mark{width:32px;height:30px}.home-caption{font-size:10px}.home-footer{bottom:14px}}@media(prefers-reduced-motion:reduce){.map-skirmish .army-projectile,.skirmish-sparks,.skirmish-hit-ring{display:none}.battle-stage--impact .battle-heading{transition:none}}.skirmish-caption{position:absolute;z-index:8;top:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:13px;padding:12px 17px;border-radius:17px;max-width:calc(100% - 24px);box-shadow:0 5px 30px #0c293b40;pointer-events:none}.skirmish-caption strong{display:block;font-size:14px;white-space:nowrap}.skirmish-caption small{display:block;font-size:11px;color:#b9d0de;margin-top:5px}.skirmish-caption .party-mark{width:35px;height:32px}@media(max-width:550px){.skirmish-caption{top:17px;gap:9px;padding:11px 12px}.skirmish-caption strong{font-size:12px}.skirmish-caption small{font-size:10px}.skirmish-caption .party-mark{width:30px;height:29px}}.skirmish-caption{top:auto;bottom:27px}.battle-stage--impact .battle-heading{transition:none}@media(max-width:550px){.skirmish-caption{top:auto;bottom:23px}}@media(prefers-reduced-motion:reduce){.menu-cover{transition:none}.menu-cover img{animation:none}.menu-embers{display:none}}.home-political-links{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0 0}.home-political-links button{display:flex;align-items:center;gap:7px;color:#d7e6ea;font-size:13px;padding:8px 0;border-bottom:1px solid #ffffff35}.home-panel:has(.card-gallery),.home-panel:has(.political-mural){width:min(1120px,calc(100% - 36px))}.home-panel:has(.card-gallery){padding-top:38px}.custom-party-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.custom-party-form .form-label{margin:12px 0}.custom-party-form input,.custom-party-form select,.mural-auth input{width:100%;margin-top:7px;padding:11px;border:1px solid #7996a052;background:#173b4f;color:#f4f7f8;border-radius:8px}.custom-party-form input[type=color]{height:44px;padding:4px}.fiction-note{color:var(--muted);font-size:12px;line-height:1.6;margin:15px 0 0}.custom-party-form .fiction-note{grid-column:1/-1}.public-room-toggle{display:flex;align-items:center;gap:10px;font-size:13px;margin:20px 0}.public-room-toggle input{accent-color:var(--gold);width:18px;height:18px}.party-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0}.party-badge svg,.party-badge img{width:100%;height:100%;object-fit:contain}.custom-party-badge{border:1px solid #ffffff66;border-radius:9px;font-size:10px;font-weight:700;text-shadow:0 1px 3px #000;max-width:44px;overflow:hidden}.political-board .topbar{background:#142d3a}.political-board .header-round{white-space:nowrap}.round-clock{display:inline-flex;align-items:center;gap:5px;margin-left:12px;color:var(--gold);font:12px var(--mono)}.round-clock.urgent{color:#ffad90}.political-board .status-corner{display:grid;gap:9px;align-items:start}.political-board .turn-badge{min-width:216px}.political-board .turn-badge .party-badge{width:28px;height:28px}.presidency-badge{display:flex;align-items:center;gap:8px;justify-self:start;border-radius:10px;padding:9px 12px;font-size:12px;color:#edf1df}.political-board .overlay-toolbar{top:22px;right:22px;position:absolute;display:flex;gap:7px;z-index:5}.overlay-toolbar>button{position:relative;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#153449ed;border:1px solid #89a8b34d;box-shadow:0 5px 18px #0a24322b}.overlay-toolbar>button.active{color:var(--gold);border-color:var(--gold)}.toolbar-count{position:absolute;right:2px;top:-4px;min-width:17px;height:17px;padding:1px 4px;background:var(--gold);color:#163346;border-radius:20px;font-size:10px;font-weight:700}.world-event-chip{position:absolute;right:22px;top:78px;border-radius:10px;display:flex;align-items:center;gap:9px;padding:11px 13px;max-width:310px;z-index:4;font-size:12px}.world-event-chip>span{width:7px;height:7px;border-radius:50%;flex-shrink:0}.world-event-chip>small{color:var(--muted);font-size:10px}.political-map-key{position:absolute;left:26px;bottom:24px;pointer-events:none;font-size:11px;color:#14394a;display:grid;gap:5px;font-weight:700;text-shadow:0 1px 3px #ffffffc9}.political-map-key>span{font-size:10px;font-weight:500}.political-board .state-shape.at-risk{stroke:#e7bd65;stroke-width:2;stroke-dasharray:5 3}.political-board .info-drawer{top:78px;right:22px;bottom:26px;width:332px;max-width:calc(100% - 44px);border-radius:16px;background:#123248f5}.political-board .drawer-body{padding:18px}.political-board .drawer-heading h2{font-size:28px;display:flex;align-items:center;gap:10px}.political-board .drawer-body h3{font-size:26px;margin:12px 0}.political-board .drawer-body h4{font-size:14px;margin:22px 0 12px;display:flex;gap:7px;align-items:center}.drawer-muted{font-size:12px;line-height:1.7;color:#b3c9d3;display:block}.state-government{display:flex;align-items:center;gap:12px;padding-bottom:16px}.state-government>div{display:grid;gap:3px}.state-government small{font-size:11px;color:var(--muted)}.state-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;margin:8px 0}.state-metrics>div{display:grid;grid-template-columns:1fr auto;gap:7px}.state-metrics span{display:flex;gap:6px;align-items:center;font-size:11px;color:#c5dae3}.state-metrics strong{font-size:16px;font-weight:600}.state-metrics strong small{color:#91abb8;font-weight:400;font-size:10px}.state-metrics meter{width:100%;height:7px;grid-column:1/-1;appearance:none;border:0;border-radius:4px;background:#ffffff20}.state-metrics meter::-webkit-meter-bar{background:#ffffff20;border:0;height:7px}.state-metrics meter::-webkit-meter-optimum-value{background:#e4c17b;border-radius:4px}.state-metrics meter::-moz-meter-bar{background:#e4c17b;border-radius:4px}.state-profile{font-size:11px;color:#bed1d8;line-height:1.6;margin:17px 0}.state-action-buttons{display:grid;gap:8px;margin:18px 0}.state-action-buttons button:not(.primary){border:1px solid #7293a44f;background:#ffffff08;border-radius:8px;display:flex;align-items:center;gap:9px;padding:11px;font-size:12px;text-align:left}.state-action-buttons .primary{font-size:13px;min-height:43px}.policy-options,.national-program{display:grid;gap:8px}.policy-options button,.national-program button{display:grid;gap:5px;padding:12px;text-align:left;border:1px solid #7996a04a;border-radius:8px;background:#ffffff07}.policy-options button[aria-pressed=true],.national-program button[aria-pressed=true]{border-color:var(--gold);background:#e5bf7012}.policy-options strong,.national-program strong{font-size:12px}.policy-options small,.national-program small{font-size:11px;line-height:1.6;color:#b9ccd5}.state-current-policy{display:flex;gap:7px;font-size:11px;color:var(--gold);margin-top:16px}.candidate-rows{display:grid;gap:14px;margin:18px 0}.candidate-line{display:flex;align-items:center;gap:8px;font-size:12px}.candidate-line .party-badge{width:21px;height:21px}.candidate-line>span:last-child{margin-left:auto;font-size:11px;color:#c0d3dc}.candidate-track{height:5px;background:#ffffff16;border-radius:10px;margin-top:7px;overflow:hidden}.candidate-track i{display:block;height:100%;min-width:2px;border-radius:10px}.score-breakdown{margin:11px 0 6px;padding:11px;border-radius:8px;background:#0e293c;display:grid;gap:6px;font-size:11px;color:#bbd0da}.score-breakdown>div{display:flex;justify-content:space-between;gap:8px}.score-breakdown dd{margin:0;color:#f1dcad}.modifier-list{display:grid;gap:7px;margin:18px 0}.modifier-list>span{padding:8px;border:1px solid #c4b88b44;border-radius:6px;color:#ead6af;font-size:11px;line-height:1.5}.last-election{margin:22px 0 0;font-size:12px}.last-election summary{cursor:pointer;color:var(--gold);line-height:1.6}.last-election>p{margin-top:14px;color:var(--muted)}.political-controls{max-width:calc(100% - 44px);width:450px;bottom:24px!important}.political-plan.action-tray{display:grid!important;gap:12px!important;align-items:stretch;min-height:0!important;width:100%;padding:16px!important;border-radius:16px;background:#123248f5}.plan-heading{display:flex;align-items:center;gap:8px}.plan-heading>strong{font-size:13px}.plan-heading>small{margin-left:auto;font-size:10px;color:#bfd0d9}.plan-tip{font-size:12px;color:#b2cad5}.plan-buttons{display:flex;gap:9px}.plan-buttons .primary{flex:1;font-size:13px;min-height:43px;padding:11px 14px}.plan-card-button{display:flex;align-items:center;gap:6px;padding:0 13px;border:1px solid #829dad66;border-radius:8px;font-size:12px}.plan-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.plan-chips>span{font-size:10px;background:#ffffff10;border:1px solid #94b3c12e;padding:6px 8px;border-radius:5px}.text-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px}.election-calendar{display:flex;align-items:center;gap:6px;justify-content:center;font-size:10px;color:#17435c;padding-top:9px;text-shadow:0 1px 2px #ffffffb0}.election-calendar>span{margin-left:6px}.political-player-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff16;padding:14px 0}.political-player-row>span:not(.party-badge){display:grid;gap:5px;flex:1}.political-player-row strong{font-size:12px}.political-player-row small{font-size:10px;color:var(--muted)}.political-player-row>b{font:600 30px var(--heading);color:var(--gold)}.score-rules{display:grid;gap:7px;font-size:12px;margin-top:22px;color:#b8cdd8}.activity-log{padding-left:18px;display:grid;gap:13px;font-size:12px;line-height:1.7;color:#c2d6de}.world-event-entry{display:grid;gap:11px;margin-bottom:24px}.world-event-entry>.eyebrow{font-size:9px}.political-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px;margin:28px 0}.political-help-grid article{display:flex;gap:14px}.political-help-grid article>svg{color:var(--gold);margin-top:3px}.political-help-grid h3{font:600 24px var(--heading);margin:0 0 7px}.political-help-grid p{font-size:12px;line-height:1.7;color:#b5cbd7}.mission-intro>.party-badge{width:53px;height:53px;margin-bottom:15px}.mission-steps{display:grid;gap:10px;font-size:13px;line-height:1.5;text-align:left;margin:23px 0}.mission-intro h2{margin:15px 0}.mission-intro p{line-height:1.7;color:#c1d3dc}.election-reveal{position:absolute;inset:0;z-index:12;display:grid;place-items:center;background:#0a233d40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.election-reveal>.glass{width:min(460px,calc(100% - 40px));padding:42px 35px;text-align:center;border-radius:22px;background:#112e43ed}.election-reveal svg{color:var(--gold);margin-bottom:18px}.election-reveal .eyebrow{display:block;font-size:10px}.election-reveal h1{font:600 46px var(--heading);margin:12px 0 24px}.election-reveal p{font-size:12px;color:var(--muted);margin-top:16px}.election-reveal-track{height:5px;background:#ffffff14;overflow:hidden;border-radius:5px}.election-reveal-track>i{height:100%;display:block;background:var(--gold)}.presidential-result{width:100%;display:flex;align-items:center;gap:14px;background:#e5bf7011;border:1px solid #d9ba7866;border-radius:12px;padding:16px;text-align:left;margin:22px 0}.presidential-result>svg{color:var(--gold)}.presidential-result>span:last-child{display:grid;gap:6px}.presidential-result small{font-size:11px;color:#c6d6dd}.election-change-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.election-change-list button{display:flex;align-items:center;gap:8px;border:1px solid #ffffff20;padding:10px;border-radius:8px;text-align:left;font-size:12px}.election-change-list .party-badge{width:25px;height:25px}.election-change-list button>span:last-child{margin-left:auto;color:var(--muted);font-size:10px}.election-all{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.election-all button{border:1px solid #a5bec440;padding:8px 10px;border-radius:6px;font-size:12px}.election-all+button{margin-top:20px}.final-score-list{margin:22px 0}.final-score-list>div{display:flex;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #ffffff15}.final-score-list b{margin-left:auto;font:600 28px var(--heading);color:var(--gold)}.event-card{--card-accent: #bd725d;color:#213b49;background:#f6f1e5;border:1px solid #e7dfcd;border-radius:14px;box-shadow:0 7px 20px #061b292b;overflow:hidden;min-width:0;isolation:isolate}.event-card-face{display:flex;flex-direction:column;text-align:left;width:100%;height:100%;padding:0;color:inherit;background:#f5f0e4;position:relative;font-family:DM Sans,sans-serif}.event-card-face:before{content:"";position:absolute;inset:6px;pointer-events:none;border:1px solid #19384820;border-radius:9px;z-index:2}.event-card-face:focus-visible{outline:3px solid var(--card-accent);outline-offset:-4px}.event-card button:hover{filter:none;background:#fffaf0}.event-card-category{display:flex;align-items:center;gap:6px;color:var(--card-accent);font-size:9px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;margin:17px 17px 8px}.event-card-category>span{margin-left:auto;color:#607581;font:8px var(--mono);letter-spacing:.4px}.event-card-art{display:block;aspect-ratio:1.6;background:#eee8db;overflow:hidden;margin:0 11px;border-radius:5px}.event-card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-card button:hover img{transform:scale(1.025)}.event-card-title{font:600 27px/1.05 var(--heading);margin:14px 17px 8px;color:#183746}.event-card-description{font-size:11px;line-height:1.65;color:#4c606a;margin:0 17px 13px}.event-card-effect{font:500 10px/1.7 var(--mono);color:#183746;padding:9px 11px;background:color-mix(in srgb,var(--card-accent) 10%,transparent);border-left:2px solid var(--card-accent);margin:auto 17px 13px;border-radius:0 4px 4px 0}.event-card-footer{display:flex;gap:9px;justify-content:space-between;align-items:center;margin:0 17px 18px;border-top:1px solid #163a4720;padding-top:9px;font-size:9px;line-height:1.5;color:#677b84}.card-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.card-filters button{font-size:11px;border:1px solid #91aeba4a;border-radius:20px;padding:9px 13px;color:#c2d4de}.card-filters button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:#e5bf7010}.card-gallery .modal-description{max-width:650px}.gallery-back{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--gold);padding:8px 0;margin:7px 0 18px}.card-detail-layout{display:grid;grid-template-columns:minmax(230px,340px) 1fr;gap:35px;align-items:start}.card-detail-layout>div>p{font-size:14px;line-height:1.8;color:#c0d0d9}.card-detail-layout h3{font:600 26px var(--heading);margin:22px 0 8px}.card-choice-description{margin-top:16px;padding:14px;border:1px solid #ffffff25;border-radius:8px}.card-choice-description strong{font-size:13px}.card-choice-description p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:8px}.hand-card-list{display:grid;gap:16px;margin-top:20px}.political-hand-panel .event-card-title{font-size:29px}.political-hand-panel .event-card-description{font-size:12px}.political-hand-panel .drawer-body>p{font-size:12px;line-height:1.8;margin:18px 0;color:#bcd0db}.card-choice-action{display:grid;gap:7px;padding:13px;border:1px solid #99b3c04a;border-radius:9px;background:#ffffff08;text-align:left;width:100%;margin:10px 0}.card-choice-action strong{font-size:12px;line-height:1.5}.card-choice-action small{font-size:11px;color:var(--gold);line-height:1.6}.political-mural>h1{font:600 45px var(--heading);margin:14px 0}.mural-refresh{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px!important;font-size:12px;margin:22px 0!important;width:auto!important}.public-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0}.public-room-card{display:grid;gap:12px;padding:24px;background:#ffffff06;border:1px solid #9bafb940;border-radius:13px;text-align:left}.public-room-card>svg{color:var(--gold)}.public-room-card>span,.public-room-card>small{font-size:11px;color:var(--muted)}.mural-empty{padding:45px 24px;text-align:center;border:1px solid #8cabb12d;background:#ffffff05;border-radius:14px;margin:22px 0}.mural-empty>svg{color:var(--gold)}.mural-empty h3{font:600 28px var(--heading);margin:16px 0 9px}.mural-empty p{font-size:13px;line-height:1.8;color:var(--muted)}.mural-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}.mural-board{position:relative;height:530px;background:#9bd2e5;overflow:hidden;border-radius:15px;border:1px solid #ffffff25}.mural-board .map-stage{height:100%;width:100%;position:relative}.mural-board .map-toolbar{bottom:45px}.mural-round{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:10px 8px;font-size:10px;background:#133c50eb}.mural-detail h2{font-size:31px}.mural-indicators{font-size:12px;color:#bdd0db;line-height:1.8}.mural-detail select{width:100%;background:#193d52;color:#e3eef3;border:1px solid #7898a15e;padding:10px;border-radius:8px}.community-vote{border-top:1px solid #ffffff25;margin-top:22px;padding-top:20px}.community-vote h3{display:flex;align-items:center;gap:8px;font:600 25px var(--heading);margin-bottom:10px}.community-vote p,.community-vote>small{font-size:12px;line-height:1.8;color:#bbced8}.community-vote>small{font-size:10px;display:block;margin-top:18px}.mural-auth{display:grid;gap:9px;margin:15px 0}.mural-auth label{font-size:12px;margin-top:5px}.mural-auth input{margin:0}.mural-auth .primary{font-size:12px;margin-top:7px}.vote-buttons{display:grid;gap:8px;margin:20px 0}.vote-buttons button{padding:12px;border:1px solid #dfc18075;border-radius:8px;text-align:left;font-size:12px;color:var(--gold)}.mural-notice{display:flex;gap:8px;align-items:center;background:#27674b36;padding:13px;border-radius:8px;font-size:12px;margin:18px 0}.rank-party-row{display:flex;align-items:center;gap:12px}.political-board .toast{max-width:min(520px,calc(100% - 32px))}.political-board .toast button{margin-left:10px}@media(min-width:1150px){.political-board:has(.info-drawer) .political-controls{left:calc(50% - 150px)}.political-board .info-drawer{width:340px}}@media(max-width:900px){.political-board .brand-edition{display:none}.political-board .info-drawer{width:310px}.card-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mural-layout{grid-template-columns:1fr}.mural-board{height:420px}.public-room-grid{grid-template-columns:1fr 1fr}.political-board:has(.info-drawer) .political-controls{visibility:hidden}.political-board .world-event-chip{max-width:250px}.political-board .world-event-chip small{display:none}}@media(max-width:600px){.home-political-links{gap:12px;margin-top:18px}.home-political-links button{font-size:11px}.political-board .topbar{gap:8px;padding:0 12px;height:60px;min-height:60px}.political-board .brand-name{font-size:24px}.political-board .brand-mark{display:none}.political-board .header-round{font-size:9px;gap:6px}.political-board .header-round .live-dot,.political-board .header-round>i{display:none}.political-board .header-actions{gap:0}.political-board .header-actions .icon-btn{width:29px;height:34px}.political-board .header-actions .new-game{padding:6px}.political-board .header-actions .new-game span{display:none}.round-clock{margin-left:2px;font-size:10px}.political-board .status-corner{top:12px;left:12px;gap:6px}.political-board .turn-badge{min-width:0;padding:9px;gap:9px}.political-board .turn-badge strong{font-size:12px}.political-board .turn-badge small{font-size:9px}.political-board .turn-badge>svg{display:none}.presidency-badge{font-size:10px;padding:7px 9px}.political-board .overlay-toolbar{top:12px;right:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.overlay-toolbar>button{width:35px;height:35px}.political-board .world-event-chip{top:98px;right:12px;max-width:210px;padding:8px;font-size:10px}.political-map-key{left:14px;bottom:185px;font-size:9px}.political-map-key>span{display:none}.political-controls{width:calc(100% - 24px);max-width:450px;bottom:14px!important}.political-plan.action-tray{padding:14px!important;border-radius:13px;gap:10px!important}.plan-buttons .primary{font-size:12px}.election-calendar{font-size:9px;flex-wrap:wrap;gap:5px}.political-board .info-drawer{inset:98px 12px 14px auto;width:min(340px,calc(100% - 24px));max-width:calc(100% - 24px);border-radius:14px}.political-board .drawer-heading{padding:11px 13px 11px 16px}.political-board .drawer-body{padding:16px}.political-help-grid{grid-template-columns:1fr;gap:22px}.card-gallery-grid{gap:13px}.event-card-category{font-size:7px;margin:14px 12px 8px;gap:4px;letter-spacing:.2px}.event-card-category svg{width:10px;height:10px}.event-card-category>span{font-size:6px}.event-card-art{margin:0 8px}.event-card-title{font-size:23px;margin:12px 12px 8px}.event-card-description{font-size:10px;margin:0 12px 11px}.event-card-effect{font-size:8px;margin:auto 12px 11px;padding:7px}.event-card-footer{margin:0 12px 14px;font-size:7px;gap:5px}.card-filters{gap:6px}.card-filters button{font-size:10px;padding:8px 10px}.home-panel:has(.card-gallery),.home-panel:has(.political-mural){width:calc(100% - 20px);padding:28px 16px}.card-detail-layout{grid-template-columns:1fr;gap:25px}.card-detail-layout>.event-card{max-width:340px;width:100%;justify-self:center}.card-detail-layout .event-card-title,.political-hand-panel .event-card-title{font-size:30px}.card-detail-layout .event-card-description,.political-hand-panel .event-card-description{font-size:12px}.card-detail-layout .event-card-effect,.political-hand-panel .event-card-effect{font-size:10px}.public-room-grid{grid-template-columns:1fr}.mural-board{height:370px}.election-change-list{grid-template-columns:1fr}.political-board .toast{bottom:180px;font-size:11px}.election-reveal h1{font-size:38px}.custom-party-form{column-gap:12px}.plan-chips>span{font-size:9px}}@media(prefers-reduced-motion:reduce){.event-card-art img{transition:none}.event-card button:hover img{transform:none}}.party-badge>.party-mark{width:100%;height:100%;padding:2px;border-radius:7px}.party-badge .custom-party-mark{display:grid;place-items:center;font-size:10px;color:#fff;text-shadow:0 1px 3px #000}.political-board .political-map-key{left:92px;bottom:25px}@media(max-width:600px){.political-board .political-map-key{left:14px;bottom:190px}.party-badge>.party-mark{border-radius:5px}}.state-action-buttons button>span{display:grid;gap:5px;text-align:left}.state-action-buttons button small{font-size:9px;line-height:1.6;color:#b9ced9;font-weight:400}.state-action-buttons .primary small{color:#3e4b42}.state-action-buttons .primary{justify-content:flex-start}.mural-history{margin-top:25px;font-size:12px}.mural-history summary{color:var(--gold);cursor:pointer;padding:8px 0}.mural-history ol{font-size:11px;line-height:1.8;color:var(--muted);padding-left:19px}.mural-history li{margin:9px 0}@media(min-width:901px)and (max-width:1149px){.political-board:has(.info-drawer) .political-controls{visibility:hidden}}@media(max-width:760px){.political-board .header-round{display:flex;font-size:10px;gap:4px}.political-board .header-mode,.political-board .header-round>i,.political-board .header-round>.live-dot{display:none}.political-board .round-label{font-size:0}.political-board .round-label:after{content:"R";font-size:10px}.political-board .header-round>b{font-size:17px}.political-board .header-round>small{font-size:9px}.political-board .header-actions{margin-left:0}.political-board .map-tools{bottom:200px;left:12px;z-index:5}.political-board .map-tools>button{width:30px;height:30px}.political-board .map-tools>i,.political-board .map-tools>small{display:none}}@media(max-width:380px){.political-board .header-actions button[aria-label="Como jogar"]{display:none}.political-board .brand-name{font-size:21px}}
