:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#091826;color:#eaf1f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 88% 0%,#1d4055,#0b1726 67%);min-height:100dvh}button,input,select{font:inherit}button,a{transition:.18s}button{border:0;cursor:pointer;font-weight:750;border-radius:11px;padding:13px 17px}button:hover:not(:disabled),.primary:hover{filter:brightness(1.11)}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:#f0be76;color:#172737;border:1px solid #e7b774;box-shadow:0 7px 24px #e7b77425;font-weight:750}.outline{background:#213d50;border:1px solid #476277;color:#e3edf1}.danger{color:#f5aba4;border-color:#864c50}.small{padding:9px 12px;font-size:12px}.hidden{display:none!important}.eyebrow{color:#f0bc79;letter-spacing:.16em;font-size:10px;font-weight:850}.subtle{color:#a8c0cd;font-size:12px;line-height:1.6}.masthead{display:flex;justify-content:space-between;align-items:center;padding:11px clamp(12px,4vw,45px);background:#0a1e2dec;border-bottom:1px solid #335269;min-height:68px;gap:12px}.back{color:#b7cede;text-decoration:none;font-size:12px;border:1px solid #38546a;padding:10px;border-radius:9px}.brand{display:flex;align-items:center;gap:9px}.brand strong{font-family:Georgia,serif;letter-spacing:.09em;font-size:17px}.brand small{display:block;letter-spacing:.13em;font-size:8px;color:#a4bccc;margin-top:5px}.star{font-size:31px;color:#e6b671}.topright{font-size:11px;color:#b8cfda}main{max-width:1150px;margin:0 auto;padding:28px 17px 50px}.online-hero{text-align:center;margin:30px auto 27px}.online-hero h1{font:clamp(35px,5.7vw,62px)/1.12 Georgia,serif;margin:14px 0;color:#f0f5f8}.online-hero h1 em{font-weight:400;color:#ebba75}.online-hero p{font-size:14px;line-height:1.65;color:#b0c4d0;max-width:520px;margin:15px auto}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid #39576b;border-radius:19px;background:#132b3bf0;padding:23px;box-shadow:0 20px 50px #0004}.card h2{font:29px Georgia,serif;margin:10px 0 23px}.card h3{font-size:15px;margin:0 0 12px}.field-stack{display:flex;flex-direction:column;gap:15px}.field-stack label{font-size:12px;color:#c6d7df;display:flex;flex-direction:column;gap:7px}.field-stack input,.field-stack select{width:100%;padding:13px 12px;background:#0e2231;color:#edf5f7;border:1px solid #406078;border-radius:10px;min-width:0;min-height:45px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-heading{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.public-rooms{display:flex;flex-direction:column;gap:9px;color:#b7cbd7;font-size:12px}.public-room{display:flex;justify-content:space-between;gap:8px;padding:12px;border:1px solid #3b5a70;border-radius:11px;background:#1a3448}.public-room strong{display:block;color:#f2f7fa;margin-bottom:5px}.public-room button{min-width:82px}.room-lobby{max-width:690px;margin:20px auto}.room-meta{display:flex;justify-content:space-between;align-items:center}.status-chip{font-size:10px;padding:7px 10px;border:1px solid #a98858;border-radius:25px;color:#f1c17d}.room-lobby h1{font:32px Georgia,serif}.share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#213d50;border:1px solid #3d5d74;border-radius:13px;padding:11px;margin:19px 0}.share span{font-size:11px;color:#b9ccda}.share code{color:#f5d29e;letter-spacing:.12em;font-size:14px;flex:1}.member-list{display:flex;flex-direction:column;gap:9px}.member{display:flex;align-items:center;justify-content:space-between;padding:13px;border-radius:11px;background:#1e394c;border:1px solid #385970}.member-person{display:flex;gap:10px;align-items:center}.player-dot{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0}.room-buttons{margin-top:20px;display:flex;gap:9px;flex-wrap:wrap}.room-buttons button{flex:1 1 160px}#matchView{max-width:none;padding:0}.game-hud{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:87px;padding:14px 23px;background:#122b3cee;border-bottom:1px solid #3b5c70}.game-hud h2{font:22px Georgia,serif;margin:5px 0}.game-clock{display:flex;flex-direction:column;gap:5px;align-items:center}.game-clock span{font-size:10px;letter-spacing:.1em;color:#bad0df}.game-clock strong{font-size:24px;font-variant-numeric:tabular-nums;color:#f1c17c}.game-hud-actions{display:flex;gap:6px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:16px;align-items:start;padding:16px;min-height:calc(100dvh - 165px)}.map-holder{position:relative;min-width:0;overflow:hidden;border:1px solid #47677b;border-radius:16px;background:#143346;min-height:300px}.map-holder #mapArea svg{display:block;width:100%;height:auto;max-height:calc(100dvh - 160px)}#world .territory-area{fill:#415e6c;stroke:#85a6ae;stroke-width:.8;cursor:pointer;transition:fill .2s,stroke .15s}#world .territory-area:hover,#world .territory-area:focus{stroke:#f2d69c;stroke-width:2.3;outline:none}#world .territory-area.selected{stroke:#fff5c4;stroke-width:3.5;filter:drop-shadow(0 0 5px #e7b971)}#world .territory-area.enemy-selected{stroke:#eea0a0;stroke-width:3}#onlineMarkers{pointer-events:none}#onlineMarkers text{font-size:18px;font-weight:850;fill:#fff;paint-order:stroke;stroke:#091c2e;stroke-width:3px}#onlineMarkers rect{stroke:#d8e7eb;stroke-width:1;fill:#102a3df2}#mapTip{position:absolute;left:14px;top:13px;max-width:240px;border-radius:10px;background:#082031d9;padding:10px;font-size:12px;color:#f1d4a4;pointer-events:none}.game-aside{display:flex;flex-direction:column;gap:13px}.game-aside .card{padding:17px}.game-aside h2{font-size:23px;margin:8px 0 13px}.game-aside h3{font-size:14px}.command-card{position:sticky;top:10px;min-height:110px}.command-buttons{display:flex;flex-direction:column;gap:7px;margin-top:14px}.command-buttons button{width:100%;font-size:13px;min-height:43px}.command-body-row{border-radius:11px;padding:12px;border:1px solid #37576d;background:#1c3a4c;margin:8px 0}.command-body-row .muted{display:block;font-size:11px;color:#a8c4d5;margin-bottom:4px}.command-body-row strong{font-size:14px}.command-targets{display:flex;flex-wrap:wrap;gap:7px}.command-targets button{font-size:11px;padding:8px 10px;background:#28485b;color:#eaf1f4;border:1px solid #4b6c7d}.command-targets button.selected{background:#5a4a31;border-color:#e3b36b}.control-label{font-size:11px;color:#b9ccd8;display:flex;gap:7px;justify-content:space-between}.command-slider{width:100%;margin:12px 0;accent-color:#e7ba77}.command-instruction{font-size:12px;color:#c1d4dd;line-height:1.55}.player-row-small{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;color:#d9e8ee;font-size:12px}.player-row-small .muted{font-size:11px;color:#b0c5d2}.history-card{max-height:270px;overflow:auto}.event{font-size:11px;border-bottom:1px solid #37576a;padding:7px 0;color:#bad1dc}.modal-back{position:fixed;inset:0;z-index:15;background:#05121be9;display:grid;place-items:center;padding:18px}.pause-modal{max-width:500px;width:100%;text-align:center}.pause-crest{font-size:38px;color:#edbe76}.pause-modal .field-stack label{text-align:left}.pause-modal p{color:#e1e9ee}.toast{position:fixed;z-index:99;bottom:18px;left:50%;transform:translateX(-50%);width:min(530px,calc(100vw - 30px));text-align:center;color:#ffe8bb;border:1px solid #c59c63;border-radius:12px;background:#234154;padding:15px;box-shadow:0 14px 42px #0009}
@media(max-width:930px){.game-layout{grid-template-columns:1fr}.map-holder #mapArea svg{max-height:none}.command-card{position:static}.game-aside{display:grid;grid-template-columns:1fr 1fr}.command-card{grid-column:1/-1}}@media(max-width:650px){.lobby-grid{grid-template-columns:1fr}.masthead{padding:9px 11px}.brand strong{font-size:13px}.brand small{font-size:7px}.back{font-size:10px;padding:8px}.topright{display:none}.online-hero{margin:12px auto 23px}.online-hero h1{font-size:37px}.card{padding:18px}.game-hud{gap:8px;flex-wrap:wrap;padding:11px}.game-hud h2{font-size:18px}.game-clock strong{font-size:20px}.game-hud-actions{width:100%;justify-content:flex-end}.game-hud-actions button{font-size:11px;padding:8px}.game-layout{padding:8px;gap:10px}.map-holder{min-height:205px}.game-aside{display:flex}.game-aside .card{padding:14px}#mapTip{font-size:10px;left:7px;top:8px;padding:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
