:root{--bg:#0b1020;--bg2:#111733;--ink:#0b1020;--muted:#5b6478;--line:#e7eaf2;--card:#fff;--accent:#ff6a1a;--accent2:#ec6300;--good:#10b981;--warn:#f59e0b;--bad:#ef4444}*{box-sizing:border-box}html,body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#f7f8fb;margin:0;font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}header.nav{z-index:10;backdrop-filter:blur(10px);color:#fff;background:#0b1020eb;border-bottom:1px solid #ffffff14;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.logo{align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.logo-mark{background:linear-gradient(135deg,var(--accent),#ff9a3c);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}nav ul{color:#cfd4e4;gap:28px;margin:0;padding:0;font-size:14.5px;list-style:none;display:flex}nav a.active,nav a:hover{color:#fff}.nav-cta{background:var(--accent);color:#fff;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.page-head{background:linear-gradient(180deg,var(--bg),var(--bg2));color:#fff;padding:72px 0 56px}.page-head .eyebrow{color:#ff9a3c;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}.page-head h1{letter-spacing:-.02em;max-width:820px;margin:8px 0 14px;font-size:clamp(32px,4.5vw,52px);font-weight:800}.page-head p{color:#b8c0d6;max-width:680px;margin:0;font-size:17px}section.block{padding:72px 0}h2{letter-spacing:-.02em;margin:0 0 10px;font-size:28px;font-weight:800}.lede{color:var(--muted);max-width:720px;margin:0 0 36px;font-size:16px}.diagram{border:1px solid var(--line);background:#fff;border-radius:18px;padding:32px;overflow-x:auto}.pipe{grid-template-columns:1fr 1fr 1fr 1fr;align-items:stretch;gap:20px;min-width:880px;display:grid}.col{flex-direction:column;gap:10px;display:flex}.col-title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:center;margin-bottom:6px;font-size:11px;font-weight:700}.node{border:1px solid var(--line);color:#2a3247;background:#f7f8fb;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.node .dot{background:var(--good);border-radius:50%;flex-shrink:0;width:8px;height:8px}.node.warn .dot{background:var(--warn)}.node.bad .dot{background:var(--bad)}.node.hero{color:var(--accent2);background:linear-gradient(135deg,#fff3ea,#ffe0cc);border-color:#ffc9a3}.node .kind{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:500}.arrows{color:#c9cfdc;text-align:center;margin-top:18px;font-size:22px;position:relative}.sources{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;display:grid}.src{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.src h4{margin:0 0 4px;font-size:15px}.src .badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-bottom:8px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-block}.badge.free{color:#065f46;background:#dcfce7}.badge.paid{color:#92400e;background:#fef3c7}.badge.scrape{color:#991b1b;background:#fee2e2}.src p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.schema{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px;display:grid}.tbl{color:#cfd4e4;background:#0f1530;border-radius:14px;padding:18px 20px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.9}.tbl .name{color:#ff9a3c;margin-bottom:4px;font-size:13px;font-weight:700}.tbl .k{color:#7dd3fc}.tbl .t{color:#86efac}.flow-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:18px;margin-bottom:12px;padding:22px 24px;display:flex}.flow-num{background:var(--ink);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.flow-card h4{margin:0 0 4px;font-size:16px}.flow-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}footer{color:#8a93ad;background:#0b1020;padding:48px 0;font-size:13.5px}.foot{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}@media (width<=860px){.sources,.schema{grid-template-columns:1fr}}
