@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg-primary:#0d0e14;--bg-secondary:#111318;--bg-card:#171920;--bg-card-alt:#1c1e28;--text-primary:#e8eaf2;--text-secondary:#c8ccd8;--text-muted:#6b7080;--accent:#be48e0;--accent-deep:#9020bc;--accent-hover:#cf62f0;--acid:#39ff14;--trip-pink:#ff1493;--border:#be48e02e;--shadow:0 2px 24px #00000073;--radius:12px;--font-sans:"Pixelify Sans", sans-serif;--font-mono:"Pixelify Sans", monospace;--section-padding:3.5rem;--container-inline:1.25rem;--card-padding:1.25rem}@media (prefers-color-scheme:light){:root{--bg-primary:#f4f2f7;--bg-secondary:#eae8f0;--bg-card:#faf9fc;--bg-card-alt:#f0eef5;--text-primary:#1a1b26;--text-secondary:#3d3f52;--text-muted:#8b8fa8;--accent:#b020d0;--accent-deep:#8010a8;--accent-hover:#c840e8;--acid:#00c020;--trip-pink:#d4107a;--border:#a014be24;--shadow:0 2px 16px #5028781a}}.skip-link{z-index:9999;background-color:var(--accent);color:#fff;border-radius:0 0 var(--radius) var(--radius);padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--acid);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-secondary);min-height:100vh;line-height:1.6}img,video{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:1.25rem}p{color:var(--text-secondary);max-width:65ch}code,pre{font-family:var(--font-mono);font-size:.875em}.mono{font-family:var(--font-mono)}.container{max-width:1080px;padding-inline:var(--container-inline);margin-inline:auto}section{padding-block:var(--section-padding)}[data-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-delay,0) * 1ms);transform:translateY(24px)}[data-reveal].revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}[data-rm] [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.section-divider{background:linear-gradient(90deg,#0000 0%,#be48e04d 20%,#ff149366 50%,#39ff144d 80%,#0000 100%);border:none;height:1px;margin:0}@media (hover:hover) and (pointer:fine){html:not([data-rm]),html:not([data-rm]) *{cursor:none!important}}.custom-cursor{pointer-events:none;z-index:2147483647;opacity:0;will-change:transform;width:32px;height:32px;transition:opacity .15s,filter .15s;position:fixed;top:0;left:0}.custom-cursor.visible{opacity:1}.custom-cursor.hovering{filter:drop-shadow(0 0 6px #ff1493b3)drop-shadow(0 0 12px #39ff1466)}.custom-cursor.hovering svg{transform-origin:0 0;transition:transform .15s;transform:scale(1.25)}.custom-cursor:not(.hovering) svg{transform-origin:0 0;transition:transform .15s;transform:scale(1)}@media (hover:none),(pointer:coarse){.custom-cursor{display:none}}@media (prefers-reduced-motion:reduce){.custom-cursor{display:none}}[data-rm] .custom-cursor{display:none!important}.site-nav{z-index:100;background-color:color-mix(in srgb, var(--bg-primary) 82%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:2.75rem;display:flex}@keyframes glitch-main{0%,78%{opacity:1;transform:none}79%{opacity:.85;transform:translate(-3px)skew(-1.5deg)}80%{opacity:1;transform:translate(4px)}81%{opacity:.9;transform:translate(-2px)}82%{opacity:1;transform:none}83%{opacity:1;transform:translate(3px)skew(1deg)}84%{opacity:1;transform:none}91%{opacity:.8;transform:translate(-4px)}92%{opacity:1;transform:translate(2px)}93%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes glitch-pink{0%,78%{opacity:0;clip-path:inset(0 0 100%);transform:none}79%{opacity:1;clip-path:inset(5% 0 72%);transform:translate(-6px)}80%{opacity:1;clip-path:inset(18% 0 55%);transform:translate(5px)}81%{opacity:1;clip-path:inset(30% 0 60%);transform:translate(-3px)}82%{opacity:0;clip-path:inset(0 0 100%);transform:none}91%{opacity:1;clip-path:inset(10% 0 65%);transform:translate(7px)}92%{opacity:1;clip-path:inset(40% 0 45%);transform:translate(-4px)}93%,to{opacity:0;clip-path:inset(0 0 100%);transform:none}}@keyframes glitch-green{0%,78%{opacity:0;clip-path:inset(100% 0 0);transform:none}79%{opacity:1;clip-path:inset(55% 0 20%);transform:translate(5px)}80%{opacity:1;clip-path:inset(70% 0 5%);transform:translate(-6px)}81%{opacity:1;clip-path:inset(45% 0 35%);transform:translate(3px)}82%{opacity:0;clip-path:inset(100% 0 0);transform:none}91%{opacity:1;clip-path:inset(60% 0 10%);transform:translate(-5px)}92%{opacity:1;clip-path:inset(78% 0 2%);transform:translate(4px)}93%,to{opacity:0;clip-path:inset(100% 0 0);transform:none}}.nav-logo{letter-spacing:.12em;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.9375rem;font-weight:700;text-decoration:none;animation:5s step-end infinite glitch-main;display:inline-block;position:relative}.nav-logo:before{content:"PIXELABS";color:var(--trip-pink);pointer-events:none;animation:5s step-end infinite glitch-pink;position:absolute;inset:0}.nav-logo:after{content:"PIXELABS";color:var(--acid);pointer-events:none;animation:5s step-end infinite glitch-green;position:absolute;inset:0}.nav-logo:visited,.nav-logo:focus{color:var(--text-primary)}.nav-logo:hover{text-shadow:-1.5px 0 0 color-mix(in srgb, var(--trip-pink) 55%, transparent), 1.5px 0 0 color-mix(in srgb, var(--acid) 55%, transparent);animation-play-state:paused}.nav-logo:hover:before,.nav-logo:hover:after{opacity:0;animation-play-state:paused}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--acid)}.nav-right{align-items:center;gap:2rem;display:flex}.nav-gh{align-items:center;display:flex}.nav-gh svg{width:15px;height:15px;display:block}@keyframes aurora-drift-a{0%{transform:translate(0%)scale(1)}33%{transform:translate(6%,-8%)scale(1.06)}66%{transform:translate(-4%,5%)scale(.97)}to{transform:translate(0%)scale(1)}}@keyframes aurora-drift-b{0%{transform:translate(0%)scale(1)}40%{transform:translate(-7%,6%)scale(1.04)}70%{transform:translate(5%,-4%)scale(1.08)}to{transform:translate(0%)scale(1)}}@keyframes aurora-drift-c{0%{transform:translate(0%)scale(1.02)}50%{transform:translate(4%,7%)scale(.96)}to{transform:translate(0%)scale(1.02)}}.hero{border-bottom:1px solid var(--border);background-color:color-mix(in srgb, var(--bg-primary) 15%, transparent);contain:paint;flex-direction:column;justify-content:center;min-height:100dvh;padding-block:3rem 4rem;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(#be48e047 0%,#9020bc2e 45%,#0000 70%);width:90vw;max-width:880px;height:90vw;max-height:880px;animation:16s ease-in-out infinite aurora-drift-a;top:-20%;left:-15%}.hero:after{background:radial-gradient(#39ff1433 0%,#ff149329 40%,#0000 70%);width:72vw;max-width:680px;height:72vw;max-height:680px;animation:20s ease-in-out infinite aurora-drift-b;bottom:-25%;right:-10%}.hero-aurora-c{pointer-events:none;will-change:transform;background:radial-gradient(#00c8d22e 0%,#7b6ef624 50%,#0000 70%);border-radius:50%;width:58vw;max-width:550px;height:58vw;max-height:550px;animation:24s ease-in-out infinite aurora-drift-c;position:absolute;top:30%;right:20%}#hilbert-canvas{pointer-events:none;z-index:-1;opacity:.7;contain:strict;width:100%;height:100vh;position:fixed;top:0;left:0}@media (prefers-color-scheme:light){#hilbert-canvas{opacity:.85}}@media (width<=768px){#hilbert-canvas{opacity:.3}}@media (width<=768px) and (prefers-color-scheme:light){#hilbert-canvas{opacity:.5}}[data-theme=light] #hilbert-canvas{opacity:.85}[data-theme=dark] #hilbert-canvas{opacity:.7}@media (width<=768px){[data-theme=light] #hilbert-canvas{opacity:.5}[data-theme=dark] #hilbert-canvas{opacity:.3}}.hero-noise{pointer-events:none;opacity:.045;filter:url(#noise-filter);background:var(--text-primary);z-index:0;position:absolute;inset:0}.hero .container{z-index:1;position:relative}.hero-eyebrow{display:none}@keyframes rgb-drift-pink{0%{transform:translate(-1.5px)}25%{transform:translate(-2.5px)}50%{transform:translate(-1px)}75%{transform:translate(-3px)}to{transform:translate(-1.5px)}}@keyframes rgb-drift-green{0%{transform:translate(1.5px)}25%{transform:translate(1px)}50%{transform:translate(2.5px)}75%{transform:translate(1px)}to{transform:translate(1.5px)}}@keyframes letter-arrive{0%{opacity:0;filter:blur(4px);transform:translateY(20px)scaleY(1.5)}60%{opacity:1;filter:blur();transform:translateY(-3px)scaleY(.95)}to{opacity:1;filter:blur();transform:translateY(0)scaleY(1)}}@keyframes glitch-hero-main{0%,75%{opacity:1;transform:none}76%{opacity:.9;transform:translate(-5px)skew(-2deg)}77%{opacity:1;transform:translate(7px)}78%{opacity:.95;transform:translate(-3px)skew(1deg)}79%{opacity:1;transform:none}80%{opacity:1;transform:translate(4px)}81%{opacity:1;transform:none}89%{opacity:.85;transform:translate(-6px)}90%{opacity:1;transform:translate(5px)skew(-1deg)}91%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes glitch-hero-pink{0%,75%{opacity:0;clip-path:inset(100% 0 0);transform:none}76%{opacity:1;clip-path:inset(8% 0 68%);transform:translate(-10px)}77%{opacity:1;clip-path:inset(25% 0 50%);transform:translate(8px)}78%{opacity:1;clip-path:inset(5% 0 80%);transform:translate(-6px)}79%{opacity:0;clip-path:inset(100% 0 0);transform:none}89%{opacity:1;clip-path:inset(15% 0 60%);transform:translate(12px)}90%{opacity:1;clip-path:inset(45% 0 35%);transform:translate(-8px)}91%,to{opacity:0;clip-path:inset(100% 0 0);transform:none}}@keyframes glitch-hero-green{0%,75%{opacity:0;clip-path:inset(100% 0 0);transform:none}76%{opacity:1;clip-path:inset(60% 0 15%);transform:translate(9px)}77%{opacity:1;clip-path:inset(72% 0 5%);transform:translate(-10px)}78%{opacity:1;clip-path:inset(50% 0 30%);transform:translate(5px)}79%{opacity:0;clip-path:inset(100% 0 0);transform:none}89%{opacity:1;clip-path:inset(65% 0 10%);transform:translate(-9px)}90%{opacity:1;clip-path:inset(80% 0 2%);transform:translate(7px)}91%,to{opacity:0;clip-path:inset(100% 0 0);transform:none}}.hero-headline{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:1.5rem;font-family:"Press Start 2P",monospace;font-size:clamp(2.75rem,8vw,5.5rem);font-weight:700;line-height:1;animation:6s step-end 1.2s infinite glitch-hero-main;display:inline-block;position:relative}.hero-letter{opacity:0;animation:.4s cubic-bezier(.16,1,.3,1) forwards letter-arrive;animation-delay:calc(.3s + var(--i) * 80ms);display:inline-block;transform:translateY(20px)scaleY(1.5)}.hero-headline:before{content:"PIXELABS";color:#ff1493;opacity:0;pointer-events:none;animation:6s step-end 1.2s infinite glitch-hero-pink;position:absolute;inset:0}.hero-headline:after{content:"PIXELABS";color:#39ff14;opacity:0;pointer-events:none;animation:6s step-end 1.2s infinite glitch-hero-green;position:absolute;inset:0}[data-theme=light] .hero-headline:before{color:#d4107a}[data-theme=light] .hero-headline:after{color:#00c020}@media (prefers-color-scheme:light){.hero-headline:before{color:#d4107a}.hero-headline:after{color:#00c020}}@keyframes blink-caret{50%{opacity:0}}@keyframes fade-in{to{opacity:1}}.hero-sub-wrap{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.01em;max-width:100%;margin-bottom:2.5rem;font-size:1rem;display:block;position:relative}.hero-sub-shadow{visibility:hidden}.hero-sub{visibility:hidden;color:inherit;position:absolute;inset:0}.hero-sub.is-typing:after,.hero-sub.is-done:after{content:"▏";color:var(--acid);vertical-align:baseline;margin-left:.05em;display:inline-block}.hero-sub.is-typing:after{animation:.7s step-end infinite blink-caret}.hero-sub.is-done:after{animation:.7s step-end 4 forwards blink-caret}.hero-actions{opacity:0;flex-wrap:wrap;gap:1rem;animation:.5s 3s forwards fade-in;display:flex;position:relative}@keyframes float-down{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.scroll-indicator{color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;font-size:.65rem;font-family:var(--font-mono);opacity:0;flex-direction:column;align-items:center;gap:.25rem;animation:.5s 3.5s forwards fade-in,2s ease-in-out 3.5s infinite float-down;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-indicator-arrow{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.hero-letter{opacity:1;animation:none;transform:none}.hero-sub{visibility:visible}.hero-sub.is-typing:after,.hero-sub.is-done:after{display:none}.hero-actions,.scroll-indicator{opacity:1;animation:none}.hero-headline{animation:none}.hero-headline:before{opacity:.4;animation:none;transform:translate(-2px)}.hero-headline:after{opacity:.4;animation:none;transform:translate(2px)}.hero:before,.hero:after,.hero-aurora-c{animation:none}}[data-rm] .hero-letter{opacity:1!important;animation:none!important;transform:none!important}[data-rm] .hero-sub{visibility:visible!important}[data-rm] .hero-sub.is-typing:after,[data-rm] .hero-sub.is-done:after{display:none!important}[data-rm] .hero-actions,[data-rm] .scroll-indicator{opacity:1!important;animation:none!important}[data-rm] .hero-headline{animation:none!important}[data-rm] .hero-headline:before{opacity:.4!important;animation:none!important;transform:translate(-2px)!important}[data-rm] .hero-headline:after{opacity:.4!important;animation:none!important;transform:translate(2px)!important}.btn{border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;color:var(--text-primary);background-color:#0000;border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:box-shadow .2s,border-color .2s,background-color .2s;display:inline-flex;position:relative;box-shadow:-4px 0 8px #ff14934d,4px 0 8px #39ff1440,0 0 0 1px #ffffff14}.btn-primary{background-color:#be48e014;border-color:#be48e047;box-shadow:-5px 0 10px #ff149361,5px 0 10px #39ff144d,0 0 0 1px #be48e033}.btn-primary:hover{background-color:#be48e01f;border-color:#cf62f073;box-shadow:-7px 0 16px #ff149385,7px 0 16px #39ff146b,0 0 0 1px #cf62f059,0 0 28px #be48e02e}.btn-secondary{background-color:#0000;border-color:#ffffff1a;box-shadow:-4px 0 8px #ff149347,4px 0 8px #39ff1438,0 0 0 1px #ffffff12}.btn-secondary:hover{border-color:#39ff144d;box-shadow:-6px 0 14px #ff14936b,6px 0 14px #39ff145c,0 0 0 1px #39ff1438}.btn:active{transition-duration:50ms;transform:scale(.97)}.btn-gh svg{flex-shrink:0;transition:color .2s}.btn-gh:hover svg{color:var(--acid)}.section-label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--acid);margin-bottom:.75rem;font-size:.75rem;font-weight:500}.section-title{letter-spacing:-.02em;margin-bottom:.75rem}.section-desc{color:var(--text-muted);margin-bottom:3rem;font-style:italic}#projects{background-color:color-mix(in srgb, var(--bg-primary) 60%, transparent);position:relative}#projects:before{content:"";pointer-events:none;background:radial-gradient(60% 70% at 80% 80%,#7b6ef614 0%,#0000 70%);position:absolute;inset:0}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=768px){.projects-grid{grid-template-columns:1fr}}.projects-group+.projects-group{margin-top:3.5rem}.projects-group-title{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);align-items:center;gap:.75rem;margin:0 0 1.25rem;font-size:.8125rem;font-weight:600;line-height:1;display:flex}.projects-group-title:before{content:"//";color:var(--acid);font-weight:500}.projects-group-label{white-space:nowrap}.projects-group-rule{background:var(--border);flex:1;height:1px}.projects-group-count{color:var(--text-muted);font-weight:400}@keyframes neon-bar-shift{0%{background-position:0 0}to{background-position:200% 0}}@keyframes neon-breath{0%,to{box-shadow:0 0 0 1px #ff14932e,0 0 18px #39ff140f,0 4px 24px #0006}50%{box-shadow:0 0 0 1px #be48e047,0 0 28px #ff14931a,0 4px 24px #0006}}.card{background-color:color-mix(in srgb, var(--bg-card) 40%, transparent);-webkit-backdrop-filter:blur(2px);border-radius:var(--radius);padding:var(--card-padding);color:inherit;animation:neon-breath 4s ease-in-out var(--breath-delay,0s) infinite;background-image:radial-gradient(70% 55% at 50% 0,#be48e012 0%,#0000 70%);background-clip:padding-box;border:1px solid #0000;flex-direction:column;gap:.75rem;text-decoration:none;transition:transform .22s,box-shadow .22s;display:flex;position:relative}.card:before{content:"";border-radius:calc(var(--radius) + 1px);background-blend-mode:multiply;-webkit-mask-composite:xor;pointer-events:none;animation:neon-bar-shift 6s linear var(--bar-delay,0s) infinite;background:linear-gradient(90deg,#ff1493,#be48e0,#39ff14,#be48e0,#ff1493) 0 0/200% 100%,linear-gradient(#fff 0%,#ffffff2e 40%,#ffffff1a 100%) 0 0/100% 100%;padding:2px;transition:opacity .22s,filter .22s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.card:hover{animation:none;transform:translateY(-3px);box-shadow:0 0 0 1px #ff149373,0 0 20px #ff149333,0 0 45px #39ff141f,0 8px 32px #00000080}.card:hover:before{background-blend-mode:multiply;filter:drop-shadow(0 0 6px #ff1493cc)drop-shadow(0 0 12px #39ff148c);background:linear-gradient(90deg,#ff1493,#be48e0,#39ff14,#be48e0,#ff1493) 0 0/200% 100%,linear-gradient(#fff 0%,#fff6 40%,#ffffff38 100%) 0 0/100% 100%}.card--coming-soon{border-style:dashed}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-name{font-family:var(--font-mono);color:var(--text-primary);font-size:1rem;font-weight:700}.card-header-right{flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.card-meta{align-items:center;gap:.75rem;display:flex}.card-stars,.card-forks{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.3rem;font-size:.8125rem;display:flex}.card-stars{color:#f5c518}.card-stars svg,.card-forks svg{fill:currentColor;width:13px;height:13px}.card-desc{color:var(--text-muted);flex:1;max-width:none;font-size:.9375rem;line-height:1.55}.card-footer{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.card-header-left{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.lang-tags{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.lang-tag{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:3px;flex-shrink:0;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.65rem;display:inline-flex}.lang-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.install-tags{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.install-tag{font-family:var(--font-mono);white-space:nowrap;letter-spacing:.02em;border-radius:3px;flex-shrink:0;align-items:center;gap:.3rem;padding:.1rem .45rem;font-size:.65rem;font-weight:600;display:inline-flex}.install-count{opacity:.75;font-weight:400}.install-tag--brew{color:#f9a03c;background:#f9a03c0f;border:1px solid #f9a03c59}.install-tag--npm{color:#cb3837;background:#cb38370f;border:1px solid #cb383759}.install-tag--pip{color:#3572a5;background:#3572a50f;border:1px solid #3572a559}.install-tag--cargo{color:#dea584;background:#dea5840f;border:1px solid #dea58459}.card-link{font-family:var(--font-mono);color:var(--trip-pink);font-size:.8125rem;font-weight:600;transition:color .15s}.card:hover .card-link{color:var(--acid)}.coming-soon-badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#3dd68c;white-space:nowrap;border:1px solid #3dd68c;border-radius:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600}@media (prefers-reduced-motion:reduce){.card{animation:none;box-shadow:0 0 0 1px #ff149338,0 4px 24px #0006}.card:before{background-position:0 0;animation:none}}[data-rm] .card{animation:none!important;box-shadow:0 0 0 1px #ff149338,0 4px 24px #0006!important}[data-rm] .card:before{background-position:0 0!important;animation:none!important}.about{background-color:color-mix(in srgb, var(--bg-secondary) 25%, transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}.about:before{content:"";pointer-events:none;background:radial-gradient(55% 80% at 10%,#be48e012 0%,#0000 70%);position:absolute;inset:0}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr 1fr;gap:2rem}}.about-text h2{margin-bottom:1rem}.about-text p+p{margin-top:1rem}.skills-list{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;list-style:none;display:flex}.skill-tag{font-family:var(--font-mono);color:var(--acid);background-color:#39ff6e12;border:1px solid #39ff6e33;border-radius:4px;padding:.25rem .625rem;font-size:.8125rem;transition:background-color .15s,border-color .15s}.skill-tag:hover{background-color:#39ff6e1f;border-color:#39ff6e59}@keyframes crt-scanlines{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes crt-tear{0%,68%{clip-path:inset(100% 0 0);opacity:0}69%{clip-path:inset(28% 0 52%);opacity:1}70%{clip-path:inset(55% 0 22%);opacity:1}71%{clip-path:inset(12% 0 70%);opacity:1}72%{clip-path:inset(68% 0 10%);opacity:1}73%{clip-path:inset(38% 0 44%);opacity:1}74%{clip-path:inset(100% 0 0);opacity:0}88%{clip-path:inset(100% 0 0);opacity:0}89%{clip-path:inset(40% 0 38%);opacity:1}90%{clip-path:inset(18% 0 62%);opacity:1}91%{clip-path:inset(72% 0 8%);opacity:1}92%{clip-path:inset(100% 0 0);opacity:0}to{opacity:0}}@keyframes crt-overscan{0%{opacity:0;transform:translateY(-6px)}4%{opacity:.85}20%{opacity:.55;transform:translateY(290px)}24%{opacity:0;transform:translateY(310px)}55%{opacity:0;transform:translateY(-6px)}57%{opacity:.7}72%{opacity:.4;transform:translateY(290px)}76%{opacity:0;transform:translateY(310px)}to{opacity:0}}.avatar-crt{aspect-ratio:1;border:1.5px solid #ff00d28c;border-radius:50%;width:100%;max-width:280px;margin:auto;display:block;position:relative;overflow:hidden;box-shadow:-2px 0 #ff14934d,2px 0 #39ff144d,0 0 8px #ff00d2b3,0 0 24px #ff00d259,0 0 20px #be48e033}.avatar-crt:before{content:"";z-index:2;pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#00000017 3px 4px);width:100%;height:200%;animation:6s linear infinite crt-scanlines;position:absolute;top:0;left:0}.avatar-crt:after{content:"";background-image:var(--avatar-url);z-index:3;pointer-events:none;clip-path:inset(100% 0 0);opacity:0;background-position:50%;background-size:cover;animation:5s step-end infinite crt-tear;position:absolute;inset:0}.avatar-overlay{z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(135deg,#ff149361 0%,#0000 48%,#39ff1447 100%);position:absolute;inset:0}.about-avatar{object-fit:cover;width:100%;height:100%;display:block}.crt-line{z-index:4;pointer-events:none;will-change:transform;background:linear-gradient(90deg,#0000 0%,#ffffff26 15%,#ffffffeb 50%,#ffffff26 85%,#0000 100%);height:2px;animation:5s ease-in-out infinite crt-overscan;position:absolute;top:0;left:0;right:0}.about-visual{position:relative}@keyframes about-float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.about-text{will-change:transform;isolation:isolate;animation:7s ease-in-out infinite about-float;position:relative}.about-text:before{content:"";z-index:-1;pointer-events:none;filter:blur(28px);background:radial-gradient(70% 60% at 38% 42%,#140e20f7 0%,#100a1aeb 25%,#0d0e14b3 50%,#0000 80%),radial-gradient(55% 50% at 65% 62%,#120c1ce6 0%,#0d0e1499 40%,#0000 75%);position:absolute;inset:-48px -56px;transform:translateY(1px)}.about-text:after{content:"";z-index:-2;pointer-events:none;filter:blur(18px);background:radial-gradient(60% 50% at 45% 48%,#be48e017 0%,#be48e00a 45%,#0000 80%),radial-gradient(40% 35% at 60% 55%,#ff14930d 0%,#0000 70%);position:absolute;inset:-32px -40px}@keyframes blink-cursor{50%{opacity:0}}.about-text p:last-of-type:after{content:"_";color:var(--acid);margin-left:2px;animation:1s step-end infinite blink-cursor}@media (prefers-reduced-motion:reduce){.about-text{will-change:auto;animation:none}.about-text p:last-of-type:after{animation:none}}[data-rm] .about-text{will-change:auto!important;animation:none!important}[data-rm] .about-text p:last-of-type:after{animation:none!important}#contact{background-color:color-mix(in srgb, var(--bg-secondary) 15%, transparent);border-top:1px solid var(--border);position:relative}#contact:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 10% 60%,#be48e012 0%,#ff14930d 45%,#0000 70%);position:absolute;inset:0}.contact-inner{background-color:color-mix(in srgb, var(--bg-card) 40%, transparent);-webkit-backdrop-filter:blur(2px);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));max-width:560px;box-shadow:inset 3px 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent), 0 4px 32px color-mix(in srgb, var(--bg-primary) 60%, transparent);border-radius:16px;padding:2.5rem 2rem;position:relative}@supports not (backdrop-filter:blur(1px)){.contact-inner{background-color:color-mix(in srgb, var(--bg-card) 70%, transparent)}}.contact-form{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.03em;font-size:.8125rem;font-weight:500}.form-group input,.form-group textarea{font-family:var(--font-sans);color:var(--text-primary);background-color:color-mix(in srgb, var(--bg-card) 42%, transparent);border:1.5px solid var(--border);border-radius:8px;outline:none;width:100%;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .18s,box-shadow .18s}.form-group input:focus,.form-group textarea:focus{border-color:var(--trip-pink);box-shadow:0 0 0 3px color-mix(in srgb, var(--trip-pink) 12%, transparent)}.form-group textarea{resize:vertical;min-height:130px}.form-submit{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem;display:flex}.form-message{font-family:var(--font-mono);border-radius:6px;padding:.5rem .75rem;font-size:.8125rem;display:none}.form-message.success{color:var(--acid);background-color:#39ff6e14;border:1px solid #39ff6e40;display:block}.form-message.error{color:var(--trip-pink);background-color:#ff2d7814;border:1px solid #ff2d7840;display:block}.site-footer{z-index:1;background-color:var(--bg-primary);border-top:1px solid var(--border);padding-block:2rem;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-copy{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;max-width:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem}.footer-links{align-items:center;gap:1.25rem;display:flex}.footer-icon-link{color:var(--trip-pink);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--trip-pink) 40%, transparent));align-items:center;transition:color .15s,filter .15s;display:inline-flex}.footer-icon-link:hover{color:var(--acid);filter:drop-shadow(0 0 6px #39ff1480)}.footer-icon-link svg{fill:currentColor;width:20px;height:20px}.footer-text-link{color:var(--text-muted);letter-spacing:.04em;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;text-decoration:none;transition:color .15s}.footer-text-link:hover{color:var(--acid)}@media (width<=768px){.nav-links{gap:1.25rem}.nav-links a{font-size:.75rem}.hero{min-height:100dvh;padding-block:2.25rem 2rem}.hero-sub-wrap{font-size:.875rem}.scroll-indicator{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.btn{justify-content:center;width:100%}section{padding-block:2.5rem}.about-visual{justify-content:center;display:flex}.avatar-crt{max-width:160px}.contact-inner{max-width:100%}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:.75rem}.footer-copy{font-size:.75rem}}@media (width<=480px){.about-grid{grid-template-columns:1fr;gap:1.5rem}.about-visual{order:-1}.avatar-crt{max-width:180px}.nav-logo{font-size:.8125rem}.nav-links{gap:1rem}.hero-headline{letter-spacing:-.02em;font-size:clamp(1.5rem,10vw,3.5rem)}.card{padding:1rem}.skill-tag{padding:.2rem .5rem;font-size:.75rem}.form-group input,.form-group textarea{font-size:1rem}#font-picker{flex-wrap:wrap;justify-content:center;bottom:1rem;left:1rem;right:1rem}}.theme-wrap{align-items:center;display:flex;position:relative}.theme-trigger{color:var(--trip-pink);cursor:pointer;filter:drop-shadow(-2px 0 4px color-mix(in srgb, var(--trip-pink) 35%, transparent)) drop-shadow(2px 0 4px color-mix(in srgb, var(--acid) 30%, transparent)) drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 25%, transparent));background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;transition:filter .15s,color .15s;display:inline-flex}.theme-trigger:hover,.theme-trigger[aria-expanded=true]{color:var(--acid);filter:drop-shadow(-3px 0 6px color-mix(in srgb, var(--trip-pink) 50%, transparent)) drop-shadow(3px 0 6px color-mix(in srgb, var(--acid) 45%, transparent)) drop-shadow(0 0 10px color-mix(in srgb, var(--acid) 25%, transparent))}.theme-menu{border:1px solid var(--trip-pink);min-width:140px;box-shadow:-3px 0 12px color-mix(in srgb, var(--trip-pink) 30%, transparent), 3px 0 12px color-mix(in srgb, var(--acid) 25%, transparent), 0 8px 24px #0009;z-index:200;background:#0d0e14f5;border-radius:6px;margin:0;padding:.3rem 0;list-style:none;display:none;position:absolute;top:calc(100% + 6px);right:0}.theme-menu.theme-open{display:block}.theme-option{letter-spacing:.05em;color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;padding:.4rem .85rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;transition:color .1s,background .1s;display:flex}.theme-option:hover{color:var(--acid);background:#39ff140f}.theme-option--active,.theme-option--active:hover{color:var(--trip-pink);background:color-mix(in srgb, var(--trip-pink) 8%, transparent)}[data-theme=light]{--bg-primary:#f4f2f7;--bg-secondary:#eae8f0;--bg-card:#faf9fc;--bg-card-alt:#f0eef5;--text-primary:#1a1b26;--text-secondary:#3d3f52;--text-muted:#8b8fa8;--accent:#b020d0;--accent-deep:#8010a8;--accent-hover:#c840e8;--acid:#00c020;--trip-pink:#d4107a;--border:#a014be24;--shadow:0 2px 16px #5028781a}[data-theme=light] .hero:before{background:radial-gradient(#6356d414 0%,#7b3aad0d 45%,#0000 70%)}[data-theme=light] .hero:after{background:radial-gradient(#1db9540f 0%,#d4205c0a 40%,#0000 70%)}[data-theme=light] .hero-aurora-c{background:radial-gradient(#0096a00d 0%,#6356d408 50%,#0000 70%)}[data-theme=light] .hero-noise{opacity:.025}[data-theme=light] .btn{background-color:color-mix(in srgb, var(--bg-card) 60%, transparent);border-color:#a000c847}[data-theme=light] .btn-primary{background-color:color-mix(in srgb, var(--bg-card) 75%, transparent);border-color:#a000c861}[data-theme=light] .btn-secondary{background-color:color-mix(in srgb, var(--bg-card) 55%, transparent);border-color:#a000c838}[data-theme=light] .about-text:before{background:radial-gradient(70% 60% at 38% 42%,#fffdffeb 0%,#f2eefccc 25%,#ebe8f880 50%,#0000 80%),radial-gradient(55% 50% at 65% 62%,#f8f6ffc7 0%,#f0eefc73 40%,#0000 75%)}[data-theme=light] .about-text:after{background:radial-gradient(60% 50% at 45% 48%,#b020d00f 0%,#b020d005 45%,#0000 80%),radial-gradient(40% 35% at 60% 55%,#d4107a0a 0%,#0000 70%)}[data-theme=dark]{--bg-primary:#0d0e14;--bg-secondary:#111318;--bg-card:#171920;--bg-card-alt:#1c1e28;--text-primary:#e8eaf2;--text-secondary:#c8ccd8;--text-muted:#6b7080;--accent:#be48e0;--accent-deep:#9020bc;--accent-hover:#cf62f0;--acid:#39ff14;--trip-pink:#ff1493;--border:#be48e02e;--shadow:0 2px 24px #00000073}[data-theme=dark] .about-text:before{background:radial-gradient(70% 60% at 38% 42%,#140e20f7 0%,#100a1aeb 25%,#0d0e14b3 50%,#0000 80%),radial-gradient(55% 50% at 65% 62%,#120c1ce6 0%,#0d0e1499 40%,#0000 75%)}[data-theme=dark] .about-text:after{background:radial-gradient(60% 50% at 45% 48%,#be48e017 0%,#be48e00a 45%,#0000 80%),radial-gradient(40% 35% at 60% 55%,#ff14930d 0%,#0000 70%)}@media (prefers-color-scheme:light){.hero:before{background:radial-gradient(#6356d414 0%,#7b3aad0d 45%,#0000 70%)}.hero:after{background:radial-gradient(#1db9540f 0%,#d4205c0a 40%,#0000 70%)}.hero-aurora-c{background:radial-gradient(#0096a00d 0%,#6356d408 50%,#0000 70%)}.hero-noise{opacity:.025}.btn{background-color:color-mix(in srgb, var(--bg-card) 60%, transparent);border-color:#a000c847}.btn-primary{background-color:color-mix(in srgb, var(--bg-card) 75%, transparent);border-color:#a000c861}.btn-secondary{background-color:color-mix(in srgb, var(--bg-card) 55%, transparent);border-color:#a000c838}.about-text:before{background:radial-gradient(70% 60% at 38% 42%,#fffdffe6 0%,#f2eefcb8 35%,#ebe8f861 62%,#0000 100%),radial-gradient(55% 50% at 65% 62%,#f8f6ffb3 0%,#f0eefc4d 55%,#0000 100%)}.about-text:after{background:radial-gradient(60% 50% at 45% 48%,#b020d00f 0%,#b020d005 45%,#0000 80%),radial-gradient(40% 35% at 60% 55%,#d4107a0a 0%,#0000 70%)}}@media (prefers-reduced-motion:reduce){.nav-logo,.nav-logo:before,.nav-logo:after,.hero-headline,.hero-headline:before,.hero-headline:after,.hero:before,.hero:after,.hero-aurora-c,.avatar-crt:before,.avatar-crt:after,.crt-line{animation:none}.card:hover{transform:none}html{scroll-behavior:auto}}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.a11y-trigger{z-index:500;cursor:pointer;-webkit-backdrop-filter:blur(8px);color:#fff;background:linear-gradient(135deg,#39ff1473 0%,#ff149373 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:transform .2s,box-shadow .2s,background .2s;display:flex;position:fixed;bottom:1.5rem;left:1.5rem;box-shadow:0 0 0 1.5px #39ff1499,-3px 0 10px #39ff1459,3px 0 10px #ff149359,0 4px 20px #00000080}.a11y-trigger:hover{background:linear-gradient(135deg,#39ff14a6 0%,#ff1493a6 100%);transform:scale(1.1);box-shadow:0 0 0 1.5px #39ff14e6,-5px 0 18px #39ff148c,5px 0 18px #ff14938c,0 6px 28px #0009}.a11y-trigger:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.a11y-trigger[aria-expanded=true]{background:linear-gradient(135deg,#39ff14a6 0%,#ff1493a6 100%);box-shadow:0 0 0 2px #39ff14e6,-5px 0 20px #39ff1499,5px 0 20px #ff149399,0 0 36px #39ff1433}.a11y-trigger svg{fill:#fff;filter:drop-shadow(0 0 4px #fff6);width:1.375rem;height:1.375rem}.a11y-panel{z-index:499;-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#0d0e14f5;border:1px solid #39ff144d;border-radius:10px;width:15rem;padding:.75rem .875rem .875rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;transition:opacity .18s,transform .18s;position:fixed;bottom:5.25rem;left:1.5rem;transform:translateY(8px);box-shadow:0 0 0 .5px #ff149326,-4px 0 24px #39ff141f,4px 0 24px #ff14931f,0 8px 40px #000000b3}.a11y-panel.a11y-panel--open{opacity:1;pointer-events:auto;transform:translateY(0)}.a11y-panel-title{letter-spacing:.14em;text-transform:uppercase;color:#39ff14b3;border-bottom:1px solid #39ff1426;margin-bottom:.625rem;padding-bottom:.5rem;font-size:.625rem}.a11y-option{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.a11y-option:last-child{border-bottom:none}.a11y-option-label{color:#e8eaf2d9;white-space:nowrap;align-items:center;gap:.45rem;font-size:.7rem;line-height:1;display:flex}.a11y-option-label svg{fill:#c8ccd899;flex-shrink:0;width:.85rem;height:.85rem}.a11y-toggle{cursor:pointer;-webkit-appearance:none;appearance:none;background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;flex-shrink:0;width:2rem;height:1.1rem;padding:0;transition:background .18s,border-color .18s;position:relative}.a11y-toggle:after{content:"";background:#fff6;border-radius:50%;width:.72rem;height:.72rem;transition:left .18s,background .18s;position:absolute;top:50%;left:.15rem;transform:translateY(-50%)}.a11y-toggle[aria-pressed=true]{background:#39ff1459;border-color:#39ff14b3}.a11y-toggle[aria-pressed=true]:after{background:#39ff14;left:calc(100% - .87rem)}.a11y-toggle:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.a11y-toggle--reading[aria-pressed=true]{background:#ff149359;border-color:#ff1493b3}.a11y-toggle--reading[aria-pressed=true]:after{background:#ff1493}.a11y-size-controls{align-items:center;gap:.3rem;display:flex}.a11y-size-btn{color:#e8eaf2d9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;padding:0;font-family:inherit;font-size:.75rem;line-height:1;transition:background .15s,border-color .15s;display:flex}.a11y-size-btn:hover{background:#39ff1426;border-color:#39ff1466}.a11y-size-btn:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.a11y-size-label{color:#c8ccd899;text-align:center;min-width:1.5rem;font-size:.625rem}.a11y-reset{color:#ff1493bf;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ff149340;border-radius:5px;width:100%;margin-top:.5rem;padding:.3rem 0;font-family:inherit;font-size:.625rem;transition:background .15s,border-color .15s,color .15s}.a11y-reset:hover{color:#ff1493;background:#ff14931a;border-color:#ff149380}.a11y-reset:focus-visible{outline:2px solid var(--trip-pink);outline-offset:2px}[data-text-size=lg]{font-size:20px}[data-text-size=sm]{font-size:13px}[data-hc]{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-card:#0d0d0d;--bg-card-alt:#111;--text-primary:#fff;--text-secondary:#f0f0f0;--text-muted:#bbb;--border:#39ff1499;--accent:#ff1493;--acid:#39ff14}[data-hc] body{color:#fff;background:#000}[data-hc] .card{background:#0d0d0d;border-color:#39ff1480}[data-hc] .site-nav{background-color:#000;border-bottom-color:#39ff1480}[data-rm] *,[data-rm] :before,[data-rm] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.font-dyslexic,.font-dyslexic body,.font-dyslexic h1,.font-dyslexic h2,.font-dyslexic h3,.font-dyslexic p,.font-dyslexic a,.font-dyslexic button,.font-dyslexic input,.font-dyslexic textarea,.font-dyslexic label{letter-spacing:.05em;word-spacing:.1em;line-height:1.8;font-family:OpenDyslexic,sans-serif!important}@keyframes a11y-reading-pulse{0%,to{box-shadow:0 0 0 2px #ff1493e6,-5px 0 20px #ff14938c,5px 0 20px #39ff148c,0 0 40px #ff149333}50%{box-shadow:0 0 0 2px #ff1493e6,-8px 0 32px #ff1493bf,8px 0 32px #39ff14bf,0 0 60px #ff149359}}.a11y-trigger--reading{animation:2s ease-in-out infinite a11y-reading-pulse}@media (prefers-reduced-motion:reduce){.a11y-trigger--reading{animation:none}}:root{--heatmap-0:#1a1d24;--heatmap-1:#3a1f5e;--heatmap-2:#6b32a8;--heatmap-3:var(--accent-deep);--heatmap-4:var(--accent)}@media (prefers-color-scheme:light){:root{--heatmap-0:#d1cade;--heatmap-1:#b59ad9;--heatmap-2:#9060c0;--heatmap-3:var(--accent-deep);--heatmap-4:var(--accent)}}[data-theme=light]{--heatmap-0:#d1cade;--heatmap-1:#b59ad9;--heatmap-2:#9060c0;--heatmap-3:var(--accent-deep);--heatmap-4:var(--accent)}[data-theme=dark]{--heatmap-0:#1a1d24;--heatmap-1:#3a1f5e;--heatmap-2:#6b32a8;--heatmap-3:var(--accent-deep);--heatmap-4:var(--accent)}.heatmap-scroll-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.heatmap-scroll-container::-webkit-scrollbar{display:none}.heatmap-scroll-container{scrollbar-width:none}.heatmap-wrapper{position:relative}.heatmap-wrapper:after{content:"";background:linear-gradient(to right, transparent, var(--bg-card));pointer-events:none;width:40px;position:absolute;top:0;bottom:0;right:0}@media (width>=780px){.heatmap-wrapper:after{display:none}}.heatmap-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.5rem;font-size:.7rem}.heatmap-month-label{fill:var(--text-muted);font-size:9px;font-family:var(--font-mono), monospace}.heatmap-figure{margin:0}.heatmap-figure figcaption{text-align:right;color:var(--text-muted);margin-top:.4rem;font-size:.75rem}@keyframes heatmap-col-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.js-ready .heatmap-col{opacity:0}.heatmap-scroll-container.is-visible .heatmap-col{animation:.4s ease-out forwards heatmap-col-reveal;animation-delay:calc(var(--col-index) * 12ms)}@media (prefers-reduced-motion:reduce){.heatmap-scroll-container.is-visible .heatmap-col{opacity:1;animation:none}}#consent-banner{z-index:9998;background:color-mix(in srgb, var(--bg-card) 92%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);padding:1.25rem 1.5rem;animation:.28s cubic-bezier(.4,0,.2,1) both consent-slide-in;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000059}#consent-banner.is-visible{display:block}@keyframes consent-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.consent-inner{flex-wrap:wrap;align-items:center;gap:1.25rem;max-width:1100px;margin:0 auto;display:flex}.consent-text{min-width:240px;font-family:var(--font-mono);color:var(--text-secondary);flex:1;margin:0;font-size:.875rem;line-height:1.55}.consent-text strong{color:var(--text-primary)}.consent-text a,.consent-text-link{color:var(--acid);font-weight:500;font-family:var(--font-mono);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.consent-text a:hover,.consent-text a:focus-visible,.consent-text-link:hover,.consent-text-link:focus-visible{text-underline-offset:3px;text-decoration:underline}.consent-text-link:focus-visible{outline:2px solid var(--acid);outline-offset:2px;border-radius:2px}.consent-actions{flex-wrap:wrap;flex-shrink:0;gap:.625rem;display:flex}.consent-btn{min-height:38px;font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;color:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:transform .15s,color .15s,border-color .15s,background .15s;display:inline-flex}.consent-btn:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.consent-btn-accept{color:var(--acid);border-color:var(--acid)}.consent-btn-accept:hover{background:color-mix(in srgb, var(--acid) 14%, transparent);transform:translateY(-1px)}.consent-btn-decline{color:var(--text-muted);border-color:var(--border)}.consent-btn-decline:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}@media (width<=600px){#consent-banner{padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px))}.consent-inner{flex-direction:column;align-items:stretch;gap:.875rem}.consent-actions{justify-content:stretch}.consent-btn{flex:1}}#privacy-modal{z-index:10000;-webkit-backdrop-filter:blur(8px);background:#08090eb8;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out both privacy-fade-in;display:none;position:fixed;inset:0}#privacy-modal.is-open{display:flex}@keyframes privacy-fade-in{0%{opacity:0}to{opacity:1}}[data-theme=light] #privacy-modal{background:#f0eef5bd}.privacy-modal-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:520px;max-height:calc(100vh - 3rem);box-shadow:0 20px 60px #00000080, 0 0 24px color-mix(in srgb, var(--acid) 14%, transparent);font-family:var(--font-mono);padding:1.75rem 1.75rem 1.5rem;animation:.24s cubic-bezier(.4,0,.2,1) both privacy-card-in;position:relative;overflow-y:auto}@keyframes privacy-card-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.privacy-modal-card h3{letter-spacing:.04em;color:var(--text-primary);text-transform:lowercase;margin:0 0 .875rem;font-size:1rem}.privacy-modal-card p{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem;line-height:1.6}.privacy-modal-card p:last-child{margin-bottom:0}.privacy-modal-card strong{color:var(--text-primary)}.privacy-modal-actions{border-top:1px solid var(--border);padding-top:.75rem;margin-top:1rem!important}.privacy-modal-fineprint{margin-top:.5rem!important;font-size:.8125rem!important}.privacy-modal-fineprint a{color:var(--acid);text-decoration:none}.privacy-modal-fineprint a:hover,.privacy-modal-fineprint a:focus-visible{text-underline-offset:3px;text-decoration:underline}.privacy-modal-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;font-size:1.25rem;line-height:1;font-family:var(--font-mono);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.625rem;right:.625rem}.privacy-modal-close:hover{color:var(--text-primary);border-color:var(--border)}.privacy-modal-close:focus-visible{outline:2px solid var(--acid);outline-offset:2px}@media (width<=480px){#privacy-modal{padding:1rem}.privacy-modal-card{max-height:calc(100vh - 2rem);padding:1.25rem 1.125rem 1rem}.privacy-modal-card h3{font-size:.95rem}.privacy-modal-card p{font-size:.8125rem}}.consent-manage-link{font-family:var(--font-mono);font-size:inherit;color:var(--acid);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.consent-manage-link:hover{filter:brightness(1.1)}.consent-manage-link:focus-visible{outline:2px solid var(--acid);outline-offset:2px;border-radius:2px}
