.ui-button{border:2px solid var(--brand-ink);border-radius:var(--radius-chip);min-height:44px;box-shadow:var(--shadow-token);font:700 16px/1 var(--font-ui);cursor:pointer;transition:transform var(--motion-press) ease-out, box-shadow var(--motion-press) ease-out;padding:10px 20px}.ui-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #1b1f3b59}.ui-button:focus-visible{outline:3px solid var(--brand-brass);outline-offset:3px}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--primary{background:var(--brand-ink);color:var(--brand-paper)}.ui-button--secondary{background:var(--brand-paper);color:var(--brand-ink)}@media (prefers-reduced-motion:reduce){.ui-button{transition:none}}:root{--brand-ink:#1b1f3b;--brand-paper:#fff8ec;--brand-brass:#c9a227;--player-1:#0072b2;--player-2:#d55e00;--player-3:#009e73;--player-4:#f0e442;--player-5:#cc79a7;--player-6:#56b4e9;--ui-positive:#2e7d5b;--ui-warning:#e8a33d;--ui-danger:#b3261e;--radius-chip:999px;--radius-card:14px;--shadow-token:0 3px 0 #1b1f3b59;--font-display:"Baloo 2", system-ui, sans-serif;--font-ui:Nunito, system-ui, sans-serif;--motion-press:.12s;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Nunito,system-ui,sans-serif}html,body,#root{background:var(--brand-paper);height:100%;color:var(--brand-ink);margin:0}.app{grid-template-rows:1fr auto;height:100%;display:grid}.app__footer{text-align:center;padding:12px 16px;font-size:14px}.spike{height:100%;position:relative}.spike__stats{background:#fff8ece6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font:600 14px/1.3 system-ui,sans-serif;display:flex;position:absolute;inset:12px 12px auto}.app__home{flex-direction:column;align-items:center;gap:16px;padding:16px;display:flex;overflow:auto}.app__hero{text-align:center;justify-items:center;display:grid}.app__hero h1{font:800 40px/1 var(--font-display);margin:0}.app__hero p{margin:6px 0 0}.app__die{width:140px!important;height:140px!important}.home,.lobby{gap:12px;width:min(100%,480px);display:grid}.lobby{box-sizing:border-box;align-content:start;justify-self:center;width:min(100%,512px);padding:16px;overflow:auto}.home__field{gap:6px;font-weight:700;display:grid}.home__field input,.home__code,.lobby__link input{border:2px solid var(--brand-ink);min-height:44px;color:var(--brand-ink);font:600 16px var(--font-ui);background:#fff;border-radius:10px;padding:0 12px}.home__code{letter-spacing:.3em;text-transform:uppercase}.hud-card{border-radius:var(--radius-card);background:#fff;border:2px solid #1b1f3b26;gap:10px;padding:14px;display:grid}.hud-card h2{font:800 18px/1.2 var(--font-display);margin:0}.hud-card p{margin:0}.hud-note{opacity:.8;font-size:14px}.hud-warning{color:var(--ui-danger);margin:0;font-weight:700}.hud-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hud-toggle{align-items:center;gap:8px;min-height:44px;display:flex}.hud-range{width:100%}.choice{border:0;gap:6px;margin:0;padding:0;display:flex}.choice__option{border:2px solid var(--brand-ink);background:var(--brand-paper);min-height:44px;color:var(--brand-ink);font:700 15px var(--font-ui);cursor:pointer;border-radius:10px;flex:1;place-items:center;display:grid}.choice__option input{opacity:0;pointer-events:none;position:absolute}.choice__option--on{background:var(--brand-ink);color:var(--brand-paper)}.choice__option:has(input:focus-visible),.board__tile:focus-visible{outline:3px solid var(--brand-brass);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lobby__link{gap:8px;display:flex}.lobby__link input{flex:1;min-width:0}.lobby__code{letter-spacing:.15em}.lobby__start{justify-content:space-between}.seat-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.seat-list__item{border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.seat-list__item--active{background:#c9a2272e}.seat-list__glyph{text-shadow:0 0 1px var(--brand-ink);font-size:20px}.seat-list__name{flex:1;font-weight:700}.seat-list__stats{opacity:.75;font-size:13px}.match{grid-template-columns:minmax(0,1fr) 360px;gap:12px;min-height:0;padding:12px 16px;display:grid;overflow:hidden}.match__board{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;display:grid;position:relative}.match__banner{border-radius:var(--radius-card);font:800 18px/1.2 var(--font-display);background:#fff;border:3px solid;justify-content:space-between;gap:8px;margin:0;padding:8px 12px;display:flex}.match__round{font:600 14px var(--font-ui);opacity:.7}.match__status{background:var(--ui-warning);text-align:center;border-radius:10px;margin:0;padding:8px 12px;font-weight:700;position:absolute;inset:auto 12px 12px}.match__hud{align-content:start;gap:10px;min-height:0;display:grid;overflow:auto}.hud-log ul{gap:4px;max-height:220px;margin:0;padding:0;font-size:13px;list-style:none;display:grid;overflow:auto}.objective-list{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.reveal dl{gap:2px;font-size:12px;display:grid}.reveal dd{word-break:break-all;margin:0 0 6px;font-family:ui-monospace,monospace}.board{aspect-ratio:106/102;border-radius:var(--radius-card);-webkit-user-select:none;user-select:none;background:#cfe9ec;width:min(100%,103.922dvh - 155.882px);margin:0 auto;position:relative;container-type:inline-size}.board__routes{width:100%;height:100%;position:absolute;inset:0}.board__route{stroke:#5b6b73;stroke-width:.3px}.board__route--sea{stroke-dasharray:1 1}.board__tile{border:max(1.5px, .45cqw) solid var(--brand-paper);width:6.4cqw;min-width:22px;height:6.4cqw;min-height:22px;color:var(--brand-ink);font:800 max(11px, 2.9cqw) / 1 var(--font-ui);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.board__tile--selected{border-color:var(--brand-ink);box-shadow:0 0 0 max(2px, .5cqw) var(--brand-paper);z-index:2}.board__tile--target{border-style:dashed;border-color:var(--brand-ink);z-index:1}.board__armies{text-shadow:0 0 2px #fff,0 0 2px #fff}.board__glyph{text-shadow:0 0 2px #fff;font-size:max(9px,1.8cqw);position:absolute;top:-.6em;right:-.5em}.board__name{font:600 max(8px, 1.6cqw) / 1.2 var(--font-ui);white-space:nowrap;pointer-events:none;position:absolute;top:100%}.toast{z-index:10;background:var(--brand-ink);max-width:480px;color:var(--brand-paper);text-align:center;border-radius:10px;margin:0 auto;padding:10px 14px;font-weight:700;animation:3.5s forwards toast-out;position:fixed;inset:12px 16px auto}@keyframes toast-out{0%,80%{opacity:1}to{opacity:0;visibility:hidden}}.screen-message{text-align:center;margin:auto;padding:24px}@media (width<=820px){.match{grid-template-columns:1fr;overflow:auto}.match__board{grid-template-rows:auto auto}.board{width:100%}}@media (prefers-reduced-motion:reduce){.toast{animation-duration:0s;animation-delay:3.5s}}
