:root{color-scheme:dark;--cream:#fff4db;--gold:#eacb8d;--travel:4400px;font-family:Arial,Helvetica,sans-serif;background:#10151c;color:var(--cream)}
*{box-sizing:border-box}html,body{margin:0;min-width:280px;overscroll-behavior-y:none;scroll-behavior:auto;overflow-anchor:none;touch-action:pan-y pinch-zoom}body{overflow:visible}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--gold);outline-offset:7px;border-radius:2px}
#scroll-space{height:calc(100vh + var(--travel));height:var(--scroll-height,calc(100vh + var(--travel)));pointer-events:auto}.stage{position:fixed;inset:0;overflow:hidden;background:#10151c;pointer-events:none}#world,.still,.still-room,.vignette,.threshold-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#world{opacity:0;transition:opacity .7s ease}body.ready #world{opacity:1}.still-room{background:url('/assets/bedroom-wide.webp') center/100% 100% no-repeat;filter:brightness(.56)}.still-portal{position:absolute;height:71%;aspect-ratio:2/3;left:50%;top:7%;transform:translateX(-50%);filter:drop-shadow(0 0 22px #f8c76445)}.still-portal img{position:absolute;width:100%;height:100%;object-fit:contain}.still-garden{position:absolute;left:26.7%;right:26.7%;top:22%;bottom:17.7%;border-radius:50% 50% 0 0 / 25% 25% 0 0;background:url('/assets/grace-garden.webp') 51% center/auto 100%}.vignette{background:radial-gradient(ellipse at 50% 42%,transparent 35%,#0408114d 82%,#040811a6 120%),linear-gradient(0deg,#0408118c,transparent 23%,transparent 78%,#04081144);opacity:var(--vignette,1)}.threshold-light{background:radial-gradient(ellipse,#fff5d3a0,#edbc542e 55%,transparent 85%);opacity:0;mix-blend-mode:screen}
.masthead{position:fixed;z-index:4;top:0;left:0;width:100%;padding:clamp(24px,3.2vw,46px) clamp(24px,4vw,64px);padding-top:max(clamp(24px,3.2vw,46px),env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.wordmark{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.2px;line-height:1.45;text-shadow:0 2px 15px #0008}.wordmark svg{width:30px;height:30px;fill:var(--gold)}.wordmark-sub{display:block;font-size:8px;letter-spacing:4.5px;margin-top:3px}.skip{font-size:12px;letter-spacing:.7px;display:flex;align-items:center;gap:15px;min-height:44px;pointer-events:auto;text-shadow:0 2px 10px #000b}.skip span{font-size:17px;color:var(--gold)}.skip:hover{color:var(--gold)}
.invitation{position:fixed;z-index:3;left:50%;bottom:max(38px,calc(env(safe-area-inset-bottom) + 24px));transform:translateX(-50%);text-align:center;pointer-events:none;width:90%;text-shadow:0 2px 18px #000}.invitation p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.5vw,23px);font-weight:400;line-height:1.45;margin:16px 0 12px;letter-spacing:.3px}.invitation p span{color:#ffe6b5}.invitation-line{display:block;width:1px;height:29px;background:linear-gradient(transparent,#e8c88b);margin:auto}.scroll-cue{width:20px;height:20px;fill:none;stroke:#e6cd9d;stroke-width:1;animation:beckon 2.8s ease-in-out infinite}@keyframes beckon{0%,100%{transform:translateY(-2px);opacity:.5}50%{transform:translateY(4px);opacity:1}}
.journey-line{position:fixed;z-index:5;bottom:0;left:0;width:100%;height:2px;background:#ffffff0a;pointer-events:none}.journey-line span{display:block;width:100%;height:100%;background:#e6c17c;transform:scaleX(0);transform-origin:left;box-shadow:0 0 9px #ffcd64}.direct-entry{display:none;position:fixed;z-index:5;left:50%;bottom:max(60px,calc(env(safe-area-inset-bottom) + 30px));transform:translateX(-50%);align-items:center;gap:18px;white-space:nowrap;padding:16px 4px;border-bottom:1px solid #c5a56b;font-family:Georgia,serif;font-size:18px;text-shadow:0 2px 12px #000}.direct-entry span{font-family:Arial,sans-serif;font-size:17px;color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.static #scroll-space{height:100svh}body.static .invitation,body.static .journey-line{display:none}body.static .direct-entry{display:flex}
@media(max-aspect-ratio:1/1){.still-room{background-image:url('/assets/bedroom-portrait.webp')}.still-portal{width:76%;height:auto;top:22%;aspect-ratio:2/3}.masthead{padding-left:24px;padding-right:24px}.wordmark{font-size:9px;letter-spacing:1.7px;gap:9px}.wordmark svg{width:25px;height:25px}.wordmark-sub{font-size:7px;letter-spacing:3.3px}.skip{font-size:11px;gap:10px}.invitation{bottom:max(44px,calc(env(safe-area-inset-bottom) + 25px))}.invitation p{font-size:20px}}
@media(max-height:520px) and (min-aspect-ratio:1/1){.masthead{padding-top:15px}.invitation{bottom:14px}.invitation p{font-size:16px;margin:6px 0}.invitation-line{height:14px}.scroll-cue{height:14px}}
.arrow{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:1.2;flex-shrink:0}
.direct-entry{width:max-content;max-width:calc(100% - 48px);white-space:normal;text-align:center}
.mobile-scroll{display:none;position:fixed;z-index:8;right:max(8px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);width:48px;padding:5px 1px;border:1px solid #eacb8d6b;border-radius:26px;background:#0c1423e8;box-shadow:0 4px 24px #0004;color:var(--cream);user-select:none;-webkit-user-select:none;pointer-events:auto}
.mobile-scroll button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:#f2d39c;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mobile-scroll button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mobile-scroll button:active{background:#eacb8d29}.mobile-scroll button:focus-visible{outline:2px solid #f2d39c;outline-offset:-4px}
.scroll-rail{position:relative;width:44px;height:148px}
#journey-slider{position:absolute;left:50%;top:50%;width:148px;height:44px;padding:0;margin:0;transform:translate(-50%,-50%) rotate(90deg);appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:none;border:0;border-radius:8px}
#journey-slider::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:#d1af7266}
#journey-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:14px;margin-top:-5.5px;border:1px solid #fff0ca;border-radius:8px;background:linear-gradient(#ffe8b3,#d6a953);box-shadow:0 0 10px #efc57b55}
#journey-slider::-moz-range-track{height:3px;border-radius:3px;background:#d1af7266}
#journey-slider::-moz-range-thumb{width:28px;height:14px;border:1px solid #fff0ca;border-radius:8px;background:#edca86;box-shadow:0 0 10px #efc57b55}
#journey-slider:focus-visible{outline:2px solid #f2d39c;outline-offset:-3px}
@media(any-pointer:coarse),(max-width:900px){body.ready:not(.static) .mobile-scroll{display:block}}
@media(max-height:500px){.scroll-rail{height:96px}#journey-slider{width:96px}}
body.in-garden .masthead{color:#253124}body.in-garden .wordmark,body.in-garden .skip{text-shadow:0 1px 8px #fff9}body.in-garden .wordmark svg{fill:#685017}body.in-garden .skip .arrow{stroke:#51401c}
body.static #scroll-space{height:100vh;height:100svh}
@media(prefers-reduced-motion:reduce){.scroll-cue{animation:none}#world{transition:none}#scroll-space{height:100vh;height:100svh}.invitation,.journey-line{display:none}.direct-entry{display:flex}}
