:root,[data-theme=dark]{--bg:#0a0a0a;--bg-elevated:#111;--card:#111;--card-hover:#161616;--border:#1a1a1a;--border-strong:#222;--text:#fafafa;--text-secondary:#888;--text-muted:#666;--text-faint:#555;--accent:#4ade80;--accent-hover:#22c55e;--accent-gradient:linear-gradient(135deg,#4ade80,#22d3ee);--social-bg:#162316;--social-accent:#4ade80;--input-bg:#111;--input-border:#222;--input-focus:#4ade80;--overlay:rgba(0,0,0,0.6);--shadow:0 1px 3px rgba(0,0,0,0.4);--shadow-lg:0 4px 12px rgba(0,0,0,0.5);color-scheme:dark}[data-theme=light]{--bg:#fafaf8;--bg-elevated:#fff;--card:#fff;--card-hover:#f5f5f3;--border:#e5e5e0;--border-strong:#d4d4cf;--text:#1a1a1a;--text-secondary:#555;--text-muted:#777;--text-faint:#999;--accent:#16a34a;--accent-hover:#15803d;--accent-gradient:linear-gradient(135deg,#16a34a,#0891b2);--social-bg:#ecfdf5;--social-accent:#16a34a;--input-bg:#fff;--input-border:#d4d4cf;--input-focus:#16a34a;--overlay:rgba(0,0,0,0.3);--shadow:0 1px 3px rgba(0,0,0,0.08);--shadow-lg:0 4px 12px rgba(0,0,0,0.1);color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background .2s ease,color .2s ease}@media (max-width:767px){body{padding-bottom:calc(1.25rem + 48px + env(safe-area-inset-bottom, 0px))}}h1,h2,h3,h4,h5,h6{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.2;color:var(--text)}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.75rem,4vw,2.25rem)}h3{font-size:1.75rem}h4{font-size:1.25rem}.mono,code,pre{font-family:DM Mono,Consolas,monospace}p{color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}img,svg,video{max-width:100%;display:block}button{cursor:pointer}button,input,select,textarea{font-family:inherit}