:root{font-family:var(--sans);color:var(--ink);background:var(--lime);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,select,input{min-height:44px;border:1px solid var(--rule);border-radius:var(--radius-ctl);background:var(--lime-raised);padding:var(--s-2) var(--s-3)}button{cursor:pointer;font-weight:600}button:hover{background:var(--lime)}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-underline-offset:4px}button.primary{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}button.primary:hover{background:var(--celeste)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}main{max-width:1560px;margin:auto;padding:var(--s-6) var(--gutter) var(--s-5)}p{line-height:var(--lh-dense)}.game-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--s-5);margin-bottom:var(--s-5)}.game-heading a{font-size:var(--t-dense)}.game-heading h1{font:800 var(--t-display)/var(--lh-display) var(--display);margin:var(--s-3) 0 var(--s-2);letter-spacing:var(--track-display)}.game-heading p{margin:0;color:var(--muted);font-size:var(--t-dense)}.edition{white-space:nowrap}.settings{display:flex;align-items:end;gap:var(--s-4);padding:0 0 var(--s-5)}.settings label{display:grid;gap:var(--s-1);font-size:var(--t-dense);font-weight:600}.settings select{font-size:var(--t-dense);max-width:100%;font-weight:400}.settings #start{margin-left:auto;min-width:160px}.game-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:490px;animation:arrive var(--dur) var(--ease)}.map-panel{min-width:0;background:var(--lime);border-right:1px solid var(--line);display:flex;flex-direction:column}.map-heading{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) var(--s-5) 0;font-size:var(--t-dense);font-weight:600;letter-spacing:var(--track-label)}.north{font-size:var(--t-sub)}.map-canvas{position:relative;min-height:350px;height:clamp(360px,48vh,590px);flex:1;overflow:hidden;background:var(--map-parish-ground)}svg{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}svg.dragging{cursor:grabbing}.parish{fill:var(--carto-12);stroke:var(--carto-13);stroke-width:2;vector-effect:non-scaling-stroke;fill-rule:evenodd;transition:none;cursor:pointer;outline:none}.parish:nth-child(3n){fill:var(--carto-14)}.parish:nth-child(3n+1){fill:var(--carto-15)}.parish:hover,.parish:focus-visible{fill:var(--carto-16);stroke:var(--carto-17);stroke-width:3}.parish.selected,.parish.target,.parish.correct{fill:var(--carto-18);stroke:var(--carto-19);stroke-width:2.5}.parish.wrong{fill:var(--carto-20);stroke:var(--carto-21)}.parish.hinted{stroke:var(--carto-22);stroke-width:5}.region-label{fill:var(--carto-17);font-family:var(--sans);font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:var(--carto-23);stroke-width:3px;stroke-linejoin:round}.region-label.active{fill:var(--carto-6);stroke:var(--carto-18)}.map-controls{position:absolute;bottom:16px;left:18px;display:flex;gap:var(--s-1)}.map-controls button{box-shadow:none;min-width:44px}.map-controls button:first-child,.map-controls button:nth-child(2){font-size:var(--t-sub);padding:var(--s-1) var(--s-3)}.map-help{font-size:var(--t-dense);color:var(--muted);margin:0;padding:var(--s-3) var(--s-4);border-top:1px solid var(--rule)}.play-panel{padding:var(--s-5) var(--s-5);background:var(--lime-raised);min-width:0}h2{font:800 var(--t-title)/var(--lh-head) var(--display);letter-spacing:var(--track-display);margin:var(--s-3) 0 var(--s-4);overflow-wrap:anywhere}.eyebrow{font-size:var(--t-dense);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-label);color:var(--muted);margin:0}.play-panel p{font-size:var(--t-dense)}.rules{border-top:1px solid var(--line);margin-top:var(--s-6);padding-top:var(--s-4);color:var(--muted)}.round-meta{display:flex;justify-content:space-between;font-size:var(--t-dense);font-weight:600}progress{width:100%;height:5px;accent-color:var(--ink);margin:var(--s-3) 0 var(--s-5);border:0;border-radius:var(--radius);overflow:hidden}progress::-webkit-progress-bar{background:var(--lime-sunken)}progress::-webkit-progress-value{background:var(--celeste)}#choices{display:grid;gap:var(--s-2)}#choices button{text-align:left;font-size:var(--t-dense);font-weight:500;width:100%;transition:none}#choices button.correct{background:var(--lime);border-color:var(--celeste);opacity:1}#choices button.wrong{background:var(--ochre-pale);border-color:var(--teja);opacity:1}.feedback{min-height:46px;line-height:var(--lh-dense)}.feedback:empty{display:none}.feedback.correct{color:var(--ink)}.feedback.wrong{color:var(--teja)}.question-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.question-actions button{font-size:var(--t-dense)}#next{width:100%}summary{cursor:pointer;font-size:var(--t-dense);min-height:44px;padding:var(--s-3) 0}#keyboard-list{margin-top:var(--s-3)}#keyboard-list label,#study-panel label{font-size:var(--t-dense);display:block;margin:var(--s-3) 0 var(--s-2)}#region-choice{width:100%;margin-bottom:var(--s-2)}#study-search{width:100%;font-size:var(--t-dense)}.study-list{margin-top:var(--s-2);max-height:235px;overflow:auto;display:grid;gap:0}.study-list button{background:none;border:0;border-bottom:1px solid var(--line);text-align:left;font-size:var(--t-dense);font-weight:500;border-radius:var(--radius-ctl);padding:var(--s-2) var(--s-1)}.study-list button[aria-pressed=true]{background:var(--lime);font-weight:700}.study-list button span{font-size:var(--t-dense);color:var(--muted);display:inline-block;min-width:25px}.result-actions{display:grid;gap:var(--s-2)}.result-actions button{font-size:var(--t-dense)}h3{font-size:var(--t-dense);margin:var(--s-5) 0 var(--s-2)}#result-list{font-size:var(--t-dense);padding:0;list-style:none;max-height:240px;overflow:auto;margin:0}#result-list li{display:flex;gap:var(--s-2);justify-content:space-between;padding:var(--s-2) 0;border-bottom:1px solid var(--line)}#result-list li span:last-child{white-space:nowrap;color:var(--muted)}.source-note{color:var(--muted);margin-top:var(--s-3);max-width:950px}.source-note p{font-size:var(--t-dense);margin:var(--s-1) 0 var(--s-3)}.source-note summary{font-size:var(--t-dense)}.source-note a{display:inline-block;padding:var(--s-1) 0}#loading{padding:var(--s-8) 0;color:var(--muted)}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:1450px){.game-layout{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}@media(max-width:1000px){main{padding:var(--s-5)}.game-layout{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.play-panel{padding:var(--s-5) var(--s-4)}.settings{gap:var(--s-2)}.settings #start{min-width:130px}}@media(max-width:720px){main{padding:var(--s-4) var(--s-4)}.game-heading{margin-bottom:var(--s-4)}.game-heading p{font-size:var(--t-dense)}.edition{display:none}.game-heading h1{font-size:var(--t-display)}.settings{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);padding-bottom:var(--s-4)}.settings label{min-width:0}.settings select{width:100%;padding:var(--s-2) var(--s-2);font-size:var(--t-dense)}.settings #start{margin:0;font-size:var(--t-dense)}.game-layout{display:flex;flex-direction:column}.map-panel{border-right:0;border-bottom:1px solid var(--line);order:0}.map-heading{padding:var(--s-3) var(--s-3) 0;font-size:var(--t-dense)}.map-canvas{height:330px;min-height:330px;flex:none}.map-controls{bottom:10px;left:12px}.map-controls button{font-size:var(--t-dense);min-height:40px}.map-help{font-size:var(--t-dense);padding:var(--s-2) var(--s-3)}.play-panel{padding:var(--s-5) var(--s-4)}.play-panel h2{font-size:var(--t-head);margin-bottom:var(--s-3)}.rules{margin-top:var(--s-4);padding-top:var(--s-2)}.round-meta{font-size:var(--t-dense)}progress{margin:var(--s-2) 0 var(--s-4)}.question-actions{margin-top:var(--s-3)}#choices{grid-template-columns:1fr 1fr}#choices button{font-size:var(--t-dense);min-height:54px}.study-list{max-height:220px}.source-note{margin-top:var(--s-2)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){
  body:has(#question:not([hidden])) .game-heading{margin-bottom:var(--s-3)}
  body:has(#question:not([hidden])) .game-heading p{display:none}
  body:has(#question:not([hidden])) .settings{padding-bottom:var(--s-3);display:flex;justify-content:flex-end}
  body:has(#question:not([hidden])) .settings label{display:none}
  body:has(#question:not([hidden])) .game-heading h1{font-size:var(--t-display);margin-top:var(--s-2)}
  .game-layout:has(#question:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr);padding-top:var(--s-4)}
  .play-panel:has(#question:not([hidden])),#question:not([hidden]){display:contents}
  #question .round-meta{grid-row:1}#question progress{grid-row:2;margin-bottom:var(--s-2)}
  #question #instruction{grid-row:3}#question #prompt{grid-row:4;font-size:var(--t-head);margin:var(--s-2) 0}
  #question #question-help{grid-row:5;margin:0 0 var(--s-3);font-size:var(--t-dense)}
  .game-layout:has(#question:not([hidden])) .map-panel{grid-row:6}
  #question #choices{grid-row:7;margin-top:var(--s-4)}#question #choices:empty{display:none}
  #question #keyboard-list{grid-row:8;margin-top:var(--s-1)}
  #question #feedback{grid-row:9;margin-bottom:0;font-size:var(--t-dense)}
  #question .question-actions{grid-row:10;margin:var(--s-3) 0 var(--s-4)}
}

.map-heading{gap:var(--s-3)}.map-heading #basemap-toggle{margin-left:auto;border:0;border-bottom:1px solid var(--rule);border-radius:var(--radius-ctl);background:none;font-size:var(--t-dense);font-weight:500;min-height:32px;padding:var(--s-1) 0;letter-spacing:0;white-space:nowrap}.map-heading #basemap-toggle:hover{color:var(--ink-2)}.map-heading #basemap-toggle[aria-pressed=false]{border-style:dashed}.map-canvas{background:var(--map-parish-ground)}.context-feature,#basemap-labels{pointer-events:none}.context-feature{vector-effect:non-scaling-stroke;fill-rule:evenodd}.context-green{fill:var(--carto-24);fill-opacity:.63;stroke:none}.context-road{fill:none;stroke:var(--carto-25);stroke-width:1;stroke-opacity:.7}.context-road.road-secondary{stroke-width:1.2}.context-road.road-trunk,.context-road.road-primary{stroke:var(--carto-26);stroke-width:1.6;stroke-opacity:.85}.context-water{fill:var(--carto-27);stroke:none}.context-river{fill:none;stroke:var(--carto-28);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.with-context .parish{fill-opacity:.13;stroke:var(--carto-29);stroke-opacity:.8;stroke-width:1.3}.with-context .parish.selected,.with-context .parish.target,.with-context .parish.correct{fill-opacity:.62;stroke:var(--carto-30);stroke-opacity:1;stroke-width:2.5}.with-context .parish:hover,.with-context .parish:focus-visible{fill-opacity:.4;stroke:var(--carto-17);stroke-width:2.4}.with-context .parish.wrong{fill-opacity:.55;stroke:var(--carto-21)}.with-context .parish.hinted{stroke:var(--carto-22);stroke-opacity:1;stroke-width:4}.with-context .region-label{stroke:var(--carto-31);fill:var(--carto-32)}.with-context .region-label.active{fill:var(--carto-6);stroke:var(--carto-18)}.context-label{pointer-events:none}.context-label text{font-family:var(--sans);font-weight:500;paint-order:stroke;stroke:var(--carto-33);stroke-linejoin:round;fill:var(--carto-34)}.river-label text{fill:var(--carto-35);font-style:italic}.park-label circle{fill:var(--carto-36);stroke:var(--carto-37)}.basemap-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);padding:var(--s-3) var(--s-4) var(--s-1);font-size:var(--t-dense);color:var(--ink-2)}.basemap-legend span{display:flex;align-items:center;gap:var(--s-1)}.basemap-legend span:before{content:"";display:block;width:18px;height:3px;background:var(--carto-28)}.basemap-legend .legend-green:before{height:9px;width:12px;background:var(--carto-24);border-radius:var(--radius)}.basemap-legend .legend-road:before{background:var(--carto-26);height:2px}.basemap-credit,.basemap-status{font-size:var(--t-micro);color:var(--ink-2);line-height:var(--lh-dense);margin:0;padding:var(--s-1) var(--s-4)}.basemap-credit{padding-bottom:var(--s-2)}.basemap-status:empty{display:none}.map-help{border-top:1px solid var(--rule)}@media(max-width:720px){.map-heading{gap:var(--s-2);flex-wrap:wrap}.map-heading #map-title{flex:1}.map-heading #basemap-toggle{font-size:var(--t-dense)}.map-heading .north{font-size:var(--t-dense)}.basemap-legend{gap:var(--s-3);padding:var(--s-2) var(--s-3) var(--s-1);font-size:var(--t-dense)}.basemap-credit,.basemap-status{padding-left:var(--s-3);padding-right:var(--s-3)}.map-help{font-size:var(--t-dense)}}
.context-river{stroke-width:1.15;stroke-opacity:.6}.context-river.major-river{stroke-width:2.15;stroke-opacity:1}.context-green.protected-green{fill-opacity:.2}.with-context .parish{fill-opacity:.16;stroke:var(--carto-10);stroke-opacity:.9;stroke-width:1.4}@media(min-width:721px){.map-canvas{min-height:440px}}


.parish.found,.parish.found:hover{fill:var(--carto-38);stroke:var(--carto-39);stroke-width:1.5;cursor:default}
.with-context .parish.found,.with-context .parish.found:hover{fill:var(--carto-38);fill-opacity:.8;stroke:var(--carto-39);stroke-opacity:1;stroke-width:1.5}
.parish.found.selected,.with-context .parish.found.selected{fill:var(--carto-18);fill-opacity:.8;stroke:var(--carto-30);stroke-width:2.5}
.region-label.found{fill:var(--carto-40);stroke:var(--carto-41);font-weight:750}
.region-label.found.active{fill:var(--carto-6);stroke:var(--carto-18)}
.parish:focus-visible{stroke:var(--carto-22);stroke-width:3;fill:var(--carto-42)}
.with-context .parish:focus-visible{stroke:var(--carto-22);stroke-width:3;fill-opacity:.5}
.keyboard-status{position:absolute;top:10px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);margin:0;padding:var(--s-2) var(--s-2);background:var(--lime-raised);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);font-size:var(--t-dense);pointer-events:none;z-index:1}
.keyboard-status:empty,.advance-status:empty{display:none}
.advance-status{font-size:var(--t-dense)!important;color:var(--ink-2);line-height:var(--lh-dense);margin:var(--s-1) 0}
.keyboard-help{margin-top:var(--s-3);border-top:1px solid var(--rule);color:var(--ink-2)}
.keyboard-help summary{font-size:var(--t-dense);min-height:40px;padding:var(--s-3) 0}
.keyboard-help p{font-size:var(--t-dense);line-height:var(--lh-dense);margin:var(--s-1) 0 var(--s-2)}
.auto-next-setting{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-dense);color:var(--ink);min-height:44px;cursor:pointer}
.auto-next-setting input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--celeste)}
#choices button{display:flex;gap:var(--s-2);align-items:center}
.choice-key{display:inline-grid;place-items:center;flex:none;width:20px;height:22px;border:1px solid var(--rule);border-radius:var(--radius);font-size:var(--t-dense);font-weight:650;color:var(--ink-2)}
.is-map-expanded #question .advance-status{margin:var(--s-1) 0;font-size:var(--t-dense)}
.is-map-expanded .keyboard-help{margin-top:var(--s-2)}
@media(max-width:720px){
  .game-layout:has(#question:not([hidden])) .keyboard-help{grid-row:12;margin:0}
  #question .advance-status{grid-row:10;margin:var(--s-1) 0 0}
  #question .question-actions{grid-row:11}
  .is-map-expanded .keyboard-help summary{min-height:36px;padding:var(--s-2) 0}
  .keyboard-status{font-size:var(--t-dense)}
}
