/* A viewport-owned stage: nothing here follows document/reading scroll. */
#adventure-world{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 2.2s ease,visibility 2.2s;overflow:hidden;contain:strict}
#adventure-world[data-visible="true"]{opacity:1;visibility:visible}
#adventure-world canvas{width:100%;height:100%;display:block}
body{isolation:isolate}
main,.site-footer{position:relative;z-index:1}
.adventure-active{scroll-padding-bottom:280px}
.adventure-active main{background:linear-gradient(90deg,transparent,rgba(15,26,34,.90) 16%,rgba(15,26,34,.90) 84%,transparent)}
.adventure-active .creator-intro,.adventure-active .journey-intro,.adventure-active .last-note{text-shadow:0 2px 10px #102028}
.adventure-active .site-footer{padding-bottom:285px}
.adventure-active .toast{bottom:270px;pointer-events:none}
.adventure-active main :is(button,a,input,select,summary){scroll-margin-bottom:270px}
#adventure-stage{--road-clearance:100px;position:fixed;left:0;right:0;bottom:0;height:calc(228px + var(--road-clearance));z-index:25;pointer-events:none;overflow:hidden;contain:layout paint}
#adventure-stage canvas{display:block;width:100%;height:100%}
#adventure-hud{position:fixed;z-index:26;left:22px;right:22px;bottom:12px;display:grid;grid-template-columns:minmax(165px,.9fr) minmax(170px,1.3fr) minmax(140px,1fr) auto;align-items:center;gap:8px 22px;max-width:1160px;margin:auto;padding:12px 18px;border:1px solid #bfa5756e;border-top-color:#d7b671a3;border-radius:8px;background:linear-gradient(110deg,#12262cf7,#192d2ef7);box-shadow:0 8px 35px #091a23a8;color:#f0e2c5;font-family:var(--sans);line-height:1.35}
#adventure-hud[hidden],#adventure-stage[hidden],#adventure-reopen[hidden]{display:none}
.road-title-line{display:flex;gap:7px;align-items:center;font:17px/1.3 var(--serif)}
.road-sigil{font-size:23px;color:#eac47f}
.road-caption{font-size:9px;color:#b7c5b6;display:block;margin-top:5px}
.road-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#c5d2bc;margin-bottom:5px;font-variant-numeric:tabular-nums}
.road-progress-head [data-road-time]{color:#eac383}
.road-xp{appearance:none;-webkit-appearance:none;width:100%;height:7px;display:block;border:0;background:#10222a;border-radius:3px;overflow:hidden;accent-color:#d3b67a}
.road-xp::-webkit-progress-bar{background:#10222a}.road-xp::-webkit-progress-value{background:linear-gradient(90deg,#699991,#dcc57e)}.road-xp::-moz-progress-bar{background:#dcc57e}
.road-next{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;color:#bfc9b5;margin-top:6px}
.road-event{font-size:11px;line-height:1.4;color:#ead4a3}
.road-event small{font-size:8px;display:block;letter-spacing:1.2px;color:#9cb4aa;margin-bottom:5px}
.road-controls{display:flex;align-items:center;gap:5px}
.road-controls button,.road-controls select{border:1px solid #83968155;border-radius:4px;background:#213a3c;color:#e4ddc7;font:10px/1 var(--sans);min-height:36px;padding:8px;cursor:pointer}
.road-controls button:hover,.road-controls select:hover{border-color:#d3b878;background:#2d4946}
.road-controls button:disabled{opacity:.55;cursor:default}
.road-controls label{display:flex;align-items:center}
.road-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#adventure-reopen{position:fixed;z-index:26;right:18px;bottom:18px;padding:11px 16px;border:1px solid #c7aa71;border-radius:6px;background:#1b3238;color:#e7cf96;font-size:12px;box-shadow:0 4px 15px #0c182388}
.adventure-invitation{margin:-8px 0 22px;font-size:11px;color:#c5c5af;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adventure-invitation button{font-size:11px;color:#e8c587;border:1px solid #a7926366;border-radius:4px;padding:6px 11px;background:#25383b}
.adventure-active .adventure-invitation button{color:#bfcfbc}
@media(min-width:1550px){.adventure-active main{background:linear-gradient(90deg,transparent,rgba(15,26,34,.91) 22%,rgba(15,26,34,.91) 78%,transparent)}}
@media(max-width:1000px){#adventure-hud{gap:13px;grid-template-columns:minmax(150px,.85fr) minmax(150px,1.2fr) auto}.road-event{display:none}}
@media(max-width:620px){
 #adventure-hud{left:8px;right:8px;bottom:8px;padding:9px 11px;grid-template-columns:minmax(0,1fr) auto;gap:8px 6px;border-radius:6px}
 .road-guide-note{grid-row:1;grid-column:1/-1}.road-profile{grid-row:2;grid-column:1}.road-title-line{font-size:15px}.road-sigil{font-size:18px}.road-caption{font-size:8px;margin-top:2px}
 .road-progress{grid-row:3;grid-column:1/-1}.road-progress-head{font-size:8px;margin-bottom:4px}.road-next{font-size:8px;margin-top:4px}
 .road-controls{grid-column:2;grid-row:2;gap:4px}.road-controls button,.road-controls select{font-size:9px;min-height:34px;padding:7px 6px}
 #adventure-stage{height:calc(202px + var(--road-clearance))}
 .adventure-active main{background:rgba(16,28,37,.82)}
 .adventure-active .toast{bottom:285px;max-height:25vh;overflow:auto}
 .adventure-active{scroll-padding-bottom:290px}
}
@media(max-height:550px){#adventure-stage{height:calc(135px + var(--road-clearance))}.adventure-active .toast{bottom:auto;top:10px}#adventure-hud{bottom:4px;padding-top:6px;padding-bottom:6px}.road-caption,.road-next{display:none}}
@media(prefers-reduced-motion:reduce){#adventure-world{transition:none}}
.reduced-motion #adventure-world{transition:none}
@media print{#adventure-world,#adventure-stage,#adventure-hud,#adventure-reopen{display:none!important}.adventure-active main{background:none}}

/* The live landscape replaces redundant, full-width chapter scene panels. */
.adventure-active .chapter>.inline-scene{display:none!important}

/* A slim storybook marginalia line inside the existing HUD. It gets no card of
   its own, so the road stays visible instead of acquiring another opaque panel. */
.road-guide-note{position:static;grid-column:1/-1;align-self:end;justify-self:stretch;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:0 6px 2px;color:#e9c678;font:italic 14px/1.25 var(--serif);font-feature-settings:"onum" 1,"liga" 1;text-align:center;pointer-events:none;text-shadow:0 1px 2px #081419}
.road-guide-note::before,.road-guide-note::after{content:"";flex:1 1 50px;max-width:78px;height:1px;background:linear-gradient(90deg,transparent,#b894507a)}
.road-guide-note::after{background:linear-gradient(90deg,#b894507a,transparent)}
.road-guide-note[hidden]{display:none}
.road-guide-full,.road-guide-compact{min-width:0}
.road-guide-compact{display:none}
.road-guide-flourish{flex:none;color:#d0aa5d;font:13px/1 Georgia,serif;font-style:normal}
.road-guide-flourish-end{transform:scaleX(-1)}
@media(max-width:620px){.road-guide-note{gap:5px;padding:0 0 1px;font-size:10.5px;line-height:1.18}.road-guide-note::before,.road-guide-note::after{flex-basis:12px;max-width:18px}.road-guide-flourish{font-size:10px}.road-guide-full{display:none}.road-guide-compact{display:inline}}
@media(max-height:550px){.road-guide-note{font-size:9.5px}.road-guide-note::before,.road-guide-note::after,.road-guide-flourish{display:none}}
@media print{#adventure-guide{display:none!important}}
