.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{min-height:max(880px,105svh);align-items:flex-start;padding-top:150px}.hero-content{padding-top:0}.hero h1{font-size:clamp(58px,6vw,88px)}.hero-caption{bottom:310px;right:6%}.firefly{top:38%;left:78%}.scroll-cue{display:none}.edge-label{bottom:45px}.grove,.pond{min-height:1080px;align-items:flex-start;padding-top:175px}.grove .scene-content,.pond .scene-content{padding:0}.mushroom-spot{top:43%;left:76%}.water-spot{top:43%;left:74%}.scene-next-link{bottom:65px}.scene-number{bottom:345px}.playfield{position:absolute;left:10.4%;right:7%;height:240px;bottom:120px;z-index:6;border-radius:12px;outline-offset:10px;touch-action:pan-y;--facing:1}.playfield:focus-visible{outline:1px dashed #e1d1a956;background:linear-gradient(transparent,#c8ddb804)}.trail-heading{position:absolute;top:-15px;left:0;display:flex;gap:13px;align-items:center;color:#bdd0b08c;font-size:10px;letter-spacing:.12em}.field-count{font-size:12px;color:#e1d197}.trail-ground{position:absolute;bottom:31px;left:0;right:0;height:2px;border-radius:50%;background:linear-gradient(90deg,transparent,#b5cb8044 20%,#bbd69a55 80%,transparent);box-shadow:0 4px 20px #9cba7211}.trail-platform{position:absolute;height:9px;border-radius:8px;background:linear-gradient(#b9c99495,#244c3580);border-top:1px solid #e1e8ad60;box-shadow:0 5px 22px #001b1633,0 0 20px #aacb6c10}.trail-light{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:8px;min-width:44px;min-height:44px;display:grid;place-items:center;z-index:7;color:#f9e49b;border-radius:50%;transition:opacity .3s,scale .3s;animation:light-bob 2.7s ease-in-out infinite}.trail-light span{font-size:27px;line-height:1;text-shadow:0 0 18px #ffe487ad,0 0 4px #fffae7}.trail-light:hover{background:#e2d99119;scale:1.15}.trail-light:nth-of-type(2){animation-delay:-.7s}.trail-light:nth-of-type(3){animation-delay:-1.3s}.trail-light.collected{opacity:0;scale:.2;pointer-events:none}.companion{position:absolute;left:0;top:0;transform:translate(-50%,-100%);width:116px;height:126px;border:0;background:none;z-index:8;padding:0;touch-action:pan-y;isolation:isolate}.companion img{position:absolute;width:128px;height:128px;object-fit:contain;left:-6px;bottom:0;transform:scaleX(var(--facing));transform-origin:50% 85%;filter:drop-shadow(0 4px 9px #06281988);pointer-events:none;user-select:none;animation:nilo-idle 3.8s ease-in-out infinite}.companion-shadow{width:55px;height:10px;position:absolute;left:calc(50% - 27px);bottom:0;background:#03191270;filter:blur(4px);border-radius:50%;z-index:-1}.companion-name{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);display:flex;gap:7px;font-size:9px;letter-spacing:.08em;color:#d2ddc0;white-space:nowrap;text-shadow:0 2px 8px #062219}.companion-name i{color:#dec779;font-style:normal}.companion.walking img{animation:nilo-walk .3s ease-in-out infinite}.companion.airborne img{animation:none;transform:scaleX(var(--facing)) rotate(calc(var(--facing)*-7deg))}.companion.wave img{animation:nilo-wave .8s ease-in-out}.companion-speech{position:absolute;z-index:10;max-width:255px;min-width:200px;background:#edf0d5;color:#1b392d;padding:13px 17px;border-radius:13px 13px 13px 3px;font-size:13px;line-height:1.6;transform:translate(-50%,-100%) scale(.94);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 8px 30px #051c234d}.companion-speech.show{opacity:1;transform:translate(-50%,-100%) scale(1)}.treasure{position:absolute;right:0;bottom:43px;display:flex;flex-direction:column;align-items:center;gap:9px;background:#193e2f8c;border:1px solid #c8ce9a40;border-radius:9px;padding:13px;color:#c6c791;min-width:57px;min-height:68px;backdrop-filter:blur(8px)}.treasure svg{width:24px;height:24px}.treasure>span{font-size:9px;letter-spacing:.14em}.treasure.unlocked{color:#ffe7a0;border-color:#f1d99e90;box-shadow:0 0 25px #dec45b26}.treasure.opened{border-style:dashed;background:#d7d08813}.light-score{position:absolute;z-index:11;color:#ffe6a2;font-size:19px;pointer-events:none;font-weight:600;animation:score-rise .8s ease-out forwards}.experience-dock{gap:15px}.experience-dock .discoveries-button{gap:9px}#light-count{font-size:10px;font-weight:400;padding:3px 6px;border:1px solid #d1dba42e;border-radius:4px;color:var(--gold)}#play-toggle{border:1px solid #d0dca131;border-radius:20px;padding:7px 12px;color:#e9dfb3;font-size:12px;margin:-4px 0}#play-toggle svg{width:18px;height:18px}#play-toggle[aria-pressed=true]{background:#e6d496;color:#173b30;border-color:#e6d496}.game-controls{position:fixed;bottom:101px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;z-index:23;padding:10px 13px 10px 18px;border:1px solid #dbe7b930;border-radius:13px;background:#12392feb;box-shadow:0 10px 40px #05211666;backdrop-filter:blur(18px)}.game-controls button{width:43px;height:41px;border-radius:7px;background:#c6d2a712;border:1px solid #d2dbaa2e;color:#eadfad;font-size:19px;display:grid;place-items:center;touch-action:none;user-select:none}.game-controls button:active{background:#e0d3943d;transform:translateY(1px)}.game-controls #jump-button{width:70px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:12px;background:#e7d897;color:#173c2e;border-color:transparent}.game-controls #jump-button svg{width:17px;height:17px}.game-controls .control-label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#b6caad;margin-right:13px}.control-label strong{font-size:12px;font-weight:500;color:#e9e1bd;white-space:nowrap}.game-controls #exit-play{background:none;border:0;width:20px;color:#adc6ac;font-size:21px;margin-left:4px}.experience-dock #game-help{width:20px;height:20px;border:1px solid #d8dfb447;border-radius:50%;justify-content:center;font-size:11px;color:#c3d1af}.playing .toast{bottom:181px}.bag-summary{display:flex;gap:35px;padding:20px 0 22px;border-bottom:1px solid #d6ddb52c}.bag-summary>div{display:flex;flex-direction:column;gap:7px}.bag-summary strong{font-family:var(--serif);font-size:35px;font-weight:400;color:#f0dc9c}.bag-summary strong small{font-family:var(--sans);font-size:14px;color:#a6ba99;margin-left:6px}.bag-summary span{font-size:12px;color:#c6d4b9}.relic-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.relic{border:1px solid #c8d5aa25;border-radius:20px;font-size:10px;color:#8faf91;padding:8px 10px}.relic.earned{color:#ecd896;border-color:#d7c4815e;background:#d7c4810a}.game-dialog{width:min(560px,calc(100% - 32px));padding:42px 34px}.game-dialog h2{font-size:37px}.game-dialog-body>p{font-size:15px;line-height:1.75;color:#d0dbc0;margin-bottom:22px}.game-dialog-body .game-small{font-size:12px;color:#a6bea2;line-height:1.8}.game-dialog-body>.outline-button,.game-dialog-body>.primary-link{width:100%;justify-content:space-between}.game-dialog-body .game-status{min-height:49px;font-size:13px;color:#e6dca9;margin:23px 0 14px;text-align:center;line-height:1.7}.relic-art{font-size:85px;color:#e5d692;text-shadow:0 0 40px #cdb66366;text-align:center;margin:25px auto}.relic-art svg{width:80px;height:80px;stroke-width:.8}.game-text-button{display:block;background:none;text-decoration:underline;text-underline-offset:4px;color:#b8cdaa;font-size:12px;margin:17px auto;padding:4px}.melody-pads{display:flex;gap:13px;justify-content:center;margin:25px 0}.note-pad{flex:1;background:#d8c58508;border:1px solid var(--note);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:24px 10px 17px;position:relative;color:var(--note);font-size:12px;transition:background .2s,box-shadow .2s,transform .2s}.note-pad.amber{--note:#efc87c}.note-pad.pink{--note:#e3a1ad}.note-pad.blue{--note:#88cbd4}.note-pad>span{font-size:38px;line-height:1;margin-bottom:7px}.note-pad>b{position:absolute;right:10px;top:9px;font-size:10px;font-weight:400;opacity:.7}.note-pad.lit{background:color-mix(in srgb,var(--note) 40%,transparent);box-shadow:0 0 32px color-mix(in srgb,var(--note) 40%,transparent);transform:translateY(-5px)}.note-pad:disabled{opacity:1}.constellation{height:260px;position:relative;border:1px solid #bdd9b122;background:radial-gradient(ellipse at 55% 50%,#224d4938,#0d2a2824);border-radius:12px}.constellation svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.constellation polyline{stroke:#ecd9a5;stroke-width:.4;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px #e7e3af)}.star-node{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:0;color:#a8c9b5;border-radius:50%;gap:2px}.star-node>span{font-size:27px}.star-node>b{font-size:10px;font-weight:400}.star-node.connected{color:#f4df98;text-shadow:0 0 22px #f3df9f88}.constellation.complete{box-shadow:inset 0 0 45px #dad88315;border-color:#ddd59a52}.game-instructions{padding:0;margin:25px 0;list-style:none}.game-instructions li{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.game-instructions li b{font-size:14px;color:#e6ddb5}.game-instructions li>span{font-size:13px;color:#aec7aa;line-height:1.7}.sky-found .pond-picture{filter:brightness(1.1) saturate(1.12);transition:filter 2s ease}.paused .trail-light,.paused .companion img{animation:none}.paused .light-score{animation:none;opacity:.7}.paused .companion-speech{transition:none}
@keyframes light-bob{50%{translate:0 -6px}}@keyframes nilo-idle{50%{transform:scaleX(var(--facing)) translateY(-3px)}}@keyframes nilo-walk{0%,100%{transform:scaleX(var(--facing)) rotate(-3deg)}50%{transform:scaleX(var(--facing)) translateY(-5px) rotate(3deg)}}@keyframes nilo-wave{25%,70%{transform:scaleX(var(--facing)) rotate(8deg) translateY(-5px)}50%{transform:scaleX(var(--facing)) rotate(-6deg)}}@keyframes score-rise{from{opacity:1;transform:translate(-50%,-20px)}to{opacity:0;transform:translate(-50%,-70px)}}
@media(max-width:1100px){.playfield{left:11%;right:7%}.hero-caption{display:none}.grove,.pond{padding-top:155px}.scene-content{width:70%}.firefly{left:77%;top:41%}}
@media(max-width:760px){.hero{min-height:980px;padding-top:150px}.hero h1{font-size:clamp(45px,10.3vw,75px)}.hero-content{max-width:calc(100% - 15px)}.hero .firefly{left:70%;top:50%;bottom:auto}.firefly .encounter-label{display:none}.playfield{left:24px;right:29px;height:235px;bottom:112px}.trail-heading{font-size:9px;top:-25px}.field-count{font-size:11px}.companion{width:100px;height:116px}.companion img{width:112px;height:112px;left:-6px}.companion-name{font-size:8px;gap:5px;bottom:-18px}.companion-speech{min-width:180px;max-width:220px;font-size:12px;padding:11px 14px}.treasure{min-width:45px;min-height:57px;padding:10px;right:-5px;bottom:44px;gap:7px}.treasure svg{width:20px;height:20px}.treasure>span{font-size:8px}.trail-light span{font-size:25px}.grove,.pond{min-height:1060px;padding-top:110px}.scene-content{width:100%;max-width:calc(100% - 17px)}.mushroom-spot{left:70%;top:47%}.water-spot{left:69%;top:48%}.mushroom-spot .encounter-label,.water-spot .encounter-label{display:none}.scene-number{bottom:370px;font-size:90px}.scene-next-link{bottom:45px}.experience-dock{gap:11px;bottom:17px;padding:12px 13px;width:max-content;max-width:calc(100vw - 20px)}.experience-dock #sound-label{display:none}.experience-dock .dock-divider{display:none}.experience-dock .discoveries-button{gap:5px;font-size:11px}.experience-dock #play-toggle{gap:6px;padding:7px 10px;font-size:11px}.experience-dock #play-toggle svg{width:16px;height:16px}.experience-dock #motion-button{padding-left:10px;width:24px}.experience-dock #game-help{width:20px;flex-shrink:0}.experience-dock .sound-bars{width:15px}#light-count{font-size:10px;padding:3px 5px}.game-controls{bottom:90px;gap:8px;padding:11px;max-width:calc(100vw - 25px)}.game-controls .control-label{display:none}.game-controls button{width:49px;height:43px}.game-controls #jump-button{width:81px}.game-controls #exit-play{width:23px;margin-left:5px}.playing .toast{bottom:166px}.game-dialog{padding:40px 25px}.game-dialog h2{font-size:31px}.game-dialog-body>p{font-size:14px}.note-pad{padding:25px 9px 17px;font-size:12px}.melody-pads{gap:10px}.note-pad>span{font-size:33px}.constellation{height:230px}.bag-summary{gap:28px}.relic{font-size:10px}.game-instructions li>span{font-size:13px}}
