:root{color-scheme:dark;--bg:#121117;--panel:#1b1922;--line:#35313f;--text:#eae6f0;--muted:#b7afc3;--accent:#d3e97b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--reading-size,17px);line-height:1.8}a{color:var(--accent);text-underline-offset:4px}button,select{font:inherit;color:inherit}button,a,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.04em;margin-bottom:1rem}h2{font-size:clamp(1.45rem,2.5vw,1.9rem);line-height:1.35;letter-spacing:-.02em;margin-bottom:1.1rem}h3{font-size:1.12rem;line-height:1.5;margin:1.8rem 0 .8rem}p{margin-bottom:1.1rem}p,li,dd,td,th{overflow-wrap:anywhere}code{font: .84em ui-monospace,SFMono-Regular,Consolas,monospace}button,select{border:1px solid var(--line);border-radius:8px;background:var(--panel);min-height:44px;padding:.45rem .8rem}select{max-width:100%}[hidden]{display:none!important}
.skip-link{position:absolute;left:1rem;top:-100px;z-index:200}.skip-link:focus{top:1rem;background:var(--bg);padding:.6rem}.doc-header{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--line)}.doc-header>a{color:var(--text);font-size:.78rem;letter-spacing:.1em;text-decoration:none}.language-toggle{display:flex;gap:4px}.language-toggle button{font-size:.88rem}.language-toggle [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#202511;font-weight:650}.internals-layout{display:grid;grid-template-columns:210px minmax(0,860px);gap:50px;max-width:1256px;margin:auto;padding:2.4rem 2rem 5rem}.internals-toc{position:sticky;top:70px;align-self:start;display:grid;gap:.35rem;font-size:.88rem}.internals-toc a{padding:.3rem .5rem;color:var(--muted);text-decoration:none;border-radius:5px}.internals-toc a:hover{background:var(--panel);color:var(--text)}.internals-toc .eyebrow{margin:.25rem .5rem .8rem}.eyebrow{font-size:.74rem;letter-spacing:.13em;color:var(--muted);font-weight:650;margin-bottom:.9rem}.hero{padding:1rem 0 2.3rem}.lede{font-size:1.27rem;line-height:1.6;max-width:38em}.hero-description{color:var(--muted)}.start-link{display:inline-block;padding:.6rem 1rem;border:1px solid #697841;border-radius:8px;text-decoration:none}.topic{border-top:1px solid var(--line);padding:2.5rem 0 2.8rem}.topic>p,.detail-body>p{max-width:75ch}.note{color:var(--muted);font-size:.92rem;border-left:3px solid #797181;padding:.1rem 0 .1rem 1rem}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1.5rem 0}.route-grid>a{padding:1rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}.route-grid h3{margin:0 0 .7rem;color:var(--text);font-size:1rem}.route-grid p{color:var(--muted);font-size:.9rem;line-height:1.65;margin:0}.versions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.5rem 0}.versions>div{padding:1rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.87rem}.versions strong{flex-basis:100%;font-weight:600}.versions span{color:var(--muted)}
.trace-controls{background:var(--panel);padding:1rem;border:1px solid var(--line);border-radius:12px 12px 0 0;display:grid;gap:.7rem}.trace-controls label{font-size:.82rem;color:var(--muted)}.trace-controls select{width:100%;background:var(--bg)}.step-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.step-actions output{text-align:center;font-size:.83rem;color:var(--muted)}.step-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.step-nav button{text-align:left;font-size:.78rem;line-height:1.45}.step-nav [aria-current=step]{border-color:var(--accent);color:var(--accent);background:#252a1b}.stage{border:1px solid var(--line);border-radius:12px;padding:1.35rem;margin:1rem 0;background:var(--panel)}#trace-card .stage{min-height:365px;margin-top:10px}.stage-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.stage-top h3{margin:0;flex:1}.step-number{font: .85rem ui-monospace,monospace;color:var(--muted)}.place{font-size:.72rem;letter-spacing:.02em;padding:3px 9px;border-radius:6px;border:1px solid #675575;white-space:nowrap}.place.gpu{color:#b7d8fa;border-color:#456685}.place.cpu{color:#ebcdae;border-color:#76624c}.place.upload,.place.readback{color:#cfe8a0;border-color:#627746}.io{display:grid;grid-template-columns:1fr 1fr;margin:0 0 1rem;gap:1rem}.io>div{padding:.6rem .8rem;background:#131219;border-radius:8px}.io dt{font-size:.7rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.io dd{margin:0;font-size:.9rem;line-height:1.55}.stage>p{font-size:inherit}.source-links{display:flex;flex-wrap:wrap;gap:7px;margin:.8rem 0 1.4rem}.source-links a{border:1px solid var(--line);border-radius:6px;padding:.3rem .6rem;max-width:100%;overflow-wrap:anywhere;font-size:.74rem;line-height:1.6;text-decoration:none;color:#c8bdde}.source-links a:hover{border-color:var(--accent);color:var(--accent)}.stage .source-links{margin-bottom:0}details{border:1px solid var(--line);border-radius:10px;margin:1rem 0}summary{padding:1rem 1.15rem;cursor:pointer;font-size:.98rem;font-weight:600}summary:hover{color:var(--accent)}.detail-body{padding:0 1.15rem 1.15rem}.full-route .stage{background:transparent}.full-route .stage:last-child{margin-bottom:0}.table-scroll{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:640px;font-size:.9rem;line-height:1.65}th,td{text-align:left;padding:1rem;vertical-align:top;border-bottom:1px solid var(--line)}thead{background:var(--panel)}th{font-weight:600}tbody th{min-width:140px;color:#d4c7e6}tbody tr:last-child>*{border-bottom:0}.formula{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:1rem;margin:1rem 0;background:var(--panel);border-radius:10px;font-size:.96rem}.katex-display{margin:.45rem 0}.reading-list{padding-left:1.5rem}.reading-list li{padding-left:.3rem;margin-bottom:1rem}.callchains{display:grid;gap:12px}.callchains>div{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:10px}.callchains h3{margin:0 0 .6rem}.callchains p{font: .88rem/1.8 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;color:var(--muted);margin:0}.source-index{list-style:none;padding:0}.source-index li{padding:.8rem 0;border-bottom:1px solid var(--line)}.source-index small{display:block;color:var(--muted);line-height:1.6;margin:.4rem 0;overflow-wrap:anywhere}.source-index a{font-size:.92rem}footer{border-top:1px solid var(--line);padding-top:2rem;font-size:.9rem;color:var(--muted)}
@media(max-width:1000px){.internals-layout{grid-template-columns:1fr;max-width:930px;gap:1.5rem}.internals-toc{position:static;display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:1rem;gap:4px}.internals-toc .eyebrow{flex-basis:100%}.internals-toc a{font-size:.8rem}.route-grid{grid-template-columns:1fr}.route-grid>a{padding:.8rem 1rem}.route-grid h3{margin-bottom:.2rem}.hero{padding-top:.5rem}}
@media(max-width:600px){body{font-size:var(--reading-size,16px);line-height:1.8}.internals-layout{padding:1.2rem 1rem 3rem}.doc-header{padding:.85rem 1rem}.doc-header>a{font-size:.65rem}.language-toggle button{font-size:.8rem;padding:.4rem .65rem}.versions,.io{grid-template-columns:1fr}.topic{padding:2rem 0}.stage{padding:1rem}.stage-top{gap:9px}.stage-top h3{font-size:1.03rem;min-width:55%}.step-nav{grid-template-columns:1fr 1fr}.step-actions{gap:6px}.step-actions button{font-size:.82rem;padding:.4rem .55rem}.step-actions output{font-size:.72rem}#trace-card .stage{min-height:450px}.detail-body{padding:0 .8rem .8rem}.full-route .stage{padding:.8rem}.formula{font-size:.85rem}summary{padding:.85rem}.table-scroll{margin-right:0}.source-links a{font-size:.72rem}}
.internals-layout>main,.internals-layout>nav{min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
