/* Tablet canvas: one header, one activity panel, no page scroll. */
.mvTabletBar[hidden],.mvTabletCanaryButton{display:none}
.mvTabletBar{position:fixed;z-index:40;inset:0 0 auto;height:calc(60px + env(safe-area-inset-top,0px));padding:calc(6px + env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) 6px max(8px,env(safe-area-inset-left,0px));display:flex;align-items:center;gap:10px;background:#143e50;color:#fff;border-bottom:1px solid #ffffff20}
.mvTabletIcon{width:44px;height:44px;min-width:44px;border:1px solid #ffffff40;border-radius:11px;background:#ffffff0c;color:#fff;font-size:24px;display:grid;place-items:center;padding:9px;touch-action:manipulation}.mvTabletIcon svg{width:25px;height:25px}
.mvTabletIdentity{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:34%;flex:1}.mvTabletIdentity span{font-size:10px;letter-spacing:.13em;color:#bed9d6}.mvTabletIdentity strong{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvTabletMode{width:clamp(150px,26vw,270px);min-height:44px;padding:8px 30px 8px 12px;font:700 16px system-ui;border:1px solid #7ca8ac;border-radius:10px;color:#173f50;background:#f2f7ee}
.mvTabletDialog{width:min(540px,94vw);max-height:88dvh;padding:0;border:1px solid #b9d1c9;border-radius:18px;color:#173f50;background:#f7faf4}.mvTabletDialog::backdrop{background:#0b283d99}.mvTabletDialogTop{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #d5e3db}.mvTabletDialogTop h2{font-size:20px;margin:0}.mvTabletDialogTop button{min-width:44px;min-height:44px;font-size:22px;border:1px solid #bdcfc7;border-radius:10px;background:#fff;color:#214c57}.mvTabletDialogBody{display:flex;flex-direction:column;gap:12px;padding:16px;overflow:auto;font-size:16px;line-height:1.5}.mvTabletDialogBody p{margin:0}.mvTabletField{display:grid;gap:5px;font-weight:750}.mvTabletField select{min-height:46px;padding:8px;border:1px solid #b2cbc2;border-radius:10px;background:#fff;font:inherit;color:inherit}.mvTabletDialogBody button{min-height:46px}.mvTabletHelpButton{margin:10px 0 0!important;min-height:44px}.mvTabletCartography .cnGeoTools{display:flex!important;flex-direction:column;gap:10px}.mvTabletCartography input{max-width:100%}
body.mvTablet{overflow:hidden;background:#edf5f0}body.mvTablet :is(#app,#euApp,#rfApp,#efApp,#npApp,#worldApp,#wpApp,#mfApp,#usApp,#cnApp)[hidden]{display:none!important}
body.mvTablet.mvDesktop :is(#app:not(.mobileApp),#euApp,#rfApp,#efApp,#npApp,#worldApp,#wpApp,#mfApp,#usApp,#cnApp){height:var(--mv-tablet-height,100dvh)!important;min-height:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:calc(60px + env(safe-area-inset-top,0px)) 0 env(safe-area-inset-bottom,0px)!important;gap:0!important;overflow:hidden!important;box-sizing:border-box;font-size:16px!important;display:flex!important;flex-direction:column!important}
body.mvTablet :is(.euHeader,.euNav,.worldTop,.worldFooter,.worldMobileHead,.worldMapBar,.worldLegend,.mfMobileBar,.mfMapToolbar,.mfLegend,.mfAccuracy,.mfFootnote,.usHeader,.usModeBand,.cnHeader,.cnModeBand,.usAttribution,.cnMapFoot,.usFinePrint,.cnFinePrint){display:none!important}
body.mvTablet.mvDesktop #app:not(.mobileApp)>:is(header,.topBand,.mobileTop,.foot){display:none!important}
body.mvTablet :is(.euMapCaption,.euModeHelp,.euMicroNote,.mapKey,.npRegions,.euQuestionProgress,.worldMobileProgress,.usPromptTrack,.cnPromptTrack,.mfProgressTrack,.mfQuizScore){display:none!important}
body.mvTablet .mvTabletGeneralHint{display:none!important}
body.mvTablet .mvTabletFoot{background:#fbfcf6;border-top:1px solid #c4d9d0;padding:10px 14px;min-height:76px;max-height:34dvh;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;box-shadow:none}
body.mvTablet .mvTabletFoot :is(button,.btn){min-height:44px;font-size:16px;touch-action:manipulation}
body.mvTablet .mvTabletFoot .mvRounds{display:none!important}
body.mvTablet .mvTabletEmpty{display:none!important}
body.mvTablet.mvDesktop #app:not(.mobileApp) .mobileWorkspace{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;grid-template-columns:minmax(0,1fr)!important;flex:1;min-height:0;overflow:hidden;width:100%}
body.mvTablet.mvDesktop #app:not(.mobileApp) .mobileWorkspace>.layout{grid-row:1;grid-column:1;display:block!important;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
body.mvTablet.mvDesktop #app:not(.mobileApp) .sidebar{display:none!important}
body.mvTablet.mvDesktop #app:not(.mobileApp) .mapPanel{display:flex!important;flex-direction:column;position:relative;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
body.mvTablet.mvDesktop #app:not(.mobileApp) .mapHeader{position:absolute;z-index:8;right:9px;top:9px;background:none;padding:0;border:0;box-shadow:none;display:block}
body.mvTablet #app .mapTitle{display:none!important}body.mvTablet #app .mapActions{display:flex;gap:6px}body.mvTablet #app .mapActions .btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:8px;background:#fffffff0;border:1px solid #a8c7c2;border-radius:11px;box-shadow:none}
body.mvTablet #app :is(#toggleLabels,.mobileFocusGroup,.mobileFocusExit,.mobileDrawPan,#mobileIslandToggle){display:none!important}
body.mvTablet.mvDesktop #app:not(.mobileApp) .mapStage{display:grid!important;grid-template-rows:minmax(0,1fr) 102px;flex:1;min-height:0!important;height:auto!important;max-height:none;overflow:hidden;background-color:#e2f0f1}
body.mvTablet #mainMap{grid-row:1;width:100%;height:100%;min-height:0;overflow:hidden}
body.mvTablet.mvDesktop #app:not(.mobileApp) .inset{position:relative!important;inset:auto!important;grid-row:2;align-self:stretch;justify-self:start;width:260px!important;min-width:0!important;max-width:none!important;height:100%!important;border:0;border-radius:0;background:transparent;box-shadow:none;display:grid;grid-template-columns:180px 80px;grid-template-rows:18px minmax(0,1fr);padding:0 6px 3px;gap:0}
body.mvTablet #app .inset h4{position:static!important;grid-column:1;grid-row:1;align-self:end;background:none;padding:0 8px;margin:0;font-size:10px;letter-spacing:.06em}
body.mvTablet #canaryMap{grid-column:1;grid-row:2;width:100%!important;height:100%!important;min-height:0;overflow:hidden}
body.mvTablet .mvTabletCanaryButton{display:block;grid-column:2;grid-row:1/3;align-self:center;min-height:44px;max-width:80px;padding:6px;border:1px solid #9cbdb6;border-radius:10px;color:#234f57;background:#f8fcf3;font:700 12px system-ui}
body.mvTablet #app.mvTabletCanaries .mapStage{grid-template-rows:minmax(0,1fr)!important}body.mvTablet #app.mvTabletCanaries #mainMap{display:none}body.mvTablet.mvDesktop #app.mvTabletCanaries:not(.mobileApp) .inset{grid-row:1;width:100%!important;grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:28px minmax(0,1fr)}body.mvTablet #app.mvTabletCanaries .mapHeader{display:none}
body.mvTablet #app .mobileTask{display:block!important;padding:0;margin:0;border:0;background:none;grid-row:1;grid-column:1;max-height:none!important;min-height:0}
body.mvTablet #mobileTaskTitle{font-size:22px;line-height:1.2;margin:0 0 4px;color:#173f50}body.mvTablet #mobileTaskMeta{font-size:13px;color:#56717c;line-height:1.25}
body.mvTablet #mobileDock{display:contents!important}body.mvTablet #mobileDockActions{display:flex;gap:7px;flex-wrap:wrap;grid-column:2;grid-row:1;align-items:center}body.mvTablet #mobileDockActions .btn{padding:9px 13px;border-radius:11px}
body.mvTablet #mobileDock .mobileDockScroll{grid-column:1/-1;grid-row:2;max-height:23dvh;overflow:auto}body.mvTablet #mobileDockBody{font-size:16px;line-height:1.4}body.mvTablet #mobileDockBody:empty{display:none}body.mvTablet #mobileNotice{font-size:15px;line-height:1.35;margin:0 0 6px;padding:6px 9px;border-radius:9px}
body.mvTablet #app .mobileAnswerGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}body.mvTablet #app .mobileAnswer{min-height:48px;font:750 16px system-ui;padding:8px;border-radius:10px;background:#edf5ed;color:#204e59;border:1px solid #b2cfc4}
body.mvTablet #mobileCardStage{display:none}body.mvTablet #app.mvTabletCard .mapPanel{display:none!important}body.mvTablet #app.mvTabletCard #mobileCardStage{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;padding:20px;overflow:auto;background:radial-gradient(ellipse at 70% 15%,#dfefec,#f6f8ef)}body.mvTablet .mobileCardInner{max-width:650px}body.mvTablet .mobileCardEmoji{font-size:48px}body.mvTablet .mobileCardHeading{font-size:30px}body.mvTablet .mobileClue{font-size:26px;line-height:1.5}.mvTabletFoot .mvTabletExplorer>summary{min-height:36px;cursor:pointer;font-weight:700}
body.mvTablet.mvDesktop .euWorkspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;flex:1;gap:0!important;min-height:0;overflow:hidden}
body.mvTablet.mvDesktop .euMapPanel{display:flex!important;flex-direction:column;grid-row:1;min-height:0;height:100%!important;border:0;border-radius:0;box-shadow:none;overflow:hidden}body.mvTablet .euCanvas{position:relative;flex:1;min-height:0;height:100%;overflow:hidden}body.mvTablet .euCanvas>svg{width:100%;height:100%;min-height:0}
body.mvTablet.mvDesktop .euPanel{grid-row:2;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:10px 14px!important;min-height:76px;max-height:34dvh;overflow:auto!important;border:0;border-top:1px solid #c4d9d0;border-radius:0;box-shadow:none;background:#fbfcf6}
body.mvTablet .euTask{grid-column:1;grid-row:1;padding:0!important;border:0;background:none}body.mvTablet .euTask .mvRounds{display:none!important}body.mvTablet .euTask h1{font-size:22px!important;line-height:1.2;margin:0 0 4px!important}body.mvTablet .euTaskMeta{font-size:12px!important;margin:0 0 3px;line-height:1.25}body.mvTablet .euInstruction{font-size:16px;line-height:1.4;margin:3px 0}
body.mvTablet .euDock{display:contents!important}body.mvTablet .euDetails{grid-column:1/-1;grid-row:2;font-size:16px!important;line-height:1.4;max-height:23dvh;overflow:auto}body.mvTablet .euDetails:empty{display:none}body.mvTablet .euDetails>.euStat{display:none}body.mvTablet .euActions{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:7px}body.mvTablet .euActions button{min-height:44px;font-size:16px!important;padding:9px 13px!important}body.mvTablet .euFeedback{grid-column:1/-1;grid-row:3;margin:0;font-size:15px!important;padding:7px 10px!important}body.mvTablet .euMapTools .btn{width:44px!important;height:44px!important;min-height:44px!important;padding:8px!important}
body.mvTablet .npSteps{display:none}body.mvTablet .npPhotoStage{height:100%;min-height:0}body.mvTablet .npPhotoStage img{object-fit:contain!important}body.mvTablet .npDock{max-height:none}body.mvTablet .npApp .npChoiceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
body.mvTablet.mvDesktop .worldWorkspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;flex:1;min-height:0;gap:0!important;overflow:hidden}body.mvTablet .worldMapBox{grid-row:1;display:flex!important;flex-direction:column;min-height:0;height:100%!important;border:0;border-radius:0;box-shadow:none}body.mvTablet .worldCanvas{flex:1;height:100%;min-height:0;position:relative;overflow:hidden}body.mvTablet .worldCanvas svg{height:100%;width:100%}
body.mvTablet .worldMobileTask{display:block!important;padding:0!important;margin:0!important;border:0;background:none;grid-column:1;grid-row:1;min-height:0;max-height:none}body.mvTablet .worldMobileMeta{font-size:12px;line-height:1.25;color:#56717c}body.mvTablet .worldMobileQuestion{font-size:22px;line-height:1.2;margin:3px 0}body.mvTablet .worldMobileInstruction{font-size:16px;line-height:1.4;margin:4px 0}body.mvTablet .worldSide{display:contents!important}
body.mvTablet .worldSide>:is(.worldKicker,h2,.worldDesc,.worldControls,.fieldLabel,.worldSelect,.wpOptions,.worldStats,.worldProgress,.worldHelpNote,.mvRounds){display:none!important}body.mvTablet :is(#worldContent,#wpContent){grid-column:1/-1;grid-row:2;max-height:23dvh;overflow:auto;font-size:16px}body.mvTablet :is(#worldContent,#wpContent) .worldDetails>.worldQuestion{display:none}body.mvTablet :is(#worldContent,#wpContent):empty{display:none}body.mvTablet :is(#worldActions,#wpActions){grid-column:2;grid-row:1;display:flex;gap:7px;flex-wrap:wrap}body.mvTablet :is(#worldMsg,#wpMsg){grid-column:1/-1;grid-row:3;margin:0;padding:0;font-size:15px}
body.mvTablet.mvDesktop #mfApp .mfWorkspace{display:block!important;flex:1;min-height:0;overflow:hidden}body.mvTablet #mfApp .mfMapPanel{height:100%;display:flex;min-height:0;border:0;border-radius:0}body.mvTablet #mfMapCanvas{height:100%;flex:1;min-height:0;position:relative}body.mvTablet #mfSvg{width:100%;height:100%}body.mvTablet #mfApp .mfSidebar{display:none!important}body.mvTablet #mfApp .mfMobileTask{display:block!important;grid-column:1;grid-row:1;background:none;padding:0;margin:0;min-height:0}body.mvTablet #mfTaskTitle{font-size:22px;line-height:1.2}body.mvTablet #mfTaskMeta{font-size:12px;color:#56717c}body.mvTablet #mfTaskHint{font-size:16px;line-height:1.4;margin:4px 0}
body.mvTablet #mfApp .mfMobileDock{display:flex!important;grid-column:2;grid-row:1;position:static;gap:7px;padding:0;background:none;border:0;flex-wrap:wrap}body.mvTablet #mfQuizChoices{grid-row:2;grid-column:1/-1;position:static!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;padding:0;border:0;background:none;max-height:22dvh;overflow:auto}body.mvTablet #mfQuizChoices[hidden]{display:none!important}body.mvTablet #mfQuizFeedback{grid-column:1/-1;grid-row:3;position:static!important;padding:6px;margin:0;font-size:15px}
body.mvTablet.mvDesktop :is(.usWorkspace,.cnWorkspace){display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;flex:1;min-height:0;gap:0!important;overflow:hidden}body.mvTablet :is(.usMapPanel,.cnMapPanel){grid-row:1;height:100%!important;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;overflow:hidden}body.mvTablet :is(#usStage,#cnStage){position:relative;height:100%!important;min-height:0;flex:1;border-radius:0}body.mvTablet #usStage{display:grid;grid-template-rows:minmax(0,1fr) 112px}body.mvTablet #usMapLower{grid-row:1;width:100%;height:100%;min-height:0;overflow:hidden}body.mvTablet #usStage .usInsets{position:relative!important;inset:auto!important;grid-row:2;display:flex;justify-content:flex-start;gap:12px;padding:4px 10px;height:112px;width:100%;max-width:none;pointer-events:auto}body.mvTablet #usStage .usInset{height:104px;width:190px;max-width:45%;border:0;background:transparent;box-shadow:none;padding:0;display:flex;flex-direction:column}body.mvTablet #usStage .usInset>span{font-size:10px}body.mvTablet #usStage .usInset svg{width:100%;height:86px;min-height:0}body.mvTablet #cnMap{width:100%;height:100%}
body.mvTablet :is(.usPrompt,.cnPrompt){display:block;grid-column:1;grid-row:1;padding:0!important;margin:0!important;border:0;background:none}body.mvTablet :is(#usOverline,#cnOverline){font-size:12px;line-height:1.3}body.mvTablet :is(#usQuestion,#cnQuestion){display:block;font-size:22px;line-height:1.2}body.mvTablet :is(#usInstruction,#cnInstruction){font-size:16px;line-height:1.4;margin:4px 0}
body.mvTablet :is(.usAside,.cnAside){display:contents!important}body.mvTablet :is(.usFilters,.cnFilters,.cnGeoTools){display:none!important}body.mvTablet :is(.usActions,.cnActions){display:flex;grid-column:2;grid-row:1;gap:7px;flex-wrap:wrap}body.mvTablet :is(#usPDF,#cnPDF){display:none!important}body.mvTablet .mvTabletPlaying :is(#usStart,#cnStart){display:none!important}body.mvTablet :is(#usChoices,#cnChoices){grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}body.mvTablet :is(#usChoices,#cnChoices):empty{display:none}body.mvTablet :is(#usFeedback,#cnFeedback){grid-column:1/-1;grid-row:3;margin:0;padding:0;font-size:15px}body.mvTablet :is(#usFeedback,#cnFeedback):empty{display:none}body.mvTablet :is(#usSelectedCard,#cnInfo,.mvTabletExplorer){grid-column:1/-1;grid-row:4;margin:0;font-size:16px}body.mvTablet .mvTabletExplorer:has(>[hidden]){display:none}body.mvTablet :is(.usSelectedCard,.cnInfo)>small{display:none}body.mvTablet .mvTabletExplorer :is(.usExplorerList,.cnExplorerList){max-height:20dvh;overflow:auto}
@media(orientation:landscape){
 body.mvTablet.mvDesktop #app:not(.mobileApp) .mobileWorkspace,body.mvTablet.mvDesktop :is(.euWorkspace,.worldWorkspace,.usWorkspace,.cnWorkspace){grid-template-columns:minmax(0,1fr) clamp(270px,27vw,340px)!important;grid-template-rows:minmax(0,1fr)!important}
 body.mvTablet.mvDesktop #app:not(.mobileApp) .mobileWorkspace>.layout{grid-column:1;grid-row:1}
 body.mvTablet .mvTabletFoot,body.mvTablet.mvDesktop .euPanel{grid-column:2;grid-row:1;max-height:none;min-height:0;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:14px!important;border-top:0;border-left:1px solid #c4d9d0;overflow:auto}
 body.mvTablet .mvTabletFoot :is(#mobileDockActions,.mfMobileDock,.usActions,.cnActions),body.mvTablet .euActions{order:3;display:flex;flex-direction:column;align-items:stretch}
 body.mvTablet .mvTabletFoot :is(#mobileDockBody,.mobileDockScroll),body.mvTablet .euDetails,body.mvTablet :is(#worldContent,#wpContent){max-height:none;overflow:visible}
 body.mvTablet #app .mobileAnswerGrid,body.mvTablet :is(#usChoices,#cnChoices,#mfQuizChoices){grid-template-columns:repeat(2,minmax(0,1fr))}
 body.mvTablet :is(#worldActions,#wpActions){order:3;flex-direction:column;align-items:stretch}
 body.mvTablet.mvDesktop #mfApp{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(270px,27vw,340px)!important;grid-template-rows:minmax(0,1fr)!important}body.mvTablet.mvDesktop #mfApp .mfWorkspace{grid-column:1;grid-row:1;height:100%}body.mvTablet #mfApp>.mvTabletFoot{grid-column:2;grid-row:1}
 body.mvTablet #app .mapStage{grid-template-rows:minmax(0,1fr) 92px!important}
}
body.mvTablet.mvDesktop :is(#app:not(.mobileApp),#euApp,#rfApp,#efApp,#npApp,#worldApp,#wpApp,#mfApp,#usApp,#cnApp)[hidden]{display:none!important}

.mvTabletMode{margin-left:auto}
body.mvTablet.mvDesktop #app.mvTabletCard:not(.mobileApp) .mapPanel,body.mvTablet.mvDesktop #app.mvTabletCanaries:not(.mobileApp) .mapHeader{display:none!important}
body.mvTablet dialog :is(button,select){min-height:44px}
.mvTabletMode{width:clamp(185px,30vw,300px)}

body.mvTablet #worldContent .worldDetails:has(>.worldQuestion):not(:has(.worldSuccess)),body.mvTablet #wpApp:not(.mvTabletCapital) #wpContent .worldDetails:has(>.worldQuestion):not(:has(.worldSuccess)){display:none}
body.mvTablet :is(#worldContent,#wpContent):not(:has(button,input,select,.worldSuccess,.worldDetails:not(:has(>.worldQuestion)))){padding:0;border:0;background:none}
body.mvTablet :is(.worldMobileQuestion,#mfTaskTitle){font-weight:850}

body.mvTablet .mvTabletMapTools{position:absolute;right:8px;top:8px;z-index:8;display:flex;gap:6px}body.mvTablet .mvTabletMapTools button{width:44px;min-width:44px;height:44px;min-height:44px;padding:8px;background:#fffffff0;border:1px solid #a8c7c2;border-radius:11px;font-size:23px;color:#204d58;touch-action:manipulation}body.mvTablet .mvTabletMapTools button:last-child{font-size:0}body.mvTablet .mvTabletMapTools button:last-child::before{content:'⌖';font-size:25px}
body.mvTablet :is(#mfMobileRegion,[data-eu-action="settings"],[data-rf-action="settings"],[data-ef-action="settings"],[data-np-action="settings"]){display:none!important}
body.mvTablet .euMapTools{top:8px!important;right:8px!important}
@media(orientation:landscape){body.mvTablet .npApp .npChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:landscape){body.mvTablet.mvDesktop #mfApp:not([hidden]){display:grid!important}}
body.mvTablet .mvTabletCartography .cnGeoTools{display:flex!important}
