@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#0b1220;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";background:#fbfaf6;font-family:Inter Tight,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5}:root{--ink-950:#0b1220;--ink-900:#111a2e;--ink-800:#1a2440;--ink-700:#26335a;--ink-600:#3a4a78;--ink-500:#5a6b9a;--ink-400:#8593b8;--ink-300:#b1bad3;--ink-200:#d4dae8;--ink-100:#e8ecf4;--ink-050:#f3f5fa;--ink-025:#f8f9fc;--paper:#fbfaf6;--paper-2:#f4f1e8;--lime-700:#5c7a0f;--lime-600:#7a9f15;--lime-500:#a4cc1f;--lime-400:#c6e84a;--lime-300:#ddf089;--lime-200:#eaf6b5;--lime-100:#f3fad6;--amber-700:#92560c;--amber-600:#b8720f;--amber-500:#e09213;--amber-400:#f3b152;--amber-300:#f8cb86;--amber-200:#fce2b6;--amber-100:#fef3dd;--red-700:#8a1c20;--red-600:#b42329;--red-500:#d93942;--red-400:#e76e74;--red-300:#f1a1a5;--red-200:#f8cdcf;--red-100:#fce6e7;--violet-700:#4c2a9a;--violet-600:#6638c0;--violet-500:#8456dc;--violet-400:#a782e8;--violet-300:#c6aff0;--violet-200:#e0d3f7;--violet-100:#f1eafb;--teal-600:#137780;--teal-500:#1c969e;--teal-100:#e3f3f4;--bg:var(--paper);--surface:#fff;--sidebar-bg:var(--ink-950);--border:var(--ink-100);--border-light:var(--ink-050);--text:var(--ink-950);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--accent:var(--ink-950);--accent-light:var(--ink-050);--accent-border:var(--ink-200);--green:var(--lime-600);--yellow:var(--amber-600);--red:var(--red-600);--purple:var(--violet-600);--radius:8px;--radius-lg:12px;--font:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-serif:"Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow-sm:0 1px 2px #0b12200f, 0 0 0 1px #0b12200a;--shadow-md:0 4px 10px -2px #0b122014, 0 2px 4px -1px #0b12200a;--shadow-lg:0 14px 28px -8px #0b122024, 0 4px 10px -4px #0b12200f}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (width<=1023px){.app-sidebar{z-index:80;transition:left .25s;top:0;bottom:0;left:-260px;position:fixed!important}.app-sidebar.open{left:0}.sidebar-overlay{display:block!important}.sidebar-overlay.hidden{display:none!important}.hamburger-btn{display:flex!important}}@media (width>=1024px){.sidebar-overlay,.hamburger-btn,.app-sidebar.collapsed{display:none!important}.sidebar-collapse-btn,.sidebar-expand-btn{display:flex!important}}.ws-client-grid{grid-template-columns:196px minmax(0,1fr);align-items:start;display:grid}.ws-client-menu{align-self:stretch}@media (width<=1180px){.ws-lib-grid{grid-template-columns:minmax(0,1fr)!important}.ws-lib-grid>aside{position:static!important}.ws-doc-grid{grid-template-columns:minmax(0,1fr)!important}.ws-doc-grid>aside{max-height:none!important;position:static!important;overflow:visible!important}}@media (width<=1023px){.ws-topbar{padding-left:12px!important}}@media (width<=900px){.ws-client-grid{grid-template-columns:minmax(0,1fr)}.ws-client-menu nav{overflow-x:auto;padding:0 12px 8px!important;display:flex!important;position:static!important}.ws-client-menu nav button{flex:none}.ws-client-menu nav{scrollbar-width:none}.ws-client-menu nav::-webkit-scrollbar{display:none}.ws-hide-narrow{display:none}}.dw{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.dw-toc{max-height:calc(100vh - 96px);padding:2px 0;font-size:12.5px;position:sticky;top:74px;overflow-y:auto}.dw-toc-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400);padding:0 8px 6px;font-size:10.5px;font-weight:700}.dw-toc a{color:var(--ink-600);cursor:pointer;border-radius:6px;padding:4px 8px;line-height:1.35;text-decoration:none;display:block}.dw-toc a:hover{background:var(--ink-050);color:var(--ink-950)}.dw-toc a.on{background:var(--teal-100);color:var(--teal-600);font-weight:600}.dw-toc a.l2{padding-left:18px}.dw-toc a.l3{padding-left:28px;font-size:12px}.dw-toc-pop{border:1px solid var(--ink-100);background:var(--surface);border-radius:10px;max-height:46vh;margin-top:8px;padding:6px;position:static}.dw-tocbar{display:none}.dw-article{background:var(--surface);border:1px solid var(--ink-100);border-radius:14px;min-width:0;padding:30px 44px 40px}.dw-body{max-width:760px;color:var(--ink-950);overflow-wrap:anywhere;margin:0 auto;font-size:15px;line-height:1.7}.dw-h1{letter-spacing:-.01em;margin:34px 0 12px;font-size:23px;font-weight:700;line-height:1.3}.dw-h2{margin:28px 0 10px;font-size:18.5px;font-weight:650;line-height:1.35}.dw-h3{margin:22px 0 8px;font-size:16px;font-weight:650;line-height:1.4}.dw-first{margin-top:0}.dw-p{margin:0 0 12px}.dw-li{gap:10px;margin:0 0 6px;padding-left:4px;display:flex}.dw-li>.b{color:var(--ink-400);flex-shrink:0;min-width:14px}.dw-note{border-left:3px solid var(--amber-600);background:var(--amber-100);color:var(--amber-700);border-radius:0 8px 8px 0;margin:4px 0 14px;padding:10px 14px;font-size:14px}.dw-marker{font:600 10px/1 var(--font);color:var(--teal-600);background:var(--teal-100);vertical-align:2px;white-space:nowrap;border-radius:999px;margin-left:8px;padding:2px 7px}.dw-table{border:1px solid var(--ink-100);border-radius:10px;margin:8px 0 18px;overflow-x:auto}.dw-table table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.5}.dw-table th,.dw-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ink-100);padding:8px 12px}.dw-table tbody tr:last-child td{border-bottom:0}.dw-table th{background:var(--ink-025);color:var(--ink-700);font-weight:600}.dw-row{border-radius:6px;position:relative}.dw-row.editable{cursor:text}.dw-row.editable:hover,.dw-row.editable:focus-visible{background:var(--ink-025);box-shadow:-8px 0 0 var(--ink-025), 8px 0 0 var(--ink-025);outline:none}.dw-tools{background:var(--surface);font-family:var(--font);border-radius:9px;gap:4px;padding:3px;display:none;position:absolute;top:-4px;right:-8px;box-shadow:0 2px 10px #0b122024}.dw-row.editable:hover .dw-tools,.dw-row:focus-within .dw-tools{display:inline-flex}.dw-edit textarea{box-sizing:border-box;width:100%;font:inherit;line-height:inherit;color:inherit;border:1px solid var(--teal-600);background:var(--surface);resize:vertical;box-shadow:0 0 0 3px var(--teal-100);border-radius:8px;outline:none;padding:6px 10px}.dw-front{border:1px dashed var(--ink-200);border-radius:10px;margin:0 0 24px;padding:8px 12px;font-size:13px}@media (width<=1280px){.dw{grid-template-columns:minmax(0,1fr)}.dw>.dw-toc{display:none}.dw-tocbar{display:block}}@media (width<=700px){.dw-article{border-radius:12px;padding:18px 16px 24px}.dw-body{font-size:14.5px}.dw-tools{box-shadow:none;padding:2px 0 6px;display:inline-flex;position:static}}.dr-page{background:var(--bg);min-height:100vh}.dr-bar{z-index:10;background:var(--surface);border-bottom:1px solid var(--ink-100);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 24px;display:flex;position:sticky;top:0}.dr-main{max-width:1180px;margin:0 auto;padding:22px 24px 60px}@media (width<=700px){.dr-bar{padding:8px 12px}.dr-main{padding:12px 12px 40px}}@media print{.dr-bar,.dw-toc,.dw-tocbar,.dw-tools,.no-print{display:none!important}.dr-page{background:#fff}.dr-main{max-width:none;padding:0}.dw{display:block}.dw-article{box-shadow:none;border:0;padding:0}.dw-body{max-width:none;font-size:11pt}.dw-front{border:0;padding:0}.dw-table{border:0;overflow:visible}.dw-h1,.dw-h2,.dw-h3{break-after:avoid}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:50;background:#1e293b;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.modal-backdrop{animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media print{.app-sidebar,.hamburger-btn,.sidebar-overlay,[data-tooltip]:after{display:none!important}.app-main{margin:0!important;padding:0!important;overflow:visible!important}button,.floating-chat,.command-palette,.no-print{display:none!important}table{page-break-inside:auto}tr{page-break-inside:avoid}}
