:root{color:#17272a;font-synthesis:none;background:#e6e2ce;font-family:Avenir Next,Futura,Trebuchet MS,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{min-width:320px;margin:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #ffdc69}.game-shell{max-width:1240px;min-height:100svh;margin:0 auto;padding:28px}.masthead{border-bottom:2px solid #34504c;align-items:end;gap:22px;padding-bottom:18px;display:flex}.eyebrow{color:#a04036;text-transform:uppercase;margin:0 0 5px;font-family:Georgia,serif;font-size:14px}h1{color:#17312f;letter-spacing:0;margin:0;font-family:Georgia,serif;font-size:45px;font-weight:700}.map-picker{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.map-button,.icon-button{color:#203331;cursor:pointer;background:#f4f0df;border:1px solid #8d9684;min-height:36px;padding:7px 12px}.map-button.is-active,.map-button:hover{color:#fffbe9;background:#315b53;border-color:#315b53}.game-layout{grid-template-columns:144px minmax(0,1fr);gap:18px;margin-top:24px;display:grid}.scoreboard{align-content:start;gap:8px;display:grid}.score{color:#34504c;border-left:5px solid #758e88;justify-content:space-between;padding:8px 10px;display:flex}.score.is-current{color:#17272a;background:#f5efcc;border-left-color:#d9534f}.score.just-stuck{animation:.72s ease-out both stuck-score}.score-name{gap:3px;display:grid}.score-state{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.score-state.can-take{color:#176f50}.score-state.is-stuck{color:#856d55}.score strong{font-family:Georgia,serif;font-size:24px;line-height:1}.board-wrap{border:8px solid #17312f;min-width:0;position:relative;box-shadow:0 10px #a7a58d}#board{touch-action:manipulation;max-width:none;display:block}.player-intro{color:#fffbe9;pointer-events:none;text-align:center;z-index:1;background:#17272aeb;border:1px solid #fffbe9c7;margin:0;padding:6px 12px;font-family:Georgia,serif;font-size:14px;font-weight:700;position:absolute;transform:translate(-50%,-100%)}.player-intro:after{content:"";border:7px solid #0000;border-top-color:#17272aeb;position:absolute;top:100%;left:50%;transform:translate(-50%)}.player-intro.points-up{transform:translate(-50%)}.player-intro.points-up:after{border-top-color:#0000;border-bottom-color:#17272aeb;top:auto;bottom:100%}.player-intro.is-visible{animation:1.8s ease-out both player-intro}.turn-event{color:#fffbe9;opacity:.9;pointer-events:none;text-align:center;z-index:1;background:#7c302bd6;margin:0;padding:7px 12px;font-family:Georgia,serif;font-size:14px;font-weight:700;position:absolute;top:-42px;right:0}.turn-event.is-visible{animation:1.4s ease-out both stuck-event}.victory-overlay{color:#fffbe9;pointer-events:none;text-align:center;z-index:2;background:#17312fe8;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0}.victory-overlay h2{max-width:620px;margin:6px 0 14px;font-family:Georgia,serif;font-size:38px;line-height:1.1}.victory-overlay p{margin:0}.victory-kicker{color:#ffdc69;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.victory-scores{flex-wrap:wrap;justify-content:center;gap:10px 18px;display:flex}.victory-scores span{color:#d9ddcc;white-space:nowrap}.victory-scores strong{color:#ffdc69;margin-left:4px;font-family:Georgia,serif;font-size:21px}.command-deck{grid-column:2;align-items:center;gap:16px;padding:6px 0;display:flex}.turn-status{flex:1;margin:0;font-family:Georgia,serif;font-size:19px}.color-grid{grid-template-columns:repeat(6,36px);gap:6px;display:grid}.color-button{color:#fffdf2;cursor:pointer;border:2px solid #0000;border-radius:2px;justify-content:center;align-items:center;height:36px;display:flex;position:relative}.color-button canvas{pointer-events:none;width:28px;height:28px}.shortcut-key{color:#fffbe9;background:#17312fd1;border:1px solid #fffbe9b8;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-family:Georgia,serif;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.shortcut-key-wide{border-radius:3px;width:auto;height:18px;padding:0 5px}.color-button:disabled{cursor:not-allowed;filter:grayscale();opacity:.35}.color-button.is-selected{border-color:#17272a;box-shadow:0 0 0 2px #ffdc69}.color-1{background:#d9534f}.color-2{background:#d89b32}.color-3{background:#5e9d48}.color-4{background:#278d9d}.color-5{background:#3d6ca8}.color-6{background:#9b5d78}.actions{gap:8px;display:flex}.capture-button,.auto-take-button{color:#fffbed;cursor:pointer;border:1px solid #742d28;min-height:38px;padding:8px 16px}.capture-button{background:#a04036}.auto-take-button{background:#315b53;border-color:#25463f;position:relative}.capture-button:disabled,.auto-take-button:disabled{cursor:not-allowed;background:#aeb3a2;border-color:#aeb3a2}.icon-button{padding:5px 10px;font-size:23px;line-height:1}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes player-intro{0%{opacity:0}15%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes stuck-event{0%{opacity:0;transform:translateY(8px)scale(.92)}18%{opacity:.9;transform:translateY(0)scale(1.03)}75%{opacity:.9;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5px)scale(.97)}}@keyframes stuck-score{0%,to{transform:translate(0)}20%{background:#dfb19b;transform:translate(-7px)}42%{transform:translate(6px)}65%{transform:translate(-3px)}}@media (prefers-reduced-motion:no-preference){.game-shell{animation:.36s ease-out both arrive}}@media (prefers-reduced-motion:reduce){.player-intro.is-visible,.turn-event.is-visible,.score.just-stuck{animation:none}}@media (width<=720px){.game-shell{padding:16px}.masthead{flex-direction:column;align-items:start;gap:12px}h1{font-size:38px}.map-picker{margin-left:0}.game-layout{grid-template-columns:1fr;gap:14px}.scoreboard{order:2;grid-template-columns:repeat(2,1fr)}.command-deck{flex-direction:column;order:3;grid-column:auto;align-items:stretch}.color-grid{grid-template-columns:repeat(6,1fr)}.color-button{height:44px}.actions{grid-template-columns:1fr 1fr 48px;display:grid}}
