:root{--bg:#0e1114;--text:#f3efe4;--muted:#d4c7a8;--accent:#ff8f1f;--accent-strong:#ff6800;--panel:#0d1214a8;--border:#f3efe42e;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}body{background:radial-gradient(circle at 20% 20%,#1d2b30 0%,#0e1114 55%,#07090c 100%);margin:0}#app{min-height:100svh}.desktop-only{place-items:center;min-height:100svh;padding:24px;display:grid}.desktop-only__card{border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(145deg,#ff8f1f29,#11191dd1);border-radius:20px;gap:14px;width:min(560px,100%);padding:clamp(24px,5vw,42px);display:grid}.desktop-only__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}.desktop-only h1{font-size:clamp(1.8rem,5vw,3rem);line-height:1.08}.desktop-only p{color:#efe7d4;max-width:45ch}h1,h2,p{margin:0}.home-page{place-items:center;min-height:100svh;padding:24px;display:grid}.home-page__card{border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(145deg,#ff8f1f2e,#11191dcc);border-radius:20px;gap:20px;width:min(760px,100%);padding:clamp(24px,5vw,52px);display:grid}.home-page__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}.home-page h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.home-page p{color:#efe7d4;max-width:52ch}.primary-button,.ghost-button{letter-spacing:.02em;border-radius:999px;width:fit-content;font-weight:700;text-decoration:none;transition:transform .2s,background-color .2s,color .2s}.primary-button{color:#121212;background:linear-gradient(90deg, var(--accent), var(--accent-strong));margin-top:12px;padding:14px 24px}.primary-button:hover{transform:translateY(-2px)}.crawl-page{isolation:isolate;min-height:100svh;position:relative}.crawl-page:before{content:"";z-index:0;pointer-events:none;background-image:url(/riverwater.png);background-position:50%;background-size:cover;position:fixed;inset:0}.crawl-page__header{z-index:20;background:linear-gradient(#06080ad9,#06080a00);justify-content:space-between;align-items:center;padding:14px clamp(16px,3vw,32px);display:flex;position:fixed;top:0;left:0;right:0}.crawl-page__header h1{letter-spacing:.03em;font-size:clamp(1rem,2.3vw,1.4rem)}.ghost-button{border:1px solid var(--border);color:var(--text);background:#0e111480;padding:10px 16px}.ghost-button:hover{background:#ff8f1f40}.crawl-stage{z-index:1;width:100%;height:100svh;position:relative;overflow:hidden}.bg-layer{will-change:background-position;background-image:url(/riverbedrocks.png);background-position:0;background-repeat:repeat-x;width:100%;position:absolute;inset:0}.bg-layer--near{opacity:1;filter:saturate(105%)contrast(108%);background-size:auto 120%}.crawl-stage:after{content:"";pointer-events:none;position:absolute;inset:0}.walker-layer{z-index:3;pointer-events:none;position:absolute;bottom:clamp(12px,7vh,52px);left:10vw}.walker-sprite{filter:drop-shadow(0 10px 10px #00000073);transform-origin:42% 55%;width:clamp(536px,52vw,795px);height:auto;animation:2.6s ease-in-out infinite fish-swim-bob;display:block}@keyframes fish-swim-bob{0%,to{transform:translateY(0)rotate(-.7deg)}50%{transform:translateY(8px)rotate(.7deg)}}.checkpoint-panel{z-index:6;border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#263f49d1;border-radius:18px;gap:14px;width:40vw;height:max-content;padding:clamp(18px,2.5vw,28px);display:grid;position:absolute;bottom:clamp(24px,12vh,110px);right:clamp(16px,4vw,72px);transform:translate(24px)}.checkpoint-panel__eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.checkpoint-panel p{color:#efe7d4}.checkpoint-panel__button{cursor:pointer;border:none;margin-top:4px}.text-body{font-size:clamp(1rem,2vw,1.25rem);line-height:1.625}.text-body-lg{font-size:clamp(1.25rem,2.5vw,1.5rem);line-height:1.625}@media (width<=900px){.walker-layer{bottom:clamp(8px,5vh,28px);left:8vw}.walker-sprite{width:clamp(156px,44vw,256px)}.checkpoint-panel{width:auto;bottom:24px;left:16px;right:16px}}.fillerpanel1{width:100%;height:20vh}.swim-page{isolation:isolate;min-height:100svh;position:relative}.swim-page__header{z-index:20;background:linear-gradient(#06080ad9,#06080a00);justify-content:space-between;align-items:center;padding:14px clamp(16px,3vw,32px);display:flex;position:fixed;top:0;left:0;right:0}.swim-page__header h1{letter-spacing:.03em;font-size:clamp(1rem,2.3vw,1.4rem)}.swim-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh;display:grid}.swim-stage{background-image:url(/riverbottom1.png);background-position:50% 0;background-repeat:repeat-y;background-size:120%;border-right:1px solid #f3efe429;height:100svh;position:sticky;top:0;overflow:hidden}.swim-stage:after{content:"";pointer-events:none;background:linear-gradient(#070b0e2e 0%,#070b0e66 100%);position:absolute;inset:0}.swim-sprite{z-index:2;filter:drop-shadow(0 14px 16px #00000073);width:clamp(196px,172.273px + 6.5909vw,254px);height:auto;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.swim-scroll-track{background:linear-gradient(#0a0e12e0 0%,#0b1217eb 100%);gap:0;display:grid;position:relative}.swim-info-panel{border-bottom:1px solid #f3efe424;align-content:center;gap:16px;min-height:100svh;padding:clamp(84px,10vh,120px) clamp(24px,5vw,68px) clamp(36px,8vh,96px);display:grid}.swim-info-panel__eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.swim-info-panel h2{font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.1}.swim-info-panel p{max-width:30ch}.swim-scroll-extension{min-height:300svh}@media (width<=1200px){.swim-layout{grid-template-columns:1fr}.swim-stage{border-bottom:1px solid #f3efe429;border-right:none}.swim-scroll-track{background:#0a0e12eb}}
