.joystick{bottom:max(40px, env(safe-area-inset-bottom));height:112px;left:max(34px, env(safe-area-inset-left));opacity:.45;pointer-events:none;z-index:2;background:radial-gradient(circle,#c5ab7510,#0000 70%);border:1px solid #d2bc8633;border-radius:50%;width:112px;display:none;position:fixed}.joystick:after{content:"";border:1px solid #d2bc861c;border-radius:50%;position:absolute;inset:20px}.joystick-inner{height:34px;transform:translate(var(--stick-x,0), var(--stick-y,0));background:#d2bc8612;border:1px solid #dac58f66;border-radius:50%;width:34px;position:absolute;top:38px;left:38px}.joystick.active{opacity:.9;transform:translate(-50%,-50%)}.playing .joystick:not(.discovered){animation:2.2s ease-in-out 3 beckon}@keyframes beckon{0%,to{opacity:.5}50%{opacity:.95;border-color:#dac58f80}}.jump-control{bottom:max(46px, env(safe-area-inset-bottom));color:#dcc79a;height:84px;right:max(34px, env(safe-area-inset-right));touch-action:none;z-index:2;background:#10171930;border:1px solid #d2bc8633;border-radius:50%;place-items:center;width:84px;display:grid;position:fixed}.charge-ring{width:74px;height:74px;position:absolute;inset:4px;transform:rotate(-90deg)}.charge-ring circle{fill:none;stroke:var(--gold);stroke-dasharray:201.06;stroke-dashoffset:calc(201.06 * (1 - var(--charge,0)));stroke-width:1.5px}.jump-glyph{fill:none;opacity:.7;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2px;width:25px;height:25px}.jump-control.charging{border-color:#d4ac6870;box-shadow:0 0 30px #e4b85820}.guide-ring{color:var(--gold);text-align:center;width:40px;font-size:20px;display:inline-block}@media (any-pointer:coarse){.playing .joystick{display:block}.keyboard-guide{display:none}.touch-guide{display:block}}@media (max-height:520px){.joystick{width:96px;height:96px;bottom:24px}.joystick-inner{top:30px;left:30px}.jump-control{width:72px;height:72px;bottom:28px}.charge-ring{width:62px;height:62px}}:root{color:#e8dfca;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gold:#cead70;--muted:#aba491;background:#101719;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;font:inherit}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline-offset:7px;outline:2px solid #f0ce8a}#world{touch-action:none;outline:none;width:100%;height:100%;display:block}.vignette{pointer-events:none;background:radial-gradient(at 52% 44%,#0000 38%,#090e1452 100%);position:fixed;inset:0}.chrome{inset:max(22px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) auto max(24px, env(safe-area-inset-left));pointer-events:none;z-index:4;align-items:center;gap:18px;display:flex;position:fixed}.icon-button{color:#d1c6ac;pointer-events:auto;background:#10171938;border:1px solid #d2bc8626;border-radius:50%;place-items:center;width:44px;height:44px;text-decoration:none;transition:background .18s,opacity .18s;display:grid}.icon-button:hover{background:#c0a57522}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px;width:19px;height:19px}.icon-button[aria-pressed=true]{opacity:.45}.back{font-size:23px}.wordmark{letter-spacing:.45em;opacity:0;font-family:Georgia,Times New Roman,serif;font-size:12px;transition:opacity 1s}.playing .wordmark{opacity:.65}.tools{gap:10px;margin-left:auto;display:flex}.veil{z-index:3;flex-direction:column;justify-content:center;padding:80px 9vw;display:flex;position:fixed;inset:0}.arrival{background:linear-gradient(90deg,#0a1219b8,#0a121927 52%,#0000 80%)}.arrival-copy{width:min(440px,100%);animation:1.8s both materialize}.eyebrow{color:var(--gold);letter-spacing:.35em;margin:0 0 22px;font-size:9px;font-weight:400;line-height:1.8}h1,h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-.065em;text-shadow:0 3px 40px #d3a45b20;font-size:clamp(76px,9vw,144px);line-height:.95}.subtitle{color:#d5c9b2;letter-spacing:.05em;margin:20px 0 30px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic}.fine-rule{background:var(--gold);opacity:.55;width:56px;height:1px}.invitation{color:#c5beae;margin:24px 0 28px;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.8}.ritual-button{color:#f1ddb5;letter-spacing:.12em;background:linear-gradient(110deg,#79613a30,#181f2080);border:1px solid #c2a26866;justify-content:space-between;align-items:center;gap:32px;min-height:52px;padding:16px 24px;font-size:11px;text-decoration:none;transition:border-color .18s,background .18s;display:inline-flex;box-shadow:inset 0 0 24px #c9aa6b05}.ritual-button:hover{background:#cda86125;border-color:#ddbd7b}.button-glyph{font-size:20px;line-height:1}.quiet{color:var(--muted);letter-spacing:.08em;margin-top:18px;font-size:10px;line-height:1.7}.edition{bottom:max(28px, env(safe-area-inset-bottom));color:#bfb39a80;letter-spacing:.2em;align-items:center;gap:14px;margin:0;font-size:8px;display:flex;position:absolute}.edition span{background:#bfb39a50;width:30px;height:1px}.intermission{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;z-index:5;background:#0b141bd9;align-items:center;overflow-y:auto}.dialog-card{max-width:560px}h2{letter-spacing:-.035em;margin-bottom:30px;font-size:clamp(32px,5vw,58px)}.control-guide{color:#bcb4a2;text-align:left;max-width:340px;margin:32px auto 18px}.control-guide p{align-items:center;gap:24px;margin:16px 0;font-size:11px;line-height:1.6;display:flex}kbd{color:var(--gold);letter-spacing:.12em;flex:0 0 75px;font:9px Arial,sans-serif}.touch-guide{display:none}.text-button{color:#c8bda8;letter-spacing:.08em;background:0 0;border:0;padding:14px;font-size:10px;text-decoration:none;display:inline-block}.text-button:hover{color:#f5deb0}.completion{text-align:center;background:linear-gradient(#10171920,#0e1719e6);justify-content:flex-end;align-items:center;padding-bottom:10vh;animation:3s both materialize}.completion .invitation{margin-top:-10px}.completion .text-button{display:block}.seal-progress{color:#c5b68a45;pointer-events:none;left:50%;top:max(40px, calc(env(safe-area-inset-top) + 22px));align-items:center;gap:14px;display:flex;position:fixed;transform:translate(-50%)}.seal-progress span{font-size:19px;transition:color 1s,text-shadow 1s}.seal-progress span.lit{color:#f3c77f;text-shadow:0 0 16px #f1a647}.seal-progress i{background:currentColor;width:18px;height:1px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes materialize{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.chrome{inset:max(14px, env(safe-area-inset-top)) 14px auto;gap:8px}.wordmark{letter-spacing:.3em;font-size:10px}.veil{padding:90px 8vw}.arrival{background:linear-gradient(#0000,#0a121940 35%,#0a1219e6);justify-content:flex-end;padding-bottom:max(100px,12vh)}h1{font-size:84px}.eyebrow{margin-bottom:14px;font-size:8px}.subtitle{margin:12px 0 20px;font-size:17px}.invitation{margin:18px 0;font-size:14px}.seal-progress{top:max(26px, calc(env(safe-area-inset-top) + 12px));gap:7px}.seal-progress i{width:9px}.seal-progress span{font-size:16px}.completion{padding-bottom:12vh}}@media (max-height:520px) and (orientation:landscape){.veil{padding:50px 9vw 28px}h1{font-size:68px}.eyebrow,.subtitle{margin-bottom:10px}.invitation{margin:12px 0;font-size:13px}.edition{right:24px}.quiet{margin:8px 0 0}.control-guide{margin:16px auto}.control-guide p{margin:8px 0}h2{margin-bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
