.game-focus-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--lime-raised);color:var(--ink);border-bottom:1px solid var(--rule);font:400 var(--t-dense)/var(--lh-dense) var(--sans)}
.game-focus-title{display:none;font-weight:650;min-width:0}
.game-focus-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;padding:var(--s-2) var(--s-3);border:1px solid var(--rule);border-radius:var(--radius-ctl);background:var(--lime-raised);color:var(--ink);font:500 var(--t-dense)/var(--lh-dense) var(--sans);cursor:pointer;letter-spacing:0;text-transform:none}
.game-focus-toggle:hover{background:var(--lime)}
.game-focus-toggle:focus-visible,.province-map-controls button:focus-visible{outline:3px solid var(--celeste);outline-offset:2px}
#parish-workspace:not(.is-map-expanded)>.game-focus-bar{padding:0 0 var(--s-2);border:0;background:none}
.game-focus-open,.game-focus-open body{overflow:hidden!important;overscroll-behavior:none}
.game-focus-root.is-map-expanded{position:fixed!important;inset:0!important;z-index:1000!important;width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:var(--radius)!important;box-shadow:none!important;transform:none!important;animation:none!important;background:var(--lime-raised);overflow:hidden;display:flex;flex-direction:column;isolation:isolate}
.is-map-expanded>.game-focus-bar{flex:none;justify-content:space-between;padding:var(--s-1) max(var(--s-3),env(safe-area-inset-right)) var(--s-1) max(var(--s-3),env(safe-area-inset-left));padding-top:max(var(--s-1),env(safe-area-inset-top));background:var(--lime-raised);border-bottom:1px solid var(--rule)}
.is-map-expanded .game-focus-title{display:block}
.is-map-expanded .game-focus-toggle{min-height:36px;border-color:var(--clear)}


