/* Screen-sized game shell; challenges remain scrollable rather than shrinking text. */
html,body{height:100%;min-height:0;overflow:hidden}body{display:flex;flex-direction:column;background:var(--scene-top,#24152e)}header{position:relative;flex:none;padding:8px 14px;min-height:0}header strong{font-size:18px}.tools .btn{font-size:12px;min-height:40px;padding:8px 11px}.shell{flex:1;min-height:0;width:100%;max-width:1600px;padding:10px}.game{height:100%;min-height:0;grid-template-columns:minmax(0,1fr) 225px}.arena{min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#b58a59 #251a2b;scrollbar-width:thin}.sidebar{min-height:0;overflow:auto}.top{padding:16px 20px 6px}.top h1{font-size:clamp(25px,3.4vw,42px)}.intro{margin:6px 0;font-size:14px}.play{flex:none;margin:12px 16px 16px;padding:15px;background:#160f24ed}.challenge{min-height:0}.choice{min-height:46px;padding:10px 12px}.chapter-scene{flex:none;margin:8px 16px 0;background:linear-gradient(130deg,var(--scene-top),#151929e8);border-color:var(--scene-accent);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding:12px}.scene-art{border-radius:12px;background:linear-gradient(180deg,#0e132c70,#0c17177a);overflow:hidden}.scene-art svg{max-height:225px;min-height:150px}.scene-caption h2{font-size:22px}.scene-caption p{font-size:13px}.scene-bg{opacity:.72}.arena:before{background:linear-gradient(90deg,#140e25c9,#140e2566),linear-gradient(0deg,#100a1af2,transparent 75%)}footer{flex:none;font-size:10px;padding:4px 8px}.nav{position:sticky;bottom:-15px;z-index:12;background:#211628f5;border-top:1px solid #795c47;padding:10px 0 5px}.living-water{animation:seaDrift 4s ease-in-out infinite alternate}.water-two{animation-delay:-2s}.living-tree{transform-box:fill-box;transform-origin:center bottom;animation:treeSway 5s ease-in-out infinite alternate}.living-rays{transform-origin:180px 100px;animation:storyHalo 50s linear infinite}.living-particles circle{fill:#ffe6a2;animation:petalFloat 5s ease-in-out infinite}.living-trail{stroke-dasharray:450;stroke-dashoffset:450;opacity:.85;transition:stroke-dashoffset 1.4s ease}.chapter-scene[data-phase="1"] .living-trail{stroke-dashoffset:300}.chapter-scene[data-phase="2"] .living-trail{stroke-dashoffset:150}.chapter-scene[data-phase="3"] .living-trail{stroke-dashoffset:0}.chapter-scene[data-phase="0"] .living-particles{opacity:.25}.chapter-scene[data-phase="1"] .scene-lamp,.chapter-scene[data-phase="2"] .scene-lamp,.chapter-scene[data-phase="3"] .scene-lamp{filter:drop-shadow(0 0 12px #ffc660)}.chapter-scene[data-phase="2"] .scene-bow{transform:scaleX(.93);transform-origin:center}.chapter-scene[data-phase="3"] .scene-arrow{animation:storyArrow 1s ease-out both}.chapter-scene[data-phase="3"] .scene-art{box-shadow:inset 0 0 40px #e5b24e55}.chapter-scene[data-phase="0"] .scene-stone{opacity:.25}.chapter-scene[data-phase="1"] .scene-stone:nth-child(n+3){opacity:.25}.chapter-scene[data-phase="2"] .scene-stone:nth-child(n+5){opacity:.25}.beacon-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.beacon-grid .beacon{min-width:0;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:19px;background:linear-gradient(#352540,#231c30);border-color:#977650;transition:background .3s,box-shadow .3s}.beacon-fire{font-size:34px;line-height:1.15;color:#aa9c97;filter:grayscale(1)}.beacon.matched{background:#68412a;box-shadow:0 0 22px #ffae3e55;border-color:#ffce72;opacity:1}.beacon.matched .beacon-fire{color:#ffe09a;filter:drop-shadow(0 0 8px #ff8525);animation:storyFlicker .6s infinite alternate}.beacon-miss{animation:beaconShake .25s}.ravan-showcase{min-height:220px}button{touch-action:manipulation}@keyframes seaDrift{to{transform:translateX(18px)}}@keyframes treeSway{to{transform:rotate(3deg)}}@keyframes petalFloat{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translate(6px,-12px);opacity:1}}@keyframes beaconShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:850px){header{justify-content:center;padding:6px;gap:5px}header strong{font-size:15px}header .tools{gap:5px;flex-wrap:wrap}header .tools .btn{padding:6px 8px;min-height:36px;font-size:11px}.volctl{font-size:10px}.volctl input{width:55px}.shell{padding:5px}.game{grid-template-columns:minmax(0,1fr);gap:0}.sidebar{display:none}.top{padding:12px 12px 4px;display:block}.top h1{font-size:clamp(24px,5vw,34px)}.count{position:static;margin-top:4px;font-size:11px}.intro{font-size:12px}.chapter-scene{margin:7px 8px 0;padding:9px;grid-template-columns:minmax(0,1fr)}.scene-art svg{max-height:170px;min-height:110px}.scene-caption h2{font-size:18px;margin:5px 0}.scene-caption p{font-size:12px;margin:4px 0 7px}.scene-caption [role=status]{font-size:11px}.play{margin:8px;padding:12px}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{font-size:13px;padding:10px;min-height:48px}.play h2{font-size:19px}.nav{bottom:-12px;gap:6px}.nav #next{flex-basis:100%;font-size:13px;min-height:44px}.nav .btn{font-size:11px;min-height:40px}.beacon-grid .beacon{min-height:72px}.ravan-showcase{min-height:180px}footer{font-size:9px}.eyebrow{font-size:10px}}
@media(max-width:360px){.choices{grid-template-columns:1fr}.beacon-grid{gap:4px}.beacon-grid .beacon{padding:6px 2px}.tools .volctl{display:none}}
@media(max-height:500px) and (min-width:600px){header strong{font-size:14px}header .tools{width:auto}.chapter-scene{grid-template-columns:1fr 1fr}.scene-art svg{max-height:140px}.top h1{font-size:25px}.intro{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.living-trail{stroke-dashoffset:0}.scene-arrow{opacity:1!important}}

#chapterMenu{display:none}@media(max-width:850px){#chapterMenu{display:inline-block}.sidebar.chapter-menu-open{display:block;position:fixed;z-index:50;inset:100px 10px 20px;overflow:auto;background:#21152bf7;box-shadow:0 10px 40px #000c}.sidebar .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
