:root{--bg:#fbfaff;--paper:#fff;--ink:#1c1a24;--muted:#5b5468;--line:#e6e2f2;--accent:#5b3fd6;--accent-soft:#f0edfc;--code:#1e1b2b;--code-ink:#eeecf8;--warning:#8b4c08}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
main :is(p,li,td,dd,.callout,.note) a:not(.button-link):not(.type-card):not(.vendor-card){text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:16px;z-index:60;padding:9px 16px;background:var(--paper);border:1px solid var(--accent);border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
#main-content{scroll-margin-top:80px}
html.sidebar-open,html.sidebar-open body{overflow:hidden}
button,input{font:inherit}
button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8d7ae6;outline-offset:3px}
code,pre,.endpoint-rail,.type-card-kicker,.eyebrow,.strip-key{font-family:"SF Mono",Menlo,Consolas,monospace}
code{font-size:.91em;overflow-wrap:anywhere}
.site-header{height:64px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 28px;position:sticky;top:0;z-index:20}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:17px;font-weight:650;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand img{border-radius:8px;object-fit:cover}
.brand strong{color:var(--accent);font-weight:750}
.header-note{color:var(--muted);font-size:12px;border-left:1px solid var(--line);padding-left:20px}
.sidebar-toggle{display:none;margin-left:auto;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:5px 12px;color:var(--ink);cursor:pointer}
.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:254px minmax(0,1fr);gap:48px;padding:0 36px}
.sidebar{position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;border-right:1px solid var(--line);padding:28px 20px 40px 0}
.search-label{font-size:12px;font-weight:700;color:var(--muted);display:block;margin-bottom:7px}
.search-input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);outline:none;margin-bottom:22px}
.search-input:focus{border-color:var(--accent)}
.sidebar-close{display:none}
.search-feedback{font-size:12px;color:var(--muted)}
.search-status{margin:0 0 8px}.search-status:empty{margin:0}
.search-clear,.sidebar-close{border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--accent);padding:7px 11px;cursor:pointer}
.search-clear{margin-bottom:14px}.search-clear:hover,.sidebar-close:hover{background:var(--accent-soft)}
.sidebar:has(.search-clear:not([hidden])) .search-input{margin-bottom:10px}
.sidebar nav{display:flex;flex-direction:column;gap:3px}
.nav-home,.nav-link,.nav-type>summary,.nav-vendor-group>summary{display:block;color:var(--muted);border-radius:8px;padding:6px 10px;font-size:14px}
.nav-home{font-weight:750;color:var(--ink)}
.nav-link:hover,.nav-home:hover,.nav-type>summary:hover,.nav-vendor-group>summary:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}
.nav-type{margin:5px 0}
.nav-reference{margin-top:18px}
.nav-type>summary,.nav-vendor-group>summary{cursor:pointer;list-style:none}
.nav-type>summary{color:var(--ink);font-weight:700}
.nav-type>summary::after,.nav-vendor-group>summary::after{content:"⌄";float:right;color:var(--muted);transform:rotate(-90deg)}
.nav-type[open]>summary::after,.nav-vendor-group[open]>summary::after{transform:none}
.nav-type>summary::-webkit-details-marker,.nav-vendor-group>summary::-webkit-details-marker{display:none}
.nav-vendor-group{margin:2px 0;margin-inline-start:18px}
.nav-vendor-group>summary{font-weight:500}
.nav-vendor-group.has-current-page>summary{color:var(--accent);font-weight:650}
.nav-vendor-group>.nav-link{margin:0;margin-inline-start:14px;font-size:13px}
.nav-overview{margin-left:10px}.nav-vendor{margin-left:18px}.nav-capability{margin-left:32px;font-size:13px}
.nav-label{font-size:11px;color:var(--muted);letter-spacing:.08em;font-weight:750;margin:18px 10px 5px;text-transform:uppercase}
.nav-link[aria-current=page],.nav-home[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:700}
@media(max-width:860px){.nav-type>summary,.nav-vendor-group>summary,.nav-vendor-group>.nav-link{min-height:44px}}
main{min-width:0;max-width:940px;padding:28px 0 100px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:42px}
.breadcrumbs a{color:var(--muted)}.crumb-sep{color:#aaa3b9}
.page-head{border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:32px}
.eyebrow{font-size:11px;letter-spacing:.1em;color:var(--accent);font-weight:800;margin:0 0 12px}
h1{font-size:clamp(30px,4vw,43px);line-height:1.2;letter-spacing:-.035em;margin:0 0 12px;font-weight:750}
.lede{font-size:17px;color:var(--muted);margin:0;max-width:740px}
section{margin:36px 0 0;scroll-margin-top:92px}
h2{font-size:21px;line-height:1.35;letter-spacing:-.02em;margin:0 0 13px}
p{margin:10px 0 15px}ol{padding-left:22px}li{margin:7px 0}
.lead-strip{display:flex;align-items:center;gap:14px;background:var(--code);color:var(--code-ink);border-radius:12px;padding:16px 20px;margin-bottom:28px;flex-wrap:wrap}
.lead-strip code{font-size:15px;flex:1;min-width:200px}.lead-strip a{color:#d0c6ff;white-space:nowrap}
.strip-key{color:#aa9bf6;font-size:11px;font-weight:750;letter-spacing:.09em}
.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.type-card{min-height:150px;padding:18px 20px;border:1px solid var(--line);background:var(--paper);border-radius:12px;display:flex;flex-direction:column;gap:4px;color:var(--ink);transition:transform .16s,border-color .16s,box-shadow .16s}
.type-card:hover,.vendor-card:hover{text-decoration:none;border-color:#c8bdf3;box-shadow:0 8px 22px rgba(64,44,150,.09);transform:translateY(-2px)}
.type-card-kicker{font-size:10px;color:var(--accent);letter-spacing:.09em;font-weight:750}.type-card strong{font-size:23px;line-height:1.3}.type-card>span:nth-of-type(2){color:var(--muted)}.type-card small{color:var(--accent);margin-top:auto;font-weight:700}
.vendor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vendor-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;color:var(--ink);transition:transform .16s,border-color .16s,box-shadow .16s}
.vendor-card strong{font-size:15px}.vendor-card span:nth-child(2){grid-column:1;color:var(--muted);font-size:12px}.vendor-card span:last-child{grid-column:2;grid-row:1/3;color:var(--accent);font-size:20px}
.button-link{display:inline-block;background:var(--accent);color:#fff;padding:9px 15px;border-radius:8px;font-weight:700}.button-link:hover{background:#4c32c2;color:#fff;text-decoration:none}
.callout{border:1px solid #d6cef5;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:9px;color:#423784;padding:13px 16px;margin:18px 0}
.callout.warning{border-color:#ead3a4;border-left-color:var(--warning);background:#fff8e9;color:#74400a}
.endpoint-rail{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);background:var(--paper);padding:16px 19px;border-radius:10px;font-size:15px}
.endpoint-rail code{font-size:15px;font-weight:650}.method{font-size:11px;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);padding:3px 7px;border-radius:5px;font-weight:800}
.endpoint-meta{color:var(--muted);font-size:12px;margin:7px 0 20px}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.table-hint{display:block;color:var(--muted);font-size:12px;margin:7px 0 0}
table{border-collapse:collapse;width:100%;min-width:520px;text-align:left}th,td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}th{font-size:12px;color:var(--muted);font-weight:700;background:#f8f7fc}td{font-size:13px}td code{color:#4235a0;font-weight:650}
.simple-table{min-width:0;table-layout:fixed}.simple-table :is(th,td){overflow-wrap:anywhere}
.model-detail .model-detail-name{font-size:12px;color:var(--muted);margin:12px 0 6px}
@media(min-width:861px){.model-table :is(th,td):first-child{position:sticky;left:0;z-index:1;min-width:190px;width:220px;max-width:240px;background:var(--paper);box-shadow:1px 0 var(--line)}.model-table th:first-child{background:#f8f7fc}.table-scroll:has(.model-table){scroll-padding-inline-start:240px}}
.model-table{min-width:1120px}.model-table td:first-child{min-width:190px}.model-table td:nth-child(4){min-width:230px;max-width:310px}.model-table td:nth-child(5),.model-table td:nth-child(6){min-width:96px}.model-table td:nth-child(7),.model-table td:nth-child(8){min-width:105px}.model-detail summary{cursor:pointer;color:var(--accent);white-space:nowrap}.model-detail p{min-width:200px;max-width:360px;overflow-wrap:anywhere}.price-scope,.endpoint-reference{font-size:12px;color:var(--muted)}.capability-matrix{min-width:780px}.endpoint-map{min-width:980px}.endpoint-map td:first-child{min-width:180px}.endpoint-map td:nth-child(3),.endpoint-map td:nth-child(4){min-width:220px}.endpoint-map td:last-child{min-width:165px}#advanced-examples{min-width:0}#advanced-examples details{margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:var(--paper)}#advanced-examples summary{cursor:pointer;font-weight:650}#advanced-examples details .code-block{margin-top:12px}
.code-block{border-radius:11px;overflow:hidden;background:var(--code);color:var(--code-ink);margin:15px 0}.code-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #39364d;padding:7px 13px;color:#bdb6d6;font-size:11px}.copy-btn{border:1px solid #524d67;color:var(--code-ink);background:transparent;padding:3px 9px;border-radius:5px;cursor:pointer;font-size:11px}.copy-btn:hover{background:#39364d}.code-block pre{margin:0;padding:17px 18px;overflow:auto;line-height:1.65;font-size:12px}.code-block code{font-size:inherit;white-space:pre}
.small-note{font-size:12px;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);background:var(--paper);color:var(--muted);scroll-margin-top:80px}
.footer-inner{max-width:1440px;margin:0 auto;padding:24px 36px 16px}
.footer-top{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:56px;padding-bottom:20px}
.footer-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:16px;font-weight:750;line-height:1.4}
.footer-brand:hover{text-decoration:none;color:var(--accent)}
.footer-brand img{width:24px;height:24px;border-radius:6px}
.footer-tagline{max-width:240px;margin:8px 0 10px;font-size:12px;line-height:1.7}
.footer-platform-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px}
.footer-platform-links a{display:inline-flex;align-items:center;gap:5px;min-height:28px;color:var(--accent);font-weight:600}
.footer-platform-links span{font-size:14px}
.footer-navigation{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,.9fr) minmax(0,1.65fr);gap:28px}
.footer-column{min-width:0}
.footer-column h2{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.footer-column ul,.footer-registrations{list-style:none;margin:0;padding:0}
.footer-column li{margin:0}
.footer-column:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.footer-column a{display:flex;align-items:center;min-height:28px;padding:3px 0;color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.footer-column a:hover{color:var(--accent);text-underline-offset:4px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;line-height:1.8}
.footer-copyright{margin:0}
.footer-registrations{display:flex;flex-wrap:wrap;gap:4px 18px;overflow-wrap:anywhere}
.footer-registrations li{margin:0}
@media(max-width:1060px){.footer-top{gap:32px;grid-template-columns:minmax(200px,.8fr) minmax(0,2fr)}.footer-navigation{gap:20px}}
@media(max-width:860px){.footer-inner{padding:24px 22px 16px}.footer-top{grid-template-columns:1fr;gap:18px;padding-bottom:16px}.footer-tagline{max-width:none;margin-bottom:8px}.footer-column a{min-height:44px}.footer-platform-links a{min-height:44px}}
@media(max-width:520px){.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.footer-column:first-child{grid-column:1/-1}.footer-column:first-child ul{display:flex;flex-wrap:wrap;gap:0 18px}.footer-column:last-child ul{display:block}.footer-column h2{margin-bottom:4px}.footer-bottom{display:block}.footer-registrations{display:grid;gap:2px}.footer-copyright{margin-bottom:6px}}
.mobile-backdrop{display:none}
@media(max-width:860px){.header-note{display:none}.sidebar-toggle{display:block}.sidebar-close{display:block;margin:0 0 18px auto;min-height:44px}.search-clear{min-height:44px}.layout{display:block;padding:0 22px}.sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;width:min(310px,86vw);padding:24px 18px;background:var(--paper);z-index:50;box-shadow:12px 0 30px rgba(28,26,36,.13);transform:translateX(-110%);visibility:hidden;transition:transform .2s ease-out,visibility 0s linear .2s;border-right:1px solid var(--line);overscroll-behavior:contain}.sidebar.open{transform:none;visibility:visible;transition-delay:0s,0s}.mobile-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(25,20,40,.42);z-index:40}main{padding:23px 0 75px}.breadcrumbs{margin-bottom:28px}}
@media(max-width:600px){.site-header{padding:0 18px}.brand{font-size:15px}.type-grid,.vendor-grid{grid-template-columns:1fr}.type-card{min-height:125px}h1{font-size:30px}.lede{font-size:15px}.lead-strip{align-items:flex-start;gap:7px}.lead-strip code{min-width:100%}.table-hint{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar,.type-card,.vendor-card{transition:none}}
