.so101-docs{font-family:var(--font-sans);font-feature-settings:"cv11","ss01";background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;--page-pad-x:3.75rem;--page-pad-y:2.25rem;--page-pad-bottom:4rem;--page-measure:1080px}.so101-docs,html[data-theme=dark] .so101-docs{color-scheme:dark;--bg:#08090b;--bg-elevated:#0e1013;--panel:#14171b;--surface:#14171b;--surface-hover:#1b1f25;--text:#edeae5;--muted:#a0a4a9;--text-faint:#75797e;--border:rgb(255 255 255/0.1);--border-strong:rgb(255 255 255/0.22);--accent:#d1934f;--accent-hover:#e2b183;--accent-soft:rgb(209 147 79/0.14);--accent-contrast:#0b0c0e;--mindgrip:#d1934f;--link:#d1934f;--code-bg:#0b0d10;--sidebar-w:180px;--nav-root-bg:#0e1013;--tagline-bg:rgb(209 147 79/0.1);--brand-grad:linear-gradient(135deg,#12151a,#1b1610);--blockquote-bg:rgb(209 147 79/0.08);--lerobot-summary:#b0b4b9;--hover-btn:#1b1f25;--surface-elevated:#12151a;--callout-warn-bg:rgb(209 147 79/0.1);--callout-info-bg:rgb(209 147 79/0.08);--callout-ok-bg:rgb(125 206 160/0.08);--callout-fail-bg:rgb(240 160 160/0.08);--chip-ok-bg:rgb(125 206 160/0.1);--chip-ok-border:#2d5a3c;--chip-ok-text:#7dcea0;--chip-fail-bg:rgb(240 160 160/0.1);--chip-fail-border:#6b3030;--chip-fail-text:#f0a0a0;--chip-warn-bg:rgb(209 147 79/0.12);--chip-warn-border:#6b5020;--chip-warn-text:#e2b183;--chip-info-bg:rgb(209 147 79/0.1);--chip-info-border:#6b5020;--chip-info-text:#e2b183;--hl-orient-bg:rgb(110 168 254/0.14);--hl-pos-bg:rgb(209 147 79/0.16);--ease-journey:cubic-bezier(0.22,1,0.36,1);--font-display:"Fraunces","Iowan Old Style",Georgia,serif;--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace}html[data-theme=light] .so101-docs{color-scheme:light;--bg:#f4f1ec;--bg-elevated:#faf8f5;--panel:#ffffff;--surface:#ffffff;--surface-hover:#ffffff;--text:#14171b;--muted:#52565b;--text-faint:#82868b;--border:rgb(11 13 16/0.12);--border-strong:rgb(11 13 16/0.28);--accent:#9c5a1d;--accent-hover:#b9762f;--accent-soft:rgb(156 90 29/0.1);--accent-contrast:#fffdf9;--mindgrip:#9c5a1d;--link:#9c5a1d;--code-bg:#faf8f5;--nav-root-bg:#faf8f5;--tagline-bg:rgb(156 90 29/0.08);--brand-grad:linear-gradient(135deg,#faf8f5,#f4f1ec);--blockquote-bg:rgb(156 90 29/0.08);--lerobot-summary:#52565b;--hover-btn:#f4f1ec;--surface-elevated:#faf8f5;--callout-warn-bg:rgb(156 90 29/0.08);--callout-info-bg:rgb(156 90 29/0.06);--callout-ok-bg:#f3faf5;--callout-fail-bg:#fff5f4;--chip-ok-bg:#f0faf2;--chip-ok-border:#b7dfc2;--chip-ok-text:#1f6b3a;--chip-fail-bg:#fff1f0;--chip-fail-border:#f0c2be;--chip-fail-text:#9b2c2c;--chip-warn-bg:rgb(156 90 29/0.1);--chip-warn-border:#e2b183;--chip-warn-text:#9c5a1d;--chip-info-bg:rgb(156 90 29/0.08);--chip-info-border:#e2b183;--chip-info-text:#9c5a1d;--hl-orient-bg:#eef4fc;--hl-pos-bg:#faf3ea}.so101-docs,.so101-docs *{box-sizing:border-box;border-color:var(--border)}.so101-docs ::selection{background:var(--accent);color:var(--accent-contrast)}.so101-docs :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.so101-docs a{color:var(--link);text-decoration:none;text-underline-offset:3px}.so101-docs a:hover{color:var(--accent-hover);text-decoration:underline;text-decoration-thickness:1px}.so101-docs .layout{display:flex;min-height:100vh;background:var(--bg)}.so101-docs .sidebar{box-sizing:border-box;width:var(--sidebar-w);min-width:var(--sidebar-w);max-width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--bg-elevated);border-right:1px solid var(--border);padding:1rem .75rem 1.5rem;overflow-x:hidden;overflow-y:auto;position:sticky;top:0;height:100vh;transition:width .28s var(--ease-journey),min-width .28s var(--ease-journey),max-width .28s var(--ease-journey),flex-basis .28s var(--ease-journey),padding .28s var(--ease-journey),opacity .2s ease,border-color .28s ease}.so101-docs .layout.sidebar-collapsed .sidebar{width:0;min-width:0;max-width:0;flex-basis:0;padding-left:0;padding-right:0;border-right-color:transparent;opacity:0;pointer-events:none}.so101-docs .sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:1rem}.so101-docs .sidebar-top .brand-lockup{margin-bottom:0;flex:1;min-width:0}.so101-docs .sidebar-reopen,.so101-docs .sidebar-toggle{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:0;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color .3s ease,color .3s ease}.so101-docs .sidebar-reopen:hover,.so101-docs .sidebar-toggle:hover{border-color:var(--accent);color:var(--accent)}.so101-docs .sidebar-reopen{position:fixed;top:1rem;left:1rem;z-index:45}.so101-docs .sidebar .brand-lockup{display:flex;align-items:center;gap:.5rem;margin:0;padding:0;color:inherit;text-decoration:none}.so101-docs .sidebar .brand-lockup:hover{text-decoration:none;background:transparent}.so101-docs .sidebar .brand-lockup:hover .brand-name{color:var(--accent-hover)}.so101-docs .brand-mark{display:block;flex-shrink:0;width:28px;height:28px;border:1px solid var(--border-strong)}.so101-docs .sidebar .brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.1}.so101-docs .sidebar .brand-name{font-family:var(--font-display);font-size:.9375rem;font-weight:400;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so101-docs .sidebar .brand-sub{font-size:.5rem;margin-top:.2rem}.so101-docs .sidebar .brand-sub,.so101-docs .sidebar .nav-heading{font-family:var(--font-mono);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.so101-docs .sidebar .nav-heading{margin:0 0 .5rem;font-size:.5625rem}.so101-docs .sidebar ul.nav-section{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.so101-docs .sidebar .nav-section li{margin:0;border-bottom:1px solid var(--border)}.so101-docs .sidebar .nav-section a{display:block;padding:.55rem .35rem;color:var(--muted);font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;text-decoration:none;transition:color .2s ease,box-shadow .2s ease,padding-left .2s ease}.so101-docs .sidebar .nav-section a.active,.so101-docs .sidebar .nav-section a:hover{color:var(--accent);text-decoration:none;background:transparent}.so101-docs .sidebar .nav-section a.active{box-shadow:inset 2px 0 0 var(--accent);padding-left:.5rem}.so101-docs .sidebar .ext-docs{margin:1rem 0 0;padding:.85rem 0 0;border-top:1px solid var(--border);font-size:.75rem;line-height:1.45;color:var(--muted)}.so101-docs .sidebar .ext-docs strong{display:block;margin:0 0 .4rem;font-family:var(--font-mono);font-size:.5625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.so101-docs .sidebar .ext-docs a{display:block;padding:.2rem 0;font-family:var(--font-sans);font-size:.75rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--accent);text-decoration:none}.so101-docs .sidebar .ext-docs a:hover{color:var(--accent-hover);text-decoration:underline}.so101-docs .so101-docs .app-brand{margin:0 0 1.5rem;padding:1rem 0 1rem 1rem;background:transparent;border:0;border-left:1px solid var(--accent);border-radius:0;font-size:.9375rem;max-width:var(--page-measure);position:relative}.so101-docs .so101-lock-btn{position:absolute;top:1rem;right:0;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .6rem;cursor:pointer}.so101-docs .so101-lock-btn:hover{color:var(--accent);border-color:var(--accent)}.so101-docs .app-brand-link{display:inline-flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none}.so101-docs .app-brand-link:hover{text-decoration:none}.so101-docs .app-brand-link .brand-mark{border-radius:0}.so101-docs .app-brand strong{font-family:var(--font-display);font-weight:400;color:var(--text);font-size:1.125rem;letter-spacing:-.02em}.so101-docs .app-brand .tagline{display:block;color:var(--muted);margin-top:.35rem;font-size:.875rem}.so101-docs .content{flex:1;max-width:none;width:100%;padding:var(--page-pad-y) var(--page-pad-x) var(--page-pad-bottom);padding-left:max(var(--page-pad-x),3.75rem);background:var(--bg);margin:0;min-width:0}.so101-docs .layout.sidebar-collapsed .content{padding-left:max(var(--page-pad-x),5rem)}.so101-docs .doc-measure,.so101-docs .html-fragment>.home-page,.so101-docs .html-fragment>.kin{max-width:var(--page-measure);width:100%;margin:0}.so101-docs .html-fragment>.project-page{max-width:none;width:100%;margin:0}.so101-docs .html-fragment .container{max-width:var(--page-measure)!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;width:100%}.so101-docs .content h1,.so101-docs .content h2,.so101-docs .content h3,.so101-docs .content h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:1.2;color:var(--text);text-wrap:balance}.so101-docs .content h1{margin-top:0;border-bottom:1px solid var(--border);padding-bottom:.75rem;font-size:clamp(1.75rem,3vw,2.25rem)}.so101-docs .content h2{margin-top:2.75rem;font-size:1.5rem}.so101-docs .content h3{margin-top:2rem;font-size:1.2rem}.so101-docs .content p{color:var(--muted);text-wrap:pretty}.so101-docs .content strong{color:var(--text);font-weight:600}.so101-docs .content pre{background:#0b0d10;padding:1.15rem 1.25rem;overflow-x:auto;border-radius:0;border:1px solid var(--border);font-size:.8125rem;line-height:1.7;color:#edeae5}.so101-docs .content code{font-family:var(--font-mono);font-size:.875em;background:var(--accent-soft);color:var(--accent-hover);padding:.12em .4em;border-radius:0;border:1px solid var(--border)}.so101-docs .content pre code{background:none;color:inherit;padding:0;border:0}.so101-docs .content table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9375rem}.so101-docs .content td,.so101-docs .content th{border:0;border-bottom:1px solid var(--border);padding:.75rem 1rem;text-align:left;vertical-align:top}.so101-docs .content th{background:transparent;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-strong)}.so101-docs .content img{max-width:100%;height:auto}.so101-docs .content blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:1px solid var(--accent);background:transparent;color:var(--text);font-family:var(--font-display);font-size:1.25rem;line-height:1.5}.so101-docs .content ol>li::marker,.so101-docs .content ul>li::marker{color:var(--accent)}.so101-docs .theme-toggle{position:fixed;bottom:1.25rem;right:1.25rem;z-index:50;width:2.5rem;height:2.5rem;border-radius:0;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);cursor:pointer;font-size:0;line-height:1;display:grid;place-items:center;box-shadow:none;transition:border-color .3s ease,color .3s ease}.so101-docs .theme-toggle:hover{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}.so101-docs .theme-toggle svg{display:block}.so101-docs .fragment-status{color:var(--muted);font-size:.9rem}.so101-docs .site-footer{max-width:var(--page-measure);margin:3rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--border)}.so101-docs .site-footer p{margin:0;color:var(--text-faint);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;line-height:1.5}.so101-docs .site-footer a{color:var(--muted);text-decoration:none}.so101-docs .site-footer a:hover{color:var(--accent);text-decoration:underline}.so101-docs .layout:has(.home-page),.so101-docs .layout:has(.kin),.so101-docs .layout:has(.project-page){background:var(--bg)}.so101-docs @media(max-width: 860px){.layout{flex-direction:column}.sidebar{position:static;height:auto;width:100%;max-height:42vh}.layout.sidebar-collapsed .sidebar{width:100%;max-height:0;padding-top:0;padding-bottom:0;border-right:0;border-bottom:0}.sidebar-reopen{top:.75rem;left:.75rem}.content{padding:1.5rem 1.25rem 3rem}.layout.sidebar-collapsed .content{padding-top:3.5rem}}.so101-docs @media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}