:root{--bg: #0c0d0b;--bg-raised: #10110e;--surface: #121310;--surface-2: #0f100d;--tint: #1a1c14;--border: #2a2d24;--border-soft: #23251f;--border-strong: #34372e;--text: #f2f2ec;--text-2: #d6d7cf;--muted: #a6a89e;--faint: #85877d;--ghost: #3a3d33;--accent: #cdf24a;--accent-hover: #e4ff8a;--on-accent: #0c0d0b;--info: #8fb8ff;--bad: #e58a7b;--bad-soft: #221614;--radius: 12px;--maxw: 760px;--font: Geist, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "Cascadia Code", Menlo, monospace;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--accent-hover)}img{max-width:100%}h1,h2,h3{line-height:1.15;letter-spacing:-.025em;font-weight:700}h1{font-size:clamp(2.2rem,5vw,3rem);margin:.2em 0 .3em}h2{font-size:1.75rem;margin-top:2.2em;font-weight:600;letter-spacing:-.02em}h3{font-size:1.2rem;margin-top:1.8em;font-weight:600;letter-spacing:-.01em}::selection{background:var(--accent);color:var(--on-accent)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.wrap-wide{max-width:1200px;margin:0 auto;padding:0 24px}.eyebrow{margin:0 0 12px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.mono{font-family:var(--mono)}header.site{border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}header.site .bar{max-width:1320px;margin:0 auto;padding:0 24px;min-height:66px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;color:var(--text);font-weight:600;letter-spacing:-.01em}.brand:hover{color:var(--text)}.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex:none}header.site nav{display:flex;gap:22px;align-items:center;font-size:15px;flex-wrap:wrap}header.site nav a:not(.btn){color:var(--muted);text-decoration:none}header.site nav a:not(.btn):hover{color:var(--text)}footer.site{margin-top:96px;border-top:1px solid var(--border-soft);color:var(--faint);font-size:14px}footer.site .wrap-wide{padding-top:32px;padding-bottom:48px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;cursor:pointer;font:inherit;font-size:16px;font-weight:600;line-height:1.2;background:var(--accent);color:var(--on-accent);padding:12px 22px;border-radius:10px;text-decoration:none;transition:background .15s,border-color .15s}.btn:hover{background:var(--accent-hover);color:var(--on-accent)}.btn.secondary{background:transparent;color:var(--text);border-color:var(--border-strong);font-weight:500}.btn.secondary:hover{border-color:var(--muted);color:var(--text)}.btn:disabled{opacity:.55;cursor:default}.btn.small{padding:8px 14px;font-size:14px;min-height:38px}.badge{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:5px;background:var(--text-2);color:var(--on-accent);vertical-align:middle;line-height:1.6}.badge.free{background:var(--accent)}.badge.muted{background:var(--border-soft);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px 28px}.muted{color:var(--muted)}.prose{color:var(--text-2)}.prose h2,.prose h3,.prose strong{color:var(--text)}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose code{font-family:var(--mono);background:var(--tint);border:1px solid var(--border-soft);padding:.08em .4em;border-radius:5px;font-size:.86em;color:var(--text)}.prose pre{font-family:var(--mono);padding:16px 18px;border-radius:10px;overflow-x:auto;font-size:14px;line-height:1.7;border:1px solid var(--border);background:var(--surface-2)!important;margin:0 0 1.4em}.prose pre code{background:none;border:0;padding:0;font-size:inherit}.prose blockquote{margin:1.6em 0;padding:14px 20px;border:1px solid #34382a;background:var(--tint);border-radius:10px;color:var(--text-2)}.prose blockquote p{margin:.2em 0}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto;margin:0 0 1.4em}.prose th,.prose td{border-bottom:1px solid var(--border);padding:9px 12px;text-align:left;vertical-align:top}.prose th{color:var(--text);font-weight:600;border-bottom-color:var(--border-strong)}.prose li{margin:.3em 0}.prose li::marker{color:var(--faint)}.prose kbd{font-family:var(--mono);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:0 6px;font-size:.82em;background:var(--surface);color:var(--text)}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.prose ul.contains-task-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.prose li.task-list-item{margin:0;display:flex;gap:12px;align-items:flex-start;padding:11px 16px;border:1px solid var(--border);border-radius:10px}.prose li.task-list-item input{width:18px;height:18px;margin:4px 0 0;accent-color:var(--accent);flex:none}
