.fp{--fp-night:#0b1422;--fp-night-2:#131f31;--fp-night-line:#243449;--fp-night-text:#9fb0c4;--fp-night-accent:#6cc3e0}.fp-in{max-width:1160px;margin-inline:auto;padding-inline:24px}.fp-narrow{max-width:820px}:where(.fp) :where(h1,h2,h3){color:var(--ink);text-wrap:balance;margin:0}:where(.fp) :where(p){margin:0}.fp-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12.5px;font-weight:500}.fp-hero{background:radial-gradient(1200px 400px at 85% -10%, var(--accent-50), transparent 70%), var(--bg);padding-block:136px 80px}.fp-hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:56px;margin-top:32px;display:grid}.fp-hero h1{letter-spacing:-.04em;margin-top:14px;font-size:clamp(34px,4.6vw,56px);font-weight:760;line-height:1.05}.fp-lead{color:var(--text-muted);text-box:trim-start cap alphabetic;max-width:62ch;font-size:18px;line-height:1.7}@supports not (text-box:trim-start cap alphabetic){.fp-lead{margin-top:calc(.5em - .5lh)}}.fp-lead b{color:var(--ink);font-weight:600}.fp-ctas{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.fp-micro{color:var(--text-subtle);margin-top:12px;font-size:13.5px}.fp-term{border:1px solid var(--fp-night-line);background:#060c16;border-radius:12px;overflow:hidden}.fp-term__bar{border-bottom:1px solid var(--fp-night-line);color:#7d8fa6;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;font-size:12px;display:flex}.fp-term__bar button{font:inherit;color:#c4d0de;border:1px solid var(--fp-night-line);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:12px}.fp-term__bar button:hover{border-color:var(--fp-night-accent)}.fp-term pre{font-family:var(--font-mono);color:#dfe8f2;white-space:pre-wrap;word-break:break-all;background:0 0;border:0;margin:0;padding:16px;font-size:12.5px;line-height:1.7}.fp-term pre span{color:var(--fp-night-accent)}.fp-sec{padding-block:96px;scroll-margin-top:64px}.fp-sec--band{background:var(--band)}.fp-head{max-width:760px}.fp-head h2,.fp-narrow>h2{letter-spacing:-.035em;margin-top:12px;font-size:clamp(28px,3.4vw,40px);font-weight:740;line-height:1.1}.fp-head p{color:var(--text-muted);margin-top:16px;font-size:17.5px;line-height:1.6}.fp-sec--night{background:var(--fp-night);color:var(--fp-night-text)}.fp-sec--night h2,.fp-sec--night h3{color:#fff}.fp-sec--night .fp-eyebrow{color:var(--fp-night-accent)}.fp-sec--night .fp-head p{color:var(--fp-night-text)}.fp-tools{background:var(--fp-night-line);border:1px solid var(--fp-night-line);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;margin-top:48px;display:grid;overflow:hidden}.fp-tools__group{background:var(--fp-night-2);padding:24px}.fp-tools__group h3{font-size:16px;font-weight:640}.fp-tools__group h3 span{font-family:var(--font-mono);color:var(--fp-night-accent);margin-left:6px;font-size:11.5px;font-weight:500}.fp-tools dl{margin:12px 0 0}.fp-tools dl div{border-top:1px solid var(--fp-night-line);padding:10px 0}.fp-tools dt code{font-family:var(--font-mono);color:#fff;background:0 0;padding:0;font-size:13px}.fp-tools dd{margin:4px 0 0;font-size:14px;line-height:1.5}.fp-head p b{color:var(--ink);font-weight:600}.fp-prompts{grid-template-columns:1fr 1fr;gap:40px 48px;margin-top:48px;display:grid}.fp-prompts h3{letter-spacing:-.01em;font-size:17px}.fp-prompts ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.fp-prompts li{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin:0;padding:12px 14px}.fp-prompts q{quotes:none;color:var(--ink);font-size:15px;line-height:1.45;display:block}.fp-prompts li span{font-family:var(--font-mono);color:var(--text-subtle);margin-top:6px;font-size:12px;display:block}.fp-grid3,.fp-grid2{grid-template-columns:repeat(3,1fr);gap:36px 48px;margin-top:48px;display:grid}.fp-grid2{grid-template-columns:1fr 1fr}.fp-grid3 h3,.fp-grid2 h3{letter-spacing:-.01em;font-size:17px;line-height:1.3}.fp-grid3 p,.fp-grid2 p{color:var(--text-muted);margin-top:8px;font-size:15px;line-height:1.55}.fp-steps{counter-reset:s;grid-template-columns:repeat(4,1fr);gap:32px;margin:40px 0 0;padding:0;list-style:none;display:grid}.fp-steps li{counter-increment:s;border-top:2px solid var(--border-strong);margin:0;padding-top:14px}.fp-steps li:first-child{border-top-color:var(--ink)}.fp-steps b{color:var(--ink);font-size:15.5px;font-weight:640;display:block}.fp-steps b:before{content:counter(s) ". ";font-family:var(--font-mono);color:var(--accent)}.fp-steps span{color:var(--text-muted);margin-top:6px;font-size:14.5px;line-height:1.5;display:block}.fp-shot{margin:48px 0 0}.fp-shot img{width:100%;height:auto;display:block}.fp-shot figcaption{color:var(--text-subtle);text-align:center;margin-top:12px;font-size:14px}.fp-table-wrap{border:1px solid var(--border);border-radius:12px;margin-top:40px;overflow-x:auto}.fp-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14.5px}.fp-table th,.fp-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 16px;line-height:1.45}.fp-table thead th{color:var(--text-subtle);background:var(--band);font-size:13px;font-weight:600}.fp-table tbody th{color:var(--ink);font-weight:600}.fp-table td{color:var(--text-muted)}.fp-table tr:last-child th,.fp-table tr:last-child td{border-bottom:0}.fp-table tr.is-ours th,.fp-table tr.is-ours td{background:var(--accent-50);color:var(--ink)}.fp-note{color:var(--text-subtle);margin-top:16px;font-size:14px;line-height:1.6}.fp-fit{letter-spacing:-.015em;margin-top:40px;font-size:20px}.fp-fit-body{color:var(--text-muted);max-width:75ch;margin-top:10px;font-size:16px;line-height:1.65}.fp-faq{border-top:1px solid var(--border);padding:20px 0}.fp-narrow>h2+.fp-faq{margin-top:24px}.fp-faq h3{font-size:17px;line-height:1.35}.fp-faq p{color:var(--text-muted);margin-top:8px;font-size:15.5px;line-height:1.6}.fp-related-h{margin-top:56px}.fp-related{gap:8px;margin:16px 0 48px;padding-left:20px;font-size:15.5px;display:grid}.fp-findings{border:1px solid var(--border-strong);background:var(--bg);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0a14240d,0 24px 48px -28px #0a14244d}.fp-findings__bar{border-bottom:1px solid var(--border);color:var(--ink);background:var(--band);padding:10px 16px;font-size:13px;font-weight:600}.fp-findings__sql{font-family:var(--font-mono);color:var(--ink);border:0;border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:0 0;margin:0;padding:12px 16px;font-size:12.5px;line-height:1.6}.fp-findings dl{margin:0}.fp-findings dl div{border-top:1px solid var(--border);padding:12px 16px}.fp-findings dl div:first-child{border-top:0}.fp-findings dt{font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.fp-findings dd{color:var(--text);margin:4px 0 0;font-size:14.5px;line-height:1.5}.fp-findings__note{color:var(--text-subtle);margin-top:10px;font-size:13px}.fp-grid4{grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px;display:grid}.fp-grid4 h3{letter-spacing:-.01em;font-size:16px;line-height:1.3}.fp-grid4 p{color:var(--text-muted);margin-top:8px;font-size:14.5px;line-height:1.55}.fp-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;display:grid}.fp-cards a{border:1px solid var(--border);color:inherit;background:var(--bg);border-radius:12px;padding:18px;text-decoration:none;display:block}.fp-cards a:hover{border-color:var(--border-strong)}.fp-cards a:hover b{color:var(--accent)}.fp-cards__db{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);font-size:11.5px;display:block}.fp-cards b{color:var(--ink);margin-top:8px;font-size:15.5px;line-height:1.35;display:block}.fp-cards span:last-child{color:var(--text-muted);margin-top:6px;font-size:14px;line-height:1.5;display:block}.fp-sec--night code{font-family:var(--font-mono);color:#fff;background:var(--fp-night-2);border-radius:4px;padding:1px 5px;font-size:.9em}.fp-sec--night .fp-head p b,.fp-sec--night .fp-grid2 h3{color:#fff}.fp-sec--night .fp-grid2 p{color:var(--fp-night-text)}@media (width<=960px){.fp-hero__grid,.fp-tools,.fp-grid2,.fp-prompts{grid-template-columns:1fr;gap:32px}.fp-tools{gap:1px}.fp-grid3,.fp-steps,.fp-grid4,.fp-cards{grid-template-columns:1fr 1fr}}@media (width<=640px){.fp-in{padding-inline:16px}.fp-hero{padding-block:112px 56px}.fp-sec{padding-block:64px}.fp-grid3,.fp-steps,.fp-grid4,.fp-cards{grid-template-columns:1fr}}
