.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--font-display: "Inter", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--tracking-widest: .15em;--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.8;--section-header-gap: 1.5rem;--cmyk-cyan: #00ffff;--cmyk-magenta: #ff00ff;--cmyk-yellow: #ffff00;--bg-white: #fdfdfd;--text-black: #1a1a1a;--text-dark: #0a0a0a;--text-muted: #6b7280;--off-cx: -2px;--off-cy: -1px;--off-mx: 2px;--off-my: 1px;--off-yx: 2px;--off-yy: 6px}body{font-family:var(--font-body);background-color:var(--bg-white);color:var(--text-black);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:var(--leading-relaxed)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.brutalist-headline{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tighter);line-height:var(--leading-tight);color:var(--text-dark)}.brutalist-subheadline{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.tech-label{font-family:var(--font-mono);font-weight:var(--weight-regular);letter-spacing:var(--tracking-wide);text-transform:uppercase}.brutalist-tagline{font-family:var(--font-body);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase}.section-header{margin-bottom:var(--section-header-gap)}.stamp-effect{filter:url(#distress-filter);display:inline-block}.ink-texture{position:relative}.ink-texture:after{content:"";position:absolute;inset:0;background-image:url(https://www.transparenttextures.com/patterns/asfalt-light.png);opacity:.1;mix-blend-mode:overlay;pointer-events:none}.scroll-progress-bar{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,#0ff,#f0f,#ff0);z-index:9999;transition:width .1s ease-out;box-shadow:0 0 10px #00ffff80}.paper-grain{display:none}.dot-footer{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;margin-top:auto;padding-bottom:20px}.dot-row{display:flex;justify-content:center}.dot{width:4px;height:4px;border-radius:50%;transition:transform .6s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00e5ff}@keyframes breathe-cyan{0%,to{opacity:.7}50%{opacity:.95}}@keyframes breathe-magenta{0%,to{opacity:.7}50%{opacity:.95}}@keyframes breathe-yellow{0%,to{opacity:.15}50%{opacity:.25}}@keyframes exclamation-dance{0%,to{transform:rotate(5deg) scale(1)}25%{transform:rotate(3deg) scale(1.05)}50%{transform:rotate(7deg) scale(1.08)}75%{transform:rotate(4deg) scale(1.05)}}@keyframes title-flicker{0%,to{transform:translate(0);filter:brightness(1) drop-shadow(0 0 8px rgba(255,255,255,.9)) drop-shadow(0 0 16px rgba(255,255,255,.6))}25%{transform:translate(-.5px,.3px);filter:brightness(1.02) drop-shadow(0 0 10px rgba(255,255,255,.95)) drop-shadow(0 0 18px rgba(255,255,255,.65))}50%{transform:translate(.5px,-.3px);filter:brightness(.98) drop-shadow(0 0 6px rgba(255,255,255,.85)) drop-shadow(0 0 14px rgba(255,255,255,.55))}75%{transform:translate(-.3px,-.2px);filter:brightness(1.01) drop-shadow(0 0 8px rgba(255,255,255,.9)) drop-shadow(0 0 16px rgba(255,255,255,.6))}}.title-flicker{animation:title-flicker .4s ease-in-out infinite}@keyframes gentle-sway{0%,to{transform:rotate(-.5deg) translateY(0)}50%{transform:rotate(.5deg) translateY(-2px)}}.profile-sway{animation:gentle-sway 8s ease-in-out infinite;filter:drop-shadow(-2px -1px 0 rgba(0,255,255,.3)) drop-shadow(2px 1px 0 rgba(255,0,255,.3)) drop-shadow(0 3px 0 rgba(255,255,0,.25)) drop-shadow(0 4px 12px rgba(0,0,0,.08)) drop-shadow(0 2px 4px rgba(0,0,0,.05))}.profile-fade{mask-image:linear-gradient(to bottom,black 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 70%,transparent 100%)}.profile-fade-edges{-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%),linear-gradient(to right,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,black 60%,transparent 100%),linear-gradient(to right,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-composite:source-in,xor;mask-composite:intersect}@keyframes float-gentle{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}.animate-float-gentle{animation:float-gentle 4s ease-in-out infinite}@keyframes sway-gentle{0%,to{transform:rotate(-.3deg)}50%{transform:rotate(.3deg)}}.animate-sway-gentle{animation:sway-gentle 6s ease-in-out infinite}@keyframes drift{0%{transform:translate(0)}to{transform:translate(40px,20px)}}.color-block{position:absolute;z-index:-1;mix-blend-mode:multiply;opacity:.08;filter:blur(80px);animation:drift 30s ease-in-out infinite alternate}@keyframes revealUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:revealUp .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-float{animation:float 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes lift{0%,to{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(2px)}}.animate-lift{animation:lift 3s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-2px)}}.animate-shake{animation:shake 3s ease-in-out infinite}@keyframes power{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.9}}.animate-power{animation:power 2.5s ease-in-out infinite}@keyframes tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.animate-tilt{animation:tilt 4s ease-in-out infinite}@keyframes fire-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(255,107,53,.3))}50%{transform:scale(1.1);filter:drop-shadow(0 0 16px #ff6b35)}}.streak-fire{animation:fire-pulse 2s ease-in-out infinite}@keyframes today-pulse{0%,to{border-color:var(--cmyk-magenta)}50%{border-color:var(--cmyk-cyan)}}@keyframes crt-flicker{0%,to{filter:brightness(1)}25%{filter:brightness(1.03)}50%{filter:brightness(.97)}75%{filter:brightness(1.02)}}@keyframes crt-color-shift-grayscale{0%,to{filter:grayscale(100%) drop-shadow(-2px -1px 0 rgba(0,200,220,.25)) drop-shadow(2px 1px 0 rgba(180,100,160,.2)) drop-shadow(0 2px 0 rgba(200,200,0,.15))}50%{filter:grayscale(100%) drop-shadow(-3px -1px 0 rgba(0,220,240,.3)) drop-shadow(2px 1px 0 rgba(200,80,180,.25)) drop-shadow(0 3px 0 rgba(220,220,0,.2))}}@keyframes crt-color-shift{0%,to{filter:drop-shadow(-3px -1px 0 rgba(0,200,220,.4)) drop-shadow(3px 1px 0 rgba(180,100,160,.35)) drop-shadow(0 2px 0 rgba(200,200,0,.2))}50%{filter:drop-shadow(-4px -1px 0 rgba(0,220,240,.45)) drop-shadow(2px 1px 0 rgba(200,80,180,.4)) drop-shadow(0 3px 0 rgba(220,220,0,.25))}}@keyframes punch{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.5) rotate(0)}to{transform:scale(1.25) rotate(3deg)}}@keyframes header-bubble-enter{0%{opacity:0;transform:translateY(-20px) scale(.85);filter:blur(2px)}to{opacity:.8;transform:translateY(0) scale(1);filter:blur(.3px)}}@keyframes bubble-float-back{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(.3deg)}}@keyframes header-portrait-enter{0%{opacity:0;transform:translateY(15px) scale(.97);filter:blur(2px)}to{opacity:.9;transform:translateY(0) scale(1);filter:blur(.4px)}}@keyframes header-name-enter{0%{opacity:0;transform:translate(-50px) scale(1.05)}60%{opacity:1;transform:translate(5px) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes header-tagline-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.header-speech-bubble{opacity:0;animation:header-bubble-enter 1.4s cubic-bezier(.25,.46,.45,.94) 0s forwards,bubble-float-back 6s ease-in-out 1.6s infinite}.header-portrait{opacity:0;animation:header-portrait-enter 1.2s cubic-bezier(.25,.46,.45,.94) .2s forwards}.header-name{opacity:0;animation:header-name-enter .9s cubic-bezier(.34,1.56,.64,1) .6s forwards}.header-tagline{opacity:0;animation:header-tagline-enter .8s cubic-bezier(.25,.46,.45,.94) 1.2s forwards}@media(prefers-reduced-motion:reduce){.header-portrait,.header-speech-bubble,.header-name,.header-tagline{opacity:1;animation:none;transform:none;filter:none}}@keyframes header-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.header-animate-slide-up{opacity:0;animation:header-slide-up .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes header-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.header-animate-fade-in{opacity:0;animation:header-fade-in 1s cubic-bezier(.16,1,.3,1) forwards}.header-animate-delay-1{animation-delay:.2s}.header-animate-delay-2{animation-delay:.4s}.header-animate-delay-3{animation-delay:.6s}@keyframes header-bubble-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.header-bubble-float{animation:header-fade-in 1s cubic-bezier(.16,1,.3,1) forwards,header-bubble-float 5s ease-in-out 1s infinite}@keyframes header-bubble-push{0%,to{transform:rotate(-8deg) translateY(0) scale(1)}15%{transform:rotate(-6deg) translateY(-6px) scale(1.05)}30%{transform:rotate(-10deg) translateY(2px) scale(.98)}45%{transform:rotate(-7deg) translateY(-3px) scale(1.02)}60%{transform:rotate(-9deg) translateY(0) scale(1)}}.header-bubble-push{animation:header-fade-in .8s cubic-bezier(.16,1,.3,1) forwards,header-bubble-push 4s ease-in-out 1.2s infinite}@keyframes header-portrait-sway{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}.header-portrait-sway{animation:header-fade-in 1s cubic-bezier(.16,1,.3,1) forwards,header-portrait-sway 8s ease-in-out 1s infinite}@media(prefers-reduced-motion:reduce){.header-animate-slide-up,.header-animate-fade-in,.header-bubble-float,.header-portrait-sway{opacity:1;animation:none;transform:none}}.nav-mark{position:relative;background:transparent;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:10;display:flex;align-items:center;justify-content:center}.nav-mark:before,.nav-mark:after,.nav-mark .yellow-indicator{content:"";position:absolute;inset:-1px;z-index:-1;opacity:0;transition:all .3s ease;mix-blend-mode:multiply;border:1px solid transparent}.nav-mark:before{border-color:var(--cmyk-cyan)}.nav-mark:after{border-color:var(--cmyk-magenta)}.nav-mark .yellow-indicator{border-color:var(--cmyk-yellow)}.nav-mark:hover:before,.nav-mark.is-active:before{opacity:.8;transform:translate(-3px,-1px)}.nav-mark:hover:after,.nav-mark.is-active:after{opacity:.8;transform:translate(3px,1px)}.nav-mark:hover .yellow-indicator,.nav-mark.is-active .yellow-indicator{opacity:.8;transform:translateY(3px)}.nav-mark.is-active{font-weight:800;border-color:var(--text-black)}.chromatic-press{position:relative;display:inline-block;line-height:.85;cursor:crosshair;color:var(--text-black);letter-spacing:-.06em;word-spacing:-.5em;white-space:nowrap;filter:drop-shadow(0 0 8px rgba(255,255,255,.9)) drop-shadow(0 0 16px rgba(255,255,255,.6))}.chromatic-press:before,.chromatic-press:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s ease}.chromatic-press .yellow-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s ease}.chromatic-press.is-hovering:before,.chromatic-press.is-hovering:after,.chromatic-press.is-hovering .yellow-layer{transition:transform .1s ease-out}.chromatic-press:before{opacity:.4;color:#0ff;transform:translate(var(--off-cx, -2px),var(--off-cy, -1px));z-index:-1;text-shadow:0 0 2px #00ffff}.chromatic-press:after{opacity:.4;color:#f0f;transform:translate(var(--off-mx, 2px),var(--off-my, 1px));z-index:-2;text-shadow:0 0 2px #ff00ff}.chromatic-press .yellow-layer{opacity:.2;color:#ff0;transform:translate(var(--off-yx, 0px),var(--off-yy, 1px));z-index:-3;display:block;mix-blend-mode:normal;text-shadow:none}.chromatic-press:not(.is-hovering):before{animation:breathe-cyan 3s ease-in-out infinite}.chromatic-press:not(.is-hovering):after{animation:breathe-magenta 3.5s ease-in-out infinite;animation-delay:.4s}.chromatic-press:not(.is-hovering) .yellow-layer{animation:breathe-yellow 4s ease-in-out infinite;animation-delay:.8s}.chromatic-press.exclamation-mark:not(.is-hovering){animation:exclamation-dance 3s ease-in-out infinite}.header-fusion{min-height:200px}.header-massive{font-size:clamp(4rem,18vw,14rem);line-height:.85;display:block}.header-name-back{transform:translate(-15%,10%)}.header-name-back .header-massive{-webkit-text-stroke:1px rgba(0,0,0,.08);color:transparent;background:linear-gradient(135deg,#00e5ff26,#ff00ff1a);-webkit-background-clip:text;background-clip:text}.header-name-front{transform:translate(-5%,25%);mix-blend-mode:multiply}.header-name-front .header-massive{mask-image:linear-gradient(to right,black 0%,black 25%,transparent 40%,transparent 60%,black 75%,black 100%);-webkit-mask-image:linear-gradient(to right,black 0%,black 25%,transparent 40%,transparent 60%,black 75%,black 100%)}.header-portrait{position:relative;z-index:15}.pencil-texture{color:#2a2a2a!important;text-shadow:.5px 0 0 rgba(40,40,40,.6),-.5px 0 0 rgba(50,50,50,.5),0 .5px 0 rgba(45,45,45,.55),0 -.5px 0 rgba(55,55,55,.4),1px .5px 0 rgba(60,60,60,.25),-1px -.5px 0 rgba(65,65,65,.2),.5px 1px 0 rgba(55,55,55,.22),-.5px -1px 0 rgba(70,70,70,.15),0 0 3px rgba(255,255,255,.4)!important;filter:url(#pencil-filter)!important}.chromatic-press-small{opacity:.7;filter:blur(.3px)}.chromatic-press-hero.pencil-texture{filter:url(#pencil-filter) drop-shadow(4px 6px 8px rgba(0,0,0,.25))!important}@media(min-width:1281px){.chromatic-press{font-size:130px}}@media(max-width:1280px){.chromatic-press{font-size:10vw}}@media(max-width:1024px){.chromatic-press{font-size:9.5vw}}@media(max-width:768px){.chromatic-press{font-size:11vw;word-spacing:-.3em}}@media(min-width:1281px){.chromatic-press-hero{font-size:180px}}@media(max-width:1280px){.chromatic-press-hero{font-size:15vw}}@media(max-width:1024px){.chromatic-press-hero{font-size:14vw}}@media(max-width:768px){.chromatic-press-hero{font-size:13vw}}@media(min-width:1281px){.chromatic-press-small{font-size:40px}}@media(max-width:1280px){.chromatic-press-small{font-size:3vw}}@media(max-width:1024px){.chromatic-press-small{font-size:2.8vw}}@media(max-width:768px){.chromatic-press-small{font-size:2.8vw}}@media(max-width:640px){.header-fusion{min-height:150px}.header-name-back{transform:translate(-10%,5%)}.header-name-front{transform:translateY(15%)}.header-name-front .header-massive{mask-image:linear-gradient(to right,black 0%,black 15%,transparent 35%,transparent 65%,black 85%,black 100%);-webkit-mask-image:linear-gradient(to right,black 0%,black 15%,transparent 35%,transparent 65%,black 85%,black 100%)}}.pencil-header-banner{position:relative;background-color:#f5f5f3;background-image:url(/pencil-hatch.svg);background-size:100px 100px;border-radius:4px;box-shadow:inset 0 0 30px #00000014,0 4px 20px #0000001a;overflow:visible}.pencil-header-banner:before{content:"";position:absolute;inset:0;border:2px solid rgba(80,80,80,.15);border-radius:4px;pointer-events:none}.pencil-header-banner:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 10%,transparent 20%,rgba(0,0,0,.08) 35%,transparent 45%,rgba(0,0,0,.06) 60%,transparent 70%,rgba(0,0,0,.07) 85%,transparent 100%)}.steffen-cutout{position:relative;font-size:clamp(3rem,12vw,10rem);font-weight:800;letter-spacing:-.02em;color:transparent;background:url(/pencil-hatch.svg);background-size:100px 100px;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(3px 4px 6px rgba(0,0,0,.2))}.steffen-embossed{position:relative;font-size:clamp(3rem,12vw,10rem);font-weight:800;letter-spacing:-.02em;color:#f5f5f3;text-shadow:-1px -1px 0 rgba(255,255,255,.8),2px 2px 4px rgba(0,0,0,.3),4px 6px 12px rgba(0,0,0,.2)}.steffen-masked{position:relative;display:inline-block}.steffen-masked-bg{position:absolute;inset:0;background:url(/pencil-hatch.svg);background-size:80px 80px;background-color:#e8e8e6;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='0' y='80%25' font-family='system-ui, sans-serif' font-size='120' font-weight='800'%3ESTEFFEN%3C/text%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='0' y='80%25' font-family='system-ui, sans-serif' font-size='120' font-weight='800'%3ESTEFFEN%3C/text%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pencil-fade-in{opacity:0;animation:pencil-reveal 1s ease-out forwards}.pencil-fade-in-delay-1{animation-delay:.2s}.pencil-fade-in-delay-2{animation-delay:.5s}.pencil-fade-in-delay-3{animation-delay:.8s}.pencil-fade-in-delay-4{animation-delay:1.1s}@keyframes pencil-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.graph-paper-header{position:relative}.graph-paper-header:before{content:"";position:absolute;inset:0;background-image:url(/graph-paper.svg);background-size:24px 24px;background-repeat:repeat;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 95%);mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 95%);pointer-events:none;z-index:1}.graph-paper-header>*{position:relative;z-index:2}.steffen-graph{position:relative;font-size:clamp(3rem,12vw,10rem);font-weight:800;letter-spacing:-.02em;color:#2a2a28;text-shadow:1px 1px 0 rgba(255,255,255,.5),3px 4px 8px rgba(0,0,0,.15)}.portrait-chroma-static{filter:drop-shadow(-12px 0 0 rgba(0,229,255,.6)) drop-shadow(12px 0 0 rgba(255,0,255,.6)) drop-shadow(0 -8px 0 rgba(255,204,0,.5))!important}.illustration-inner{transform:scale(1);transition:transform .15s ease-out,filter .3s ease}@media(hover:hover){.illustration-inner{will-change:transform,filter}}.illustration-inner img{filter:grayscale(100%) drop-shadow(-1px 0 0 rgba(0,229,255,.1)) drop-shadow(1px 0 0 rgba(255,0,255,.08)) drop-shadow(0 -.5px 0 rgba(255,204,0,.06));transition:filter .3s ease}.scroll-peak{animation:crt-flicker .3s ease-in-out infinite}.scroll-peak img{filter:grayscale(100%) drop-shadow(-6px 0 0 rgba(0,229,255,.5)) drop-shadow(6px 0 0 rgba(255,0,255,.45)) drop-shadow(0 -4px 0 rgba(255,204,0,.35));animation:illustration-chroma-flicker .4s ease-in-out infinite}@media(hover:hover){.group:hover .illustration-inner{animation:crt-flicker .3s ease-in-out infinite}.group:hover .illustration-inner img{filter:grayscale(100%) drop-shadow(-6px 0 0 rgba(0,229,255,.5)) drop-shadow(6px 0 0 rgba(255,0,255,.45)) drop-shadow(0 -4px 0 rgba(255,204,0,.35));animation:illustration-chroma-flicker .4s ease-in-out infinite}}@keyframes illustration-chroma-flicker{0%,to{filter:grayscale(100%) drop-shadow(-6px 0 0 rgba(0,229,255,.5)) drop-shadow(6px 0 0 rgba(255,0,255,.45)) drop-shadow(0 -4px 0 rgba(255,204,0,.35))}25%{filter:grayscale(100%) drop-shadow(-8px 1px 0 rgba(0,229,255,.55)) drop-shadow(5px -1px 0 rgba(255,0,255,.5)) drop-shadow(1px -5px 0 rgba(255,204,0,.4))}50%{filter:grayscale(100%) drop-shadow(-5px -1px 0 rgba(0,229,255,.45)) drop-shadow(7px 0 0 rgba(255,0,255,.4)) drop-shadow(-1px -3px 0 rgba(255,204,0,.3))}75%{filter:grayscale(100%) drop-shadow(-7px 0 0 rgba(0,229,255,.52)) drop-shadow(6px 1px 0 rgba(255,0,255,.48)) drop-shadow(0 -5px 0 rgba(255,204,0,.38))}}.punch-effect--always-active{animation:crt-flicker .4s ease-in-out infinite}.punch-effect--always-active img{filter:drop-shadow(-3px -1px 0 rgba(0,200,220,.4)) drop-shadow(3px 1px 0 rgba(180,100,160,.35)) drop-shadow(0 2px 0 rgba(200,200,0,.2));animation:crt-color-shift .5s ease-in-out infinite}.illustration-shadow{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:60%;height:20px;background:radial-gradient(ellipse at center,rgba(0,0,0,.15) 0%,transparent 70%);filter:blur(8px);opacity:.6;transition:all .5s ease-out}.scroll-peak~.illustration-shadow,.illustration-inner.scroll-peak+.illustration-shadow{width:40%;height:12px;bottom:-30px;opacity:.3}.side-tab__strip{width:4px;height:36px;background-color:var(--strip-color);border:none;border-radius:2px 0 0 2px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;padding:0;box-shadow:0 0 8px color-mix(in srgb,var(--strip-color) 30%,transparent);animation:strip-peek .6s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(1.5s + var(--strip-index, 0) * .08s)}.side-tab__strip:nth-child(1){--strip-index: 0}.side-tab__strip:nth-child(2){--strip-index: 1}.side-tab__strip:nth-child(3){--strip-index: 2}.side-tab__strip:nth-child(4){--strip-index: 3}.side-tab__strip:nth-child(5){--strip-index: 4}.side-tab__strip:nth-child(6){--strip-index: 5}@keyframes strip-peek{0%{width:4px}40%{width:20px}to{width:4px}}.side-tab__strip:before{content:"";position:absolute;inset:-8px -20px -8px -16px}.side-tab__strip:hover{width:12px;box-shadow:0 0 12px color-mix(in srgb,var(--strip-color) 50%,transparent)}.side-tab__strip--active{width:8px;box-shadow:0 0 16px color-mix(in srgb,var(--strip-color) 60%,transparent)}.side-tab__strip--active:after{content:"";position:absolute;inset:-2px;border-radius:3px 0 0 3px;background:var(--strip-color);opacity:0;animation:strip-pulse 2s ease-in-out infinite}@keyframes strip-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.3;transform:scale(1.2)}}#side-menu{padding-right:env(safe-area-inset-right,0)}#side-menu.side-menu--closed{transform:translate(100%,-50%)}#side-menu.side-menu--open{transform:translateY(-50%)}.side-menu__link{display:flex;align-items:center;gap:8px;padding:10px 8px;text-decoration:none;color:#57534e;font-family:JetBrains Mono,monospace;font-weight:600;font-size:11px;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;transition:all .2s ease;opacity:0;transform:translate(20px)}.side-menu--open .side-menu__link{opacity:1;transform:translate(0);transition-delay:var(--stagger-delay)}.side-menu__link:hover{background:#0000000d;color:#1c1917}.side-menu__link--active{background:#00000014;color:#1c1917}.side-menu__indicator{width:4px;height:24px;border-radius:2px;flex-shrink:0;transition:all .2s ease}.side-menu__link--active .side-menu__indicator{width:6px;box-shadow:0 0 8px currentColor}.side-menu__number{color:var(--link-color);font-size:11px;font-weight:500;opacity:.7}.side-menu__label{flex:1}#side-menu-backdrop.backdrop--visible{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.side-tab__strip,.side-menu__link,#side-menu,#side-menu-backdrop{transition:none}.side-tab__strip--active:after{animation:none}.side-menu--open .side-menu__link{transition-delay:0ms}}#stat-tabs{top:0;pointer-events:none}#stat-tabs .stat-tab__strip{pointer-events:auto;cursor:pointer;position:fixed;right:0;background-color:#1c1917;border:none;border-radius:6px 0 0 6px;transition:width .5s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background-color .4s ease;padding:0 12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;box-shadow:-2px 0 8px #00000026;opacity:1;transform:translate(0);overflow:hidden;white-space:nowrap}.stat-tab__strip--im{width:56px}.stat-tab__strip--steffen{width:44px}#stat-tabs .stat-tab__strip--expanded{width:200px;background-color:#0c0a09;box-shadow:-8px 0 24px #00000059}@keyframes stat-strip-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.stat-tab__icon{width:18px;height:18px;stroke:#fff;opacity:.85;transition:all .3s ease;flex-shrink:0}.stat-tab__strip--expanded .stat-tab__icon{opacity:1;stroke:#00e5ff}.stat-tab__content{display:flex;flex-direction:column;opacity:0;transform:translate(20px);transition:opacity .4s ease .15s,transform .4s cubic-bezier(.22,1,.36,1) .15s;pointer-events:none}.stat-tab__strip--expanded .stat-tab__content{opacity:1;transform:translate(0);pointer-events:auto;transition-delay:.1s}.stat-tab__label{font-family:JetBrains Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;line-height:1.2}.stat-tab__value{font-family:Clash Display,sans-serif;font-size:13px;font-weight:600;color:#fff;line-height:1.2}.stat-tab__strip:before{content:"";position:absolute;inset:-8px 0 -8px -24px}.stat-tab__strip:hover:not(.stat-tab__strip--expanded){box-shadow:-4px 0 12px #00000040}.stat-tab__strip:hover .stat-tab__icon{opacity:1}.stat-tab__strip--active .stat-tab__icon{opacity:1;stroke:#00e5ff}#stat-popup{transform:translate(-10px) scale(.95)}#stat-popup.stat-popup--visible{opacity:1;pointer-events:auto;transform:translate(0) scale(1)}.stat-popup__card{--rotation: -1deg;transform:rotate(var(--rotation))}.stat-popup__card:nth-child(2){--rotation: .5deg}.stat-popup__card:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 200 200%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22noise%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23noise)%22/%3E%3C/svg%3E")}@media(prefers-reduced-motion:reduce){.stat-tab__strip,#stat-popup,.stat-popup__card{transition:none;animation:none}.stat-tab__strip{transform:translate(0);opacity:1}#stat-popup{transform:none}}@media(min-width:768px){#stat-tabs.stat-tabs-container{position:fixed;top:100px;right:0;transform:none;gap:8px;display:flex;flex-direction:column;z-index:100}#stat-tabs.stat-tabs-container .stat-tab__strip{position:relative!important;width:52px;height:52px;padding:0 14px;top:auto!important;transform:none!important;right:auto}#stat-tabs.stat-tabs-container .stat-tab__strip:not(.stat-tab__strip--strava):hover{width:220px;background-color:#0c0a09;box-shadow:-8px 0 24px #00000059}#stat-tabs.stat-tabs-container .stat-tab__strip:not(.stat-tab__strip--strava):hover .stat-tab__icon{opacity:1}#stat-tabs.stat-tabs-container .stat-tab__strip:not(.stat-tab__strip--strava):hover .stat-tab__content{opacity:1;transform:translate(0);pointer-events:auto}#stat-tabs .stat-tab__strip--cyan:hover .stat-tab__icon{stroke:#00e5ff!important}#stat-tabs .stat-tab__strip--magenta:hover .stat-tab__icon{stroke:#f0f!important}#stat-tabs .stat-tab__strip--yellow:hover .stat-tab__icon{stroke:#ff0!important}#stat-tabs .stat-tab__strip--dark:hover .stat-tab__icon{stroke:#fff!important}#stat-tabs .stat-tab__label{font-size:9px}#stat-tabs .stat-tab__value{font-size:14px}}.stat-tab__strip--cyan{border-left:3px solid #00e5ff}.stat-tab__strip--magenta{border-left:3px solid #ff00ff}.stat-tab__strip--yellow{border-left:3px solid #ffff00}.stat-tab__strip--dark{border-left:3px solid #666666}@media(max-width:767px){.stat-tabs-container{top:100px}.stat-tab__strip--cyan{width:56px}.stat-tab__strip--magenta,.stat-tab__strip--yellow,.stat-tab__strip--dark{width:44px}}.stat-tab__strip--strava{border-left:3px solid #00e5ff!important}.stat-tab__icon--strava{fill:#78716c;stroke:none!important;width:20px;height:20px}#stat-tabs .stat-tab__strip--strava:hover .stat-tab__icon--strava{fill:#00e5ff!important}@media(min-width:768px){.stat-tab__strip--strava{overflow:visible!important}.stat-tab__strip--strava:hover{width:52px!important;background-color:#1c1917!important;box-shadow:-4px 0 12px #00000040!important}.stat-tab__strip--strava:hover .stat-tab__icon--strava{fill:#00e5ff!important}.stat-tab__content--strava{position:absolute!important;display:flex!important;flex-direction:column!important;gap:12px!important;top:50%!important;right:calc(100% + 16px)!important;left:auto!important;width:280px!important;padding:16px 20px!important;background-color:#fdfdfd!important;border:1px solid #e7e5e4!important;border-radius:6px!important;box-shadow:0 4px 20px #00000026!important;z-index:9999!important;opacity:0!important;visibility:hidden!important;transform:translateY(-50%) translate(10px)!important;pointer-events:none!important;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s!important}.stat-tab__strip--strava.stat-tab__strip--expanded .stat-tab__content--strava{opacity:1!important;visibility:visible!important;transform:translateY(-50%) translate(0)!important;pointer-events:auto!important;transition:opacity .25s ease,transform .25s ease,visibility 0s!important}.stat-tab__strip--strava.stat-tab__strip--expanded .stat-tab__icon--strava{fill:#00e5ff!important}.stat-tab__strip--strava.stat-tab__strip--expanded .stat-tab__label{color:#78716c!important}}@media(max-width:767px){#stat-tab-focus,#stat-tab-insight{display:none!important}.stat-tab__strip{pointer-events:auto!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.stat-tab__strip--strava{width:44px!important;overflow:hidden!important}.stat-tab__strip--strava.stat-tab__strip--expanded{width:240px!important;background-color:#0c0a09!important;box-shadow:-8px 0 24px #00000059!important;overflow:visible!important}.stat-tab__strip--strava .stat-tab__content--strava{position:static!important;width:auto!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;opacity:0;visibility:hidden;transform:translate(20px);pointer-events:none;transition:opacity .4s ease .15s,transform .4s cubic-bezier(.22,1,.36,1) .15s}.stat-tab__strip--strava.stat-tab__strip--expanded .stat-tab__content--strava{opacity:1!important;visibility:visible!important;transform:translate(0)!important;pointer-events:auto!important;transition-delay:.1s}.stat-tab__strip--strava .stat-tab__content--strava>.stat-tab__label,.stat-tab__strip--strava .strava-stats__footer{display:none!important}.stat-tab__strip--strava .strava-stats{display:flex!important;flex-direction:row!important;gap:10px!important;padding:0!important}.stat-tab__strip--strava .strava-stat{gap:3px}.stat-tab__strip--strava .strava-stat__icon{width:14px;height:14px}.stat-tab__strip--strava .strava-stat__count{font-size:13px;color:#fff}.stat-tab__strip--strava .strava-stat__label{display:none}.stat-tab__strip--strava.stat-tab__strip--expanded .stat-tab__icon--strava{fill:#00e5ff}}.stat-tab__content--strava{display:flex;flex-direction:column;gap:10px}.stat-tab__content--strava .stat-tab__label{font-size:9px;color:#a8a29e;letter-spacing:.15em;padding-bottom:6px;border-bottom:1px solid #e7e5e4}.strava-stats{display:grid;grid-template-columns:auto auto;justify-content:center;gap:12px 28px;padding:8px 0}.strava-stat{display:flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace}.strava-stat__icon{width:20px;height:20px;flex-shrink:0}.strava-stat__icon--workouts{color:#00d4e5}.strava-stat__icon--rides{color:#e500e5}.strava-stat__icon--runs{color:#c9a800}.strava-stat__icon--hikes{color:#292524}.strava-stat__icon--swims{color:#00d4e5}.strava-stat__icon--walks{color:#e500e5}.strava-stat__count{font-size:18px;font-weight:700;color:#1a1a1a;min-width:20px}.strava-stat__label{font-size:9px;color:#57534e;text-transform:uppercase;letter-spacing:.05em}.strava-stats__footer{display:flex;align-items:center;gap:4px;font-size:7px;color:#a8a29e;text-transform:uppercase;letter-spacing:.12em;padding-top:6px;border-top:1px solid #e7e5e4}.strava-footer-logo{fill:#a8a29e;width:8px;height:8px}.strava-stats__loading{font-size:9px;color:#a8a29e;font-family:JetBrains Mono,monospace}.strava-stats__error{font-size:9px;color:#78716c;font-family:JetBrains Mono,monospace}.strava-stats__empty{font-size:9px;color:#a8a29e;font-family:JetBrains Mono,monospace;font-style:italic}#stats-section,.stats-section,#stats-container{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}#paper-strip.about-paper{margin-top:-30px}@media(max-width:768px){#paper-strip.about-paper{margin-top:-20px}}.hud-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;color:var(--cmyk-cyan)}.hud-status{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:8px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.8}.hud-label{color:var(--cmyk-cyan)}.hud-value{color:#4ade80}.hud-coords{position:absolute;top:50%;right:24px;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;font-size:9px;font-weight:600;letter-spacing:.1em;opacity:.7;color:var(--cmyk-cyan)}@media(max-width:768px){.hud-overlay{display:none}}.wod-card{border:2px solid transparent;transition:all .3s ease}.wod-card--planned{border-color:var(--cmyk-cyan)}.wod-card--completed{border-color:#4ade80;box-shadow:0 0 12px #4ade804d}.wod-card--skipped{border-color:#ef4444;opacity:.6}.wod-card--today{animation:today-pulse 2s ease-in-out infinite}.mood-selector button{opacity:.4;transition:all .2s ease}.mood-selector button:hover,.mood-selector button.selected{opacity:1;transform:scale(1.2)}.wod-week-view{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.wod-week-view{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.wod-week-view{grid-template-columns:repeat(7,1fr)}}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-magenta-500{--tw-ring-color: var(--cmyk-magenta)}.sport-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:768px){.sport-grid{grid-template-columns:repeat(2,1fr)}.sport-tile--full{grid-column:span 2}}.sport-tile{background:#fff;border:2px solid #e5e5e5;border-top-width:3px;padding:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;display:flex;flex-direction:column}.sport-tile:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.sport-tile--cyan{border-top-color:#0ff}.sport-tile--magenta{border-top-color:#f0f}.sport-tile--yellow{border-top-color:#ff0}.sport-tile:before,.sport-tile:after{content:"";position:absolute;inset:-2px;border:2px solid transparent;opacity:0;transition:all .3s ease;pointer-events:none}.sport-tile:hover:before{border-color:var(--cmyk-cyan);transform:translate(-2px,-1px);opacity:.5}.sport-tile:hover:after{border-color:var(--cmyk-magenta);transform:translate(2px,1px);opacity:.5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.chromatic-press:before,.chromatic-press:after,.chromatic-press .yellow-layer{animation:none!important}.profile-sway{animation:none!important}.scroll-progress-bar{transition:none!important}.punch-effect,.illustration-inner,.scroll-peak{transition:none!important;animation:none!important}.fly-in-left,.fly-in-right{animation:none!important;opacity:1!important;transform:none!important}.illustration-inner{filter:none!important}}a:focus-visible,button:focus-visible{outline:2px solid var(--cmyk-cyan);outline-offset:4px;border-radius:4px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--cmyk-cyan);color:#000;padding:.5rem 1rem;font-weight:700;z-index:10000;transition:top .3s ease}.skip-link:focus{top:1rem}body.is-ios .profile-sway,body.is-ios .header-speech-bubble,body.is-ios .header-portrait-sway,body.is-ios .header-bubble-float,body.is-ios .header-bubble-push,body.is-ios .chromatic-press:before,body.is-ios .chromatic-press:after,body.is-ios .chromatic-press .yellow-layer,body.is-ios .chromatic-press.exclamation-mark,body.is-ios .title-flicker,body.is-ios .scroll-peak,body.is-ios .punch-effect--always-active,body.is-ios .animate-float,body.is-ios .animate-float-gentle,body.is-ios .animate-sway-gentle,body.is-ios .animate-pulse,body.is-ios .animate-lift,body.is-ios .animate-shake,body.is-ios .animate-power,body.is-ios .animate-tilt,body.is-ios .streak-fire,body.is-ios .side-tab__strip--active:after{animation:none!important}body.is-ios .scroll-peak,body.is-ios .scroll-peak img{animation:none!important}body.is-ios .color-block{animation:none!important;opacity:.05!important;filter:blur(40px)!important}body.is-ios #side-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#fffffffa!important}body.is-ios #side-menu-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#0006!important}body.is-ios .pencil-texture{filter:none!important}body.is-ios .illustration-inner,body.is-ios .punch-effect,body.is-ios .fly-in-left,body.is-ios .fly-in-right{will-change:auto!important}@media(hover:none){.profile-sway{animation:none!important}.header-speech-bubble{animation:header-bubble-enter 1.4s cubic-bezier(.25,.46,.45,.94) 0s forwards!important}.header-portrait-sway,.header-bubble-float,.header-bubble-push{animation:header-fade-in 1s cubic-bezier(.16,1,.3,1) forwards!important}.chromatic-press:before,.chromatic-press:after,.chromatic-press .yellow-layer{animation:none!important}.chromatic-press.exclamation-mark,.title-flicker,.scroll-peak,.scroll-peak img,.punch-effect--always-active,.punch-effect--always-active img{animation:none!important}.color-block{animation:none!important;opacity:.05!important;filter:blur(40px)!important}.animate-float,.animate-float-gentle,.animate-sway-gentle,.animate-pulse,.animate-lift,.animate-shake,.animate-power,.animate-tilt,.streak-fire{animation:none!important}.side-tab__strip--active:after{animation:none!important}#side-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#fffffffa!important}#side-menu-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#0006!important}.pencil-texture{filter:none!important}.illustration-inner,.punch-effect,.fly-in-left,.fly-in-right{will-change:auto!important}}
