@font-face{font-family:Sarasa Gothic SC Embedded;src:url(/fonts/SarasaGothicSC-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Sarasa Gothic SC Embedded;src:url(/fonts/SarasaGothicSC-Bold.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Sarasa Mono SC Embedded;src:url(/fonts/SarasaMonoSC-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--font-sans:"Sarasa Gothic SC Embedded","Sarasa Gothic SC","Sarasa Gothic","Noto Sans SC","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Sarasa Mono SC Embedded","Sarasa Mono SC","Sarasa Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;--bg:#fff;--surface:#fff1f7;--surface-strong:#e8f5ff;--text:#2d2630;--muted:#675d68;--border:#e6d5e0;--accent:#a83f6a;--accent-hover:#7f2850;--code:#f5f0f5;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.75}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.16em}a:hover{color:var(--accent-hover)}.site-root{min-height:100vh;display:flex;flex-direction:column}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;gap:2rem;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);font-weight:700;font-size:1.15rem;letter-spacing:.01em;text-decoration:none}.brand-logo{width:2.25rem;height:2.25rem;object-fit:contain}.theme-logo-dark{display:none}.brand span{color:var(--accent);font-weight:400}.site-body{display:flex;width:100%;max-width:1440px;margin:0 auto;flex:1 1}.site-sidebar{width:240px;flex:0 0 240px;padding:2.5rem 1.5rem;border-right:1px solid var(--border)}.site-sidebar h2{margin:0 0 1rem;font-size:.85rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.site-sidebar ul,.toc ul{list-style:none;margin:0;padding:0}.site-sidebar li{margin:.25rem 0}.site-sidebar a{display:block;padding:.35rem .65rem;border-radius:.35rem;text-decoration:none}.site-sidebar a:hover{background:var(--surface)}.site-sidebar .sidebar-folder>summary{padding:.35rem .65rem;border-radius:.35rem;cursor:pointer}.site-sidebar .sidebar-folder>summary:hover{background:var(--surface)}.site-sidebar .sidebar-folder>ul{padding-left:1rem}.site-main{flex:1 1;min-width:0;padding:clamp(2rem,5vw,5rem) clamp(1.25rem,5vw,5rem)}.doc-page{display:flex;gap:clamp(2rem,5vw,5rem);max-width:1100px;margin:0 auto}.doc-content{flex:1 1;min-width:0}.doc-content>h1,.landing h1{margin:0 0 1.5rem;font-size:clamp(2.25rem,5vw,3.6rem);line-height:1.2;letter-spacing:-.025em}.doc-content h2{margin-top:2.75rem}.doc-content h3{margin-top:2rem}.doc-content img{display:block;max-width:100%;height:auto;margin:1.5rem auto;border-radius:.3rem}.doc-content pre{overflow-x:auto;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:.4rem}.doc-content code,.doc-content pre{background:var(--code);font-family:var(--font-mono)}.doc-content code{padding:.12em .3em;border-radius:.2rem;font-size:.9em}.doc-content pre code{padding:0;background:none}.doc-content blockquote{margin:1.5rem 0;padding:.5rem 1.25rem;color:var(--muted);border-left:3px solid var(--accent);background:var(--surface)}.doc-content table{display:block;overflow-x:auto;border-collapse:collapse;margin:1.5rem 0}.doc-content td,.doc-content th{padding:.55rem .8rem;border:1px solid var(--border);text-align:left}.doc-content th{background:var(--surface)}.toc{width:190px;flex:0 0 190px;align-self:flex-start;position:-webkit-sticky;position:sticky;top:6rem;font-size:.88rem}.toc h2{margin:0 0 .75rem;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.toc li{margin:.35rem 0}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}.search{position:relative;width:min(260px,42vw)}.search input{width:100%;padding:.5rem .75rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.3rem;font:inherit}.search input:focus{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.5rem .7rem;color:var(--text);background:var(--surface-strong);border:1px solid var(--border);border-radius:.3rem;font:inherit;cursor:pointer}.theme-toggle:hover{background:var(--surface)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-results{position:absolute;top:calc(100% + .5rem);right:0;width:min(360px,80vw);max-height:60vh;overflow-y:auto;margin:0;padding:.4rem;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:.35rem;box-shadow:0 8px 30px rgba(0,0,0,.133)}.search-results a{display:block;padding:.45rem .65rem;text-decoration:none}.search-results a:hover{background:var(--surface)}.search-empty{padding:.45rem .65rem;color:var(--muted)}.mobile-nav-backdrop,.mobile-nav-toggle,.mobile-sidebar{display:none}.landing{max-width:800px;margin:0 auto;padding:clamp(2rem,8vw,7rem) 0}.landing-logo{display:block;width:clamp(7rem,20vw,10rem);height:auto;margin:0 0 1rem}.landing-logo.theme-logo-dark{display:none}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.15em}.lead{max-width:42rem;color:var(--muted);font-size:1.2rem}.landing-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 4rem}.button{display:inline-block;padding:.65rem 1.1rem;color:#fff;background:var(--accent);border-radius:.3rem;text-decoration:none}.button:hover{color:#fff;background:var(--accent-hover)}.button-secondary{color:var(--accent);background:var(--surface-strong)}.button-secondary:hover{color:var(--accent-hover);background:var(--border)}.landing-section{max-width:42rem;padding-top:1.5rem}.landing-section,.site-footer{border-top:1px solid var(--border)}.site-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1rem,4vw,3rem);color:var(--muted);font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:root[data-theme=dark]{--bg:#1e1b24;--surface:#2b2430;--surface-strong:#20303d;--text:#f7edf4;--muted:#c8b9c7;--border:#514452;--accent:#f2a4c3;--accent-hover:#ffc3d9;--code:#28232d;color-scheme:dark}:root[data-theme=dark] .theme-logo-light{display:none}:root[data-theme=dark] .theme-logo-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-logo-light{display:none}:root:not([data-theme]) .theme-logo-dark{display:block}:root:not([data-theme]){--bg:#1e1b24;--surface:#2b2430;--surface-strong:#20303d;--text:#f7edf4;--muted:#c8b9c7;--border:#514452;--accent:#f2a4c3;--accent-hover:#ffc3d9;--code:#28232d;color-scheme:dark}}@media(max-width:850px){.site-sidebar{width:190px;flex-basis:190px;padding-inline:1rem}.doc-page{display:block}.toc{display:none}}@media(max-width:620px){.site-header{align-items:flex-start;flex-direction:column;gap:.65rem}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:.8rem;right:1rem;width:2.5rem;height:2.5rem;padding:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.35rem;font-size:1.15rem;cursor:pointer}.mobile-nav-backdrop:focus-visible,.mobile-nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search{width:100%}.theme-toggle{position:absolute;top:.8rem;right:4.2rem;width:2.5rem;height:2.5rem;justify-content:center;padding:0}.theme-toggle span:last-child{display:none}.search-results{left:0;right:auto;width:100%}.site-sidebar{display:none}.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:19;padding:0;background:rgba(0,0,0,.4);border:0;cursor:default}.mobile-sidebar{display:block;position:fixed;inset:0 auto 0 0;z-index:20;width:min(86vw,320px);overflow-y:auto;padding:5rem 1.25rem 2rem;background:var(--bg);border-right:1px solid var(--border);box-shadow:8px 0 30px rgba(0,0,0,.2)}.mobile-sidebar h2{margin-top:0}.site-main{padding:2rem 1.1rem 3rem}.landing{padding-block:2rem}}