@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";
:root{--bg:#fff;--panel:#fff;--sub:#f0f2f5;--fg:#0d0f12;--muted:#62676f;--faint:#92979f;--line:#e4e6e9;--line-strong:#d3d6db;--accent:#6b4ee6;--accent-soft:#f2eefe;--accent-ink:#fff;--hover:#0f172a0e;--hover-strong:#0f172a17;--chip:#f2f3f5;--code:#f5f6f8;--amber:#fdf6e8;--amber-line:#e8c98a;--amber-ink:#7a5a12;--green:#159a63;--green-soft:#e7f6ee;--red:#d3453c;--red-soft:#fdecea;--shadow:none;--shadow-sm:none;--shadow-lg:0 16px 48px #0d0f1224;--shadow-pop:0 8px 24px #0d0f121a;--font-sans:Manrope, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs:clamp(11px, .059vw + 10.15px, 11.7px);--text-sm:clamp(12px, .064vw + 11.08px, 12.8px);--text-base:clamp(13px, .07vw + 12px, 13.8px);--text-md:clamp(14px, .075vw + 12.92px, 14.9px);--text-lg:clamp(17px, .045vw + 16.35px, 17.5px);--text-xl:clamp(21px, .056vw + 20.2px, 21.6px);--text-2xl:clamp(25px, .067vw + 24.04px, 25.8px);--text-3xl:clamp(27px, .072vw + 25.96px, 27.8px);--sidebar-w:clamp(290px, 20vw, 360px);--sidebar-collapsed:52px;--toc-w:clamp(230px, 16vw, 300px);--comment-w:clamp(260px, 19vw, 340px);--header-h:56px;--prose-w:clamp(32rem, 44vw, 37rem);--edit-w:clamp(38rem, 66vw, 58rem);--rail-l:var(--sidebar-w);--rail-r:var(--toc-w);--content-w:min(2200px, calc(100vw - var(--rail-l) - var(--rail-r) - var(--gap-5) * 2));--shell-w:100%;--page-w:min(100%, 2000px);--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:22px;--gap-6:32px;--r-sm:4px;--r:8px;--r-lg:12px;--r-pill:999px;--tree-indent:16px;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.12s;--slow:.26s}html[data-side=collapsed]{--rail-l:var(--sidebar-collapsed)}html[data-toc=collapsed]{--rail-r:0px}@media (max-width:1180px){html,html[data-toc=collapsed]{--rail-r:0px}}@media (max-width:900px){html,html[data-side=collapsed]{--rail-l:0px}}[data-theme=dark]{--bg:#0e1014;--panel:#15171b;--sub:#191c22;--fg:#eceef1;--muted:#9ba1aa;--faint:#6b7078;--line:#24272d;--line-strong:#33373f;--accent:#a08cff;--accent-soft:#1e1b2c;--accent-ink:#100a1d;--hover:#ffffff13;--hover-strong:#ffffff1f;--chip:#1c1f25;--code:#171a1f;--amber:#241f14;--amber-line:#6b5626;--amber-ink:#e6c98d;--green:#3ec78d;--green-soft:#12281f;--red:#ff6b60;--red-soft:#2b1614;--shadow:none;--shadow-sm:none;--shadow-lg:0 16px 48px #0009;--shadow-pop:0 8px 24px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0e1014;--panel:#15171b;--sub:#191c22;--fg:#eceef1;--muted:#9ba1aa;--faint:#6b7078;--line:#24272d;--line-strong:#33373f;--accent:#a08cff;--accent-soft:#1e1b2c;--accent-ink:#100a1d;--hover:#ffffff13;--hover-strong:#ffffff1f;--chip:#1c1f25;--code:#171a1f;--amber:#241f14;--amber-line:#6b5626;--amber-ink:#e6c98d;--green:#3ec78d;--green-soft:#12281f;--red:#ff6b60;--red-soft:#2b1614;--shadow:none;--shadow-sm:none;--shadow-lg:0 16px 48px #0009;--shadow-pop:0 8px 24px #00000073}}@media (prefers-reduced-motion:reduce){:root{--fast:0s;--slow:0s}}
*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}::-webkit-scrollbar-track{background:0 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeup{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.btn{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);height:34px;color:var(--fg);font-size:var(--text-base);cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);align-items:center;gap:7px;padding:0 13px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--line-strong);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08);border-color:#0000}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:#0000}.btn-danger{color:var(--red);border-color:var(--line)}.btn-danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.btn-sm{height:28px;font-size:var(--text-sm);padding:0 9px}.btn-icon{justify-content:center;width:30px;height:30px;padding:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--gap-4);color:inherit;transition:border-color var(--fast) var(--ease), transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);display:block}a.card:hover,button.card:hover{border-color:var(--line-strong);background:var(--sub);text-decoration:none}.chip{border-radius:var(--r-pill);background:var(--chip);height:22px;color:var(--muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.chip-literal{text-transform:none;letter-spacing:0;font-family:var(--font-mono);font-weight:500}.btn-link{font:inherit;color:inherit;cursor:pointer;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);background:0 0;border:0;padding:0}.btn-link:hover{color:var(--fg);text-decoration-color:currentColor}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.chip-accent{background:var(--accent-soft);color:var(--accent)}.chip-draft{background:var(--amber);color:var(--amber-ink);border:1px solid var(--amber-line)}.chip-live{background:var(--green-soft);color:var(--green)}.eyebrow{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:700}.muted{color:var(--muted)}.faint{color:var(--faint)}.field{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);width:100%;height:36px;font-size:var(--text-md);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:0 11px}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea.field{resize:vertical;height:auto;padding:9px 11px;line-height:1.55}select.field{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--faint) 50%), linear-gradient(135deg, var(--faint) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:32px}select.field:focus{background-image:linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%)}.label{font-size:var(--text-sm);color:var(--muted);margin-bottom:5px;font-weight:600;display:block}.notice{border:1px solid var(--line);border-radius:var(--r);background:var(--sub);font-size:var(--text-base);color:var(--muted);align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.notice-amber{background:var(--amber);border-color:var(--amber-line);color:var(--amber-ink)}.notice-red{background:var(--red-soft);border-color:var(--red);color:var(--red)}.avatar{border-radius:var(--r-pill);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);font-size:var(--text-xs);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-lg{width:64px;height:64px;font-size:var(--text-xl)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-nowrap{flex-wrap:nowrap}.spread{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.spread-center{align-items:center}.stack{flex-direction:column;gap:10px;display:flex}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}code,kbd,pre,textarea{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}kbd{border:1px solid var(--line);background:var(--chip);min-width:18px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);text-align:center;border-bottom-width:2px;border-radius:5px;padding:1px 5px;display:inline-block}.empty{text-align:center;color:var(--muted);font-size:var(--text-base);padding:40px 24px}.empty h3{font-size:var(--text-lg);color:var(--fg);margin-bottom:6px}.btn-quiet-danger{color:var(--muted)}.btn-quiet-danger:hover:not(:disabled){border-color:var(--red);background:var(--red-soft);color:var(--red)}
.prose{max-width:var(--prose-w);color:var(--fg);font-size:15px;line-height:1.72}.prose>*+*{margin-top:1.05em}.prose h1,.prose h2,.prose h3,.prose h4{letter-spacing:-.012em;scroll-margin-top:calc(var(--header-h) + 20px);font-weight:600;line-height:1.28}.prose h1{font-size:var(--text-2xl);margin-top:1.6em}.prose h2{font-size:var(--text-xl);border-top:1px solid var(--line);margin-top:2em;padding-top:1.1em}.prose>h2:first-child{border-top:none;margin-top:0;padding-top:0}.prose h3{font-size:var(--text-lg);margin-top:1.7em}.prose h4{font-size:var(--text-md);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1.5em}.prose .heading-anchor{color:var(--faint);opacity:0;transition:opacity var(--fast) var(--ease);margin-left:8px;font-weight:400;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose p{margin-top:1.05em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.35em}.prose ol.steps{counter-reset:step;padding-left:0;list-style:none}.prose ol.steps>li{counter-increment:step;margin-top:1em;padding:2px 0 2px 42px;position:relative}.prose ol.steps>li:before{content:counter(step);border-radius:var(--r-pill);background:var(--accent-soft);width:27px;height:27px;color:var(--accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid;position:absolute;top:1px;left:0}.prose blockquote{border-left:3px solid var(--line-strong);color:var(--muted);padding:2px 0 2px 16px}.prose .callout{border:1px solid var(--line);border-radius:var(--r);background:var(--sub);font-size:var(--text-md);border-left-width:3px;padding:13px 16px}.prose .callout>*+*{margin-top:.6em}.prose .callout-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.prose .callout-note{border-left-color:var(--accent)}.prose .callout-note .callout-title{color:var(--accent)}.prose .callout-tip{border-left-color:var(--green);background:var(--green-soft)}.prose .callout-tip .callout-title{color:var(--green)}.prose .callout-important{border-left-color:var(--accent);background:var(--accent-soft)}.prose .callout-important .callout-title{color:var(--accent)}.prose .callout-warning,.prose .callout-caution{border-left-color:var(--amber-line);background:var(--amber);color:var(--amber-ink)}.prose .callout-warning .callout-title,.prose .callout-caution .callout-title{color:var(--amber-ink)}.prose .callout-caution{border-left-color:var(--red);background:var(--red-soft);color:var(--red)}.prose .callout-caution .callout-title{color:var(--red)}.prose code{border-radius:var(--r-sm);background:var(--code);font-family:var(--font-mono);margin:0 -2px;padding:2px 3px;font-size:.875em}.prose pre{border:1px solid var(--line);border-radius:var(--r);background:var(--code);padding:14px 16px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:var(--text-base);background:0 0;padding:0}.hljs-comment,.hljs-quote{color:var(--faint);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-type{color:var(--accent)}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--green)}.hljs-number,.hljs-symbol,.hljs-attr,.hljs-variable,.hljs-template-variable{color:#c2410c}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-symbol,[data-theme=dark] .hljs-attr,[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-template-variable{color:#f5a97f}.hljs-title,.hljs-section,.hljs-name,.hljs-built_in{color:#0369a1;font-weight:600}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-section,[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-built_in{color:#7dd3fc}.hljs-deletion{color:var(--red)}.prose .table-scroll{border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.prose thead th{background:var(--sub);text-align:left;white-space:nowrap;font-weight:600;position:sticky;top:0}.prose th,.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 13px}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:hover td{background:var(--sub)}.prose figure{margin-top:1.6em}.prose figure img{width:100%;height:auto;display:block}.prose .diagram-frame,.prose .shot-frame{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);transition:border-color var(--fast) var(--ease);display:block;overflow:hidden}.prose .diagram-frame:hover,.prose .shot-frame:hover{border-color:var(--accent)}.prose .diagram-frame{background:var(--bg);padding:14px}.prose figcaption{font-size:var(--text-sm);color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;display:flex}.prose .figure-aside{font-size:var(--text-xs);color:var(--faint);white-space:nowrap}.prose hr{border:none;border-top:1px solid var(--line);margin:2.2em 0}.prose img{aspect-ratio:auto 16/10;max-width:100%}.prose a.external:after{content:"↗";color:var(--faint);margin-left:3px;font-size:.85em}.prose mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 2px}.prose input[type=checkbox]{margin-right:7px}.prose-wide{max-width:none}.prose-wide>p,.prose-wide>ul,.prose-wide>ol,.prose-wide>dl,.prose-wide>blockquote,.prose-wide>h1,.prose-wide>h2,.prose-wide>h3,.prose-wide>h4,.prose-wide>.callout,.prose-wide>.footnotes{max-width:var(--prose-w)}.prose-wide>figure,.prose-wide>.table-wrap,.prose-wide>table,.prose-wide>pre,.prose-wide>.diagram{max-width:100%}.prose-wide>p:has(>img:only-child){max-width:100%}
.hdr{z-index:60;height:var(--header-h);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(12px);backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:0 18px;display:flex;position:sticky;top:0}.brand{color:var(--fg);letter-spacing:-.015em;flex:none;align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--fg);width:27px;height:27px;color:var(--bg);transition:transform var(--fast) var(--ease);border-radius:7px;place-items:center;font-size:15px;font-weight:700;display:grid}.brand:hover .brand-mark{transform:rotate(-6deg)scale(1.06)}.hdr-sep{background:var(--line);flex:none;width:1px;height:22px}.switch{flex:none;position:relative}.switch-btn{border-radius:var(--r);cursor:pointer;height:34px;font-size:var(--text-base);color:var(--fg);transition:background var(--fast) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 10px;font-weight:600;display:flex}.switch-btn:hover,.switch-btn[aria-expanded=true]{background:var(--chip)}.switch-btn .caret{color:var(--faint);transition:transform var(--fast) var(--ease)}.switch-btn[aria-expanded=true] .caret{transform:rotate(180deg)}.menu{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);min-width:288px;box-shadow:var(--shadow-lg);z-index:80;animation:pop var(--fast) var(--ease);padding:6px;position:absolute;top:calc(100% + 6px);left:0}.menu-right{left:auto;right:0}.menu-head{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:9px 10px 6px;font-weight:700}.menu-item{border-radius:var(--r-sm);text-align:left;cursor:pointer;width:100%;color:var(--fg);font-size:var(--text-base);transition:background var(--fast) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu-item:hover{background:var(--hover);text-decoration:none}.menu-item[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.menu-item .tick{width:14px;color:var(--accent);flex:none}.menu-item .hint{font-size:var(--text-sm);color:var(--faint);font-weight:400;display:block}.menu-sep{background:var(--line);height:1px;margin:6px 4px}.search-btn{border:1px solid var(--line);border-radius:var(--r);background:var(--sub);min-width:230px;height:34px;color:var(--faint);font-size:var(--text-base);cursor:pointer;transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);align-items:center;gap:9px;padding:0 10px;display:flex}.search-btn:hover{border-color:var(--line-strong);background:var(--panel)}.search-btn kbd{margin-left:auto}.palette-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pop var(--fast) var(--ease);background:#0f172a59;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:min(660px,92vw);max-height:68vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.palette-input{border:none;border-bottom:1px solid var(--line);width:100%;height:52px;font-size:var(--text-lg);background:0 0;padding:0 18px}.palette-input:focus{outline:none}.palette-results{padding:6px;overflow-y:auto}.palette-hit{border-radius:var(--r-sm);color:inherit;padding:10px 12px;display:block}.palette-hit:hover,.palette-hit[data-active=true]{background:var(--chip);text-decoration:none}.palette-hit .t{font-weight:600;font-size:var(--text-md)}.palette-hit .s{font-size:var(--text-base);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.palette-hit .w{font-size:var(--text-xs);color:var(--faint);letter-spacing:.03em;text-transform:uppercase;margin-top:3px;font-weight:600}.palette-foot{border-top:1px solid var(--line);background:var(--sub);font-size:var(--text-sm);color:var(--faint);gap:14px;padding:9px 14px;display:flex}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);max-width:var(--shell-w);align-items:start;margin:0 auto;display:grid}.shell-wide{grid-template-columns:minmax(0,1fr)}.side{top:var(--header-h);height:calc(100vh - var(--header-h));border-right:1px solid var(--line);padding:16px 12px 24px;position:sticky;overflow-y:auto}.side-full{flex-direction:column;min-height:100%;display:flex}.side-up{margin-bottom:var(--gap-2);font-size:var(--text-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;font-weight:600;display:inline-flex}.side-up:hover{color:var(--accent);text-decoration:none}.side-hint{font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums;flex:none}.side-foot{padding-top:var(--gap-3);border-top:1px solid var(--line);gap:2px;margin-top:auto;display:grid}.side-foot .side-link{color:var(--muted);font-size:var(--text-xs)}.side-group+.side-group{margin-top:10px}.side-title{align-items:center;gap:6px;min-height:22px;padding:0 8px 6px;display:flex;position:relative}.side-title b{min-width:0;color:var(--faint);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.side-link{border-radius:var(--r-sm);color:var(--muted);font-size:var(--text-base);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);align-items:center;gap:8px;padding:5px 9px;line-height:1.4;display:flex}.side-link:hover{background:var(--hover);color:var(--fg);text-decoration:none}.side-link[aria-current=page]{background:var(--hover-strong);box-shadow:inset 2px 0 0 var(--accent);color:var(--fg);font-weight:600}.side-link .flag{letter-spacing:.06em;color:var(--amber-ink);background:var(--amber);border:1px solid var(--amber-line);border-radius:var(--r-pill);flex:none;margin-left:auto;padding:0 5px;font-size:9px;font-weight:700}.main{min-width:0;padding:22px 26px 56px}.page-head{max-width:var(--content-w);margin-bottom:var(--gap-5)}.page-head .h1,.page-head .lede{max-width:var(--prose-w)}.crumbs{font-size:var(--text-base);color:var(--faint);align-items:center;gap:7px;margin-bottom:12px;display:flex}.crumbs a{color:var(--muted)}.h1{font-size:var(--text-3xl);letter-spacing:-.022em;font-weight:700;line-height:1.15}.h2{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600;line-height:1.2}.lede{font-size:var(--text-md);color:var(--muted);margin-top:5px;line-height:1.5}.pane{min-width:0;padding:var(--gap-4) var(--gap-5) var(--gap-6)}.pane-narrow>*{max-width:1000px}.tabs-wide{margin:var(--gap-4) 0 var(--gap-3)}.tabs-wide button{height:30px;padding:0 14px}.form-panel{gap:var(--gap-3);padding:var(--gap-4);margin-top:var(--gap-3);display:grid}.side-none{font-size:var(--text-xs);color:var(--faint);padding:3px 9px}.more{align-items:center;gap:var(--gap-3);margin-top:var(--gap-4);font-size:var(--text-sm);display:flex}body.pointing,body.pointing *{cursor:crosshair!important}body.pointing #doc-body,body.pointing .ed-preview{-webkit-user-select:none;user-select:none}.point-box,.point-gap{z-index:60;pointer-events:none;animation:pop var(--fast) var(--ease);position:fixed}.point-box{border:2px solid var(--accent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent) 8%, transparent);box-sizing:content-box;margin:-3px 0 0 -6px;padding:3px 6px}.point-gap{border-top:2px dashed var(--accent);height:0;margin-top:4px}.point-label{border-radius:var(--r-sm);background:var(--accent);max-width:380px;color:var(--accent-ink);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;padding:2px 7px;font-weight:600;position:absolute;top:-22px;left:-2px;overflow:hidden}.point-gap .point-label{top:-11px}.point-tray{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-pill);max-width:min(90vw,720px);box-shadow:var(--shadow-lg);font-size:var(--text-sm);align-items:center;gap:7px;padding:7px 11px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.point-chip,.assistant-point{background:var(--accent-soft);max-width:260px;color:var(--accent);border-radius:var(--r-pill);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 9px;font-weight:600;display:inline-flex}.point-chip:hover,.assistant-point:hover{border-color:var(--accent)}.assistant-points{flex-wrap:wrap;gap:5px;padding:0 2px 7px;display:flex}.assistant-point{min-width:0;max-width:100%}.assistant-point-add{color:var(--faint);border:1px dashed var(--line-strong);background:0 0}.assistant-point-add:hover{color:var(--accent);border-color:var(--accent)}.group-card .n{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:700}.group-card .d{font-size:var(--text-base);color:var(--muted);margin-top:7px;line-height:1.5}.group-card .m{font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums;margin-top:12px}.group-cell{position:relative}.listing-order{opacity:0;transition:opacity var(--fast) var(--ease);gap:2px;display:flex;position:absolute;top:8px;right:8px}.group-cell:hover .listing-order,.listing-order:focus-within{opacity:1}.filter{margin:var(--gap-4) 0 var(--gap-3);background:var(--sub);border:1px solid var(--line);border-radius:var(--r);height:34px;color:var(--faint);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);align-items:center;gap:8px;padding:0 10px;display:flex}.filter:focus-within{background:var(--panel);border-color:var(--accent)}.filter input{min-width:0;color:var(--fg);font:inherit;font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.filter input::-webkit-search-cancel-button{appearance:none}.dash-foot{margin-top:var(--gap-6);padding-top:var(--gap-3);border-top:1px solid var(--line);font-size:var(--text-sm)}.dash-foot a{color:var(--muted)}.dash-foot a:hover{color:var(--accent)}.doc-layout{grid-template-columns:minmax(0, var(--content-w)) var(--toc-w);justify-content:center;align-items:start;gap:clamp(32px,3.4vw,72px);display:grid}html[data-toc=collapsed] .doc-layout{grid-template-columns:minmax(0, var(--content-w))}.doc-layout:has(>div:only-child){grid-template-columns:minmax(0, var(--content-w))}.toc{top:calc(var(--header-h) + 30px);max-height:calc(100vh - var(--header-h) - 60px);border-left:1px solid var(--line);padding-left:16px;position:sticky;overflow-y:auto}.toc a{font-size:var(--text-base);color:var(--muted);padding:4px 0;line-height:1.4;display:block}.toc a:hover{color:var(--fg);text-decoration:none}.toc a[data-depth="3"]{font-size:var(--text-sm);padding-left:13px}.toc a[data-active=true]{color:var(--accent)}.doc-foot{max-width:var(--content-w);border-top:1px solid var(--line);font-size:var(--text-base);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:46px;padding-top:18px;display:flex}.pager{max-width:var(--content-w);grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.pager a{border:1px solid var(--line);border-radius:var(--r-lg);color:inherit;transition:border-color var(--fast) var(--ease);padding:13px 16px}.pager a:hover{border-color:var(--accent);text-decoration:none}.pager .dir{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700}.pager .t{margin-top:3px;font-weight:600}.pager .next{text-align:right}.wrap{max-width:var(--page-w);margin:0 auto;padding:26px 26px 56px}.wrap-narrow{max-width:min(100%,1500px)}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 32px;display:grid}.stats-5{grid-template-columns:repeat(5,1fr)}.stat{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--sub);padding:15px 17px}.stat .v{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700}.stat .l{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.split{gap:var(--gap-6);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:var(--gap-3);margin-bottom:10px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(clamp(280px,21vw,360px),1fr));align-items:start;gap:14px;display:grid}.proj-card{position:relative;overflow:hidden}.proj-card:before{content:"";background:var(--proj-accent,var(--accent));opacity:0;height:2px;transition:opacity var(--fast) var(--ease);position:absolute;inset:0 0 auto}.proj-card:hover:before,.proj-card:focus-visible:before{opacity:1}.proj-card .n{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:700}.proj-card .f{font-size:var(--text-sm);color:var(--faint);margin-top:1px}.proj-card .d{font-size:var(--text-base);color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:9px;line-height:1.55;display:-webkit-box;overflow:hidden}.proj-card .m{font-size:var(--text-sm);color:var(--faint);margin-top:13px}.add-card{border:1px dashed var(--line-strong);border-radius:var(--r-lg);min-height:132px;color:var(--muted);font-size:var(--text-base);cursor:pointer;transition:border-color var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;place-items:center;font-weight:600;display:grid}.add-card:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.feed{flex-direction:column;display:flex}.feed-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:11px;padding:11px 2px;display:flex}.feed-row:last-child{border-bottom:none}.feed-row .body{min-width:0;font-size:var(--text-base);flex:1;line-height:1.5}.feed-row .t{font-size:var(--text-sm);color:var(--faint);white-space:nowrap;flex:none}.feed-tag{background:var(--chip);color:var(--muted);letter-spacing:.07em;vertical-align:1px;border-radius:5px;margin-right:7px;padding:0 6px;font-size:9px;font-weight:700;display:inline-block}.feed-tag[data-tag=PUBLISHED]{background:var(--green-soft);color:var(--green)}.feed-tag[data-tag=DRAFT]{background:var(--amber);color:var(--amber-ink)}.feed-tag[data-tag=DELETED]{background:var(--red-soft);color:var(--red)}.feed-tag[data-tag=NEW]{background:var(--accent-soft);color:var(--accent)}.draft-row{border:1px solid var(--line);border-radius:var(--r);color:inherit;transition:border-color var(--fast) var(--ease);padding:11px 13px;display:block}.draft-row:hover{border-color:var(--accent);text-decoration:none}.draft-row .t{font-weight:600;font-size:var(--text-md)}.draft-row .w{font-size:var(--text-sm);color:var(--faint);margin-top:2px}.ed{height:calc(100vh - var(--header-h));flex-direction:column;display:flex}.ed-bar{border-bottom:1px solid var(--line);background:var(--sub);flex:none;align-items:center;gap:10px;padding:9px 16px;display:flex}.ed-bar-foot{border-top:1px solid var(--line);border-bottom:none;padding-right:150px}.ed-path{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted)}.ed-status{font-size:var(--text-sm);color:var(--faint)}.ed-status[data-tone=dirty]{color:var(--amber-ink)}.ed-status[data-tone=saved]{color:var(--green)}.ed-status[data-tone=error]{color:var(--red)}.modes{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);gap:2px;padding:2px;display:flex}.modes button{border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:background var(--fast) var(--ease);background:0 0;border:none;padding:4px 11px;font-weight:600}.modes button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.ed-body{flex:1;min-height:0;display:grid}.ed-body[data-mode=split]{grid-template-columns:1fr 1fr}.ed-body[data-mode=write],.ed-body[data-mode=preview]{grid-template-columns:1fr}.ed-pane{min-width:0;overflow-y:auto}.ed-pane+.ed-pane{border-left:1px solid var(--line)}.ed-textarea{background:var(--bg);width:100%;min-height:100%;font-family:var(--font-mono);font-size:var(--text-base);resize:none;tab-size:2;border:none;padding:22px 26px;line-height:1.75;display:block}.ed-textarea:focus{outline:none}.ed-preview{background:var(--sub);padding:22px 26px}.ed-preview .prose{max-width:var(--edit-w);margin:0 auto}.ed-drop{outline:2px dashed var(--accent);outline-offset:-8px;background:var(--accent-soft)}.ed-side{border-left:1px solid var(--line);background:var(--panel);flex:none;width:320px;padding:16px;overflow-y:auto}.ver{border:1px solid var(--line);border-radius:var(--r);text-align:left;cursor:pointer;width:100%;color:inherit;transition:border-color var(--fast) var(--ease);background:0 0;padding:10px 11px;display:block}.ver:hover{border-color:var(--accent)}.ver+.ver{margin-top:8px}.ver .l{font-weight:600;font-size:var(--text-base);align-items:center;gap:7px;display:flex}.ver .m{font-size:var(--text-sm);color:var(--faint);margin-top:3px}.diff{font-family:var(--font-mono);font-size:var(--text-sm);border:1px solid var(--line);border-radius:var(--r);line-height:1.6;overflow:hidden}.diff-line{white-space:pre-wrap;word-break:break-word;gap:10px;padding:0 10px;display:flex}.diff-line .no{text-align:right;width:34px;color:var(--faint);-webkit-user-select:none;user-select:none;flex:none}.diff-line[data-kind=add]{background:var(--green-soft)}.diff-line[data-kind=del]{background:var(--red-soft)}.diff-line[data-kind=add] .no:after{content:"+";color:var(--green);margin-left:4px}.diff-line[data-kind=del] .no:after{content:"−";color:var(--red);margin-left:4px}.list-row{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);align-items:center;gap:11px;padding:10px 13px;display:flex}.list-row+.list-row{margin-top:7px}.list-row .t{font-weight:600;font-size:var(--text-md)}.list-row .s{font-size:var(--text-sm);color:var(--faint)}.list-nested{border-left:1px solid var(--line);margin-left:24px;padding-left:14px}.controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.controls>*{min-width:0}.tbl{border-collapse:collapse;width:100%;font-size:var(--text-base)}.tbl th{text-align:left;border-bottom:1px solid var(--line);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:9px 12px;font-weight:700}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px}.tbl tr:last-child td{border-bottom:none}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pop var(--fast) var(--ease);background:#0f172a66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:min(560px,100%);max-height:86vh;box-shadow:var(--shadow-lg);padding:22px;overflow-y:auto}.modal h2{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:700}.modal-foot{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:3px;margin-bottom:22px;display:flex;overflow-x:auto}.tab{color:var(--muted);font-size:var(--text-md);cursor:pointer;white-space:nowrap;transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 14px;font-weight:600}.tab:hover{color:var(--fg);text-decoration:none}.tab[aria-current=true]{color:var(--accent);border-bottom-color:var(--accent)}.side-toggle{border:none;border-bottom:1px solid var(--line);background:var(--sub);width:100%;height:42px;color:var(--fg);font-size:var(--text-base);cursor:pointer;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:none}.side-toggle .caret{color:var(--faint);transition:transform var(--fast) var(--ease)}.side-toggle[aria-expanded=true] .caret{transform:rotate(180deg)}@media (max-width:1180px){.doc-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}.split{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side-toggle{display:flex}.side{border-right:none;border-bottom:1px solid var(--line);height:auto;max-height:0;padding-top:0;padding-bottom:0;position:static;overflow:hidden}.side[data-open=true]{max-height:none;padding-top:16px;padding-bottom:24px}.main,.wrap{padding:22px 18px 70px}.stats,.stats-5{grid-template-columns:repeat(2,1fr)}.ed-body[data-mode=split]{grid-template-columns:1fr}.ed-side{display:none}.search-btn{min-width:0}.search-btn span,.search-btn kbd{display:none}}.page-footer .page-footer .backlinks{max-width:var(--prose-w);border-top:1px solid var(--line);margin-top:34px;padding-top:18px}.backlink{border:1px solid var(--line);border-radius:var(--r);color:inherit;transition:border-color var(--fast) var(--ease);align-items:baseline;gap:10px;padding:7px 11px;display:flex}.backlink:hover{border-color:var(--accent);text-decoration:none}.backlink .t{font-weight:600}.backlink .c{font-size:var(--text-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.prose pre.has-copy{position:relative}.code-copy{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--muted);font-size:var(--text-xs);cursor:pointer;opacity:0;transition:opacity var(--fast) var(--ease), color var(--fast) var(--ease);padding:3px 9px;font-weight:600;position:absolute;top:8px;right:8px}.prose pre.has-copy:hover .code-copy,.code-copy:focus-visible{opacity:1}.code-copy[data-done=true]{opacity:1;color:var(--green);border-color:var(--green)}.prose .heading-anchor[data-copied=true]:after{content:" link copied";font-size:var(--text-xs);color:var(--green)}.ed-toolbar button{border-radius:var(--r-sm);min-width:28px;height:28px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:1px solid #0000;padding:0 8px;font-weight:600}.ed-toolbar button:hover{background:var(--chip);color:var(--fg)}.ed-toolbar .sep{background:var(--line);width:1px;height:18px;margin:0 6px}.ed-issues{border-bottom:1px solid var(--line);background:var(--sub);font-size:var(--text-base);padding:10px 14px}.ed-issues .row+.row{margin-top:5px}@media print{.hdr,.side,.toc,.pager,.shell,.doc-layout{display:block}.main,.wrap{max-width:none;padding:0}.prose{max-width:none;font-size:11pt}.prose a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:9pt}.prose h2,.prose h3{break-after:avoid}.prose pre,.prose figure,.prose table{break-inside:avoid}}.steps-guide{margin-top:26px;list-style:none}.step-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);align-items:flex-start;gap:14px;padding:18px;display:flex}.step-card+.step-card{margin-top:10px}.step-card[data-state=current]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.step-card[data-state=later]{opacity:.62}.step-card[data-state=done] .step-title{color:var(--muted);text-decoration:line-through}.step-num{border-radius:var(--r-pill);background:var(--chip);width:26px;height:26px;color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:700;display:grid}.step-card[data-state=current] .step-num{background:var(--accent);color:var(--accent-ink)}.step-card[data-state=done] .step-num{background:var(--green-soft);color:var(--green)}.step-title{font-size:var(--text-md);font-weight:600}.step-detail{font-size:var(--text-base);color:var(--muted);margin-top:3px;line-height:1.6}.explainer{border:1px solid var(--line);border-radius:var(--r);background:var(--sub);font-size:var(--text-base);color:var(--muted);gap:10px;padding:12px 14px;line-height:1.6;display:flex}.explainer b{color:var(--fg)}.explainer .mark{color:var(--accent);flex:none;font-weight:700}@media (max-width:640px){.step-card{flex-wrap:wrap}.step-card .btn{margin-left:40px}}.ed-visual-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.ed-visual-host{flex:1;min-height:0;overflow-y:auto}.ed-visual{min-height:100%;max-width:var(--edit-w);outline:none;margin:0 auto;padding:28px 30px 120px}.ed-visual p.is-editor-empty:first-child:before,.ed-visual p.ask-here:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--faint)}.ed-visual-pane.ed-drop{outline:2px dashed var(--accent);outline-offset:-6px}.ed-toolbar{border-bottom:1px solid var(--line);background:var(--sub);flex-wrap:wrap;flex:none;align-items:center;gap:4px;padding:7px 10px;display:flex}.ed-toolbar-group{border-right:1px solid var(--line);gap:2px;margin-right:2px;padding-right:6px;display:flex}.ed-toolbar-group:last-child{border-right:0}.ed-toolbar-btn{border-radius:var(--r-sm);min-width:28px;height:28px;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:1px solid #0000;padding:0 8px}.ed-toolbar-btn:hover{background:var(--chip);color:var(--fg)}.ed-toolbar-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ed-toolbar-btn[data-bold=true]{font-weight:700}.ed-toolbar-btn[data-italic=true]{font-style:italic}.ed-toolbar-btn[data-mono=true]{font-family:var(--font-mono);font-size:var(--text-xs)}.ed-visual table{border-collapse:collapse;width:100%}.ed-visual th,.ed-visual td{border:1px solid var(--line-strong);vertical-align:top;min-width:60px;padding:7px 9px}.ed-visual th{background:var(--sub)}.ed-visual .selectedCell{background:var(--accent-soft)}.card-export{font-size:var(--text-xs);color:var(--faint);margin-top:12px;font-weight:600;text-decoration:none;display:inline-block}.card:hover .card-export{color:var(--accent)}.card-export:hover{text-decoration:underline}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}@media (max-width:720px){.page-actions .grow{flex-basis:100%}}.rail-btn{border-radius:var(--r-sm);width:26px;height:26px;color:var(--faint);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:13px;line-height:1;display:grid}.rail-btn:hover{background:var(--chip);color:var(--fg)}.side-project{margin:0 -12px var(--gap-3);padding:0 12px var(--gap-3);border-bottom:1px solid var(--line);color:var(--fg);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.25;text-decoration:none;display:block;overflow:hidden}.side-project:hover{color:var(--accent)}.side-head{align-items:center;gap:6px;margin-bottom:18px;display:flex}.side-head .switch{flex:1;min-width:0;margin-bottom:0}.side-row{border-radius:var(--r-sm);align-items:center;gap:2px;display:flex}.side-row .side-link{flex:1;min-width:0}.side-count{font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:6px}.side-row.is-over,.side-title.is-over{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.side-row.is-dragging{opacity:.4}.side-row[draggable=true]{cursor:grab}.side-row[draggable=true]:active{cursor:grabbing}.side-strip{flex-direction:column;align-items:center;gap:12px;display:none}html[data-side=collapsed] .shell{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr)}html[data-side=collapsed] .side{background:var(--sub);padding:18px 8px;overflow:hidden}html[data-side=collapsed] .side-strip{display:flex}html[data-side=collapsed] .side-full{display:none}.side-mark{border-radius:var(--r);background:var(--chip);width:34px;height:34px;color:var(--fg);font-size:var(--text-md);cursor:default;place-items:center;font-weight:700;display:grid}.rail-btn-lg{width:34px;height:34px;font-size:15px}html[data-toc=collapsed] .toc{display:none}.toc-restore{z-index:25;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow);color:var(--muted);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:7px;padding:7px 12px;font-weight:600;display:none;position:fixed;bottom:74px;right:18px}html[data-toc=collapsed] .toc-restore{display:inline-flex}.toc-restore:hover{color:var(--fg)}html[data-assistant=open] .toc-restore{display:none}.toc-head{align-items:center;gap:6px;margin-bottom:8px;display:flex}.toc-head .eyebrow{flex:1;min-width:0}.side-tools{transition:background var(--fast) var(--ease);background:0 0;align-items:center;gap:2px;padding-left:10px;display:flex;position:absolute;top:0;right:6px}.side-group:hover .side-tools,.side-tools:focus-within{background:linear-gradient(to right, transparent, var(--sub) 12px)}.side-tool{width:20px;height:20px;color:var(--faint);cursor:pointer;opacity:0;transition:opacity var(--fast) var(--ease), background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;font-size:13px;line-height:1;display:grid}.side-group:hover .side-tool,.side-tool:focus-visible{opacity:1}.side-tool:hover{background:var(--hover);color:var(--fg);text-decoration:none}button.side-tool:hover{background:var(--red-soft);color:var(--red)}.side-tool:disabled{cursor:default;opacity:.4}.side-add{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.side-add-link{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;font-family:inherit;font-weight:500}.side-add-link:hover{color:var(--accent)}.side-add-form{gap:6px;padding:4px 10px 0;display:flex}.side-add-form .input{min-width:0;font-size:var(--text-sm);flex:1;padding:5px 8px}.modal-confirm{width:min(440px,100%)}.modal-publish{width:min(460px,100%)}.modal-publish h2{align-items:center;gap:8px;display:flex}.publish-detail{margin-top:var(--gap-2);line-height:1.55}.publish-detail code{font-family:var(--font-mono);background:var(--code);border-radius:5px;padding:1px 5px;font-size:.92em}.publish-reason{margin-top:var(--gap-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--amber-ink);background:var(--amber);border:1px solid var(--amber-line);border-radius:var(--r-sm);overflow-wrap:anywhere;padding:9px 11px;line-height:1.5}.publish-tick{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.publish-steps{margin-top:var(--gap-3);gap:9px;list-style:none;display:grid}.publish-steps li{font-size:var(--text-sm);color:var(--faint);align-items:center;gap:9px;display:flex}.publish-steps li[data-state=done]{color:var(--muted)}.publish-steps li[data-state=now]{color:var(--fg);font-weight:600}.publish-step-mark{width:14px;height:14px;color:var(--green);flex:none;place-items:center;display:grid}.publish-steps li[data-state=todo] .publish-step-mark:before{content:"";border:1px solid var(--line-strong);border-radius:50%;width:6px;height:6px}.ed-spinner{border:2px solid var(--line-strong);border-top-color:currentColor;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite spin}@media (prefers-reduced-motion:reduce){.ed-spinner{border-top-color:var(--line-strong);animation:none}}.modal-choices{flex-direction:column;gap:8px;margin-top:20px;display:flex}.modal-choice{border:1px solid var(--line);border-radius:var(--r);background:var(--sub);width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);padding:11px 14px;font-family:inherit;display:block}.modal-choice:hover{border-color:var(--accent);background:var(--accent-soft)}.modal-choice.is-danger:hover{border-color:var(--red);background:var(--red-soft)}.modal-choice.is-danger:hover .modal-choice-label{color:var(--red)}.modal-choice-label{font-weight:600;font-size:var(--text-md);display:block}.modal-choice-hint{font-size:var(--text-sm);color:var(--muted);margin-top:2px;display:block}.modal-choices .btn{align-self:flex-end;margin-top:4px}.modal-choice:disabled{cursor:default;opacity:.55}.modal-choice:disabled:hover{border-color:var(--line);background:var(--sub)}.field-group{flex:1;min-width:0;display:block}.field-row{flex-wrap:wrap;gap:14px;display:flex}.form-hint{font-size:var(--text-sm);color:var(--faint);margin-top:5px;line-height:1.45;display:block}.field-color{cursor:pointer;width:46px;padding:3px}.row-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 13px;display:flex}.row-item:last-child{border-bottom:none}.row-item-rank{border-radius:var(--r-sm);background:var(--chip);width:22px;height:22px;color:var(--faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:600;display:grid}.settings-section{margin-top:var(--gap-6)}.work-row{align-items:baseline;gap:var(--gap-3);border-bottom:1px solid var(--line);color:inherit;transition:background var(--fast) var(--ease);padding:9px 13px;display:flex}.work-row:last-child{border-bottom:none}.work-row:hover{background:var(--sub);text-decoration:none}.work-tag{letter-spacing:.07em;width:52px;color:var(--faint);flex:none;font-size:9.5px;font-weight:700}.work-tag[data-kind=draft]{color:var(--amber-ink)}.work-tag[data-kind=comment]{color:var(--accent)}.work-tag[data-kind=stale]{color:var(--red)}.work-body{align-items:baseline;gap:var(--gap-2);flex:1;min-width:0;display:flex}.work-title{font-weight:600;font-size:var(--text-base);white-space:nowrap}.work-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);color:var(--muted);overflow:hidden}.work-meta{align-items:baseline;gap:var(--gap-2);max-width:220px;font-size:var(--text-xs);color:var(--faint);flex:none;display:flex}@media (max-width:720px){.work-meta{display:none}.work-body{flex-direction:column;gap:2px}.work-title,.work-detail{white-space:normal}}.comment-count{border-radius:var(--r-pill);background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);place-items:center;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;display:inline-grid}.btn-primary .comment-count{background:var(--accent-ink);color:var(--accent)}.comment-mark{background:color-mix(in srgb, var(--amber) 80%, transparent);border-bottom:2px solid var(--amber-line);color:inherit;cursor:pointer;padding:0}.comment-mark:hover{background:var(--amber)}.comment-mark.is-resolved{border-bottom-style:dotted;border-bottom-color:var(--line-strong);background:0 0}.doc-col{min-width:0;position:relative}.comment-add{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);width:20px;height:20px;color:var(--faint);z-index:3;place-items:center;font-size:13px;line-height:1;display:grid;position:absolute}.comment-add:hover{color:var(--accent);border-color:var(--accent)}.comment-rail{width:var(--comment-w);padding-bottom:var(--gap-6);align-self:stretch;position:relative;overflow-x:clip}html[data-rail=comments] .doc-layout{grid-template-columns:minmax(0, var(--content-w)) var(--comment-w)}html[data-rail=comments] .toc{display:none}.comments-list{min-height:60vh;position:relative}.comment-leaders{pointer-events:none;z-index:0;height:100%;position:absolute;top:0;overflow:visible}.comment-leader{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.comment-note:before{content:"";background:var(--panel);border-left:1px solid var(--line);border-bottom:1px solid var(--line);width:8px;height:8px;position:absolute;top:12px;left:-5px;transform:rotate(45deg)}.comment-note.is-open:before,.comment-note:hover:before{border-color:var(--accent)}.comment-mark.is-pointed{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.comment-note{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r-sm);width:100%;font-size:var(--text-sm);cursor:pointer;z-index:1;transition:top var(--fast) var(--ease), border-color var(--fast) var(--ease);padding:9px 11px;position:absolute;left:0}.comment-note.is-shut:hover{border-color:var(--accent)}.comment-note.is-open{cursor:default;box-shadow:var(--shadow-pop);z-index:2}.comment-note.is-resolved{border-left-color:var(--green);opacity:.7}.comment-note.is-flashing{border-color:var(--accent);background:var(--accent-soft)}.comment-about{font-size:var(--text-xs);color:var(--muted);cursor:pointer;margin-bottom:6px;font-weight:600}.comment-about.is-orphan{color:var(--amber-ink)}.comment-summary{align-items:center;gap:7px;min-width:0;display:flex}.comment-note.is-open .comment-summary,.comment-note.is-shut .comment-detail{display:none}.comment-replies{background:var(--chip);border-radius:var(--r-pill);font-size:var(--text-xs);color:var(--muted);flex:none;padding:0 6px}@media (max-width:1200px){html[data-rail=comments] .doc-layout{grid-template-columns:minmax(0,1fr)}.comment-rail{width:auto;max-width:var(--prose-w);max-height:none;margin-top:var(--gap-5);padding-top:var(--gap-4);border-top:1px solid var(--line);position:static}.comments-list{gap:var(--gap-2);min-height:0;display:grid}.comment-note{position:static}.comment-leaders,.comment-note:before{display:none}}.comments-head{align-items:baseline;gap:var(--gap-2);margin-bottom:var(--gap-3);display:flex}.comments-state{color:var(--muted);font-size:var(--text-sm)}.comment-new{padding:var(--gap-3);border:1px solid var(--line);border-radius:var(--r);background:var(--sub);margin-bottom:var(--gap-4)}.comment-new textarea{margin-top:7px}.comments-list{gap:var(--gap-3);flex-direction:column;display:flex}.comment-quote{margin:0 0 var(--gap-2);border-left:3px solid var(--amber-line);color:var(--muted);font-size:var(--text-sm);padding-left:9px;line-height:1.5}.comment-quote.is-live{cursor:pointer}.comment-quote.is-orphan{border-left-color:var(--red)}.comment-orphan{font-size:var(--text-xs);color:var(--red);margin-top:3px;font-weight:600;display:block}.comment-orphan-note{margin-bottom:var(--gap-3);font-size:var(--text-sm);color:var(--muted)}.comment-body{gap:var(--gap-2);display:flex}.comment-meta{align-items:baseline;gap:var(--gap-2);font-size:var(--text-xs);color:var(--faint);display:flex}.comment-meta b{color:var(--fg);font-size:var(--text-sm)}.comment-text{font-size:var(--text-base);white-space:pre-wrap;margin-top:2px;line-height:1.55}.comment-reply{margin-top:var(--gap-3);margin-left:var(--gap-4);padding-left:var(--gap-3);border-left:1px solid var(--line)}.comment-actions{align-items:center;gap:var(--gap-3);margin-top:var(--gap-2);padding-left:30px;display:flex}.comment-delete{opacity:0}.comment-body:hover .comment-delete,.comment-delete:focus-visible{opacity:1}.link-button{color:var(--muted);font-family:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link-button:hover:not(:disabled){color:var(--accent)}.link-button:disabled{cursor:default;opacity:.5}.slash-menu,.table-menu{z-index:80;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:var(--shadow-lg);position:fixed}.slash-menu{width:264px;max-height:260px;padding:4px;overflow-y:auto}.slash-menu button{border-radius:var(--r-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 9px;font-family:inherit;display:block}.slash-menu button.is-active{background:var(--accent-soft)}.slash-label{font-size:var(--text-base);font-weight:600;display:block}.slash-menu button.is-active .slash-label{color:var(--accent)}.slash-hint{font-size:var(--text-xs);color:var(--faint);display:block}.table-menu{gap:2px;padding:3px;display:flex}.table-menu button{border-radius:var(--r-sm);color:var(--muted);font-family:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-weight:600}.table-menu button:hover{background:var(--chip);color:var(--fg)}.table-menu button.is-danger:hover{background:var(--red-soft);color:var(--red)}.block-handle{z-index:60;border-radius:var(--r-sm);width:22px;height:26px;color:var(--faint);cursor:grab;-webkit-user-select:none;user-select:none;place-items:center;font-size:13px;line-height:1;display:grid;position:fixed}.block-handle:hover{background:var(--chip);color:var(--fg)}.block-handle:active{cursor:grabbing}.ed-visual .ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.side-section{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex}.side-section .caret,.side-section svg{color:var(--faint);opacity:0;transition:opacity var(--fast) var(--ease), transform .12s var(--ease);flex:none}.side-title:hover .side-section svg,.side-section:focus-visible svg{opacity:1}.side-section[aria-expanded=true] svg{transform:rotate(90deg)}.side-glyph{width:18px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:grid}.side-glyph.is-leaf{cursor:default}.side-glyph>*{transition:opacity var(--fast) var(--ease), transform .12s var(--ease);grid-area:1/1;place-items:center;display:grid}.side-glyph-twist,.side-row:hover .side-glyph:not(.is-leaf) .side-glyph-icon{opacity:0}.side-row:hover .side-glyph:not(.is-leaf) .side-glyph-twist,.side-glyph:focus-visible .side-glyph-twist{opacity:1}.side-glyph[aria-expanded=true] .side-glyph-twist{transform:rotate(90deg)}.side-glyph[aria-expanded=true] .side-glyph-icon{opacity:0}.side-glyph[aria-expanded=true] .side-glyph-twist{opacity:1}.menu-item-danger:hover,.menu-item-danger:focus-visible{background:var(--red-soft);color:var(--red)}.page-title-row{align-items:center;gap:var(--gap-3);min-width:0;display:flex}.page-title-row .h1{min-width:0}.page-title-row .switch .btn{opacity:0;transition:opacity var(--fast) var(--ease)}.page-head:hover .page-title-row .switch .btn,.page-title-row .switch .btn[aria-expanded=true],.page-title-row .switch .btn:focus-visible{opacity:1}.backlink-open{border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.backlink-open:hover{background:var(--hover);color:var(--fg)}.backlink-count{color:var(--faint);font-variant-numeric:tabular-nums}.backlink-list{max-height:min(46vh,420px);margin-top:var(--gap-3);gap:2px;display:grid;overflow-y:auto}.page-provenance{color:var(--faint);font-size:var(--text-sm);white-space:nowrap}.page-provenance a{color:var(--muted)}.page-provenance a:hover{color:var(--fg)}.chip-draft{border-color:var(--amber-line);background:var(--amber);color:var(--amber-ink);white-space:nowrap;text-decoration:none}.chip-draft:hover{filter:brightness(.97);text-decoration:none}.page-title-row .toc-restore{font-size:var(--text-sm);box-shadow:none;padding:4px 10px;position:static}.side-row{position:relative}.side-tools-row{opacity:0;transition:opacity var(--fast) var(--ease)}.side-row:hover .side-tools-row,.side-tools-row:focus-within{opacity:1;background:linear-gradient(to right, transparent, var(--bg) 12px)}.side-row:hover .side-tools-row .side-tool{opacity:1}.side-empty{color:var(--faint);font-size:var(--text-xs);padding-top:3px;padding-bottom:5px;font-style:italic}.menu-sub{position:relative}.menu-nested{min-width:150px;top:-6px;left:100%}.shell-bare{grid-template-columns:1fr}.listing{margin-top:var(--gap-4);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.listing-head,.listing-row{align-items:center;gap:var(--gap-3);padding:0 var(--gap-4);grid-template-columns:1fr 5rem 5rem 3.5rem;display:grid}.listing-head{background:var(--sub);border-bottom:1px solid var(--line);height:32px;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700}.listing-head span+span,.listing-row .listing-num{text-align:right}.listing-row{border-bottom:1px solid var(--line);min-height:46px;padding-top:7px;padding-bottom:7px}.listing-row:last-of-type{border-bottom:none}.listing-row:hover{background:var(--hover)}.listing-name{min-width:0;color:inherit;flex-direction:column;gap:1px;display:flex}.listing-name:hover{text-decoration:none}.listing-name strong{font-weight:600}.listing-sub{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.listing-num{color:var(--muted);font-size:var(--text-base);font-variant-numeric:tabular-nums}.listing-order .rail-btn{justify-content:center;align-items:center;display:inline-flex}.listing-order{opacity:0;transition:opacity var(--fast) var(--ease);justify-content:flex-end;gap:2px;display:flex}.listing-row:hover .listing-order,.listing-order:focus-within{opacity:1}.listing-add{width:100%;padding:10px var(--gap-4);border:0;border-top:1px solid var(--line);background:var(--sub);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;font-weight:600;display:flex}.listing-add:hover{background:var(--hover);color:var(--fg)}.profile-counts{gap:var(--gap-4);margin-top:var(--gap-4);padding-top:var(--gap-3);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.profile-counts strong{color:var(--fg);font-variant-numeric:tabular-nums}.ed-strip{align-items:center;gap:var(--gap-2);padding:5px var(--gap-4);border-bottom:1px solid var(--line);background:var(--sub);font-size:var(--text-sm);min-height:34px;display:flex}.ed-strip-toggle{border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:2px 7px;font-weight:600;display:inline-flex}.ed-strip-toggle:hover{background:var(--hover);color:var(--fg)}.ed-strip-sep{background:var(--line);width:1px;height:16px}.ed-strip .attachments{gap:6px;margin-bottom:0}.ed-strip .attachment-add{border-style:solid;border-color:var(--line);font-size:var(--text-sm);padding:2px 7px}.ed-meta{justify-content:space-between;align-items:baseline;gap:var(--gap-2) var(--gap-4);border-bottom:1px solid var(--line);font-size:var(--text-sm);flex-wrap:wrap;padding:8px 0;display:flex}.attachments{align-items:center;gap:var(--gap-2);margin-bottom:var(--gap-4);flex-wrap:wrap;display:flex}.ed-meta .attachments{gap:6px;margin-bottom:0}.ed-meta .attachment-add{border-style:solid;border-color:var(--line);font-size:var(--text-sm);padding:2px 7px}.attachment{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sub);align-items:center;max-width:320px;display:inline-flex}.attachment-link{min-width:0;color:var(--fg);font-size:var(--text-sm);align-items:center;gap:6px;padding:4px 9px;text-decoration:none;display:inline-flex}.attachment-link:hover{color:var(--accent);text-decoration:none}.attachment-size{color:var(--faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none}.attachment-remove{border:0;border-left:1px solid var(--line);width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.attachment-remove:hover{background:var(--red-soft);color:var(--red)}.attachment-add{border:1px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.attachment-add:hover{border-color:var(--accent);color:var(--accent)}.attachment-error{color:var(--red);font-size:var(--text-sm);flex-basis:100%}
:root{--assistant-w:clamp(340px, 27vw, 480px);--assistant-folded-w:46px}@media (min-width:901px){html[data-assistant=open] body{padding-right:var(--assistant-w)}html[data-assistant=folded] body{padding-right:var(--assistant-folded-w)}body{transition:padding-right var(--slow) var(--ease)}html[data-assistant=open]{--content-w:clamp(560px, 40vw, 1180px);--prose-w:clamp(520px, 36vw, 900px)}html[data-assistant=open] .doc-layout{grid-template-columns:minmax(0, var(--content-w))}html[data-assistant=open] .toc,html[data-assistant=open] .toc-restore{display:none}}.assistant-dock{z-index:60;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--panel);width:42px;height:42px;color:var(--fg);font:inherit;box-shadow:var(--shadow-pop);cursor:pointer;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);place-items:center;padding:0;display:grid;position:fixed;bottom:20px;right:20px}.assistant-dock:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.assistant-dock kbd{font-size:var(--text-xs)}.assistant-dock-mark{color:var(--accent);font-size:var(--text-lg);line-height:1}.assistant{right:0;top:var(--header-h);z-index:70;width:min(var(--assistant-w), 100vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);animation:assistant-in var(--slow) var(--ease);flex-direction:column;display:flex;position:fixed;bottom:0}@keyframes assistant-in{0%{opacity:0;transform:translate(16px)}}.assistant-head{height:var(--header-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:7px;padding:0 12px 0 16px;display:flex}.assistant-sessions{border-bottom:1px solid var(--line);background:var(--sub);flex:none;max-height:220px;padding:8px;overflow-y:auto}.assistant-session{text-align:left;border-radius:var(--r-sm);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 9px;display:block}.assistant-session:hover{background:var(--hover)}.assistant-session.is-current{background:var(--accent-soft)}.assistant-session .t{font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.assistant-session .c{font-size:var(--text-xs);color:var(--faint);display:block}.assistant-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.assistant-welcome{color:var(--muted);font-size:var(--text-base);line-height:1.65}.assistant-suggestion{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--sub);width:100%;color:var(--fg);font:inherit;font-size:var(--text-base);cursor:pointer;transition:border-color var(--fast) var(--ease);align-items:center;gap:8px;padding:9px 11px;display:flex}.assistant-suggestion:hover{border-color:var(--accent)}.assistant-turn{animation:fadeup var(--fast) var(--ease)}.assistant-turn[data-role=user] .assistant-text{border-radius:var(--r-lg) var(--r-lg) var(--r-sm) var(--r-lg);background:var(--accent-soft);max-width:88%;margin-left:auto;padding:9px 12px}.assistant-text{font-size:var(--text-base);overflow-wrap:anywhere;line-height:1.7}.assistant-text>*+*{margin-top:9px}.assistant-text ul,.assistant-text ol{padding-left:20px}.assistant-text li+li{margin-top:3px}.assistant-text code{border-radius:var(--r-sm);background:var(--code);font-family:var(--font-mono);padding:1px 5px;font-size:.92em}.assistant-text pre{border:1px solid var(--line);border-radius:var(--r);background:var(--code);padding:10px 12px;overflow-x:auto}.assistant-text pre code{background:0 0;padding:0}.assistant-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.assistant-table{overflow-x:auto}.assistant-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.assistant-table th,.assistant-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 9px}.assistant-table th{background:var(--sub);white-space:nowrap;font-weight:600}.assistant-actions{flex-direction:column;gap:4px;margin-top:10px;display:flex}.assistant-action{border:1px solid var(--line);border-left:2px solid var(--green);border-radius:var(--r-sm);background:var(--sub);color:var(--muted);font-size:var(--text-sm);align-items:center;gap:7px;padding:6px 10px;display:flex}.assistant-action[data-kind=step]{border-color:#0000;border-left-color:var(--line-strong);color:var(--faint);background:0 0;padding:3px 10px}.assistant-steps-toggle{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--faint);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;align-self:flex-start;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.assistant-steps-toggle:hover{color:var(--fg);border-color:var(--line-strong)}a.assistant-action:hover{border-color:var(--accent);border-left-color:var(--accent);color:var(--fg);text-decoration:none}.assistant-action[data-ok=false]{border-left-color:var(--red)}.assistant-action.is-failed{flex-direction:column;align-items:stretch;gap:5px}.assistant-action.is-failed em{color:var(--muted);font-style:normal;font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.assistant-action.is-pending{border-left-color:var(--accent);animation:fadeup var(--fast) var(--ease)}.assistant-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite spin}@media (prefers-reduced-motion:reduce){.assistant-spinner{border-top-color:var(--line-strong);animation:none}}.assistant-action em{color:var(--faint);font-style:normal;font-size:var(--text-xs)}.assistant-waiting{color:var(--muted);font-size:var(--text-sm);animation:fadeup var(--fast) var(--ease);align-items:center;gap:9px;display:flex}.assistant-waiting-label{background:linear-gradient(90deg, var(--faint) 20%, var(--fg) 40%, var(--fg) 60%, var(--faint) 80%);color:#0000;animation:assistant-sweep 2.2s var(--ease) infinite;background-size:240% 100%;-webkit-background-clip:text;background-clip:text}.assistant-waiting-clock{color:var(--faint);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}@keyframes assistant-sweep{0%{background-position:140% 0}to{background-position:-40% 0}}.assistant-dots{flex:none;gap:3px;display:inline-flex}.assistant-dots i{background:var(--accent);width:5px;height:5px;animation:assistant-bounce 1.1s var(--ease) infinite;border-radius:50%}.assistant-dots i:nth-child(2){animation-delay:.13s}.assistant-dots i:nth-child(3){animation-delay:.26s}@keyframes assistant-bounce{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.assistant-waiting-label{color:var(--fg);-webkit-text-fill-color:currentColor;animation:none}.assistant-dots i{opacity:.6;animation:none}}.assistant-notice{border:1px solid var(--amber-line);border-radius:var(--r);background:var(--amber);color:var(--amber-ink);font-size:var(--text-sm);padding:10px 12px;line-height:1.6}.assistant-notice[data-kind=error]{border-color:var(--red);background:var(--red-soft);color:var(--red)}.assistant-foot{border-top:1px solid var(--line);background:var(--panel);flex:none;padding:12px 16px 14px;position:relative}.assistant-input{resize:none;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);width:100%;color:var(--fg);font:inherit;font-size:var(--text-base);padding:9px 11px;line-height:1.6}.assistant-input:focus-visible{border-color:var(--accent)}@media (max-width:640px){.assistant{border-left:0;width:100vw}.assistant-dock{bottom:12px;right:12px}}.assistant-pending{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r);background:var(--sub);animation:fadeup var(--fast) var(--ease);flex-direction:column;gap:9px;margin-top:12px;padding:12px;display:flex}.assistant-pending-head{font-size:var(--text-base);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.assistant-pending-options{flex-direction:column;gap:6px;display:flex}.assistant-option{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);width:100%;color:var(--fg);font:inherit;font-size:var(--text-base);cursor:pointer;transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);flex-direction:column;gap:3px;padding:9px 11px;display:flex}.assistant-option:hover:not(:disabled){border-color:var(--accent)}.assistant-option:disabled{opacity:.5;cursor:not-allowed}.assistant-option[data-chosen=true]{border-color:var(--accent);background:var(--accent-soft)}.assistant-option-head{align-items:center;gap:7px;font-weight:600;display:flex}.assistant-option-head em{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-style:normal;font-size:var(--text-xs);padding:1px 6px;font-weight:600}.assistant-option[data-recommended=true]{border-color:var(--accent-soft)}.assistant-option-detail{color:var(--muted);font-size:var(--text-sm);line-height:1.5}.assistant-pending-note{color:var(--faint);font-size:var(--text-xs);line-height:1.5}.assistant-preview{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--code);max-height:220px;font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;padding:10px;line-height:1.6;overflow:auto}.assistant-fold{max-height:min(52vh,560px);position:relative;overflow:hidden}.assistant-fold:after{content:"";background:linear-gradient(to bottom, transparent, var(--panel));pointer-events:none;height:64px;position:absolute;inset:auto 0 0}.assistant-fold[data-open=true]{max-height:none;overflow:visible}.assistant-fold[data-open=true]:after{display:none}.selection-ask{z-index:80;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow);animation:pop var(--fast) var(--ease);align-items:center;gap:2px;padding:4px;display:flex;position:fixed}.selection-ask-mark{color:var(--accent);font-size:var(--text-sm);padding:0 4px 0 7px}.selection-ask button{border-radius:var(--r-pill);height:26px;color:var(--muted);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 10px}.selection-ask button:hover{background:var(--hover);color:var(--fg)}.selection-ask button.selection-ask-open{color:var(--accent);font-weight:600}.assistant-files{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.assistant-file{border:1px solid var(--line);background:var(--sub);max-width:100%;font-size:var(--text-xs);border-radius:8px;align-items:center;gap:6px;padding:4px 4px 4px 6px;display:inline-flex}.assistant-file-thumb{object-fit:cover;background:var(--chip);border-radius:4px;width:22px;height:22px}.assistant-file-icon{background:var(--chip);width:22px;height:22px;color:var(--muted);border-radius:4px;place-items:center;display:grid}.assistant-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.assistant-file-size{color:var(--faint)}.assistant-file-x{width:18px;height:18px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;font-size:10px;display:grid}.assistant-file-x:hover{background:var(--chip);color:var(--fg)}.assistant-attached{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.assistant-attached-chip{background:var(--chip);color:var(--muted);font-size:var(--text-xs);border-radius:6px;padding:2px 7px}.assistant[data-dragging]{outline:2px dashed var(--accent);outline-offset:-6px}.assistant[data-dragging] .assistant-foot:after{content:"Drop to attach";background:color-mix(in srgb, var(--accent-soft) 92%, transparent);color:var(--accent);font-size:var(--text-xs);pointer-events:none;border-radius:10px;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.assistant-input{resize:none;overflow-y:auto}.assistant[data-folded]{width:var(--assistant-folded-w)}.assistant[data-folded] .assistant-body,.assistant[data-folded] .assistant-foot,.assistant[data-folded] .assistant-sessions,.assistant[data-folded] .assistant-head .btn{display:none}.assistant[data-folded] .assistant-head{border-bottom:none;justify-content:center;padding:10px 0}.assistant[data-folded] .assistant-title-text{display:none}.assistant-title{font-weight:600;font-size:var(--text-md);border-radius:var(--r-sm);color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 6px;display:flex}.assistant-title:hover{background:var(--chip)}.assistant[data-folded] .assistant-spinner{margin:0}.assistant-jump{z-index:5;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow);color:var(--muted);font-family:inherit;font-size:var(--text-xs);cursor:pointer;padding:5px 12px;font-weight:600;position:absolute;bottom:148px;left:50%;transform:translate(-50%)}.assistant-jump:hover{color:var(--fg)}.assistant-title .assistant-spinner{margin-left:2px}.assistant-stopped{margin-top:var(--gap-2);padding-top:var(--gap-2);border-top:1px dashed var(--line);color:var(--muted);font-size:var(--text-sm)}.assistant-empty{justify-content:center;align-items:center;gap:var(--gap-3);color:var(--muted);text-align:center;flex-direction:column;flex:1;display:flex}.assistant-empty-mark{border-radius:var(--r);background:var(--accent-soft);width:42px;height:42px;color:var(--accent);font-size:var(--text-xl);place-items:center;line-height:1;display:grid}.assistant-empty p{font-size:var(--text-md);color:var(--fg);font-weight:600}
html[data-print] body>header,html[data-print] .assistant,html[data-print] .assistant-dock,html[data-print] .selection-ask{display:none!important}html[data-print] body{background:var(--sub);padding-top:0}.print-root{--paper:190mm}.print-bar{z-index:20;border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;padding:10px 18px;display:flex;position:sticky;top:0}.print-bar-title{font-weight:700;font-size:var(--text-sm)}.print-sheet{max-width:var(--paper);background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px;margin:24px auto 80px;padding:26mm 20mm}.print-cover{border-bottom:2px solid var(--accent);margin-bottom:26px;padding-bottom:22px}.print-cover h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:30px;line-height:1.15}.print-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.print-meta{color:var(--muted);margin:0;font-size:12px}.print-summary{color:var(--muted);margin:8px 0 6px;font-size:15px}.print-contents{margin-bottom:30px}.print-contents h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.print-contents ol{counter-reset:toc;margin:0;padding:0;list-style:none}.print-contents li{border-bottom:1px dotted var(--line);counter-increment:toc;align-items:baseline;gap:10px;padding:5px 0;display:flex}.print-contents li:before{content:counter(toc) ".";color:var(--faint);font-variant-numeric:tabular-nums;min-width:20px}.print-contents a{color:var(--fg);font-weight:600;text-decoration:none}.print-contents-section{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:11px}.print-page+.print-page{border-top:1px solid var(--line);margin-top:40px;padding-top:32px}.print-page>h1{letter-spacing:-.015em;margin:6px 0 8px;font-size:23px;line-height:1.2}.print-page .prose{max-width:none;margin-top:18px}@page{size:A4;margin:18mm 16mm 20mm}@media print{html[data-print] body{background:#fff}.print-bar{display:none}.print-sheet{max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.print-page+.print-page{break-before:page}.print-page{border-top:0;margin-top:0;padding-top:0}.print-contents{break-after:page}.prose h1,.prose h2,.prose h3,.prose h4{break-after:avoid;break-inside:avoid}.prose p,.prose li{orphans:3;widows:3}.prose pre,.prose table,.prose figure,.prose img,.prose blockquote,.prose .callout{break-inside:avoid}.prose img{object-fit:contain;max-width:100%;max-height:210mm}.prose a[href^=http]:after{content:" (" attr(href) ")";color:#555;word-break:break-all;font-size:.82em}.prose a{color:inherit;text-decoration:underline}.code-copy,.toc,.pager,.backlinks,.doc-foot,.page-feedback{display:none!important}}.print-stamp{border-top:1px solid var(--line);color:var(--faint);margin-top:34px;padding-top:12px;font-size:11px}@media print{.print-stamp{break-before:avoid}}

