:root{--font-ui:"Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-read:"Newsreader", "Iowan Old Style", Georgia, serif;--font-code:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.125rem;--t-xl:1.3125rem;--t-2xl:1.5rem;--t-3xl:2.25rem;--t-4xl:3rem;--t-5xl:3.75rem;--r-sm:6px;--r-md:10px;--r-lg:18px;--sidebar-w:288px;--measure:40rem;--margin-col:15rem;--ease:cubic-bezier(.22, .8, .24, 1)}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2f4f7;--surface:#fff;--surface-2:#e9edf3;--surface-3:#dde3ec;--ink:#172033;--ink-2:#47536a;--ink-3:#727e94;--rule:#d3dae5;--rule-strong:#b6c0cf;--ultra:#2f49d1;--ultra-soft:#2f49d11a;--ultra-ink:#1d34a8;--rose:#cf2f68;--rose-soft:#cf2f681a;--ochre:#b77f06;--ochre-soft:#b77f061f;--viridian:#0f7d68;--viridian-soft:#0f7d681a;--violet:#6d43c9;--grid:#17203312;--grid-strong:#17203329;--shadow:0 1px 2px #1720330f, 0 8px 24px -12px #1720332e;--focus:#2f49d1;--sel:#2f49d12e}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0e1424;--surface:#141c30;--surface-2:#1a2440;--surface-3:#222e4f;--ink:#e4e9f2;--ink-2:#a8b2c6;--ink-3:#76829a;--rule:#25304c;--rule-strong:#34416a;--ultra:#8191ff;--ultra-soft:#8191ff24;--ultra-ink:#aab5ff;--rose:#ff6f9c;--rose-soft:#ff6f9c21;--ochre:#f1b544;--ochre-soft:#f1b54421;--viridian:#37c9a6;--viridian-soft:#37c9a61f;--violet:#b394ff;--grid:#e4e9f20f;--grid-strong:#e4e9f224;--shadow:0 1px 2px #0000004d, 0 12px 32px -14px #0009;--focus:#8191ff;--sel:#8191ff47}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-md);font-feature-settings:"kern", "liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.5}::selection{background:var(--sel)}img,svg,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ultra);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-ui);color:var(--ink);text-wrap:balance;margin:0}p{margin:0}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.shell__main{min-width:0;position:relative}.rail{border-right:1px solid var(--rule);background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.rail__brand{color:var(--ink);align-items:center;gap:.7rem;padding:1.25rem 1.25rem 1rem;text-decoration:none;display:flex}.rail__brand-mark{flex:none;width:34px;height:34px}.rail__brand-name{letter-spacing:-.02em;font-size:1.2rem;font-weight:800;line-height:1}.rail__brand-sub{font-size:var(--t-xs);color:var(--ink-3);margin-top:.2rem}.rail__search{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);color:var(--ink-3);font-size:var(--t-sm);cursor:pointer;text-align:left;align-items:center;gap:.5rem;margin:0 1rem .75rem;padding:.55rem .7rem;display:flex}.rail__search:hover{border-color:var(--rule-strong);color:var(--ink-2)}.rail__search kbd{margin-left:auto}kbd{font-family:var(--font-ui);border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--surface);border-bottom-width:2px;border-radius:5px;padding:.05rem .38rem;font-size:.72rem}.rail__nav{flex:1;padding:.25rem .6rem 1rem}.rail__group-title{font-size:var(--t-xs);color:var(--ink-3);padding:1rem .65rem .35rem;font-weight:600}.rail__link{color:var(--ink-2);font-size:var(--t-sm);border-radius:8px;align-items:center;gap:.6rem;padding:.42rem .65rem;line-height:1.3;text-decoration:none;display:flex}.rail__link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.rail__link[aria-current=page]{background:var(--ultra-soft);color:var(--ultra-ink);font-weight:600}.rail__module{margin-top:.15rem}.rail__module-btn{cursor:pointer;text-align:left;width:100%;color:var(--ink);font-size:var(--t-sm);background:0 0;border:0;border-radius:8px;grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.4rem;padding:.5rem .65rem;font-weight:600;line-height:1.25;display:grid}.rail__module-btn:hover{background:var(--surface-2)}.rail__module-num{color:var(--mod-color,var(--ultra));font-variant-numeric:tabular-nums;font-weight:800}.rail__chev{width:14px;height:14px;color:var(--ink-3);transition:transform .2s var(--ease)}.rail__module[data-open=true] .rail__chev{transform:rotate(90deg)}.rail__lessons{border-left:1px solid var(--rule);margin:.1rem 0 .4rem 1.25rem;padding:0 0 0 1.55rem;list-style:none}.rail__lesson{color:var(--ink-2);border-left:2px solid #0000;align-items:baseline;gap:.5rem;margin-left:-1px;padding:.3rem .5rem .3rem .6rem;font-size:.84rem;line-height:1.35;text-decoration:none;display:flex}.rail__lesson:hover{color:var(--ink);text-decoration:none}.rail__lesson[aria-current=page]{border-left-color:var(--mod-color,var(--ultra));color:var(--ink);font-weight:600}.rail__tick{border:1.5px solid var(--rule-strong);border-radius:50%;flex:none;width:.55rem;height:.55rem;transform:translateY(.05rem)}.rail__tick[data-done=true]{background:var(--viridian);border-color:var(--viridian)}.rail__foot{border-top:1px solid var(--rule);font-size:var(--t-xs);color:var(--ink-3);align-items:center;gap:.6rem;padding:.9rem 1rem 1.2rem;display:flex}.rail__progress{flex:1}.meter{background:var(--surface-3);border-radius:99px;height:5px;margin-top:.35rem;overflow:hidden}.meter>span{background:var(--viridian);border-radius:inherit;height:100%;transition:width .5s var(--ease);display:block}.icon-btn{border:1px solid var(--rule);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--ink-2);cursor:pointer;border-radius:9px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--ink);border-color:var(--rule-strong)}.icon-btn svg{width:17px;height:17px}.topbar,.scrim{display:none}@media (width<=1023px){.shell{grid-template-columns:minmax(0,1fr)}.rail{z-index:60;width:min(320px,86vw);transition:transform .28s var(--ease);box-shadow:var(--shadow);position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.rail[data-open=true]{transform:none}.scrim{z-index:55;opacity:0;pointer-events:none;background:#080c1673;transition:opacity .25s;display:block;position:fixed;inset:0}.scrim[data-open=true]{opacity:1;pointer-events:auto}.topbar{z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.topbar__title{letter-spacing:-.02em;color:var(--ink);font-weight:800;text-decoration:none}.topbar__actions{gap:.5rem;margin-left:auto;display:flex}}.page{max-width:1320px;padding:3rem clamp(1rem,4vw,3.5rem) 6rem}.page-head{max-width:52rem;margin-bottom:2.5rem}.page-head__kicker{font-size:var(--t-sm);color:var(--ink-3);align-items:center;gap:.5rem;margin-bottom:.9rem;font-weight:600;text-decoration:none;display:inline-flex}a.page-head__kicker:hover{color:var(--ultra)}.page-head h1{font-size:clamp(2.1rem, 4.2vw, var(--t-4xl));letter-spacing:-.035em;font-weight:800;line-height:1.04}.page-head__lede{font-family:var(--font-read);font-size:var(--t-xl);color:var(--ink-2);max-width:44rem;margin-top:1rem;line-height:1.5}.chip{font-size:var(--t-xs);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-weight:600;line-height:1.5;display:inline-flex}.chip--exam{background:var(--ochre-soft);color:var(--ochre)}.chip--see{background:var(--rose-soft);color:var(--rose)}.chip--ultra{background:var(--ultra-soft);color:var(--ultra)}.chip--done{background:var(--viridian-soft);color:var(--viridian)}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.btn{border:1px solid var(--rule-strong);background:var(--surface);min-height:2.35rem;color:var(--ink);font-size:var(--t-sm);cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .95rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{border-color:var(--ink-3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--ultra);border-color:var(--ultra);color:#fff}:root[data-theme=dark] .btn--primary{color:#0e1424}.btn--primary:hover{border-color:var(--ultra);filter:brightness(1.08)}.btn--ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-2);color:var(--ink);border-color:#0000}.btn--sm{min-height:1.95rem;padding:.25rem .65rem;font-size:.8rem}.btn svg{width:15px;height:15px}.controls{flex-wrap:wrap;align-items:flex-end;gap:.9rem 1.4rem;display:flex}.ctl{flex-direction:column;gap:.3rem;min-width:0;display:flex}.ctl__label{color:var(--ink-2);justify-content:space-between;gap:.75rem;font-size:.78rem;font-weight:600;display:flex}.ctl__value{color:var(--ink);font-variant-numeric:tabular-nums}.range{appearance:none;cursor:pointer;background:0 0;width:11rem;height:1.4rem}.range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ultra) var(--fill,50%), var(--surface-3) var(--fill,50%));border-radius:99px;height:4px}.range::-moz-range-track{background:var(--surface-3);border-radius:99px;height:4px}.range::-moz-range-progress{background:var(--ultra);border-radius:99px;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:2px solid var(--ultra);border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 1px 3px #00000040}.range::-moz-range-thumb{background:var(--surface);border:2px solid var(--ultra);border-radius:50%;width:13px;height:13px}.seg{background:var(--surface-2);border:1px solid var(--rule);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.toggle{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;display:inline-flex}.toggle input{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:99px;width:2.1rem;height:1.2rem;margin:0;transition:background .2s;position:relative}.toggle input:after{content:"";width:calc(1.2rem - 4px);height:calc(1.2rem - 4px);transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.toggle input:checked{background:var(--ultra)}.toggle input:checked:after{transform:translate(.9rem)}.field{border:1px solid var(--rule-strong);background:var(--surface);font-size:var(--t-sm);border-radius:8px;min-width:0;padding:.45rem .65rem}.field:focus{outline:2px solid var(--focus);outline-offset:-1px}select.field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23727e94' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;padding-right:1.8rem}textarea.field{font-family:var(--font-code);resize:vertical;font-size:.8rem;line-height:1.55}.lesson{grid-template-columns:minmax(0,48rem) 13rem;align-items:start;column-gap:2.5rem;display:grid}.lesson__body{min-width:0}.lesson__aside{font-size:var(--t-sm);max-height:calc(100vh - 4rem);position:sticky;top:2rem;overflow-y:auto}.toc{border-left:1px solid var(--rule);padding-left:1rem}.toc__title{color:var(--ink-3);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.toc a{color:var(--ink-3);padding:.22rem 0;font-size:.82rem;line-height:1.35;text-decoration:none;display:block}.toc a:hover,.toc a[data-active=true]{color:var(--ink)}.toc a[data-active=true]{font-weight:600}@media (width<=1399px){.lesson{grid-template-columns:minmax(0,1fr);max-width:50rem}.lesson__aside{display:none}}.prose{font-family:var(--font-read);color:var(--ink);font-optical-sizing:auto;font-size:1.1875rem;line-height:1.68}.prose>*+*{margin-top:1.1rem}.prose>p,.prose>ul,.prose>ol,.prose>h2,.prose>h3,.prose>blockquote,.prose>.def,.prose>.note,.prose>.keypoints{max-width:var(--measure)}.prose h2{letter-spacing:-.025em;margin-top:3.5rem;scroll-margin-top:5rem;font-size:1.75rem;font-weight:750;line-height:1.15}.prose h3{letter-spacing:-.015em;margin-top:2.3rem;font-size:1.28rem;font-weight:700;line-height:1.25}.prose h2+*,.prose h3+*{margin-top:.8rem}.prose strong{font-weight:650}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.35rem}.prose li::marker{color:var(--ink-3)}.prose code{font-family:var(--font-code);background:var(--surface-2);border-radius:5px;padding:.08em .32em;font-size:.84em}.prose .term{color:var(--ink);background:linear-gradient(transparent 62%, var(--ultra-soft) 62%);font-weight:650}.prose blockquote{border-left:3px solid var(--ultra);color:var(--ink-2);margin-left:0;margin-right:0;padding:.2rem 0 .2rem 1.25rem;font-style:italic}.def{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);padding:1.1rem 1.3rem 1.2rem;position:relative}.def__term{font-family:var(--font-ui);color:var(--ultra);margin-bottom:.35rem;font-size:.82rem;font-weight:700}.def__body{font-size:1.12rem;line-height:1.6}.note{border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--ink-3);padding:.95rem 1.15rem 1rem;font-size:1.04rem;line-height:1.6}.note__title{font-family:var(--font-ui);align-items:center;gap:.45rem;margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:flex}.note__title svg{flex:none;width:15px;height:15px}.note>*+*{margin-top:.5rem}.note--exam{background:var(--ochre-soft);border-left-color:var(--ochre)}.note--exam .note__title{color:var(--ochre)}.note--tip{background:var(--viridian-soft);border-left-color:var(--viridian)}.note--tip .note__title{color:var(--viridian)}.note--warn{background:var(--rose-soft);border-left-color:var(--rose)}.note--warn .note__title{color:var(--rose)}.note--insight{background:var(--ultra-soft);border-left-color:var(--ultra)}.note--insight .note__title{color:var(--ultra)}.figure{width:100%;font-family:var(--font-ui);font-size:var(--t-md);line-height:1.5;margin:2rem 0!important}.figure__frame{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.figure__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding:.95rem 1.2rem 0;display:flex}.figure__title{font-weight:700;font-size:var(--t-md);letter-spacing:-.01em}.figure__hint{color:var(--ink-3);font-size:.78rem}.figure__body{padding:1rem 1.2rem 1.2rem}.figure__caption{font-family:var(--font-read);color:var(--ink-2);max-width:var(--measure);margin-top:.7rem;padding:0 .3rem;font-size:.98rem;line-height:1.55}.figure__caption b{color:var(--ink);font-weight:650}.viz-grid{grid-template-columns:minmax(0,1.5fr) minmax(15rem,1fr);align-items:start;gap:1.25rem;display:grid}@media (width<=760px){.viz-grid{grid-template-columns:minmax(0,1fr)}}.viz-side{font-size:var(--t-sm);flex-direction:column;gap:.9rem;display:flex}.readout{grid-template-columns:auto 1fr;align-items:baseline;gap:.35rem 1rem;font-size:.84rem;display:grid}.readout dt{color:var(--ink-3)}.readout dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.stat-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1}.legend{color:var(--ink-2);flex-wrap:wrap;gap:.35rem 1rem;font-size:.78rem;display:flex}.legend span{align-items:center;gap:.4rem;display:inline-flex}.legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.plot{touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.plot text{font-family:var(--font-ui);fill:var(--ink-3);font-size:11px}.plot .axis line,.plot .axis path{stroke:var(--rule-strong)}.plot .gridline{stroke:var(--grid)}.plot-wrap{border-radius:var(--r-md);background:var(--paper);border:1px solid var(--rule);position:relative;overflow:hidden}.plot-wrap canvas.plot-layer{pointer-events:none;position:absolute}.table-wrap{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);font-family:var(--font-ui);overflow-x:auto}.prose .table-wrap{margin-top:1.4rem}table.tbl{border-collapse:collapse;width:100%;font-size:.86rem;line-height:1.4}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.5rem .8rem}.tbl th{color:var(--ink-2);background:var(--surface-2);white-space:nowrap;font-size:.78rem;font-weight:700}.tbl tr:last-child td{border-bottom:0}.tbl td.n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl tr[data-hl=true] td{background:var(--ultra-soft)}.tbl tr[data-hl2=true] td{background:var(--rose-soft)}.tbl td[data-changed=true]{background:var(--ochre-soft);color:var(--ochre);font-weight:700}.tbl tfoot td{background:var(--surface-2);font-weight:700}.code{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);font-family:var(--font-code);font-size:.8rem;line-height:1.65;position:relative;overflow:hidden}.code pre{margin:0;padding:.9rem 1rem;overflow-x:auto}.code__bar{border-bottom:1px solid var(--rule);font-family:var(--font-ui);color:var(--ink-3);background:var(--surface-2);justify-content:space-between;align-items:center;padding:.35rem .5rem .35rem 1rem;font-size:.75rem;display:flex}.code .k{color:var(--violet)}.code .s{color:var(--viridian)}.code .c{color:var(--ink-3);font-style:italic}.code .n{color:var(--ochre)}.code .f{color:var(--ultra)}.steps{counter-reset:step;list-style:none;padding:0!important}.steps>li{counter-increment:step;min-height:1.8rem;padding-left:2.6rem;position:relative}.steps>li+li{margin-top:.85rem}.steps>li:before{content:counter(step);width:1.75rem;height:1.75rem;font-family:var(--font-ui);color:var(--ultra);border:1.5px solid var(--ultra);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:.12rem;left:0}.steps>li>strong:first-child{font-family:var(--font-ui);font-size:.98em}.keypoints{border-top:2px solid var(--ink);padding-top:1rem}.keypoints__title{font-family:var(--font-ui);letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.05rem;font-weight:800}.keypoints ul{margin:0}.compare{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));border:1px solid var(--rule);border-radius:var(--r-md);font-family:var(--font-ui);gap:0;font-size:.9rem;line-height:1.5;display:grid;overflow:hidden}.compare>div{background:var(--surface);padding:1rem 1.1rem}.compare>div+div{border-left:1px solid var(--rule)}.compare h4{margin-bottom:.45rem;font-size:.95rem}.compare ul{margin:0;padding-left:1.1rem}@media (width<=640px){.compare{grid-template-columns:1fr}.compare>div+div{border-left:0;border-top:1px solid var(--rule)}}.answer{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);font-family:var(--font-ui);overflow:hidden}.answer>summary{cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1.1rem;list-style:none;display:flex}.answer>summary::-webkit-details-marker{display:none}.answer__q{flex:1;font-size:.95rem;font-weight:650;line-height:1.45}.answer__marks{color:var(--ochre);background:var(--ochre-soft);white-space:nowrap;border-radius:99px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.answer__chev{width:16px;height:16px;color:var(--ink-3);transition:transform .2s var(--ease);margin-top:.15rem}.answer[open] .answer__chev{transform:rotate(90deg)}.answer__body{border-top:1px solid var(--rule);font-family:var(--font-read);padding:.2rem 1.1rem 1.1rem;font-size:1.04rem;line-height:1.62}.answer__body>*+*{margin-top:.7rem}.answer__body>:first-child{margin-top:.9rem}.katex{font-size:1.06em}.math-block{text-align:center;padding:.4rem 0;overflow:auto hidden}.math-block .katex-display{margin:0}.stepper{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stepper__count{color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:4.5rem;margin:0 .4rem;font-size:.8rem}.trace{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);padding:.85rem 1rem;font-size:.88rem;line-height:1.55}.trace__title{margin-bottom:.3rem;font-weight:700}.hyp{font-family:var(--font-code);letter-spacing:-.01em;white-space:nowrap;font-size:.86em}.hyp b{color:var(--ochre);font-weight:600}.quiz{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);font-family:var(--font-ui);padding:1.1rem 1.2rem 1.2rem}.quiz__q{margin-bottom:.8rem;font-size:1rem;font-weight:650;line-height:1.45}.quiz__opts{gap:.45rem;display:grid}.quiz__opt{text-align:left;border:1px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:9px;align-items:flex-start;gap:.7rem;padding:.6rem .8rem;font-size:.92rem;line-height:1.45;display:flex}.quiz__opt:hover:not(:disabled){border-color:var(--rule-strong)}.quiz__opt:disabled{cursor:default}.quiz__opt[data-state=right]{border-color:var(--viridian);background:var(--viridian-soft)}.quiz__opt[data-state=wrong]{border-color:var(--rose);background:var(--rose-soft)}.quiz__letter{background:var(--surface-2);width:1.4rem;height:1.4rem;color:var(--ink-2);border-radius:6px;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.quiz__why{font-family:var(--font-read);color:var(--ink-2);margin-top:.8rem;font-size:1rem;line-height:1.55}.pager{font-family:var(--font-ui);grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;display:grid}.pager a{border:1px solid var(--rule);border-radius:var(--r-md);color:var(--ink);background:var(--surface);padding:1rem 1.15rem;text-decoration:none;display:block}.pager a:hover{border-color:var(--rule-strong)}.pager small{color:var(--ink-3);margin-bottom:.2rem;font-size:.78rem;display:block}.pager strong{font-size:.95rem}.pager__next{text-align:right;grid-column:2}.done-bar{border-radius:var(--r-md);border:1px dashed var(--rule-strong);font-family:var(--font-ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3.5rem;padding:1.1rem 1.25rem;display:flex}.done-bar p{color:var(--ink-2);font-size:.92rem}.palette-scrim{z-index:100;background:#080c1680;justify-content:center;align-items:flex-start;padding:12vh 1rem 1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--rule-strong);width:min(640px,100%);animation:popIn .18s var(--ease);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px -20px #0000008c}.palette__input{border:0;border-bottom:1px solid var(--rule);background:0 0;outline:none;width:100%;padding:1rem 1.15rem;font-size:1.05rem}.palette__list{max-height:55vh;margin:0;padding:.4rem;list-style:none;overflow-y:auto}.palette__item{cursor:pointer;border-radius:9px;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.92rem;display:flex}.palette__item[aria-selected=true]{background:var(--ultra-soft)}.palette__kind{background:var(--surface-2);color:var(--ink-3);text-align:center;border-radius:99px;flex:none;min-width:4.4rem;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.palette__meta{color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:.75rem}.palette__empty{text-align:center;color:var(--ink-3);padding:1.5rem;font-size:.9rem}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.index-list{border-top:1px solid var(--rule);gap:0;display:grid}.index-row{border-bottom:1px solid var(--rule);color:var(--ink);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem .25rem;text-decoration:none;display:grid}.index-row:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent);text-decoration:none}.index-row__num{color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:center;font-size:1.1rem;font-weight:800}.index-row__title{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.index-row__desc{color:var(--ink-2);margin-top:.15rem;font-size:.88rem;line-height:1.45}.empty{text-align:center;color:var(--ink-3);border:1px dashed var(--rule-strong);border-radius:var(--r-md);padding:2.5rem 1rem}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero{border-bottom:1px solid var(--rule);background:radial-gradient(120% 90% at 75% 40%, color-mix(in srgb, var(--ultra) 10%, transparent), transparent 60%), var(--paper);align-items:end;min-height:min(86vh,860px);display:grid;position:relative;overflow:hidden}.hero__canvas,.hero__fallback{cursor:grab;position:absolute;inset:0}.hero__canvas:active{cursor:grabbing}.hero__fallback{background:radial-gradient(60% 60% at 70% 55%, var(--ultra-soft), transparent)}.hero__fade{pointer-events:none;background:linear-gradient(90deg, var(--paper) 0%, color-mix(in srgb, var(--paper) 82%, transparent) 30%, transparent 58%), linear-gradient(0deg, var(--paper) 0%, transparent 28%);position:absolute;inset:0}.hero__copy{z-index:2;pointer-events:none;max-width:44rem;padding:0 clamp(1rem,4vw,3.5rem) clamp(2.5rem,7vh,5rem);position:relative}.hero__copy a,.hero__copy button{pointer-events:auto}.hero__course{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:1rem;font-weight:600}.hero__title{letter-spacing:-.052em;max-width:11ch;font-size:clamp(2.9rem,6.6vw,5.6rem);font-weight:850;line-height:.93}.hero__lede{font-family:var(--font-read);color:var(--ink-2);max-width:33rem;margin-top:1.4rem;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.48}.hero__actions{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.hero__btn{text-overflow:ellipsis;max-width:100%;min-height:2.9rem;padding:.6rem 1.2rem;font-size:.95rem;overflow:hidden}.hero__readout{z-index:2;color:var(--ink-2);text-align:right;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.8rem;display:flex;position:absolute;bottom:clamp(1.25rem,4vh,2.5rem);right:clamp(1rem,3vw,2.5rem)}.hero__readout span:first-child{color:var(--ink);font-weight:700}.hero__readout-hint{color:var(--ink-3);max-width:16rem}@media (width<=720px){.hero{min-height:92vh}.hero__fade{background:linear-gradient(0deg, var(--paper) 0%, color-mix(in srgb, var(--paper) 85%, transparent) 45%, transparent 75%)}.hero__readout-hint{display:none}}.home__body{padding-top:3.5rem}.home__body>section+section{margin-top:4.5rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;display:flex}.section-head h2{letter-spacing:-.03em;font-size:1.6rem;font-weight:800}.section-head__meta{color:var(--ink-3);font-size:.85rem}.modlist{border-top:1px solid var(--rule)}.modrow{border-bottom:1px solid var(--rule);color:var(--ink);grid-template-columns:8.5rem 3rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.1rem .5rem;text-decoration:none;display:grid}.modrow:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent);text-decoration:none}.modrow__glyph{object-fit:contain;width:8.5rem;height:6.4rem}.modrow__num{letter-spacing:-.05em;color:var(--mod-color);font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:850}.modrow__text{flex-direction:column;gap:.3rem;display:flex}.modrow__title{letter-spacing:-.02em;font-size:1.3rem;font-weight:750}.modrow__blurb{font-family:var(--font-read);color:var(--ink-2);max-width:40rem;font-size:1.04rem;line-height:1.5}.modrow__meta{color:var(--ink-3);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.8rem;display:flex}@media (width<=760px){.modrow{grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem}.modrow__glyph{display:none}.modrow__num{font-size:1.8rem}.modrow__meta{grid-column:2;align-items:flex-start}}.glyph-label{font-family:var(--font-ui);fill:var(--ink-3);font-size:13px;font-weight:700}.paper{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.paper__mod{flex-direction:column;gap:.35rem;padding:1rem .9rem 1.1rem;display:flex}.paper__mod+.paper__mod{border-left:1px solid var(--rule)}.paper__head{align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.95rem;font-weight:750;display:flex}.paper__n{background:var(--mod-color);width:1.6rem;height:1.6rem;color:var(--surface);border-radius:7px;place-items:center;font-size:.85rem;font-weight:800;display:grid}.paper__q{color:var(--ink-2);border-radius:9px;grid-template-columns:2rem minmax(0,1fr);gap:.4rem;padding:.5rem .55rem;font-size:.8rem;line-height:1.4;text-decoration:none;display:grid;position:relative}.paper__q:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.paper__q b{color:var(--ink);font-variant-numeric:tabular-nums}.paper__icon{width:14px;height:14px;color:var(--mod-color);position:absolute;top:.5rem;right:.4rem}.paper__q:has(.paper__icon) span{padding-right:1rem}.paper__or{color:var(--ink-3);align-items:center;gap:.5rem;padding:.2rem 0;font-size:.72rem;font-weight:700;display:flex}.paper__or:before,.paper__or:after{content:"";background:var(--rule);flex:1;height:1px}@media (width<=1100px){.paper{grid-template-columns:repeat(2,minmax(0,1fr))}.paper__mod+.paper__mod{border-left:0}.paper__mod{border-bottom:1px solid var(--rule)}}@media (width<=620px){.paper{grid-template-columns:minmax(0,1fr)}}.desk{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.desk__item{border-bottom:1px solid var(--rule);color:var(--ink);align-items:flex-start;gap:.9rem;padding:1.1rem .75rem 1.1rem .25rem;text-decoration:none;display:flex}.desk__item:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent);text-decoration:none}.desk__item svg{width:22px;height:22px;color:var(--ultra);flex:none;margin-top:.1rem}.desk__item strong{font-size:1rem;display:block}.desk__item small{color:var(--ink-3);margin-top:.15rem;font-size:.82rem;line-height:1.4;display:block}.module-hero{grid-template-columns:minmax(0,1fr) minmax(16rem,28rem);align-items:center;gap:2rem;max-width:76rem;display:grid}.module-hero__title{letter-spacing:-.04em;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:850;line-height:1.02}.module-hero__art{width:100%;height:auto;margin:-1rem 0}.module-hero__outcome{color:var(--ink-2);max-width:40rem;margin-top:1rem;font-size:.95rem}.module-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;margin-top:3.5rem;display:grid}.module-cols .section-head h2{font-size:1.25rem}@media (width<=900px){.module-hero{grid-template-columns:minmax(0,1fr)}.module-hero__art{order:-1;max-width:26rem;margin:0}.module-cols{grid-template-columns:minmax(0,1fr)}}.lab-mod+.lab-mod{margin-top:2.75rem}.lab-mod__title{align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:1.1rem;font-weight:750;display:flex}.lab-grid{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));display:grid}.lab-item{border-bottom:1px solid var(--rule);color:var(--ink);flex-direction:column;gap:.3rem;padding:1rem 1rem 1.1rem .25rem;text-decoration:none;display:flex}.lab-item:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent);text-decoration:none}.lab-item strong{align-items:center;gap:.5rem;font-size:1rem;display:flex}.lab-item span{color:var(--ink-2);font-size:.86rem;line-height:1.45}.lab-item em{color:var(--ink-3);font-size:.8rem;font-style:normal}.solver{max-width:64rem}.solver__input{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:1rem;padding:1.1rem 1.2rem 1.2rem;display:flex}.solver__presets{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.solver__presets-label{color:var(--ink-2);margin-right:.3rem;font-size:.78rem;font-weight:700}.preset{border:1px solid var(--rule-strong);background:var(--paper);cursor:pointer;color:var(--ink-2);border-radius:99px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.preset:hover{color:var(--ink);border-color:var(--ink-3)}.preset[aria-pressed=true]{background:var(--ultra);border-color:var(--ultra);color:#fff}:root[data-theme=dark] .preset[aria-pressed=true]{color:#0e1424}.solver__error{color:var(--rose);font-size:.85rem;font-weight:600}.work{counter-reset:work;margin-top:2rem}.work__step{counter-increment:work;border-top:1px solid var(--rule);grid-template-columns:2.4rem minmax(0,1fr);gap:.9rem;padding:1.4rem 0;display:grid}.work__step:before{content:counter(work);width:2rem;height:2rem;color:var(--surface);background:var(--ink);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;display:grid}.work__title{letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.08rem;font-weight:750}.work__body{font-family:var(--font-read);min-width:0;font-size:1.06rem;line-height:1.6}.work__body>*+*{margin-top:.75rem}.work__body .table-wrap,.work__body .readout,.work__body .chip-row,.work__body .controls{font-family:var(--font-ui)}.result{border-radius:var(--r-lg);background:var(--ink);color:var(--paper);margin-top:1.5rem;padding:1.2rem 1.35rem}.result__label{opacity:.7;margin-bottom:.3rem;font-size:.8rem;font-weight:700}.result__value{letter-spacing:-.01em;font-size:1.35rem;font-weight:750}.result .katex{color:var(--paper)}.result .hyp{font-size:1.1rem}.input-grid{gap:.35rem;display:grid;overflow-x:auto}.input-grid table{border-collapse:collapse}.input-grid td,.input-grid th{padding:.15rem}.input-grid th{color:var(--ink-3);text-align:left;padding:.2rem .3rem;font-size:.75rem;font-weight:700}.input-grid input{border:1px solid var(--rule);background:var(--paper);border-radius:6px;width:6.2rem;padding:.35rem .5rem;font-size:.82rem}.input-grid input.num-in{text-align:right;font-variant-numeric:tabular-nums;width:4.5rem}.input-grid select{border:1px solid var(--rule);background:var(--paper);border-radius:6px;padding:.33rem .4rem;font-size:.82rem}.qfilters{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1.2rem;margin-bottom:1.5rem;display:flex}.qlist{border-top:1px solid var(--rule)}.qrow{border-bottom:1px solid var(--rule);grid-template-columns:2.2rem 3.4rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.95rem .25rem;display:grid}.qrow__check{border:1.5px solid var(--rule-strong);cursor:pointer;color:#0000;background:0 0;border-radius:6px;place-items:center;width:1.4rem;height:1.4rem;margin-top:.05rem;display:grid}.qrow__check[aria-pressed=true]{background:var(--viridian);border-color:var(--viridian);color:#fff}.qrow__check svg{width:14px;height:14px}.qrow__n{color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:.1rem;font-size:.85rem;font-weight:750}.qrow__text{font-family:var(--font-read);font-size:1.06rem;line-height:1.5}.qrow__text[data-done=true]{color:var(--ink-3)}.qrow__actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}@media (width<=700px){.qrow{grid-template-columns:2.2rem minmax(0,1fr)}.qrow__n{display:none}.qrow__actions{grid-column:2;justify-content:flex-start}}.formula-group+.formula-group{margin-top:3rem}.formula-group h2{letter-spacing:-.02em;align-items:center;gap:.6rem;margin-bottom:.4rem;font-size:1.4rem;font-weight:800;display:flex}.formulas{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));display:grid}.formula{border-bottom:1px solid var(--rule);min-width:0;padding:1rem 1rem 1rem .25rem}.formula__name{margin-bottom:.25rem;font-size:.88rem;font-weight:700}.formula__note{color:var(--ink-3);margin-top:.2rem;font-size:.8rem;line-height:1.45}.formula .math-block{text-align:left;padding:.25rem 0}.flash-stage{perspective:1400px;place-items:center;margin:1rem 0 1.5rem;display:grid}.flash{width:min(40rem,100%);min-height:19rem;transform-style:preserve-3d;transition:transform .55s var(--ease);cursor:pointer;position:relative}.flash[data-flipped=true]{transform:rotateY(180deg)}.flash__face{backface-visibility:hidden;border-radius:var(--r-lg);border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;justify-content:center;gap:.8rem;padding:2rem 2.2rem;display:flex;position:absolute;inset:0}.flash__face--back{background:var(--surface);border-top:4px solid var(--mod-color,var(--ultra));transform:rotateY(180deg)}.flash__term{letter-spacing:-.035em;font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;line-height:1.1}.flash__def{font-family:var(--font-read);font-size:1.18rem;line-height:1.6}.flash__meta{color:var(--ink-3);font-size:.8rem}.flash-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.quiz-shell{max-width:46rem}.quiz-progress{color:var(--ink-3);align-items:center;gap:1rem;margin-bottom:1.25rem;font-size:.85rem;display:flex}.quiz-progress .meter{flex:1;margin:0}.score-card{border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface);text-align:left;padding:2rem}@media print{.rail,.topbar,.scrim,.qfilters,.done-bar,.pager,.lesson__aside{display:none!important}.shell{display:block}body{background:#fff}}.hchips{font-family:var(--font-code);vertical-align:middle;flex-wrap:wrap;align-items:center;gap:.22rem;display:inline-flex}.hchips__br{color:var(--ink-3);font-size:1.1em}.hchip{background:var(--surface-2);color:var(--ink);border:1px solid #0000;border-radius:6px;padding:.1rem .45rem;font-size:.8rem;font-weight:600;line-height:1.5;transition:background .3s,color .3s;display:inline-block}.hchips--sm .hchip{padding:.05rem .35rem;font-size:.72rem}.hchip[data-kind=any]{border:1px dashed var(--rule-strong);color:var(--ink-3);background:0 0}.hchip[data-kind=phi]{background:var(--rose-soft);color:var(--rose)}.hchip[data-changed]{background:var(--ochre);color:var(--surface);border-color:var(--ochre)}.result .hchip{background:color-mix(in srgb, var(--paper) 16%, transparent);color:var(--paper)}.result .hchip[data-kind=any]{border-color:color-mix(in srgb, var(--paper) 40%, transparent);color:color-mix(in srgb, var(--paper) 75%, transparent);background:0 0}.vs-diagram{border:1px solid var(--rule);border-radius:var(--r-md);background:linear-gradient(180deg, var(--ultra-soft), transparent 35%, transparent 65%, var(--rose-soft));flex-direction:column;gap:.5rem;margin-top:1rem;padding:.75rem;display:flex}.vs-diagram__space{text-align:center;color:var(--ink-3);border-left:2px dashed var(--rule-strong);border-right:2px dashed var(--rule-strong);margin:0 18%;padding:.6rem 0;font-size:.78rem;font-weight:600}.vs-diagram[data-collapsed=true] .vs-diagram__space{color:var(--rose);border-color:var(--rose)}.boundary{grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.boundary__label{width:1.8rem;height:1.8rem;color:var(--surface);border-radius:8px;place-items:center;font-weight:800;display:grid}.boundary--g .boundary__label{background:var(--ultra)}.boundary--s .boundary__label{background:var(--rose)}.boundary__set{flex-wrap:wrap;gap:.35rem .6rem;display:flex}.boundary__empty{color:var(--rose);font-size:.82rem;font-weight:700}.event-list{white-space:pre-wrap;flex-direction:column;gap:.35rem;margin:.4rem 0 0;padding:0;font-size:.83rem;line-height:1.45;list-style:none;display:flex}.event-list li{border-left:2px solid var(--rule-strong);color:var(--ink-2);padding-left:.65rem}.event-list li[data-kind=removeG],.event-list li[data-kind=removeS],.event-list li[data-kind=prune],.event-list li[data-kind=dropCandidate]{border-left-color:var(--rose)}.event-list li[data-kind=generalizeS],.event-list li[data-kind=keep]{border-left-color:var(--viridian)}.event-list li[data-kind=specializeG]{border-left-color:var(--ultra);color:var(--ink);font-weight:600}.lattice{width:100%;height:auto}.lattice g:focus-visible rect{stroke:var(--focus);stroke-width:2.5px}.inst-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.inst{border:1px solid var(--rule);color:var(--ink-3);text-align:center;border-radius:8px;padding:.55rem .6rem;font-size:.8rem;font-weight:600;transition:background .25s,color .25s}.inst[data-on=true]{background:var(--ultra);border-color:var(--ultra);color:var(--surface)}.vote-list{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.4rem;display:grid}.vote{border:1px solid var(--rule);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.vote__v{color:var(--rose);font-size:.78rem;font-weight:800}.vote[data-yes=true]{background:var(--ultra-soft);border-color:color-mix(in srgb, var(--ultra) 40%, transparent)}.vote[data-yes=true] .vote__v{color:var(--ultra)}.sorter{flex-direction:column;gap:.9rem;display:flex}.sorter__card{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);padding:1rem 1.1rem}.sorter__prompt{font-family:var(--font-read);font-size:1.12rem;line-height:1.5}.sorter__bins{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.sorter__fb{font-family:var(--font-read);color:var(--ink-2);margin-top:.8rem;font-size:1rem;line-height:1.55}.sorter__fb b{color:var(--ink)}.sorter__score{color:var(--ink-3);justify-content:space-between;gap:1rem;font-size:.82rem;display:flex}.pill-right{color:var(--viridian);font-weight:700}.pill-wrong{color:var(--rose);font-weight:700}.flow{width:100%;height:auto}.flow .node rect{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1.5px;transition:fill .2s,stroke .2s}.flow .node text{fill:var(--ink);font-family:var(--font-ui);font-size:13px;font-weight:700}.flow .node .sub{fill:var(--ink-3);font-size:11px;font-weight:500}.flow .node{cursor:pointer}.flow .node[data-active=true] rect{fill:var(--ultra);stroke:var(--ultra)}.flow .node[data-active=true] text{fill:var(--surface)}.flow .edge{stroke:var(--ink-3);stroke-width:1.5px;fill:none}.flow .edge-label{fill:var(--ink-3);font-size:11px;font-family:var(--font-ui)}.panel{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);padding:.9rem 1rem;font-size:.9rem;line-height:1.55}.panel h4{margin-bottom:.35rem;font-size:.95rem}.panel p+p{margin-top:.4rem}.heat td.n{transition:background .2s}.mini-bars{flex-direction:column;gap:.35rem;display:flex}.mini-bar{grid-template-columns:7rem minmax(0,1fr) 3.5rem;align-items:center;gap:.6rem;font-size:.8rem;display:grid}.mini-bar__track{background:var(--surface-2);border-radius:99px;height:10px;overflow:hidden}.mini-bar__fill{border-radius:inherit;background:var(--ultra);height:100%;transition:width .35s var(--ease)}.mini-bar__v{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.tree-svg{width:100%;height:auto;overflow:visible}.tree-svg .tnode rect{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1.4px}.tree-svg .tnode text{font-family:var(--font-ui);fill:var(--ink);font-size:12px}.tree-svg .tleaf rect{stroke-width:0}.tree-svg .tedge{stroke:var(--rule-strong);stroke-width:1.5px;fill:none}.tree-svg .tedge-label{font-family:var(--font-ui);fill:var(--ink-2);font-size:11px;font-weight:600}.cv-grid{flex-direction:column;gap:.35rem;display:flex}.cv-row{grid-template-columns:4.5rem minmax(0,1fr) 4rem;align-items:center;gap:.6rem;font-size:.78rem;display:grid}.cv-row__label{color:var(--ink-3);font-weight:650}.cv-cells{gap:3px;display:grid}.cv-cell{background:var(--ultra-soft);height:1.7rem;color:var(--ultra);border-radius:4px;place-items:center;font-size:.68rem;font-weight:700;transition:background .3s,color .3s;display:grid;overflow:hidden}.cv-cell[data-test=true]{background:var(--rose);color:var(--surface)}.cv-cell[data-unused=true]{background:var(--surface-2);color:var(--ink-3)}.cv-cell[data-cls="1"]{box-shadow:inset 0 -3px 0 var(--ochre)}.cv-row__score{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.cm{grid-template-columns:auto repeat(var(--k,2), minmax(4.5rem, 1fr));align-items:stretch;gap:4px;font-size:.82rem;display:grid}.cm__h{color:var(--ink-3);text-align:center;justify-content:center;align-items:center;padding:.25rem;font-size:.72rem;font-weight:700;display:flex}.cm__cell{text-align:center;font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;min-height:3.6rem;padding:.55rem .4rem;font-weight:750;transition:background .25s;display:flex}.cm__cell small{opacity:.8;font-size:.68rem;font-weight:600}.cm__cell input{text-align:center;background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid #0000;border-radius:6px;width:4.2rem;padding:.15rem;font-size:1rem;font-weight:750}.cm__cell input:focus{outline:2px solid var(--focus)}.digit-strip{flex-wrap:wrap;gap:6px;display:flex}.digit-strip canvas{image-rendering:pixelated;border-radius:4px}.keyline{vertical-align:middle;border-top:2.5px solid;width:18px;height:0;margin-right:.35rem;display:inline-block}.keyline--dash{border-top-style:dashed}.legend i.keyline{background:0 0;border-radius:0;width:18px;height:0}.bias-grid{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:1.1rem;display:grid}.bias-cells{grid-template-columns:1fr 1fr;gap:4px;display:grid}.bias-cell{border:1px solid var(--rule);background:var(--paper);font-family:var(--font-ui);cursor:pointer;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;min-height:3.1rem;padding:.35rem .2rem;transition:background .2s,border-color .2s;display:flex}.bias-cell small{color:var(--ink-3);white-space:nowrap;font-size:.66rem}.bias-cell b{font-size:1.05rem;line-height:1}.bias-cell[data-v="1"],.bias-cell[data-p=\+]{background:var(--ultra-soft);border-color:color-mix(in srgb, var(--ultra) 45%, transparent);color:var(--ultra)}.bias-cell[data-v="-1"],.bias-cell[data-p=−]{background:var(--rose-soft);border-color:color-mix(in srgb, var(--rose) 45%, transparent);color:var(--rose)}.bias-cell--out{cursor:default}.bias-cell--out[data-p=\?]{color:var(--ink-3);border-style:dashed}.bias-cell--out[data-train=true]{opacity:.55}.asst{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.asst__main{flex-direction:column;min-width:0;padding:2.2rem clamp(1rem,4vw,3rem) 0;display:flex;overflow-x:clip}.asst__main>*{width:100%;max-width:46rem;margin-left:auto;margin-right:auto}@media (width>=1280px){.asst{grid-template-columns:minmax(0,1fr) clamp(22rem,28vw,27rem)}}.asst__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.1rem;display:flex}.asst__title h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.1}.asst__title p{font-size:var(--t-sm);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:.2rem .75rem;margin-top:.4rem;display:flex}.asst__title strong{color:var(--ink-2);font-weight:650}.asst__indexing{color:var(--violet);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.asst__indexing:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}.asst__actions{align-items:center;gap:.5rem;display:flex}@keyframes pulse{50%{opacity:.25}}.popover-anchor{position:relative}.popover{z-index:30;background:var(--surface);border:1px solid var(--rule);width:min(22rem,86vw);box-shadow:var(--shadow);border-radius:12px;padding:.5rem;position:absolute;top:calc(100% + 6px);left:0}.popover--right{left:auto;right:0}.popover--up{top:auto;bottom:calc(100% + 8px)}.popover__empty{font-size:var(--t-sm);color:var(--ink-3);padding:.8rem}.history ul{max-height:22rem;margin:0;padding:0;list-style:none;overflow:auto}.history li{border-radius:8px;align-items:center;gap:.25rem;display:flex}.history li[data-current]{background:var(--ultra-soft)}.history__open{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;min-width:0;padding:.5rem .6rem}.history__open:hover{background:var(--surface-2)}.history__open span{font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.history__open small{color:var(--ink-3);font-size:.72rem}.history__del{opacity:.6;border-color:#0000;width:1.9rem;height:1.9rem}.history__del:hover{opacity:1;color:var(--rose)}.history__clear{width:100%;margin-top:.4rem}.asst-empty{flex:1;padding:2.4rem 0 2rem}.asst-empty__lede{font-family:var(--font-read);font-size:var(--t-xl);color:var(--ink-2);max-width:38rem;line-height:1.5}.asst-callout{border:1px solid var(--rule);border-left:3px solid var(--ochre);background:var(--surface);font-size:var(--t-sm);color:var(--ink-2);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.6rem;padding:.9rem 1rem;display:flex}.asst-callout strong{color:var(--ink)}.asst-suggest{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:2rem;display:grid}.asst-suggest__item{text-align:left;border:1px solid var(--rule);background:var(--surface);font-size:var(--t-sm);color:var(--ink);cursor:pointer;border-radius:12px;padding:.85rem 1rem .95rem;font-weight:600;line-height:1.4;transition:border-color .15s,transform .15s}.asst-suggest__item:hover{border-color:var(--ultra)}.asst-suggest__mode{color:var(--ultra);margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.asst-empty__kb{font-size:var(--t-sm);color:var(--ink-3);margin-top:1.6rem}@media (width<=560px){.asst-suggest{grid-template-columns:minmax(0,1fr)}.asst-callout{flex-direction:column;align-items:flex-start}}.convo{flex-direction:column;flex:1;gap:1.6rem;margin:0;padding:1.5rem 0 1rem;list-style:none;display:flex}.turn--user{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.turn__tags{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.turn__tags span{color:var(--ultra);background:var(--ultra-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:99px;max-width:18rem;padding:.1rem .5rem;font-size:.72rem;font-weight:700;overflow:hidden}.turn__bubble{background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;max-width:min(36rem,88%);padding:.65rem .95rem;font-size:.98rem;line-height:1.5}.turn--asst{position:relative}.turn__thinking{font-size:var(--t-sm);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:.6rem;font-style:italic;overflow:hidden}.turn__note{font-size:var(--t-sm);color:var(--ink-3);margin-top:.6rem}.turn__error{background:var(--rose-soft);color:var(--rose);font-size:var(--t-sm);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem;padding:.7rem .9rem;font-weight:600;display:flex}.turn__foot{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.src-chips{flex-wrap:wrap;gap:.35rem;display:flex}.src-chip{border:1px solid var(--rule);background:var(--surface);max-width:16rem;color:var(--ink-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:99px;align-items:center;gap:.4rem;padding:.2rem .6rem .2rem .25rem;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden}.src-chip:hover{border-color:var(--ultra);color:var(--ink)}.src-chip span{background:var(--ultra-soft);min-width:1.25rem;height:1.25rem;color:var(--ultra);border-radius:99px;flex:none;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.turn__meta{flex-wrap:wrap;align-items:center;gap:.2rem;margin-left:-.5rem;display:flex}.turn__stats{color:var(--ink-3);margin-left:auto;font-size:.72rem}.linkish{color:var(--ultra);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.pipe{flex-direction:column;gap:.45rem;margin-bottom:.9rem;display:flex}.pipe__track{gap:4px;max-width:16rem;display:flex}.pipe__seg{background:var(--surface-3);border-radius:99px;flex:1;height:4px;position:relative;overflow:hidden}.pipe__seg[data-state=done]{background:var(--ultra)}.pipe__seg[data-state=active]{background:var(--ultra-soft)}.pipe__seg[data-state=active]:after{content:"";border-radius:inherit;background:var(--ultra);width:45%;animation:sweep 1.1s var(--ease) infinite;position:absolute;inset:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(230%)}}.pipe__label{font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;gap:.5rem;font-weight:650;display:flex}.pipe__detail{color:var(--ink-3);font-weight:500;font-family:var(--font-read);font-style:italic}@media (prefers-reduced-motion:reduce){.pipe__seg[data-state=active]:after,.asst__indexing:before{animation:none}.pipe__seg[data-state=active]:after{opacity:.6;width:100%}}.md{overflow-wrap:break-word}.md--answer{font-family:var(--font-read);color:var(--ink);font-optical-sizing:auto;font-size:1.125rem;line-height:1.64}.md>*+*{margin-top:.85em}.md h1,.md h2,.md h3,.md h4{font-family:var(--font-ui);letter-spacing:-.015em;margin-top:1.5em;line-height:1.25}.md h1{font-size:1.35rem;font-weight:800}.md h2{font-size:1.2rem;font-weight:750}.md h3,.md h4{font-size:1.02rem;font-weight:700}.md>:first-child{margin-top:0}.md ul,.md ol{padding-left:1.3em}.md li+li,.md li>ul,.md li>ol{margin-top:.3em}.md li::marker{color:var(--ink-3)}.md strong{font-weight:700}.md code{font-family:var(--font-code);background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.82em}.md pre{background:var(--surface-2);border:1px solid var(--rule);border-radius:10px;padding:.9rem 1rem;font-size:.8rem;line-height:1.55;overflow-x:auto}.md pre code{font-size:inherit;background:0 0;padding:0}.md blockquote{border-left:3px solid var(--rule-strong);color:var(--ink-2);margin-left:0;padding-left:1em}.md .table-wrap{font-family:var(--font-ui);font-size:.86rem}.md .katex-display{margin:.6em 0;padding:.2em 0;overflow:auto hidden}.md hr{border:0;border-top:1px solid var(--rule)}.md--inline>*+*{margin-top:0}.md--passage{font-size:var(--t-sm);color:var(--ink-2);line-height:1.55}.md--passage h2,.md--passage h3,.md--passage h4{font-size:var(--t-sm);color:var(--ink);margin-top:.6em}.cite{vertical-align:.35em;background:var(--ultra-soft);min-width:1.15rem;height:1.15rem;color:var(--ultra);font-family:var(--font-ui);cursor:pointer;border:0;border-radius:99px;place-items:center;margin:0 .08rem;padding:0 .25rem;font-size:.66rem;font-weight:800;line-height:1;display:inline-grid;position:relative}.cite:hover,.cite:focus-visible{background:var(--ultra);color:var(--surface)}.cite--missing{background:var(--surface-2);color:var(--ink-3);cursor:default}.cite__tip{z-index:25;background:var(--ink);width:17rem;color:var(--paper);text-align:left;pointer-events:none;border-radius:10px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.75rem;font-weight:500;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.cite:hover .cite__tip,.cite:focus-visible .cite__tip{animation:tip-in .15s var(--ease);display:flex;transform:translate(-50%)}@keyframes tip-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}}.cite__tip-title{font-weight:750}.cite__tip-where{opacity:.7}.cite__tip-text{font-family:var(--font-read);opacity:.85;font-size:.8rem}@media (hover:none){.cite__tip{display:none}}.extractive{flex-direction:column;gap:.6rem;display:flex}.extractive__lede{font-size:var(--t-sm);color:var(--ink-2)}.composer{z-index:20;background:linear-gradient(to bottom, transparent, var(--paper) 1.2rem);padding:.75rem 0 1rem;position:sticky;bottom:0}.composer__box{background:var(--surface);border:1px solid var(--rule-strong);box-shadow:var(--shadow);border-radius:16px;align-items:flex-end;gap:.5rem;padding:.5rem .5rem .5rem 1rem;transition:border-color .15s;display:flex}.composer__box:focus-within{border-color:var(--ultra)}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-width:0;max-height:220px;padding:.45rem 0;font-size:1rem;line-height:1.45}.composer textarea::placeholder{color:var(--ink-3)}.composer__send{background:var(--ultra);color:#fff;cursor:pointer;border:0;border-radius:11px;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:grid}:root[data-theme=dark] .composer__send{color:#0e1424}.composer__send:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.composer__send svg{stroke-width:2.2px;width:18px;height:18px}.composer__send--stop{background:var(--ink);color:var(--paper)}:root[data-theme=dark] .composer__send--stop{color:var(--paper)}.composer__bar{flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin-top:.55rem;display:flex}.composer__modes,.composer__marks{flex-wrap:wrap;gap:.25rem;display:flex}.composer__modes button,.composer__marks button{white-space:nowrap;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:99px;flex:none;padding:.25rem .65rem;font-size:.78rem;font-weight:650}.composer__modes button:hover,.composer__marks button:hover{color:var(--ink)}.composer__modes button[aria-checked=true]{background:var(--ink);color:var(--paper)}.composer__marks{border-left:1px solid var(--rule);padding-left:.6rem}.composer__marks button[aria-checked=true]{border-color:var(--ink-3);color:var(--ink)}.composer__scope{margin-left:auto}.scope-btn{border:1px solid var(--rule);background:var(--surface);max-width:15rem;color:var(--ink-2);cursor:pointer;border-radius:99px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.78rem;font-weight:650;display:inline-flex}.scope-btn span:not(.scope-btn__clear){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scope-btn svg{flex:none;width:13px;height:13px}.scope-btn[data-on]{border-color:var(--ultra);color:var(--ultra);background:var(--ultra-soft)}.scope-btn__clear{border-radius:50%;place-items:center;margin-right:-.25rem;display:inline-grid}.scope-btn__clear:hover{background:var(--ultra);color:var(--surface)}.scope{flex-direction:column;gap:.45rem;width:min(24rem,90vw);display:flex;left:auto;right:0}.scope ul{max-height:18rem;margin:0;padding:0;list-style:none;overflow:auto}.scope label{font-size:var(--t-sm);cursor:pointer;border-radius:7px;align-items:flex-start;gap:.55rem;padding:.4rem .45rem;font-weight:600;display:flex}.scope label:hover{background:var(--surface-2)}.scope label input{accent-color:var(--ultra);margin-top:.2rem}.scope small{color:var(--ink-3);font-size:.72rem;font-weight:500;display:block}@media (width<=640px){.composer__scope{margin-left:0}.composer__modes{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}}.evidence{border-left:1px solid var(--rule);background:var(--surface);flex-direction:column;min-width:0;height:100vh;display:none;position:sticky;top:0}@media (width>=1280px){.evidence{display:flex}.evidence__close{display:none!important}.evidence-scrim{display:none}}@media (width<=1279px){.asst[data-drawer] .evidence{z-index:70;width:min(26rem,94vw);box-shadow:var(--shadow);animation:drawer-in .22s var(--ease);display:flex;position:fixed;inset:0 0 0 auto}.asst[data-drawer] .evidence-scrim{z-index:65;background:#080c1666;position:fixed;inset:0}}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}}.evidence__head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.5rem;padding:1.15rem 1rem .75rem;display:flex}.evidence__tabs{gap:.15rem;display:flex}.evidence__tabs button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .65rem;font-size:.8rem;font-weight:650}.evidence__tabs button:hover{color:var(--ink)}.evidence__tabs button[aria-selected=true]{background:var(--surface-2);color:var(--ink)}.evidence__body{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow:auto}.evidence__empty{font-size:var(--t-sm);color:var(--ink-3);line-height:1.5}.src-card{border:1px solid var(--rule);background:var(--surface);border-radius:12px;padding:.8rem .85rem .55rem;scroll-margin:1rem;transition:border-color .2s,box-shadow .2s}.src-card[data-active]{border-color:var(--ultra);box-shadow:0 0 0 3px var(--ultra-soft)}.src-card__head{align-items:flex-start;gap:.6rem;display:flex}.src-card__n{background:var(--ultra-soft);width:1.5rem;height:1.5rem;color:var(--ultra);border-radius:7px;flex:none;place-items:center;font-size:.75rem;font-weight:800;display:grid}.src-card__titles{flex:1;min-width:0}.src-card__title{font-size:var(--t-sm);font-weight:700;line-height:1.3}.src-card__where{color:var(--ink-3);margin-top:.15rem;font-size:.72rem;line-height:1.4}.src-kind{color:var(--ink-2);margin-right:.4rem;font-weight:700;display:inline-block}.src-card__score{background:var(--surface-3);border-radius:99px;flex:none;width:2.6rem;height:4px;margin-top:.45rem;overflow:hidden}.src-card__score i{background:var(--viridian);border-radius:inherit;height:100%;display:block}.src-card__text{font-family:var(--font-read);color:var(--ink-2);white-space:pre-line;overflow-wrap:anywhere;margin-top:.6rem;font-size:.93rem;line-height:1.55}.src-card__text mark{background:var(--ochre-soft);color:var(--ink);border-radius:3px;padding:0 1px}.src-card__actions{flex-wrap:wrap;margin:.35rem -.5rem 0;display:flex}.trace{flex-direction:column;gap:1rem;display:flex}.trace-steps{counter-reset:step;flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.trace-steps>li{counter-increment:step;font-size:var(--t-sm);color:var(--ink-2);padding-left:2rem;line-height:1.5;position:relative}.trace-steps>li:before{content:counter(step);border:1.5px solid var(--rule-strong);width:1.4rem;height:1.4rem;color:var(--ink-2);border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.trace-steps>li:not(:last-child):after{content:"";background:var(--rule);width:1.5px;position:absolute;top:1.6rem;bottom:-.8rem;left:.69rem}.trace-steps__head{color:var(--ink);justify-content:space-between;gap:.5rem;margin-bottom:.2rem;display:flex}.trace-steps__head span{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.72rem}.trace-queries{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.trace-queries li{font-family:var(--font-read);color:var(--ink);font-size:.9rem;line-height:1.4}.trace-queries li span{font-family:var(--font-ui);color:var(--ink-3);font-size:.68rem;font-weight:700;display:block}.trace-queries li[data-kind=hyde]{color:var(--ink-2);font-style:italic}.trace-legend{color:var(--ink-2);flex-wrap:wrap;gap:.35rem .9rem;font-size:.72rem;font-weight:650;display:flex}.trace-legend span:before{content:"";vertical-align:middle;background:var(--tone);border-radius:2px;width:10px;height:4px;margin-right:.35rem;display:inline-block}[data-tone=lex]{--tone:var(--ochre)}[data-tone=sem]{--tone:var(--violet)}[data-tone=rrf]{--tone:var(--ink-2)}[data-tone=rr]{--tone:var(--viridian)}.trace-table{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.trace-table li{border-radius:8px;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem .45rem;display:grid}.trace-table li[data-selected]{background:var(--viridian-soft)}.trace-table__rank{color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:800}.trace-table li[data-selected] .trace-table__rank{color:var(--viridian)}.trace-table__title{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:650;overflow:hidden}.trace-table__title span{color:var(--ink-3);font-weight:500}.trace-table__bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:.25rem;display:grid}.trace-bar{background:var(--surface-3);border-radius:99px;height:4px;overflow:hidden}.trace-bar i{border-radius:inherit;background:var(--tone);height:100%;display:block}.trace-table__ranks{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.68rem}.kmap{border:1px solid var(--rule);background:var(--paper);border-radius:12px;overflow:hidden}.kmap__foot{color:var(--ink-3);min-height:2.6rem;padding:.55rem .75rem .2rem;font-size:.75rem;line-height:1.45}.kmap__hover{color:var(--ink);font-weight:650}.kmap__legend{color:var(--ink-2);flex-wrap:wrap;gap:.3rem .8rem;padding:.3rem .75rem .65rem;font-size:.72rem;font-weight:650;display:flex}.kmap__legend span:before{content:"";background:var(--c);vertical-align:-.02em;border-radius:50%;width:8px;height:8px;margin-right:.35rem;display:inline-block}.viewer{z-index:90;background:#080c16c7;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:fixed;inset:0}.viewer__bar{background:var(--surface);width:min(60rem,100%);font-size:var(--t-sm);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .6rem .5rem 1rem;display:flex}.viewer__bar strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.viewer__bar>span{color:var(--ink-3)}.viewer__page{flex:1;justify-content:center;width:min(60rem,100%);min-height:0;display:flex;overflow:auto}.viewer__page img{border-radius:6px;align-self:flex-start;max-width:100%;height:auto;box-shadow:0 10px 40px #0006}.viewer__loading{color:#fff;font-size:var(--t-sm);align-self:center}.aq{flex-direction:column;gap:1.4rem;display:flex}.aq__q{font-family:var(--font-read);align-items:baseline;gap:.6rem;margin-bottom:.7rem;font-size:1.1rem;line-height:1.45;display:flex}.aq__num{font-family:var(--font-ui);color:var(--ultra);flex:none;font-size:.8rem;font-weight:800}.aq__score{border-top:1px solid var(--rule);font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.9rem;display:flex}.ac__grid{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.6rem;display:grid}.ac__card{border:1px solid var(--rule);border-left:3px solid var(--violet);background:var(--surface);text-align:left;min-height:7.5rem;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;padding:.9rem 1rem;font-size:.9rem;line-height:1.45;display:flex}.ac__card[data-flipped]{background:var(--surface-2);font-family:var(--font-read);font-size:.95rem}.ac__term{font-size:1rem;font-weight:750}.ac__bar{font-size:var(--t-sm);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.sheet{border:1px solid var(--rule);background:var(--surface);width:min(40rem,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);box-shadow:var(--shadow);border-radius:16px;padding:0}.sheet::backdrop{background:#080c1680}.sheet[open]{animation:sheet-in .2s var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)}}.sheet__inner{padding:1.2rem 1.4rem 1.6rem}.sheet__head{justify-content:space-between;align-items:center;display:flex}.sheet__head h2{letter-spacing:-.02em;font-size:1.3rem}.sheet__section{border-top:1px solid var(--rule);flex-direction:column;gap:.9rem;margin-top:1.5rem;padding-top:1.3rem;display:flex}.sheet__section h3{font-size:1rem}.sheet__note{font-size:var(--t-sm);color:var(--ink-3);margin-top:-.6rem;line-height:1.5}.form-grid{flex-direction:column;gap:1rem;display:flex}.form-row{font-size:var(--t-sm);flex-direction:column;gap:.35rem;display:flex}.form-row>span:first-child{font-weight:650}.form-row small{color:var(--ink-3);font-size:.75rem;line-height:1.45}.form-row .field{width:100%}.form-row--inline{flex-direction:row;align-items:center;gap:.8rem}.form-row--inline input[type=range]{accent-color:var(--ultra);flex:1}.form-row--inline output{text-align:right;min-width:1.5rem;font-weight:750}.key-field{gap:.35rem;display:flex}.key-field .field{font-family:var(--font-code);font-size:.8rem}.model-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.model-opt{text-align:left;border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:10px;padding:.55rem .7rem}.model-opt strong{font-size:var(--t-sm);display:block}.model-opt span{color:var(--ink-3);font-size:.72rem}.model-opt[aria-checked=true]{border-color:var(--ultra);box-shadow:0 0 0 2px var(--ultra-soft)}.test-row{font-size:var(--t-sm);flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.test-ok{color:var(--viridian);font-weight:650}.test-fail{color:var(--rose);font-weight:600}.toggle-list{flex-direction:column;gap:.75rem;display:flex}.toggle-list .toggle{align-items:flex-start;font-weight:500;line-height:1.45}.toggle-list .toggle input{flex:none;margin-top:.1rem}.toggle-list strong{color:var(--ink)}@media (width<=520px){.model-list{grid-template-columns:minmax(0,1fr)}}.drop{border:1.5px dashed var(--rule-strong);background:var(--surface);border-radius:16px;align-items:center;gap:1.1rem;padding:1.6rem;transition:border-color .15s,background .15s;display:flex}.drop[data-over]{border-color:var(--ultra);background:var(--ultra-soft)}.drop>div{flex:1}.drop__icon{width:2.2rem;height:2.2rem;color:var(--ultra);flex:none}.drop__title{font-size:1.05rem;font-weight:750}.drop__sub{font-size:var(--t-sm);color:var(--ink-3);margin-top:.15rem}@media (width<=600px){.drop{flex-direction:column;align-items:flex-start}}.lib-notice{font-size:var(--t-sm);color:var(--viridian);justify-content:space-between;align-items:baseline;gap:.8rem;margin-top:.8rem;font-weight:600;display:flex}.lib-notice--error{color:var(--rose)}.lib-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:2.4rem;margin-top:2.2rem;display:grid}@media (width>=1100px){.lib-grid{grid-template-columns:minmax(0,1fr) 22rem}}.lib-col{flex-direction:column;gap:2.4rem;min-width:0;display:flex}.lib-section h2{letter-spacing:-.015em;font-size:1.15rem}.lib-section__head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.lib-section>h2{margin-bottom:.8rem}.lib-empty,.lib-note{font-size:var(--t-sm);color:var(--ink-3);max-width:40rem;line-height:1.55}.lib-note{margin:-.3rem 0 .9rem}.docs{border:1px solid var(--rule);background:var(--surface);border-radius:14px;margin:0;padding:0;list-style:none}.doc+.doc{border-top:1px solid var(--rule)}.doc[data-disabled] .doc__titles{opacity:.55}.doc__main{align-items:flex-start;gap:.85rem;padding:.95rem 1rem;display:flex}.doc__kind{text-align:center;background:var(--surface-2);width:3.7rem;color:var(--ink-2);border-radius:7px;flex:none;padding:.3rem 0;font-size:.64rem;font-weight:800}.doc__kind[data-kind=pdf]{background:var(--rose-soft);color:var(--rose)}.doc__kind[data-kind=docx]{background:var(--ultra-soft);color:var(--ultra)}.doc__kind[data-kind=pptx]{background:var(--ochre-soft);color:var(--ochre)}.doc__kind[data-kind=image]{background:var(--viridian-soft);color:var(--viridian)}.doc__titles{flex:1;min-width:0}.doc__title{overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.doc__meta{color:var(--ink-3);flex-wrap:wrap;gap:.15rem .8rem;margin-top:.2rem;font-size:.75rem;display:flex}.doc__progress{color:var(--ink-3);align-items:center;gap:.6rem;margin-top:.5rem;font-size:.75rem;display:flex}.doc__progress .meter{flex:1;max-width:14rem;margin:0}.doc__progress .meter>span{background:var(--ultra)}.doc__sem{color:var(--violet);margin-top:.3rem;font-size:.72rem;font-weight:650;display:block}.doc__error{color:var(--rose);margin-top:.4rem;font-size:.78rem;font-weight:600}.doc__scan{background:var(--ochre-soft);color:var(--ink-2);border-radius:9px;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.6rem;padding:.55rem .7rem;font-size:.78rem;display:flex}.doc__buttons{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.doc__side{flex:none;align-items:center;gap:.6rem;display:flex}.doc__chev{width:13px;height:13px;transition:transform .2s;transform:rotate(90deg)}.doc__chev[data-open]{transform:rotate(-90deg)}@media (width<=720px){.doc__main{gap:.6rem;padding:.85rem .8rem}.doc__kind{width:3.5rem}}.doc__passages{flex-direction:column;gap:.8rem;margin:0;padding:0 1rem 1.1rem 5.55rem;list-style:none;display:flex}.doc__passages>li{border-left:2px solid var(--rule);padding-left:.85rem}.doc__passage-head{color:var(--ink-3);gap:.5rem;margin-bottom:.25rem;font-size:.72rem;font-weight:650;display:flex}.doc__passage-head span{color:var(--ink-2)}.doc__passage-head em{color:var(--violet);font-style:normal}@media (width<=720px){.doc__passages{padding-left:1rem}}.builtin{border:1px solid var(--rule);background:var(--surface);border-radius:14px;margin:0;padding:0;list-style:none}.builtin>li+li{border-top:1px solid var(--rule)}.builtin summary{cursor:pointer;align-items:center;gap:.8rem;padding:.75rem 1rem;list-style:none;display:flex}.builtin summary::-webkit-details-marker{display:none}.builtin__num{background:var(--mod-color);width:1.6rem;height:1.6rem;color:var(--surface);border-radius:7px;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.builtin__title{min-width:0;font-weight:650;font-size:var(--t-sm);flex:1}.builtin__title small{color:var(--ink-3);font-size:.72rem;font-weight:500;display:block}.builtin details>ul{flex-direction:column;gap:.45rem;margin:0;padding:0 1rem .8rem 3.4rem;list-style:none;display:flex}.builtin details>ul li,.builtin__bank{justify-content:space-between;gap:.8rem;font-size:.8rem;display:flex}.builtin__bank{align-items:center;padding:.7rem 1rem .7rem 3.4rem}.builtin details>ul li>span,.builtin__bank>span{color:var(--ink-3);white-space:nowrap}.builtin .toggle{font-weight:600}.engine{border:1px solid var(--rule);background:var(--surface);border-radius:14px;padding:1.1rem 1.15rem 1.2rem}.engine h2{margin-bottom:.9rem}.engine__steps{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.engine__steps li{color:var(--ink-3);font-size:.8rem;line-height:1.5}.engine__steps li+li{border-top:1px solid var(--rule);padding-top:1rem}.engine__steps p{margin-top:.25rem}.engine__steps .btn{margin-top:.5rem}.engine__steps .meter>span{background:var(--violet)}.engine__row{font-size:var(--t-sm);justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.engine__row strong{color:var(--ink)}.engine__row span{text-align:right;font-size:.75rem;font-weight:650}.engine__row [data-tone=ok]{color:var(--viridian)}.engine__row [data-tone=busy]{color:var(--violet)}.engine__row [data-tone=error]{color:var(--rose)}.engine__row [data-tone=off],.engine__row [data-tone=idle]{color:var(--ink-3)}
