:root{--c-top:#86d3f7;--c-bot:#2a90d4;--glow:#8ef7ff;--fade:1;--t:0;--line-x:10%;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--ink:#e2f4ffdb}*{box-sizing:border-box}html{background:#000}html,body{color:var(--ink);font-family:var(--sans);overscroll-behavior-y:none;margin:0;padding:0}body{-webkit-font-smoothing:antialiased}::selection{background:var(--glow);color:#001018}a{color:inherit}.bg,.rays,.snow,.vignette{pointer-events:none;position:fixed;inset:0}.bg{z-index:0;background:linear-gradient(180deg, var(--c-top), var(--c-bot))}.rays{z-index:1;opacity:var(--fade);filter:blur(16px);background:repeating-linear-gradient(97deg,#0000 0 42px,#ffffff12 42px 74px,#0000 74px 128px);animation:19s ease-in-out infinite alternate sway;-webkit-mask-image:linear-gradient(#000000f2,#0000 75%);mask-image:linear-gradient(#000000f2,#0000 75%)}.snow{z-index:2;opacity:.4;mix-blend-mode:screen;background-image:radial-gradient(1.4px 1.4px at 20px 30px,#ffffff80,#0000),radial-gradient(1px 1px at 130px 90px,#ffffff59,#0000),radial-gradient(1.8px 1.8px at 210px 170px,#c8f0ff66,#0000),radial-gradient(1px 1px at 90px 240px,#ffffff4d,#0000);background-size:260px 300px;animation:26s linear infinite snowfall}.vignette{z-index:3;background:radial-gradient(130% 95% at 50% 32%,#0000 42%,#00020c8c 100%)}@keyframes sway{0%{transform:translate(-3%)skew(0)}to{transform:translate(3%)skew(2deg)}}@keyframes snowfall{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:0 300px,0 300px,0 300px,0 300px}}.world{z-index:4;width:100%;position:relative;overflow-x:clip}.sky{height:var(--waterline);background:linear-gradient(#0b3f74 0%,#2277b8 38%,#7ec4e8 74%,#d8eefb 100%);position:absolute;inset:0 0 auto}.sun{top:calc(var(--waterline) * .15);aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle,#fff6d6d9 0%,#ffd69659 28%,#0000 66%);width:min(38vw,420px);position:absolute;left:72%;transform:translate(-50%,-50%)}.surface{top:var(--waterline);z-index:2;height:0;position:absolute;left:0;right:0}.surface:before{content:"";filter:blur(3px);background:linear-gradient(#ffffffb3,#bee9ff1f);height:9px;position:absolute;top:-5px;left:-5%;right:-5%;box-shadow:0 0 26px 6px #b4e6ff4d}.caustic{opacity:.7;filter:blur(4px);background:repeating-linear-gradient(90deg,#0000 0 18px,#ffffff73 18px 26px,#0000 26px 52px);height:30px;animation:11s linear infinite ripple;position:absolute;top:-14px;left:-10%;right:-10%;-webkit-mask-image:linear-gradient(#0000,#000 45%,#0000);mask-image:linear-gradient(#0000,#000 45%,#0000)}@keyframes ripple{0%{transform:translate(0)}to{transform:translate(-52px)}}.boatname{display:contents}.offscreen{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tagline{top:calc(var(--waterline) + 11vh);z-index:2;text-align:center;font-family:var(--mono);letter-spacing:.34em;text-transform:lowercase;color:#e1f8ffb8;text-shadow:0 0 18px #78dcff99;margin:0;font-size:clamp(.8rem,1.5vw,1rem);animation:7s ease-in-out infinite alternate wobble;position:absolute;left:0;right:0}.scrollcue{top:calc(var(--waterline) + 17vh);z-index:2;text-align:center;color:#dcf5ff80;position:absolute;left:0;right:0}.scrollcue pre{font-family:var(--mono);margin:0;font-size:13px;line-height:1.15;animation:3.4s ease-in-out infinite bob}@keyframes wobble{0%{transform:translateY(0)skew(-.6deg)}to{transform:translateY(4px)skew(.6deg)}}@keyframes bob{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.rig{top:var(--waterline);left:var(--line-x);z-index:3;width:0;position:absolute}.boat{font-family:var(--mono);color:#0a2032;text-shadow:0 1px #ffffff73,0 0 18px #78c8f059;white-space:pre;margin:0;font-size:min(3.6vw,1.85vh,20px);line-height:1.05;position:absolute;top:0;left:-.5ch;transform:translateY(calc(1.15em - 100%))}.line{font-family:var(--mono);white-space:pre;color:#e2f6ff80;text-shadow:0 0 8px #a0e1ff59;-webkit-user-select:none;user-select:none;margin:0;font-size:12px;line-height:14px;position:absolute;top:0;left:-.5ch}.lure{font-family:var(--mono);color:var(--glow);text-shadow:0 0 12px var(--glow);margin:0;font-size:12px;line-height:14px;animation:5s ease-in-out infinite bob;position:absolute;left:-.5ch}.node{width:max-content;color:var(--glow);align-items:center;gap:.55rem;text-decoration:none;display:flex;position:absolute;left:-.5ch;transform:translateY(-50%)}.branch{font-family:var(--mono);white-space:pre;color:#e2f6ff8c;margin:0;font-size:12px;line-height:14px;transition:color .25s}.label{font-family:var(--mono);letter-spacing:.08em;color:var(--glow);text-shadow:0 0 16px color-mix(in srgb, var(--glow) 60%, transparent);flex-direction:column;gap:.15rem;font-size:clamp(.95rem,1.5vw,1.15rem);transition:transform .25s,text-shadow .25s;display:flex}.label em{letter-spacing:.04em;opacity:.6;color:#e2f4ffd9;text-shadow:none;font-size:.68em;font-style:normal}.node:hover .label,.node:focus-visible .label{text-shadow:0 0 10px var(--glow), 0 0 34px var(--glow);transform:translate(4px)}.node:hover .branch,.node:focus-visible .branch{color:var(--glow)}.node:focus-visible{outline:1px dashed var(--glow);outline-offset:6px}.node--quiet .label{color:#e2f4ffe6;text-shadow:0 2px 22px #000c1ea6}.inline-link{color:var(--glow);border-bottom:1px dashed color-mix(in srgb, var(--glow) 55%, transparent);text-shadow:0 0 18px color-mix(in srgb, var(--glow) 45%, transparent);text-decoration:none;transition:border-color .2s,text-shadow .2s}.inline-link:hover,.inline-link:focus-visible{border-bottom-color:var(--glow);text-shadow:0 0 10px var(--glow)}.stratum{z-index:2;width:min(52ch,46vw);position:absolute;left:21%}.stratum h2{font-family:var(--mono);letter-spacing:.1em;text-transform:lowercase;color:var(--glow);text-shadow:0 0 26px color-mix(in srgb, var(--glow) 55%, transparent);margin:0 0 .35rem;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:700}.depthtag{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin:0 0 1.1rem;font-size:.72rem}.stratum p:not(.depthtag){color:var(--ink);text-shadow:0 2px 22px #000c1ea6;margin:0 0 .9rem;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.65}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.stratum,.floor h2,.floor p{animation:linear both surface-in;animation-timeline:view();animation-range:entry 5% cover 32%}}}@keyframes surface-in{0%{opacity:0;filter:blur(6px);transform:translateY(26px)}to{opacity:1;filter:none;transform:none}}.creature{z-index:1;font-family:var(--mono);white-space:pre;color:color-mix(in srgb, var(--glow) 70%, white);opacity:.55;text-shadow:0 0 14px color-mix(in srgb, var(--glow) 50%, transparent);margin:0;line-height:1.15;animation-name:swim;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}@keyframes swim{0%{transform:translate(0,0)}to{transform:translate(18vw,-3vh)}}.bubble{z-index:2;background:radial-gradient(circle at 30% 30%,#ffffff8c,#ffffff0d 60%,#0000);border:1px solid #fff6;border-radius:50%;animation-name:rise;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}@keyframes rise{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.75}90%{opacity:.5}to{opacity:0;transform:translateY(-46vh)translate(14px)}}.floor{z-index:2;text-align:center;padding:0 6vw 7vh;position:absolute;bottom:0;left:0;right:0}.floor h2{font-family:var(--mono);letter-spacing:.12em;text-transform:lowercase;color:var(--glow);text-shadow:0 0 30px color-mix(in srgb, var(--glow) 60%, transparent);margin:0 0 1rem;font-size:clamp(1.4rem,3vw,2.2rem)}.floor p{max-width:58ch;margin:0 auto .9rem;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.65}.wreck{font-family:var(--mono);white-space:pre;color:color-mix(in srgb, var(--glow) 45%, #7fa9c0);text-shadow:0 0 18px color-mix(in srgb, var(--glow) 35%, transparent);margin:2.5rem 0 0;font-size:min(2.2vw,20px);line-height:1.1;overflow-x:hidden}.gauge{z-index:6;pointer-events:none;font-family:var(--mono);letter-spacing:.18em;color:var(--glow);text-shadow:0 0 14px color-mix(in srgb, var(--glow) 50%, transparent);opacity:clamp(0, calc(var(--t) * 12), .8);font-size:.75rem;transition:opacity .3s;position:fixed;bottom:16px;right:18px}@media (max-width:819px){:root{--line-x:9%}.stratum{width:72vw;left:22%}.tagline{letter-spacing:.2em;font-size:.72rem}.label{white-space:normal;max-width:62vw}.gauge{bottom:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
