:root,[data-skin=modern]{--c-font-label:var(--font-ui);--c-label-weight:600;--c-card-border-color:transparent;--c-tabs-track:var(--surface-2);--c-tab-active-bg:var(--surface);--c-tab-active-line:transparent;--c-tab-radius:var(--radius-full);--c-tabs-rule:transparent;--c-badge-radius:var(--radius-full);--c-message-dir:column;--c-message-at-order:0;--c-empty-dir:column;--c-roster-avatars:inline-grid;--c-empty-illustration:block;--c-modern-only:inline-flex;--c-terminal-only:none;--c-skeleton-anim:pulse;--c-skeleton-bg:var(--surface-2);--c-skeleton-ink:transparent;--c-press-scale:0.98;--c-spark-w:1.5px;--c-row-h:var(--row-list);--c-chart-grid:0;--c-chart-area:1;--c-chart-legend:none}:root:not([data-skin])[data-theme=light],[data-skin=modern][data-theme=light]{--c-card-border-color:var(--hairline)}[data-skin=terminal]{--c-font-label:var(--font-mono);--c-label-weight:500;--c-card-border-color:var(--hairline);--c-tabs-track:transparent;--c-tab-active-bg:transparent;--c-tab-active-line:var(--accent);--c-tab-radius:0px;--c-tabs-rule:var(--hairline);--c-badge-radius:var(--radius-xs);--c-message-dir:row;--c-message-at-order:-1;--c-empty-dir:row;--c-roster-avatars:none;--c-empty-illustration:none;--c-modern-only:none;--c-terminal-only:inline-flex;--c-skeleton-anim:none;--c-skeleton-bg:transparent;--c-skeleton-ink:var(--text-faint);--c-press-scale:1;--c-spark-w:1px;--c-row-h:var(--row-table);--c-chart-grid:1;--c-chart-area:0;--c-chart-legend:block}@media (min-width:768px){:root:root,[data-skin][data-skin]{--c-tab-bar-h:0px}}[data-motion=reduced],[data-motion=reduced] [data-skin]{--c-skeleton-anim:none;--c-press-scale:1}@media (prefers-reduced-motion:reduce){:root:not([data-motion]),:root:not([data-motion]) [data-skin]{--c-skeleton-anim:none;--c-press-scale:1}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--font);line-height:1.45;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3,h4{margin:0 0 calc(var(--space) * 1.5);font-weight:600;letter-spacing:-.01em}h1{font-size:1.9em}h2{font-size:1.3em}h3{font-size:1.05em}p{margin:0 0 var(--space)}.mono,.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:.85em}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--text-muted)}.risk{color:var(--risk)}.learn{color:var(--learn)}.row{flex-wrap:wrap}.row,.spread{display:flex;gap:var(--space);align-items:center}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--space)}.grid-auto{display:grid;grid-gap:calc(var(--space) * 1.5);gap:calc(var(--space) * 1.5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.page{padding:calc(var(--space) * 3);max-width:1280px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card{background:var(--surface);border:1px solid var(--c-card-border-color);border-radius:var(--radius-l);box-shadow:var(--e1);padding:var(--c-card-pad)}.card.paper{border-color:color-mix(in srgb,var(--paper) 55%,var(--hairline))}.btn{font:inherit;font-family:var(--c-font-label);text-transform:var(--label-transform);letter-spacing:var(--label-tracking);min-height:var(--c-button-h);color:var(--text);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:calc(var(--space) * .75) calc(var(--space) * 1.5);cursor:pointer}.btn:hover{border-color:var(--text-faint)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.paper{background:var(--paper);border-color:var(--paper);color:var(--paper-ink);font-weight:600}.btn.danger{border-color:var(--risk);color:var(--risk)}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:2px calc(var(--space) * .75);font-size:.85em;min-height:0}.btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-s);padding:calc(var(--space) * .75)}label{display:flex;flex-direction:column;gap:4px;font-size:.9em;color:var(--text-muted)}label.inline{flex-direction:row;align-items:center;gap:var(--space);color:var(--text)}.chip{font-family:var(--font-mono);border-radius:var(--radius-xs);border:1px solid var(--hairline)}.badge,.chip{display:inline-block;font-size:.78em;padding:1px 6px;color:var(--text-muted);background:var(--surface-2)}.badge{border-radius:var(--c-badge-radius)}.badge.learn{background:color-mix(in srgb,var(--learn) 18%,transparent);color:var(--learn)}.badge.paper{background:color-mix(in srgb,var(--paper) 20%,transparent);color:var(--paper)}.badge.ok{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.label-nfa{font-size:.75em;color:var(--text-faint);border:1px dashed var(--hairline);border-radius:var(--radius-xs);padding:0 4px}.hypothetical{font-weight:600;color:var(--paper-text);border:1px solid var(--paper);border-radius:var(--radius-xs);padding:2px 8px;display:inline-block}table.data{width:100%;border-collapse:collapse}table.data td,table.data th{text-align:left;padding:calc(var(--space) * .6) var(--space);border-bottom:1px solid var(--hairline)}table.data th{color:var(--text-faint);font-weight:500;font-size:.85em}table.data td.r,table.data th.r{text-align:right}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover{background:var(--surface-2)}.state{padding:calc(var(--space) * 2);color:var(--text-muted);text-align:center}.state.error{color:var(--risk)}.skeleton{height:1em;border-radius:var(--radius-xs);background:var(--surface-2);animation:var(--c-skeleton-anim) 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.flash-up{animation:flashUp var(--tick-flash) ease-out}.flash-down{animation:flashDown var(--tick-flash) ease-out}@keyframes flashUp{0%{background:var(--flash-up)}}@keyframes flashDown{0%{background:var(--flash-down)}}:root[data-tick-flash=off] .flash-down,:root[data-tick-flash=off] .flash-up{animation:none}[data-motion=reduced] *,[data-motion=reduced] :after,[data-motion=reduced] :before{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :after,:root:not([data-motion=full]) :before{animation:none!important;transition:none!important}}.paper-band{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--paper);color:var(--paper-ink);text-align:center;font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:none;padding:3px 8px}.real-band{gap:6px;font-size:.85em;color:var(--text-muted)}.real-band,.topbar{display:flex;align-items:center}.topbar{gap:calc(var(--space) * 2);padding:var(--space) calc(var(--space) * 2);border-bottom:1px solid var(--hairline);background:var(--surface)}.topbar nav{display:flex;gap:calc(var(--space) * 1.5);flex:1 1}.topbar nav a{color:var(--text-muted)}.brand,.topbar nav a[aria-current=page]{color:var(--text)}.brand{font-weight:700;letter-spacing:.02em}.mastery-ring{--p:0;width:44px;height:44px;border-radius:50%;background:conic-gradient(var(--learn) calc(var(--p) * 1%),var(--surface-2) 0);display:grid;place-items:center}.mastery-ring>span{width:34px;height:34px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:.7em}.stepper{list-style:none;padding:0;margin:0}.stepper li{position:relative;padding:0 0 calc(var(--space) * 2) 28px}.stepper li:before{content:"";position:absolute;left:6px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--hairline);background:var(--bg)}.stepper li:after{content:"";position:absolute;left:12px;top:18px;bottom:0;width:1px;background:var(--hairline)}.stepper li:last-child:after{display:none}.stepper li.done:before{background:var(--up);border-color:var(--up)}.stepper li.current:before{border-color:var(--accent)}.stepper li.bad:before{background:var(--risk);border-color:var(--risk)}.uplot,.uplot *{box-sizing:border-box}.uplot{font-family:var(--font-data);font-size:.8em;line-height:1.5;width:min-content}.uplot .u-wrap{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uplot .u-over,.uplot .u-under{position:absolute}.uplot canvas{display:block;position:relative;width:100%;height:100%}.uplot .u-axis{position:absolute}.uplot .u-legend{margin:4px auto 0;text-align:center;color:var(--chart-axis-text)}.uplot .u-legend .u-series{display:inline-flex;gap:4px;padding:0 6px;cursor:pointer}.uplot .u-legend .u-marker{width:10px;height:10px;display:inline-block;border-radius:var(--radius-xs)}.uplot .u-legend .u-off>*{opacity:.3}.uplot .u-cursor-x,.uplot .u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.uplot .u-cursor-x{height:100%;border-right:1px dashed var(--chart-crosshair)}.uplot .u-cursor-y{width:100%;border-bottom:1px dashed var(--chart-crosshair)}.uplot .u-cursor-pt{top:0;left:0;border-radius:50%;border:0 solid;will-change:transform;background-clip:padding-box!important}.uplot .u-cursor-pt,.uplot .u-select{position:absolute;pointer-events:none}.uplot .u-select{background:var(--chart-selection)}.uplot .u-hz .u-cursor-x,.uplot .u-vt .u-cursor-y{display:none}