.states-game{display:grid;gap:var(--space-6);padding-block:var(--space-6) var(--space-7)}.states-header,.states-layout{width:min(100% - 40px,1140px);margin-inline:auto}.states-header{display:grid;gap:var(--space-3)}.states-kicker,.states-intro,.states-map-heading p,.prompt-kicker,.game-prompt,.game-feedback,.checklist-heading p,.game-result p{margin:0}.states-kicker,.prompt-kicker{color:var(--alpenglow);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.states-intro{max-width:58ch;color:var(--ink-soft);font-size:1.08rem}.states-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(290px,.95fr);align-items:start;gap:var(--space-5)}.states-map-panel{min-width:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.states-map-heading,.checklist-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3)}.states-map-heading h2,.checklist-heading h2,.game-result h2{font-family:var(--font-ui);font-size:var(--text-md);font-weight:600}.states-map-heading p,.checklist-heading p{color:var(--ink-soft);font-size:var(--text-xs)}.states-map{display:block;width:100%;height:auto;background:var(--paper);touch-action:manipulation}.state-shape{fill:var(--zone-ix);fill-opacity:1;stroke:var(--rule);stroke-width:.75;cursor:pointer;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out);vector-effect:non-scaling-stroke}.state-shape:hover,.state-shape.is-active{fill:var(--zone-viii);stroke:var(--ink-soft)}.state-shape.is-solved{fill:var(--green);fill-opacity:.18;stroke:var(--green)}.state-shape.is-wrong{fill:var(--red);fill-opacity:1;stroke:var(--red)}.state-shape:focus-visible{outline:none;fill:var(--zone-viii);fill-opacity:1;stroke:var(--alpenglow);stroke-width:2;paint-order:stroke fill markers}.state-shape.is-solved:focus-visible{fill:var(--green);fill-opacity:.18}.state-shape.is-wrong:focus-visible{fill:var(--red);fill-opacity:1}.state-map-label,.leader-name{fill:var(--ink);font-family:var(--font-ui);pointer-events:none;paint-order:stroke fill;stroke:var(--paper);stroke-width:4;stroke-linejoin:round}.state-map-label{visibility:hidden;font-size:15px;font-weight:600}.state-map-label.is-visible{visibility:visible}.leader-line{fill:none;stroke:var(--rule);stroke-width:1;pointer-events:none}.leader-hit{fill:var(--paper);fill-opacity:0;pointer-events:all;cursor:pointer}.leader-dot{fill:var(--paper);stroke:var(--ink-soft);stroke-width:1.5;pointer-events:none;vector-effect:non-scaling-stroke}.leader-name{font-size:13px;font-weight:600}.small-state-target.is-active .leader-dot{fill:var(--zone-viii);stroke:var(--ink-soft)}.small-state-target.is-solved .leader-dot{fill:var(--green);stroke:var(--green)}.small-state-target.is-wrong .leader-dot{fill:var(--red);stroke:var(--red)}.small-state-target:focus-visible{outline:none}.small-state-target:focus-visible .leader-dot{stroke:var(--alpenglow);stroke-width:2;paint-order:stroke fill markers}.states-game[data-mode=quiz] .leader-name{visibility:hidden}.states-side-rail{position:sticky;top:var(--space-4);display:grid;gap:var(--space-4);max-height:calc(100vh - var(--space-5))}.game-controls,.checklist-panel{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}.game-controls{display:grid;gap:var(--space-3);padding-block:var(--space-3)}.mode-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.mode-group button,.game-result button{min-height:42px;border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--paper);color:var(--ink-soft);font-family:var(--font-ui);cursor:pointer}.mode-group button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.prompt-panel{display:grid;gap:var(--space-2);min-height:116px;padding:var(--space-3);background:var(--zone-ix)}.game-prompt{color:var(--ink);font-family:var(--font-display);font-size:1.45rem;line-height:1.15}.game-feedback{min-height:1.5em;color:var(--ink-soft);font-size:var(--text-sm)}.game-feedback[data-outcome=correct]{color:var(--green)}.game-feedback[data-outcome=wrong]{color:var(--red)}.game-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:0}.game-stats>div{display:grid;gap:var(--space-1)}.game-stats dt{color:var(--ink-soft);font-size:var(--text-xs)}.game-stats dd{margin:0;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums}.game-result{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--rule)}.game-result[hidden]{display:none}.game-result p{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.game-result button{color:var(--ink)}.checklist-panel{min-height:0;overflow:auto;padding-bottom:var(--space-3)}.state-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-2);margin:0;padding:0;list-style:none}.state-row{display:grid;grid-template-columns:1em minmax(0,1fr);align-items:baseline;gap:var(--space-1);min-width:0;padding:2px var(--space-1);color:var(--ink-soft);font-size:var(--text-2xs);line-height:1.45}.state-row.is-active{background:var(--zone-ix);color:var(--ink)}.states-game[data-mode=quiz] .state-row:not(.is-solved){color:var(--zone-v)}.states-game[data-mode=quiz] .state-row.is-solved{color:var(--ink)}.state-check{color:var(--green);font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.states-game{gap:var(--space-5);padding-block:var(--space-5) var(--space-6)}.states-layout{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4)}.states-map-panel{order:2;overflow-x:auto;overscroll-behavior-inline:contain}.states-side-rail{display:contents}.game-controls{position:sticky;top:0;z-index:20;order:1;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);align-items:start;padding:var(--space-2)}.game-stats,.game-result{grid-column:1 / -1}.prompt-panel{min-height:0;padding:var(--space-2)}.checklist-panel{order:3;overflow:visible}.state-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.states-header,.states-layout{width:min(100% - 24px,1140px)}.game-controls{grid-template-columns:1fr}.game-stats,.game-result{grid-column:auto}.game-prompt{font-size:1.2rem}.states-map{min-width:720px}.state-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.state-shape{transition:none}}html[data-theme=mountain] .state-shape{fill:var(--zone-ix);stroke:var(--zone-vi);stroke-width:1}html[data-theme=mountain] .state-shape:hover,html[data-theme=mountain] .state-shape.is-active{fill:var(--zone-viii);stroke:var(--zone-iv)}html[data-theme=mountain] .state-shape.is-solved{fill:var(--green);fill-opacity:.26;stroke:var(--green)}html[data-theme=mountain] .leader-line{stroke:var(--zone-vii)}html[data-theme=mountain] .leader-dot{fill:var(--zone-ix);stroke:var(--zone-vi)}html[data-theme=mountain] .prompt-panel{background:var(--zone-ix)}
