/* Compatibility body/id hooks remain; navigation is a plain glass menu. */
body.rpg-ui{--rpg-hud-height:calc(86px + env(safe-area-inset-bottom,0px));color:#eff5f2;background:#17313e;padding-bottom:var(--rpg-hud-height);overflow-wrap:anywhere}
.rpg-ui *,.rpg-ui *::before,.rpg-ui *::after{box-sizing:border-box}
.rpg-ui :is(h1,h2,h3){font-family:Georgia,"Palatino Linotype",Palatino,serif;font-weight:500;letter-spacing:-.015em}
.rpg-ui :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #f2dfb9;outline-offset:4px}
.rpg-ui :is(button,.button,summary){touch-action:manipulation}
.rpg-ui :is(input,select,textarea,button){max-width:100%}
.fairytale-menu{position:fixed;z-index:90;bottom:max(10px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),400px);padding:7px 10px;border:0;background:transparent;isolation:isolate;font:12px/1.2 system-ui,sans-serif}
.fairytale-menu-actions{display:flex;align-items:center;justify-content:space-evenly;gap:12px}
.fairytale-menu .fairytale-menu-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 58px;min-width:58px;min-height:58px;width:58px;height:58px;margin:0;padding:5px 2px;border:1px solid rgba(255,255,255,0.3);border-radius:50%;background:rgba(36,68,80,.64);color:#f3f7ee;box-shadow:inset 0 1px 5px rgba(255,255,255,.08),0 3px 13px rgba(7,28,40,.12);font:500 11px/1.2 system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@supports(backdrop-filter:blur(8px)){.fairytale-menu .fairytale-menu-button{background:rgba(36,68,80,.68);backdrop-filter:blur(8px)}}
.fairytale-menu-icon{display:grid;place-items:center;font:20px/1 Georgia,serif;color:#f5efdd}
.fairytale-menu-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fairytale-menu-button::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,rgba(255,222,166,.2),transparent 72%);opacity:0;pointer-events:none;transition:opacity .3s ease}
.fairytale-menu-button:not(:disabled):is(:active,.is-touched)::after{opacity:.55}
.fairytale-menu .fairytale-menu-button[aria-current=page]{background-color:rgba(55,85,93,.78);color:#fff9ed}
.fairytale-menu .fairytale-menu-button:disabled{opacity:.42;cursor:default}
@media(hover:hover){.fairytale-menu-button:not(:disabled):hover::after{opacity:.4}}
.rpg-ui .story-experience .scene-narration{bottom:calc(var(--rpg-hud-height) + 12px)}
.rpg-ui .story-experience:not(.task-open) .scene-stage{bottom:calc(var(--story-pane-height,360px) + var(--rpg-hud-height))}
.rpg-ui .scene-task-drawer{bottom:var(--rpg-hud-height);height:48dvh;max-height:calc(100dvh - 240px - var(--rpg-hud-height))}
.rpg-ui .task-open .scene-narration{bottom:calc(48dvh + var(--rpg-hud-height) + 8px);max-height:80px;overflow-y:auto}
.rpg-ui .scene-dialogue{max-height:calc(100dvh - max(165px,22dvh) - var(--rpg-hud-height) - 16px)}
.rpg-ui .scene-chapter-list{max-height:calc(100dvh - 110px - var(--rpg-hud-height))}
.rpg-ui .scene-header button{min-height:48px}
.rpg-ui .scene-dialogue>.scene-dialogue-close{width:48px;height:48px}
html.comfort-high .rpg-ui :is(.portal-login,.portal-steps article,.adv-card,.adv-box,.adv-paper,.story-panel,.scene-dialogue,.scene-task-drawer){background:#fff;color:#111}
html.comfort-high .rpg-ui :is(.portal-login,.adv-paper,.story-panel) :is(p,h1,h2,h3,label){color:#111}
html.comfort-high .fairytale-menu-button{background:#153442;backdrop-filter:none}
@media(max-width:350px){.fairytale-menu-actions{gap:6px}.fairytale-menu .fairytale-menu-button{flex-basis:56px;min-width:56px;min-height:56px;width:56px;height:56px}}

/* Keep the current route visible without adding another navigation row. */
.fairytale-menu .fairytale-menu-button[aria-current=page]{box-shadow:inset 0 0 0 2px #ffe6bba6,0 3px 13px #071c281f}
.rpg-ui .comfort-dialog{max-height:calc(var(--winter-ui-viewport-height,100dvh) - 24px);overscroll-behavior:contain;scroll-padding-block:16px 88px}
.rpg-ui .comfort-dialog form>div:last-child{position:sticky;bottom:-24px;z-index:2;padding:12px 0;background:#fffaf0;border-top:1px solid #dfdfcd}
.rpg-ui .rpg-atmosphere-controls{margin-top:24px;padding-top:8px;border-top:1px solid #dfdfcd}
.rpg-ui .rpg-atmosphere-controls :is(h2,h3){font:22px/1.3 Georgia,serif}
.winter-panel[open]{display:flex;flex-direction:column;max-height:calc(var(--winter-ui-viewport-height,100dvh) - 24px)}
.winter-panel>header{flex:none;min-width:0}
.winter-panel>header h2{min-width:0;overflow-wrap:anywhere}
.winter-panel>.winter-panel-body{flex:1 1 auto;min-height:0;max-height:none;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));scrollbar-gutter:stable;scroll-padding:12px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.winter-panel>.winter-panel-body:focus-visible{outline:2px solid #467363;outline-offset:-3px}
.rpg-ui .scene-dialogue.has-scroll-body{display:flex;flex-direction:column;overflow:hidden;padding:0 58px 0 0}
.rpg-ui .scene-dialogue-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;max-height:calc(var(--winter-ui-viewport-height,100dvh) - max(165px,22dvh) - var(--rpg-hud-height) - 24px);padding:18px;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding:14px}
.rpg-ui .scene-dialogue.has-scroll-body>.scene-dialogue-close{top:8px;right:5px;width:48px;height:48px}
.rpg-ui .scene-dialogue-scroll :is(button,select){min-height:48px}
@media(max-height:480px){.winter-panel[open]{max-height:calc(var(--winter-ui-viewport-height,100dvh) - 12px)}.rpg-ui .scene-dialogue.has-scroll-body{top:70px;max-height:calc(var(--winter-ui-viewport-height,100dvh) - 82px - var(--rpg-hud-height))}.rpg-ui .scene-dialogue-scroll{max-height:calc(var(--winter-ui-viewport-height,100dvh) - 84px - var(--rpg-hud-height));padding:12px}.rpg-ui .comfort-dialog{padding:16px}.rpg-ui .comfort-dialog form>div:last-child{bottom:-16px}}

/* V107: the login owns the viewport; no game HUD covers the PIN form. */
#rpgActionBar[hidden]{display:none!important}
body.rpg-ui.rpg-login{--rpg-hud-height:0px;padding-bottom:env(safe-area-inset-bottom,0px)}
.rpg-login #playerGate{padding-bottom:24px}
.fairytale-menu-button>span:last-child{white-space:nowrap}
