:root{color:#203b32;font-synthesis:none;--ink:#203b32;--muted:#788176;--line:#d9ddcf;--green:#c9e29d;--orange:#cf663d;background:#f3f1e8;font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;height:94px;margin:auto;padding:0 5%;display:flex}.brand{letter-spacing:.1px;align-items:center;gap:11px;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:25px;font-weight:800;display:flex}.brand-dot{color:var(--orange)}.top-right{align-items:center;gap:40px;display:flex}.edition,.eyebrow,.room-label{letter-spacing:1.8px;font-size:10px;font-weight:700}.edition{color:var(--muted)}.text-button{color:var(--ink);background:0 0;padding:9px 0;font-size:12px;font-weight:600}.text-button span{margin-left:12px}main{max-width:1280px;margin:auto;padding:0 4%}.menu{grid-template-columns:1.25fr 1fr;column-gap:9%;padding-top:72px;display:grid}.intro{padding-top:20px}.eyebrow{align-items:center;gap:8px;display:flex}.eyebrow i,.live-dot:before,.battlefield-heading i{background:var(--orange);border-radius:50%;width:6px;height:6px;display:inline-block}h1{letter-spacing:-4.5px;margin:27px 0 24px;font-size:clamp(45px,5.5vw,76px);font-weight:850;line-height:1.17}h1 span{color:var(--orange)}.intro>p{color:#6a776a;margin:0;font-size:16px;line-height:1.9}.game-facts{color:#727d70;gap:32px;margin-top:40px;font-size:10px;display:flex}.game-facts span{flex-direction:column;gap:8px;display:flex}.game-facts b{letter-spacing:-.6px;color:var(--ink);font-size:22px}.entry-panel{border:1px solid var(--line);background:#fafbf5;border-radius:5px;padding:30px 30px 20px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title .eyebrow{letter-spacing:1.3px;font-size:9px}.live-dot{color:#65795a;align-items:center;gap:5px;font-size:10px;display:flex}.live-dot:before{background:#84a46c;width:5px;height:5px}.entry-panel h2{letter-spacing:-1px;margin:23px 0;font-size:23px}.entry-panel label{margin-bottom:9px;font-size:11px;font-weight:700;display:block}input{color:var(--ink);background:#f3f5ed;border:1px solid #d4d9cc;border-radius:3px;width:100%;min-width:0;padding:14px 15px;font-size:13px}input::placeholder{color:#899283}#nickname{margin-bottom:14px}.button{border-radius:3px;justify-content:center;align-items:center;gap:20px;min-height:47px;padding:12px 19px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:flex}.button:not(:disabled):active{transform:translateY(1px)}.button span{opacity:.75;font-size:10px;font-weight:500}.primary{background:var(--green);color:var(--ink)}.primary:hover:not(:disabled){background:#bdd98a}.secondary{color:var(--ink);background:0 0;border:1px solid #bdc7b3}.secondary:hover:not(:disabled){background:#e8eddd}.ink{background:var(--ink);color:#f7f8ee}.ink:hover:not(:disabled){background:#315542}#create{justify-content:space-between;width:100%}.join-row{gap:8px;margin-top:10px;display:flex}.join-row .button{min-width:74px}.join-row input{letter-spacing:1px;font-size:12px}.entry-divider{border-top:1px solid var(--line);margin:24px 0 17px}.training-button{width:100%;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0;display:flex}.training-button span:first-child{flex-direction:column;gap:6px;display:flex}.training-button b{font-size:13px}.training-button small{color:#7f8978;font-size:10px;font-weight:400}.training-button>span:last-child{font-size:20px}.connection-note{color:#8b9386;margin:20px 0 0;font-size:10px;line-height:1.8}.preview-strip{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;margin-top:61px;padding:25px 0;font-size:11px;display:flex}.preview-strip>span{letter-spacing:1.8px;font-size:9px;font-weight:700}.preview-strip b{color:var(--orange);margin:0 14px}.preview-strip small{color:var(--muted);font-size:10px}footer{border-top:1px solid var(--line);color:#889181;letter-spacing:.5px;justify-content:space-between;align-items:center;gap:15px;min-height:75px;margin-top:22px;font-size:9px;display:flex}footer>span:first-child{color:#56654f;font-weight:700}footer b{color:#a5ae9c;margin:0 7px}footer a{letter-spacing:1px;font-size:9px}.play-heading{justify-content:space-between;align-items:center;margin:34px 0 23px;display:flex}.play-title{letter-spacing:-1.5px;margin:9px 0 0;font-size:32px}.play-heading .eyebrow{font-size:9px}.room-actions{align-items:center;gap:20px;display:flex}.room-label{color:#85917e;letter-spacing:1px;margin-bottom:5px;font-size:8px;display:block}#room-code{letter-spacing:2px;font-size:17px}.button.small{background:#e7ecdc;min-height:34px;padding:9px 12px;font-size:11px}.match-hud{border:1px solid var(--line);background:#fafbf6;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:20px;padding:17px 22px;display:grid}.match-hud>div{border-right:1px solid var(--line);flex-direction:column;gap:7px;display:flex}.match-hud>div:last-child{border:0}.match-hud span{letter-spacing:1.6px;color:#839079;font-size:9px;font-weight:700}.match-hud b{letter-spacing:-.5px;font-size:25px}.match-hud small{color:#839079;letter-spacing:0;font-size:10px;font-weight:400}.match-hud .phase-hud b{letter-spacing:-.4px;padding-top:4px;font-size:15px}.battlefield-heading{letter-spacing:1.2px;justify-content:space-between;padding:20px 0 10px;font-size:9px;font-weight:700;display:flex}.battlefield-heading>span:first-child{align-items:center;gap:6px;display:flex}.battlefield-heading i{background:#829b60;width:5px;height:5px}#field-hint{letter-spacing:0;color:#8b9482;font-weight:400}.board-scroll{background:#e9edda;border:1px solid #c8d0ba;border-radius:3px;overflow:auto}canvas{touch-action:manipulation;width:100%;min-width:600px;height:auto;display:block}.players{grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 22px;display:grid}.player{align-items:center;gap:9px;min-width:0;font-size:11px;display:flex}.player .number{color:#6b7f58;background:#e6ebda;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:10px;display:grid}.player.self .number{background:var(--ink);color:#e5f1cd}.player-info{flex-direction:column;gap:4px;display:flex;overflow:hidden}.player-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.player-info small{color:#84917a;font-size:9px}.command-panel{border:1px solid var(--line);background:#fafbf5;grid-template-columns:1.2fr 1fr .8fr;gap:25px;padding:23px;display:grid}.command-panel section+section{border-left:1px solid var(--line);padding-left:25px}.command-panel .eyebrow{letter-spacing:1px;font-size:8px}.command-panel h2{letter-spacing:-.7px;margin:9px 0 5px;font-size:20px}.unit-detail p{color:#8b9580;min-height:14px;margin:0 0 13px;font-size:10px}.cells{gap:5px;display:flex}.cells button{color:#6c7e60;background:#ecf0e3;border:1px solid #d2dbc4;border-radius:2px;width:27px;height:27px;font-size:10px}.cells button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#e3efcb}.cells button.occupied:after{content:"·";margin-left:2px;font-size:15px}.command-buttons{flex-direction:column;gap:8px;display:flex}.command-buttons .button{justify-content:space-between;min-height:39px}.odds-button{color:#859178;margin-top:2px;font-size:9px}.wave-actions{flex-direction:column;justify-content:center;gap:8px;display:flex}.wave-actions .button{min-height:39px;font-size:12px}.wave-actions .text-button{font-size:10px}.play-note{color:#8b957e;text-align:center;margin-top:16px;font-size:10px;line-height:1.6}.result-banner{background:var(--ink);color:#f2f4e9;border-radius:3px;justify-content:space-between;align-items:center;margin-top:20px;padding:28px;display:flex}.result-banner h2{letter-spacing:-1px;margin:8px 0;font-size:27px}.result-banner p{color:#b9c7ad;margin:8px 0;font-size:12px}.result-banner .eyebrow{color:#c9e29d;font-size:9px}#notice{color:#f6f7ef;z-index:10;background:#203b32;border:1px solid #6d825b;border-radius:4px;max-width:min(600px,90vw);padding:15px 22px;font-size:12px;line-height:1.7;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}dialog{color:var(--ink);background:#f8f9f2;border:1px solid #bdc8af;border-radius:5px;width:min(480px,92vw);padding:34px}dialog::backdrop{background:#152b24aa}dialog h2{letter-spacing:-1px;margin:20px 0;font-size:27px}.dialog-close{color:var(--ink);background:0 0;font-size:24px;position:absolute;top:12px;right:17px}dialog p{color:#6c7b62;font-size:13px;line-height:1.9}dialog h3{margin:22px 0 5px;font-size:14px}dialog .button{width:100%;margin-top:22px}.odds-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 0;font-size:13px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (max-width:760px){.topbar{height:74px;padding:0 5%}.brand{font-size:22px}.edition{display:none}.menu{grid-template-columns:1fr;gap:33px;padding-top:32px}.intro{padding-top:0}h1{letter-spacing:-3px;margin:20px 0;font-size:51px}.intro>p{font-size:14px}.game-facts{gap:35px;margin-top:24px}.game-facts b{font-size:19px}.entry-panel{padding:25px}.preview-strip{flex-wrap:wrap;gap:18px;margin-top:0;padding:22px 0}.preview-strip small{display:none}.preview-strip b{margin:0 8px}footer>span:nth-child(2){display:none}.play-heading{align-items:flex-start;gap:12px}.play-title{font-size:27px}.room-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:50%}#room-code{font-size:14px}.match-hud{grid-template-columns:1fr 1fr 1fr 1.4fr;gap:10px;padding:14px 12px}.match-hud b{font-size:20px}.match-hud .phase-hud b{font-size:12px;line-height:1.6}.match-hud span{letter-spacing:1px;font-size:8px}.battlefield-heading{font-size:8px}#field-hint{text-align:right;max-width:53%;font-size:9px}.players{grid-template-columns:repeat(2,1fr);gap:12px}.command-panel{grid-template-columns:1fr 1fr;gap:20px;padding:18px}.command-panel section+section{padding-left:15px}.command-panel .wave-actions{border-left:0;border-top:1px solid var(--line);flex-flow:wrap;grid-column:1/-1;padding:15px 0 0;display:flex}.wave-actions .button{flex:1}.cells{flex-wrap:wrap;gap:3px}.cells button{width:25px}.result-banner{flex-wrap:wrap;gap:20px}.result-banner h2{font-size:23px}.unit-detail p{line-height:1.6}.command-panel h2{font-size:18px}.room-actions .button.small{padding:7px 10px;font-size:10px}.connection-note{font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
