:root{color:#243b53;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{color:inherit}.topbar{position:sticky;z-index:20;top:0;height:68px;display:grid;grid-template-columns:270px minmax(260px,620px) 1fr;gap:24px;align-items:center;padding:0 28px;color:#fff;background:#102a43;box-shadow:0 2px 10px #102a432e}.brand{display:flex;gap:11px;align-items:center;padding:0;border:0;color:#fff;background:none;cursor:pointer;text-align:left}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#102a43;background:#5eead4;font-weight:900}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em}.brand small{margin-top:1px;color:#bcccdc;font-size:.72rem}.menu-button{display:none}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap>span{position:absolute;left:15px;color:#829ab1;font-size:1.35rem}.search-wrap input{width:100%;padding:11px 16px 11px 42px;border:1px solid #486581;border-radius:9px;outline:none;color:#f0f4f8;background:#243b53}.search-wrap input:focus{border-color:#5eead4;box-shadow:0 0 0 3px #5eead429}.search-wrap input::placeholder{color:#9fb3c8}.search-results{position:absolute;top:48px;right:0;left:0;overflow:hidden;border:1px solid #d9e2ec;border-radius:10px;color:#243b53;background:#fff;box-shadow:0 16px 38px #102a433d}.search-results p{margin:0;padding:18px}.search-results button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:12px 15px;border:0;border-bottom:1px solid #e9eff5;background:#fff;cursor:pointer;text-align:left}.search-results button:hover{background:#f0fdfa}.search-results small{flex:0 0 auto;color:#627d98}.github-link{justify-self:end;color:#d9e2ec;text-decoration:none;font-weight:650}.github-link:hover{color:#5eead4}.workspace{display:grid;grid-template-columns:288px minmax(0,850px) 230px;justify-content:center;align-items:start}.sidebar{position:sticky;top:68px;overflow-y:auto;height:calc(100vh - 68px);padding:28px 20px 48px;border-right:1px solid #d9e2ec;background:#fff}.nav-group{margin-bottom:27px}.nav-group h2{margin:0 10px 8px;color:#627d98;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.nav-group button{display:block;width:100%;padding:8px 10px;border:0;border-radius:7px;color:#486581;background:transparent;cursor:pointer;font-size:.9rem;line-height:1.35;text-align:left}.nav-group button:hover{color:#0f766e;background:#f0fdfa}.nav-group button.active{color:#0f766e;background:#ccfbf1;font-weight:700}.main-content{min-width:0;padding:34px 52px 80px;background:#fff}.document-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:#627d98;font-size:.8rem}.document-meta span{padding:5px 9px;border-radius:999px;color:#0f766e;background:#ccfbf1;font-weight:700}.document-meta button,.document-footer button{padding:0;border:0;color:#0f766e;background:none;cursor:pointer;font-weight:650}.markdown-body{color:#334e68;font-size:1rem;line-height:1.72}.markdown-body h1{margin:0 0 25px;color:#102a43;font-size:clamp(2rem,5vw,2.65rem);line-height:1.12;letter-spacing:-.035em}.markdown-body h2{margin:2.2em 0 .75em;padding-bottom:.35em;border-bottom:1px solid #d9e2ec;color:#102a43;font-size:1.55rem;line-height:1.3}.markdown-body h3{margin:1.8em 0 .6em;color:#243b53;font-size:1.2rem}.markdown-body h4{color:#334e68}.markdown-body a{color:#0f766e;text-decoration-thickness:1px;text-underline-offset:3px}.markdown-body a:hover{color:#115e59}.markdown-body blockquote{margin:1.5em 0;padding:13px 18px;border-left:4px solid #14b8a6;border-radius:0 7px 7px 0;color:#486581;background:#f0fdfa}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body code{padding:.17em .38em;border-radius:4px;color:#be123c;background:#f1f5f9;font:.88em ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-body pre{overflow:auto;padding:18px;border-radius:10px;color:#d9e2ec;background:#102a43}.markdown-body pre code{padding:0;color:inherit;background:none}.markdown-body table{display:block;overflow-x:auto;width:100%;border-spacing:0;border-collapse:collapse;font-size:.92rem}.markdown-body th,.markdown-body td{padding:10px 12px;border:1px solid #d9e2ec;text-align:left;vertical-align:top}.markdown-body th{color:#243b53;background:#f0f4f8}.markdown-body img,.markdown-body svg{max-width:100%}.markdown-body hr{margin:2.5em 0;border:0;border-top:1px solid #d9e2ec}.mermaid{overflow-x:auto;margin:28px 0;padding:18px;border:1px solid #d9e2ec;border-radius:10px;text-align:center;background:#fff}.document-footer{margin-top:55px;padding:22px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc}.document-footer p{margin:0 0 8px;color:#627d98;font-size:.9rem}.outline{position:sticky;top:68px;overflow:auto;max-height:calc(100vh - 68px);padding:36px 20px;font-size:.8rem}.outline strong{display:block;margin-bottom:11px;color:#334e68}.outline a{display:block;margin:7px 0;color:#829ab1;text-decoration:none;line-height:1.4}.outline a:hover{color:#0f766e}.outline .level-3{padding-left:12px}.backdrop{display:none}@media(max-width:1120px){.workspace{grid-template-columns:270px minmax(0,850px)}.outline{display:none}}@media(max-width:760px){.topbar{grid-template-columns:auto 1fr auto;height:auto;min-height:64px;gap:12px;padding:10px 14px}.menu-button{display:block;padding:6px;border:0;color:#fff;background:none;font-size:1.35rem}.brand small,.github-link{display:none}.search-wrap{grid-column:1 / -1;grid-row:2}.search-results{top:46px}.workspace{display:block}.sidebar{position:fixed;z-index:40;top:0;left:0;width:min(88vw,320px);height:100vh;transform:translate(-105%);transition:transform .2s ease;box-shadow:10px 0 28px #102a4338}.sidebar.open{transform:translate(0)}.backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#102a438c}.main-content{padding:28px 22px 60px}.document-meta{align-items:flex-start;gap:10px}.markdown-body{font-size:.96rem}}
