.spec,.spec [data-theme],.spec-scope{--bg:var(--background);--fg:var(--foreground);--sf:var(--surface);--el:var(--elevated);--mu:var(--muted);--mf:var(--muted-foreground);--ln:var(--border);--ln2:var(--border-strong);--ink:var(--accent);--inkf:var(--accent-foreground);--em:var(--brand);--ems:var(--brand-subtle);--rvr:var(--river);--rvs:var(--river-subtle);--ok:var(--success);--oks:var(--success-subtle);--wa:var(--warning);--was:var(--warning-subtle);--bd:var(--destructive);--bds:var(--destructive-subtle);--glass:var(--elevated-glass);--edge:var(--edge-light);--glow:var(--edge-glow);--shc:var(--shadow-control);--sho:var(--shadow-overlay);--grid:color-mix(in srgb,var(--border) 45%,var(--background));--c1:var(--chart-1);--c2:var(--chart-2);--c3:var(--chart-3);--c4:var(--chart-4);--mono:var(--font-geist-mono),ui-monospace,Menlo,monospace}.spec{background:var(--bg);color:var(--fg);font-size:14px;line-height:20px;min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.spec *,.spec :after,.spec :before{box-sizing:border-box}.spec [data-rm=true]{--duration-fast:0ms;--duration-normal:0ms;--duration-deliberate:0ms;--duration-travel:0ms;--duration-showcase:0ms;--motion-enter-distance:0px;--motion-press-scale:1}.spec [data-theme]{background:var(--bg);color:var(--fg)}.spec .mono{font-family:var(--mono)}@layer base{.spec a:not([data-slot=button]){color:inherit}}.spec :focus-visible:not([data-slot=input],[data-slot=input-bare],[data-slot=textarea],[data-slot=select],[data-slot=select-menu],[data-slot=scrub-box] input,[data-slot=checkbox],[data-slot=radio],[data-slot=switch],[data-slot=slider],[role^=menuitem],[role=option],[role=listbox],[data-slot=run-gate],:is(h1,h2,h3)[tabindex="-1"]){outline:2px solid var(--em);outline-offset:2px}.spec .skip{position:absolute;left:16px;top:-64px;z-index:100;padding:10px 14px;border-radius:12px;background:var(--ink);color:var(--inkf);font-weight:500;text-decoration:none}.spec .skip:focus-visible{top:12px}.spec .wrap{max-width:1280px;margin:0 auto;padding:0 32px}.spec .kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--ln);border-radius:6px;font:500 11px/1 var(--mono);color:var(--mf);background:var(--bg)}.spec .glass{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--sho),0 0 0 1px var(--glow),inset 0 1px 0 var(--edge);border-radius:16px}.spec .enter{animation:spec-in var(--duration-normal) var(--ease-out) both}@keyframes spec-in{0%{opacity:0;transform:translateY(var(--motion-enter-distance))}to{opacity:1;transform:none}}.spec .only-m{display:none}.spec .hdr{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ln)}.spec .hdr-in{display:flex;align-items:center;gap:28px;height:60px}.spec .wm{display:inline-flex;align-items:center;gap:8px;font-size:21px;line-height:24px;font-weight:600;letter-spacing:-.045em;text-decoration:none;color:var(--fg)}.spec .wm-lg{gap:10px;font-size:28px;line-height:32px}.spec .brand-mark{flex:none;translate:0 1px}.spec .nav{display:flex;gap:4px;flex:1}.spec .nav a{padding:8px 10px;border-radius:10px;font-size:13px;font-weight:500;color:var(--mf);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.spec .nav a:hover,.spec .nav a[aria-current=page]{background:var(--mu);color:var(--fg)}.spec .hdr-r{display:flex;align-items:center;gap:8px}.spec .hdr-signin{display:inline-flex;align-items:center;min-height:36px;padding:0 8px;border-radius:8px;font-size:14px;color:var(--mf);text-decoration:none;transition:color var(--duration-fast,.12s) ease}.spec .hdr-signin:hover{color:var(--fg)}.spec .srch{display:inline-flex;align-items:center;gap:10px;height:36px;width:220px;padding:0 6px 0 12px;border:1px solid var(--ln);border-radius:12px;background:var(--bg);font-size:13px;line-height:20px;font-family:inherit;color:var(--mf);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.spec .srch:hover{border-color:var(--ln2)}.spec .srch svg{width:15px;height:15px}.spec .srch .kbd{margin-left:auto}.spec .mmenu{border-bottom:1px solid var(--ln);background:var(--bg);padding:8px 20px 20px;display:flex;flex-direction:column}.spec .mmenu a{align-items:center;min-height:48px;text-decoration:none;font-size:17px;font-weight:500}.spec .mmenu a,.spec .rule{display:flex;justify-content:space-between;border-bottom:1px solid var(--ln)}.spec .rule{gap:16px;padding:14px 0;font:500 11px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mf)}.spec .rule b{font-weight:500;color:var(--em)}.spec .ch-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;padding:40px 0}.spec .h2{margin:0;font-size:36px;line-height:40px;font-weight:500;letter-spacing:-.035em;text-wrap:balance}.spec .p{margin:0;font-size:16px;line-height:26px;color:var(--mf);max-width:36em;text-wrap:pretty}.spec .chap{padding-bottom:96px}.spec .tb{display:grid;grid-template-columns:2fr repeat(4,1fr);border:1px solid var(--fg);margin:0 0 40px}.spec .tb>div{padding:14px 16px;border-left:1px solid var(--ln);display:flex;flex-direction:column;gap:6px;min-width:0}.spec .tb>div:first-child{border-left:0}.spec .tb .k{font:500 10px/12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mf)}.spec .tb .v{font-size:13px;line-height:18px}.spec .tb-links{display:flex;flex-wrap:wrap;gap:4px 16px}.spec .tb-links a{font-size:13px;color:var(--mf);text-decoration:none;overflow-wrap:anywhere}.spec .tb-links a:hover{color:var(--fg)}.spec .mbar{display:none}.spec .cmd{width:100%;max-width:340px;overflow:hidden}.spec .cmd-in{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-bottom:1px solid var(--ln);color:var(--mf);font-size:14px}.spec .cmd-g{padding:8px 6px}.spec .cmd-g p{margin:4px 8px 6px;font:500 10px/12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mf)}.spec .cmd-i{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 10px;border-radius:10px;font-size:13px}.spec .cmd-i.on{background:var(--mu)}@media (max-width:1080px){.spec .ch-head{grid-template-columns:minmax(0,1fr);gap:40px}.spec .srch{width:auto}.spec .srch .lbl-t{display:none}}@media (max-width:760px){.spec .wrap{padding-inline:20px}.spec .hide-m,.spec .nav{display:none!important}.spec .only-m{display:inline-flex}.spec .hdr-in{gap:12px;height:56px}.spec .hdr-r{margin-left:auto}.spec .srch{width:44px;height:44px;padding:0;justify-content:center;border-radius:14px}.spec .srch .kbd{display:none}.spec .rule{font-size:10px}.spec .rule .r2{display:none}.spec .ch-head{padding:28px 0;gap:16px}.spec .h2{font-size:28px;line-height:32px}.spec .chap{padding-bottom:64px}.spec .tb{grid-template-columns:repeat(2,minmax(0,1fr))}.spec .tb>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--ln)}.spec .tb>div:nth-child(2n){border-left:0}.spec .tb>div:nth-child(n+2){border-bottom:1px solid var(--ln)}.spec .mbar{display:flex;position:sticky;bottom:0;z-index:25;gap:8px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--ln)}.spec .mbar>*{flex:1;height:48px}}@media (max-width:420px){.spec .tb>div:last-child,.spec .tb>div:nth-child(2){grid-column:1/-1;border-left:0}.spec .tb>div:last-child{border-bottom:0}.spec .tb>div:nth-child(3){border-left:0}.spec .tb>div:nth-child(4){border-left:1px solid var(--ln)}}.spec .t-c{color:var(--mf)}.spec .t-k{color:var(--rvr)}.spec .t-s{color:var(--ok)}.spec .t-a,.spec .t-t{color:var(--em)}.spec-scope{background:transparent;color:inherit;font-size:14px;line-height:20px}.spec-scope .mono{font-family:var(--mono)}.spec main:focus{outline:none}