.graph-menu{list-style:none;margin:0;padding:0}.stage-toggles{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}.help-panel{max-height:26vh;overflow-y:auto;overscroll-behavior:contain}.lesson-bar{flex:none;margin-top:8px;max-height:24vh;overflow-y:auto;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-md);padding:8px 12px}.lesson-bar-inner{display:flex;flex-direction:column;gap:4px}.lesson-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-count{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--ink);font-weight:500}.lesson-loading{margin:8px 0;font-size:var(--text-footnote);line-height:1.5;color:var(--ink)}.lesson-loading:not(.failed):after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--ink);vertical-align:middle;animation:lesson-pulse 1s ease-in-out infinite}.lesson-loading.failed{color:var(--danger);font-weight:600}@keyframes lesson-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.lesson-loading:not(.failed):after{animation:none}}.lesson-strip-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:none;background:none;border-radius:var(--r-sm);font-family:var(--font-display);font-size:var(--text-headline);font-weight:600;color:var(--ink);cursor:pointer}.lesson-strip-toggle:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.lesson-strip-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.lesson-chevron{flex:none;width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform var(--t-ui) var(--ease-ui)}.lesson-bar[data-open=true] .lesson-chevron{transform:rotate(90deg)}.lesson-bar[data-open=false]{max-height:none;padding:4px 12px}.lesson-bar[data-open=false] .lesson-count{margin-left:4px}.lesson-bar[data-dock=bottom][data-open=true] .lesson-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lesson-bar[data-dock=bottom][data-open=true] .lesson-strip-toggle{grid-row:1;grid-column:1 / 4;justify-self:start}.lesson-bar[data-dock=bottom][data-open=true] .lesson-tabs>.lesson-count{grid-row:1;grid-column:4 / 6;justify-self:end;align-self:center}.lesson-bar[data-dock=bottom][data-open=true] .lesson-tabs>.lesson-kind{grid-column:1 / -1;justify-self:start;margin-left:0}.ex-progress{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:500;margin-left:2px}.ex-progress:empty{display:none}.lesson-bar[data-dock=side]{flex:1 0 auto;display:flex;flex-direction:column;margin:0;max-height:none;overflow:visible;border:none;border-radius:0;padding:20px 20px 16px;background:transparent}.lesson-bar[data-dock=side] .lesson-bar-inner{flex:1 0 auto;gap:12px}.lesson-dock-head{display:flex;align-items:center;gap:8px}.lesson-dock-title{margin:0;font-family:var(--font-display);font-size:var(--text-title3);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.lesson-dock-close{margin-left:auto;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--ink);font-size:var(--text-title3);line-height:1;cursor:pointer}.lesson-dock-close:hover{background:var(--hover)}.lesson-dock-close:active{background:var(--pressed)}.lesson-dock-close:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.menu-item-label{min-width:0}.menu-item-progress{flex:none;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-caption1);font-weight:500;color:var(--muted)}.menu-item-progress:empty,.menu-item-progress.fresh{display:none}.menu-item-progress.complete{color:var(--success)}.course-folder+.course-folder{margin-top:2px}.course-toggle{display:flex;align-items:flex-start;gap:8px;width:100%;padding:6px 8px 6px 4px;border:none;background:none;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:600;line-height:1.3;color:var(--ink);text-align:left;cursor:pointer;user-select:none}.course-toggle:hover{background:var(--hover)}.course-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.course-chevron{flex:none;width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;margin-top:5px;transition:transform var(--t-ui) var(--ease-ui)}.course-folder[data-open=true] .course-chevron{transform:rotate(90deg)}.list-hide,.list-show{display:none;align-items:center;justify-content:center;padding:0;background:var(--surface);border:1px solid var(--hairline);color:var(--ink);cursor:pointer;transition:background var(--t-ui) var(--ease-ui),border-color var(--t-ui) var(--ease-ui)}.list-hide{position:relative;flex:none;background:none;border-color:transparent;margin:-2px 0 -2px auto;width:28px;height:28px;border-radius:var(--r-sm)}.list-show{position:fixed;top:18px;left:0;z-index:40;width:22px;height:40px;border-left:none;border-radius:0 var(--r-sm) var(--r-sm) 0}.list-hide:hover,.list-show:hover{background:color-mix(in srgb,var(--ink) 6%,var(--surface));border-color:var(--control-border)}.list-hide:focus-visible,.list-show:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.list-chevron{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent}.list-hide .list-chevron{border-right:5px solid currentColor}.list-show .list-chevron{border-left:5px solid currentColor}@media(pointer:coarse){.list-hide:before,.list-show:before{content:"";position:absolute}.list-hide:before{inset:-8px}.list-show:before{inset:-2px -22px -2px 0}}@media(min-width:769px)and (min-height:541px){.list-hide,.app[data-courses=collapsed] .list-show{display:inline-flex}}@media(min-width:1024px)and (max-width:1799px)and (min-height:541px){.app[data-exercises=open] .list-show{display:none}}.course-panel{--course-panel-cap: 640px;overflow:hidden;max-height:var(--course-panel-cap);transition:max-height var(--t-ui) var(--ease-ui)}.course-folder[data-open=false] .course-panel{max-height:0;visibility:hidden;transition:max-height var(--t-ui) var(--ease-ui),visibility 0s linear var(--t-ui)}.course-list{list-style:none;margin:0;padding:0}.course-list .menu-item{padding-left:16px;padding-right:8px}.menu-item{width:100%;text-align:left;background:none;border:none;border-radius:var(--r-sm);padding:6px 8px;margin-bottom:2px;font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.35;color:var(--ink);cursor:pointer;transition:background var(--t-ui) var(--ease-ui)}.menu-item:hover:not(:disabled){background:var(--hover)}.menu-item:active:not(:disabled){background:var(--pressed)}.menu-item.active{background:var(--pressed);font-weight:500}.menu-item:disabled{color:var(--muted);cursor:default;opacity:.6}.menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.menu-item[aria-busy=true]{cursor:progress}.menu-item[aria-busy=true] .menu-item-label:after{content:"…"}.help-toggle{position:relative;height:32px;padding:0 12px;background:var(--surface);border:1px solid var(--button-border);border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;color:var(--ink);white-space:nowrap;cursor:pointer;transition:background var(--t-ui) var(--ease-ui),border-color var(--t-ui) var(--ease-ui)}.help-toggle:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.help-toggle:active{background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.help-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 8%,var(--surface));border-color:var(--control-border)}.sidebar-foot{margin-top:auto;padding-top:12px;position:sticky;bottom:0;background:var(--paper);display:flex;align-items:center}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--switch-size);height:var(--switch-size);margin-left:auto;padding:0;border:1px solid var(--button-border);border-radius:var(--r-sm);background:var(--surface);font-family:var(--font-ui);font-size:var(--text-callout);line-height:1;color:var(--ink);cursor:pointer;transition:background var(--t-ui) var(--ease-ui)}.theme-toggle:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.theme-toggle:active{background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.theme-toggle:focus-visible,.help-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media(pointer:coarse){.theme-toggle{position:relative}.theme-toggle:before{content:"";position:absolute;inset:calc((var(--switch-size) - 44px) / 2 - 1px)}}@media(min-width:1024px)and (min-height:541px){.theme-toggle{position:absolute;left:var(--switch-inset);bottom:var(--switch-inset);margin:0}}.legal{flex:1 1 auto;min-width:0;margin:0;padding:0 4px;font-size:var(--text-caption2);line-height:1.3;color:var(--muted);text-wrap:balance}.legal a{color:inherit;text-decoration:none;border-radius:var(--r-xs)}.legal a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.legal a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.help-panel{margin-top:12px;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-md);padding:12px 16px;font-size:var(--fs-body);line-height:1.55;color:var(--ink);max-width:72ch}.help-panel strong{color:var(--ink)}.help-panel .kbd-hint{display:block;margin-top:8px;color:var(--muted);font-size:var(--text-caption1)}.control-group{padding-top:8px}.ai-panel-wrap{display:block}.ai-panel-wrap[hidden]{display:none}.ai-panel{margin-top:4px}.control-group h2{margin:0 0 4px;font-family:var(--font-display);font-size:var(--text-headline);font-weight:600;line-height:1.15;color:var(--ink)}details.control-group{margin:0}.control-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0 0 4px;font-family:var(--font-display);font-size:var(--text-headline);font-weight:600;line-height:1.15;color:var(--ink);user-select:none}details.control-group:not([open])>summary{padding-bottom:0}.group-note{font-family:var(--font-ui);font-size:var(--fs-meta);font-weight:400;color:var(--ink)}.control-group>summary::-webkit-details-marker{display:none}.control-group>summary:before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform var(--t-ui) var(--ease-ui)}.control-group[open]>summary:before{transform:rotate(90deg)}.control-group>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.slider-row{display:block;margin-bottom:4px;font-size:var(--fs-data);line-height:1.2;color:var(--ink)}.slider-row span{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.slider-row small{color:var(--ink);font-weight:600;font-size:var(--fs-data)}.slider-track{display:flex;align-items:center;gap:12px}.slider-track input[type=range]{flex:1}.slider-bound{flex:none;width:44px;height:22px;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);font-weight:500;text-align:center;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--control-border);border-radius:0;padding:0;-moz-appearance:textfield}.slider-bound:hover{border-bottom-color:var(--ink)}.slider-bound::-webkit-outer-spin-button,.slider-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slider-bound:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.slider-row input[type=range]{width:100%;height:20px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;outline-offset:3px}.slider-row input[type=range]:focus-visible{outline:2px solid var(--focus)}.slider-row input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--control-border)}.slider-row input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--control-border)}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:#fff;border:1px solid var(--control-border);box-shadow:var(--shadow-control);cursor:pointer}.slider-row input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid var(--control-border);box-shadow:var(--shadow-control);cursor:pointer}.check-grid{display:grid;grid-template-columns:auto auto;column-gap:8px}.check-row{display:flex;box-sizing:border-box;align-items:center;gap:8px;min-height:20px;font-size:var(--fs-body);color:var(--ink);cursor:pointer}.check-row[hidden]{display:none}.check-row input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1.5px solid var(--control-border);border-radius:var(--r-xs);background:var(--surface);cursor:pointer;position:relative}.check-row input[type=checkbox]:checked{background:var(--accent-fill);border-color:var(--accent-fill)}.check-row input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.check-row input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.readout{margin-top:8px;border-top:1px solid var(--hairline);padding:4px 0 8px}.readout h2{margin-bottom:4px}.readout-grid{display:flex;flex-direction:column}.readout .stat{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:0}.readout .stat .k{color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-data);font-weight:600;line-height:1.14}.readout .stat .v{color:var(--ink);font-size:var(--fs-data);font-weight:600;line-height:1.14;white-space:nowrap}.readout .stat.warnstat .k,.readout .stat.warnstat .v{color:var(--warn)}.readout .stat .v.pos{color:var(--success)}.readout .stat .v.neg{color:var(--danger)}.readout .stat.note{color:var(--warn);font-weight:600;justify-content:flex-start;font-family:var(--font-ui);font-size:var(--text-caption1)}.readout .stat.explain-note{display:block;white-space:normal;color:var(--ink);font-weight:400;font-size:var(--text-footnote);line-height:1.4;margin-top:8px}.readout .stat.ok{color:var(--success);font-weight:600;font-family:var(--font-ui)}.readout .stat.bad{color:var(--danger);font-weight:600;font-family:var(--font-ui)}.readout .stat .v .d{font-family:var(--font-data);font-size:var(--fs-data);font-weight:600;margin-left:6px;font-variant-numeric:tabular-nums}.readout .stat .v .d.pos{color:var(--success)}.readout .stat .v .d.neg{color:var(--danger)}.readout .stat .v .d.zero{color:var(--muted)}.seg-row{display:flex;flex-direction:column;gap:4px;margin:0 0 8px}.seg-label{font-size:var(--text-footnote);font-weight:500;color:var(--ink)}.segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:2px;padding:2px;background:var(--fill);border:1px solid var(--control-border);border-radius:var(--r-sm)}.segmented:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}.segmented.one-row,.segmented.one-row:has(>:nth-child(4):last-child){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.seg-btn{min-width:0;padding:4px 8px;font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;color:var(--ink);background:transparent;border:0;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--t-ui) var(--ease-ui),color var(--t-ui) var(--ease-ui)}.seg-btn:hover{background:var(--hover)}.seg-btn:active{background:var(--pressed)}.seg-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.seg-btn[aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent);font-weight:600}.control-actions{margin:auto -20px 0;padding:8px 20px;display:flex;gap:8px;background:var(--paper);border-top:1px solid var(--hairline)}.action-menu-wrap{position:relative;display:flex;flex:1 1 0;min-width:0}.action-menu-wrap>.reset-btn{flex:1}.export-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:180px;z-index:20;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow)}.export-menu button{text-align:left;padding:6px 8px;border:none;background:none;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;color:var(--ink);white-space:nowrap;cursor:pointer}.export-menu button:hover{background:var(--pressed)}.reset-btn{flex:1 1 0;min-width:0;white-space:nowrap;height:32px;padding:0 6px;border:1px solid var(--button-border);background:var(--surface);border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;color:var(--ink);cursor:pointer;transition:background var(--t-ui) var(--ease-ui)}.reset-btn:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.reset-btn:active:not(:disabled){background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.reset-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media(min-width:769px)and (max-width:1111px)and (min-height:541px){.controls{padding-inline:16px}.control-actions{margin-inline:-16px;padding-inline:16px;gap:4px}.reset-btn,.action-menu-wrap{flex-basis:auto}.lesson-bar[data-dock=side]{padding-inline:16px}}.reset-btn.copied{background:color-mix(in srgb,var(--success) 14%,var(--surface));border-color:var(--success);color:var(--success)}.saved{margin-top:16px;padding-top:12px;border-top:1px solid var(--hairline)}.saved-title{margin:0 0 8px;padding:0 16px;font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:600;color:var(--ink)}.saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.saved-item{display:flex;align-items:center;gap:4px}.saved-load{flex:1;min-width:0;text-align:left;padding:6px 8px 6px 16px;border:none;background:none;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--fs-body);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.saved-load:hover{background:var(--hover)}.saved-del{flex:none;width:24px;height:24px;border:none;background:none;border-radius:var(--r-xs);color:var(--muted);font-size:var(--text-callout);line-height:1;cursor:pointer}.saved-del:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.toast-host{position:fixed;left:0;right:0;bottom:24px;padding:0 16px;z-index:1000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;max-width:min(440px,calc(100vw - 32px));padding:12px 16px;border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;line-height:1.4;text-wrap:pretty;background:var(--surface);color:var(--ink);border:1px solid var(--hairline);box-shadow:var(--shadow);cursor:default;opacity:0;transform:translateY(8px);transition:opacity var(--t-ui) var(--ease-ui),transform var(--t-ui) var(--ease-ui)}.toast.in{opacity:1;transform:translateY(0)}.toast-bad{background:var(--danger-fill);color:#fff;border-color:transparent}@media(prefers-reduced-motion:reduce){.toast{transition:opacity var(--t-ui) linear;transform:none}.toast.in{transform:none}}.eq-group{display:flex;flex-direction:column}.eq-list{display:flex;flex-direction:column;gap:8px}.eq-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:8px}.eq-foot>.eq-add{align-self:center}.eq-foot>.axis-group{padding-top:0}.eq-foot>.axis-group[open]{flex-basis:100%}.eq-foot>.axis-group>summary{font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;padding:0}.eq-foot>.axis-group[open]>summary{padding-bottom:8px}.eq-row{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface)}.eq-row-top{display:flex;align-items:center;gap:8px}.eq-chip{flex:none;width:20px;height:20px;border:0;border-radius:var(--r-xs);background:var(--c, var(--demand));cursor:pointer;padding:0}.eq-chip:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.eq-input{flex:1;min-width:0;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--fs-data);line-height:1.3;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--r-sm);padding:7px 10px}.eq-input::placeholder{color:var(--muted)}.eq-input:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}.eq-input.has-error{border-color:var(--danger)}.eq-input-readonly{color:var(--muted);cursor:default}.eq-input-readonly:focus-visible{outline:none;border-color:var(--control-border)}.eq-pretty{padding:2px;font-size:var(--text-headline);color:var(--ink);overflow-x:auto}.eq-error .eq-caret{margin:0;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-footnote);line-height:1.25;color:var(--danger);white-space:pre;overflow-x:auto}.eq-caret-pad{visibility:hidden}.eq-error .eq-msg{display:block;margin-top:4px;font-size:var(--text-caption1);color:var(--danger)}.eq-note{display:block;font-size:var(--text-caption1);color:var(--ink)}.eq-params{display:flex;flex-direction:column;gap:2px;margin-top:2px}.eq-params:empty{display:none}.eq-param{margin-bottom:4px}.eq-param .param-name{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:var(--text-callout);color:var(--ink)}.eq-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.eq-role{flex:none;font-family:var(--font-ui);font-size:var(--text-caption1);color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--r-sm);padding:6px}.eq-eye,.eq-del{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--button-border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--text-subhead);cursor:pointer}.eq-eye.off{color:var(--muted)}.eq-del{color:var(--ink);font-size:var(--text-title3);line-height:1}.eq-eye:hover,.eq-del:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.eq-eye:active,.eq-del:active{background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.eq-eye:focus-visible,.eq-del:focus-visible,.eq-role:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.eq-add{align-self:flex-start;padding:4px 8px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;cursor:pointer}.eq-add:hover{background:var(--hover)}.eq-add:active{background:var(--pressed)}.eq-add:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.eq-row-model{padding:0;border:0;background:none}.eq-chip-model{order:-1;width:10px;height:10px;border-radius:2px;cursor:default}.eq-model-tag{flex:none;min-width:62px;font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;color:var(--ink)}.eq-ledger{margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline)}.eq-ledger h2{margin:0 0 8px;font-size:var(--text-footnote)}.axis-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-bottom:8px}.axis-field{display:flex;align-items:center;gap:8px}.axis-field span{color:var(--ink);font-size:var(--text-footnote);font-weight:500;min-width:34px}.axis-input{flex:1;min-width:0;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-footnote);font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--r-xs);padding:4px 6px;-moz-appearance:textfield}.axis-input::-webkit-outer-spin-button,.axis-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.axis-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.axis-auto{margin-bottom:8px;padding:6px 12px;border:1px solid var(--button-border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-footnote);font-weight:500;cursor:pointer}.axis-auto:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.axis-auto:active{background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.axis-auto:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.slider-row.slider-paused{opacity:.45}.slider-row.slider-paused input{cursor:not-allowed}.nav-toggle,.sheet-handle,.nav-scrim{display:none}.nav-toggle{align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin-right:8px;background:none;border:1px solid transparent;border-radius:var(--r-sm);color:var(--ink);cursor:pointer}.nav-toggle:hover{background:var(--hover)}.nav-toggle:active{background:var(--pressed)}.nav-toggle-bars{position:relative}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.nav-toggle-bars:before{position:absolute;top:-6px}.nav-toggle-bars:after{position:absolute;top:6px}.nav-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.nav-scrim{position:fixed;inset:0;z-index:55;background:#0000006b}@media(min-width:1024px)and (max-width:1799px)and (min-height:541px){.app[data-exercises=open] .nav-toggle{display:inline-flex}.app[data-exercises=open]~.nav-scrim{display:block}}@media(min-width:769px)and (max-width:1023px)and (min-height:541px){.nav-toggle{display:inline-flex}.nav-scrim{display:block}.app[data-courses] .list-show{display:none}}@media(max-width:768px),(max-height:540px){.nav-toggle{display:inline-flex}.nav-scrim{display:block}.sheet-handle{display:flex;align-items:center;justify-content:center;gap:8px;position:sticky;top:0;z-index:2;margin:0 -16px;min-height:44px;background:var(--paper);border:none;border-radius:var(--r-lg) var(--r-lg) 0 0;color:var(--ink);font-family:var(--font-display);font-size:var(--text-headline);font-weight:600;cursor:pointer}.sheet-grip{width:36px;height:5px;border-radius:999px;background:var(--control-border)}.sheet-handle:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.controls[data-sheet=peek] .sheet-word:after{content:" ▴"}.controls[data-sheet=open] .sheet-word:after{content:" ▾"}.menu-item,.course-toggle,.seg-btn,.reset-btn,.control-group>summary,.check-row{min-height:44px}.menu-item,.course-toggle{padding-top:0;padding-bottom:0}.course-toggle{align-items:center}.course-chevron{margin-top:0}.help-toggle{height:36px}.help-toggle:before{content:"";position:absolute;inset:-4px 0}.check-row{align-items:center}.check-row input[type=checkbox]{width:24px;height:24px;border-radius:6px}.check-row{margin-bottom:0}.check-row input[type=checkbox]:checked:after{left:8px;top:3.5px;width:5px;height:12px;border-width:0 3px 3px 0}.slider-row input[type=range]{height:44px;background:transparent}.slider-row input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-12px}.slider-row input[type=range]::-moz-range-thumb{width:28px;height:28px}.stage-title{min-width:0;flex:1 1 0}.stage-head h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-head-row{align-items:center;flex-wrap:wrap;gap:6px 8px}.stage-toggles{flex-basis:100%;padding-top:0}}@media(pointer:coarse){.legal a{display:flex;align-items:center;min-height:44px}}.icon-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:0 6px;border-color:transparent;background:none}.action-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover:not(:disabled){background:var(--hover)}.icon-btn:active:not(:disabled){background:var(--pressed)}.icon-btn:disabled{opacity:.35;cursor:default}@media(max-width:768px),(max-height:540px){.icon-btn{min-width:44px;padding:8px 10px}}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.control-actions,.sidebar-foot{background:var(--material-paper);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur)}.export-menu,.toast:not(.toast-bad){background:var(--material-surface);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur)}@media(max-width:768px),(max-height:540px){.sheet-handle{background:var(--material-paper);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur)}}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.control-actions,.sidebar-foot,.sheet-handle{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.export-menu,.toast:not(.toast-bad){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(min-width:769px)and (min-height:541px){.control-group{padding-top:4px}.ai-panel{margin-top:0}.control-group h2,.control-group>summary{line-height:1}.slider-row{line-height:1.1}.slider-row span{margin-bottom:0}.readout{margin-top:4px;padding-bottom:4px}.seg-row{margin-bottom:4px}.eq-list{gap:4px}.control-actions{padding-block:4px}}
