[hidden]{display:none!important}:root{--bg:#0e1318;--bg-2:#151c23;--panel:#11181fdb;--panel-strong:#18212a;--line:#ffffff13;--line-strong:#ffffff26;--text:#e9eef5;--muted:#9aa8b8;--dim:#6d7b8b;--accent:#5cc8ff;--accent-soft:#5cc8ff24;--accent-line:#5cc8ff73;--accent-2:#8b7bff;--ok:#5ee0a0;--ok-soft:#5ee0a024;--warn:#ffb347;--warn-soft:#ffb34724;--error:#ff6b6b;--error-soft:#ff6b6b24;--radius:12px;--radius-sm:8px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-text-size-adjust:100%;margin:0;overflow:hidden}#app{width:100vw;height:100vh;position:relative;overflow:hidden}.scene-host{position:absolute;inset:0}.scene-host canvas{width:100%;height:100%;display:block}*{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}::-webkit-scrollbar-track{background:0 0}kbd,.kbd{font:600 10px/1.25 var(--mono);border:1px solid var(--line-strong);color:var(--text);white-space:nowrap;background:#ffffff14;border-bottom-width:2px;border-radius:4px;padding:2px 5px;display:inline-block}.icon{width:16px;height:16px;display:block}.icon-wrap{flex:none;display:inline-flex}.btn{min-height:36px;font:600 12px/1 var(--font);color:var(--text);border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff0e;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 11px;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.btn:hover{background:#ffffff1a}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--icon{width:38px;min-width:38px;padding:0}.btn--small{border-radius:8px;min-height:29px;padding:0 8px;font-size:11.5px}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{border-color:var(--line);background:#ffffff12}.btn--primary{background:var(--accent);color:#06212f;border-color:#0000;font-weight:700}.btn--primary:hover{background:#7cd4ff}.btn--primary:disabled{color:#06212fa6;background:#5cc8ff4d}.btn__label{white-space:nowrap}.ui-host{pointer-events:none;color:var(--text);font:13px/1.4 var(--font);z-index:2;grid-template:"top top top""left stage right"minmax(0,1fr)"dock dock dock"/clamp(252px,21vw,306px) minmax(0,1fr) clamp(292px,24vw,372px);gap:10px;padding:10px;display:grid;position:absolute;inset:0}.ui-topbar{pointer-events:auto;grid-area:top}.left-rail{grid-area:left}.learning-rail{grid-area:right}.ui-dock{grid-area:dock}.ui-topbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);align-items:center;gap:10px;min-height:48px;padding:7px 12px;display:flex;box-shadow:0 10px 34px #0000003d}.topbar__brand{flex:none;align-items:center;gap:8px;display:flex}.topbar__mark{background:var(--accent);border-radius:3px;width:9px;height:9px;box-shadow:0 0 10px #5cc8ffd9}.topbar__name{font:600 12.5px/1 var(--font);letter-spacing:.015em;white-space:nowrap}.topbar__name em{color:var(--accent);font-style:normal}.topbar__selects{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.select-field{align-items:center;gap:6px;min-width:0;display:flex}.select-field__label{font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.select-field__select,.setting-row__select{appearance:none;border:1px solid var(--line-strong);min-height:32px;color:var(--text);font:600 12px/1 var(--font);cursor:pointer;text-overflow:ellipsis;background-color:#00000047;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239aa8b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:8px;max-width:180px;padding:0 26px 0 9px}.select-field__select:hover,.setting-row__select:hover{border-color:#ffffff47}.select-field__select:focus-visible,.setting-row__select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-field__select option,.setting-row__select option{background:var(--bg-2);color:var(--text)}.topbar__actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.topbar__action{min-height:34px}.topbar__compact-toggles{align-items:center;gap:4px;display:none}.topbar__compact-toggle.is-active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.side-field{flex:none;align-items:center;gap:6px;min-width:0;display:flex}.side-field__label{font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.side-switch{border:1px solid var(--line-strong);background:#00000047;border-radius:8px;gap:2px;padding:2px;display:inline-flex}.side-switch__option{appearance:none;min-height:28px;color:var(--muted);font:600 11.5px/1 var(--font);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;padding:0 9px;transition:color .12s,background .12s}.side-switch__option:hover:not(:disabled){color:var(--text);background:#ffffff12}.side-switch__option.is-active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.side-switch__option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-switch__option:disabled{opacity:.38;cursor:not-allowed}.ui-panel{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000042}.ui-host--left-closed .left-rail,.ui-host--right-closed .learning-rail{display:none}.left-rail__bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.tabs{border:1px solid var(--line);background:#0000003d;border-radius:10px;gap:2px;min-width:0;padding:3px;display:flex}.tab{min-height:30px;color:var(--muted);font:600 12px/1 var(--font);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:color .12s,background .12s;display:inline-flex}.tab .icon{width:15px;height:15px}.tab:hover{color:var(--text);background:#ffffff12}.tab.is-active{color:var(--accent);background:var(--accent-soft)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail__close{margin-left:auto;display:none}.left-rail__body{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 12px 16px;overflow:hidden auto}.learning-rail__bar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.learning-rail__title{font:700 10px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.learning-rail__body{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 14px 18px;overflow-y:auto}.ui-dock{pointer-events:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:10px;min-height:0;display:grid}.dock__cluster,.dock__middle{pointer-events:auto}.dock__cluster{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 12px 40px #00000042}.dock__cluster--pedals{padding:10px}.dock__middle{pointer-events:none;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0;display:flex}.dock__status{pointer-events:auto}.ui-host--replay .dock__cluster{border-color:#8b7bff80}.ui-host--paused .dock__cluster{border-color:#ffb3475c}.ui-host--demo .dock__cluster{border-color:#5ee0a066}.ui-host--placement .dock__cluster{border-color:var(--accent-line)}.steer{align-items:center;gap:12px;min-width:0;display:flex}.steer__stage{touch-action:none;flex:none;width:132px;height:132px;position:relative}.steer__bezel{pointer-events:none;color:var(--line-strong);position:absolute;inset:0}.steer__bezel-svg,.steer__wheel-svg{width:100%;height:100%;display:block;overflow:visible}.steer__bezel-ring{fill:none;stroke:#ffffff12;stroke-width:1.5px}.steer__tick{stroke:#ffffff21;stroke-width:1.5px}.steer__tick--major{stroke:#ffffff42;stroke-width:2px}.steer__lockmark{stroke:var(--warn);stroke-width:3.5px;stroke-linecap:round;opacity:.55;transition:opacity .14s}.steer__index{fill:#ffffff6b}.steer__wheel{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;will-change:transform;border-radius:50%;transition:transform 90ms linear;position:absolute;inset:8px}.steer__wheel.is-dragging{cursor:grabbing}.steer__wheel:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.steer__rim-outer{fill:#0d1319eb;stroke:#3b4653;stroke-width:9px}.steer__rim-inner{fill:none;stroke:#ffffff0e;stroke-width:1.5px}.steer__spoke{stroke:#46525f;stroke-width:9px;stroke-linecap:round}.steer__hub{fill:#212c37;stroke:#47535f;stroke-width:2px}.steer__hub-dot{fill:var(--accent);opacity:.85}.steer__marker{fill:var(--accent)}.steer__target{pointer-events:none;position:absolute;inset:0}.steer__target:before{content:"";background:var(--warn);border-radius:2px;width:3px;height:12px;margin-left:-1.5px;position:absolute;top:-1px;left:50%;box-shadow:0 0 8px #ffb347e6}.steer__lock{font:700 8.5px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#2b1a00;background:var(--warn);white-space:nowrap;border-radius:4px;padding:3px 6px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.steer.is-lock .steer__lockmark{opacity:1;stroke-width:5px;filter:drop-shadow(0 0 6px #ffb347bf)}.steer.is-lock .steer__hub-dot{fill:var(--warn)}.steer__meta{flex-direction:column;gap:3px;min-width:0;display:flex}.steer__angle-row{align-items:baseline;gap:7px;display:flex}.steer__angle{font:700 26px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.steer__angle-sub{flex-direction:column;gap:1px;display:flex}.steer__angle-label{font:700 8.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.steer__direction{font:600 10.5px/1.2 var(--font);color:var(--accent);white-space:nowrap}.steer__limit{font:500 9.5px/1.4 var(--mono);color:var(--dim);white-space:nowrap}.steer__road{font:600 10.5px/1.4 var(--mono);color:var(--text);white-space:nowrap}.steer__road-detail{font:500 9.5px/1.4 var(--mono);color:var(--muted);white-space:nowrap}.steer__recentre{align-self:flex-start;margin-top:3px}.steer.is-inert .steer__wheel{cursor:default;opacity:.5}.steer.is-inert .steer__meta{opacity:.7}.steer.is-inert{pointer-events:none}.pedals{align-items:stretch;gap:8px;display:flex}.pedal{border:1px solid var(--line-strong);width:72px;min-height:126px;color:var(--text);font:600 10.5px/1.2 var(--font);letter-spacing:.03em;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#fff1,#0000002e);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 5px;transition:transform 70ms,background .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.pedal__icon{color:var(--muted);display:inline-flex}.pedal__icon .icon{width:22px;height:22px}.pedal__name{text-transform:uppercase;letter-spacing:.1em;color:var(--text)}.pedal__key kbd{color:var(--dim);padding:1px 4px;font-size:9px}.pedal__surface{pointer-events:none;background:#ffffff05;border-radius:9px;position:absolute;inset:6px}.pedal--forward{border-color:#5ee0a052}.pedal--forward .pedal__icon{color:var(--ok)}.pedal--reverse{border-color:#ffb3474d}.pedal--reverse .pedal__icon{color:var(--warn)}.pedal--brake{background:linear-gradient(#ff6b6b1a,#0003);border-color:#ff6b6b57}.pedal--brake .pedal__icon{color:var(--error)}.pedal:hover{border-color:#ffffff52}.pedal.is-pressed{border-color:var(--accent);background:#ffffff26;transform:translateY(2px)scale(.98);box-shadow:inset 0 3px 14px #0000008c,0 0 0 2px #5cc8ff38}.pedal--forward.is-pressed{border-color:var(--ok);box-shadow:inset 0 3px 14px #0000008c,0 0 0 2px #5ee0a042}.pedal--reverse.is-pressed{border-color:var(--warn);box-shadow:inset 0 3px 14px #0000008c,0 0 0 2px #ffb34742}.pedal--brake.is-pressed{border-color:var(--error);background:#ff6b6b3d;box-shadow:inset 0 3px 14px #0000008c,0 0 0 2px #ff6b6b4d}.pedal:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pedals.is-inert .pedal{opacity:.45;pointer-events:none}.dockctl{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);padding:6px 8px;box-shadow:0 12px 40px #00000042}.dockctl__row{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.dockctl__button{min-height:37px}.dockctl__sep{background:var(--line-strong);align-self:stretch;width:1px;margin:4px 3px}.dockctl__toggle[aria-pressed=false]{color:var(--dim);border-color:var(--line);background:#ffffff05}.dockctl__toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.dockctl__demo[aria-pressed=false]{color:var(--ok);background:#5ee0a00f;border-color:#5ee0a052}.dockctl__demo[aria-pressed=true]{color:var(--ok);background:var(--ok-soft);border-color:#5ee0a080}.place-panel{pointer-events:auto;background:var(--panel);border:1px solid var(--accent-line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);flex-direction:column;gap:7px;min-width:0;padding:8px 10px 9px;display:flex;box-shadow:0 12px 40px #00000042}.place-panel__head{align-items:center;gap:8px;min-width:0;display:flex}.place-panel__title{font:700 9.5px/1 var(--font);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);white-space:nowrap;flex:none}.place-panel__note{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dim);font:400 10.5px/1.2 var(--font);overflow:hidden}.place-panel__head-actions{flex:none;gap:4px;margin-left:auto;display:flex}.place-panel__top.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.place-panel__fields{flex-wrap:wrap;align-items:flex-end;gap:6px 12px;display:flex}.place-field{flex-direction:column;gap:3px;min-width:0;display:flex}.place-field__label{font:700 8.5px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);align-items:baseline;gap:4px;display:flex}.place-field__unit{letter-spacing:0;opacity:.78;font-weight:600}.place-field__row{align-items:stretch;gap:3px;display:inline-flex}.place-field__input{text-align:right;width:66px;height:28px;color:var(--text);border:1px solid var(--line-strong);font:600 12px/1 var(--mono);font-variant-numeric:tabular-nums;appearance:textfield;background:#00000059;border-radius:6px;padding:0 5px}.place-field__input::-webkit-inner-spin-button{appearance:none;margin:0}.place-field__input::-webkit-outer-spin-button{appearance:none;margin:0}.place-field__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.place-nudge{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--text);font:700 15px/1 var(--mono);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff0e;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:inline-flex}.place-nudge:hover{background:#ffffff1c;border-color:#ffffff47}.place-nudge:active{transform:translateY(1px)}.place-nudge:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.place-panel__foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.place-panel__hint{min-width:0;color:var(--dim);font:400 10px/1.3 var(--font)}.statusbar{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);min-height:30px;color:var(--muted);font:500 11px/1.2 var(--font);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex;overflow:hidden}.statusbar__group{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.statusbar__dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 8px #5ee0a0bf}.statusbar.is-paused .statusbar__dot{background:var(--warn);box-shadow:0 0 8px #ffb347bf}.statusbar.is-replay .statusbar__dot{background:var(--accent-2);box-shadow:0 0 8px #8b7bffbf}.statusbar.is-demo .statusbar__dot{background:var(--ok);box-shadow:0 0 8px #5ee0a0cc}.statusbar__text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.statusbar__text--dim{color:var(--dim)}.statusbar__text--vehicle:before{content:"·";color:var(--dim);margin-right:8px}.statusbar__sep{color:var(--dim)}.statusbar__spacer{flex:1}.statusbar__chips{align-items:center;gap:4px;display:flex}.statusbar__chip{font:700 9px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:5px;padding:3px 6px}.statusbar__chip--warn{background:var(--warn-soft);color:var(--warn)}.statusbar__chip--replay{color:#b6aaff;background:#8b7bff2e}.statusbar__chip--demo{background:var(--ok-soft);color:var(--ok)}.statusbar__chip--error{background:var(--error-soft);color:var(--error)}.hud{flex-direction:column;gap:15px;padding:3px 2px 2px;display:flex}.hud__hero{border:1px solid var(--line);background:#0000003d;border-radius:10px;align-items:center;gap:10px;padding:9px 11px;display:flex}.hud__speed{flex:1;align-items:baseline;gap:5px;min-width:0;display:flex}.hud__speed-value{font:700 38px/.95 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.hud__speed-unit{font:600 11px/1 var(--font);color:var(--muted)}.hud__gearbox{flex-direction:column;flex:none;align-items:center;gap:3px;display:flex}.hud__gear{border:1px solid var(--line-strong);width:34px;height:34px;font:700 20px/1 var(--mono);background:#ffffff0d;border-radius:8px;place-items:center;display:grid}.hud__gear--forward{color:var(--ok);border-color:#5ee0a066}.hud__gear--reverse{color:var(--warn);border-color:#ffb34766}.hud__gear--neutral{color:var(--muted)}.hud__gear-word{font:600 8.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.hud__flags{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.hud__flag{font:700 8.5px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:3px 5px}.hud__flag--brake{color:var(--error);background:var(--error-soft)}.hud__flag--stopped{color:var(--muted);background:#ffffff0f}.hud__section{flex-direction:column;gap:1px;display:flex}.hud__section-title{font:700 9.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.hud__note{font:400 10px/1.4 var(--font);color:var(--dim);margin:-1px 0 6px}.hud__row{border-bottom:1px dashed #ffffff0e;justify-content:space-between;align-items:baseline;gap:8px;min-height:22px;padding:3px 0;display:flex}.hud__label{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.hud__value{font:600 12.5px/1.25 var(--mono);font-variant-numeric:tabular-nums;text-align:right}.hud__row--strong .hud__label{color:var(--text)}.hud__row--strong .hud__value{font-size:13.5px}.hud__row--warn .hud__value{color:var(--warn)}.hud__row--error .hud__value{color:var(--error)}.hud__row--ok .hud__value{color:var(--ok)}.hud__detail{font:400 10px/1.35 var(--font);color:var(--dim);text-align:right;padding:0 0 4px}.hud__dot{border-radius:2px;flex:none;width:7px;height:7px;display:inline-block}.hud__footer{color:var(--dim);font:600 10px/1 var(--mono);align-items:center;gap:6px;padding-top:2px;display:flex}.hud__perf--dim,.hud__perf-sep{color:var(--dim)}.settings{flex-direction:column;gap:17px;padding:3px 2px 2px;display:flex}.settings__section{flex-direction:column;gap:6px;display:flex}.settings__title{font:700 9.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.settings__note{font:400 10.5px/1.45 var(--font);color:var(--dim);margin:0}.settings__note--footer{margin-top:-4px}.settings__grid{flex-direction:column;gap:1px;display:flex}.settings__actions{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.settings__footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-top:11px;display:flex}.trace-groups{flex-wrap:wrap;gap:5px;padding:2px 0 3px;display:flex}.trace-chip{border:1px solid var(--line-strong);min-height:29px;color:var(--muted);font:600 11px/1 var(--font);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff09;border-radius:999px;padding:0 9px;transition:color .12s,background .12s,border-color .12s}.trace-chip:hover{color:var(--text);background:#ffffff14}.trace-chip.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.trace-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slider-row{flex-direction:column;gap:4px;padding:3px 0 6px;display:flex}.slider-row__label{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.slider-row__name{color:var(--text)}.slider-row__value{font:600 11px/1 var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}.slider-row__input{width:100%;height:22px;accent-color:var(--accent);cursor:pointer;margin:0}.slider-row__input:focus-visible,.vfield__range:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.switch{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:9px;min-height:29px;padding:1px 0;font-size:12px;display:flex;position:relative}.switch__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch__track{border:1px solid var(--line-strong);background:#ffffff1a;border-radius:999px;flex:none;width:33px;height:19px;transition:background .12s,border-color .12s;position:relative}.switch__thumb{background:var(--muted);border-radius:50%;width:13px;height:13px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.switch__input:checked+.switch__track{border-color:var(--accent-line);background:#5cc8ff52}.switch__input:checked+.switch__track .switch__thumb{background:var(--accent);transform:translate(14px)}.switch__input:focus-visible+.switch__track{outline:2px solid var(--accent);outline-offset:2px}.switch__label{color:var(--muted);align-items:center;gap:7px;min-width:0;display:flex}.switch:hover .switch__label{color:var(--text)}.switch__dot{border-radius:2px;flex:none;width:8px;height:8px}.setting-row-wrap{flex-direction:column;gap:3px;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:10px;min-height:30px;font-size:12px;display:flex}.setting-row__label{color:var(--text)}.setting-row__select{max-width:55%}.setting-row__hint{font:400 10px/1.4 var(--font);color:var(--dim);margin:0}.ve{flex-direction:column;gap:13px;padding:3px 2px 2px;display:flex}.ve__intro{font:400 10.5px/1.45 var(--font);color:var(--dim);margin:0}.ve__fields{flex-direction:column;gap:7px;display:flex}.vfield{background:#00000029;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:1px;padding:6px 8px 4px;transition:border-color .12s;display:flex}.vfield.is-invalid{background:#ff6b6b0e;border-color:#ff6b6b80}.vfield__top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.vfield__label{min-width:0;color:var(--text);align-items:baseline;gap:5px;font-size:11.5px;display:flex}.vfield__sym{font:600 9.5px/1 var(--mono);color:var(--dim);white-space:nowrap}.vfield__number{flex:none;align-items:center;gap:3px;display:inline-flex}.vfield__input{text-align:right;width:60px;height:24px;font:600 11.5px/1 var(--mono);color:var(--text);border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;background:#00000059;border-radius:6px;padding:0 4px}.vfield__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vfield__input[aria-invalid=true]{border-color:#ff6b6ba6}.vfield__unit{width:20px;color:var(--dim);font-size:9.5px}.vfield__range{width:100%;height:17px;accent-color:var(--accent);cursor:pointer;margin:0}.ve__derived{border:1px solid var(--line);background:#0003;border-radius:9px;flex-direction:column;gap:6px;padding:9px 10px;display:flex}.ve__derived-title{font:700 9.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}.ve__derived-list{flex-direction:column;gap:5px;margin:0;display:flex}.ve__derived-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;display:grid}.ve__derived-label{color:var(--muted);font-size:10.5px}.ve__derived-value{font:600 11px/1.25 var(--mono);text-align:right;font-variant-numeric:tabular-nums}.ve__derived-detail{font:400 9.5px/1.35 var(--font);color:var(--dim);text-align:right;grid-column:1/-1;margin:0}.ve__derived-empty{font:400 10.5px/1.4 var(--font);color:var(--warn);margin:0}.ve__validation{font-size:10.5px;line-height:1.4}.ve__valid{color:var(--ok);align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.ve__valid-mark{font-weight:700}.ve__error-intro{color:var(--error);margin:0 0 4px;font-weight:600}.ve__errors{color:var(--warn);flex-direction:column;gap:4px;margin:0;padding-left:15px;display:flex}.ve__error{line-height:1.4}.ve__actions{flex-wrap:wrap;gap:6px;display:flex}.ve__apply{align-items:center;gap:8px;display:flex}.ve__apply .btn--primary{flex:1;min-height:36px}.ve__dirty{font:600 9.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);white-space:nowrap}.ve__source{font:400 9.5px/1.4 var(--font);color:var(--dim);margin:0}.mode-banner{z-index:20;pointer-events:none;max-width:min(92vw,660px);font:500 11.5px/1.2 var(--font);color:#d8d1ff;white-space:nowrap;background:#16112cf0;border:1px solid #8b7bff8c;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 8px;display:flex;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000073}.mode-banner__tag{font:700 9px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#120c26;background:#b6aaff;border-radius:999px;padding:4px 7px}.mode-banner__hint{color:#8f86b8;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.mode-banner--demo{color:#cdf7e5;background:#09201bf0;border-color:#5ee0a080}.mode-banner--demo .mode-banner__tag{background:var(--ok);color:#04251a}.mode-banner--demo .mode-banner__hint{color:#7fc3a8}.mode-banner--placement{border-color:var(--accent-line);color:#cdeeff;background:#061b25f2}.mode-banner--placement .mode-banner__tag{background:var(--accent);color:#06212f}.mode-banner--placement .mode-banner__hint{color:#7fb7cf}.toast{z-index:60;border:1px solid var(--accent-line);max-width:min(560px,90vw);color:var(--text);font:500 12px/1.35 var(--font);opacity:0;pointer-events:none;background:#131b23f7;border-radius:10px;align-items:center;gap:9px;padding:9px 14px;display:flex;position:absolute;top:116px;left:50%;transform:translate(-50%,-8px);box-shadow:0 16px 50px #00000080}.toast.is-visible{animation:.17s forwards toast-in}.toast__mark{color:var(--accent);flex:none;display:inline-flex}.toast__mark .icon{width:15px;height:15px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.help-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);pointer-events:auto;background:#05080bbd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.help{background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:16px;flex-direction:column;width:min(900px,100%);max-height:min(86vh,780px);display:flex;overflow:hidden;box-shadow:0 34px 90px #0009}.help__header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px 12px;display:flex}.help__title{font:600 16px/1.2 var(--font);margin:0}.help__body{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:15px 18px 20px;display:grid;overflow-y:auto}.help__section{min-width:0}.help__section-title{font:700 9.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}.help__list{flex-direction:column;gap:7px;margin:0;display:flex}.help__row{grid-template-columns:104px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.help__keys{color:var(--accent);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.help__keys kbd{color:var(--accent);background:#5cc8ff14;border-color:#5cc8ff38;font-size:9.5px}.help__desc{font:400 11.5px/1.45 var(--font);color:var(--muted);margin:0}.help__footer{border-top:1px solid var(--line);color:var(--dim);font:400 10.5px/1.4 var(--font);flex:none;padding:10px 18px}@media (max-width:1024px){.ui-host{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top""left right""dock dock"}.left-rail{place-self:start;width:min(360px,47vw);max-height:min(56vh,540px)}.learning-rail{place-self:start end;width:min(380px,48vw);max-height:min(64vh,640px)}.rail__close{display:inline-flex}.topbar__compact-toggles{display:flex}.topbar__action .btn__label{display:none}.ui-host--compact .tab{width:34px;padding:0}.ui-host--compact .tab__label,.topbar__selects .select-field__label,.side-field__label{display:none}.steer__stage{width:116px;height:116px}.steer__angle{font-size:22px}.steer__limit,.steer__road-detail{display:none}.pedal{width:62px;min-height:108px}.pedal__key,.statusbar__text--vehicle{display:none}.dockctl__row{justify-content:flex-start}.dockctl__button .btn__label{display:none}.steer__road{font-size:9px}.pedal{width:56px}.mode-banner{top:66px}}@media (min-width:1025px){.ui-host--left-closed .left-rail,.ui-host--right-closed .learning-rail{display:flex}}@media (max-width:720px){.ui-host{flex-direction:column;gap:6px;padding:8px;display:flex}.ui-topbar{z-index:30;flex-wrap:wrap;flex:none;row-gap:6px;min-height:0;padding:6px 8px;position:static}.topbar__brand{order:0;display:flex}.topbar__name{display:none}.topbar__selects{flex-wrap:wrap;order:2;gap:6px;width:100%}.side-field{flex:1 0 100%;justify-content:center;gap:8px}.side-field__label{display:inline}.place-panel__note,.place-panel__hint{display:none}.select-field{flex:1}.select-field__select{width:100%;min-width:0;max-width:none}.topbar__actions{order:1;margin-left:auto}.left-rail,.learning-rail{z-index:auto;flex:0 auto;order:2;width:100%;max-width:none;min-height:0;max-height:52vh;position:static}.learning-rail{order:3}.ui-dock{flex:none;order:4;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"wheel pedals""middle middle";gap:6px;margin-top:auto;display:grid;position:static}.dock__cluster--wheel{grid-area:wheel}.dock__cluster--pedals{grid-area:pedals}.dock__middle{grid-area:middle}.steer{gap:8px}.steer__stage{width:88px;height:88px}.steer__angle{font-size:19px}.steer__road,.steer__recentre{display:none}.dockctl__row{justify-content:center}.dockctl__button .btn__label,.dockctl__sep{display:none}.pedal{width:46px;min-height:88px;padding:6px 3px}.pedal__name,.pedal__key{display:none}.pedal__icon .icon{width:19px;height:19px}.dock__cluster{padding:7px}.statusbar__text--scenario,.statusbar__text--vehicle,.statusbar__chip--error{display:none}.mode-banner{white-space:normal;order:1;align-self:center;max-width:100%;font-size:10.5px;position:static;transform:none}.mode-banner__hint{display:none}.toast{font-size:11.5px;top:190px}.help-overlay{padding:10px}.help__body{grid-template-columns:minmax(0,1fr);gap:14px}.help__row{grid-template-columns:88px minmax(0,1fr)}}@media (pointer:coarse){.btn,.tab{min-height:44px}.btn--small,.switch{min-height:38px}.slider-row__input,.vfield__range,.vfield__input{height:30px}.side-switch__option,.trace-chip{min-height:44px}.place-nudge,.place-field__input{height:44px}.place-nudge{width:44px}.place-panel .btn--small{min-height:44px}}.ui-host--reduced-motion *,.ui-host--reduced-motion :before,.ui-host--reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!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}}.lrn-root{--lrn-text:var(--text,#e8edf4);--lrn-muted:var(--muted,#9aa6b4);--lrn-accent:var(--accent,#5cc8ff);--lrn-warn:var(--warn,#ffb347);--lrn-error:var(--error,#ff6b6b);--lrn-ok:var(--ok,#5ee0a0);--lrn-radius:var(--radius,10px);--lrn-border:var(--panel-border,var(--line,#ffffff1a));--lrn-surface:#ffffff0a;--lrn-surface-hover:#ffffff1c;--lrn-rule:var(--line,#ffffff12);--lrn-accent-soft:var(--accent-soft,#5cc8ff1f);--lrn-accent-line:var(--accent-line,#5cc8ff73);--lrn-font:var(--font,"Inter", "Segoe UI", system-ui, -apple-system, sans-serif);min-width:0;color:var(--lrn-text);font:12px/1.45 var(--lrn-font);flex-direction:column;display:flex}.lrn-root *,.lrn-root :before,.lrn-root :after{box-sizing:border-box}.lrn-root [hidden]{display:none!important}.lrn-section{flex-direction:column;gap:8px;min-width:0;padding:12px 0;display:flex}.lrn-section:first-child{padding-top:0}.lrn-section:last-child{padding-bottom:0}.lrn-section:not([hidden])+.lrn-section{border-top:1px solid var(--lrn-rule)}.lrn-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;display:flex}.lrn-title{letter-spacing:.14em;text-transform:uppercase;color:var(--lrn-muted);margin:0;font-size:10px;font-weight:600}.lrn-note{color:var(--lrn-muted);margin:0;font-size:11px}.lrn-pill{border:1px solid var(--lrn-border);color:var(--lrn-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:1px 7px;font-size:10px;display:inline-flex}.lrn-pill--live{color:var(--lrn-ok);border-color:var(--ok-soft,#5ee0a059)}.lrn-pill--replay{color:var(--lrn-warn);border-color:var(--warn-soft,#ffb34766)}.lrn-pill__dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.lrn-pill__dot--playing{animation:1.4s ease-in-out infinite lrn-pulse}@keyframes lrn-pulse{0%,to{opacity:1}50%{opacity:.3}}.lrn-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.lrn-time__now{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.1}.lrn-time__unit{color:var(--lrn-muted);font-size:11px}.lrn-time__sep{color:var(--lrn-muted);opacity:.6}.lrn-time__dur{color:var(--lrn-muted);font-size:12px}.lrn-time__step{color:var(--lrn-muted);white-space:nowrap;margin-left:auto;font-size:10px}.lrn-root .lrn-scrub{appearance:none;cursor:pointer;width:100%;height:22px;accent-color:var(--lrn-accent);background:0 0;margin:0;padding:0}.lrn-root .lrn-scrub:disabled{cursor:default;opacity:.45}.lrn-root .lrn-scrub::-webkit-slider-runnable-track{background:#ffffff24;border-radius:2px;height:4px}.lrn-root .lrn-scrub::-webkit-slider-thumb{appearance:none;background:var(--lrn-accent);border:2px solid #080c108c;border-radius:50%;width:14px;height:14px;margin-top:-5px}.lrn-root .lrn-scrub::-moz-range-track{background:#ffffff24;border-radius:2px;height:4px}.lrn-root .lrn-scrub::-moz-range-thumb{background:var(--lrn-accent);border:2px solid #080c108c;border-radius:50%;width:12px;height:12px}.lrn-root .lrn-scrub:focus-visible{outline:2px solid var(--lrn-accent);outline-offset:2px;border-radius:4px}.lrn-scrub--active::-webkit-slider-thumb{box-shadow:0 0 0 4px #5cc8ff29}.lrn-root .lrn-scrub--active::-webkit-slider-thumb{box-shadow:0 0 0 4px #5cc8ff29}.lrn-transport{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lrn-btn{appearance:none;border:1px solid var(--lrn-border);background:var(--lrn-surface);min-width:32px;min-height:32px;color:var(--lrn-text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;margin:0;padding:0 10px;font-family:inherit;font-size:12px;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.lrn-btn:hover:not(:disabled){background:var(--lrn-surface-hover)}.lrn-btn:focus-visible{outline:2px solid var(--lrn-accent);outline-offset:1px}.lrn-btn:disabled{opacity:.35;cursor:default}.lrn-btn--primary{background:var(--lrn-accent);color:#0b1015;border-color:#0000;min-width:56px;font-weight:600}.lrn-btn--primary:hover:not(:disabled){background:var(--lrn-accent);filter:brightness(1.08)}.lrn-btn--step{font-variant-numeric:tabular-nums;min-width:34px;padding:0 6px}.lrn-btn--small{border-radius:6px;min-height:26px;padding:0 8px;font-size:11px}.lrn-btn--active{color:var(--lrn-accent);border-color:var(--lrn-accent-line);background:var(--lrn-accent-soft)}.lrn-speed-row{align-items:center;gap:8px;display:flex}.lrn-speed{flex-wrap:wrap;gap:4px;display:flex}.lrn-replay__note{font-size:10.5px}.lrn-chart{min-height:96px;position:relative}.lrn-chart__canvas{width:100%;height:96px;display:block}.lrn-chart__empty{color:var(--lrn-muted);text-align:center;pointer-events:none;place-items:center;padding:0 10px;font-size:11px;display:grid;position:absolute;inset:0}.lrn-legend{color:var(--lrn-muted);flex-wrap:wrap;gap:4px 12px;font-size:10px;display:flex}.lrn-legend__item{align-items:center;gap:5px;display:inline-flex}.lrn-legend__swatch{background:var(--lrn-muted);border-radius:1px;width:12px;height:2px;display:inline-block}.lrn-legend__swatch--steer{background:var(--lrn-accent);height:2px}.lrn-legend__swatch--gear{background:repeating-linear-gradient(90deg, var(--lrn-warn) 0 3px, transparent 3px 5px)}.lrn-legend__swatch--contact{background:var(--lrn-error);border-radius:50%;width:4px;height:4px}.lrn-stars{color:#ffffff29;letter-spacing:0;gap:1px;font-size:13px;line-height:1;display:inline-flex}.lrn-star{color:#ffffff29}.lrn-star--filled{color:var(--lrn-warn)}.lrn-result__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.lrn-verdict{font-size:13px;font-weight:600}.lrn-verdict--ok{color:var(--lrn-ok)}.lrn-verdict--warn{color:var(--lrn-warn)}.lrn-verdict--muted{color:var(--lrn-muted);font-weight:500}.lrn-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;display:grid}.lrn-stat{border-bottom:1px dashed #ffffff0d;justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:2px 0;display:flex}.lrn-stat__label{color:var(--lrn-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.lrn-stat__value{color:var(--lrn-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;font-weight:600}.lrn-stat__value--error{color:var(--lrn-error)}.lrn-stat__value--ok{color:var(--lrn-ok)}.lrn-count{min-width:18px;height:16px;color:var(--lrn-muted);font-variant-numeric:tabular-nums;background:#ffffff12;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;display:inline-flex}.lrn-body{flex-direction:column;gap:10px;display:flex}.lrn-group{flex-direction:column;gap:5px;display:flex}.lrn-group__title{align-items:center;gap:6px;display:flex}.lrn-group__label{color:var(--lrn-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.lrn-group__count{color:var(--lrn-muted);font-variant-numeric:tabular-nums;opacity:.7;font-size:10px}.lrn-group--error .lrn-group__label{color:var(--lrn-error)}.lrn-group--caution .lrn-group__label{color:var(--lrn-warn)}.lrn-group--info .lrn-group__label{color:var(--lrn-accent)}.lrn-group--praise .lrn-group__label{color:var(--lrn-ok)}.lrn-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lrn-insight{border-left:2px solid var(--lrn-muted);background:#ffffff09;border-radius:0 7px 7px 0;flex-direction:column;gap:3px;padding:6px 9px;transition:background .15s,box-shadow .15s;display:flex}.lrn-insight--error{border-left-color:var(--lrn-error)}.lrn-insight--caution{border-left-color:var(--lrn-warn)}.lrn-insight--info{border-left-color:var(--lrn-accent)}.lrn-insight--praise{border-left-color:var(--lrn-ok)}.lrn-insight--active{border-left-color:var(--lrn-accent);background:var(--lrn-accent-soft);box-shadow:inset 0 0 0 1px #5cc8ff47}.lrn-insight__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lrn-insight__title{font-size:12px;font-weight:600;line-height:1.3}.lrn-insight__when{color:var(--lrn-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:10px}.lrn-insight__text{color:var(--lrn-muted);margin:0;font-size:11.5px}.lrn-insight__advice{color:var(--lrn-text);opacity:.92;border-left:1px solid #ffffff24;margin:1px 0 0;padding-left:8px;font-size:11.5px}.lrn-insight__advice-tag{color:var(--lrn-accent);letter-spacing:.08em;text-transform:uppercase;margin-right:5px;font-size:9px;display:inline-block}.lrn-insight__actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.lrn-empty{color:var(--lrn-muted);margin:0;font-size:11.5px}.lrn-compare__caption{color:var(--lrn-text);margin:0;font-size:11.5px;line-height:1.45}.lrn-table-wrap{margin:0 -2px;overflow-x:auto}.lrn-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:10.5px}.lrn-table th,.lrn-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:3px}.lrn-table th:first-child,.lrn-table td:first-child{color:var(--lrn-muted);text-align:left;font-weight:400}.lrn-table thead th{color:var(--lrn-muted);border-bottom:1px solid #ffffff1a;font-size:10px;font-weight:600}.lrn-table thead th:first-child{color:var(--lrn-muted)}.lrn-table__vehicle{color:var(--lrn-text)!important;font-weight:600!important}.lrn-table__dot{vertical-align:baseline;border:1px solid #ffffff40;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.lrn-table__diff-head,.lrn-table__diff{border-left:1px solid #ffffff12}.lrn-table__diff--more{color:var(--lrn-warn)}.lrn-table__diff--less{color:var(--lrn-ok)}.lrn-table__diff--same{color:var(--lrn-muted)}.lrn-compare__controls{align-items:center;gap:10px;display:flex}.lrn-toggle{color:var(--lrn-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.lrn-toggle__input{width:14px;height:14px;accent-color:var(--lrn-accent);cursor:pointer;margin:0}.lrn-toggle__input:focus-visible{outline:2px solid var(--lrn-accent);outline-offset:1px}.lrn-teach{flex-direction:column;gap:8px;display:flex}.lrn-teach__content{flex-direction:column;gap:6px;display:flex}.lrn-demo{border-top:1px solid var(--lrn-rule);flex-direction:column;gap:5px;padding-top:9px;display:flex}.lrn-demo .lrn-subhead{margin:0}.lrn-demo__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lrn-demo__status{align-items:center;gap:6px;min-width:0;display:inline-flex}.lrn-demo__dot{background:var(--lrn-accent);border-radius:50%;flex:none;width:6px;height:6px;animation:1.4s ease-in-out infinite lrn-pulse}.lrn-demo__label{color:var(--lrn-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.lrn-demo__note{color:var(--lrn-muted);margin:0;font-size:10.5px;line-height:1.4}.lrn-btn--demo{border-color:var(--lrn-accent-line);background:var(--lrn-accent-soft);color:var(--lrn-accent);align-self:flex-start;min-height:30px;font-size:11.5px}.lrn-btn--demo:hover:not(:disabled){background:var(--lrn-accent-soft);filter:brightness(1.15)}.lrn-goal{margin:0;font-size:11.5px;line-height:1.45}.lrn-goal__tag{color:var(--lrn-accent);letter-spacing:.08em;text-transform:uppercase;margin-right:6px;font-size:9px;display:inline-block}.lrn-subhead{color:var(--lrn-muted);letter-spacing:.1em;text-transform:uppercase;margin:2px 0 0;font-size:10px}.lrn-hints{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lrn-hint{color:var(--lrn-muted);gap:6px;font-size:11.5px;display:flex}.lrn-hint__mark{color:var(--lrn-accent);opacity:.7;flex:none}.lrn-statement{color:var(--lrn-text);margin:0;font-size:11.5px}.lrn-statement--quiet{color:var(--lrn-muted)}@media (pointer:coarse){.lrn-btn{min-height:38px;padding:0 12px}.lrn-btn--small{min-height:32px}.lrn-root .lrn-scrub{height:30px}.lrn-toggle__input{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.lrn-root *,.lrn-root :before,.lrn-root :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
