/* Viewport framing only. Character, planning, import and transport semantics stay unchanged. */
html.vr-compact,html.vr-compact body{height:100%;overflow:hidden}
.vr-compact .vr-compact-app{height:100dvh;max-width:none;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.vr-compact .character-strip{height:68px;min-height:68px;padding:0 20px}.vr-compact .header-actions{display:grid;grid-template-areas:"status retry profile";grid-template-columns:160px 106px auto;align-items:center;gap:8px}.vr-compact #saveStatus{grid-area:status;max-height:44px;overflow:auto;font-size:12px}.vr-compact #retrySave{grid-area:retry;min-height:44px}.vr-compact #openCharacter{grid-area:profile}
.vr-compact .workspace{display:grid!important;grid-template-columns:192px minmax(0,1fr)!important;width:100%;height:100%;min-height:0;max-width:none;overflow:hidden;justify-self:stretch;align-self:stretch}.vr-compact .navigation{position:relative;top:auto;height:100%;min-height:0;overflow:auto;padding:16px 12px}.vr-compact .nav-button{min-height:48px}.vr-compact .nav-character{margin-bottom:15px}.vr-compact .route-meter{margin-top:18px}
.vr-compact :is(.vr-session-menu,.vr-observations,.vr-task-secondary){margin:0;padding:0;background:transparent;overflow:visible}.vr-compact :is(.vr-session-menu,.vr-observations){border:0}.vr-compact :is(.vr-session-menu,.vr-observations,.vr-task-secondary)>summary{margin:0}
.vr-compact .main-pane{display:grid;grid-template-rows:44px minmax(0,1fr);gap:8px;padding:10px 16px 12px;min-width:0;min-height:0;overflow:hidden}.vr-compact .page-top{margin:0;min-height:0;gap:12px}.vr-compact .page-top h1{font-size:25px;margin:3px 0;line-height:1.15}.vr-compact .page-top p{margin:0;font-size:12px}.vr-compact .page-breadcrumb{font-size:10px}.vr-compact .command-bar{min-width:0}
.vr-workspace-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:0}
.vr-workspace-controls{display:flex;align-items:center}.vr-workspace-control{min-height:44px;padding:8px 12px;font-size:12px;white-space:nowrap;border-color:#806c49;background:#292333;color:#e5d2ad}.vr-workspace-control[aria-expanded=true]{background:#3a2f43;border-color:#d4b478}.vr-workspace-control:focus-visible{outline:3px solid #f1d49c;outline-offset:2px}.vr-workspace-panels{min-height:0;overflow:hidden}.vr-workspace-panel{height:100%;min-width:0;min-height:0;overflow:auto;padding:8px 6px 8px 0;scrollbar-gutter:stable}.vr-workspace-panel[hidden],.vr-workspace-controls[hidden]{display:none!important}.vr-workspace-panel:focus-visible{outline:2px solid #d4bcf0;outline-offset:-2px}.vr-compact .page-top.vr-screen-description{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vr-compact #vr-task-panel>.next-action-panel{display:flex;flex-direction:column;height:100%;min-height:0;margin:0;overflow:hidden}.vr-compact #vr-task-panel>.next-action-panel[hidden]{display:none!important}.vr-compact #nextAction{flex:1;min-height:0;overflow:hidden}.vr-compact .next-action-panel>.section-label{padding:10px 16px 4px;min-height:30px}.vr-compact .nm-shell{display:flex!important;flex-direction:column;height:100%;min-height:0;gap:0}.vr-compact .nm-main{padding:10px 16px;flex:1;min-height:0;overflow:auto}.vr-compact .nm-main h2{font-size:27px!important;line-height:1.15!important;margin:8px 0}.vr-compact .nm-circuit{margin:5px 0;font-size:12px}.vr-compact .nm-instruction{font-size:15px!important;margin:5px 0}.vr-compact .nm-plan-note{margin:5px 0}.vr-compact .nm-plan-note p{margin:3px 0;font-size:13px}.vr-compact .nm-plan-note small{font-size:12px}.vr-compact .nm-heading{gap:8px}.vr-compact .nm-route-steps{margin:8px 0;gap:8px}.vr-compact .vr-current-step{display:block}.vr-compact .nm-route-steps section{padding:8px 10px}.vr-compact .nm-route-steps ul{margin:3px 0;font-size:13px}.vr-compact .nm-location b{font-size:13px}.vr-compact .nm-location small{font-size:12px}.vr-compact .nm-actions{display:flex;align-items:center;position:sticky;bottom:0;z-index:2;margin:8px 0;padding:6px 0;background:#1e2330;gap:10px}.vr-compact .nm-actions button.primary{min-height:44px;padding:8px 14px}.vr-compact .nm-status-control select{min-height:44px}.vr-compact .nm-meta{margin:5px 0;font-size:12px!important}.vr-compact .nm-footer{flex:0 0 auto;padding:8px 16px;min-height:34px}.vr-compact .nm-footer>p{max-width:none;margin:0;font-size:11px!important}
.vr-task-secondary{border-top:1px solid #65513f;margin-top:8px}.vr-task-secondary>summary{display:flex;align-items:center;min-height:44px;font-size:13px;color:#dfcaab;cursor:pointer}.vr-task-secondary>summary::before{content:"▸";margin-right:8px}.vr-task-secondary[open]>summary::before{content:"▾"}.vr-task-secondary .nm-art{display:block;max-width:760px;margin:10px 0}.vr-task-secondary .qm-map{max-height:220px}.vr-task-secondary .nm-circuit-nav{margin:8px 0}.vr-task-secondary .vr-other-steps{grid-template-columns:1fr 1fr}
.vr-compact #vr-goals-panel .right-rail{display:block!important;position:static;padding:0;background:transparent;border:0;max-width:1000px}.vr-compact #vr-goals-panel .rail-panel{margin:0 0 12px}.vr-compact #vr-details-panel .session-summary{margin:0 0 12px}.vr-compact #vr-details-panel #routePlanner{margin:0 0 12px}.vr-compact #vr-details-panel .footer{margin-top:16px}
.vr-observations{position:relative;min-height:44px;min-width:0;z-index:12}.vr-observations>summary{display:flex;align-items:center;min-height:44px;padding:8px 12px;background:#1b2230;border:1px solid #675342;border-radius:7px;cursor:pointer;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vr-observations>summary::before{content:"▸";margin-right:9px;color:#d5bc91}.vr-observations[open]>summary::before{content:"▾"}.vr-observations>#telemetryHud{position:absolute;top:48px;left:0;right:0;max-height:min(350px,50vh);overflow:auto;padding:10px;background:#141b27;border:1px solid #8a7352;border-radius:8px;box-shadow:0 10px 35px #0009}.vr-compact .local-observed{margin:0}
.vr-compact .local-session-bar{position:relative;min-height:64px;max-height:100px;padding:8px 16px;gap:10px}.vr-compact .local-session-bar strong{font-size:12px}.vr-compact .local-session-bar>div:first-child{max-height:80px;overflow:auto}.vr-compact .local-session-bar [role=status]{font-size:12px;line-height:1.45}.vr-compact .local-session-actions{align-items:center;gap:8px;flex-wrap:nowrap}.vr-compact .local-session-actions>button{min-height:44px;font-size:12px;white-space:nowrap}.vr-session-menu{position:relative}.vr-session-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #80678c;border-radius:7px;cursor:pointer;font-size:12px;white-space:nowrap}.vr-session-choices{position:absolute;top:48px;right:0;width:220px;z-index:60;padding:10px;display:grid;gap:7px;background:#241d30;border:1px solid #ad8dc1;border-radius:8px;box-shadow:0 10px 30px #0009}.vr-session-choices button{min-height:44px}.vr-session-menu:not([open])>.vr-session-choices{display:none}
.vr-compact .navigation,.vr-workspace-panel,.vr-compact .nm-main,.vr-observations>#telemetryHud{scrollbar-width:thin;scrollbar-color:#826b90 transparent}.vr-compact :is(summary,.vr-workspace-control):focus-visible{outline:3px solid #f1d49c;outline-offset:-3px}
.vr-compact body.minimal-hud .main-pane{grid-template-rows:44px minmax(0,1fr);max-width:none}
@media(max-width:920px){.vr-compact .vr-compact-app{grid-template-rows:auto auto minmax(0,1fr)}.vr-compact .character-strip{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "build build";padding:8px 10px;gap:6px 8px}.vr-compact .brand{grid-area:brand;font-size:11px;min-width:0}.vr-compact .brand small{display:none}.vr-compact .brand-mark{width:28px;height:28px}.vr-compact .header-build{grid-area:build;order:initial;width:100%;margin:0;padding:0;gap:6px;justify-content:space-between}.vr-compact .header-actions{grid-area:actions;grid-template-columns:95px 70px 44px;gap:4px}.vr-compact #saveStatus{font-size:10px;line-height:1.3}.vr-compact #retrySave{font-size:10px;padding:4px}.vr-compact .header-search-label,.vr-compact #spotlightTrigger kbd{display:none}.vr-compact .workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:60px minmax(0,1fr)!important}.vr-compact .navigation{position:relative;top:auto;height:60px;padding:4px 8px;overflow:hidden}.vr-compact .navigation nav{height:52px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.vr-compact .nav-button{flex:0 0 88px;min-height:48px;padding:4px;display:flex;gap:6px;align-items:center;justify-content:center;font-size:11px}.vr-compact .nav-button img{width:18px;height:18px}.vr-compact .main-pane{grid-template-rows:44px minmax(0,1fr);gap:6px;padding:6px 10px 8px}.vr-compact .page-top h1{font-size:20px}.vr-compact .page-top p{display:none}.vr-compact .page-breadcrumb{font-size:9px}.vr-compact .page-top{flex-wrap:nowrap}.vr-compact .command-bar{width:auto;flex:0 0 auto}.vr-compact .search-box{width:150px}.vr-compact .search-box input{min-width:0;width:100%}.vr-compact .search-box kbd{display:none}.vr-workspace-control{padding:7px 10px;font-size:12px}.vr-compact .nm-main{padding:8px 10px}.vr-compact .nm-main h2{font-size:23px!important}.vr-compact .nm-route-steps section{padding:7px}.vr-compact .local-session-bar{display:flex;flex-direction:column;align-items:stretch;min-height:88px;max-height:112px;padding:6px 10px;gap:5px}.vr-compact .local-session-bar strong{display:none}.vr-compact .local-session-bar>div:first-child{max-height:36px;min-height:29px}.vr-compact .local-session-actions{display:flex;gap:5px;overflow:visible}.vr-compact .local-session-actions>button,.vr-session-menu{flex:1 1 0;min-width:0}.vr-compact .local-session-actions>button{font-size:11px;padding:4px}.vr-session-menu>summary{padding:5px;font-size:11px}.vr-observations>summary{font-size:11px;padding:7px 9px}.vr-task-secondary .vr-other-steps{grid-template-columns:1fr}}
@media(max-width:430px){.vr-compact .brand>span:last-child{font-size:10px;letter-spacing:0}.vr-compact .brand{gap:5px}.vr-compact .header-actions{grid-template-columns:82px 61px 40px}.vr-compact .header-build{gap:4px}.vr-compact .search-box{width:110px}.vr-compact .page-top h1{font-size:18px}.vr-compact .page-breadcrumb{display:none}.vr-compact .nm-stage{max-width:160px;font-size:10px;padding:4px}.vr-compact .nm-main h2{font-size:21px!important}.vr-compact .nm-plan-note p{font-size:12px}.vr-compact .nm-instruction{font-size:13px!important}.vr-compact .nm-meta{font-size:11px!important}.vr-compact .nm-actions{gap:6px}.vr-compact .nm-actions button.primary{font-size:12px;padding:6px 8px}.vr-compact .nm-status-control{min-width:100px;font-size:10px}.vr-compact .nm-status-control select{font-size:11px}}
@media print{html.vr-compact,html.vr-compact body{height:auto;overflow:visible}.vr-compact .vr-compact-app,.vr-compact .workspace,.vr-compact .main-pane{display:block!important;height:auto;overflow:visible}.vr-workspace-controls{display:none}.vr-workspace-panel{display:block!important;height:auto;overflow:visible}}

.vr-sidebar-reserves{margin:14px 0;padding:0;border:1px solid #6c5847;border-radius:9px;background:linear-gradient(135deg,#2c2533,#1b2430);overflow:hidden}.vr-reserve-summary{display:grid;grid-template-rows:20px 16px 54px;gap:4px;height:118px;padding:10px;cursor:pointer;list-style:none;min-width:0;color:#eee0c4}.vr-reserve-summary::marker{content:""}.vr-reserve-caption{display:flex;align-items:center;justify-content:space-between;gap:5px}.vr-reserve-caption strong{font-size:12px}.vr-reserve-arrow{font-size:21px;line-height:1;transition:transform .12s}.vr-sidebar-reserves[open] .vr-reserve-arrow{transform:rotate(90deg)}.vr-reserve-set{font-size:10px;color:#d2bd9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vr-reserve-values{display:grid;align-content:start;gap:2px;font-size:11px;color:#bfb3cd}.vr-reserve-value{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;line-height:16px}.vr-reserve-value>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vr-reserve-value>b{color:#eee0c9;font-weight:600;white-space:nowrap}.vr-reserve-unavailable{color:#c2b5cd}.vr-reserve-summary:focus-visible{outline:3px solid #f1d49c;outline-offset:-3px}
.vr-reserve-panel{position:fixed;z-index:1100;left:clamp(16px,208px,calc(100vw - 456px));top:146px;width:min(440px,calc(100vw - 32px));height:min(760px,calc(100dvh - 170px));display:grid;grid-template-rows:84px minmax(0,1fr);overflow:hidden;border:1px solid #b09568;border-radius:11px;background:#1a1c28;color:#eee3f0;box-shadow:0 20px 70px #000a}.vr-reserve-panel[hidden]{display:none!important}.vr-reserve-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #6d5764;background:linear-gradient(115deg,#382d3f,#202a36)}.vr-reserve-heading h2{font:22px/1.2 Georgia,serif;color:#eddbb8;margin:0}.vr-reserve-heading p{font-size:11px;line-height:1.5;color:#cbbbce;margin:5px 0 0}.vr-reserve-close{min-height:44px;min-width:80px;padding:8px 10px;font-size:12px;flex:0 0 auto}.vr-reserve-body{min-height:0;overflow:auto;scrollbar-gutter:stable;padding:14px}.vr-reserve-body>.right-rail{position:static;top:auto;display:grid;grid-template-columns:1fr;gap:12px;width:100%;height:auto;max-height:none;padding:0;margin:0}.vr-reserve-body .rail-card{min-width:0;box-shadow:none}.vr-reserve-panel :focus-visible{outline:3px solid #f1d49c;outline-offset:-3px}.vr-reserve-empty{font-size:13px;line-height:1.6;color:#cfbfd9}.vr-reserve-empty[hidden]{display:none!important}.vr-compact body.minimal-hud #vrSidebarReserves{display:none}
@media(max-width:920px){.vr-sidebar-reserves{position:fixed;right:12px;bottom:12px;width:118px;z-index:900;margin:0}.vr-reserve-summary{height:44px;grid-template-rows:24px;padding:10px}.vr-reserve-summary>.vr-reserve-set,.vr-reserve-summary>.vr-reserve-values{display:none}.vr-reserve-panel{top:96px;left:16px;height:min(760px,calc(100dvh - 112px))}}
@media(prefers-reduced-motion:reduce){.vr-reserve-arrow{transition:none}}
@media(min-width:1100px){.vr-compact body[data-view=wiki] #viewContent{height:100%;min-height:0;min-width:0}.vr-compact body[data-view=wiki] #vr-task-panel{overflow:hidden;padding-right:0}}
/* Desktop task and geography retain their own scroll without moving the host. */
.vr-compact .nm-shell.vr-journey-map.nm-complete{padding:0;text-align:left}.vr-map-placeholder>.qm-gap{display:flex;align-items:center;justify-content:center;height:100%;min-height:240px;text-align:center;line-height:1.6}
@media(min-width:1100px){
 .vr-compact body[data-view=route]:not(.minimal-hud) #nextAction .nm-shell.vr-journey-map{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(400px,1fr);grid-template-rows:minmax(0,1fr) 48px;gap:12px;background:#111822}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-main{grid-column:1;grid-row:1;padding:20px 22px;background:linear-gradient(130deg,#282332,#1a2330);border:1px solid #57465f;border-radius:10px;scrollbar-gutter:stable}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-art{display:block!important;grid-column:2;grid-row:1;min-width:0;min-height:0;max-height:none;overflow:auto;scrollbar-gutter:stable;margin:0;padding:12px;background:#191c28;border:1px solid #57465f;border-radius:10px}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-art>.quest-map{margin:0;padding:14px;background:#1c1d29}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-art figcaption{padding:10px 4px}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-footer{grid-column:1/-1;grid-row:2;padding:8px 14px;min-height:48px;background:#171d28;border-radius:8px;border-top:1px solid #514158}
 .vr-compact body[data-view=route] .vr-journey-map>.nm-main h2{font-size:34px!important;margin:14px 0!important}
 .vr-compact body[data-view=route] .vr-journey-map .nm-route-steps section{padding:17px;margin:14px 0;background:#202738;border:1px solid #4b4058;border-radius:8px}
 .vr-compact body[data-view=route] .vr-journey-map .nm-instruction{font-size:17px!important}
 .vr-compact body[data-view=route] .vr-journey-map .nm-plan-note{margin:14px 0}
 .vr-compact body[data-view=route] .vr-journey-map .nm-actions{position:static;background:transparent;padding:10px 0}
 .vr-compact body[data-view=route] .vr-journey-map .nm-actions button.primary{font-size:14px;padding:12px 18px}
}
.vr-compact .rp-reference-page{border:1px solid #5c4867;border-radius:8px;background:#1c2130;margin:14px 0;overflow:hidden}
.vr-compact .rp-page-list{height:300px;min-height:300px;overflow:auto;margin:0;padding:10px 18px 10px 38px;scrollbar-gutter:stable}
.vr-compact div.rp-page-list{padding-left:18px}
.vr-compact .rp-page-list>li,.vr-compact .rp-page-list>[data-route-blocker]{min-height:64px;margin:0;padding:10px 0;border-bottom:1px solid #57475f;font-size:13px;overflow-wrap:anywhere}
.vr-compact .rp-page-list button{min-height:32px;text-align:left;max-width:100%;white-space:normal}
.vr-compact .rp-page-list small{display:block;font-size:12px;line-height:1.5;color:#c5b7d1}
.vr-compact .rp-page-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 14px;border-top:1px solid #5c4867}
.vr-compact .rp-page-controls button{min-height:44px;font-size:12px;min-width:110px}
.vr-compact .rp-page-controls [role=status]{font-size:12px;color:#dcc9e9;font-variant-numeric:tabular-nums}
.vr-compact .rp-page-controls button:focus-visible{outline:3px solid #f0d29b;outline-offset:-3px}
