/* Case reader parity only; hero styles and source material are unchanged. */
.demo-copy-hint{margin:4px 16px 10px;color:#505a4d;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.demo-immersive .demo-copy-hint{color:#f1f3ec}
:is(#experience,#map-dialog) .native-map-reader{border:1px solid #d8dcd4;border-radius:16px;background:#fbfcfa;color:#20251f}
:is(#experience,#map-dialog) .native-map-toolbar{min-height:70px;padding:12px 20px;gap:10px;flex-wrap:wrap}
.native-map-toolbar>strong{display:flex;align-items:center;gap:10px;font-size:18px;white-space:nowrap;margin-right:auto}
.native-map-toolbar>strong .detail-icon{width:21px;height:21px}
:is(#experience,#map-dialog) .native-map-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.map-desktop-modes{display:flex;gap:4px}
:is(#experience,#map-dialog) .native-map-toolbar button,:is(#experience,#map-dialog) .map-camera-controls button{font-size:14px;padding:0 12px;min-height:44px;border-radius:9px;color:#20251f;gap:7px}
:is(#experience,#map-dialog) #map-expand,:is(#experience,#map-dialog) #map-download{position:relative;isolation:isolate;background:none;border:0}
:is(#experience,#map-dialog) #map-expand:before,:is(#experience,#map-dialog) #map-download:before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid #d8dcd4;border-radius:9px;background:#fff}
:is(#experience,#map-dialog) #map-expand:before{background:#f0f2ed}
:is(#experience,#map-dialog) .native-map-toolbar button:hover,:is(#experience,#map-dialog) .map-camera-controls button:hover{background:#e8eae5}
:is(#experience,#map-dialog) #map-mobile-open{display:none}
#map-action-status{margin:0;padding:8px 20px;font-size:13px;color:#505a4d;border-bottom:1px solid #d8dcd4;line-height:1.7}
.native-map-workspace{display:flex;min-height:430px}
.native-map-area{position:relative;flex:1;min-width:0;min-height:430px;overflow:hidden}
:is(#experience,#map-dialog) .native-map-canvas{position:absolute;inset:0;height:auto;background:#fbfcfa}
:is(#experience,#map-dialog) .native-map-outline{height:100%;max-height:530px;overflow:auto;padding:20px}
:is(#experience,#map-dialog) .map-node{align-items:stretch;border-color:#c5cbc1;border-radius:13px;background:#fff;color:#20251f}
:is(#experience,#map-dialog) .map-node[data-root=true]{background:#d9f45a;border-color:transparent}
:is(#experience,#map-dialog) .map-node[data-depth="1"]{background:#f0f2ed}
:is(#experience,#map-dialog) .map-node:has([aria-pressed=true]){border-color:#687e39}
:is(#experience,#map-dialog) .map-node-button{display:flex;align-items:center;gap:10px;font-size:17px;line-height:26px;font-weight:550;padding:14px 16px;border-radius:12px}
:is(#experience,#map-dialog) .map-node-button[aria-pressed=true]{background:transparent}
.map-node-button>.detail-icon{width:22px;height:22px;flex-shrink:0}
:is(#experience,#map-dialog) .map-node-toggle{display:flex;flex-direction:column;justify-content:center;gap:0;flex:0 0 44px;padding:6px}
.map-node-toggle small{font-size:11px;color:#687165}
.map-node-toggle[aria-expanded=true] .map-caret{transform:rotate(90deg)}
.map-caret{transition:transform 160ms ease}
:is(#experience,#map-dialog) .map-camera-controls{left:20px;bottom:20px;padding:4px;gap:4px;border-radius:12px;border-color:#d8dcd4}
:is(#experience,#map-dialog) .map-camera-controls button{white-space:nowrap;font-variant-numeric:tabular-nums}
:is(#experience,#map-dialog) .map-camera-controls .detail-icon{width:18px;height:18px}
:is(#experience,#map-dialog) .map-help{font-size:12px;padding:12px 20px;color:#687165}
:is(#experience,#map-dialog) .map-selection{flex:0 0 280px;max-width:36%;max-height:530px;overflow:auto;border-top:0;border-left:1px solid #d8dcd4;padding:16px 20px 24px;background:#fff}
.map-selection>header{display:flex;justify-content:space-between;align-items:center;color:#687165;font-size:13px;margin-bottom:12px}
.map-selection>header button,.map-playback-window header button{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;background:none;color:inherit;border-radius:8px}
:is(#experience,#map-dialog) .map-selection>strong{font-size:18px;line-height:1.6}
:is(#experience,#map-dialog) .map-selection-text{max-height:none;font-size:15px;line-height:1.8;margin-top:16px}
.map-selection .native-source-link,.map-selection #map-video-open,.map-selection #map-source-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:12px;padding:4px 9px;border:1px solid #d8dcd4;border-radius:9px;background:#fff;font:inherit;font-size:13px;color:#505a4d;line-height:1.7;text-align:left}
#map-source-preview p{font-size:13px;color:#687165;margin:16px 0 8px}
#map-source-preview blockquote{margin:0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
#map-dialog{inset:16px;width:calc(100% - 32px);height:calc(100dvh - 32px);padding:0;margin:0;border-radius:16px}
#map-dialog>.dialog-heading{display:none}
#map-dialog .expanded-map-host{display:flex;min-height:0;flex:1}
#map-dialog .native-map-reader{height:100%;min-height:0;border:0;flex:1}
#map-dialog .native-map-workspace{flex:1;min-height:0}
#map-dialog .native-map-area{min-height:0}
#map-dialog .map-selection{max-height:none}
#map-dialog .native-map-outline{max-height:none}
.map-playback-window{position:absolute;z-index:4;width:min(340px,calc(100% - 24px));border:1px solid #c5cbc1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 20px 56px #20251f33}
.map-playback-window>header{display:flex;align-items:center;justify-content:space-between;padding-left:14px;min-height:44px;background:#fff;color:#505a4d}
.map-playback-window>header>span{flex:1;min-width:0;display:flex;align-items:center;min-height:44px;touch-action:none;cursor:grab;font-size:12px;user-select:none}
.map-playback-window>header>span:active{cursor:grabbing}
.map-playback-host .source-video.is-map-playback{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/9;padding:0;background:#10120e}
.map-playback-host .source-video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.map-playback-host .demo-player-dragbar{display:none}
#map-dialog [hidden]{display:none!important}
@media(max-width:780px){
  :is(#experience,#map-dialog) .native-map-toolbar{min-height:64px;padding:8px 12px;flex-wrap:nowrap;gap:6px}
  .native-map-toolbar>strong{font-size:16px;gap:6px}
  :is(#experience,#map-dialog) .map-desktop-modes,:is(#experience,#map-dialog) #map-expand{display:none}
  :is(#experience,#map-dialog) #map-mobile-open{display:inline-flex;position:relative;isolation:isolate;font-weight:600;padding-inline:10px;border:0;background:none;white-space:nowrap}
  #map-mobile-open:before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid #d8dcd4;border-radius:9px;background:#fff}
  :is(#experience,#map-dialog) #map-download{display:none}
  #map-dialog #map-download{display:inline-flex;min-width:44px;padding:0}
  #map-dialog #map-download span{display:none}
  .native-map-workspace{flex-direction:column;min-height:0}
  .native-map-area{min-height:360px}
  :is(#experience,#map-dialog) .map-selection{flex:none;max-width:none;width:100%;max-height:230px;border-left:0;border-top:1px solid #d8dcd4;padding:8px 16px 20px}
  :is(#experience,#map-dialog) .native-map-outline{max-height:500px;padding:12px}
  .native-map-area:has(.native-map-outline:not([hidden])){min-height:0}
  :is(#experience,#map-dialog) .map-camera-controls{left:12px;bottom:12px;gap:0}
  :is(#experience,#map-dialog) .map-camera-controls button{padding-inline:8px}
  :is(#experience,#map-dialog) .map-help{padding:8px 12px calc(8px + env(safe-area-inset-bottom));line-height:1.6}
  #map-dialog{inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px);padding:0}
  #map-dialog .native-map-workspace{overflow:hidden}
  #map-dialog .native-map-area{flex:1;min-height:180px}
  #map-dialog .map-selection{max-height:30dvh}
  .map-playback-window{width:min(300px,calc(100% - 20px))}
}
@media(prefers-reduced-motion:reduce){.map-caret{transition:none}}
