@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap";:root{font-family:Manrope,sans-serif;color:#eef4e8;background:#071015;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#eef4e8;--muted:#a6b2a3;--gold:#e7b968;--line:rgba(238,244,232,.25);--mint:#b3d39e}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow:hidden;background:#071015}button{font:inherit;cursor:pointer}.game{position:relative;width:100vw;height:100vh;overflow:hidden;background:#071015}.game canvas{position:absolute!important;inset:0;touch-action:none}.game:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 34%,rgba(2,7,8,.52) 100%),linear-gradient(0deg,rgba(3,8,9,.55),transparent 35%)}.sky-atmosphere,.boot-sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#071b28,#102d35 38%,#1d302d 68%,#101a1b);opacity:.82}.sky-atmosphere:after,.boot-sky:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 88%,rgba(201,143,78,.27),transparent 45%),linear-gradient(110deg,transparent 25%,rgba(101,153,137,.13) 48%,transparent 70%);animation:skyShift 14s ease-in-out infinite alternate}.sky-moon,.boot-moon{position:absolute;right:12%;top:12%;width:clamp(70px,10vw,150px);height:clamp(70px,10vw,150px);border-radius:50%;background:#f0dca9;box-shadow:0 0 40px #edd59c,0 0 120px #e9c67540;opacity:.82}.sky-cloud{position:absolute;width:38vw;height:10vw;border-radius:50%;background:#9dc0b514;filter:blur(20px);animation:cloudDrift 24s linear infinite}.cloud-one{top:24%;left:-15%}.cloud-two{top:48%;right:-20%;animation-delay:-11s;animation-duration:30s}.sky-star,.boot-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe6b2;box-shadow:0 0 9px #ffe6b2;animation:starBlink 3s ease-in-out infinite}.star-one,.star-a{top:18%;left:27%}.star-two,.star-b{top:31%;left:64%;animation-delay:1s}.star-three,.star-c{top:12%;left:78%;animation-delay:2s}.boot-sky{z-index:0;opacity:.92}.eyebrow,.hud,.objective,.controls,.interact,.boot-meta{font:10px/1.5 DM Mono,monospace;letter-spacing:.16em;text-transform:uppercase}.hud{position:absolute;z-index:4;top:0;left:0;right:0;height:82px;padding:25px clamp(1rem,4vw,4.5rem);display:flex;align-items:center;gap:clamp(1.2rem,5vw,5rem);pointer-events:none}.brand{font-size:14px;letter-spacing:.08em}.brand em{color:var(--gold);font-style:normal}.hud-count{margin-left:auto;color:var(--muted);width:160px}.hud-count b{color:var(--gold);font-weight:400}.hud-count i{display:block;width:100%;height:2px;margin-top:6px;background:#eef4e826}.hud-count i span{display:block;height:100%;background:var(--gold);transition:width .5s}.sound-toggle{border:0;background:transparent;color:var(--muted);font:9px DM Mono,monospace;letter-spacing:.12em;pointer-events:auto}.sound-toggle b{color:var(--mint);margin-left:7px}.objective{position:absolute;z-index:3;left:clamp(1rem,4vw,4.5rem);bottom:7%;color:var(--muted)}.interact{position:absolute;z-index:3;left:50%;bottom:9%;transform:translate(-50%);padding:10px 16px;color:var(--ink);background:#08100fb8;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.interact kbd{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;color:#10150e;background:var(--gold);font:11px DM Mono,monospace}.crosshair{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);color:#eef4e8b3;font:20px DM Mono,monospace;pointer-events:none}.controls{position:absolute;z-index:3;right:clamp(1rem,4vw,4.5rem);bottom:7%;color:#eef4e87a}.controls b{color:var(--mint);font-weight:400}.controls span{margin:0 9px;color:var(--gold)}.boot-screen,.ending{position:fixed;inset:0;z-index:10;background:#071015;overflow:hidden}.boot-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 26%,rgba(214,173,99,.16),transparent 25%),linear-gradient(135deg,rgba(96,122,96,.12),transparent 45%)}.moon{position:absolute;right:12vw;top:12vh;width:min(25vw,300px);height:min(25vw,300px);border:1px solid rgba(233,193,117,.28);border-radius:50%;box-shadow:0 0 100px #e8bc691f,inset 0 0 40px #e8bc691a}.boot-wrap{position:absolute;left:clamp(1.2rem,9vw,9rem);top:50%;transform:translateY(-50%)}.boot-wrap .eyebrow{color:var(--mint)}.boot-wrap h1{margin:1.3rem 0;font-size:clamp(4rem,11vw,10rem);line-height:.84;letter-spacing:-.09em;font-weight:500}.boot-wrap em,.ending em,.memory-text em{color:var(--gold);font-style:normal}.boot-copy{color:var(--muted);line-height:1.8;font-size:14px}.boot-meta{position:absolute;left:clamp(1.2rem,9vw,9rem);right:clamp(1.2rem,9vw,9rem);bottom:28px;display:flex;justify-content:space-between;color:#718274}.primary-button,.text-button{margin-top:2.1rem;padding:13px 18px;border:1px solid var(--gold);background:var(--gold);color:#11170e;transition:transform .25s,background .25s}.primary-button span,.text-button span{margin-left:20px}.primary-button:hover{transform:translateY(-3px);background:#f2d393}.memory-overlay{position:fixed;inset:0;z-index:8;display:grid;place-items:center;padding:1rem;background:#050c0ca8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.memory-card{width:min(520px,100%);padding:clamp(2rem,5vw,4rem);text-align:center;border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}.memory-card .eyebrow{color:var(--mint)}.memory-text{margin-top:1.5rem;font:600 clamp(1.9rem,4vw,3.4rem)/1.02 "Cormorant Garamond",serif;letter-spacing:-.035em}.text-button{border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:0 0 8px;font-size:12px}.ending{display:grid;place-items:center;text-align:center;background:#a79c7a}.ending-sky{position:absolute;inset:0;background:linear-gradient(#7d9d99,#d6b87f 60%,#9b805a);opacity:.9}.ending-content{position:relative;z-index:1;padding:1.5rem;color:#16211d}.ending-content .eyebrow{color:#31584d}.ending-line{font:600 clamp(1.35rem,2.8vw,2.35rem)/1.05 "Cormorant Garamond",serif;letter-spacing:-.025em}.ending-line+.ending-line{margin-top:.5rem}.ending h1{margin:3rem 0 0;font-size:clamp(4rem,11vw,10rem);line-height:.82;letter-spacing:-.09em;font-weight:500}.ending .primary-button{color:#eef4e8;background:#263b32;border-color:#263b32}@media(max-width:700px){.hud{height:64px;padding:18px 1rem;gap:1rem}.hud-count{width:120px}.sound-toggle{font-size:0}.sound-toggle b{font-size:13px}.controls{right:auto;left:1rem;bottom:12%;font-size:8px}.objective{bottom:5%;font-size:8px}.interact{bottom:15%;font-size:9px}.moon{right:-8vw;top:8vh;width:55vw;height:55vw}.boot-wrap{left:1.2rem}.boot-wrap h1{font-size:clamp(3.8rem,17vw,7rem)}.boot-meta{font-size:8px}.boot-meta span:last-child{display:none}.memory-text{font-size:1.8rem}}.hud-count{position:relative;padding:13px 14px 11px 33px;border:1px solid rgba(238,244,232,.22);background:linear-gradient(135deg,#1e2f2ab8,#081010b8);box-shadow:inset 0 1px #ffffff1f,0 8px 30px #0003;transform:perspective(500px) rotateX(9deg)}.hud-orb{position:absolute;left:13px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold),inset 2px 2px #ffffff73;animation:orbPulse 2.4s ease-in-out infinite}.moon{transform:perspective(500px) rotateX(58deg) rotate(-18deg)}.moon:after{content:"";position:absolute;inset:14%;border:1px solid rgba(233,193,117,.16);border-radius:50%}.boot-wrap h1{text-shadow:10px 12px 0 rgba(17,35,29,.55),0 0 38px rgba(231,185,104,.08)}.floating-lantern{position:absolute;right:23vw;top:31vh;width:72px;height:100px;transform:perspective(500px) rotateY(-18deg);animation:lanternFloat 4s ease-in-out infinite;filter:drop-shadow(0 0 22px rgba(255,179,84,.55))}.lantern-halo{position:absolute;inset:-45px -38px;background:radial-gradient(circle,rgba(255,182,83,.32),transparent 67%)}.lantern-cage{position:absolute;left:14px;top:25px;width:44px;height:50px;border:2px solid #c98a42;border-radius:12px 12px 7px 7px;box-shadow:inset 0 0 18px #ffa54366,0 0 12px #ffad4ca6;transform:rotateY(18deg)}.lantern-cage:before,.lantern-cage:after{content:"";position:absolute;left:50%;top:-13px;width:20px;height:12px;transform:translate(-50%);border:2px solid #c98a42;border-bottom:0;border-radius:12px 12px 0 0}.lantern-cage:after{top:auto;bottom:-8px;width:30px;height:4px;border:2px solid #9d6931;border-radius:50%}.lantern-cage i{position:absolute;top:0;bottom:0;width:2px;background:#c98a42}.lantern-cage i:nth-child(1){left:10px}.lantern-cage i:nth-child(2){left:20px}.lantern-cage i:nth-child(3){left:30px}.lantern-flame{position:absolute;left:28px;top:36px;width:15px;height:27px;border-radius:50% 50% 45% 45%;background:#fff0a6;box-shadow:0 0 18px #ffad46,0 0 35px #ff8f32;transform:rotate(7deg)}.memory-card{position:relative;transform:perspective(900px) rotateX(3deg);box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff1a;background:linear-gradient(145deg,#1e2e27e6,#050e0ef0)}.memory-emblem{width:50px;height:50px;margin:0 auto 22px;border:1px solid rgba(231,185,104,.65);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 22px #e7b9682e;transform:rotateX(55deg) rotate(-15deg)}.memory-emblem span{width:13px;height:20px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px var(--gold)}.interact{transform:translate(-50%) perspective(500px) rotateX(8deg);background:linear-gradient(180deg,#1e3029e6,#070f0ee6);border-color:#e7b96894;box-shadow:0 12px 32px #00000059,inset 0 1px #ffffff1f}.ending-content{position:relative;z-index:2;transform:perspective(900px) rotateX(3deg);padding:clamp(1.25rem,3vw,2.5rem);text-shadow:0 2px 18px rgba(12,28,20,.35)}.ending-sun{position:absolute;width:180px;height:180px;border-radius:50%;background:#ffe1a0;box-shadow:0 0 90px #ffe19b,0 0 220px #ffd17cbf;top:19%;left:50%;transform:translate(-50%);opacity:.78;animation:sunriseIn 5s ease-out both}.ending-data{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;opacity:.5;transform:perspective(600px) rotateX(60deg) translateY(22vh)}.ending-data span{display:block;width:2px;height:clamp(40px,12vh,100px);background:linear-gradient(var(--gold),transparent);transform-origin:bottom;animation:dataRise 1.8s cubic-bezier(.2,.8,.2,1) both}.ending-data span:nth-child(2n){height:clamp(75px,20vh,160px);animation-delay:.12s}.ending-data span:nth-child(3n){height:clamp(28px,8vh,70px);animation-delay:.25s}.ending-data span:nth-child(4n){height:clamp(100px,25vh,190px);animation-delay:.38s}.ending-scan{margin:2.3rem auto 0;color:var(--muted);font:11px DM Mono,monospace;letter-spacing:.18em}.ending-scan b{color:var(--gold);font-weight:400;margin-left:12px}.ending-scan i{display:block;width:210px;height:2px;margin:14px auto;background:#16211d38}.ending-scan i span{display:block;width:100%;height:100%;background:#31584d;animation:scanFill 1s ease both}.reveal-line{animation:revealLine .8s cubic-bezier(.2,.8,.2,1) both}.ending-village{position:absolute;z-index:1;left:50%;bottom:0;width:min(1100px,100vw);max-height:70vh;object-fit:cover;object-position:center bottom;transform:translate(-50%);opacity:0;mix-blend-mode:multiply;filter:saturate(.9) contrast(1.04);animation:villageReveal 3s .6s ease-out both}.ending-scanlines{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:.1;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.14) 4px)}@keyframes orbPulse{50%{transform:scale(1.3);opacity:.62}}@keyframes lanternFloat{0%,to{transform:perspective(500px) rotateY(calc(var(--tilt-x) * 14deg)) rotateX(calc(var(--tilt-y) * -12deg)) translateY(0) rotate(0)}50%{transform:perspective(500px) rotateY(calc(var(--tilt-x) * 14deg + 18deg)) rotateX(calc(var(--tilt-y) * -12deg)) translateY(-16px) rotate(3deg)}}@keyframes interactPulse{50%{opacity:.45;transform:scale(1.03)}}.name-entry{display:flex;flex-direction:column;align-items:flex-start;margin-top:2rem}.name-entry label{font:9px DM Mono,monospace;letter-spacing:.16em;color:var(--mint)}.name-entry input{width:min(300px,72vw);margin-top:10px;padding:11px 0;border:0;border-bottom:1px solid rgba(238,244,232,.35);outline:0;background:transparent;color:var(--ink);font:16px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.name-entry input:focus{border-color:var(--gold)}.name-entry input::placeholder{color:#68786c}.traveler-tag{font:9px DM Mono,monospace;letter-spacing:.12em;color:var(--muted);padding:8px 12px;border-left:1px solid var(--gold);background:#0a16118c;transform:perspective(400px) rotateX(7deg)}.traveler-tag b{color:var(--ink);font-weight:400}.boot-copy{animation:copyBreath 4s ease-in-out infinite}.primary-button{box-shadow:0 0 #e7b96800;animation:buttonGlow 3s ease-in-out infinite}@keyframes copyBreath{50%{opacity:.7;transform:translate(4px)}}@keyframes buttonGlow{50%{box-shadow:0 0 22px #e7b96838}}@media(max-width:700px){.traveler-tag{display:none}.name-entry{margin-top:1.5rem}.name-entry input{font-size:14px}.exit-button{font-size:0;padding:8px}.exit-button span{margin:0;font-size:12px}.mobile-controls{display:grid;position:absolute;z-index:4;left:16px;bottom:16px;width:142px;height:142px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px}.mobile-key{border:1px solid rgba(220,177,112,.45);border-radius:12px;background:#0d1c18b8;color:var(--ink);font:14px DM Mono,monospace;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 1px #ffffff1f,0 5px 14px #00000038}.mobile-key:active{background:#dcb170bf;color:#10170f;transform:scale(.94)}.mobile-key.up{grid-column:2}.mobile-key.left{grid-column:1;grid-row:2}.mobile-key.down{grid-column:2;grid-row:2}.mobile-key.right{grid-column:3;grid-row:2}.mobile-key.light{grid-column:1 / span 3;grid-row:3;font-size:9px;letter-spacing:.12em;color:var(--gold)}.mobile-look{position:absolute;left:160px;bottom:18px;width:100px;color:#eef4e880;font:8px/1.4 DM Mono,monospace;letter-spacing:.12em}.controls{display:none}.objective{left:auto;right:1rem;bottom:6%;font-size:8px}.interact{bottom:17%;font-size:8px}}@media(max-width:700px){.prologue-content{align-self:end;margin-bottom:5vh;padding:1.4rem 1.2rem}.prologue h2{font-size:3.1rem}.prologue-copy{font-size:13px}.prologue-orbit{right:-18%;top:8%;width:220px;height:220px}.prologue-content .primary-button{margin-top:1.5rem}}.floating-lantern{appearance:none;border:0;padding:0;cursor:pointer;transform:perspective(500px) rotateY(calc(var(--tilt-x) * 14deg)) rotateX(calc(var(--tilt-y) * -12deg));transition:filter .25s;animation:lanternFloat 4s ease-in-out infinite}.floating-lantern:hover{filter:drop-shadow(0 0 30px rgba(255,196,103,.9))}.floating-lantern:focus-visible{outline:1px solid var(--gold);outline-offset:14px}.memory-card{animation:memoryRise .65s cubic-bezier(.2,.8,.2,1) both}.memory-emblem{animation:emblemSpin 9s linear infinite}.hud-spark{position:absolute;z-index:2;width:3px;height:3px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);pointer-events:none}.spark-one{top:22%;left:36%;animation:driftSpark 7s ease-in-out infinite}.spark-two{top:64%;right:28%;animation:driftSpark 9s 1s ease-in-out infinite}.interact{animation:interactIn .35s cubic-bezier(.2,.8,.2,1) both}@keyframes memoryRise{0%{opacity:0;transform:perspective(900px) rotateX(16deg) translateY(28px) scale(.96)}to{opacity:1;transform:perspective(900px) rotateX(3deg) translateY(0) scale(1)}}@keyframes emblemSpin{to{transform:rotateX(55deg) rotate(345deg)}}@keyframes driftSpark{50%{transform:translate(22px,-18px);opacity:.25}}@keyframes interactIn{0%{opacity:0;transform:translate(-50%,14px) perspective(500px) rotateX(8deg)}to{opacity:1;transform:translate(-50%) perspective(500px) rotateX(8deg)}}.ending-phase-0 .ending-content{opacity:.8}.ending-phase-1 .ending-sun{opacity:.86}.ending-phase-2 .ending-sun{opacity:.95}.ending-phase-3 .ending-sun{opacity:1}.ending h1{animation:revealLine 1s .15s both}@keyframes sunriseIn{0%{transform:translate(-50%,35vh) scale(.35);opacity:0}to{transform:translate(-50%) scale(1);opacity:.9}}@keyframes villageReveal{0%{opacity:0;transform:translate(-50%) translateY(35px) scale(1.05);filter:blur(12px) saturate(.3)}to{opacity:.72;transform:translate(-50%) translateY(0) scale(1);filter:blur(0) saturate(.9)}}@keyframes dataRise{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:.7}}@keyframes scanFill{0%{width:0}to{width:100%}}@keyframes revealLine{0%{opacity:0;transform:translateY(16px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.mobile-controls{display:none}.prologue{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#081823,#122e31 62%,#1d302b);color:var(--ink)}.prologue-horizon{position:absolute;inset:52% 0 0;background:linear-gradient(180deg,#e1b46814,#07100fb8);clip-path:polygon(0 30%,18% 18%,35% 33%,52% 14%,70% 28%,86% 10%,100% 24%,100% 100%,0 100%);animation:horizonDrift 14s ease-in-out infinite alternate}.prologue-orbit{position:absolute;right:12%;top:12%;width:clamp(160px,24vw,340px);height:clamp(160px,24vw,340px);border:1px solid rgba(231,185,104,.25);border-radius:50%;box-shadow:0 0 70px #e7b9681f,inset 0 0 45px #e7b96814;transform:rotateX(60deg) rotate(-18deg);animation:orbitTurn 18s linear infinite}.prologue-content{position:relative;width:min(650px,calc(100% - 2rem));padding:clamp(1.5rem,5vw,4.5rem);border-left:1px solid rgba(231,185,104,.55);background:linear-gradient(110deg,rgba(9,23,23,.62),transparent);animation:prologueIn 1s cubic-bezier(.2,.8,.2,1) both}.prologue-content .eyebrow,.prologue-kicker{color:var(--mint);font:10px DM Mono,monospace;letter-spacing:.16em}.prologue-kicker{margin-top:2.2rem;color:var(--gold)}.prologue h2{margin-top:1.1rem;font:600 clamp(2.7rem,6vw,5.8rem)/.91 "Cormorant Garamond",serif;letter-spacing:-.045em}.prologue h2 em{color:var(--gold);font-style:normal}.prologue-copy{max-width:390px;margin-top:1.6rem;color:var(--muted);font-size:14px;line-height:1.8}.prologue-rule{width:130px;height:1px;margin-top:2rem;background:#eef4e838}.prologue-rule span{display:block;width:35%;height:100%;background:var(--gold);animation:ruleGrow 1.6s .7s ease both}.prologue-instruction{margin-top:1.25rem;color:var(--ink);font:11px/1.8 DM Mono,monospace;letter-spacing:.08em}@keyframes prologueIn{0%{opacity:0;transform:translateY(26px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes horizonDrift{to{transform:translate(3%) scale(1.04)}}@keyframes orbitTurn{to{transform:rotateX(60deg) rotate(342deg)}}@keyframes ruleGrow{0%{width:0}to{width:35%}}.exit-button{border:1px solid rgba(238,244,232,.24);padding:8px 10px;background:#08101080;color:var(--muted);font:9px DM Mono,monospace;letter-spacing:.12em;pointer-events:auto;transition:color .25s,border-color .25s,transform .25s}.exit-button span{margin-left:8px;color:var(--gold)}.exit-button:hover{color:var(--ink);border-color:var(--gold);transform:translateY(-2px)}.hud{animation:hudEnter .9s cubic-bezier(.2,.8,.2,1) both}.objective{animation:objectiveEnter 1s .25s both}.sound-toggle{transition:color .25s,transform .25s}.sound-toggle:hover{color:var(--ink);transform:translateY(-2px)}@keyframes hudEnter{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes objectiveEnter{0%{opacity:0;letter-spacing:.28em}to{opacity:1;letter-spacing:.16em}}.sky-atmosphere~.hud,.sky-atmosphere~.objective,.sky-atmosphere~.interact,.sky-atmosphere~.crosshair,.sky-atmosphere~.controls{z-index:4}@keyframes skyShift{0%{transform:translate(-4%) scale(1)}to{transform:translate(4%) scale(1.08)}}@keyframes cloudDrift{0%{transform:translate(-10%)}to{transform:translate(250%)}}@keyframes starBlink{50%{opacity:.25;transform:scale(.6)}}
