/* One-screen play stage; long story, scene and chapters open separately. */
html,body{height:100dvh;overflow:hidden}header{min-height:44px;flex-wrap:nowrap;padding:4px 10px;justify-content:space-between}header strong{font-size:15px;white-space:nowrap}header .tools{width:auto;flex-wrap:nowrap;gap:5px}header .tools .btn{min-height:36px;padding:6px 9px;font-size:12px}.shell{padding:8px;flex:1;min-height:0}.game{height:100%;min-height:0}.arena{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.top{flex:none;padding:12px 16px 4px}.top h1{font-size:clamp(22px,3vw,34px);margin:4px 0;line-height:1.15}.top .intro{display:none}.count{font-size:12px;padding:5px 8px}.chapter-scene{display:none}.play{flex:1;min-height:0;display:flex;flex-direction:column;margin:6px 12px 12px;padding:14px}.taskline{flex:none;font-size:11px;margin:0 0 3px}.play h2{font-size:20px;line-height:1.2;margin:3px 0 5px}.progress{flex:none;height:6px;margin:5px 0}.challenge{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}.challenge>h3{font-size:clamp(16px,2vw,23px);line-height:1.3;margin:4px 0 9px}.choices{flex:1;min-height:0;max-height:260px;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(44px,1fr);gap:8px}.choice{min-height:44px;padding:9px 12px;font-size:clamp(12px,1.4vw,16px);line-height:1.3;overflow-wrap:anywhere}.status{flex:none;min-height:20px;padding:5px 0;font-size:12px}.nav{position:static;flex:none;display:grid;grid-template-columns:minmax(140px,1fr) auto auto auto;gap:6px;padding:8px 0 0;margin:0;box-shadow:none}.nav .btn{font-size:12px;min-height:40px;padding:7px 10px}.nav .tag{font-size:12px}.tiles{flex:1;min-height:0;max-height:230px;grid-template-rows:repeat(2,minmax(44px,1fr))}.tile{height:auto;min-height:44px}.sequence{flex:1;min-height:0;max-height:180px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sequence button{min-width:0;min-height:44px;padding:6px}.beacon-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.beacon-grid .beacon{min-height:44px}.beacon-fire{font-size:30px}.chapter-scene.scene-overlay-open{display:grid;position:fixed;z-index:60;inset:64px 20px 30px;margin:0;grid-template-columns:1.2fr 1fr;background:#22172b;box-shadow:0 0 0 100vmax #080814df;border-color:#d4a160}.scene-overlay-open .scene-art{min-height:0}.scene-overlay-open .scene-art svg{height:100%;max-height:100%;min-height:0}.scene-overlay-open .scene-caption{padding:20px}.scene-story{font-size:14px;line-height:1.5}.scene-close{position:absolute;top:8px;right:8px;z-index:10;min-height:44px;min-width:44px;border:1px solid #d4a160;border-radius:10px;background:#21142e;color:#ffe4b8}.ravan-showcase.visible{display:none}.scene-overlay-open .ravan-showcase{display:block}footer{font-size:9px;padding:3px}.victory{font-size:36px}
@media(max-width:850px){header{gap:5px}header strong{font-size:12px;max-width:90px;white-space:normal;line-height:1.2}header .tools{gap:4px}header .tools .btn{min-width:34px;padding:5px;font-size:12px;min-height:36px}.volctl{display:none}.shell{padding:5px}.top{padding:8px 10px 3px;display:flex;gap:5px;align-items:center}.top h1{font-size:22px}.eyebrow{font-size:9px;letter-spacing:.03em}.count{font-size:10px;padding:4px;white-space:normal;margin:0}.play{margin:4px 7px 7px;padding:10px}.taskline{font-size:10px}.play h2{font-size:17px}.challenge>h3{font-size:16px;margin:4px 0 7px}.choices{grid-template-columns:1fr 1fr;max-height:none;gap:6px}.choice{font-size:12px;padding:7px;min-height:44px}.nav{grid-template-columns:1fr 1fr;gap:5px;padding-top:6px}.nav #next{grid-column:1/-1;min-height:42px;font-size:12px}.nav .btn{font-size:11px;padding:5px;min-height:36px}.nav .tag{display:none}.status{font-size:11px;min-height:16px;padding:4px 0}.chapter-scene.scene-overlay-open{inset:50px 8px 12px;grid-template-columns:1fr;grid-template-rows:minmax(100px,1fr) auto}.scene-overlay-open .scene-caption{padding:10px}.scene-overlay-open .scene-caption p{font-size:12px}.scene-overlay-open .scene-caption h2{font-size:20px}.scene-overlay-open .scene-caption [role=status]{min-height:0}.scene-overlay-open .scene-story{font-size:12px}.sidebar.chapter-menu-open{inset:50px 8px 12px}.sequence button{font-size:23px}.beacon-grid{gap:4px}.beacon-grid .beacon{font-size:15px;padding:4px}.beacon-fire{font-size:26px}footer{font-size:8px;padding:2px}}
@media(max-height:450px) and (min-width:600px){.top{padding:5px 10px}.top h1{font-size:21px}.play{padding:8px;margin:4px 8px 8px}.play h2{display:none}.nav{grid-template-columns:1fr auto auto;padding-top:4px}.nav #next{grid-column:auto;min-height:36px}.nav .btn{min-height:34px}.status{min-height:14px;padding:2px 0}.choices{max-height:120px}.chapter-scene.scene-overlay-open{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr}.beacon-grid{max-height:90px}.sequence{max-height:95px}footer{display:none}}

.scene-overlay-open #ravanScenePreview{position:relative;display:block;width:100%;height:100%;min-height:180px}.scene-overlay-open #ravanScenePreview .ravan-svg{width:100%;height:100%;right:0}.scene-overlay-open #ravanScenePreview.show{opacity:1;transform:none}

.challenge .meter{flex:none;margin:12px 0}.challenge #shoot{min-height:44px;flex:none}.challenge #talk{min-height:44px;flex:none}.challenge #line{font-size:14px;margin:8px 0}.challenge #chosen{font-size:12px;margin:5px 0}.scene-overlay-open #ravanScenePreview{max-height:100%}

/* Audit fix: narrow mobile archery must never overlap navigation. */
@media(max-width:850px){header{height:44px;min-height:44px}header .tools{min-width:0;gap:4px}header .tools .btn{white-space:nowrap;font-size:10px;min-width:30px;min-height:34px;padding:5px}.top{padding:5px 9px 2px;min-height:0}.top>div:first-child{min-width:0}.top h1{font-size:20px}.top .eyebrow{font-size:8px}.top .count{max-width:65px}.play #taskTitle{display:none}.challenge{justify-content:flex-start}.challenge>h3{font-size:14px;line-height:1.22;margin:4px 0 6px}.challenge .meter{margin:8px 0}.nav #replayChapter{white-space:nowrap;font-size:9px;padding:5px 3px}.nav #next{font-size:11px}footer{display:none}}
@media(max-width:380px){header strong{display:none}header .tools{width:100%;justify-content:space-between}header .tools .btn{min-width:32px}.shell{padding:4px}}
