@font-face{font-family:BarlowCondensed;src:url(/fonts/BarlowCondensed-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
/* A play menu, with configuration revealed only when requested. */
#menu{isolation:isolate;min-height:100svh;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 6%;background:#101918;overflow:hidden}
.landing-art{position:absolute;inset:0;z-index:-3;pointer-events:none}.landing-art img{width:100%;height:100%;object-fit:cover;object-position:65% center}.landing-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0a1417ed,#0a141797 39%,#0a141712 74%),linear-gradient(0deg,#0a1417c9,transparent 30%,#0a141760);pointer-events:none}
#menu .menu-header{position:relative;inset:auto;min-height:100px;display:flex;gap:20px;border-bottom:1px solid #e4dfbf26}.brand-mark{width:33px;height:39px}.menu-header .brand{font-size:18px;letter-spacing:3px;gap:12px}.account-entry{margin-left:auto;border:1px solid #c7d6cd66;border-radius:6px;min-height:42px;padding:9px 20px;font-size:13px;background:#142124a8}
#menu .menu-panel{width:370px;max-width:100%;background:none;border:0;box-shadow:none;backdrop-filter:none;padding:56px 0;margin:auto 0;align-self:flex-start}.menu-kicker{font-size:10px;letter-spacing:2.2px;color:#d6be8f;margin:0 0 12px}#setup h1{font-family:BarlowCondensed,Impact,sans-serif!important;font-size:84px;line-height:1;margin:0 0 18px;letter-spacing:1px;color:#f5f0dd}.menu-intro{font-size:15px;color:#d4dace;line-height:1.6;margin:0 0 32px}.menu-panel #deploy{height:60px;margin:0;background:#e2c18a;color:#142228;border-radius:5px;font-size:18px;letter-spacing:.2px;padding:0 22px}.play-caption{text-align:center;font-size:11px;color:#b1bfb8;margin:11px 0 23px}.menu-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:72px;border:1px solid #c6d3c52b;border-radius:5px;background:#122326b5;padding:14px 18px;text-align:left;font-size:16px;margin:10px 0}.menu-action small{display:block;font-size:11px;color:#aebfb8;margin-top:7px}.menu-action>span:last-child{color:#ddc296;font-size:21px}.menu-action:hover{background:#233b3bf0}#resume{width:100%;margin:12px 0 2px;border-radius:5px}#open-play-options{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:12px;color:#becdc3;font-size:12px}
#menu .menu-footer{position:relative;inset:auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:22px;min-height:62px;padding:12px 0;border-top:1px solid #e4dfbf26;font-size:11px;letter-spacing:0;color:#adbbb4}.menu-footer .quiet{font-size:11px}.menu-release{margin-left:auto;color:#87998e}.menu-footer #analytics-consent{flex-basis:100%;padding:9px 12px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#102126dd}.menu-footer #analytics-consent p{margin:0;font-size:11px}.menu-footer .analytics-actions{margin:0}
#play-options{width:550px;padding:30px;max-height:90svh;overflow:auto}#play-options h2{margin:0 0 25px;font-size:25px}#play-options label{display:block;font-size:12px;color:#c9d6cc;margin:17px 0 8px}#play-options .mode-switch{margin-bottom:18px}#play-options .ruleset-switch label{display:flex;margin:0}#play-options .ruleset-switch{margin-bottom:20px}#play-options .ruleset-switch small{font-size:10px}#play-options .match-options{margin-top:20px}#play-options #map-preview p,#play-options #map-preview small{display:none}#play-options .theater-sketch{height:100px}#play-options .theater-preview>div{padding:10px 13px}#play-options .setup-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}#play-options .choice-trigger{font-size:12px}#play-options .primary{margin-top:20px;border-radius:5px}#play-options .join-row{margin-bottom:20px}#more-menu{width:380px}#more-menu>.secondary{display:block;width:100%;margin:10px 0;text-align:left;border-radius:5px}#lobby{background:#122326ed;border:1px solid #c6d3c538;padding:23px;border-radius:8px}#menu:has(#lobby:not(.hidden)) .menu-panel{width:520px;padding:30px 0}#lobby h2{margin-top:0;font-size:24px}
@media(min-width:1600px){#menu{padding-inline:max(6%,calc((100vw - 1440px)/2))}.menu-panel #setup h1{font-size:96px}#menu .menu-panel{width:400px}}
@media(max-width:700px){#menu{padding:0 24px}#menu .menu-header{min-height:78px;gap:12px}.menu-header .brand{font-size:15px;letter-spacing:2px}.brand-mark{width:28px;height:32px}.account-entry{padding:8px 15px;font-size:12px}.landing-art img{object-position:62% center}.landing-shade{background:linear-gradient(90deg,#0a1417d9,#0a141756),linear-gradient(0deg,#0a1417e8,transparent 70%)}#menu .menu-panel{width:370px;align-self:center;padding:36px 0 24px;margin:auto 0}#setup h1{font-size:70px;margin-bottom:13px}.menu-kicker{font-size:9px}.menu-intro{font-size:13px;margin-bottom:25px}.menu-panel #deploy{height:56px;font-size:17px}.menu-action{min-height:67px;font-size:15px}.play-caption{margin-bottom:18px}#menu .menu-footer{gap:20px;min-height:57px;font-size:10px}.menu-footer .menu-release{display:block!important;font-size:10px}.menu-footer #analytics-consent{display:block}.menu-footer #analytics-consent p{margin-bottom:8px}#play-options{padding:27px 20px}#play-options .setup-options{grid-template-columns:1fr}.menu-panel #resume{min-height:44px}}
@media(max-height:720px) and (min-width:701px){#menu .menu-header{min-height:75px}#menu .menu-panel{padding:25px 0;width:350px}#setup h1{font-size:68px}.menu-intro{margin-bottom:20px}.menu-action{min-height:60px}.play-caption{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){#menu *{transition:none}}

/* Match setup also lives outside .menu-panel. Keep every choice within its card. */
#play-options{max-width:calc(100vw - 24px)}
#play-options h2{padding-right:32px}
#play-options .mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid #516764;border-radius:8px}
#play-options .mode-switch button{min-width:0;min-height:48px;padding:10px 6px;font-size:14px;line-height:1.3;border:1px solid transparent;border-radius:5px;white-space:normal;transition:none}
#play-options .mode-switch button.active{background:#e2c18a;color:#142228;border-color:#f2d6a8;font-weight:700}
#play-options .ruleset-switch{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
#play-options .ruleset-switch label,#play-options .ruleset-switch span{min-width:0}
#play-options .ruleset-switch label{padding:14px 12px;gap:10px}
#play-options .ruleset-switch strong{font-size:15px}
#play-options .ruleset-switch small{font-size:12px;overflow-wrap:break-word}
#play-options .ruleset-switch label:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
#play-options .choice-trigger{font-size:14px}
#play-options .setup-options>label{min-width:0}
@media(max-width:380px){#play-options{padding:26px 16px}#play-options .mode-switch button{font-size:13px}#play-options .ruleset-switch{grid-template-columns:1fr}}

/* Keep the start action within reach while match options scroll. */
#play-options{--setup-pad-y:30px;--setup-pad-x:30px}
#play-options .match-start{position:sticky;bottom:calc(-1 * var(--setup-pad-y));z-index:2;margin:16px calc(-1 * var(--setup-pad-x)) calc(-1 * var(--setup-pad-y));padding:12px var(--setup-pad-x) var(--setup-pad-y);background:#182931;border-top:1px solid #c6d3c52b}
#play-options .match-start .primary{margin-top:0}
@media(max-width:700px){#play-options{--setup-pad-y:27px;--setup-pad-x:20px}}
@media(max-width:380px){#play-options{--setup-pad-y:26px;--setup-pad-x:16px}}

/* Play first. The lobby exposes exactly two ways into a game. */
#menu .menu-panel{width:430px}#setup h1{font-size:108px;letter-spacing:2px}.menu-intro{font-size:17px;margin-bottom:34px}.menu-panel #deploy{height:78px;font-size:25px;box-shadow:0 12px 44px #0004}.menu-panel .primary{display:flex;align-items:center;justify-content:space-between;background:#e2c18a;color:#142228;border-radius:6px;font-weight:700;min-height:58px;width:100%;padding:16px 22px}.menu-panel .primary:hover{background:#f4d8aa;transform:translateY(-1px)}
#play-lobby,#lobby{background:#102022f0;border:1px solid #c6d3c538;padding:28px;border-radius:12px;box-shadow:0 22px 64px #0003}#menu:has(#lobby:not(.hidden)) .menu-panel{width:430px}#play-lobby h2,#lobby h2{font-family:BarlowCondensed,Impact,sans-serif;font-size:38px;letter-spacing:.3px;line-height:1.1;margin:16px 0 28px}#lobby-back{padding:0;min-height:32px;color:#aebfb8}#play-lobby label{display:block;font-size:13px;color:#c3cec8;margin-bottom:10px}.join-row{display:flex;gap:8px}.join-row input{min-width:0;flex:1;border-radius:6px;letter-spacing:2px;text-transform:uppercase;padding:14px 12px;background:#09171bd9}.join-row button{flex-shrink:0;border-radius:6px;padding:12px;font-size:14px}.lobby-or{display:flex;align-items:center;gap:14px;color:#879d96;font-size:12px;margin:22px 0}.lobby-or:before,.lobby-or:after{content:'';height:1px;flex:1;background:#59716c55}.lobby-note{text-align:center;line-height:1.5;font-size:12px;color:#abbeb5;margin:12px 0 0}.room-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.room-heading h2{margin:0!important}.room-heading button{width:42px;height:42px;font-size:21px}.room-code{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;border-top:1px solid #52655d55;border-bottom:1px solid #52655d55;background:none}.room-code small{font-size:9px;letter-spacing:1.5px;color:#a3b5aa}.room-code strong{display:block;font-size:30px;letter-spacing:4px;margin:5px 0 0}.room-code .secondary{padding:12px;font-size:12px;min-height:44px}.room-players{margin:20px 0}.player-row{gap:12px;padding:12px 0;display:flex;align-items:center;border:0}.player-row .player-avatar{width:38px;height:38px;display:grid;place-items:center;font-size:14px;background:#2a403c88;border-radius:50%}.player-row>strong{font-size:14px;overflow-wrap:anywhere;flex:1;min-width:0}.player-row>small{font-size:11px;color:#a9bcb1}.lobby-buttons{display:flex;gap:8px}.lobby-buttons .primary{margin:0}#leave-lobby{font-size:12px;min-height:44px;margin-top:16px}.match-search{text-align:center;padding:30px 0}.match-search h2{font-size:30px!important;margin-bottom:10px!important}.match-search p{color:#aebfb8;font-size:13px;margin-bottom:24px}.search-radar{width:80px;height:80px;border:1px solid #e2c18a40;border-top:3px solid #e2c18a;border-radius:50%;margin:0 auto 28px;animation:match-spin 1.2s linear infinite;box-shadow:0 0 0 12px #e2c18a07,0 0 0 24px #e2c18a03}@keyframes match-spin{to{transform:rotate(360deg)}}
#quick-tip{position:fixed;z-index:25;left:50%;top:112px;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:6px 8px 6px 18px;background:#122328ed;border:1px solid #e2c18a88;border-radius:8px;max-width:calc(100vw - 32px);box-shadow:0 4px 20px #0004;font-size:13px;color:#f1e8ce;pointer-events:none}#quick-tip button{pointer-events:auto;background:none;border:0;width:36px;height:36px;flex-shrink:0;color:#ddcdb2;font-size:22px}.unit-country{width:16px;height:12px;object-fit:cover;border-radius:1px;margin-right:4px;vertical-align:middle}.account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){#setup h1{font-size:86px}.menu-intro{font-size:15px}.menu-panel #deploy{height:72px}#play-lobby,#lobby{padding:22px}#menu .menu-header{gap:8px}.menu-header .brand{font-size:12px;letter-spacing:1px}.menu-account-tools{gap:6px}.account-entry{padding:8px 11px}#quick-tip{top:105px;width:max-content;max-width:calc(100vw - 24px);font-size:12px;padding-left:12px;gap:8px}.menu-footer #analytics-consent{font-size:10px}}
@media(max-width:360px){#menu{padding-inline:16px}#setup h1{font-size:76px}.brand-mark{width:22px}#play-lobby,#lobby{padding:18px}.join-row button{padding:10px;font-size:12px}.join-row input{font-size:12px;letter-spacing:1px}.menu-header .brand{gap:6px}.menu-account-tools #shop-wallet{padding:7px 9px;font-size:11px}.account-entry{font-size:11px;padding:8px}}
@media(max-height:500px){#menu .menu-header{min-height:60px}#menu .menu-panel{padding:20px 0}#setup h1{font-size:68px}.menu-intro{margin-bottom:16px}.menu-kicker{display:none}#menu .menu-footer{min-height:45px}#quick-tip{top:93px}}
@media(prefers-reduced-motion:reduce){.search-radar{animation:none}.menu-panel .primary:hover{transform:none}}

body.reduced .search-radar{animation:none}
/* Hints yield the entire touch surface to Army, Deploy and Commands sheets. */
@media(max-width:900px){body[data-mobile-panel]:not([data-mobile-panel="battle"]) #quick-tip{display:none!important}}
