:root{--void:#050508;--void-deep:#000;--line:#f4efe4;--line-dim:#f4efe466;--caption:#f4efe499;--red:#ff3242;--blue:#468cff;--gold:#ffd25a;--violet:#c88cff;--teal:#78dcbe;--font-display:"Instrument Serif", Georgia, serif;--font-body:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--void-deep);color:var(--line);height:100%;margin:0;padding:0}html,body{overflow:hidden}body{font-family:var(--font-body);letter-spacing:.18px}a{color:var(--line);text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}.mainmenu{text-align:center}.mainmenu__brand{font-family:var(--font-display);text-shadow:0 0 10px #ffffffbf,0 0 24px #b4dcff73;margin-bottom:12px;font-size:clamp(24px,4vw,32px);font-style:italic}.mainmenu ul{letter-spacing:.4px;justify-content:center;gap:22px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.mainmenu li{color:var(--line-dim);cursor:pointer}.mainmenu li:hover{color:var(--line)}.mainmenu li.is-active{color:var(--line);text-shadow:0 0 8px #ffffffb3;border-bottom:1px solid var(--line);cursor:default;padding-bottom:3px}.mainmenu li.is-inert{cursor:default}.mainmenu li.is-inert:hover{color:var(--line-dim)}.pageHeader{text-align:center;max-width:640px;margin:0 auto}.pageHeader .eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--line-dim);margin:0 0 10px;font-size:11px}.pageHeader h1{font-family:var(--font-display);text-wrap:balance;text-shadow:0 0 14px #ffffff80,0 0 30px #b4dcff47;margin:0 0 10px;font-size:clamp(26px,4vw,36px);font-style:italic;font-weight:400}#root{flex-direction:column;align-items:center;gap:14px;max-width:1000px;height:100vh;margin:0 auto;padding:16px 20px;display:flex}.stage{background:radial-gradient(at 50% 30%,#07080e 0%,#020208 60%,#000 100%);border:1px solid #f4efe41a;border-radius:4px;flex:auto;width:100%;max-width:1000px;min-height:280px;max-height:640px;position:relative;overflow:hidden}.stage:focus{outline:none}.stars{pointer-events:none;position:absolute;inset:0}.star{background:#f4efe499;border-radius:50%;width:2px;height:2px;position:absolute}.waterLayer{pointer-events:none;opacity:.85;mix-blend-mode:screen;filter:blur(14px);background:radial-gradient(60% 40% at 30% 20%,#8caaff52,#0000 60%),radial-gradient(50% 35% at 75% 60%,#78dcbe47,#0000 60%),radial-gradient(55% 45% at 50% 90%,#c88cff42,#0000 60%);animation:14s ease-in-out infinite waterShift;position:absolute;inset:-10%}@keyframes waterShift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-2%,2%)scale(1.06)}}.rotatePrompt{display:none}@media (orientation:portrait) and (pointer:coarse){.rotatePrompt{z-index:100;background:var(--void-deep);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 30px;display:flex;position:fixed;inset:0}.rotatePrompt__icon{font-size:40px;animation:1.8s ease-in-out infinite rotateHint}.rotatePrompt p{color:var(--caption);max-width:280px;font-size:14px}@keyframes rotateHint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}}.sun{background:radial-gradient(circle at 35% 30%,#ffe9b0,#ffb23f 55%,#a5460f 90%);border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:50%;left:50%;box-shadow:0 0 28px 10px #ffb23f80,0 0 64px 22px #ff782838}.planet{border-radius:50%;justify-content:center;align-items:center;animation:4.6s ease-in-out infinite planetFloat;display:flex;position:absolute}.planet--menu{cursor:pointer;width:48px;height:48px;margin:-24px 0 0 -24px;top:50%;left:50%}.planet--world{width:52px;height:52px;transition:opacity .4s,transform .4s;transform:translate(-50%)}.planet:hover .planet__core{filter:brightness(1.2)}@keyframes planetFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.planet--world.is-denied .planet__core,.planet--menu.is-denied .planet__core{animation:.35s denyShake}@keyframes denyShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.planet__core{background:radial-gradient(circle at 35% 30%, #fff, var(--pc,#fff) 55%, #0006 92%);width:100%;height:100%;box-shadow:0 0 15px 5px color-mix(in srgb, var(--pc,#fff) 47%, transparent), 0 0 32px 12px color-mix(in srgb, var(--pc,#fff) 23%, transparent);border-radius:50%}.planet__label{letter-spacing:.2px;color:var(--line-dim);white-space:nowrap;text-align:center;font-size:10.5px;position:absolute;left:50%;transform:translate(-50%)}.planet__label--below{top:56px}.planet__label--above{bottom:56px}.planet__label--side{top:-22px}.toast{color:var(--line-dim);opacity:0;pointer-events:none;white-space:nowrap;z-index:30;background:#0a0a0ee6;border:1px solid #f4efe426;border-radius:3px;padding:8px 14px;font-size:12px;transition:opacity .3s,transform .3s;position:absolute;bottom:22px;left:50%;transform:translate(-50%)translateY(10px)}.toast.is-show{opacity:1;transform:translate(-50%)translateY(0)}.world{width:1px;height:1px;position:absolute;bottom:90px;left:0}.ground-line{background:#f4efe424;height:1px;position:absolute;bottom:0;left:-6000px;right:-6000px}.character{object-fit:contain;--flip:-1;--pose-x:1;--pose-y:1;width:76px;max-width:none;height:92px;transform:translate(-50%, 0) scaleX(var(--flip)) scale(var(--pose-x), var(--pose-y));transform-origin:bottom;filter:drop-shadow(0 0 8px #f4efe466);z-index:5;position:absolute;bottom:0}.character--facing-right{--flip:1}.character--crawl{--pose-x:1.18;--pose-y:.8}@keyframes characterBob{0%,to{margin-bottom:0}50%{margin-bottom:5px}}.character--bob{animation:.36s ease-in-out infinite characterBob}.introFlash{z-index:8;pointer-events:none;background:radial-gradient(circle,#fff5e18c 0%,#ffe9b047 40%,#0000 72%);border-radius:50%;width:200px;height:200px;margin:0 0 0 -100px;animation:1.4s forwards introFade;position:absolute;bottom:46px;left:50%}@keyframes introFade{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.5)}}.bubble{background:radial-gradient(circle at 35% 30%, var(--pc), color-mix(in srgb, var(--pc) 40%, transparent) 60%, transparent 80%);width:40px;height:40px;box-shadow:0 0 16px 6px color-mix(in srgb, var(--pc) 60%, transparent), 0 0 30px 12px color-mix(in srgb, var(--pc) 33%, transparent);border-radius:50%;animation:5.5s ease-in-out infinite float;position:absolute;bottom:0;transform:translate(-50%)}.bubble:after{content:"";opacity:.65;border:1px solid #f4efe480;border-radius:50%;position:absolute;inset:0}.bubble.is-lit{animation:.4s cubic-bezier(.34,1.2,.64,1) pop;transform:translate(-50%)scale(1.2)}@keyframes float{0%,to{margin-bottom:0}50%{margin-bottom:16px}}@keyframes pop{0%{transform:translate(-50%)scale(1.35)}60%{transform:translate(-50%)scale(1.12)}to{transform:translate(-50%)scale(1.2)}}.approachFlash{z-index:60;pointer-events:none;background:radial-gradient(circle, var(--fc,#fff) 0%, transparent 62%);opacity:0;animation:.42s forwards approachZoom;position:fixed;inset:0}@keyframes approachZoom{0%{opacity:0;transform:scale(.15)}55%{opacity:.95;transform:scale(1.35)}to{opacity:0;transform:scale(2.5)}}.introcard,.completecard{text-align:center;z-index:22;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:30px;display:flex;position:absolute;inset:0}.introcard{background:var(--void-deep)}.completecard{z-index:40;background:#020204f0;gap:18px}.introcard__kicker,.completecard__kicker,.construction__kicker{letter-spacing:3px;text-transform:uppercase;color:var(--line-dim);font-size:11px}.introcard__text,.completecard__text{font-family:var(--font-display);max-width:620px;color:var(--line);text-shadow:0 0 10px #ffffff59;margin:0;font-size:clamp(16px,2.4vw,20px);font-style:italic;line-height:1.65}.introcard__audionote{color:var(--line-dim);letter-spacing:.3px;font-size:11px}.introcard button,.completecard button{font-family:var(--font-body);letter-spacing:.4px;color:var(--line);background:0 0;border:1px solid #f4efe459;border-radius:2px;padding:9px 20px;font-size:12.5px}.introcard button:hover,.completecard button:hover{border-color:var(--line)}.titlecard{background:var(--void-deep);z-index:20;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 24px;transition:opacity 1.1s;display:flex;position:absolute;inset:0}.titlecard__kicker{letter-spacing:3px;text-transform:uppercase;color:var(--line-dim);font-size:11px}.titlecard__title{font-family:var(--font-display);text-shadow:0 0 14px #fffc,0 0 34px #b4dcff80;margin:0;font-size:clamp(24px,4.5vw,34px);font-style:italic;font-weight:400}.titlecard.is-hidden{opacity:0;pointer-events:none}.hint{letter-spacing:.4px;color:var(--line-dim);white-space:nowrap;text-align:center;font-size:12.5px;animation:2.4s ease-in-out infinite hintPulse;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@keyframes hintPulse{0%,to{opacity:.45}50%{opacity:.95}}.memory-text{text-align:center;max-width:84%;font-family:var(--font-display);color:var(--line);text-shadow:0 0 10px #ffffff80;z-index:10;font-size:clamp(16px,2.6vw,21px);font-style:italic;position:absolute;top:22px;left:50%;transform:translate(-50%)}.progress{letter-spacing:1px;color:var(--line-dim);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:16px;right:18px}.backlink{color:var(--line-dim);cursor:pointer;z-index:25;letter-spacing:.3px;font-size:12px;position:absolute;top:14px;left:16px}.backlink:hover{color:var(--line)}.construction{text-align:center;z-index:15;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 30px;display:flex;position:absolute;inset:0}.construction p{color:var(--caption);max-width:380px;font-size:13px;line-height:1.6}.homeGate{z-index:50;background:var(--void-deep);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 24px;display:flex;position:absolute;inset:0}.homeGate__brand{font-family:var(--font-display);text-shadow:0 0 14px #ffffffbf,0 0 32px #b4dcff73;font-size:clamp(28px,5vw,40px);font-style:italic}.homeGate__tap{letter-spacing:.5px;color:var(--line-dim);font-size:12.5px;animation:2.4s ease-in-out infinite hintPulse}
