@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-ext-400-normal.1pfgs2ppes6ct.woff2)format("woff2"),url(../media/dm-mono-latin-ext-400-normal.0v8siylx-sjgb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-400-normal.3cj_yefp0d3o_.woff2)format("woff2"),url(../media/dm-mono-latin-400-normal.1uf9q2fklt56m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ground:#fafaf8;--surface:#fff;--subtle:#f2f2ef;--line:#e6e4e0;--ink:#111;--ink-mid:#5a5a5a;--ink-tert:#a5a199;--sat:#e8661c;--sat-deep:#c94f12;--sat-soft:#fdeee2;--sat-mid:#f4b183;--rule:#1c1a1724;--shadow:0 1px 2px #1c1a170a, 0 8px 24px -12px #1c1a1729;--shadow-sm:0 1px 2px #1c1a170d, 0 4px 12px -6px #1c1a171f;--bg:var(--ground);--muted:var(--ink-mid);--accent:var(--sat);--accent-ink:#fff;--accent-tint:var(--sat-soft);--warm:var(--sat-deep);--ok:#178a4f;--err:#c0392b;--radius:16px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:var(--font-sans);--font-mono:"DM Mono", "SF Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}::selection{background:var(--accent-tint)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:650}h1{font-size:clamp(30px,5vw,44px);line-height:1.1}h2{font-size:24px}h3{font-size:18px}p{line-height:1.65}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono);font-size:.9em}.tabular{font-variant-numeric:tabular-nums}.font-serif-accent{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.dot-grid{background-image:radial-gradient(#1c1a170f 1.5px,#0000 1.5px);background-size:18px 18px}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.stack>*+*{margin-top:16px}.muted{color:var(--ink-mid)}.btn{font:600 15.5px var(--font-sans);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--sat-deep);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:#b3430f}.btn-dark{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.btn-dark:hover{background:#2a2a2a}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--subtle)}.btn[disabled]{opacity:.55;cursor:default;transform:none}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:22px}.card-dark{background:var(--ink);color:#fff;box-shadow:var(--shadow);border:0}.badge,.tag{font:600 12.5px var(--font-mono);border-radius:999px;align-items:center;gap:5px;padding:3px 12px;display:inline-flex}.badge-soft,.tag{background:var(--sat-soft);color:#b3430f}.badge-subtle{background:var(--subtle);color:var(--ink-mid)}.badge-dark{background:var(--ink);color:#fff}.tag-locked{color:var(--warm);background:#f6efe7}.spec-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);margin:0 0 6px;font-size:11px;font-weight:650}.spec-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.spec-row:last-child{border-bottom:0}.editor{font-family:var(--font-mono);resize:vertical;color:#e8eaee;width:100%;min-height:140px;caret-color:var(--sat-mid);background:#0f1115;border:1px solid #0000;border-radius:12px;outline:none;padding:14px 16px;font-size:14px;line-height:1.5}.editor:focus{border-color:var(--sat-mid)}.sql-ok{color:var(--ok)}.sql-err{color:var(--err)}table.data{border-collapse:collapse;font:13.5px var(--font-mono);font-variant-numeric:tabular-nums}table.data th,table.data td{border:1px solid var(--line);text-align:left;padding:5px 12px}table.data th{background:var(--subtle);font-weight:600}.site-header{background:var(--ground);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:0}.site-footer{border-top:1px solid var(--line);margin-top:48px}.site-inner{max-width:960px;margin:0 auto;padding:13px 20px}.nav{align-items:center;gap:20px;display:flex}.nav a{color:var(--ink-mid);align-items:center;font-weight:550;display:inline-flex}.nav a:not(.btn){padding:11px 2px}.nav a:hover{color:var(--ink)}.nav .brand{color:var(--ink);font-weight:800}.skip-link{z-index:200;background:var(--ink);color:#fff;font:600 15px var(--font-sans);border-radius:0 0 10px;padding:12px 18px;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.hero{padding:64px 0 44px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:44px;display:grid}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}html{scroll-behavior:auto}}@media (max-width:760px){.hero{padding:40px 0 24px}.hero-grid{grid-template-columns:1fr}body{font-size:16px}h1{font-size:clamp(26px,7vw,34px)}.wrap,.card{padding:16px}.site-header .nav-link{display:none}}
