:root{--bg:#fafaf9;--surface:#fff;--surface-2:#f1f1ef;--text:#14161c;--muted:#4b5163;--border:#dcdde2;--accent:#4338ca;--accent-strong:#3730a3;--on-accent:#fff;--btn:#4338ca;--btn-hover:#3730a3;--ok-bg:#dcfce7;--ok-fg:#14532d;--warn-bg:#fef3c7;--warn-fg:#6b4200;--plan-bg:#ececef;--plan-fg:#3b4151;--code-bg:#12151d;--code-fg:#e8ebf2;--code-dim:#a3abc0;--code-acc:#a5b4fc;--code-border:#12151d;--sel-bg:#c7d2fe;--sel-fg:#14161c;--focus:#4338ca;--logo-strong:#4338ca;--logo-off:#bfc9fb;--link:#14161c;--link-hover:#3730a3;--link-line:#6258e8;--link-line-hover:#3730a3;--cat-1:#0f766e;--cat-2:#4338ca;--cat-3:#15803d;--cat-4:#a21caf;--cat-5:#1d4ed8;--cat-6:#6d28d9;--cat-7:#475569;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--max:70rem;--gutter:clamp(1rem, 4vw, 2rem);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d12;--surface:#12151c;--surface-2:#1a1e29;--text:#e8eaf0;--muted:#a1a9bb;--border:#262b3a;--accent:#9fb0ff;--accent-strong:#c7d2fe;--on-accent:#fff;--btn:#4f46e5;--btn-hover:#4338ca;--ok-bg:#11301f;--ok-fg:#86efac;--warn-bg:#352a08;--warn-fg:#fcd34d;--plan-bg:#232836;--plan-fg:#c3c9da;--code-bg:#05070b;--code-fg:#e8ebf2;--code-dim:#9aa3b8;--code-acc:#a5b4fc;--code-border:#2c3243;--sel-bg:#4f46e5;--sel-fg:#fff;--focus:#9fb0ff;--logo-strong:#9fb0ff;--logo-off:#3d4380;--link:#e8eaf0;--link-hover:#c7d2fe;--link-line:#7c8cf5;--link-line-hover:#9fb0ff;--cat-1:#5eead4;--cat-2:#9fb0ff;--cat-3:#86efac;--cat-4:#f0abfc;--cat-5:#93c5fd;--cat-6:#c4b5fd;--cat-7:#94a3b8;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0d12;--surface:#12151c;--surface-2:#1a1e29;--text:#e8eaf0;--muted:#a1a9bb;--border:#262b3a;--accent:#9fb0ff;--accent-strong:#c7d2fe;--on-accent:#fff;--btn:#4f46e5;--btn-hover:#4338ca;--ok-bg:#11301f;--ok-fg:#86efac;--warn-bg:#352a08;--warn-fg:#fcd34d;--plan-bg:#232836;--plan-fg:#c3c9da;--code-bg:#05070b;--code-fg:#e8ebf2;--code-dim:#9aa3b8;--code-acc:#a5b4fc;--code-border:#2c3243;--sel-bg:#4f46e5;--sel-fg:#fff;--focus:#9fb0ff;--logo-strong:#9fb0ff;--logo-off:#3d4380;--link:#e8eaf0;--link-hover:#c7d2fe;--link-line:#7c8cf5;--link-line-hover:#9fb0ff;--cat-1:#5eead4;--cat-2:#9fb0ff;--cat-3:#86efac;--cat-4:#f0abfc;--cat-5:#93c5fd;--cat-6:#c4b5fd;--cat-7:#94a3b8;color-scheme:dark}:root[data-theme=light]{color-scheme:light}::selection{background:var(--sel-bg);color:var(--sel-fg)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:1rem/1.65 var(--font);margin:0}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6em;line-height:1.15}h1{font-size:clamp(2.2rem,6vw + .5rem,4rem);font-weight:750}h2{font-size:clamp(1.6rem,3vw + .5rem,2.4rem);font-weight:700}h3{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}p{max-width:68ch;margin:0 0 1em}:where(a){color:var(--link);text-decoration-line:underline;text-decoration-color:var(--link-line);text-underline-offset:.22em;text-decoration-thickness:1.5px;transition:color .15s,text-decoration-color .15s,text-decoration-thickness .15s}:where(a:visited){color:var(--link)}:where(a:hover){color:var(--link-hover);text-decoration-color:var(--link-line-hover);text-decoration-thickness:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}code,pre{font-family:var(--mono)}code{background:var(--surface-2);color:var(--text);border-radius:4px;padding:.1em .35em;font-size:.9em}pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.skip{background:var(--btn);color:#fff;z-index:50;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{border-top:1px solid var(--border);padding:clamp(3rem,8vw,6rem) 0}.eyebrow{font:600 .8rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 1rem}.lead{color:var(--muted);font-size:clamp(1.1rem,1.2vw + .9rem,1.35rem)}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.bar{flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;min-height:4rem;padding-block:.5rem;display:flex}.brand{color:var(--text);order:1;align-items:center;gap:.6rem;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{width:auto;height:28px}.site-nav{flex:auto;order:3}.nav{flex-wrap:wrap;gap:0 1rem;margin:0;padding:0;list-style:none;display:flex}.nav a{min-height:44px;color:var(--muted);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]{text-underline-offset:.5em;text-decoration:underline 2px}.themes{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:none;order:2;margin-left:auto;padding:2px;display:inline-flex}.themes[hidden]{display:none}.signin{border:1px solid var(--border);min-height:44px;color:var(--text);background:var(--surface);border-radius:12px;order:4;align-items:center;padding:0 .9rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.signin:hover{background:var(--surface-2);color:var(--text)}.themes button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.themes button:hover{color:var(--text)}.themes button[aria-pressed=true]{background:var(--btn);color:var(--on-accent)}.themes svg{width:20px;height:20px}@media (width>=52rem){.site-nav{flex:none;order:2}.signin{order:3;margin-left:auto}.themes{order:4;margin-left:.5rem}.signin+.themes{margin-left:.5rem}}.hero{padding:clamp(3rem,9vw,7rem) 0 clamp(2.5rem,6vw,5rem)}.badge{font:600 .8rem/1 var(--mono);background:var(--warn-bg);color:var(--warn-fg);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.45rem .75rem;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.hero h1{max-width:16ch}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:2rem;display:flex}.btn{background:var(--btn);min-height:44px;color:var(--on-accent);border:1px solid #0000;border-radius:10px;align-items:center;padding:0 1.25rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn:hover{background:var(--btn-hover);color:#fff}.btn.ghost{color:var(--text);border-color:var(--border);background:0 0}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.notice{border:1px dashed var(--border);min-height:44px;color:var(--muted);border-radius:10px;align-items:center;padding:0 1.1rem;font-weight:600;display:inline-flex}.grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=40rem){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:repeat(2,1fr)}}@media (width>=64rem){.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.card h3{margin:0}.card p{color:var(--muted);margin:0;font-size:.95rem}.card .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:auto;padding-top:.75rem;font-size:.85rem;display:flex}.floor{font:600 .85rem var(--mono);color:var(--text)}.pill{font:600 .72rem/1 var(--mono);white-space:nowrap;border-radius:999px;padding:calc(.35rem - 1px) calc(.55rem - 1px)}.pill.validated{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.pill.validated:before{content:"✓";color:var(--accent);margin-right:.35em}.pill.planned{color:var(--muted);border:1px dashed var(--muted);background:0 0}.step-n{font:700 .85rem var(--mono);color:var(--accent)}pre{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--code-border);tab-size:2;border-radius:12px;margin:0;padding:1.1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}pre .dim{color:var(--code-dim)}pre .k{color:var(--code-acc)}.codebox{margin-top:2rem}.codebox .tag{background:var(--surface-2);color:var(--text);border:1px solid var(--code-border);border-bottom:0;border-radius:8px 8px 0 0;padding:.35rem .6rem;display:inline-block}.codebox pre{border-top-left-radius:0}.stats{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:2rem 0;display:grid}.stat{border-left:3px solid var(--accent);padding-left:1rem}.stat b{font:700 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--font);letter-spacing:-.02em;display:block}.stat span{color:var(--muted);font-size:.9rem}.tablewrap{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:42rem;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.8rem 1rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:650}tr:last-child td{border-bottom:0}td.num{font-family:var(--mono);white-space:nowrap}.prose h2{margin-top:2.5rem;font-size:1.5rem}.prose ul{max-width:68ch;padding-left:1.2rem}.prose li{margin-bottom:.4rem}.draft{border:1px solid var(--border);background:var(--warn-bg);color:var(--warn-fg);border-radius:12px;max-width:68ch;margin-bottom:2rem;padding:.9rem 1.1rem;font-weight:600}.page-head{padding-top:clamp(2.5rem,7vw,5rem);padding-bottom:2rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.brand-page .tile{color:var(--ink);background:var(--bg);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;padding:1rem;display:flex}.tile.light{--logo-strong:#4338ca;--logo-off:#bfc9fb;--bg:#fff;--ink:#14161c;--acc:var(--al);border-bottom:0;border-radius:12px 12px 0 0}.tile.dark{--logo-strong:#9fb0ff;--logo-off:#3d4380;--bg:#0b0d12;--ink:#eef0f4;--acc:var(--ad);border-radius:0 0 12px 12px}.a1{--al:#4338ca;--ad:#a5b4fc}.a2{--al:#0f766e;--ad:#5eead4}.a3{--al:#c2410c;--ad:#fdba74}.a4{--al:#be123c;--ad:#fda4af}.a5{--al:#15803d;--ad:#86efac}.a6{--al:#1d4ed8;--ad:#93c5fd}.a7{--al:#a16207;--ad:#fcd34d}.a8{--al:#a21caf;--ad:#f0abfc}.m{flex:none;display:block}.m32{width:32px;height:32px}.m40{width:40px;height:40px}.m160{width:160px;height:160px}.lockup{letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;display:inline-flex}.opt{display:block}.opt h2{letter-spacing:0;margin:0 0 .5rem;font-size:1.05rem}.opt h2 span{font:600 .8rem var(--mono);color:var(--muted)}.brand-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr));gap:1.5rem;display:grid}.crumbs{padding-top:1rem;font-size:.9rem}.crumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 .5rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li{align-items:center;min-height:44px;display:inline-flex}.crumbs li+li:before{content:"/";margin-right:.5rem}.crumbs a{align-items:center;min-height:44px;display:inline-flex}.updated{color:var(--muted);margin:0 auto;padding-bottom:2rem;font-size:.9rem}.facts{gap:.75rem;max-width:68ch;padding:0;list-style:none;display:grid}.facts li{border-left:3px solid var(--accent);padding-left:1rem}.src{color:var(--muted);font-size:.85rem;display:block}.link-list{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.25rem 1.5rem;padding:0;list-style:none;display:grid}.link-list a{align-items:center;min-height:44px;display:inline-flex}dl.terms dt{margin-top:1.5rem;font-weight:650}dl.terms dd{color:var(--muted);max-width:68ch;margin:.25rem 0 0}.tablewrap a{padding:.5rem 0;display:inline-block}.card a.cover{color:inherit;text-decoration:none}.pb2{padding-bottom:2rem}.pb3{padding-bottom:3rem}.pb4{padding-bottom:4rem}.pb6{padding-bottom:6rem}.mt1{margin-top:1rem}.mt15{margin-top:1.5rem}.mt2{margin-top:2rem}.mt25{margin-top:2.5rem}.cardh{margin:0;font-size:1.1rem}.sr{position:absolute;left:-999px}.sprite{position:absolute}th.rowh{text-transform:none;letter-spacing:0;color:inherit;font-size:.95rem}table.compact{min-width:0}table.matrix{table-layout:fixed;min-width:88rem}table.matrix th,table.matrix td{width:10.5rem}table.matrix th:first-child{background:var(--surface);z-index:1;border-right:1px solid var(--border);width:11rem;position:sticky;left:0}.narrow{max-width:40rem}.spacer{height:3rem}.subtle{color:var(--muted);font-weight:400}.summary-box{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:12px;max-width:68ch;margin:1.5rem 0;padding:1rem 1.25rem}.summary-box h2{letter-spacing:0;margin:0 0 .5rem;font-size:1rem}.summary-box ul{margin:0;padding-left:1.2rem}.ph{font-family:var(--mono);background:var(--warn-bg);color:var(--warn-fg);border-radius:4px;padding:.05em .3em;font-size:.9em}.brand svg.logo,.logo-mark{display:block}.final{margin-bottom:3rem}.sel{font:600 .72rem var(--mono);background:var(--btn);color:var(--on-accent);border-radius:999px;margin-left:.5rem;padding:.2rem .5rem}.m16{width:16px;height:16px}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:.75rem 0;font-size:.9rem}.fgrid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;display:flex}.fleft{min-width:0}.fcopy{text-wrap:balance;max-width:none;margin:0}.site-footer ul{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.flinks{gap:0 1rem}.site-footer a{min-height:44px;color:var(--muted);align-items:center;text-decoration:none;display:inline-flex}.site-footer a:visited{color:var(--muted)}.site-footer a:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--link-line);text-underline-offset:.22em;text-decoration-thickness:2px}.social{gap:0 .25rem}.social a{border-radius:10px;justify-content:center;width:44px}.social a:hover{background:var(--surface-2);text-decoration:none}.social svg{width:22px;height:22px}.qa{border-top:1px solid var(--border);max-width:68ch}.qa details{border-bottom:1px solid var(--border)}.qa summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.5rem 0;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa summary h3{margin:0;font-size:1.05rem}.qa summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:.55rem;height:.55rem;margin-right:.3rem;transition:transform .2s;transform:rotate(45deg)}.qa details[open] summary:after{transform:rotate(-135deg)}.qa summary:hover h3{color:var(--link-hover)}.qa .ans{padding-bottom:1rem}.qa .ans p{color:var(--muted);margin:0}.qa .ans strong{color:var(--text)}@media (prefers-reduced-motion:no-preference){@supports (interpolate-size:allow-keywords){.qa details{interpolate-size:allow-keywords}.qa details::details-content{block-size:0;transition:block-size .25s ease, content-visibility .25s allow-discrete;overflow:hidden}.qa details[open]::details-content{block-size:auto}}}.svc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;display:grid}.svc{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.6rem;padding:1.1rem 1.15rem 1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.svc.has-link:hover{border-color:var(--cat);transform:translateY(-2px)}.svc.wip{background:var(--bg);border-style:dashed}.svc-top{align-items:center;gap:.75rem;display:flex}.glyph{width:40px;height:40px;color:var(--cat);border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:none;padding:8px}.glyph svg{width:100%;height:100%;display:block}.svc h3{margin:0;font-size:1.05rem;line-height:1.2}.tag{font:600 .72rem/1.2 var(--mono);color:var(--muted);align-items:center;gap:.4rem;display:inline-flex}.tag i{background:var(--cat);border-radius:50%;width:.5rem;height:.5rem}.svc p{color:var(--muted);margin:0;font-size:.92rem}.svc a.cover{color:inherit;text-decoration:none}.svc a.cover:after{content:"";border-radius:14px;position:absolute;inset:0}.svc a.cover:focus-visible{outline:none}.svc a.cover:focus-visible:after{outline:3px solid var(--focus);outline-offset:2px}.svc-foot{gap:.45rem;margin-top:auto;padding-top:.4rem;display:grid}.floor-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.floorbar{width:100%;height:12px;display:block}.floorbar .track{fill:var(--surface-2)}.floorbar .fill{fill:var(--accent)}.floorbar .tick{stroke:var(--surface);stroke-width:.45px}.floorbar .empty{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:1.3 1.3}.scale{font:.68rem var(--mono);color:var(--muted);justify-content:space-between;display:flex}.cat-1{--cat:var(--cat-1)}.cat-2{--cat:var(--cat-2)}.cat-3{--cat:var(--cat-3)}.cat-4{--cat:var(--cat-4)}.cat-5{--cat:var(--cat-5)}.cat-6{--cat:var(--cat-6)}.cat-7{--cat:var(--cat-7)}.legend{color:var(--muted);max-width:none;margin:0 0 1rem;font-size:.9rem}.scalar-wrap{border-block:1px solid var(--border);background:var(--surface)}.scalar-host{min-height:40rem}.plans{margin-top:1rem}.plan h2{margin:0;font-size:1.35rem}.plan.featured{border-color:var(--accent);background:var(--surface-2)}.plan .price{color:var(--text);font-size:1rem}.plan .price strong{font-size:1.8rem}.plan-list{color:var(--text);margin:.25rem 0;padding-left:1.1rem;font-size:.95rem}.plan-note{font-size:.9rem}.plan .btn{justify-content:center}.plan>*{margin:0}.plan{flex-direction:column;gap:.75rem;display:flex}.plan .pricebox,.plan .plan-list{position:relative}.plan .pricebox:before,.plan .plan-list:before{content:"";background:var(--border);height:1px;position:absolute;top:-.375rem;left:0;right:0}.plan .plan-list:before{left:-1.1rem}.plan-note:empty{display:none}@media (width>=40rem){.plans .plan{grid-row:span 6;grid-template-rows:subgrid;align-content:start;row-gap:.75rem;display:grid}.plans .plan-note:empty{display:block}}
