@import "https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=boy]{--bg:#282c34;--bg-raised:#2e333d;--bg-subtle:#21252b;--border:#3e4451;--text:#abb2bf;--text-bright:#fff;--text-dim:#5c6370;--accent:#9cdcf0;--symbol:#dcb862;--args:#4a9cd6;--string:#98c379;--error:#e06c75;--font-mono:"Space Mono", "Courier New", monospace;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--nav-h:56px;--page-max:860px;--gap:1.5rem;--radius:3px;--t-accent:color .3s ease, border-color .3s ease, background-color .3s ease}[data-theme=girl]{--accent:#f7a8c4;--symbol:#e8a0bf;--args:#c678dd;--string:#f0a875}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;grid-template-rows:auto 1fr auto;min-height:100dvh;line-height:1.7;display:grid}#site-header{min-height:var(--nav-h);background:var(--bg-subtle);border-bottom:1px solid var(--border)}body:after{content:"";pointer-events:none;z-index:9999;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);color:var(--text-bright);transition:var(--t-accent);font-weight:700;line-height:1.25}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl);color:var(--accent)}h3{font-size:var(--text-2xl);color:var(--accent)}h4{font-size:var(--text-xl);color:var(--text-bright)}p{font-size:var(--text-base);margin-bottom:1rem}a{color:var(--args);transition:var(--t-accent);text-decoration:none}a:hover{color:var(--accent)}ul,ol{padding:0;list-style:none}code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}.page-content{max-width:var(--page-max);width:100%;margin:0 auto;padding:0 2rem}.section{padding:4rem 0}.code-keyword{color:var(--accent);font-family:var(--font-mono);transition:var(--t-accent)}.code-var{color:var(--text-bright);font-family:var(--font-mono)}.code-op{color:var(--text);font-family:var(--font-mono)}.code-prop{color:var(--accent);font-family:var(--font-mono);transition:var(--t-accent)}.code-string{color:var(--string);font-family:var(--font-mono);transition:var(--t-accent)}.code-comment{color:var(--text-dim);font-family:var(--font-mono);font-style:italic}.code-symbol,.code-num{color:var(--symbol);font-family:var(--font-mono);transition:var(--t-accent)}.section-comment{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim);margin-bottom:.5rem;font-style:italic;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) forwards fadeUp}.reveal-1{animation-delay:50ms}.reveal-2{animation-delay:.18s}.reveal-3{animation-delay:.31s}.reveal-4{animation-delay:.44s}.reveal-5{animation-delay:.57s}.reveal-6{animation-delay:.7s}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{background:var(--accent);vertical-align:text-bottom;width:.55em;height:1em;transition:background .3s;animation:1.2s step-end infinite blink;display:inline-block}.cta-link{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);border:1px solid var(--border);transition:var(--t-accent), border-color .3s ease;letter-spacing:.02em;padding:.45rem .9rem;display:inline-block}.cta-link:hover{color:var(--accent);border-color:var(--accent);background:#9bdcf00a}[data-theme=girl] .cta-link:hover{background:#f7a8c40a}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}@media (width<=600px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.page-content{padding:0 1.25rem}.section{padding:2.5rem 0}}