:root{--ink:#0a0a0a;--ink-2:#3c3f44;--ink-3:#6b7078;--ink-4:#9aa0a8;--line:#e8e9ec;--line-2:#f1f2f4;--bg:#fff;--bg-2:#fafafa;--bg-3:#f6f7f8;--accent:#4f46e5;--accent-ink:#4338ca;--accent-bg:#eef0fe;--live:#0f9d58;--live-bg:#e7f5ec;--beta:#b7791f;--beta-bg:#fbf1dd;--announced:#6b7078;--announced-bg:#f0f1f3;--mono:ui-monospace, "SF Mono", "SFMono-Regular", "Menlo", "Consolas", monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:10px;--maxw:1120px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.mono{font-family:var(--mono)}.skip-link{background:var(--ink);color:#fff;z-index:100;border-radius:8px;padding:8px 14px;font-size:13.5px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}header.site{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#ffffffdb;position:sticky;top:0}.nav{align-items:center;gap:28px;height:58px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;display:flex}.brand .mark{background:var(--ink);color:#fff;width:26px;height:26px;font-family:var(--mono);border-radius:7px;place-items:center;font-size:13px;font-weight:600;display:grid}.brand .dot{color:var(--accent)}.nav-links{gap:22px;margin-left:8px;display:flex}.nav-links a{color:var(--ink-2);font-size:14px;font-weight:450}.nav-links a:hover{color:var(--ink)}.nav-right{align-items:center;gap:14px;margin-left:auto;display:flex}.btn{cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 14px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:hover{background:#222}.btn.ghost{color:var(--ink-2);border-color:var(--line);background:#fff}.btn.ghost:hover{color:var(--ink);border-color:var(--ink-4);background:#fff}.icon{flex:none;width:15px;height:15px;display:inline-block}.hero{border-bottom:1px solid var(--line);padding:76px 0 52px}.eyebrow{color:var(--accent-ink);background:var(--accent-bg);border:1px solid #dfe1fb;border-radius:100px;align-items:center;gap:8px;margin-bottom:22px;padding:4px 11px 4px 9px;font-size:12.5px;font-weight:500;display:inline-flex}.pulse{background:var(--live);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s infinite pulse;box-shadow:0 0 #0f9d5880}@keyframes pulse{0%{box-shadow:0 0 #0f9d5873}70%{box-shadow:0 0 0 7px #0f9d5800}to{box-shadow:0 0 #0f9d5800}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}h1{letter-spacing:-.028em;max-width:15ch;margin:0 0 20px;font-size:46px;font-weight:600;line-height:1.08}h1.wide{max-width:22ch}h1 .fade{color:var(--ink-3)}.sub{color:var(--ink-2);max-width:60ch;margin:0 0 30px;font-size:18px;font-weight:450;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chip{border:1px solid var(--line);height:34px;font-family:var(--mono);color:var(--ink-2);background:#fff;border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--ink-4);color:var(--ink)}.chip b{font-family:var(--sans);color:var(--ink);font-weight:500}.chip .g{color:var(--ink-4)}.chip .m{color:var(--live);font-weight:600}.qs-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:640px;overflow:hidden}.qs-tabs{background:var(--bg-3);border-bottom:1px solid var(--line);gap:2px;padding:5px 5px 0;display:flex}.qs-tab{appearance:none;cursor:pointer;font-family:var(--sans);color:var(--ink-3);background:0 0;border:1px solid #0000;border-radius:7px 7px 0 0;padding:8px 13px;font-size:13px;font-weight:500;transition:color .12s,background .12s;position:relative;top:1px}.qs-tab:hover{color:var(--ink-2)}.qs-tab[aria-selected=true]{color:var(--accent-ink);background:var(--accent-bg);border-color:#dfe1fb #dfe1fb #fff}.qs-body{padding:16px}.code-dark{background:var(--ink);border-radius:8px;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;display:flex}.code-dark .cd-lines{flex:1;overflow-x:auto}.code-dark .cd-comment{font-family:var(--mono);color:#7b8794;white-space:nowrap;margin-bottom:6px;font-size:13px}.code-dark .cd-cmd{font-family:var(--mono);color:#e6e8eb;white-space:nowrap;font-size:13px}.code-dark .cd-prompt{color:#6b7480}.code-dark .tok-flag{color:#a7adb8}.code-dark .tok-url{color:#a5b4fc}.copy-btn{appearance:none;cursor:pointer;height:34px;font-family:var(--sans);color:#b7bdc7;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;flex:none;padding:0 12px;font-size:12.5px;font-weight:500;transition:border-color .12s,color .12s,background .12s}.copy-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff52}.copy-btn.copied{color:#6ee7a8;background:#6ee7a81f;border-color:#6ee7a866}.link-row{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.link-row .lr-text{color:var(--ink-2);font-size:14px}.link-row a{color:var(--accent-ink);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.link-row a:hover{text-decoration:underline}.qs-caption{color:var(--ink-3);max-width:640px;margin:14px 0 0;font-size:13px}@media (prefers-reduced-motion:reduce){.qs-tab,.copy-btn{transition:none}}section{padding:56px 0}section.tight{padding:40px 0}.sec-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px;display:flex}.sec-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:600}.sec-note{color:var(--ink-3);font-size:13.5px}.sec-note a,a.inline-link{color:var(--accent-ink);font-weight:500}a.inline-link:hover{text-decoration:underline}.page-head{border-bottom:1px solid var(--line);padding:56px 0 40px}.page-head .breadcrumb{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:12.5px;display:flex}.page-head .breadcrumb a:hover{color:var(--ink);text-decoration:underline}.page-head .breadcrumb .sep{color:var(--ink-4)}.page-head h1{margin:0 0 16px;font-size:40px}.page-head .sub{margin-bottom:0}.cats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.cat{background:#fff;flex-direction:column;gap:12px;padding:22px 22px 20px;transition:background .12s;display:flex}.cat:hover{background:var(--bg-2)}.cat-top{justify-content:space-between;align-items:center;display:flex}.cat-ico{background:var(--bg-3);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);border-radius:9px;flex:none;place-items:center;display:grid}.cat-ico svg{width:18px;height:18px}.cat-count{font-family:var(--mono);color:var(--ink-3);font-size:12.5px}.cat-count b{color:var(--ink);font-weight:600}.cat h3{letter-spacing:-.01em;margin:0;font-size:15.5px;font-weight:600}.cat p{color:var(--ink-3);margin:0;font-size:13.5px;line-height:1.5}.cat-foot{color:var(--ink-4);align-items:center;gap:7px;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.fresh-dot{background:var(--live);border-radius:50%;flex:none;width:6px;height:6px}.fresh-dot.warm{background:var(--beta)}.fresh-dot.cool{background:var(--ink-4)}.matrix-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.matrix-head h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.tag-inline{font-family:var(--mono);color:var(--ink-3);background:var(--bg-3);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:12px}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overflow-x:auto}table.matrix{border-collapse:collapse;width:100%;min-width:880px;font-size:13.5px}table.matrix thead th{text-align:left;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 16px;font-size:11.5px;font-weight:600}table.matrix tbody td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:15px 16px}table.matrix tbody tr:last-child td{border-bottom:none}table.matrix tbody tr:hover td{background:var(--bg-2)}table.matrix tbody tr.dead td{background:#fff}table.matrix tbody tr.group-sep td{border-top:1px solid var(--line)}.co{align-items:center;gap:10px;display:flex}.co-mark{width:28px;height:28px;font-family:var(--mono);color:#fff;border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.co-name{color:var(--ink);font-weight:600}.co-name:hover{text-decoration:underline}.co-name.gone{color:var(--ink-4);font-weight:500;text-decoration:line-through}.co-url{font-family:var(--mono);color:var(--ink-4);font-size:11.5px}.cell-strong{color:var(--ink);font-weight:500}.cell-mut{color:var(--ink-3)}.cell-null{color:var(--ink-4);font-style:normal}.offering-summaries{color:var(--ink);margin:0;padding-left:16px;font-weight:500}.offering-summaries li{margin-bottom:7px;line-height:1.45}.offering-summaries li:last-child{margin-bottom:0}.status-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.rails{flex-wrap:wrap;gap:5px;display:flex}.rail{font-family:var(--mono);color:var(--accent-ink);background:var(--accent-bg);white-space:nowrap;border:1px solid #e0e2fb;border-radius:5px;padding:2px 7px;font-size:11px}.rail.n{color:var(--ink-3);background:var(--bg-3);border-color:var(--line)}.badge{white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge .bd{border-radius:50%;flex:none;width:6px;height:6px}.badge.live{color:#0b7a45;background:var(--live-bg)}.badge.live .bd{background:var(--live)}.badge.beta{color:#92610f;background:var(--beta-bg)}.badge.beta .bd{background:var(--beta)}.badge.announced{color:var(--announced);background:var(--announced-bg)}.badge.announced .bd{background:var(--ink-4)}.badge.sm{padding:2px 8px}.matrix-foot{color:var(--ink-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;font-size:12.5px;display:flex}.legend{flex-wrap:wrap;gap:16px;display:flex}.legend span.item{align-items:center;gap:6px;display:inline-flex}.subhead-row td{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);font-size:11px;font-weight:600;background:var(--bg-2)!important;padding:8px 16px!important}.emerging-note{color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);max-width:68ch;margin-bottom:24px;padding:16px 18px;font-size:14px;line-height:1.6}.emerging-list{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1px;display:flex;overflow:hidden}.emerging-card{background:#fff;flex-direction:column;gap:10px;padding:20px 22px;display:flex}.emerging-card:hover{background:var(--bg-2)}.emerging-card .ec-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.emerging-card .ec-name{align-items:center;gap:11px;display:flex}.emerging-card .ec-name .co-name{font-size:16px}.emerging-card p{color:var(--ink-2);max-width:72ch;margin:0;font-size:14px;line-height:1.55}.ec-offerings{color:var(--ink-2);max-width:72ch;margin:0;padding-left:18px;font-size:14px;line-height:1.55}.ec-offerings li{margin-bottom:8px}.ec-offerings li:last-child{margin-bottom:0}.ec-fields{color:var(--ink-3);flex-wrap:wrap;gap:8px 18px;font-size:12.5px;display:flex}.ec-fields .kv b{color:var(--ink-2);font-weight:500}.company-hero{border-bottom:1px solid var(--line);padding:48px 0 32px}.company-id{align-items:center;gap:14px;margin-bottom:18px;display:flex}.company-id .co-mark{border-radius:10px;width:44px;height:44px;font-size:16px}.company-id h1{max-width:none;margin:0;font-size:32px}.company-id .gone{color:var(--ink-4);text-decoration:line-through}.company-meta-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.freshness{color:var(--ink-3);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.view-as{color:var(--ink-4);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.company-cols{grid-template-columns:1fr 300px;align-items:start;gap:40px;padding:44px 0 72px;display:grid}.company-main{min-width:0}.offering-block{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;padding:22px 24px}.offering-block .ob-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.offering-block .ob-cat{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:600}.offering-block .ob-what{color:var(--ink);margin:0 0 16px;font-size:15px;line-height:1.6}.fielset{grid-template-columns:150px 1fr;gap:10px 20px;font-size:13.5px;display:grid}.fielset dt{color:var(--ink-3)}.fielset dd{color:var(--ink);margin:0}.fielset dd.null{color:var(--ink-4)}.gotchas{background:#fdf8ee;border:1px solid #f0e2c2;border-radius:8px;margin-top:18px;padding:14px 16px}.gotchas h4{letter-spacing:.04em;text-transform:uppercase;color:#92610f;align-items:center;gap:7px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.gotchas ul{margin:0;padding-left:18px}.gotchas li{color:var(--ink-2);margin-bottom:6px;font-size:13.5px;line-height:1.55}.gotchas li:last-child{margin-bottom:0}.editorial{color:var(--ink-2);max-width:66ch;font-size:15px;line-height:1.7}.editorial p{margin:0 0 14px}.side-card{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:18px 20px}.side-card h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-size:12px;font-weight:600}.side-card .kv{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.side-card .kv:last-child{border-bottom:none}.side-card .kv .k{color:var(--ink-3)}.side-card .kv .v{color:var(--ink);text-align:right;font-weight:450}.side-card .kv .v.null{color:var(--ink-4)}.sources-list{flex-direction:column;gap:8px;display:flex}.sources-list a{font-family:var(--mono);color:var(--ink-2);word-break:break-all;font-size:12px;line-height:1.4}.sources-list a:hover{color:var(--accent-ink);text-decoration:underline}.prose{max-width:68ch;padding:44px 0 72px}.prose h2{letter-spacing:-.02em;margin:40px 0 12px;font-size:22px;font-weight:600}.prose h2:first-child{margin-top:0}.prose h3{margin:26px 0 8px;font-size:16px;font-weight:600}.prose p{color:var(--ink-2);margin:0 0 16px;font-size:15px;line-height:1.7}.prose ul{margin:0 0 16px;padding-left:22px}.prose li{color:var(--ink-2);margin-bottom:8px;font-size:15px;line-height:1.7}.prose a{color:var(--accent-ink);font-weight:500}.prose a:hover{text-decoration:underline}.prose code{font-family:var(--mono);background:var(--bg-3);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:13px}.callout{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius);margin:22px 0;padding:20px 22px}.callout h3{margin-top:0}.standard-block{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:22px 24px}.standard-block .sb-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.standard-block h2{letter-spacing:-.015em;margin:0;font-size:20px;font-weight:600}.standard-block .sb-steward{color:var(--ink-3);font-size:12.5px}.standard-block p{color:var(--ink-2);max-width:70ch;margin:0 0 14px;font-size:14.5px;line-height:1.65}.standard-users{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.standard-users .lbl{color:var(--ink-4);margin-right:4px;font-size:12px}.usertag{color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:100px;padding:3px 11px;font-size:12.5px}.usertag:hover{border-color:var(--ink-4);color:var(--ink)}.changelog{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cl-group-date{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:14px 20px 6px;font-size:12px;font-weight:600}.cl-row{border-bottom:1px solid var(--line-2);align-items:baseline;gap:18px;padding:12px 20px;display:flex}.cl-row:last-child{border-bottom:none}.cl-row:hover{background:var(--bg-2)}.cl-date{font-family:var(--mono);color:var(--ink-4);flex:none;width:84px;padding-top:1px;font-size:12px}.cl-kind{letter-spacing:.03em;text-transform:uppercase;text-align:center;border-radius:5px;flex:none;width:74px;padding:2px 8px;font-size:11px;font-weight:600}.cl-kind.new{color:#0b7a45;background:var(--live-bg)}.cl-kind.upd{color:var(--accent-ink);background:var(--accent-bg)}.cl-text{color:var(--ink-2);font-size:14px}.cl-text b{color:var(--ink);font-weight:600}.cl-text a:hover{color:var(--accent-ink);text-decoration:underline}footer.site{border-top:1px solid var(--line);background:var(--bg-2);margin-top:20px;padding:48px 0 40px}.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;display:grid}.foot-brand .brand{margin-bottom:12px}.foot-brand p{color:var(--ink-3);max-width:34ch;margin:0 0 16px;font-size:13px;line-height:1.55}.foot-endpoints{flex-direction:column;gap:8px;display:flex}.endpoint{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:8px;width:fit-content;padding:6px 10px;font-size:12.5px;display:inline-flex}.endpoint:hover{border-color:var(--ink-4)}.endpoint .m{color:var(--live);font-weight:600}.foot-col h4{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 14px;font-size:12px;font-weight:600}.foot-col a{color:var(--ink-2);margin-bottom:9px;font-size:13.5px;display:block}.foot-col a:hover{color:var(--ink)}.foot-bar{border-top:1px solid var(--line);color:var(--ink-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding-top:22px;font-size:12.5px;display:flex}.foot-bar .llms{font-family:var(--mono)}@media (max-width:980px){.company-cols{grid-template-columns:1fr;gap:8px}}@media (max-width:900px){.cats{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr;gap:28px}.foot-brand{grid-column:1/-1}h1{font-size:38px}.page-head h1{font-size:34px}}@media (max-width:720px){.nav-links{display:none}.hero{padding:52px 0 40px}h1{font-size:32px}.sub{font-size:16px}.fielset{grid-template-columns:1fr;gap:2px 0}.fielset dt{margin-top:8px}}@media (max-width:560px){.cats{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}
