:root{--ink:#050403;--sand-deep:#2a1b12;--sand:#c8955a;--sand-light:#e8c38a;--dusk-high:#1a0f1e;--dusk-mid:#5a2231;--dusk-ember:#c2552e;--dusk-gold:#f0a05a;--spice:#e8842a;--spice-glow:#ffb066;--ibad:#3b9ee8;--ibad-glow:#8fd3ff;--night:#060a14;--night-sand:#141b28;--moon:#e9eef5;--bone:#f2e9da;--bone-dim:#f2e9dab3;--bone-faint:#f2e9da6b;--font-display:"Syncopate", "Avenir Next", "Futura", system-ui, sans-serif;--font-serif:"Cormorant Garamond", "Iowan Old Style", "Palatino", Georgia, serif;--font-ui:system-ui, -apple-system, "Segoe UI", sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--z-stage:0;--z-text:10;--z-worm:20;--z-ending:30;--z-chrome:40;--z-threshold:50}@font-face{font-family:Syncopate;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/syncopate-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{background:var(--ink);color:var(--bone);font-family:var(--font-serif);-webkit-text-size-adjust:100%;overscroll-behavior-y:none;scrollbar-gutter:auto;font-size:18px;line-height:1.5}html,body{width:100%;margin:0;padding:0;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh}body.is-locked{height:100dvh;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a{color:inherit}:focus-visible{outline:2px solid var(--spice-glow);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-weight:700;line-height:1.25}.skip-link{top:calc(var(--safe-top) + 8px);z-index:var(--z-threshold);background:var(--ink);color:var(--bone);font-family:var(--font-ui);transition:transform .2s var(--ease-out);border:1px solid #f2e9da59;border-radius:999px;padding:10px 14px;font-size:14px;position:fixed;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.story-spacer{pointer-events:none;width:100%;position:relative}.stage{height:100dvh;z-index:var(--z-stage);background:var(--ink);contain:strict;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.desert-group{perspective:1400px;perspective-origin:50% 40%}.stage canvas,.layer{width:100%;height:100vh;height:100lvh;position:absolute;top:0;left:0}.layer{pointer-events:none}.group{will-change:opacity;position:absolute;top:0;bottom:0;left:0;right:0}.group[data-hidden=true]{visibility:hidden}.sky-text,.sand-text{text-align:center;padding-left:calc(var(--safe-left) + 20px);padding-right:calc(var(--safe-right) + 20px);pointer-events:none;place-items:center;display:grid;position:absolute;left:0;right:0}.sky-text{top:calc(var(--safe-top) + 12dvh)}.sand-text{bottom:calc(var(--safe-bottom) + 10dvh)}.whispers{padding:0 calc(var(--safe-left) + 28px) 0 calc(var(--safe-right) + 28px);pointer-events:none;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.whisper{text-align:center;max-width:34ch;font-family:var(--font-serif);color:var(--bone);text-shadow:0 0 24px #3b9ee859;opacity:0;will-change:opacity, transform, filter;grid-area:1/1;margin:0;font-size:clamp(24px,2.6vw + 14px,40px);font-style:italic;font-weight:500;line-height:1.35;transform:translateY(10px)}.chrome{top:calc(var(--safe-top) + 12px);right:calc(var(--safe-right) + 12px);z-index:var(--z-chrome);opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);pointer-events:none;gap:8px;display:flex;position:fixed;transform:translateY(-6px)}.chrome[data-visible=true]{opacity:1;pointer-events:auto;transform:none}.sound-toggle{min-width:44px;min-height:44px;color:var(--bone-dim);font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;transition:transform .16s var(--ease-out), color .2s ease, border-color .2s ease;background:#0504039e;border:1px solid #f2e9da38;border-radius:999px;align-items:center;gap:10px;padding:0 14px 0 12px;font-size:11px;display:inline-flex}.sound-toggle:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.sound-toggle:hover{color:var(--bone);border-color:#f2e9da73}}.sound-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.sound-bars i{transform-origin:bottom;background:currentColor;border-radius:1px;width:2px;height:100%;display:block;transform:scaleY(.3)}.sound-toggle[aria-pressed=true] .sound-bars i{animation:bar 1.1s var(--ease-in-out) infinite alternate}.sound-toggle[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:-.35s}.sound-toggle[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:-.7s}@keyframes bar{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.progress-line{height:2px;z-index:var(--z-chrome);background:var(--spice);opacity:.55;transform-origin:0;pointer-events:none;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.threshold{z-index:var(--z-threshold);background:var(--ink);padding:calc(var(--safe-top) + 24px) calc(var(--safe-right) + 24px) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + 24px);transition:opacity 1.4s var(--ease-in-out), visibility 0s linear 1.4s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.threshold[data-open=true]{opacity:0;visibility:hidden;pointer-events:none}.threshold:before{content:"";pointer-events:none;background:radial-gradient(70% 50% at 50% 60%,#e8842a12,#0000 70%);position:absolute;top:0;bottom:0;left:0;right:0}.threshold-inner{text-align:center;justify-items:center;gap:40px;max-width:34ch;display:grid;position:relative}.threshold-line{font-family:var(--font-serif);color:var(--bone-dim);opacity:0;animation:rise 1.4s var(--ease-out) .3s forwards;margin:0;font-size:clamp(22px,2vw + 14px,34px);font-style:italic;font-weight:500;line-height:1.35;transform:translateY(12px)}.threshold-actions{opacity:0;animation:rise 1.4s var(--ease-out) .9s forwards;justify-items:center;gap:18px;display:grid;transform:translateY(12px)}@keyframes rise{to{opacity:1;transform:none}}.enter-button{min-height:56px;color:var(--bone);font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;transition:transform .16s var(--ease-out), background-color .3s ease, border-color .3s ease;background:#e8842a14;border:1px solid #e8842a8c;border-radius:999px;align-items:center;gap:14px;padding:0 8px 0 28px;font-size:12px;font-weight:700;display:inline-flex}.enter-button:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.enter-button:hover{background:#e8842a29;border-color:#ffb066cc}.enter-button:hover .enter-mark{transform:translate(1px,-1px)scale(1.05)}}.enter-mark{width:40px;height:40px;color:var(--spice-glow);transition:transform .3s var(--ease-drawer);background:#e8842a2e;border-radius:999px;place-items:center;display:grid}.enter-mark .sound-bars i{animation:bar 1.1s var(--ease-in-out) infinite alternate}.enter-mark .sound-bars i:nth-child(2){animation-delay:-.35s}.enter-mark .sound-bars i:nth-child(3){animation-delay:-.7s}.silent-link{min-height:44px;color:var(--bone-faint);font-family:var(--font-serif);text-underline-offset:4px;background:0 0;border:0;padding:12px 8px;font-size:17px;-webkit-text-decoration:underline #f2e9da40;text-decoration:underline #f2e9da40;transition:color .2s}@media (hover:hover) and (pointer:fine){.silent-link:hover{color:var(--bone-dim)}}.dig-cue{left:50%;bottom:calc(var(--safe-bottom) + 28px);pointer-events:none;opacity:0;width:44px;height:56px;transition:opacity .6s var(--ease-out);position:absolute;transform:translate(-50%)}.dig-cue[data-visible=true]{opacity:1}.dig-cue i{background:var(--sand-light);border-radius:50%;width:3px;height:3px;animation:1.8s linear infinite grain;position:absolute;top:0;left:50%}.dig-cue i:nth-child(2){margin-left:-9px;animation-delay:-.6s}.dig-cue i:nth-child(3){margin-left:8px;animation-delay:-1.2s}.dig-cue:after{content:"";background:var(--sand);opacity:.85;border-radius:50% 50% 2px 2px;width:26px;height:6px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@keyframes grain{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(46px)}}.ending{z-index:var(--z-ending);min-height:100dvh;padding:30dvh calc(var(--safe-right) + 24px) calc(var(--safe-bottom) + 28px) calc(var(--safe-left) + 24px);text-align:center;background:linear-gradient(#060a1400 0%,#060a14d9 22%,#060a14 45%);align-content:end;gap:64px;display:grid;position:relative}.ending-final{color:var(--bone);text-wrap:balance;margin:0;font-size:clamp(22px,3.2vw + 8px,52px)}.ending-final span{display:block}.ending-final span+span{margin-top:.4em}.ending-signature{font-family:var(--font-serif);color:var(--bone-dim);margin:0;font-size:clamp(24px,2vw + 14px,38px);font-style:italic;font-weight:500}.ending-footer{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--bone-faint);justify-items:center;gap:16px;margin-top:8dvh;font-size:12px;display:grid}.ending-footer p{margin:0}.restart{min-height:44px;color:var(--bone-faint);font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;text-underline-offset:5px;background:0 0;border:0;padding:8px 14px;font-size:12px;-webkit-text-decoration:underline #f2e9da40;text-decoration:underline #f2e9da40}.reveal{opacity:0;filter:blur(6px);transition:opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out), filter 1.1s var(--ease-out);transform:translateY(28px)}.reveal[data-in=true]{opacity:1;filter:none;transform:none}.reveal:nth-child(2){transition-delay:.25s}.reveal:nth-child(3){transition-delay:.5s}.rm-page{min-height:100dvh;padding:calc(var(--safe-top) + 12vh) calc(var(--safe-right) + 24px) calc(var(--safe-bottom) + 12vh) calc(var(--safe-left) + 24px);background:linear-gradient(#1a0f1e 0%,#5a2231 18%,#c2552e 30%,#2a1b12 42%,#060a14 100%)}.rm-inner{gap:28px;max-width:62ch;margin:0 auto;display:grid}.rm-title{color:var(--bone);text-wrap:balance;margin:0 0 24px;font-size:clamp(20px,2.4vw + 10px,36px)}.rm-inner p{color:var(--bone);margin:0;font-size:clamp(19px,1vw + 14px,24px);line-height:1.6}.rm-inner p.rm-formed{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:var(--spice-glow);margin:12px 0;font-size:clamp(16px,1.4vw + 8px,26px);font-weight:700;line-height:1.4}.rm-actions{margin-top:20px}@media (prefers-reduced-motion:reduce){.threshold-line,.threshold-actions,.dig-cue i,.sound-bars i{opacity:1;transform:none;animation:none!important}.reveal{filter:none;transition-duration:.3s;transform:none}}.worm-overlay{width:100%;height:100vh;height:100lvh;z-index:var(--z-worm);opacity:0;pointer-events:none;position:absolute;top:0;left:0}.desert-group{z-index:1}.dark-group{z-index:2}.night-group{z-index:3}.dark-group .whispers{z-index:var(--z-text)}.laptop{width:var(--lw);height:calc(var(--lw) * .64);transform-origin:50% 100%;transform-style:preserve-3d;will-change:transform;pointer-events:none;opacity:0;position:absolute;top:0;left:0}.laptop-lid{border-radius:calc(var(--lw) * .035) calc(var(--lw) * .035) calc(var(--lw) * .012) calc(var(--lw) * .012);box-shadow:inset 0 0 0 1px #ffffff59, inset 0 -3px 8px #00000047, 0 calc(var(--lw) * .02) calc(var(--lw) * .05) #140a0559;transform-origin:50% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(165deg,#d2d2d7 0%,#a9a9b0 45%,#86868d 100%);position:absolute;top:0;bottom:0;left:0;right:0;transform:rotateX(10deg)}.laptop-screen{border-radius:calc(var(--lw) * .014);color:#e9e3d6;font-family:var(--font-display);background:#07080a;position:absolute;top:4.4%;bottom:6%;left:3.4%;right:3.4%;overflow:hidden}.laptop-screen:after{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff17 0%,#ffffff05 38%,#fff0 55%);position:absolute;top:0;bottom:0;left:0;right:0}.laptop-camera{width:calc(var(--lw) * .01);height:calc(var(--lw) * .01);background:#1a1c22;border-radius:50%;position:absolute;top:1.6%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 1px #fff6}.laptop-base{height:calc(var(--lw) * .6);transform-origin:50% 0;border-radius:calc(var(--lw) * .012) calc(var(--lw) * .012) calc(var(--lw) * .05) calc(var(--lw) * .05);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(#bfbfc5 0%,#a6a6ad 60%,#8d8d94 100%);position:absolute;top:100%;left:-2%;right:-2%;transform:rotateX(90deg);box-shadow:inset 0 0 0 1px #ffffff4d,inset 0 -4px 10px #00000040}.laptop-keys{border-radius:calc(var(--lw) * .01);background:repeating-linear-gradient(90deg, #2b2c31 0 calc(var(--lw) * .046), transparent calc(var(--lw) * .046) calc(var(--lw) * .056)), repeating-linear-gradient(0deg, #2b2c31 0 calc(var(--lw) * .046), transparent calc(var(--lw) * .046) calc(var(--lw) * .056));opacity:.95;background-color:#8f8f96;height:46%;position:absolute;top:8%;left:8%;right:8%}.laptop-trackpad{border-radius:calc(var(--lw) * .012);background:linear-gradient(#b5b5bb,#a3a3aa);height:32%;position:absolute;top:60%;left:34%;right:34%;box-shadow:inset 0 0 0 1px #0000001f}.laptop .sand{pointer-events:none;border-radius:inherit;width:103%;height:103%;position:absolute;top:-1.5%;bottom:-1.5%;left:-1.5%;right:-1.5%}.screen-content{text-align:center;place-items:center;padding:6% 7%;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.screen-bloom{opacity:0;transition:opacity 1.6s var(--ease-out);background:radial-gradient(70% 60% at 45% 40%,#e8c89666,#e8c89600 70%);position:absolute;top:0;bottom:0;left:0;right:0}.screen-content[data-mode=thinking] .screen-bloom{opacity:.7}.screen-dust{mix-blend-mode:screen;opacity:.9;transition:opacity 1.2s var(--ease-out);background:radial-gradient(circle at 20% 30%,#c8955a38,#0000 30%),radial-gradient(circle at 75% 65%,#c8955a2e,#0000 28%),radial-gradient(circle at 55% 20%,#c8955a24,#0000 22%);position:absolute;top:0;bottom:0;left:0;right:0}.screen-content[data-mode=loading] .screen-dust,.screen-content[data-mode=directive] .screen-dust{opacity:.35}.screen-line{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:#f2e9da;text-shadow:0 0 calc(var(--lw) * .02) #ffd2a080;margin:0;font-weight:700;line-height:1.5;position:relative}.screen-thinking{font-size:calc(var(--lw) * .052);color:#dcd3c2;opacity:0;animation:screenWake 1.4s var(--ease-out) .2s forwards;transform:translateY(4%)}@keyframes screenWake{to{opacity:1;transform:none}}.screen-directive{font-size:calc(var(--lw) * .045);color:#ffd9a8;text-shadow:0 0 calc(var(--lw) * .03) #ffb0668c;animation:.45s step-end forwards screenFlicker}.screen-directive span{display:block}@keyframes screenFlicker{0%{opacity:1;transform:translate(-5%)}22%{transform:translate(4%)}44%{transform:translate(-2.5%)}62%{opacity:.03;transform:none}78%{opacity:1}to{opacity:1;transform:none}}.loading{gap:calc(var(--lw) * .02);color:#e6ddcb;font-family:var(--font-ui);background:radial-gradient(90% 60% at 50% 110%,#ca763447,#0000 60%),radial-gradient(70% 50% at 20% -10%,#4078804d,#0000 55%),linear-gradient(#0f141c,#141216 60%,#1a1410);grid-template-rows:auto 1fr auto auto;padding:6% 7%;animation:.22s steps(2,end) loadSnap;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes loadSnap{0%{opacity:.2}to{opacity:1}}.loading-title{font-family:var(--font-display);font-weight:700;font-size:calc(var(--lw) * .05);letter-spacing:.16em;color:#f4ebd8;margin:0;line-height:1.2}.loading-sub{margin:calc(var(--lw) * .008) 0 0;font-size:calc(var(--lw) * .026);letter-spacing:.22em;text-transform:uppercase;color:#e6ddcb9e;min-height:1.4em}.sigils{justify-content:center;align-items:center;gap:calc(var(--lw) * .035);margin:0;padding:0;list-style:none;display:flex}.sigil{width:calc(var(--lw) * .09);height:calc(var(--lw) * .09);color:#e6ddcb38;transition:transform .35s var(--ease-out), color .35s ease, border-color .35s ease, box-shadow .35s ease;border:1px solid #e6ddcb24;border-radius:50%;place-items:center;display:grid;transform:scale(.94)}.sigil svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;width:56%;height:56%}.sigil[data-lit=true]{color:var(--sigil);border-color:color-mix(in srgb, var(--sigil) 60%, transparent);box-shadow:0 0 calc(var(--lw) * .03) color-mix(in srgb, var(--sigil) 35%, transparent);transform:scale(1)}.loading-progress{gap:calc(var(--lw) * .012);display:grid}.loading-label{font-size:calc(var(--lw) * .026);letter-spacing:.2em;text-transform:uppercase;color:#f4ebd8;justify-content:space-between;gap:1em;min-height:1.4em;margin:0;display:flex}.loading-label b{font-variant-numeric:tabular-nums;color:#e6ddcbb3;font-weight:500}.loading-bar{height:calc(var(--lw) * .008);background:#e6ddcb1f;border-radius:999px;position:relative;overflow:hidden}.loading-bar i{transform-origin:0;transform:scaleX(var(--progress,0));transition:transform .26s var(--ease-out);background:linear-gradient(90deg,#7fb8b0,#e8a04a);position:absolute;top:0;bottom:0;left:0;right:0}.loading-tip{font-size:calc(var(--lw) * .024);letter-spacing:.06em;color:#e6ddcbb8;min-height:2.9em;animation:tipIn .42s var(--ease-out);margin:0;line-height:1.45}.loading-tip b{color:#e8a04a;letter-spacing:.14em;font-weight:600}@keyframes tipIn{0%{opacity:0}to{opacity:1}}
