:root{--bg:#0b1220;--bg-2:#080d16;--surface:#111b2b;--surface-2:#0e1726;--line:#7da5dc21;--line-strong:#7da5dc42;--text:#e9eef7;--body-fg:#c2ccdb;--muted:#8a99b2;--faint:#5a6a84;--cyan:#2dd4bf;--violet:#9b6cf6;--green:#2ed19b;--brand:#5eead4;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--display:"Space Grotesk",-apple-system,system-ui,sans-serif;--body:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--body);color:var(--text);background:radial-gradient(1000px 560px at 82% -6%, #2dd4bf12, transparent 60%), linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit}.topbar{--bar-max:1240px}.layout{grid-template-columns:238px minmax(0,1fr);max-width:1240px;margin:0 auto;display:grid}.sidebar{top:var(--chrome-h);height:calc(100vh - var(--chrome-h));border-right:1px solid var(--line);align-self:start;padding:28px 16px 80px;position:sticky;overflow-y:auto}.side-group{margin-bottom:26px}.side-group h5{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 10px 10px;font-size:11px}.side-group a{color:var(--muted);border-radius:8px;padding:7px 10px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:block}.side-group a:hover{color:var(--text);background:#7da5dc0f}.side-group a.active{color:var(--text);background:#5eead41a}.content{min-width:0;padding:44px clamp(20px,4vw,64px) 140px}.doc{max-width:760px}.doc section{scroll-margin-top:74px}.doc h1{font-family:var(--display);letter-spacing:-.02em;margin-bottom:6px;font-size:clamp(30px,4vw,40px);font-weight:600}.doc .lead{color:var(--muted);max-width:60ch;margin-bottom:14px;font-size:17px;line-height:1.6}.doc h2{font-family:var(--display);letter-spacing:-.01em;border-top:1px solid var(--line);margin:52px 0 12px;padding-top:10px;font-size:24px;font-weight:600}.doc h2:first-of-type{border-top:none;padding-top:0}.doc h3{font-family:var(--display);margin:30px 0 8px;font-size:17px;font-weight:600}.doc p{color:var(--body-fg);margin:12px 0;font-size:15px;line-height:1.72}.doc p a,.doc li a{color:var(--brand);border-bottom:1px solid #5eead452;text-decoration:none}.doc p a:hover,.doc li a:hover{border-bottom-color:var(--brand)}.doc code{font-family:var(--mono);color:#dbe4f0;background:#7da5dc1c;border-radius:5px;padding:1px 6px;font-size:13px}.doc ul,.doc ol{margin:12px 0;padding-left:22px}.doc li{color:var(--body-fg);margin:7px 0;font-size:15px;line-height:1.72}.code{border:1px solid var(--line-strong);background:#060b14d9;border-radius:12px;margin:18px 0;overflow:hidden}.code-bar{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--faint);justify-content:space-between;align-items:center;padding:9px 14px;font-size:12px;display:flex}.copy-btn{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:11px;transition:all .15s}.copy-btn:hover{color:var(--text);border-color:var(--brand)}.copy-btn.done{color:var(--cyan);border-color:var(--cyan)}.code pre{margin:0;padding:15px 16px;overflow-x:auto}.code code{font-size:13px;line-height:1.75;font-family:var(--mono);color:#cdd7e6;background:0 0;padding:0}.tk-key{color:#9bb4d6}.tk-str{color:var(--green)}.tk-pun,.tk-cmt{color:var(--faint)}.tk-cmd{color:var(--brand)}.note{border:1px solid var(--line-strong);color:var(--body-fg);background:#5eead40d;border-radius:10px;gap:12px;margin:18px 0;padding:13px 16px;font-size:14px;line-height:1.6;display:flex}.note .tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);flex:none;padding-top:1px;font-size:11px}.note b{color:var(--text)}.ref{border-collapse:collapse;width:100%;margin:18px 0;font-size:14px}.ref th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line-strong);padding:10px 14px;font-size:11px}.ref td{border-bottom:1px solid var(--line);color:var(--body-fg);vertical-align:top;padding:12px 14px}.ref td:first-child{white-space:nowrap}.ref tr:last-child td{border-bottom:none}.log{border-left:1px solid var(--line-strong);margin:28px 0 0 6px;padding-left:28px}.release{padding-bottom:40px;position:relative}.release:last-child{padding-bottom:0}.release:before{content:"";background:var(--bg);border:2px solid var(--brand);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-35px;box-shadow:0 0 0 4px #5eead414}.rel-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.rel-head .ver-n{font-family:var(--display);font-size:20px;font-weight:600}.rel-head .date{font-family:var(--mono);color:var(--faint);font-size:12.5px}.rel-head .badge{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--violet);border:1px solid var(--line-strong);border-radius:5px;padding:2px 7px;font-size:10.5px}.rel-list{margin:0;padding:0;list-style:none}.rel-list li{color:var(--body-fg);align-items:flex-start;gap:12px;margin:9px 0;font-size:14.5px;line-height:1.6;display:flex}.chip{font-family:var(--mono);letter-spacing:.02em;border-radius:6px;flex:none;margin-top:1px;padding:2px 8px;font-size:11px}.chip.add{color:var(--green);background:#2ed19b1f}.chip.chg{color:var(--cyan);background:#2dd4bf1f}.chip.fix{color:var(--violet);background:#9b6cf621}.scrim{display:none}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{top:var(--chrome-h);z-index:35;background:var(--bg-2);border-right:1px solid var(--line-strong);width:264px;transition:transform .25s;position:fixed;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.menu-btn{display:inline-flex}.scrim{inset:var(--chrome-h) 0 0 0;opacity:0;pointer-events:none;z-index:34;background:#04080e99;transition:opacity .25s;display:block;position:fixed}.scrim.show{opacity:1;pointer-events:auto}.content{padding:32px 20px 120px}}@media (width<=520px){.brand .kind{display:none}.tlink{padding:8px}}.doc ul.applist{flex-wrap:wrap;gap:8px;margin:18px 0;padding:0;list-style:none;display:flex}.doc ul.applist li{color:var(--body-fg);border:1px solid var(--line);background:#111b2b80;border-radius:9px;align-items:center;gap:8px;padding:7px 12px 7px 9px;font-size:13.5px;display:flex}.doc ul.applist img{flex:none;width:18px;height:18px;display:block}
