:root{color-scheme:light;--bg:#fff;--panel:#f8fafc;--text:#111827;--muted:#64748b;--line:#e2e8f0;--accent:#008cff;--code:#07111f;--code-text:#dbeafe}:root[data-theme=dark]{color-scheme:dark;--bg:#090f0e;--panel:#0e1715;--text:#f1f5f4;--muted:#9aa8a4;--line:#23302c;--accent:#22d3a6;--code:#050908;--code-text:#d7eee7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:300px;border-right:1px solid var(--line);background:var(--bg);padding:24px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;font-size:20px}.brand img{width:150px;height:46px;object-fit:contain;object-position:left}.search-button{width:100%;height:46px;margin:22px 0;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:0 14px;cursor:pointer;text-align:left}.search-button span{flex:1}.search-button kbd{font-size:12px}.sidebar nav{overflow:auto;flex:1}.sidebar nav section{margin:18px 0}.sidebar nav h2{font-size:12px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.sidebar nav a{display:block;padding:9px 12px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{color:var(--text);background:var(--panel);border-left-color:var(--accent)}.sidebar footer{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:10px}.sidebar footer a{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14px}.content-shell{margin-left:300px;min-height:100vh}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;padding:0 34px;gap:12px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.topbar .search-button{margin:0;width:300px;height:38px}.icon-button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer}.reader{display:grid;grid-template-columns:minmax(0,820px) 220px;gap:70px;max-width:1200px;margin:0 auto;padding:64px 48px 100px}.page-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.page-actions button,.copy-code{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:8px 12px;cursor:pointer}.copy-code{position:absolute;right:10px;top:10px;padding:7px}article{min-width:0}article h1{font-size:44px;line-height:1.1;margin:0 0 20px}article h2{font-size:28px;margin:50px 0 16px;padding-top:10px}article h3{font-size:20px;margin:32px 0 12px}article p,article li{color:var(--muted);font-size:16px;line-height:1.8}article a{color:var(--accent)}article .heading-link{opacity:0;text-decoration:none;margin-left:8px}article h2:hover .heading-link,article h3:hover .heading-link{opacity:1}article pre{position:relative;overflow:auto;background:var(--code);color:var(--code-text);padding:24px;border:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:13px;line-height:1.65}article code{font-family:SFMono-Regular,Consolas,monospace}article :not(pre)>code{background:var(--panel);border:1px solid var(--line);padding:2px 5px;font-size:.9em}article table{display:block;overflow:auto;border-collapse:collapse;width:100%}article th,article td{border:1px solid var(--line);padding:10px 12px;text-align:left;font-size:14px}article blockquote{border-left:3px solid var(--accent);margin:24px 0;padding:2px 18px;background:var(--panel)}#toc{position:sticky;top:100px;align-self:start;border-left:1px solid var(--line);padding-left:18px;display:grid;gap:10px}#toc p{font-size:13px;font-weight:600;margin:0 0 4px}#toc a{font-size:13px;line-height:1.4;color:var(--muted);text-decoration:none}#toc a:hover{color:var(--accent)}.mobile-header,.scrim{display:none}dialog{width:min(620px,calc(100vw - 32px));border:1px solid var(--line);background:var(--bg);color:var(--text);padding:0;box-shadow:0 24px 80px #0004}dialog::backdrop{background:#02061799}.search-dialog-head{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.search-dialog-head input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.search-results{padding:10px;display:grid;gap:4px;max-height:60vh;overflow:auto}.search-results button{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;border:0;background:transparent;color:var(--text);padding:12px;cursor:pointer}.search-results button:hover{background:var(--panel)}.search-results button span{color:var(--muted);font-size:12px}.empty-search{color:var(--muted);text-align:center}.loading,.error{padding:40px 0;color:var(--muted)}@media(max-width:980px){.reader{grid-template-columns:minmax(0,1fr);padding:48px 34px}#toc{display:none}}@media(max-width:720px){.mobile-header{display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:20}.mobile-header img{width:140px;height:48px;object-fit:contain}.sidebar{transform:translate(-105%);transition:transform .2s;width:min(86vw,320px)}.sidebar.open{transform:translate(0)}.scrim.visible{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#02061788;z-index:25}.content-shell{margin-left:0}.topbar{display:none}.reader{padding:34px 20px 70px}.page-actions{justify-content:flex-start}article h1{font-size:36px}article h2{font-size:25px}article p,article li{font-size:15px}article pre{margin-left:-8px;margin-right:-8px;padding:20px 16px}}.brand{font-size:19px}.brand img{width:40px;height:40px}.brand span{color:var(--muted);font-weight:500}.mobile-brand{display:flex;align-items:center;gap:8px}.mobile-brand img{width:34px;height:34px;object-fit:contain}.mobile-brand strong{font-size:16px}
