.share-menu{background:#0b172180;border:1px solid #d8b8752c;border-radius:7px;margin-top:4px}.share-menu>summary{color:#d9c493;cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:12px 15px;font:12px/1.5 system-ui,sans-serif;list-style:none;display:flex}.share-menu>summary::-webkit-details-marker{display:none}.share-menu>summary>span{margin-left:auto;font-size:17px}.share-menu[open]>summary>span{transform:rotate(45deg)}.share-menu>summary:hover{background:#d8b87509}.share-menu>summary:focus-visible,.share-actions>a:focus-visible{outline-offset:3px;outline:2px solid #ffe2a0}.share-menu-body{padding:0 15px 14px}.share-menu-body>p{color:#aabbc4;margin:0 0 12px;font-size:11px;line-height:1.6}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.share-actions>a,.share-actions>button{color:#e6e6da;background:#172935;border:1px solid #536875;border-radius:5px;justify-content:center;align-items:center;gap:16px;min-height:44px;padding:9px 13px;font:12px/1.4 system-ui,sans-serif;text-decoration:none;display:inline-flex}.share-actions>a:hover,.share-actions>button:hover:not(:disabled){color:#f5e1b1;background:#243945;border-color:#d8b875}.share-actions>a>span{color:#d8b875}.share-menu-body .share-status{color:#d9c493;margin:10px 0 0}.share-menu-body .share-status:empty{display:none}.share-copy{margin-top:10px}.share-copy input{width:100%}.results-summary>.share-menu{margin-top:12px}@media (width<=620px){.share-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.card-surface{isolation:isolate;color:#fff0d4;background:#282018;overflow:hidden;container-type:inline-size}.card-art{border-radius:inherit;pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.card-image{object-fit:cover;width:100%;height:100%;display:block}.card-art:after{content:"";pointer-events:none;background:linear-gradient(#100c0899,#0000 27% 62%,#100c0866 76%,#100c08b3);position:absolute;inset:0}.card-surface .card-kind{z-index:1;text-transform:uppercase;letter-spacing:.09em;color:#f0d4a0;text-shadow:0 1px 3px #000;justify-content:space-between;align-items:center;gap:4px;min-height:20px;font-size:clamp(8px,4.8cqi,11px);display:flex;position:absolute;top:6%;left:8%;right:8%}.card-check{background:#17110b80;border:1px solid #be9a628c;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:13px;display:grid}.chosen .card-check{color:#302214;background:#f2d49b;border-color:#f2d49b}.card-copy{z-index:1;text-align:left;text-shadow:0 2px 4px #000,0 0 12px #0008;gap:6px;display:grid;position:absolute;bottom:6%;left:8%;right:8%}.card-copy strong{overflow-wrap:anywhere;text-wrap:balance;font:clamp(15px,10.5cqi,23px)/1.12 Georgia,serif}.card-copy small{color:#dcc8a7;text-wrap:balance;font-size:clamp(9px,4.8cqi,11px);line-height:1.4}.card-region-stamp{z-index:1;background:#16120dbd;border:1px solid #d6ae6a6b;border-radius:50%;width:clamp(22px,13cqi,30px);height:clamp(22px,13cqi,30px);padding:3px;position:absolute;top:16%;left:8%}.card-territory{fill:#dfb87930;stroke:#e8c98b;stroke-width:1px;width:100%;height:100%;display:block}.battle-dialog{color:#ece8db;background:#0d1a24;border:1px solid #847553;border-radius:15px;width:min(960px,100vw - 32px);max-height:calc(100dvh - 32px);padding:0;overflow-y:auto;box-shadow:0 25px 85px #000b}.battle-dialog[open]:focus{outline:none}.battle-dialog::backdrop{background:#030912c2}.battle-surface{isolation:isolate;grid-template-rows:auto auto minmax(340px,1fr) auto;min-height:min(740px,100dvh - 34px);display:grid;position:relative}.battle-finished .battle-surface{grid-template-rows:auto auto minmax(280px,1fr) auto}.battle-header{background:linear-gradient(#04090dc9,#07101938);justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex}.battle-location{align-items:center;gap:12px;min-width:0;display:flex}.battle-header h2{text-shadow:0 2px 8px #000,0 1px 2px #000;overflow-wrap:anywhere;margin:0;font:29px/1.1 Georgia,serif}.battle-territory{background-color:#02090bad;background-image:linear-gradient(#c8be9f10 1px,#0000 1px),linear-gradient(90deg,#c8be9f10 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:10px 10px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #d7c29440;border-radius:5px;flex-shrink:0;width:68px;height:48px;padding:4px}.battle-territory path{fill:#d4b77777;stroke:#f0d89e;stroke-width:1.2px;stroke-linejoin:round}.battle-tools{align-items:center;gap:9px;display:flex}.battle-sound{background:#06101788;place-items:center;width:44px;height:44px;padding:10px;display:grid}.battle-sound svg{width:22px;height:22px}.battle-sound[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.battle-close{background:#06101788;flex-shrink:0;width:44px;height:44px;padding:0;font-size:24px}.battlefield,.battlefield-art,.battlefield-vignette{pointer-events:none;position:absolute;inset:0}.battlefield{z-index:-1;background:#263239;overflow:hidden}.battlefield-art{object-fit:cover;object-position:center;width:100%;height:100%}.battlefield-vignette{background:linear-gradient(#03090d55,#0000 32% 68%,#03090dbb),linear-gradient(90deg,#351d1820,#0000,#0b213326)}.battlefield-units{pointer-events:none;width:100%;height:265px;position:absolute;bottom:285px}.battle-finished .battlefield-units{height:300px;bottom:76px}.battle-regiment{width:43%;max-width:410px;transition:opacity .65s,transform .65s;position:absolute;bottom:0}.battle-regiment.attacker{left:-1%}.battle-regiment.defender{right:-1%}.regiment-formation{position:relative}.regiment-formation img{width:100%;height:auto;transition:opacity .5s ease-out;display:block}.regiment-formation .regiment-result{opacity:0;position:absolute;inset:0}.has-result-art .regiment-standing{opacity:0}.has-result-art .regiment-result{opacity:1}.defender .regiment-formation img{transform:scaleX(-1)}.battle-regiment.is-defeated{opacity:.9}.battle-regiment.is-defeated img{filter:saturate(.8)}.battle-regiment.is-neutral img{filter:grayscale()}.regiment-formation.takes-hit{animation:.42s ease-out unit-hit}.battlefield-effects{width:100%;height:100%;position:absolute;inset:0}.battle-volley path{fill:none;stroke:color-mix(in srgb, var(--battle-attacker) 65%, white);stroke-width:2px;stroke-dasharray:13 350;stroke-linecap:round;animation:.55s ease-out 2 volley}.battle-volley path:last-child{stroke:color-mix(in srgb, var(--battle-defender) 65%, white);animation-delay:.17s}.battle-impact{animation:.65s ease-out both impact-burst}.battle-impact path{fill:none;stroke:#ffd080;stroke-width:2px}.battle-matchup{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:18px;padding:6px 24px 0;display:grid;position:relative}.army-attack,.attacking,.battle-losses>div:first-child{--side-color:var(--battle-attacker)}.army-defend,.defending,.battle-losses>div:last-child{--side-color:var(--battle-defender)}.army-status{border:1px solid color-mix(in srgb, var(--side-color) 55%, transparent);background:#08111796;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity strength""regiment strength""region region""meter meter";gap:2px 10px;min-width:0;padding:7px 10px;display:grid;box-shadow:0 5px 14px #0003}.army-side-title{grid-area:identity;align-items:baseline;gap:7px;min-width:0;display:flex}.army-side-title>span{color:var(--side-color);letter-spacing:.12em;flex-shrink:0;font-size:8px}.army-side-title>strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;line-height:1.3;overflow:hidden}.army-regiment-name{color:var(--side-color);letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap;grid-area:regiment;font-size:10px;line-height:1.3;overflow:hidden}.army-status>small{color:#bcc6c9;white-space:nowrap;text-overflow:ellipsis;grid-area:region;font-size:10px;line-height:1.3;overflow:hidden}.army-strength{grid-area:strength;grid-template-columns:14px auto;align-self:center;align-items:center;gap:0 4px;display:grid}.army-strength svg{width:14px;height:18px;color:var(--side-color)}.army-strength b{font-variant-numeric:tabular-nums;font-size:23px;line-height:1.1}.army-strength small{text-align:center;color:#b7c2c6;grid-area:2/1/auto/-1;font-size:8px;line-height:1.2}.army-strength em{color:color-mix(in srgb, var(--side-color) 65%, white);background:color-mix(in srgb, var(--side-color) 20%, transparent);border-radius:4px;grid-area:1/3;padding:1px 4px;font-size:10px;font-style:normal;font-weight:800;animation:.5s ease-out casualty}.army-meter{background:#0006;grid-area:meter;height:2px;margin-top:2px;overflow:hidden}.army-meter i{transform-origin:0;background:var(--side-color);width:100%;height:100%;transition:transform .4s ease-out;display:block}.battle-round{text-align:center;color:#eedbbe;text-shadow:0 2px 5px #000;align-self:center}.battle-round>span{letter-spacing:.16em;font-size:8px;display:block}.battle-round>b{font:29px Georgia,serif}.battle-round small{color:#c0bfb7;font:13px Georgia,serif}.battle-stage{place-items:center;min-width:0;padding:24px;display:grid}.battle-finished .battle-stage{padding-block:12px 108px}.battle-callout{text-align:center;pointer-events:none;text-shadow:0 3px 14px #000,0 1px 3px #000;background:radial-gradient(#030a1199,#0000 72%);justify-items:center;gap:4px;padding:16px 30px;display:grid}.battle-callout strong{color:#f6e3b6;letter-spacing:.03em;font:700 33px/1.05 Georgia,serif}.battle-callout span{color:#e5d9c7;font-size:10px}.battle-callout.resolved{animation:.32s ease-out callout-enter}.battle-callout.charging strong{color:#efd8bd}.victory-emblem{color:#f9d58b;width:70px;height:70px;margin:0 auto 8px}.victory-rays{background:radial-gradient(#ffc66b2e,#0000 65%);animation:.8s ease-out victory-light;position:absolute;inset:0}.battle-dialog:not(.battle-finished) .battle-stage{pointer-events:none;grid-area:3/1;align-self:start;padding:10px 24px}.battle-combat-hud{background:#071017b0;border:1px solid #ad95764a;border-radius:8px;grid-area:3/1;align-self:end;margin:205px 24px 12px}.battle-footer{grid-row:4}.battle-timeline{background:#69503466;height:2px;margin:0 6px}.battle-timeline i{transform-origin:0;background:#e9bf73;width:100%;height:100%;transition:transform .4s;display:block}.battle-table{grid-template-columns:1fr 34px 1fr;align-items:center;padding:12px 24px 2px;display:grid}.dice-side-label{text-align:center;color:var(--side-color);letter-spacing:.16em;margin-bottom:14px;font-size:8px;display:block}.battle-dice-row{justify-content:center;align-items:center;gap:27px;min-height:95px;display:flex}.battle-divider{text-align:center;color:#b7a98c;margin-top:-16px;font:italic 18px Georgia,serif}.battle-die{--size:44px;--half:22px;width:var(--size);height:calc(var(--size) + 37px);perspective:500px}.dice-cube{width:var(--size);height:var(--size);transform-style:preserve-3d;transform:rotateX(-14deg) rotateY(16deg) var(--landing);position:relative}.cube-face{background:linear-gradient(135deg, var(--side-color), #101a22);border:1px solid #fff4dc;border:1px solid color-mix(in srgb, var(--side-color) 55%, #fff4dc);background:linear-gradient(135deg, var(--side-color), color-mix(in srgb, var(--side-color) 55%, #101a22));backface-visibility:hidden;box-shadow:inset 0 0 7px color-mix(in srgb, var(--side-color) 40%, transparent);border-radius:6px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;padding:7px;display:grid;position:absolute;inset:0}.cube-face i{background:#fff0d5;border-radius:50%;box-shadow:inset 0 1px 2px #0007}.face-1{transform:translateZ(var(--half))}.face-6{transform:rotateY(180deg) translateZ(var(--half))}.face-2{transform:rotateY(90deg) translateZ(var(--half))}.face-5{transform:rotateY(-90deg) translateZ(var(--half))}.face-3{transform:rotateX(90deg) translateZ(var(--half))}.face-4{transform:rotateX(-90deg) translateZ(var(--half))}.rolling .dice-cube{animation:.85s cubic-bezier(.15,.6,.3,1) both battle-tumble;animation-delay:var(--delay)}.die-value{text-align:center;color:#e3e7e0;font-variant-numeric:tabular-nums;margin-top:9px;font-size:11px;display:block}.die-value small{letter-spacing:.13em;margin-top:2px;font-size:6px;display:block}.die-win .die-value{color:#ffe0a0}.die-loss .die-value,.die-unused .die-value{color:color-mix(in srgb, var(--side-color) 65%, #b9c2c8)}.die-win .cube-face{border-color:#ffe1a0}.die-loss .cube-face,.die-unused .cube-face{border-color:color-mix(in srgb, var(--side-color) 60%, #78868e);background:linear-gradient(135deg, color-mix(in srgb, var(--side-color) 65%, #23313a), color-mix(in srgb, var(--side-color) 35%, #101a22))}.die-loss .cube-face i,.die-unused .cube-face i{background:#bfb9aa}.battle-resolution{text-align:center;align-content:center;gap:5px;min-height:66px;padding:9px 20px;display:grid}.battle-resolution>small{color:#b6c2c8;font-size:9px}.battle-rolling-label{color:#bfaa84;font:italic 14px Georgia,serif}.battle-comparisons{justify-content:center;gap:14px;display:flex}.battle-comparisons>span{background:#08131c88;border:1px solid #8096a366;border-radius:4px;align-items:center;gap:8px;padding:3px 11px;display:flex}.battle-comparisons b{font-size:15px}.battle-comparisons small{font-size:10px}.attacker-wins{color:color-mix(in srgb, var(--battle-attacker) 75%, white)}.defender-wins{color:color-mix(in srgb, var(--battle-defender) 75%, white)}.battle-outcome{text-align:center;text-shadow:0 2px 7px #000;background:radial-gradient(#02080dd9,#02080d77 45%,#0000 72%);width:100%;max-width:700px;padding:28px 18px;animation:.4s ease-out callout-enter}.battle-outcome>.eyebrow{letter-spacing:.25em;color:#e0c9a0;font-size:9px;display:block}.battle-outcome h3{text-wrap:balance;margin:10px 0;font:42px/1.1 Georgia,serif}.battle-outcome p{color:#eee4d5;text-wrap:balance;font-size:13px}.battle-outcome.conquered h3{color:#ffe1a3}.battle-losses{text-shadow:none;justify-content:center;gap:10px;margin:24px 0 0;display:flex}.battle-losses>div{border:1px solid color-mix(in srgb, var(--side-color) 40%, transparent);background:#0810179e;border-radius:6px;min-width:140px;padding:10px 18px}.battle-losses dt{color:var(--side-color);font-size:10px}.battle-losses dd{color:color-mix(in srgb, var(--side-color) 65%, white);font-variant-numeric:tabular-nums;margin:4px 0 0;font:28px/1 Georgia,serif}.battle-footer{text-align:center;padding:14px 24px 20px}.battle-footer button{background:#071019b5;width:100%;max-width:440px;min-height:44px;font-weight:650}.battle-footer button.primary{background:#efd49afa;box-shadow:0 4px 24px #0007}@keyframes battle-tumble{0%{transform:translateY(-20px)rotateX(500deg)rotateY(430deg)scale(.75)}55%{transform:translateY(4px)rotateX(160deg)rotateY(200deg)}80%{transform:translateY(-7px) rotateX(-22deg) rotateY(30deg) var(--landing)}to{transform:rotateX(-14deg) rotateY(16deg) var(--landing)}}@keyframes unit-hit{30%{opacity:.5;transform:translate(5px)}65%{transform:translate(-3px)}}@keyframes volley{0%{stroke-dashoffset:0;opacity:0}20%{opacity:1}to{stroke-dashoffset:-360px;opacity:0}}@keyframes impact-burst{0%{opacity:1}to{opacity:0}}@keyframes casualty{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes callout-enter{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:none}}@keyframes victory-light{0%{opacity:0}to{opacity:1}}@media (width<=620px){.battle-dialog{border-radius:11px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.battle-surface{min-height:calc(100dvh - 18px)}.battle-header{gap:8px;padding:8px 10px}.battle-header h2{font-size:23px}.battle-location{gap:8px}.battle-territory{width:48px;height:42px}.battle-tools{gap:5px}.battlefield-art{object-position:54% center}.battlefield-units{height:190px;bottom:265px}.battle-finished .battlefield-units{height:210px;bottom:72px}.battle-regiment{width:55%}.battle-regiment.attacker{left:-5%}.battle-regiment.defender{right:-5%}.battle-matchup{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:6px;padding:6px 10px}.army-status{grid-template-areas:"identity identity""regiment strength""region strength""meter meter";column-gap:5px;padding:6px}.army-side-title{gap:5px}.army-side-title>span{letter-spacing:.08em;font-size:7px}.army-side-title>strong{font-size:13px}.army-regiment-name,.army-status>small{font-size:9px}.army-strength{grid-template-columns:12px auto;column-gap:3px}.army-strength svg{width:12px;height:16px}.army-strength b{font-size:20px}.army-strength small{font-size:7px}.army-strength em{padding-inline:3px;font-size:9px}.battle-round>b{font-size:24px}.battle-round small{font-size:10px}.battle-round>span{font-size:6px}.battle-stage,.battle-callout{padding:16px 10px}.battle-callout strong{font-size:26px}.battle-callout span{font-size:9px}.victory-emblem{width:62px;height:62px}.battle-finished .battle-stage{padding-block:16px 96px}.battle-combat-hud{margin:155px 10px 12px}.battle-table{grid-template-columns:1.2fr 20px 1fr;padding:11px 9px 0}.battle-dice-row{gap:14px;min-height:83px}.dice-side-label{letter-spacing:.09em;font-size:6px}.battle-die{--size:32px;--half:16px}.cube-face{border-radius:5px;gap:2px;padding:5px}.die-value{margin-top:8px}.die-value small{font-size:5px}.battle-resolution{min-height:63px;padding:7px 8px}.battle-comparisons{gap:7px}.battle-comparisons>span{gap:6px;padding:2px 7px}.battle-comparisons b{font-size:13px}.battle-comparisons small{font-size:9px}.battle-outcome{padding:20px 8px}.battle-outcome h3{font-size:34px}.battle-outcome p{font-size:12px}.battle-losses{gap:8px;margin-top:20px}.battle-losses>div{flex:1;min-width:0;max-width:160px;padding:10px}.battle-losses dd{font-size:25px}.battle-footer{padding:12px 10px 14px}}@media (prefers-reduced-motion:reduce){.battle-dialog *,.battle-dialog :before,.battle-dialog :after{transition:none!important;animation:none!important}.battle-impact,.battle-volley{display:none}}.game-dialog.rules-dialog{width:min(920px,100vw - 28px);height:min(800px,100dvh - 28px)}.rules-dialog[open]{flex-direction:column;display:flex;overflow:hidden}.rules-dialog .game-dialog-header{background:#101f29;flex-shrink:0;padding:14px 24px}.rules-dialog>.game-dialog-body{flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}.guide-tabs{background:#0d1b25;border-bottom:1px solid #58645c65;flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 16px;display:grid}.guide-tabs>button{color:#9eafb7;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:52px;padding:8px 4px;font-size:12px;display:flex}.guide-tabs>button[aria-selected=true]{color:#ffe0a0;background:linear-gradient(#0000,#dfbe7a16);border-bottom-color:#dfbe7a}.guide-tabs svg{flex-shrink:0;width:22px;height:22px}.guide-content{overscroll-behavior:contain;scrollbar-width:thin;flex:1;grid-auto-rows:max-content;align-content:start;gap:18px;min-height:0;padding:20px 24px;display:grid;overflow-y:auto}.guide-content:focus{outline-offset:-3px}.guide-footer{background:#101f29;border-top:1px solid #58645c65;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.guide-footer>button{min-height:42px;font-size:12px}.guide-footer>span{color:#9caeb7;font-size:11px}.rules-dialog h4{color:#f0d7a3;margin:0 0 7px;font-size:15px}.rules-dialog .guide-section-title h3{color:#f5e7c8;margin:4px 0 8px;font:29px/1.15 Georgia,serif}.rules-dialog .guide-caption{color:#98adb8;font-size:11px}.guide-hero{background:linear-gradient(90deg,#08151be6,#08151b60 55%,#08151b08),url(/assets/plains-BSMStq0Y.webp) 50%/cover;border:1px solid #9b825054;border-radius:10px;min-height:265px;position:relative;overflow:hidden}.guide-hero-copy{z-index:1;text-shadow:0 2px 6px #000;width:57%;padding:26px;position:relative}.rules-dialog .guide-hero h3{color:#ffebc2;margin:12px 0;font:38px/1.07 Georgia,serif}.rules-dialog .guide-hero p{color:#e1e4da;font-size:13px}.guide-victors{object-fit:contain;object-position:bottom right;width:54%;height:265px;position:absolute;bottom:0;right:0}.guide-settings{flex-wrap:wrap;gap:7px;display:flex}.guide-settings>span{color:#d9ceb4;background:#192e3638;border:1px solid #66766865;border-radius:5px;padding:4px 8px;font-size:11px}.guide-pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.guide-pillars article,.guide-two-notes article{background:#21333c66;border:1px solid #6e827b38;border-radius:8px;padding:14px}.guide-pillars svg{color:#ddbc79;width:26px;height:26px;margin-bottom:7px}.guide-note{background:#d8b8750d;border-left:2px solid #d8b875;border-radius:0 6px 6px 0;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.guide-note>svg{color:#dfc48a;flex-shrink:0;width:25px;height:25px}.guide-note strong{color:#e8d4ad}.guide-phases{gap:14px;display:grid}.guide-phases>article{background:#1b303c80;border:1px solid #6e827b48;border-radius:10px;grid-template-columns:50px minmax(0,1fr);gap:16px;padding:17px;display:grid}.guide-phase-icon{color:#e9c781;flex-direction:column;align-items:center;gap:7px;display:flex}.guide-phase-icon svg{width:32px;height:32px}.guide-phase-icon>span{color:#a79063;font:20px Georgia,serif}.guide-formula{color:#bed0d6;background:#08182290;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;padding:10px;font-size:12px;display:flex}.guide-formula b{color:#f1dab0;font-size:19px}.guide-formula>strong{color:#ffe0a0;font-size:15px}.guide-movement{justify-content:center;align-items:center;gap:20px;margin:14px 0;display:flex}.guide-movement>span{color:#78c5ee;grid-template-columns:22px auto;align-items:center;gap:2px 7px;display:grid}.guide-movement>.enemy{color:#ec9b89}.guide-movement b{font-size:19px}.guide-movement small{text-align:center;color:#bac7cc;grid-column:1/-1;font-size:10px}.guide-movement>svg,.guide-transfer svg{color:#dfbc76;width:28px;height:28px}.guide-transfer{color:#dfbc76;justify-items:center;gap:2px;display:grid}.guide-transfer b{font-size:10px}.guide-two-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guide-battle-scene{background:linear-gradient(#0000,#101f2980),url(/assets/highlands-BEkP_2wa.webp) 50% 58%/cover;border-radius:10px 10px 0 0;justify-content:space-between;align-items:flex-end;height:205px;margin-bottom:-18px;display:flex;overflow:hidden}.guide-battle-scene img{object-fit:contain;object-position:bottom;width:44%;height:auto;max-height:100%}.guide-battle-scene img:last-child{transform:scaleX(-1)}.guide-battle-scene>span{color:#ffe1a1;text-shadow:0 2px 6px #000;align-self:center;font:italic 22px Georgia,serif}.guide-battle-example{background:#09192380;border:1px solid #74806d66;border-radius:0 0 10px 10px;padding:16px 20px}.guide-dice-battle{grid-template-columns:1fr 30px 1fr;align-items:center;gap:12px;display:grid}.guide-dice-battle h4{color:var(--side-color);text-transform:uppercase;text-align:center;letter-spacing:.1em;font-size:11px}.guide-dice-battle .battle-dice-row{gap:24px;min-height:105px}.guide-versus{color:#d9b775;text-align:center;font:italic 20px Georgia,serif}.guide-comparisons{flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 12px;display:flex}.guide-comparisons>span{color:#c5d7df;border:1px solid #546b7380;border-radius:5px;align-items:center;gap:8px;padding:5px 9px;font-size:11px;display:flex}.guide-comparisons b{color:#f6dfad;font-size:16px}.guide-example-result{color:#d6e0e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.guide-example-result button{min-height:40px;font-size:11px}.guide-card-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:3px;display:grid}.guide-card-gallery figure{justify-items:center;gap:8px;min-width:0;margin:0;display:grid}.guide-card{aspect-ratio:2/3;border:1px solid #b49258;border-radius:8px;width:100%;max-width:136px;position:relative;box-shadow:0 6px 12px #0004}.guide-card-gallery figcaption{color:#f2d59d;font-size:12px}.guide-trade-values{background:#d8b8750b;border:1px solid #bb97574d;border-radius:8px;padding:15px}.guide-value-track{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.guide-value-track span{text-align:center;color:#ffe0a0;border:1px solid #9a82534d;border-radius:5px;flex:1;padding:8px 4px;font:24px Georgia,serif}.guide-fixed-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.guide-fixed-values div{flex-direction:column-reverse;gap:5px;display:flex}.guide-fixed-values dt{color:#bfcbce;font-size:11px}.guide-fixed-values dd{color:#ffe0a0;margin:0;font:28px Georgia,serif}.guide-card-bonus{background:#24403e4d;border-left:2px solid #dfc07e;align-items:center;gap:15px;padding:14px;display:flex}.guide-card-bonus>strong{color:#f5d797;font:38px Georgia,serif}.guide-world{background:#102c3b;border:1px solid #697d795e;border-radius:10px;overflow:hidden}.guide-world svg{width:100%;height:240px;padding:8px;display:block}@media (width<=620px){.guide-world svg{height:180px}}.guide-world path{stroke:#0d2530;stroke-width:1.5px}.guide-continent-prize{background:#0b1c27b3;justify-content:center;align-items:center;gap:14px;padding:10px;display:flex}.guide-continent-prize>strong{font:36px Georgia,serif}.guide-continent-prize>span{gap:3px;display:grid}.guide-continent-prize small{color:#b3c5ce;font-size:11px}.guide-continents{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.guide-continents button{justify-content:space-between;align-items:center;gap:7px;min-height:44px;font-size:12px;display:flex}.guide-continents b{color:var(--continent-color);font-size:17px}.guide-continents [aria-pressed=true]{border-color:var(--continent-color);background:color-mix(in srgb, var(--continent-color) 15%, #12232c)}@media (width<=620px){.game-dialog.rules-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.rules-dialog .game-dialog-header{padding:12px 16px}.guide-tabs{padding:0 8px}.guide-tabs>button{flex-direction:column;gap:3px;min-height:56px;font-size:10px}.guide-tabs svg{width:20px;height:20px}.guide-content{gap:14px;padding:14px}.guide-footer{padding:10px 14px}.guide-footer>button{min-height:44px}.rules-dialog .guide-section-title h3{font-size:26px}.guide-hero{min-height:305px}.guide-hero-copy{width:100%;padding:18px}.rules-dialog .guide-hero h3{font-size:31px}.guide-hero-copy p{width:70%}.guide-victors{width:76%;height:auto}.guide-pillars{grid-template-columns:1fr;gap:8px}.guide-pillars article{grid-template-columns:26px 1fr;gap:4px 12px;padding:12px;display:grid}.guide-pillars svg{grid-row:span 2;margin:0}.guide-pillars h4{margin:0}.guide-phases>article{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px}.guide-phase-icon svg{width:27px;height:27px}.guide-movement{gap:12px}.guide-movement b{font-size:16px}.guide-two-notes{grid-template-columns:1fr;gap:9px}.guide-battle-scene{height:150px;margin-bottom:-14px}.guide-battle-example{padding:12px 10px}.guide-dice-battle{grid-template-columns:1.25fr 16px 1fr;gap:6px}.guide-dice-battle .battle-die{--size:29px;--half:14.5px}.guide-dice-battle .battle-dice-row{gap:13px;min-height:83px}.guide-card-gallery{gap:8px}.guide-card-gallery figcaption{font-size:10px}.guide-fixed-values{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-value-track span{font-size:19px}.guide-continents{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-continents button{padding:8px;font-size:11px}}.turn-notice-layer{z-index:25;place-items:center;display:grid;position:fixed;inset:0}.turn-notice-layer,.turn-notice-layer *{pointer-events:none;-webkit-user-select:none;user-select:none}.turn-notice{color:#ffe5b3;text-shadow:0 2px 6px #000;background:linear-gradient(90deg,#0000,#0a1822ed 12%,#0a1822f5 50%,#0a1822ed 88%,#0000);justify-content:center;align-items:center;gap:24px;width:min(580px,100vw - 24px);padding:24px 32px;animation:.45s cubic-bezier(.2,.8,.3,1) both turn-notice-in;display:flex;position:relative}.turn-notice:before,.turn-notice:after{content:"";background:linear-gradient(90deg,#0000,#d2ac6580 15%,#f6dca0 50%,#d2ac6580 85%,#0000);height:1px;position:absolute;left:0;right:0}.turn-notice:before{top:0}.turn-notice:after{bottom:0}.turn-notice-emblem{width:76px;height:84px;color:var(--turn-color);background:radial-gradient(ellipse, color-mix(in srgb, var(--turn-color) 20%, transparent), transparent 72%);flex-shrink:0;place-items:center;animation:.55s ease-out .12s both turn-emblem-in;display:grid}.turn-notice-emblem svg{width:60px;height:70px}.turn-notice-copy{min-width:0}.turn-notice-round{color:#d5b77c;letter-spacing:.22em;text-transform:uppercase;font-size:10px}.turn-notice-copy>strong{margin:2px 0 6px;font:56px/1.05 Georgia,serif;display:block}.turn-notice-copy>p{color:#cbd7dc;font-size:13px;line-height:1.4}.turn-notice.is-leaving{animation:.4s ease-in both turn-notice-out}@keyframes turn-notice-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes turn-emblem-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes turn-notice-out{to{opacity:0;transform:translateY(-8px)}}@media (width<=600px){.turn-notice{gap:12px;padding:20px}.turn-notice-emblem{width:50px;height:62px}.turn-notice-emblem svg{width:44px;height:52px}.turn-notice-copy>strong{font-size:40px}.turn-notice-copy>p{font-size:12px}.turn-notice-round{font-size:9px}}@media (prefers-reduced-motion:reduce){.turn-notice,.turn-notice-emblem{animation:none}.turn-notice.is-leaving{opacity:0}}.game-dialog.fall-dialog{background:linear-gradient(110deg,#0a1822f5,#142c38fa 50%,#0a1822f5);border:1px solid #d2ac6580;border-radius:0;width:min(640px,100vw - 28px);margin:auto;animation:.45s ease-out both fall-notice-in;box-shadow:0 20px 80px #000b,0 0 50px #d2ac6514}.fall-dialog::backdrop{background:#030d17b8}.fall-dialog .game-dialog-header{border-bottom-color:#d2ac6580;padding:24px 28px}.fall-dialog .game-dialog-header h2{color:#ffe5b3;overflow-wrap:anywhere;text-shadow:0 2px 6px #000;font:clamp(30px,5vw,48px)/1.1 Georgia,serif}.fall-dialog .eyebrow{color:#d5b77c;letter-spacing:.22em}.fall-dialog .game-dialog-body{padding:24px 28px}@keyframes fall-notice-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.fall-notice{align-items:center;gap:20px;display:flex}.fall-emblem{width:84px;height:92px;color:var(--fall-color);background:radial-gradient(ellipse, color-mix(in srgb, var(--fall-color) 18%, transparent), transparent 72%);flex-shrink:0;place-items:center;display:grid}.fall-emblem svg{width:64px;height:74px}.fall-derrota .fall-emblem svg{filter:grayscale(.75)brightness(.8);animation:.6s ease-out both fall-drop;transform:rotate(-12deg)}.fall-retirada .fall-emblem svg{filter:grayscale(.5);opacity:.8}.fall-copy{overflow-wrap:anywhere;min-width:0}.fall-copy strong{color:var(--fall-color);letter-spacing:.04em;margin-bottom:6px;font-size:13px;display:block}.fall-copy p{color:#cbd7dc;margin:4px 0 0;font-size:14px;line-height:1.45}.fall-actions{margin-top:20px;display:grid}.fall-actions button{min-height:44px}@keyframes fall-drop{0%{opacity:.4;transform:rotate(0)translateY(-6px)}to{opacity:1;transform:rotate(-12deg)translateY(0)}}@media (prefers-reduced-motion:reduce){.game-dialog.fall-dialog,.fall-derrota .fall-emblem svg{animation:none}}@media (width<=520px){.fall-dialog .game-dialog-header,.fall-dialog .game-dialog-body{padding:18px}.fall-notice{gap:14px}.fall-emblem{width:60px;height:70px}.fall-emblem svg{width:48px;height:56px}}.army-counter,.army-counter *{pointer-events:none}.army-counter .army-count{font-variant-numeric:tabular-nums}.army-counter.is-gaining .army-number{transform-box:fill-box;transform-origin:50%;animation:.55s ease-out both army-number-rise}.army-counter.is-gaining .army-count{fill:#ffe5a6}.army-gain-halo{fill:#ffda881c;stroke:#ffe3a1;stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:.8s ease-out both army-gain-ring}.army-gain{animation:1.45s ease-out both army-gain-float}.army-gain rect{fill:#122d30f5;stroke:#e6c579;stroke-width:1.2px}.army-gain text{fill:#ffe6a9;text-anchor:middle;font:800 14px system-ui,sans-serif}.army-gain-chevron{fill:none;stroke:#a6e4c9;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}@keyframes army-number-rise{0%{transform:translateY(2px)scale(1)}35%{transform:translateY(-2px)scale(1.25)}to{transform:none}}@keyframes army-gain-ring{0%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(1.35)}}@keyframes army-gain-float{0%{opacity:0;transform:translateY(7px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1)}70%{opacity:1;transform:translateY(-7px)}to{opacity:0;transform:translateY(-17px)}}@media (prefers-reduced-motion:reduce){.army-counter *{animation:none!important}.army-gain-halo{display:none}}.map-battle-overlay,.map-battle-overlay *{pointer-events:none}.territory.combat-muted{opacity:.6}.garrison.combat-muted{opacity:.7}.territory.combat-attacker .land{fill:color-mix(in srgb, var(--owner) 68%, #e8d4a4);stroke:#ffe4aa;stroke-width:2.5px}.territory.combat-defender .land{fill:color-mix(in srgb, var(--owner) 68%, #d2e8e6);stroke:#f4ffff;stroke-width:2.5px}.garrison.combat-attacker .unit-base{stroke:#ffe4aa;stroke-width:3px}.garrison.combat-defender .unit-base{stroke:#f4ffff;stroke-width:3px}.bot-battle-arrow .movement-shadow{stroke-width:8px}.bot-battle-arrow .movement-line{stroke:var(--combat-color);stroke-width:4px}.bot-battle-arrow .movement-flow{stroke:#fff2cf;stroke-width:2px;stroke-dasharray:6 17;animation-duration:.65s}.bot-battle-arrow marker path{fill:var(--combat-color);stroke:#fff2cf}.combat-result .bot-battle-arrow{opacity:.4}.combat-result .movement-flow{stroke-dasharray:none;stroke-opacity:.4;animation:none}.combat-pulse{fill:none;stroke:var(--combat-color);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:.9s ease-out infinite combat-pulse}.combat-orbit{fill:none;stroke:#ffe7b8;stroke-width:1.3px;stroke-dasharray:5 12;opacity:.85}.combat-role rect{fill:#0b1824ed;stroke:var(--combat-color);stroke-width:1px}.combat-role text{fill:#fff0d5;text-anchor:middle;letter-spacing:.6px;font:700 8px system-ui,sans-serif}.combat-result-badge{animation:combat-result-enter .32s cubic-bezier(.16,1.4,.35,1) both, combat-result-exit .18s ease-in var(--combat-exit-delay) forwards}.combat-result-badge>rect{fill:#102020f5;stroke:currentColor;stroke-width:1.2px}.combat-winner{color:#ffe09b}.combat-loser{color:#f6a29b}.combat-loser>rect{fill:#281c23f5}.combat-ongoing{color:#d4e4e8}.combat-result-label{fill:currentColor;letter-spacing:.3px;font:800 9px system-ui,sans-serif}.combat-result-losses{fill:#eee4d5;font:9px system-ui,sans-serif}.emblem-victory{transform-origin:12px 14px;animation:.55s ease-out both combat-trophy}.combat-spark{animation:.6s ease-out both combat-spark}.broken-shield{transform-origin:14px 20px;animation:.45s ease-out both combat-shield}.map-battle-announcement{clip-path:inset(50%);white-space:nowrap;pointer-events:none;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes combat-pulse{0%{opacity:.85;transform:scale(.85)}to{opacity:0;transform:scale(1.55)}}@keyframes combat-result-enter{0%{opacity:0;transform:translateY(9px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes combat-result-exit{to{opacity:0;transform:translateY(-8px)}}@keyframes combat-trophy{0%{transform:rotate(-12deg)scale(.7)}65%{transform:rotate(8deg)scale(1.13)}to{transform:none}}@keyframes combat-spark{0%{opacity:0}40%{opacity:1}to{opacity:.3}}@keyframes combat-shield{to{transform:translate(1px,2px)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.map-battle-overlay *{animation:none!important}.combat-pulse{opacity:.65}}.campaign-results{overscroll-behavior:contain;color:#f1eadc;scrollbar-width:thin;scrollbar-color:#88754c #0d1a23;background:#0d1a23;border:1px solid #b69a606e;border-radius:14px;width:min(1060px,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;animation:.65s ease-out both campaign-arrive;overflow:auto;box-shadow:0 30px 120px #000b,0 0 90px #d8b8750c}.campaign-results::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030b14d9}.campaign-results:focus{outline:none}.results-hero{isolation:isolate;background:radial-gradient(at 25% 35%,#b6954429,#0000 65%),linear-gradient(135deg,#1c2e34,#111c26 65%);grid-template-columns:1.08fr 1fr;min-height:415px;display:grid;position:relative;overflow:hidden}.results-hero:before{content:"";z-index:-1;opacity:.35;background:linear-gradient(90deg,#07121b20,#0d1925d9 75%),url(/assets/battlefield-dusk-CKrW1Vt6.webp) 50%/cover;position:absolute;inset:0}.results-hero:after{content:"";bottom:0;background:linear-gradient(90deg,#0000,#d8b87599,#0000);height:1px;position:absolute;inset-inline:0}.results-art{align-items:flex-end;min-width:0;padding:40px 0 50px 15px;display:flex;position:relative}.results-halo{background:repeating-conic-gradient(#e8cd8320 0deg 5deg,#0000 5deg 20deg);border:1px solid #dac18430;border-radius:50%;width:370px;height:370px;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0008 35%,#0000 72%);mask-image:radial-gradient(circle,#000 0%,#0008 35%,#0000 72%)}.results-regiment{object-fit:contain;filter:drop-shadow(0 12px 24px #0009);transform-origin:bottom;width:112%;max-width:none;height:auto;animation:.9s ease-out both regiment-arrive;position:relative}.results-army-label{color:#e1d7bd;letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;width:100%;font:10px/1.5 system-ui,sans-serif;display:flex;position:absolute;bottom:22px;left:0}.results-army-label>svg{color:var(--winner-color);width:20px;height:24px}.results-intro{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px 35px 32px 15px;display:flex}.results-kicker{letter-spacing:.2em;color:#bcb69f;font:9px/1.5 system-ui,sans-serif}.results-kicker>span{color:#d8b875;margin-inline:7px}.results-honor{color:#c9aa69;width:112px;height:83px;margin-top:19px;position:relative}.results-honor>svg:first-child{width:100%;height:100%}.results-honor>svg:last-child{width:33px;height:42px;position:absolute;top:22px;left:40px}.campaign-results h2{text-transform:uppercase;letter-spacing:.045em;color:#f7dfa3;text-shadow:0 3px 25px #e5b35435;margin:6px 0 13px;font:72px/.98 Georgia,serif}.results-reason{color:#dfc68c;text-transform:uppercase;letter-spacing:.17em;justify-content:center;align-items:center;gap:12px;font-size:11px;display:inline-flex}.results-reason:before,.results-reason:after{content:"";background:#d8b87566;width:22px;height:1px}.results-description{color:#c6c7be;text-wrap:pretty;max-width:340px;margin-top:19px;font-size:13px;line-height:1.8}.results-winner{margin-top:19px}.results-winner span{color:#a5b0b6;letter-spacing:.1em;text-transform:uppercase;font-size:9px;display:block}.results-winner strong{overflow-wrap:anywhere;color:#f0e4c8;margin-top:3px;font:22px/1.3 Georgia,serif;display:block}.results-summary{padding:25px 35px 28px}.results-section-label{color:#a7b2b6;text-transform:uppercase;letter-spacing:.18em;text-align:center;font-size:9px}.results-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:19px 0 24px;display:grid}.results-stats>div{text-align:center;flex-direction:column-reverse;align-items:center;gap:5px;padding:0 10px;display:flex}.results-stats>div+div{border-left:1px solid #d8b87526}.results-stats dt{color:#aebabe;font-size:11px}.results-stats dd{color:#f0dcae;font-variant-numeric:tabular-nums;margin:0;font:38px/1.15 Georgia,serif}.results-stats dd small{color:#899ca5;font:15px Georgia,serif}.results-ranking{background:#ffffff02;border:1px solid #d8b87524;border-radius:7px}.results-ranking summary{cursor:pointer;color:#cdd4d3;justify-content:space-between;gap:12px;padding:14px 17px;font-size:12px;list-style:none;display:flex}.results-ranking summary::-webkit-details-marker{display:none}.results-ranking summary>span{color:#99adb8;align-items:center;gap:15px;font-size:10px;display:inline-flex}.results-ranking summary>span>span{color:#d8b875;font-size:17px}.results-ranking[open] summary>span>span{transform:rotate(45deg)}.results-ranking summary:hover{background:#d8b87508}.results-ranking summary:focus-visible{outline-offset:3px;outline:2px solid #f0d69f}.results-table-scroll{padding:0 16px 12px;overflow-x:auto}.results-ranking table{border-collapse:collapse;width:100%;font-size:11px}.results-ranking th,.results-ranking td{text-align:left;border-top:1px solid #ffffff0c;padding:11px 8px;font-weight:400}.results-ranking thead th{color:#9cafb9;font-size:10px}.results-ranking tbody th{overflow-wrap:anywhere;max-width:210px}.results-ranking .winner{color:#f0d69f;background:#d8b87508}.results-player-dot{border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.results-winner-tag{text-transform:uppercase;letter-spacing:.1em;margin-top:3px;margin-left:15px;font-size:8px;display:block}.results-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex}.results-footer p{color:#d9d3c2;font:15px Georgia,serif}.results-footer p>span{color:#93a6b0;margin-top:6px;font:11px system-ui,sans-serif;display:block}.results-footer .results-next{color:#1c211d;background:linear-gradient(120deg,#f0d698,#c6a059);border-radius:4px 12px;justify-content:center;align-items:center;gap:45px;min-height:48px;padding:13px 24px;display:flex;box-shadow:inset 0 1px #fff6,0 4px 24px #c6a05919}.results-next>span{font-size:22px}.results-sparks{pointer-events:none;position:absolute;inset:0;overflow:hidden}.results-sparks i{width:3px;height:3px;left:calc(8% + var(--i) * 7%);opacity:0;animation:campaign-ember 3s calc(var(--i) * .12s) ease-out both;background:#eed598;position:absolute;bottom:15%;box-shadow:0 0 8px #ffce5c}.is-defeat .results-halo,.is-defeat .results-honor{opacity:.5}.is-defeat h2{color:#d6dce0;text-shadow:none;font-size:53px}.results-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes campaign-arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes regiment-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes campaign-ember{0%{opacity:0;transform:translateY(0)}20%{opacity:.8}to{opacity:0;transform:translate(15px,-260px)}}@media (width<=760px){.campaign-results{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.results-hero{grid-template-columns:1fr}.results-intro{grid-row:1;padding:25px 22px 6px}.results-honor{width:82px;height:59px;margin-top:10px}.results-honor>svg:last-child{width:25px;height:31px;top:15px;left:29px}.campaign-results h2{margin:8px 0 10px;font-size:clamp(40px,10vw,65px)}.results-description{max-width:380px;margin-top:13px;font-size:12px}.results-winner{margin-top:12px}.results-art{justify-content:center;min-height:180px;padding:0 10px 43px}.results-regiment{object-fit:contain;width:min(100%,370px);max-height:240px}.results-halo{width:290px;height:290px}.results-army-label{font-size:9px;bottom:13px}.results-summary{padding:21px 18px}.results-stats dd{font-size:29px}.results-stats dd small{font-size:12px}.results-stats dt{font-size:10px}.results-footer{text-align:center;flex-direction:column;gap:18px;padding-top:22px}.results-footer .results-next{width:100%}.results-ranking summary{padding-inline:12px}.results-table-scroll{padding-inline:7px}.results-ranking th,.results-ranking td{padding-inline:5px;font-size:10px}}@media (prefers-reduced-motion:reduce){.campaign-results,.results-regiment,.results-sparks i{animation:none}.results-sparks{display:none}}@media (width<=760px){.results-regiment{max-height:190px}.results-art{padding-bottom:38px}.results-intro{padding-top:20px}.results-honor{margin-top:5px}.results-footer{z-index:2;background:#0d1a23f5;border-top:1px solid #d8b87518;margin:16px -18px -21px;padding:14px 18px 18px;position:sticky;bottom:0}.results-footer p{display:none}}.is-defeat .results-hero{background:radial-gradient(at 30% 65%,#ac795827,#0000 65%),linear-gradient(135deg,#192731,#111c26 65%)}.is-defeat .results-hero:before{opacity:.22}.is-defeat .results-halo{opacity:.8;background:radial-gradient(circle,#cdab6630,#0000 68%);border-color:#a4b9cb28}.is-defeat .results-honor{color:#bacbd4;opacity:.85}.is-defeat .results-regiment{filter:saturate(.8)drop-shadow(0 12px 24px #0009)}.is-defeat h2{color:#d7e1e6}.results-comeback{color:#ecd5a6;text-wrap:balance;margin-top:20px;font:22px/1.3 Georgia,serif}.is-defeat .results-description{margin-top:12px}.is-defeat .results-winner{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin-top:15px;display:flex}.is-defeat .results-winner strong{color:#b5c1c7;font:12px/1.5 system-ui,sans-serif}.is-defeat .results-winner span{font-size:9px}.results-next-plan{background:linear-gradient(100deg,#d8b8750a,#0000);border:1px solid #d8b87530;border-left:2px solid #d8b875;border-radius:5px;align-items:center;gap:15px;margin-bottom:16px;padding:17px 20px;display:flex}.results-next-plan>span{color:#e4c686;font-size:26px}.results-next-plan h3{color:#ecdbb5;font:17px/1.4 Georgia,serif}.results-next-plan p{color:#aebec6;margin-top:5px;font-size:12px;line-height:1.6}@media (width<=760px){.results-comeback{margin-top:14px;font-size:21px}.results-next-plan{gap:12px;padding:14px}.results-next-plan h3{font-size:16px}.is-defeat .results-regiment{max-height:170px}}.occupation-dialog{width:min(800px,100vw - 28px);max-width:none;max-height:calc(100dvh - 28px);color:var(--text);background:#101f29;border:1px solid #8a7957;border-radius:16px;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 90px #0009}.occupation-dialog::backdrop{background:#030b12c9}.occupation-header{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.occupation-header h2{margin-top:4px;font:28px/1.15 Georgia,serif}.occupation-header button{flex-shrink:0;min-width:44px;min-height:44px;font-size:22px}.occupation-map{background:#172f3b;border-block:1px solid #40545b;position:relative}.occupation-map>svg{width:100%;height:clamp(230px,35dvh,330px);display:block}.occupation-context{opacity:.19;stroke:#071b26;stroke-width:1px}.occupation-land{fill:color-mix(in srgb, var(--occupation-owner) 65%, #738b85);stroke-width:2.5px}.occupation-land.origin{stroke:#ffe2a0}.occupation-land.destination{stroke:#c2ffe9;fill:color-mix(in srgb, var(--occupation-owner) 83%, #a5d8bb)}.occupation-marker{fill:#102330;stroke:#ffe2a0}.occupation-marker.destination{stroke:#c2ffe9}.occupation-marker circle{fill:var(--occupation-owner);stroke-width:2px}.occupation-marker text{stroke:none;fill:#ffe2a0;text-anchor:middle}.occupation-marker.destination text{fill:#c2ffe9}.occupation-marker-role{letter-spacing:.4px;font:700 9px system-ui,sans-serif}.occupation-marker text.occupation-marker-count{fill:#fff;font:700 16px system-ui,sans-serif}.occupation-map-caption{color:#b6c9ce;pointer-events:none;background:#10212be8;border-radius:4px;padding:3px 7px;font-size:10px;position:absolute;bottom:8px;left:12px}.occupation-controls{gap:16px;padding:18px 24px 22px;display:grid}.occupation-distribution{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.occupation-country{border:1px solid #50605e;background:#172c37;border-left:3px solid #ffe2a0;border-radius:6px;min-width:0;padding:10px 14px}.occupation-country.destination{border-left-color:#c2ffe9}.occupation-country>span{letter-spacing:.15em;color:#ffe2a0;font-size:9px;display:block}.occupation-country.destination>span{color:#c2ffe9}.occupation-country>strong{margin-top:3px;font-size:14px;display:block}.occupation-country>div{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.occupation-country svg{color:var(--occupation-owner);width:18px;height:22px}.occupation-country s,.occupation-country small{color:var(--muted);font-size:11px}.occupation-country b{font-variant-numeric:tabular-nums;font-size:22px}.occupation-country div>span{color:var(--muted)}.occupation-amount{gap:5px;display:grid}.occupation-amount>label{color:var(--text);justify-content:space-between;align-items:center;font-size:13px;display:flex}.occupation-amount output{color:#ffe2a0;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.occupation-slider{align-items:center;gap:10px;display:flex}.occupation-slider button{flex:0 0 44px;height:44px;padding:0;font-size:21px}.occupation-slider input{flex:1;height:44px;margin:0;padding:0}.occupation-limits{justify-content:space-between;gap:12px;display:flex}.occupation-limits button{min-height:32px;padding:5px 9px;font-size:11px}.occupation-amount>p{color:var(--muted);margin-top:3px;font-size:11px}.occupation-confirm{justify-content:center;align-items:center;gap:14px;min-height:46px;display:flex}@media (width<=540px){.occupation-dialog{border-radius:12px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.occupation-header{padding:14px}.occupation-header h2{font-size:24px}.occupation-header .eyebrow{font-size:8px}.occupation-controls{gap:12px;padding:12px 14px 16px}.occupation-distribution{gap:8px}.occupation-country{padding:8px 10px}.occupation-country>strong{font-size:12px}.occupation-country>div{gap:5px}.occupation-country small{flex-basis:100%}.occupation-limits button{min-height:38px}}.card-reward-layer{z-index:30;position:fixed;inset:0}.card-reward-layer,.card-reward-layer *{pointer-events:none;-webkit-user-select:none;user-select:none}.card-reward-anchor{perspective:1000px;width:216px;height:324px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-reward-anchor:before{content:"";background:radial-gradient(#f4cf8a45,#09182099 48%,#0000 72%);animation:.65s ease-out both card-reward-halo;position:absolute;inset:-75px}.card-reward-title{text-align:center;color:#fff0cf;text-shadow:0 2px 5px #000,0 0 18px #000;background:radial-gradient(#091820ec 25%,#09182088 55%,#0000 75%);padding:8px 12px;animation:.45s ease-out both card-reward-heading;position:absolute;bottom:calc(100% + 18px);left:-55px;right:-55px}.card-reward-title .eyebrow{color:#f6d58e;font-size:9px}.card-reward-title strong{margin-top:4px;font:29px/1.1 Georgia,serif;display:block}.card-reward-flight,.card-reward-turn{width:100%;height:100%}.card-reward-turn{transform-style:preserve-3d;animation:.7s cubic-bezier(.2,.7,.3,1) both card-reward-reveal;position:relative}.is-loading .card-reward-turn{animation:none;transform:rotateY(-180deg)}.card-reward-front,.card-reward-back{backface-visibility:hidden;border:1px solid #f6d99a;border-radius:14px;position:absolute;inset:0;box-shadow:0 12px 35px #0008,inset 0 0 0 5px #d8b87519}.card-reward-front{padding:0}.card-reward-back{color:#f2d699;background:repeating-linear-gradient(45deg,#dfc08b0a 0 1px,#0000 1px 12px),#132d38;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;transform:rotateY(180deg)}.card-reward-back>span{border:1px solid #d8b875;border-radius:8px 8px 35px 35px;place-items:center;width:83px;height:102px;font:64px Georgia,serif;display:grid}.card-reward-back strong{letter-spacing:.15em;font:19px Georgia,serif}.card-reward-back small{letter-spacing:.15em;font-size:7px}.card-reward-caption{text-align:center;color:#e9dec8;text-shadow:0 1px 4px #000,0 0 10px #000;margin:0;font-size:12px;position:absolute;top:calc(100% + 16px);left:-35px;right:-35px}.is-flying .card-reward-flight{animation:.8s cubic-bezier(.4,0,.3,1) both card-reward-collect}.is-flying .card-reward-title,.is-flying .card-reward-caption,.is-flying .card-reward-anchor:before{visibility:hidden}.cards-toggle.has-new-card{color:#ffe0a0;border-color:#f5d28a;box-shadow:0 0 0 2px #dfb86344,0 0 18px #e1b76340}.new-card-label{color:#ffe1a3;white-space:nowrap;background:#172a32ed;border:1px solid #cfa85e;border-radius:5px;padding:3px 6px;font-size:10px;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.card-arrival-ring{border-radius:inherit;pointer-events:none;border:2px solid #ffe0a0;animation:.7s ease-out both card-arrival-ring;position:absolute;inset:-4px}.card-count-arrived{animation:.55s ease-out card-count-pop}@keyframes card-reward-reveal{0%{opacity:0;transform:rotateY(-180deg)translateY(25px)scale(.75)}20%{opacity:1;transform:rotateY(-180deg)translateY(0)scale(.94)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes card-reward-collect{0%{opacity:1;transform:translate(0,0)scale(1)}55%{transform:translate3d(calc(var(--reward-x) * .55),calc(var(--reward-y) * .55 - 35px),0) scale(.6) rotate(-9deg);opacity:1}to{transform:translate3d(var(--reward-x),var(--reward-y),0) scale(var(--reward-scale));opacity:0}}@keyframes card-reward-halo{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes card-reward-heading{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-arrival-ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.65)}}@keyframes card-count-pop{0%,to{transform:scale(1)}35%{transform:scale(1.45)}}@media (width<=700px){.card-reward-anchor{width:184px;height:276px}.card-reward-title strong{font-size:26px}}@media (height<=500px){.card-reward-anchor{width:154px;height:231px}.card-reward-title{bottom:calc(100% + 9px)}.card-reward-title strong{font-size:23px}.card-reward-title .eyebrow{font-size:7px}.card-reward-caption{font-size:10px;top:calc(100% + 9px)}.new-card-label{top:calc(100% + 5px);left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.card-reward-turn{transform:none}.card-arrival-ring{display:none}}.hud-tool.conquest-toggle{--ring-color:var(--conquest-color);padding:3px}.hud-tool>.conquest-globe{width:38px;height:38px;overflow:visible}.conquest-track{fill:none;stroke:#829ca140;stroke-width:2.8px}.conquest-ring{fill:none;stroke:var(--ring-color);stroke-width:2.8px;stroke-linecap:round;transition:stroke-dashoffset .65s,stroke-opacity .2s}.globe-grid{fill:none;stroke:#b4d1ce;stroke-opacity:.16;stroke-width:.65px}.globe-land{fill:#c3cfab;stroke:#dde5c8;stroke-width:.3px;stroke-linejoin:round}.conquest-percent{color:#f5e3b8;font-variant-numeric:tabular-nums;background:#101f2af5;border:1px solid #73857a;border-radius:5px;justify-content:center;align-items:baseline;gap:1px;min-width:31px;padding:0 4px;font-size:11px;font-weight:750;line-height:15px;display:flex;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.conquest-percent small{font-size:8px}.conquest-toggle.is-complete{--ring-color:#f5d48f;border-color:#d3b36e}.is-complete .conquest-percent{color:#17242c;background:#ead092;border-color:#f5d48f}@media (prefers-reduced-motion:reduce){.conquest-ring{transition:none}}.trade-reward-layer{z-index:31;position:fixed;inset:0}.trade-reward-layer,.trade-reward-layer *{pointer-events:none;-webkit-user-select:none;user-select:none}.trade-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.trade-reward-anchor{text-align:center;color:#f9e2af;text-shadow:0 2px 5px #000;width:min(320px,100vw - 32px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.trade-reward-anchor:before{content:"";z-index:-1;background:radial-gradient(#07131bee 20%,#07131bd9 45%,#07131b66 60%,#0000 73%);animation:.3s ease-out both trade-heading-in;position:absolute;inset:-38px -24px}.trade-reward-heading>span{letter-spacing:.2em;color:#e2bc74;font-size:9px}.trade-reward-heading>strong{margin-top:6px;font:28px/1.2 Georgia,serif;display:block}.trade-reward-heading{animation:.4s ease-out both trade-heading-in}.trade-conversion{place-items:center;height:164px;display:grid;position:relative}.trade-medal-anchor{width:132px;height:132px}.trade-medal{outline-offset:5px;background:radial-gradient(at 40% 10%,#8e734345,#0000 70%),linear-gradient(140deg,#26333a,#101c24 70%);border:1px solid #edcb8d;border-radius:50%;outline:1px solid #b889424d;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;animation:.55s cubic-bezier(.2,.8,.3,1) .45s both trade-medal-in;display:flex;box-shadow:0 0 30px #cfa45430,inset 0 0 0 5px #e8be7612}.trade-medal svg{width:23px;height:27px;color:var(--regiment-color)}.trade-medal strong{font-variant-numeric:tabular-nums;font:52px/1.05 Georgia,serif}.trade-medal>span{letter-spacing:.16em;color:#e0c792;margin-top:3px;font-size:8px}.trade-spent-cards{place-items:center;display:grid;position:absolute;inset:0}.trade-spent-card{border:1px solid #cba666;border-radius:5px;width:65px;height:98px;animation:.8s ease-in-out both trade-cards-convert;position:absolute;box-shadow:0 5px 15px #0008}.trade-spent-card .card-region-stamp{display:none}.trade-reward-copy{animation:.4s ease-out .55s both trade-heading-in}.trade-reward-copy>p{color:#d9e0df;margin:0;font-size:12px}.trade-region-bonus{text-align:left;background:#11212ce8;border:1px solid #ba975a80;border-radius:7px;align-items:center;gap:8px;max-width:100%;padding:7px 11px;display:inline-flex;margin-top:12px!important}.trade-region-bonus>b{color:#f4d897;font:26px Georgia,serif}.trade-region-bonus>span{font-size:10px}.trade-region-bonus strong{color:#f5e4c1;font-size:12px;display:block}.is-departing .trade-medal{animation:.65s ease-out both trade-medal-fade}.is-departing.has-target .trade-medal{animation:.65s cubic-bezier(.45,0,.35,1) both trade-medal-collect}.is-departing .trade-reward-heading,.is-departing .trade-reward-copy,.is-departing .trade-reward-anchor:before{animation:.25s ease-out both trade-copy-out}.reinforcement-total{color:#f5d797;font-variant-numeric:tabular-nums;background:#e2bc7420;border-radius:5px;min-width:22px;padding:1px 5px;display:inline-block}@keyframes trade-heading-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes trade-cards-convert{0%{opacity:0;transform:translate(var(--card-offset), 15px) rotate(var(--card-angle)) scale(.8)}25%,45%{opacity:1;transform:translate(var(--card-offset), 0) rotate(var(--card-angle)) scale(1)}to{opacity:0;transform:translateY(8px)rotate(0)scale(.25)}}@keyframes trade-medal-in{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes trade-medal-collect{to{opacity:0;transform:translate(var(--trade-x), var(--trade-y)) scale(.18)}}@keyframes trade-medal-fade{to{opacity:0;transform:translateY(-12px)scale(.92)}}@keyframes trade-copy-out{to{opacity:0}}@media (width<=600px),(height<=500px){.trade-reward-heading>strong{font-size:24px}.trade-conversion{height:138px}.trade-medal-anchor{width:112px;height:112px}.trade-medal strong{font-size:44px}.trade-medal svg{width:20px;height:23px}}@media (height<=500px){.trade-reward-anchor{top:47%}.trade-conversion{height:120px}.trade-region-bonus{margin-top:5px!important}}@media (prefers-reduced-motion:reduce){.trade-spent-cards{display:none}.is-departing.trade-reward-layer{visibility:hidden}}.campaign-feed{z-index:2;bottom:max(72px, calc(var(--actions-height,0px) + max(12px, env(safe-area-inset-bottom)) + 10px));left:max(14px, env(safe-area-inset-left));-webkit-user-select:none;user-select:none;flex-direction:column;gap:2px;width:min(340px,100% - 88px);display:flex;position:absolute}.campaign-feed,.campaign-feed *{pointer-events:none}.campaign-feed-slot{grid-template-rows:1fr;transition:opacity .4s ease-out;animation:.4s ease-out campaign-slot-in;display:grid}.campaign-feed-slot:nth-last-child(n+4){opacity:0}.campaign-feed-content{min-height:0;overflow:hidden}.campaign-feed-message{color:#c9d8dd;text-shadow:0 1px 3px #000c;animation:campaign-message var(--feed-lifetime) linear both;background:linear-gradient(90deg,#06131ab8,#06131a66 80%,#0000);border-left:2px solid #8dabb378;margin:0;padding:3px 8px;font-size:12px;line-height:16px}.campaign-feed-message>span{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.campaign-feed-message.feed-conquest{color:#f4d492;border-left-color:#e1bc70}.campaign-feed-message.feed-turn{color:#d9e5d8;border-left-color:#acd0a7}.campaign-feed-message.feed-battle{border-left-color:#df9b80}@keyframes campaign-slot-in{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes campaign-message{0%{opacity:0;transform:translateY(9px)}6%,72%{opacity:1;transform:translateY(0)}88%{opacity:.55;transform:translateY(-3px)}to{opacity:0;transform:translateY(-10px)}}@media (width<=700px),(height<=500px){.campaign-feed-slot:nth-last-child(n+3){opacity:0}.campaign-feed-message{padding:2px 6px;font-size:11px;line-height:15px}}@media (width<=700px){.campaign-feed{left:max(68px, calc(env(safe-area-inset-left) + 60px));bottom:calc(var(--actions-height,0px) + max(68px, calc(env(safe-area-inset-bottom) + 60px)));width:min(310px,100% - 140px)}}@media (height<=500px) and (width>=600px){.campaign-feed{left:max(14px, env(safe-area-inset-left));width:min(340px,100% - 150px)}}@media (prefers-reduced-motion:reduce){.campaign-feed-slot{transition:none;animation:none}.campaign-feed-message{animation:none}}.game-screen{isolation:isolate;--hud-surface:#0c1b26db;--hud-border:#73877e60;--actions-height:0px;background:#102635;height:100dvh;position:fixed;inset:0;overflow:hidden}.game-header{z-index:3;min-height:68px;padding:max(12px, env(safe-area-inset-top)) max(72px, calc(env(safe-area-inset-right) + 60px)) 10px max(72px, calc(env(safe-area-inset-left) + 60px));pointer-events:none;justify-content:center;display:flex;position:absolute;inset:0 0 auto}.map-stage{position:absolute;inset:0;overflow:hidden}.action-dock{z-index:3;bottom:max(12px, env(safe-area-inset-bottom));scrollbar-width:thin;pointer-events:none;border-radius:10px;width:min(760px,100% - 150px);max-height:40dvh;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)}.action-dock>.turn-actions{width:100%;margin:0}.game-screen .map-section{padding:0;display:block;position:absolute;inset:0}.game-screen .board{width:100%;height:100%;box-shadow:none;background:radial-gradient(at 50% 40%,#254957,#102635);border:0;border-radius:0}.game-screen .world-map{aspect-ratio:auto;width:100%;height:100%;min-height:0}.turn-hud{pointer-events:none;width:min(650px,100%)}.turn-band,.turn-actions{pointer-events:auto;background:var(--hud-surface);border:1px solid var(--hud-border);border-radius:10px;box-shadow:0 5px 18px #0002}.turn-band{flex-wrap:wrap;align-items:center;gap:8px 18px;padding:9px 16px;display:flex}.turn-status{white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.turn-status strong{color:#f2e4c7;font-size:12px}.turn-status>span:not(.dot){color:#a5b8c2}.turn-status .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.turn-status .countdown{border:0;width:auto;height:auto;margin:0;font-size:11px}.turn-band .phase-track{flex:1;gap:8px;min-width:235px;margin:0;padding:0;list-style:none}.turn-band .phase-track>li{text-align:center;color:#a9b9c1;border-top:0;border-bottom:2px solid #8199a12b;justify-content:center;align-items:center;gap:6px;min-width:0;padding:6px 4px;font-size:11px;display:flex;position:relative}.turn-phase-icon{flex-shrink:0;width:19px;height:19px;display:block}.turn-band .phase-track>.active{color:#f5d797;background:linear-gradient(#0000,#e2be7514);border-bottom-color:#e2be75}.turn-band .connection{flex-basis:100%;font-size:10px}.turn-actions.panel{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.turn-actions.panel .hint{text-align:center;flex-basis:100%;font-size:12px;line-height:1.45}.turn-actions.panel .actions{justify-content:center;gap:6px}.turn-actions.panel .actions button{min-height:38px;padding:7px 11px;font-size:11px}.turn-actions .error{width:100%}.turn-actions input[type=range]{max-width:270px;height:36px;margin:0;padding:0}.turn-actions .odds{text-align:center;flex-basis:100%;gap:4px;max-width:420px;font-size:10px}.turn-actions .odds .bar{height:3px}.turn-actions .trade-prompt{color:#f5d797;border-color:#d8b875;font-size:12px}.waiting-turn{width:auto;max-width:100%}.waiting-turn .turn-band{justify-content:center}.hud-tool{border:1px solid var(--hud-border);color:#dfddcc;background:var(--hud-surface);border-radius:10px;justify-content:center;align-items:center;width:46px;height:46px;padding:10px;display:inline-flex;position:relative;box-shadow:0 4px 12px #0002}.hud-tool>svg{width:23px;height:23px;display:block}.map-tools{z-index:4;left:max(12px, env(safe-area-inset-left));gap:9px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.hud-count{color:#17242c;background:#e0c385;border:1px solid #ead399;border-radius:6px;place-items:center;min-width:21px;height:21px;padding:0 4px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.cards-toggle.needs-trade{border-color:#f0ca79;box-shadow:0 0 0 2px #d8b87544}.game-screen .game-options{z-index:5;right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));pointer-events:auto;margin:0;position:absolute}.game-screen .options-toggle{z-index:auto;display:flex}.game-screen .zoom{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));gap:5px;display:grid;left:auto}.game-screen .zoom button{border-color:var(--hud-border);background:var(--hud-surface);width:44px;height:44px;font-size:23px}.game-screen .route-toggle{bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));background:var(--hud-surface);border-color:var(--hud-border);min-height:44px;right:auto}.game-screen .map-inspector{bottom:calc(var(--actions-height) + max(12px, env(safe-area-inset-bottom)) + 8px);text-align:center;pointer-events:none;background:#0c1b26c9;border-radius:7px;justify-content:center;gap:3px 10px;max-width:calc(100% - 175px);min-height:0;padding:7px 12px;font-size:10px;position:absolute;left:50%;transform:translate(-50%)}.game-screen .map-inspector strong{font-size:11px}.game-dialog{width:min(700px,100vw - 28px);max-width:none;max-height:calc(100dvh - 28px);color:var(--text);background:#10212ced;border:1px solid #81795f;border-radius:14px;padding:0;overflow:auto;box-shadow:0 20px 80px #0009}.game-screen .game-dialog:focus{outline:none}.game-dialog::backdrop{background:#030d17b8}.game-dialog-header{border-bottom:1px solid #6e827b38;justify-content:space-between;align-items:center;gap:14px;padding:20px 24px;display:flex}.game-dialog-header h2{margin-top:3px;font:28px/1.2 Georgia,serif}.game-dialog-header button{flex-shrink:0;width:44px;height:44px;padding:0;font-size:23px}.game-dialog-body{gap:18px;padding:22px 24px;display:grid}.dialog-hint,.rules-dialog p,.rules-dialog li{color:#acbdc6;font-size:13px}.rules-dialog h3,.campaign-dialog h3{color:#e4cc99;font-size:14px}.rules-dialog ul,.rules-dialog ol{margin:0;padding-left:22px}.options-dialog{max-width:380px}.options-dialog .game-dialog-body>button{text-align:left;min-height:44px}.campaign-players{gap:8px;display:grid}.campaign-player{border:1px solid #43595f;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.campaign-player.current{background:#d8b8750d;border-color:#c2a36b}.campaign-player.out{opacity:.55}.campaign-emblem{flex-shrink:0;display:flex}.campaign-player strong{font-size:13px}.campaign-player small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.campaign-turn{color:var(--accent);margin-left:auto;font-size:10px}.campaign-dialog .continent-legend{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0}.campaign-dialog .continent-legend>div>span{font-size:12px}.campaign-dialog .log{max-height:60dvh;padding:0 0 0 5px;font-size:12px}.cards-dialog{width:min(760px,100vw - 28px)}.cards-dialog[open]{flex-direction:column;display:flex;overflow:hidden}.cards-dialog .game-dialog-header{flex-shrink:0;padding:14px 20px}.cards-dialog>.game-dialog-body{flex-direction:column;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}.cards-collection{overscroll-behavior:contain;scrollbar-width:thin;align-content:start;gap:14px;min-height:0;padding:16px 20px;display:grid;overflow-y:auto}.hand-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.hand-card{aspect-ratio:2/3;text-align:left;border:1px solid #a18250;border-radius:10px;width:100%;min-width:0;padding:0;display:block;position:relative;box-shadow:0 4px 10px #0004}.hand-card.chosen{border-color:#ffe0a0;box-shadow:0 0 0 2px #ffe0a0,0 4px 14px #0006}.cards-trade{background:#101f29f5;border-top:1px solid #796848;flex-shrink:0;gap:10px;padding:12px 20px 16px;display:grid;box-shadow:0 -6px 18px #0002}.trade-summary{gap:8px;display:grid}.trade-selection{justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;display:flex}.trade-selection>strong{color:#e1c997;font-size:12px}.trade-selection>span{color:#aebfc6}.trade-preview{grid-template-columns:minmax(0,1fr);gap:10px;min-height:76px;display:grid}.trade-preview.has-bonus{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-yield{background:linear-gradient(110deg,#d6af6222,#d6af6206);border:1px solid #d2b37473;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}.trade-yield>strong{color:#ffe2a0;font-variant-numeric:tabular-nums;flex-shrink:0;font:40px/1 Georgia,serif}.trade-yield>span{gap:3px;min-width:0;display:grid}.trade-yield b{color:#f5e4c2;overflow-wrap:anywhere;font-size:13px;line-height:1.25}.trade-yield small{color:#b4c2c7;font-size:11px;line-height:1.3}.trade-bonus{background:#263d4738;border-color:#738c9859}.trade-bonus>strong{color:#bad5e0;font-size:32px}.trade-help{color:#afc2cc;border:1px dashed #52646b;border-radius:8px;align-content:center;padding:10px 14px;font-size:12px}.trade-help.invalid-set{color:#f0c38e;border-color:#ad8954}.trade-unavailable{color:#c7bba5;font-size:12px}.cards-trade button{min-height:44px;font-size:13px}.cards-trade .error{margin:0}.trade-notice{color:#f3d79b;background:#d8b87514;border-left:3px solid #d8b875;padding:10px;font-size:12px}.cards-empty{text-align:center;color:#adbdc6;padding:24px 12px}.cards-empty>span{color:var(--accent);font-size:54px}.cards-empty h3{color:#e6dbbf;margin:8px 0}.cards-empty p{font-size:13px}@media (width<=700px){.game-header{min-height:64px;padding:max(8px, env(safe-area-inset-top)) max(64px, calc(env(safe-area-inset-right) + 56px)) 8px max(10px, env(safe-area-inset-left));justify-content:flex-start}.turn-hud{width:100%}.action-dock{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));width:auto;transform:none}.game-screen .zoom,.game-screen .route-toggle{bottom:calc(var(--actions-height) + max(8px, env(safe-area-inset-bottom)) + 8px)}.turn-band{gap:8px;padding:6px 10px}.turn-status{flex-basis:auto;gap:6px;font-size:10px}.turn-status strong{font-size:11px}.my-turn .turn-status{grid-template-columns:7px auto;gap:3px 5px;display:grid}.my-turn .turn-status .turn-round,.my-turn .turn-status .countdown{grid-column:2}.turn-band .phase-track{gap:4px;min-width:114px}.turn-band .phase-track>li{min-height:34px;padding:5px 4px}.turn-phase-icon{width:21px;height:21px}.turn-band .phase-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.turn-actions.panel{gap:7px;padding:8px}.turn-actions.panel .hint{font-size:11px}.turn-actions.panel .actions button{min-height:40px;padding:6px 8px;font-size:10px}.turn-actions .odds{font-size:9px}.turn-actions .odds>span{text-wrap:balance}.map-tools{left:max(10px, env(safe-area-inset-left));top:auto;bottom:calc(var(--actions-height) + max(76px, calc(env(safe-area-inset-bottom) + 64px)));transform:none}.hud-tool{width:44px;height:44px}.game-screen .game-options{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}.waiting-turn{max-width:none}.waiting-turn .turn-status{white-space:normal;flex-wrap:wrap}.game-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.game-dialog-header{padding:16px}.game-dialog-header h2{font-size:25px}.game-dialog-body{gap:14px;padding:16px}.hand-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}}@media (width<=520px){.cards-dialog .game-dialog-header{padding:12px}.cards-collection{gap:12px;padding:12px}.hand-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hand-card{justify-self:center;max-width:156px}.cards-trade{gap:8px;padding:10px 12px 12px}.trade-preview{gap:8px;min-height:96px}.trade-yield{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:8px 10px}.trade-yield>strong{font-size:34px}.trade-bonus>strong{font-size:28px}.trade-yield b{font-size:12px}.trade-yield small{font-size:10px}}@media (height<=500px) and (width>=600px){.game-header{padding-top:max(7px, env(safe-area-inset-top));min-height:58px;padding-bottom:7px}.turn-hud{width:min(620px,100%)}.turn-band{padding:4px 10px}.turn-status{flex-basis:auto}.turn-actions.panel{gap:4px 8px;padding:5px 10px}.turn-actions.panel .actions button{min-height:32px;padding:5px 9px}.map-tools{top:max(70px, calc(env(safe-area-inset-top) + 70px));gap:6px;display:flex;bottom:auto;transform:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a141d;--panel:#121f2a;--border:#2a3a44;--text:#e9e9df;--muted:#93a4ae;--accent:#d8b875;--danger:#e87672;--p1:#62b5e5;--p2:#e88273;--p3:#7abf94;--p4:#e3c571;--p5:#ba9adb;--p6:#eba668;--neutral:#9da9b0;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(ellipse at top, #1b303d, var(--bg) 65%);color:var(--text);font:14px/1.5 Segoe UI,system-ui,sans-serif}button,input,select{font:inherit}button{color:var(--text);cursor:pointer;background:#1a2b37;border:1px solid #3c505e;border-radius:7px;padding:8px 12px;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--accent);background:#2a3e49}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#17222a;font-weight:750}button.primary:hover:not(:disabled){background:#ecd199}button.danger{color:#e79e96;background:0 0;border-color:#6c4846;font-size:12px}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:2px solid #ffe2a0}input,select{min-width:0;color:var(--text);background:#0d1b26;border:1px solid #3c505e;border-radius:7px;padding:9px 10px}input[type=range]{width:100%;accent-color:var(--accent)}label{color:#aebdc5;gap:6px;font-size:12px;display:grid}h1,h2,h3,p{margin:0}.eyebrow{letter-spacing:.19em;color:var(--accent);font-size:10px;font-weight:700}.brand{flex-shrink:0;align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--accent);width:38px;height:43px;color:var(--accent);background:#d8b8750a;border-radius:5px 5px 15px 15px;place-items:center;font:26px Georgia,serif;display:grid}.brand strong{letter-spacing:.15em;font:700 21px Georgia,serif}.brand small{letter-spacing:.15em;color:var(--muted);margin-top:3px;font-size:8px;display:block}.layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 330px;min-height:100dvh;display:grid}.topbar{border-bottom:1px solid var(--border);background:#0c1720ed;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;padding:16px 22px;display:flex}.topbar .players{flex-wrap:wrap;gap:8px;display:flex}.game-options{margin-left:auto;position:relative}.options-toggle,.options-backdrop{display:none}.options-content{align-items:center;gap:10px;display:flex}.bot-speed{align-items:center;gap:6px;display:flex}.chip{border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:inline-flex}.chip b{font-weight:600}.chip small{color:var(--muted);font-size:10px;display:block}.chip .dot{border-radius:50%;width:7px;height:7px}.chip.current{background:#d8b8750b;border-color:#8a7952}.chip.out{opacity:.4;text-decoration:line-through}.player-number{color:var(--muted);font:17px Georgia,serif}.map-section{flex-direction:column;justify-content:flex-start;gap:14px;min-width:0;padding:12px 12px 14px;display:flex}.route-toggle{background:#102432ee;min-height:30px;padding:5px 10px;font-size:11px;position:absolute;bottom:10px;right:118px}.route-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.board{background:#0a1c29;border:1px solid #3a4d56;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 20px 45px #0004,inset 0 0 30px #0004}.world-map{aspect-ratio:1.8;touch-action:none;width:100%;height:auto;display:block}.ocean-labels text{fill:#78929b;opacity:.42;letter-spacing:5px;text-anchor:middle;pointer-events:none;font:italic 11px Georgia,serif}.compass{pointer-events:none;opacity:.5}.compass circle{fill:none;stroke:#b9b08b;stroke-width:.6px}.compass path{fill:#b9b08b;opacity:.7}.compass text{fill:#ddd4b3;text-anchor:middle;font:10px Georgia,serif}.territory{cursor:pointer}.territory .land{fill:color-mix(in srgb, var(--owner) 38%, #aaa78b);stroke:#263f40;stroke-width:.9px;stroke-linejoin:round;transition:fill .18s}.land-texture{pointer-events:none}.territory.hovered .land{fill:color-mix(in srgb, var(--owner) 62%, #c7b990);stroke:#dce6e5}.territory.target .land{stroke:#e9c679;stroke-width:2px;stroke-dasharray:4 2}.territory.selected .land{fill:color-mix(in srgb, var(--owner) 70%, #c7b990);stroke:#fff1cc;stroke-width:2.5px}.routes{pointer-events:none}.routes path{fill:none;stroke:#acc3c9;stroke-opacity:.35;stroke-width:1px;stroke-dasharray:3 5}.routes path.highlighted{stroke:#ffe2a0;stroke-opacity:.9;stroke-width:1.8px;stroke-dasharray:4 3}.garrison{cursor:pointer;outline:none}.garrison .unit-shadow{fill:#050d15;opacity:.65}.garrison .unit-base{fill:#14232e;stroke:var(--owner);stroke-width:1.8px}.garrison svg{color:var(--owner);pointer-events:none}.garrison .owner-tag{fill:var(--owner);stroke:#0c1a25;stroke-width:1px}.garrison text{text-anchor:middle;pointer-events:none}.owner-number{fill:#0b1820;font-size:9px;font-weight:800}.army-count{fill:#fff5de;font:700 15px system-ui,sans-serif;animation:.3s ease-out reinforce}.region-name{fill:#e2e8e5;paint-order:stroke;stroke:#0a1a26;stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:600}.garrison:hover .unit-base,.garrison:focus-visible .unit-base,.garrison.selected .unit-base{stroke:#fff1cc;stroke-width:3px;fill:#304755}.garrison.target .unit-base{stroke:#ffe2a0;stroke-dasharray:3 2}.territory.reinforce-muted{opacity:.35}.garrison.reinforce-muted{opacity:.42}.territory.attack-muted{opacity:.25}.garrison.attack-muted{opacity:.35}.territory.attack-origin .land{stroke:#fff1cc;stroke-width:2px}.garrison.attack-origin .unit-base{stroke:#fff1cc;stroke-width:2.5px}.territory.attack-target .land{stroke:#ffe2a0;stroke-width:2px;fill:color-mix(in srgb, var(--owner) 55%, #c7b990)}.territory.move-enemy{opacity:.35}.garrison.move-enemy{opacity:.42}.territory.move-unreachable{opacity:.45}.garrison.move-unreachable{opacity:.55}.territory.move-other{opacity:.6}.garrison.move-other{opacity:.7}.territory.move-target .land{stroke:#b7f3db;stroke-width:2px}.garrison.move-target .unit-base{stroke:#b7f3db}.territory.move-origin .land{stroke:#ffe2a0;stroke-width:2.7px;stroke-dasharray:none;fill:color-mix(in srgb, var(--owner) 65%, #d9c89a)}.territory.move-destination .land{stroke:#c2ffe9;stroke-width:3px;stroke-dasharray:none;fill:color-mix(in srgb, var(--owner) 65%, #b2e5cf)}.garrison.move-origin .unit-base{stroke:#ffe2a0;stroke-width:3px;stroke-dasharray:none}.garrison.move-destination .unit-base{stroke:#c2ffe9;stroke-width:3px;stroke-dasharray:none;fill:#23443f}.movement-arrow,.movement-labels{pointer-events:none}.movement-arrow>g>path{fill:none;stroke-linecap:round}.movement-shadow{stroke:#071a22;stroke-width:7px;stroke-opacity:.9}.movement-line{stroke:#d8b875;stroke-width:3px}.movement-flow{stroke:#dcfff3;stroke-width:3px;stroke-dasharray:5 19;animation:1.2s linear infinite troop-flow}.remote-intent .movement-line,.own-intent .movement-line{stroke:var(--remote-color);stroke-width:3.5px}.remote-intent.remote-ataque .movement-flow,.own-intent.remote-ataque .movement-flow{stroke:#ffe3da;animation-duration:.8s}.territory.remote-origin .land{stroke:#fff1cc;stroke-width:2.4px;stroke-dasharray:7 4}.garrison.remote-origin .unit-base{stroke:#fff1cc;stroke-width:2.5px}.territory.remote-target.remote-ataque .land{stroke:#ff9b8a;stroke-width:2.6px}.garrison.remote-target.remote-ataque .unit-base{stroke:#ff9b8a;stroke-width:3px;animation:1.1s ease-in-out infinite remote-threat}.territory.remote-target.remote-fortificacion .land{stroke:#ffe2a0;stroke-width:2.4px}@keyframes remote-threat{50%{stroke-opacity:.35}}@media (prefers-reduced-motion:reduce){.garrison.remote-target.remote-ataque .unit-base{animation:none}}@keyframes troop-flow{to{stroke-dashoffset:-24px}}.movement-label rect{fill:#17262bea;stroke:#ffe2a0;stroke-width:1px}.movement-label text{fill:#ffe2a0;text-anchor:middle;letter-spacing:.8px;font:700 9px system-ui,sans-serif}.movement-label.destination rect{stroke:#b7f3db;fill:#143b34ed}.movement-label.destination text{fill:#c2ffe9}.map-inspector .movement-origin-name{color:#ffe2a0}.map-inspector .movement-destination-name{color:#c2ffe9}.garrison:focus-visible .region-name{fill:#ffe2a0}.zoom{gap:4px;display:flex;position:absolute;bottom:10px;right:10px}.zoom button{background:#102432ee;width:30px;height:30px;padding:0;font-size:19px}.map-inspector{min-height:24px;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 16px;font-size:11px;display:flex}.map-inspector strong{color:#ece5d1;font-size:12px}.continent-legend{border-top:1px solid var(--border);grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding-top:15px;display:grid}.continent-legend>div>span{color:#c4cfd3;justify-content:space-between;gap:4px;font-size:10px;display:flex}.continent-legend b{color:var(--accent)}.continent-legend small{color:var(--muted);font-size:9px}.continent-status{flex-wrap:wrap;align-items:center;gap:3px 8px;display:flex}.continent-complete{color:var(--accent);white-space:nowrap;font-size:9px;font-weight:650}.continent-progress{background:#34404a;height:3px;margin:8px 0 3px}.continent-progress i{background:var(--p1);height:100%;transition:width .3s;display:block}.continent-legend .controlled i{background:var(--accent)}.side{border-left:1px solid var(--border);background:linear-gradient(150deg,#182834,#0f1c26);flex-direction:column;min-width:0;display:flex}.command-heading{align-items:center;gap:12px;padding:22px 20px 16px;display:flex}.command-heading>svg{color:var(--accent);width:26px;height:32px}.command-heading h2{margin-top:4px;font:23px Georgia,serif}.round-badge{width:35px;height:35px;color:var(--muted);border:1px solid #52606a;border-radius:50%;place-items:center;margin-left:auto;font-size:11px;display:grid}.panel{border-bottom:1px solid var(--border);gap:15px;padding:0 20px 20px;display:grid}.phase{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.phase-track{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.phase-track>li{color:#798d99;border-top:2px solid #34434e;padding-top:7px;font-size:10px}.phase-track>li.active{color:var(--accent);border-color:var(--accent)}.panel .actions{flex-wrap:wrap;gap:6px;display:flex}.panel .actions button{font-size:12px}.error{color:#ffb8ad;background:#ef44441c;border:1px solid #ef444433;border-radius:6px;padding:8px 10px;font-size:12px}.panel .hint{color:#b6c4cc;font-size:13px;line-height:1.7}.hint strong{color:#f5ecd5}.journal-heading{color:#d6dcd8;padding:17px 20px 10px;font-size:12px}.journal-heading span{color:#8399a6;margin-top:3px;font-size:10px;display:block}.log{color:#8ea4b0;scrollbar-width:thin;align-content:start;gap:0;min-height:120px;max-height:260px;padding:0 20px 18px;font-size:11px;display:grid;overflow:auto}.log>div{border-left:1px solid #3b4a52;padding:9px 0 9px 13px;position:relative}.log>div:before{content:"";background:#5e7280;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:-3px}.log .me{color:#c5dae5}.log .event-conquistado{color:var(--accent)}.log .event-conquistado:before{background:var(--accent)}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.card{text-align:center;color:#bcc8cb;background:linear-gradient(135deg,#283b48,#142330);border:1px solid #50616c;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:90px;padding:12px 5px 9px;font-size:9px;display:flex}.card-symbol{color:var(--accent);font-size:24px;line-height:1}.card.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#d8b87520}.assault{color:var(--muted);background:#09172288;border:1px solid #344a56;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:13px;font-size:11px;display:flex}.assault>span:first-child{color:#e3d4b4;width:100%}.assault .vs{font:italic 13px Georgia,serif}.dice{gap:4px;display:inline-flex}.die{background:#213340;border:1px solid;border-radius:5px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2px;width:28px;height:28px;padding:4px;animation:.25s ease-out dice-in;display:grid;box-shadow:0 3px #060f17}.die i{background:currentColor;border-radius:50%}.odds{color:var(--muted);gap:8px;font-size:11px;display:grid}.odds .bar{background:#070f15;border-radius:3px;height:6px;overflow:hidden}.odds .bar span{background:linear-gradient(90deg,#dc8d6b,#d8b875,#78b998);height:100%;display:block}.setup{background:#12222fed;border:1px solid #3b4c56;border-radius:14px;grid-template-columns:1fr 1fr;max-width:1040px;margin:6vh auto;padding:0;display:grid;overflow:hidden;box-shadow:0 30px 90px #0005}.setup-hero{background:radial-gradient(at 50% 65%,#244450,#0d1c28 80%);flex-direction:column;justify-content:center;gap:24px;padding:46px 34px;display:flex}.setup-hero h1{letter-spacing:.1em;color:#edddb8;font:48px Georgia,serif}.setup-hero h2{max-width:300px;font:30px/1.15 Georgia,serif}.setup-hero p{color:#a7b9c0;max-width:340px}.setup-map{filter:drop-shadow(0 12px 15px #0006);width:100%;overflow:visible}.setup-map path{fill:#536b70;stroke:#152c38;stroke-width:2px}.setup-map path:nth-child(5n){fill:#c2a571}.setup-meta{color:var(--accent);letter-spacing:.04em;gap:25px;font-size:11px;display:flex}.setup-controls{gap:22px;padding:34px;display:grid}.setup-controls h2{font:26px Georgia,serif}.setup-controls p{color:var(--muted);margin-top:7px;font-size:12px}.setup .row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.setup-actions{gap:8px;display:grid}.setup-actions>button{padding:12px}.modal,.gameover{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030b12c9;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.modal-box,.gameover .box{background:linear-gradient(140deg,#203440,#101f2b);border:1px solid #5d6258;border-radius:12px;gap:12px;width:min(100%,640px);max-height:90dvh;padding:28px;display:grid;overflow:auto;box-shadow:0 30px 100px #0008}.modal-box h2,.gameover h2{font:30px Georgia,serif}.modal-box h3{color:var(--accent);margin-top:10px;font-size:14px}.modal-box p,.modal-box li{color:#b9c9d0;font-size:13px}.modal-box ol,.modal-box ul{margin:0;padding-left:20px}.gameover .box{text-align:center;gap:20px}.results{border-collapse:collapse;font-size:12px}.results th,.results td{text-align:left;border-bottom:1px solid var(--border);padding:10px 7px}.results th{color:var(--muted);font-weight:500}.results tr.winner td{color:var(--accent)}.results .dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}@keyframes reinforce{0%{opacity:.4}to{opacity:1}}@keyframes dice-in{0%{opacity:.3;transform:translateY(-6px)rotate(-10deg)}to{opacity:1;transform:none}}@media (width>=1500px){.layout{grid-template-columns:minmax(0,1fr) 370px}.map-section{padding:16px}}@media (width<=1100px){.topbar{gap:10px}.map-section{padding:10px 8px}.continent-legend{grid-template-columns:repeat(3,1fr);gap:7px}}@media (width<=900px){.layout{grid-template-rows:auto auto auto;grid-template-columns:1fr}.topbar{gap:10px;padding:12px}.topbar .players{scrollbar-width:thin;scrollbar-color:#415663 transparent;flex-wrap:nowrap;order:2;gap:4px;width:100%;min-width:0;padding-bottom:3px;overflow-x:auto}.players .chip{flex-shrink:0}.players .chip small{font-size:9px}.players .player-number{display:none}.options-toggle{z-index:32;justify-content:center;align-items:center;gap:7px;min-height:44px;display:inline-flex;position:relative}.options-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.options-content{display:none}.is-open .options-backdrop{z-index:30;background:#030b1233;display:block;position:fixed;inset:0}.is-open .options-content{z-index:32;background:#142531;border:1px solid #526574;border-radius:10px;gap:10px;width:min(260px,100vw - 24px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 35px #0008}.options-content .bot-speed{gap:7px;font-size:12px;display:grid}.options-content button,.options-content select{min-height:44px}.options-content button{text-align:left}.chip{padding:5px 7px}.brand strong{font-size:18px}.side{border-left:0;border-top:1px solid var(--border)}.board{border-radius:6px}.map-section{gap:10px}.world-map{aspect-ratio:1.65;height:auto;min-height:260px}.continent-legend{padding-top:10px}.setup{margin:20px}.setup-hero{padding:30px 24px}.setup-controls{padding:26px}.setup-hero h1{font-size:34px}.log{max-height:200px}.cards{grid-template-columns:repeat(auto-fit,minmax(75px,110px))}}@media (width<=620px){.setup{grid-template-columns:1fr;margin:12px}.setup-hero{gap:15px;padding:25px;position:relative;overflow:hidden}.setup-hero h2{font-size:24px}.setup-hero p{max-width:240px;font-size:12px}.setup-map{opacity:.18;pointer-events:none;width:250px;position:absolute;bottom:5px;right:-90px}.setup-controls{padding:22px}.setup .row{gap:12px}.map-inspector{gap:4px 10px;min-height:44px}.map-inspector>span{font-size:10px}.topbar .brand{gap:8px}.topbar .brand strong{font-size:16px}.topbar .brand small{font-size:6px}.topbar .brand-mark{width:31px;height:37px;font-size:22px}.options-toggle{padding:8px 10px;font-size:12px}.continent-legend{gap:10px}.continent-legend>div>span{font-size:10px}.modal,.gameover{padding:10px}.modal-box,.gameover .box{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.geographic-board{background:#102635;border-color:#61706c}.chart-grid{pointer-events:none}.chart-grid line{stroke:#b2c3bb;stroke-width:.5px;stroke-dasharray:2 6;opacity:.13}.chart-grid text{fill:#aabbb9;opacity:.45;text-anchor:middle;font:8px Georgia,serif}.coastal-shelf,.geographic-detail{pointer-events:none}.coastal-shelf use{fill:none;stroke-linejoin:round}.shelf-outer{stroke:#689598;stroke-width:13px;opacity:.1}.shelf-inner{stroke:#7ea8a7;stroke-width:6px;opacity:.15}.coast-shadow{stroke:#061a25;stroke-width:2.7px}.coastline{fill:none;stroke:#d8d4b0;stroke-width:.65px;opacity:.8}.lake-water{fill:#244553;stroke:#b4c3b1;stroke-width:.4px}.river-network{fill:none;stroke:#2d667a;stroke-width:1px;opacity:.72;stroke-linecap:round;stroke-linejoin:round}.mountain-ranges{fill:none;stroke:#35453e;stroke-width:.7px;stroke-linejoin:round;opacity:.43}.desert{fill:#c5ae72;opacity:.22}.forest{fill:#325d4c;opacity:.2}.garrison-anchor{stroke:#ece3c0;stroke-width:1px;stroke-dasharray:2 2;opacity:.8;pointer-events:none}.map-edition{color:#cabd98;letter-spacing:.15em;pointer-events:none;font:12px Georgia,serif;position:absolute;bottom:12px;left:16px}.map-edition span{color:#8ca4aa;letter-spacing:.16em;margin-top:3px;font:7px system-ui,sans-serif;display:block}.geographic-board .world-map .ocean-labels text{letter-spacing:4px;fill:#b5cacb;opacity:.45;font-size:13px}@media (width<=620px){.geographic-board .zoom{left:auto;right:7px;transform:none}.map-edition{font-size:9px;left:9px}}.map-lightweight .land{transition:none}.map-lightweight .army-count{animation:none}.lobby h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:12px;font-size:13px}.room-code{letter-spacing:.2em;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px 10px;font-family:ui-monospace,monospace}.seat-list,.room-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.seat-list li,.room-list li{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.seat-list li small,.room-list li span{color:var(--muted);flex:1}.seat-list .dot{background:#64748b;border-radius:50%;width:10px;height:10px}.seat-list .dot.on{background:#22c55e}.room-list li button{margin-left:auto}.lobby{align-items:stretch;max-width:1120px}.lobby .setup-controls{align-content:start}.lobby-create{border-left:1px solid var(--border);background:#0f1c26}.lobby-create>h3:first-child{margin-top:0}.quick-match{gap:6px;display:grid}.quick-match>button{min-height:48px;font-size:15px}.quick-match small,.visibility-toggle small{color:var(--muted);font-size:12px}.browser-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.browser-title small{text-transform:none;letter-spacing:0;align-items:center;gap:6px;font-size:11px;font-weight:400;display:inline-flex}.live-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s infinite live-pulse;box-shadow:0 0 #22c55e88}@keyframes live-pulse{70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.browser-empty{border:1px dashed var(--border);text-align:center;border-radius:8px;padding:14px}.game-browser{max-height:320px;overflow-y:auto}.game-browser li{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name seats join""meta seats join";gap:2px 12px;display:grid}.game-browser li span{flex:none}.game-browser .browser-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.game-browser .browser-name small{color:var(--muted);margin-left:8px}.game-browser .browser-meta{grid-area:meta;font-size:12px}.game-browser .browser-seats{font-variant-numeric:tabular-nums;color:var(--accent);grid-area:seats;font-weight:700}.game-browser button{grid-area:join;margin-left:0}.code-join{grid-template-columns:1fr auto;gap:8px;display:grid}.code-join input{letter-spacing:.15em;font-family:ui-monospace,monospace}.code-join input::placeholder{letter-spacing:normal;font-family:inherit}.lobby-waiting{grid-template-columns:1fr;max-width:620px}.visibility-toggle{border:0;gap:6px;margin:0;padding:0;display:grid}.visibility-toggle legend{margin-bottom:6px;padding:0}.visibility-toggle [role=radiogroup]{border:1px solid #3c505e;border-radius:8px;grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.visibility-toggle [role=radio]{background:0 0;border:0;border-radius:0}.visibility-toggle [role=radio].selected{background:var(--accent);color:#17222a;font-weight:700}.room-badge{border:1px solid var(--border);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;display:inline-block}.room-badge.public{color:#86efac;border-color:#22c55e55}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=620px){.lobby-create{border-left:0;border-top:1px solid var(--border)}}.countdown{font-variant-numeric:tabular-nums}.countdown.urgent{color:#fca5a5;border-color:#ef4444}.penalty-badge{color:#fca5a5;font-variant-numeric:tabular-nums;background:#ef44441a;border-color:#ef444466}.connection{color:#fbbf24;text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:block}.account-widget{z-index:50;position:fixed;top:12px;right:12px}.setup.setup-campaign{border-color:#88754c70;grid-template-columns:1.1fr 1fr;max-width:1180px}.setup-campaign .setup-hero{isolation:isolate;background:#0a141d;justify-content:space-between;min-height:690px;padding:36px;position:relative;overflow:hidden}.setup-cover{z-index:-2;position:absolute;inset:0}.setup-cover img{object-fit:cover;object-position:60% center;transform-origin:55% 45%;will-change:transform;width:100%;height:100%;animation:22s ease-in-out infinite alternate cover-zoom}@keyframes cover-zoom{0%{transform:scale(1)}to{transform:scale(1.12)}}.setup-campaign .setup-hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#060f19e8 0%,#07111b85 24%,#07111b05 44%,#07111b22 57%,#07111bed 88%,#07111b 100%);position:absolute;inset:0}.setup-hero-title{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.setup-emblem{border:1px solid #d8b87550;border-radius:12px;width:62px;height:62px;box-shadow:0 6px 25px #0005}.setup-campaign .setup-hero h1{letter-spacing:.12em;color:#f1ddb0;text-shadow:0 3px 15px #000b;font-size:clamp(38px,4.8vw,61px);font-weight:700;line-height:1}.setup-hero-title .eyebrow{letter-spacing:.21em;color:#e8d0a0;font-size:8px}.setup-publisher{color:#c3c8c9;letter-spacing:.24em;font-size:8px}.setup-hero-caption{border-top:1px solid #d8b87560;gap:14px;padding-top:25px;display:grid}.setup-campaign .setup-hero h2{color:#f3e7cb;max-width:none;font-size:31px}.setup-campaign .setup-hero p{color:#c7cbca;max-width:370px;font-size:13px;line-height:1.8}.setup-campaign .setup-meta{letter-spacing:.12em;color:#e6c989;gap:20px;padding-top:8px;font-size:9px}.setup-campaign .setup-controls{background:radial-gradient(at 100% 0,#d8b87509,#0000 60%),#10202b;align-content:center;padding:36px}.setup-campaign .setup-actions>button{min-height:46px}.setup-campaign .setup-actions>button.primary{background:linear-gradient(120deg,#e4c688,#c5a15c);border-color:#eed7a1;box-shadow:inset 0 1px #fff5,0 5px 20px #d8b87513}.setup-campaign .setup-actions>button.primary:hover{background:#efd6a2}.setup-menu .menu-option{justify-items:center;gap:3px;padding:12px 16px;display:grid}.setup-menu .menu-option strong{font-size:15px;font-weight:700}.setup-menu .menu-option small{color:var(--muted);font-size:12px;font-weight:400}.setup-menu .menu-option.primary small{color:#3c3120}@media (width<=900px){.setup.setup-campaign{margin:24px 16px}.setup-campaign .setup-hero,.setup-campaign .setup-controls{padding:25px}.setup-campaign .setup-hero h1{letter-spacing:.08em;font-size:38px}.setup-campaign .setup-hero h2{font-size:27px}}@media (width<=620px){.setup.setup-campaign{grid-template-columns:1fr;margin:66px 12px 12px}.setup-campaign .setup-hero{min-height:470px;padding:25px 22px}.setup-cover img{object-position:60% center}.setup-emblem{width:48px;height:48px}.setup-hero-title{gap:10px}.setup-campaign .setup-hero h1{font-size:clamp(34px,10vw,48px)}.setup-hero-caption{gap:10px;padding-top:18px}.setup-campaign .setup-hero h2{font-size:27px}.setup-campaign .setup-hero p{font-size:12px}.setup-campaign .setup-controls{padding:24px 20px}}.locale-picker{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:11px;display:flex}.locale-picker select{padding:5px 8px;font-size:12px}.menu-footer{justify-content:flex-end;align-items:center;gap:14px;display:flex}.cookies-link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px 2px;font-size:11px;text-decoration:underline}.cookies-link:hover{color:var(--text)}
