.journey{position:relative;margin-top:calc((var(--header-h) + 1px) * -1)}.j-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.j-set[hidden]{display:none}.j-world{position:absolute;inset:0;transform-origin:50% 52%}.j-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.j-map polyline,.j-map circle{fill:none}.j-rings{stroke:color-mix(in srgb,var(--accent) 9%,transparent)}.j-path-base{stroke:var(--fg-ghost)}.j-path-draw{stroke:var(--accent)}.j-node{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;visibility:hidden}.j-node-in{position:absolute;left:-120px;top:-116px;width:240px;display:flex;flex-direction:column;align-items:center;gap:14px}.j-node .polaroid{width:216px;padding:8px;box-shadow:0 30px 70px #000c}.j-node-num{font-family:var(--display);font-weight:700;font-size:64px;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.2px var(--accent)}.j-node.is-final .j-node-in{left:-170px;top:-170px;width:340px}.j-node.is-final .polaroid{width:316px}.j-node.is-final .j-node-num{font-size:120px}.j-pulse{position:absolute;left:170px;top:130px;width:0;height:0}.j-pulse span{position:absolute;left:-210px;top:-210px;width:420px;height:420px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);animation:j-pulse 2.4s var(--ease-out) infinite}.j-pulse span+span{animation-delay:1.2s}@keyframes j-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}.j-veil{position:absolute;inset:0;background:#000000b8;opacity:0;pointer-events:none}.j-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.85) 100%)}.j-intro{--out: 0;position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:var(--header-h) var(--page-x) 0;pointer-events:none;opacity:calc(1 - var(--out))}.j-intro-inner{position:relative;display:grid;justify-items:center;font-weight:400;line-height:1}.j-i-num{font-family:var(--display);font-weight:700;font-style:normal;font-size:clamp(11rem,34vw,24rem);line-height:.8;letter-spacing:-.06em;background:linear-gradient(170deg,#f3ecff 0%,#d6c2ff 30%,var(--accent) 58%,#5d43b8 100%);background-size:100% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 60px color-mix(in srgb,var(--accent) 35%,transparent)) blur(calc(var(--out) * 10px));transform:scale(calc(1 + var(--out) * .35));animation:j-rise 1.4s var(--ease-out) .15s both,j-sheen 7s ease-in-out 1.6s infinite alternate}.j-i-top,.j-i-bottom{font-family:var(--display);font-style:italic;font-weight:500;letter-spacing:-.02em;color:var(--fg);white-space:nowrap}.j-i-top{justify-self:start;margin:0 0 -.35em -.4em;font-size:clamp(2rem,5.5vw,4.25rem);position:relative;z-index:1;transform:translate(calc(var(--out) * -120px));animation:j-rise 1.1s var(--ease-out) 0s both}.j-i-bottom{justify-self:end;margin:-.28em -.5em 0 0;font-size:clamp(2.2rem,6.5vw,5rem);position:relative;z-index:1;transform:translate(calc(var(--out) * 120px));animation:j-rise 1.1s var(--ease-out) .45s both}.j-i-bottom em{color:var(--accent)}.j-i-top:after{content:"";display:block;width:.9em;height:1.5px;margin-top:.2em;background:var(--accent)}@keyframes j-rise{0%{opacity:0;transform:translateY(40px);filter:blur(12px)}}@keyframes j-sheen{to{background-position:0 100%}}.j-page{position:absolute;left:50%;top:calc(50% + 20px);z-index:10;width:min(1060px,90vw);height:min(540px,70vh);display:flex;overflow:hidden;background:var(--panel);border:1px solid rgba(255,255,255,.09);border-radius:6px;box-shadow:0 40px 120px #000000d9;visibility:hidden}.j-page-img{flex-shrink:0;height:100%;aspect-ratio:1 / 1;overflow:hidden;background:var(--bg-inset)}.j-page-img img{width:100%;height:100%;object-fit:cover}.j-page-body{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,3.5vw,2.75rem) clamp(1.5rem,3.5vw,3rem)}.j-page-top{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.16em}.j-page-num{position:absolute;right:1.9rem;top:4rem;font-family:var(--display);font-weight:700;font-size:clamp(8rem,16vw,13.75rem);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 50%,transparent);pointer-events:none}.j-page-text{position:relative;display:flex;flex-direction:column;gap:1rem}.j-page-text h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.2rem,4.5vw,3.9rem);line-height:.98;letter-spacing:-.025em;text-wrap:balance}.j-line{display:block;width:72px;height:1.5px;background:var(--accent)}.j-work{font-style:italic;font-size:1.3rem;color:var(--fg-dim)}.j-author{text-transform:uppercase;letter-spacing:.08em}.j-page.is-final{border-color:var(--accent);animation:j-glow 3s ease-in-out infinite}.j-page.is-final .j-page-top{color:var(--accent)}.j-page.is-final .j-page-num{color:color-mix(in srgb,var(--accent) 18%,transparent)}@keyframes j-glow{0%,to{box-shadow:0 0 0 1px var(--accent),0 0 60px color-mix(in srgb,var(--accent) 25%,transparent)}50%{box-shadow:0 0 0 1px var(--accent),0 0 110px color-mix(in srgb,var(--accent) 45%,transparent)}}.j-toggle{position:absolute;top:calc(var(--header-h) + 22px);left:var(--page-x);z-index:30;display:flex;padding:4px;border:1px solid var(--line-strong);border-radius:999px;background:#000000b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.j-toggle button{position:relative;width:132px;min-height:44px;border:0;background:none;cursor:pointer;font-family:var(--body);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);transition:color .35s}.j-toggle button[aria-selected=true]{color:#000}.j-slider{position:absolute;top:4px;bottom:4px;left:4px;width:132px;border-radius:999px;background:var(--accent);transition:transform .55s var(--ease-out)}.j-slider[data-pos=media]{transform:translate(132px)}.j-minimap{position:absolute;top:calc(var(--header-h) + 22px);right:var(--page-x);width:110px;height:150px;z-index:30;border:1px solid var(--line-strong);border-radius:6px;background:#000000b8;overflow:hidden}.j-minimap svg{width:100%;height:100%;display:block}.j-minimap polyline{fill:none;stroke:var(--fg-faint);stroke-width:34}.j-mm-dot{fill:var(--fg-ghost)}.j-mm-dot.on{fill:var(--accent)}.j-mm-view{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:22}.j-sound{position:absolute;top:calc(var(--header-h) + 22px);left:calc(var(--page-x) + 286px);z-index:30;display:flex;align-items:center;gap:6px;height:54px;padding:0 16px 0 4px;border:1px solid var(--line-strong);border-radius:999px;background:#000000b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.j-sound-btn{position:relative;width:44px;height:44px;border-radius:999px;border:0;background:none;color:var(--fg);cursor:pointer;display:grid;place-items:center;transition:color .2s,background .2s}.j-sound-btn:hover{background:#ffffff0f;color:var(--accent)}.j-sound-btn .ic-off,.j-sound.is-muted .ic-on{display:none}.j-sound.is-muted .ic-off{display:block;color:var(--fg-dim)}.j-eq{position:absolute;right:5px;bottom:9px;display:flex;gap:1.5px;align-items:flex-end;height:9px;opacity:0;transition:opacity .3s}.j-eq i{display:block;width:2px;height:100%;background:var(--accent);border-radius:1px;transform-origin:bottom;animation:j-eq .9s ease-in-out infinite alternate}.j-eq i:nth-child(2){animation-delay:-.35s}.j-eq i:nth-child(3){animation-delay:-.6s}.j-sound.is-playing:not(.is-muted) .j-eq{opacity:1}@keyframes j-eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.j-sound.needs-tap:not(.is-playing):not(.is-muted) .j-sound-btn{animation:j-tap 1.8s ease-in-out infinite}@keyframes j-tap{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.j-vol{display:flex;align-items:center}.j-vol input{--fill: 60%;appearance:none;-webkit-appearance:none;width:110px;height:44px;background:transparent;cursor:pointer;margin:0}.j-vol input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--fg-ghost) var(--fill))}.j-vol input::-moz-range-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--fg-ghost) var(--fill))}.j-vol input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 3px #b490fc59}.j-vol input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--fg);box-shadow:0 0 0 3px #b490fc59}.j-sound.is-muted .j-vol input{opacity:.45}.j-counter{position:absolute;left:var(--page-x);bottom:2.5rem;z-index:30;display:flex;align-items:center;gap:1.1rem}.j-bar{position:relative;width:180px;height:1px;background:var(--fg-ghost)}.j-bar span{position:absolute;left:0;top:0;height:1px;width:0;background:var(--accent);transition:width .5s}.j-cur{font-family:var(--display);font-size:2.25rem;font-weight:300;line-height:1}.j-hint{position:absolute;left:50%;bottom:2.25rem;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:10px;transition:opacity .5s;pointer-events:none}.j-hint span{font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;color:var(--fg-dim)}.j-hint i{display:block;width:1px;height:44px;background:var(--accent);animation:j-hint 1.8s cubic-bezier(.77,0,.18,1) infinite}.j-hint.is-gone{opacity:0}@keyframes j-hint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}body:has(.journey) .site-footer{margin-top:0}html:has(.journey){overscroll-behavior-y:none}@media(max-width:760px){.j-page{flex-direction:column;width:min(360px,88vw);height:auto;max-height:calc(100svh - 170px)}.j-page-img{width:100%;height:auto}.j-page-body{gap:.8rem;padding:1.1rem 1.25rem 1.4rem}.j-page-num{font-size:5.5rem;top:2.2rem;right:1rem}.j-page-top span:last-child{display:none}.j-page-text{gap:.55rem}.j-page-text h2{font-size:1.9rem}.j-work{font-size:1.05rem}.j-minimap{display:none}.j-toggle button,.j-slider{width:112px}.j-sound{left:var(--page-x);top:calc(var(--header-h) + 84px);height:48px}.j-sound-btn{width:40px;height:40px}.j-vol input{width:96px}.j-slider[data-pos=media]{transform:translate(112px)}.j-counter{bottom:1.4rem}.j-hint{display:none}.j-page.is-final{animation:none;box-shadow:0 0 0 1px var(--accent),0 0 50px color-mix(in srgb,var(--accent) 30%,transparent)}}
