:root{color-scheme:light;--bg: #FFFFFF;--bg-soft: #FAFAFA;--panel: #FFFFFF;--panel-tinted: #F4F4F5;--panel-strong: #E4E4E7;--text: #3F3F46;--text-strong: #09090B;--muted: #71717A;--muted-soft: #A1A1AA;--line: #E4E4E7;--line-strong: #D4D4D8;--accent: #09090B;--accent-strong: #000000;--accent-soft: #F4F4F5;--secondary: #52525B;--secondary-strong: #3F3F46;--secondary-soft: #F4F4F5;--max-width: 900px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 6px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .05), 0 4px 12px rgba(0, 0, 0, .02);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;font-family:var(--font-sans)}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{min-height:100%;margin:0;color:var(--text);background:var(--bg);font-feature-settings:"cv11","ss01";line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-strong);color:var(--bg)}a{color:var(--text-strong);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--accent-strong);text-decoration-color:var(--accent-strong)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:8px 14px;background:var(--accent-strong);color:var(--bg);font-weight:700}.skip-link:focus{left:0}.site-shell{width:min(100% - 48px,var(--max-width));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0;margin-bottom:32px}.brand{text-decoration:none;color:var(--text-strong);display:flex;align-items:center}.brand-text strong{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}.primary-nav{display:flex;gap:8px}.nav-link{padding:6px 12px;color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none;border-radius:var(--radius-sm);transition:all .2s}.nav-link:hover{color:var(--text-strong);background:var(--panel-tinted)}.nav-link.is-active{color:var(--text-strong);background:var(--panel-tinted);box-shadow:inset 0 0 0 1px var(--line)}.lang-toggle{font-family:var(--font-mono);border-left:1px solid var(--line);border-radius:0;margin-left:4px;padding-left:16px}.eyebrow{color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}h1,h2,h3,h4{color:var(--text-strong);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0}.page-title{font-size:clamp(3rem,8vw,4.5rem);letter-spacing:-.04em;line-height:1.05;margin-bottom:24px;color:var(--text-strong)}.lead{font-size:clamp(1.1rem,2vw,1.25rem);color:var(--text);line-height:1.6;max-width:640px;margin-bottom:32px}.lead code{background:var(--panel-tinted);border:1px solid var(--line);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--text-strong)}.section{margin-top:120px}.section-heading{margin-bottom:40px;border-bottom:1px solid var(--line);padding-bottom:24px}.section-heading h2{font-size:1.8rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:32px;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 4px 16px #0000000a}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tag{font-size:.75rem;font-family:var(--font-mono);font-weight:500;color:var(--text);background:var(--panel-tinted);border:1px solid var(--line);padding:4px 10px;border-radius:99px}.fade-up{animation:fade-in-up .8s cubic-bezier(.16,1,.3,1) both}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.site-footer{margin-top:120px;padding:40px 0;border-top:1px solid var(--line)}.site-footer-inner{display:flex;justify-content:space-between;align-items:center}.copyright{color:var(--muted);font-family:var(--font-mono);font-size:.8rem;margin:0}@media(max-width:768px){.site-header{flex-direction:column;align-items:flex-start;gap:16px}.primary-nav{margin-left:-12px}.section{margin-top:80px}}
