html{scroll-behavior:smooth}html.lenis.lenis-smooth{scroll-behavior:auto!important}html,body{margin:0}body{color:#faf9f5;-webkit-font-smoothing:antialiased;background:#060605;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.net-canvas{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.grain-overlay{z-index:9999;pointer-events:none;opacity:.04;filter:url(#grainFilter);mix-blend-mode:overlay;position:fixed;inset:0}.vignette-overlay{z-index:9998;pointer-events:none;background:radial-gradient(#0000 50%,#00000073 100%);position:fixed;inset:0}.splash-hero{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:24px;display:flex;position:relative}.splash-hero:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(1000px 700px at 50% 35%,#ffffff09 0%,#0000 55%);position:absolute;inset:0}.grid-canvas{pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#26251f 1px,#0000 1px),linear-gradient(#26251f 1px,#0000 1px);background-size:50px 50px;width:100%;height:100%;position:absolute;inset:0;mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.particle-canvas{z-index:1;user-select:none;cursor:default;filter:drop-shadow(0 0 24px #f0a87814);max-width:calc(100vw - 32px);height:auto;display:block;position:relative}.hero-typed{z-index:1;letter-spacing:.02em;color:#b8b4a7;min-height:24px;margin:4px 0 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(12px,1.6vw,15px);position:relative}.hero-typed .typed-prompt{color:#7a9a7e;margin-right:8px}.hero-typed .typed-caret{vertical-align:-2px;background:#7a9a7e;width:8px;height:15px;margin-left:2px;animation:1.05s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.hero-scrollhint{z-index:1;color:#6f6c63;letter-spacing:.22em;text-transform:uppercase;flex-direction:column;align-items:center;gap:6px;font-size:11px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero-scrollhint:after{content:"";background:linear-gradient(#6f6c63,#0000);width:1px;height:34px;animation:1.8s ease-in-out infinite hint-drop}@keyframes hint-drop{0%{transform-origin:top;transform:scaleY(0)}55%{transform-origin:top;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.reveal-section{z-index:1;justify-content:center;align-items:center;min-height:70vh;margin-top:-6vh;padding:48px 24px;display:flex;position:relative}.sr-wrap{will-change:transform;max-width:1040px;margin:0 auto;transform:rotate(0)}.sr-text{letter-spacing:-.015em;text-align:center;color:#faf9f5;margin:0;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:clamp(30px,5.6vw,62px);font-weight:480;line-height:1.28}.sr-text em{color:#7a9a7e;font-style:italic}.sr-word{opacity:.1;filter:blur(4px);transition:opacity .8s,filter .8s,transform .8s cubic-bezier(.34,1.3,.64,1);display:inline-block;transform:translateY(20px)}.sr-wrap.in .sr-word{opacity:1;filter:blur();transform:translateY(0)}.term-section{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:90vh;padding:48px 24px;display:flex;position:relative}.term-kicker{letter-spacing:.24em;text-transform:uppercase;color:#6f6c63;margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.term-window{background:linear-gradient(#171613 0%,#121110 100%);border:1px solid #ffffff17;border-radius:12px;width:min(720px,100vw - 40px);overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 24px 60px #0000008c,0 0 60px #e0834f0a}.term-bar{background:#ffffff08;border-bottom:1px solid #ffffff0f;align-items:center;gap:7px;padding:11px 14px;display:flex}.term-bar i{background:#3a3833;border-radius:50%;width:11px;height:11px}.term-bar i:first-child{background:#5a7d5e}.term-bar i:nth-child(2){background:#6b8c6a}.term-bar i:nth-child(3){background:#4f6b45}.term-title{color:#8c8a84;margin-left:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.term-body{color:#d8d5ca;white-space:pre-wrap;word-break:break-all;min-height:300px;padding:16px 18px 20px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.75}.term-body .t-prompt{color:#7a9a7e;font-weight:600}.term-body .t-cmd{color:#faf9f5}.term-body .t-out{color:#8c8a84}.term-body .t-ok{color:#9db98a}.term-body .t-caret{vertical-align:-2px;background:#d8d5ca;width:7px;height:14px;animation:1.05s step-end infinite caret-blink;display:inline-block}.sp3d-section{z-index:1;height:220vh;position:relative}.sp3d-sticky{justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden;mask-image:linear-gradient(#0000 0%,#000 20% 72%,#0000 100%)}.rp-viewport{perspective:200px;transform-style:preserve-3d;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;mask-image:linear-gradient(#0000 0%,#000 20% 72%,#0000 100%)}.rp-text{text-align:center;letter-spacing:-.01em;width:100%;max-width:64rem;color:var(--fg,#faf9f5);white-space:normal;transform-style:preserve-3d;will-change:transform;text-shadow:0 0 30px #ffffff1f;margin:0;padding:0 24px;font-family:Fraunces,Georgia,serif;font-size:clamp(26px,5vw,48px);font-weight:500;line-height:1.35;transform:rotateX(30deg)translateY(0)translateZ(10px)}.rp-text strong{color:#7a9a7e;font-weight:600}.slide-section{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:80px 24px 140px;display:flex;position:relative}.slide-heading{letter-spacing:-.015em;color:#faf9f5;text-align:center;text-shadow:0 0 30px #ffffff1f;margin:0 0 24px;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:clamp(26px,4vw,40px);font-weight:480}.slide-to-confirm{user-select:none;touch-action:none;cursor:default;background:linear-gradient(#2c2a27 0%,#211f1c 55%,#1a1916 100%);border:1px solid #ffffff24;border-radius:999px;width:320px;height:56px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,inset 0 -8px 16px #00000059,0 12px 32px #00000080,0 0 44px #e0834f12}.slide-to-confirm:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#0000 25%,#ffffff0f 45%,#ffffff1c 50%,#ffffff0f 55%,#0000 75%) 0 0/250% 100%;animation:5.5s ease-in-out infinite stc-shimmer;position:absolute;inset:0}@keyframes stc-shimmer{0%,50%{background-position:135% 0}85%,to{background-position:-135% 0}}.stc-fill{pointer-events:none;background:linear-gradient(90deg,#e0834f1a,#e0834f38);border-radius:999px;width:56px;transition:width .2s;position:absolute;top:0;bottom:0;left:0;box-shadow:inset 0 1px #ffffff14,0 0 18px #e0834f24}.stc-text{letter-spacing:.06em;text-transform:uppercase;color:#a8a59c;text-shadow:0 1px 2px #0009;pointer-events:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex;position:absolute;inset:0}.stc-text:after{content:"→";font-size:13px;animation:1.8s ease-in-out infinite stc-nudge}@keyframes stc-nudge{0%,to{opacity:.45;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.stc-success{letter-spacing:.06em;text-transform:uppercase;color:#9db98a;text-shadow:0 0 18px #f0a87880;opacity:0;pointer-events:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;position:absolute;inset:0}.stc-thumb{cursor:grab;touch-action:none;will-change:transform;background:linear-gradient(#fdfcf8 0%,#efece1 55%,#e0dccf 100%);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;animation:2.6s ease-in-out infinite stc-thumb-glow;display:flex;position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #0000008c,inset 0 0 0 1px #ffffff24}@keyframes stc-thumb-glow{0%,to{box-shadow:0 2px 8px #0000008c,inset 0 0 0 1px #ffffff24,0 0 #e0834f00}50%{box-shadow:0 2px 8px #0000008c,inset 0 0 0 1px #fff3,0 0 24px #e0834f80}}.stc-thumb.dragging{cursor:grabbing;animation:none;box-shadow:0 4px 18px #0009,inset 0 0 0 1px #ffffff40,0 0 30px #e0834f66}.stc-thumb .stc-arrow{color:#1a1915;filter:drop-shadow(0 1px 1px #ffffff59);width:20px;height:20px}.stc-thumb .stc-check{color:#fff;width:20px;height:20px;display:none}.stc-thumb.success{background:linear-gradient(#7a9a7e 0%,#5a7d5e 100%);animation:none;box-shadow:0 2px 10px #00000080,0 0 28px #b8502e8c}.stc-spinner{border:2px solid #1a191533;border-top-color:#1a1915;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite stc-spin;display:none}@keyframes stc-spin{to{transform:rotate(360deg)}}@media (width<=420px){.slide-to-confirm{width:min(320px,100vw - 48px)}}.splash-interlude{z-index:9999;color:#fff;background:#000;display:none;position:fixed;inset:0}.hw-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.hw-svg{width:100%;height:100%;position:absolute;inset:0}.hw-path{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;transition:stroke-dashoffset 1.3s cubic-bezier(.43,.13,.23,.96),opacity .3s}.splash-interlude.draw .hw-path{opacity:1;stroke-dashoffset:0}.hw-texts{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hw-title{letter-spacing:-.02em;opacity:0;margin:0 0 12px;font-family:Fraunces,Georgia,serif;font-size:clamp(28px,5vw,54px);font-weight:600;transition:opacity .5s .2s,transform .5s .2s;transform:translateY(16px)}.splash-interlude.show-text .hw-title{opacity:1;transform:translateY(0)}.hw-sub{opacity:0;color:#ffffffb3;font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px;transition:opacity .5s .5s}.splash-interlude.show-text .hw-sub{opacity:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sr-word{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.rp-text{transform:rotateX(30deg)translateY(-40px)translateZ(10px)!important}.slide-to-confirm:before,.stc-text:after,.stc-thumb,.hero-scrollhint:after,.hero-typed .typed-caret,.term-body .t-caret{animation:none!important}.hw-path{transition:opacity .2s}.hw-title,.hw-sub{transition:opacity .2s;transform:none}}.ascii-magic-wrap{mix-blend-mode:screen;pointer-events:none;z-index:2;border-radius:14px;width:300px;overflow:hidden}.ascii-magic{object-fit:cover;width:100%;height:100%}@keyframes asciiFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(1.5deg)}}@media (prefers-reduced-motion:reduce){.ascii-magic-wrap{animation:none}}