.is-map-expanded :is(.play-area,.play-grid,#game.game-layout){flex:1;min-height:0!important;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-template-rows:minmax(0,1fr);overflow:hidden;padding:0;border:0;animation:none}
.is-map-expanded :is(.map-panel,.map-wrap,.map-stage){min-height:0;min-width:0;height:100%;grid-row:auto;overflow:hidden}
.is-map-expanded #game.game-layout .map-panel{grid-row:1;grid-column:1}
.is-map-expanded #game.game-layout .play-panel{grid-row:1;grid-column:2}
.is-map-expanded :is(.play-panel,.question-panel,.game-panel){display:block!important;min-height:0!important;min-width:0;max-height:100%;height:100%;overflow:auto;overscroll-behavior:contain;padding:var(--s-4);background:var(--lime-raised);border-top:0;border-left:1px solid var(--rule);scrollbar-width:thin}
.is-map-expanded :is(#question:not([hidden]),.panel-state:not([hidden])){display:block!important}
.is-map-expanded :is(.map-canvas,#game-map,.map-holder){min-height:0!important;height:100%!important;flex:1;min-width:0}
.is-map-expanded .map-canvas{position:relative}
.is-map-expanded .map-stage{padding:var(--s-3)}
.is-map-expanded :is(.map-help,.basemap-legend,.map-orientation,.round-note,.map-overlay){display:none}
.is-map-expanded .map-heading{padding:var(--s-1) var(--s-3);flex:none;min-height:32px;gap:var(--s-2)}
.is-map-expanded .map-heading #basemap-toggle{min-height:28px}
.is-map-expanded :is(.basemap-credit,.basemap-status){font-size:var(--t-micro);padding:var(--s-1) var(--s-2);flex:none}
.is-map-expanded .map-controls{bottom:12px;left:12px}
.is-map-expanded .map-controls button{min-height:44px}


.is-map-expanded .settings{flex:none;margin:0;padding:var(--s-2) var(--s-3);gap:var(--s-2);display:flex;flex-wrap:wrap}
.is-map-expanded .settings label{font-size:var(--t-dense);gap:var(--s-1)}
.is-map-expanded .settings select{font-size:var(--t-dense);min-height:38px}
.is-map-expanded:has(#question:not([hidden]),#results:not([hidden]),#study-panel:not([hidden])) .settings{display:none}
.is-map-expanded #question :is(#prompt,#question-help,#choices,#keyboard-list,#feedback,.question-actions){grid-row:auto}
.is-map-expanded #question #prompt{font-size:var(--t-head);line-height:var(--lh-dense);margin:var(--s-2) 0 var(--s-2)}
.is-map-expanded #question #question-help{font-size:var(--t-dense);margin:0 0 var(--s-2)}
.is-map-expanded #question progress{margin:var(--s-2) 0 var(--s-3)}
.is-map-expanded #question #choices{margin:0;gap:var(--s-1)}
.is-map-expanded #question #choices:empty{display:none}
.is-map-expanded #question #choices button{min-height:44px;font-size:var(--t-dense);padding:var(--s-2) var(--s-2)}
.is-map-expanded #question #keyboard-list{margin-top:var(--s-1)}
.is-map-expanded #question #feedback{font-size:var(--t-dense);min-height:0;margin:var(--s-2) 0}
.is-map-expanded #question .question-actions{margin:var(--s-2) 0 0;gap:var(--s-1)}
.is-map-expanded #question .question-actions button{font-size:var(--t-dense);min-height:44px;padding:var(--s-2) var(--s-2)}
.is-map-expanded #question #next{width:auto;flex:1}
.is-map-expanded #study-panel h2{font-size:var(--t-head);margin:var(--s-1) 0}
.is-map-expanded #study-detail{font-size:var(--t-dense);margin:var(--s-1) 0}
.is-map-expanded .study-list{max-height:none}
.is-map-expanded #welcome .rules{margin-top:var(--s-3)}


.is-map-expanded .game-status{flex:none;display:flex;justify-content:space-between;gap:var(--s-4);padding:var(--s-2) var(--s-3)}
.is-map-expanded .status-settings{display:none}
.is-map-expanded .status-progress{flex:1;grid-column:auto;grid-row:auto}
.is-map-expanded .status-score{gap:var(--s-4)}
.is-map-expanded .score-num{font-size:var(--t-dense)}
.is-map-expanded .score-label{font-size:var(--t-dense)}
.is-map-expanded .q-prompt{font-size:var(--t-dense);margin:0 0 var(--s-2)}
.is-map-expanded .q-text{font-size:var(--t-head);margin:0 0 var(--s-2)}
.is-map-expanded .q-hint{font-size:var(--t-dense);margin:0 0 var(--s-2)}
.is-map-expanded .q-options{flex:none;gap:var(--s-1)}
.is-map-expanded .q-option{min-height:44px;padding:var(--s-2);font-size:var(--t-dense);border-radius:var(--radius)}
.is-map-expanded .find-instruction{padding:var(--s-1) 0;font-size:var(--t-dense)}
.is-map-expanded .find-list-toggle{margin-top:var(--s-1);min-height:44px}
.is-map-expanded .q-feedback{padding:var(--s-2);margin-top:var(--s-2);font-size:var(--t-dense)}
.is-map-expanded .q-next{margin-top:var(--s-2);min-height:44px;padding:var(--s-2)}
.is-map-expanded .info-strip{flex:none;padding:var(--s-1) var(--s-3);font-size:var(--t-dense)}
.is-map-expanded .info-strip-left{display:block}
.is-map-expanded .info-item{font-size:var(--t-dense)}
.is-map-expanded .info-item:nth-child(n+2),.is-map-expanded .info-link{display:none}
.is-map-expanded .end-screen.show{flex:1;min-height:0;overflow:auto;padding:var(--s-5) var(--s-4);justify-content:flex-start}


.is-map-expanded .status-bar{flex:none;min-height:0;padding:var(--s-2) var(--s-3);gap:var(--s-4);grid-template-columns:minmax(0,1fr) auto}
.is-map-expanded .progress-meta{margin-bottom:var(--s-1);font-size:var(--t-dense)}
.is-map-expanded .scoreboard{gap:var(--s-3)}
.is-map-expanded .score-item{min-width:0}
.is-map-expanded .score-value{font-size:var(--t-sub)}
.is-map-expanded .round-label{font-size:var(--t-dense);margin:0 0 var(--s-2)}
.is-map-expanded .target-name{font-size:var(--t-title);line-height:var(--lh-head)}
.is-map-expanded .target-prefix{font-size:var(--t-dense)}
.is-map-expanded .target-capital{margin-top:var(--s-1)}
.is-map-expanded .target-capital strong{font-size:var(--t-sub)}
.is-map-expanded .target-flag-frame{width:145px;min-height:0;padding:var(--s-1);margin-top:var(--s-2);box-shadow:none}
.is-map-expanded .target-flag-frame .target-flag{height:76px;max-height:76px}
.is-map-expanded .flag-credit{display:block;font-size:var(--t-micro)}
.is-map-expanded .feedback{min-height:0;margin:var(--s-3) 0 0;padding:var(--s-2);font-size:var(--t-dense)}
.is-map-expanded .play-actions{display:flex;flex-wrap:wrap;gap:var(--s-1);margin:var(--s-3) 0 0;padding:0}
.is-map-expanded :is(.primary-button,.secondary-button){min-height:44px;padding:var(--s-2) var(--s-3);font-size:var(--t-dense);letter-spacing:var(--track-label);border-radius:var(--radius-ctl)}
.is-map-expanded .panel-title{font-size:var(--t-head)}
.is-map-expanded .panel-copy{font-size:var(--t-dense);margin-top:var(--s-2)}
.is-map-expanded .mode-picker{margin-top:var(--s-3)}
.is-map-expanded .mode-option{min-height:44px}
.is-map-expanded .rules{margin-top:var(--s-3)}
.is-map-expanded .result-score{font-size:var(--t-title)}
.is-map-expanded .result-grid{margin:var(--s-3) 0}
.province-map-controls{position:absolute;z-index:3;left:12px;bottom:12px;display:flex;gap:var(--s-1)}
.province-map-controls button{min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:var(--radius-ctl);background:var(--lime-raised);color:var(--ink);padding:var(--s-2) var(--s-3);font:500 var(--t-dense)/var(--lh-dense) var(--sans);cursor:pointer;box-shadow:none}
.province-map-controls button:nth-child(-n+2){font-size:var(--t-sub)}
.province-map-controls button:disabled{opacity:.5;cursor:default}
.map-holder svg.navigable-province-map{touch-action:none;cursor:grab}
.map-holder svg.navigable-province-map.is-dragging,.map-holder svg.is-dragging path[data-province]{cursor:grabbing}

@media(max-width:799px) and (min-height:561px){
  .is-map-expanded :is(.play-area,.play-grid,#game.game-layout){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
  .is-map-expanded :is(.map-panel,.map-wrap,.map-stage){grid-row:1;border:0}
  .is-map-expanded #game.game-layout .play-panel{grid-row:2;grid-column:1}
  .is-map-expanded :is(.play-panel,.question-panel,.game-panel){grid-row:2;height:auto;max-height:40dvh;padding:var(--s-2) var(--s-3) max(var(--s-2),env(safe-area-inset-bottom));border:0;border-top:1px solid var(--rule)}
  .is-map-expanded .map-stage{padding:var(--s-1)}
  .is-map-expanded #question progress{display:none}
  .is-map-expanded #question .round-meta{font-size:var(--t-dense);float:right;gap:var(--s-2);margin:0 0 var(--s-1) var(--s-2)}
  .is-map-expanded #instruction{font-size:var(--t-dense)}
  .is-map-expanded #question #prompt{font-size:var(--t-head);margin:var(--s-1) 0}
  .is-map-expanded #question #question-help{font-size:var(--t-dense);margin:var(--s-1) 0 var(--s-1)}
  .is-map-expanded #question #choices{grid-template-columns:1fr 1fr}
  .is-map-expanded #question .question-actions{margin-top:var(--s-1)}
  .is-map-expanded #question #keyboard-list summary{min-height:36px;padding:var(--s-2) 0;font-size:var(--t-dense)}
  .is-map-expanded :is(.q-text,.target-name){font-size:var(--t-head);line-height:var(--lh-head)}
  .is-map-expanded .q-prompt,.is-map-expanded .round-label{margin-bottom:var(--s-1);font-size:var(--t-dense)}
  .is-map-expanded .q-hint{font-size:var(--t-dense);margin-bottom:var(--s-1)}
  .is-map-expanded .q-options{display:grid;grid-template-columns:1fr 1fr}
  .is-map-expanded .q-options:has(.find-instruction){display:flex}
  .is-map-expanded .q-option{padding:var(--s-2);font-size:var(--t-dense);gap:var(--s-1)}
  .is-map-expanded[data-focus-game=provinces] .feedback:not(.is-correct):not(.is-wrong):not(.is-hint){display:none}
  .is-map-expanded .play-actions{margin-top:var(--s-2)}
  .is-map-expanded .target-wrap:has(.target-flag-frame:not([hidden])){display:grid;grid-template-columns:1fr 115px;column-gap:var(--s-2)}
  .is-map-expanded .target-flag-frame{grid-column:2;grid-row:1 / 4;width:115px;margin:0}
  .is-map-expanded .target-flag-frame .target-flag{height:58px;max-height:58px}
  .is-map-expanded .flag-credit{grid-column:2;font-size:var(--t-micro);margin-top:var(--s-1)}
  .is-map-expanded .settings{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
  .is-map-expanded .settings select{width:100%;font-size:var(--t-dense)}
  .is-map-expanded #welcome h2{font-size:var(--t-head);margin:var(--s-1) 0}
  .is-map-expanded #welcome p{font-size:var(--t-dense);margin:var(--s-1) 0}
  .is-map-expanded #welcome .rules{display:none}
}
@media(max-height:560px){
  .is-map-expanded :is(.play-area,.play-grid,#game.game-layout){grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
  .is-map-expanded>.game-focus-bar{padding-block:var(--s-1)}
  .is-map-expanded .game-focus-title{font-size:var(--t-dense)}
  .is-map-expanded :is(.play-panel,.question-panel,.game-panel){padding:var(--s-2) var(--s-3)}
  .is-map-expanded :is(.q-text,.target-name,#question #prompt){font-size:var(--t-head)}
  .is-map-expanded #question #choices{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.game-focus-root *{scroll-behavior:auto!important}}
