:root{--bg:#f4f5f7;--panel:#fff;--panel2:#eef0f3;--fg:#1d2129;--muted:#5f6673;--line:#d6d9df;--accent:#2563eb;--accent-fg:#fff;--ok:#15803d;--warn:#b45309;--err:#b91c1c;--chart-bg:#fff;--grid:#e3e6ea;--grid-strong:#b9bec7;--chart-fg:#4a5160;--ref-line:#d97706;color:var(--fg);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--panel:#171a21;--panel2:#1f232c;--fg:#e6e8ec;--muted:#9aa1ad;--line:#2c313c;--accent:#3b82f6;--ok:#4ade80;--warn:#fbbf24;--err:#f87171;--chart-bg:#0b0d11;--grid:#1f242d;--grid-strong:#3a414e;--chart-fg:#a3aab6;--ref-line:#f59e0b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1115;--panel:#171a21;--panel2:#1f232c;--fg:#e6e8ec;--muted:#9aa1ad;--line:#2c313c;--accent:#3b82f6;--ok:#4ade80;--warn:#fbbf24;--err:#f87171;--chart-bg:#0b0d11;--grid:#1f242d;--grid-strong:#3a414e;--chart-fg:#a3aab6;--ref-line:#f59e0b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg)}button,select,input{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 10px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.danger{color:var(--err)}button.small{padding:2px 7px;font-size:12px}button.link{text-align:left;white-space:normal;background:0 0;border:none;padding:0}select,input[type=number],input[type=text]{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-width:0;padding:4px 6px}input.bad{border-color:var(--err)}input[type=range]{accent-color:var(--accent)}label{color:var(--muted);font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a{color:var(--accent)}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 12px;display:flex}.toolbar .brand{font-size:16px;font-weight:700}.grow{flex:1;margin:0}.main{flex-direction:column;gap:10px;width:100%;min-width:0;max-width:1280px;margin:0 auto;padding:10px;display:flex}.cols{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:10px;display:grid}.box{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.box h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.spacer{flex:1}.grid2{grid-template-columns:1fr 1fr;gap:0 6px;display:grid}.field{flex-direction:column;gap:2px;min-width:0;margin-bottom:6px;display:flex}.field input,.field select{width:100%;font-size:14px}.hint{color:var(--muted);margin:0 0 6px;font-size:12px;line-height:1.4}.err-text{color:var(--err)}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}button.primary,button.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.tabs{flex-wrap:wrap;gap:4px;display:flex}.canvas-wrap{background:var(--chart-bg);border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden}.canvas-wrap canvas,.canvas-wrap svg{width:100%;display:block}.stat{background:var(--panel2);border-radius:6px;flex-direction:column;min-width:70px;padding:4px 10px;display:inline-flex}.stat b{font-variant-numeric:tabular-nums;font-size:18px}.stat span{color:var(--muted);font-size:11px}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.data td,table.data th{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.foot{border-top:1px solid var(--line);margin:0;padding:8px 12px}@media (width<=800px){.cols{grid-template-columns:minmax(0,1fr)}.main,.toolbar,.foot{padding-left:12px;padding-right:12px}button{min-height:36px}input[type=number],input[type=text],select{min-height:36px;font-size:16px}}@media print{.toolbar,.foot,.noprint{display:none!important}}.circuit{max-height:420px}.circuit .wire{stroke:var(--chart-fg);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;fill:none}.circuit .flow{stroke:#f59e0b;stroke-width:5px;stroke-linecap:round;stroke-dasharray:.1 16;animation:linear infinite flow}@keyframes flow{to{stroke-dashoffset:-16.1px}}@media (prefers-reduced-motion:reduce){.circuit .flow{animation:none}}.circuit .node{fill:var(--chart-fg)}.circuit .lbl{fill:var(--fg);font-size:13px}.circuit .val{fill:var(--muted);font-size:12px}.circuit .sym{fill:var(--err);font-size:16px;font-weight:700}.circuit .ring{fill:none;stroke:var(--accent);stroke-width:2px}.circuit .probe{fill:var(--accent);font-size:13px;font-weight:700}.circuit .gnd line{stroke:var(--chart-fg);stroke-width:2px}.lessons{flex-direction:column;gap:4px;display:flex}.lessons button{text-align:left;white-space:normal;gap:6px;display:flex}.lessons button .num{color:var(--muted);min-width:1.4em}.lessons button.active .num{color:inherit}.sliders{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 16px;margin-top:8px;display:grid}.sliders label{flex-direction:column;gap:2px;display:flex}.sliders .val{color:var(--fg);font-size:13px;font-weight:600}.readouts td:nth-child(2){white-space:nowrap;font-weight:700}.readouts td:nth-child(3){color:var(--muted);font-family:ui-monospace,monospace;font-size:12px}.q{border-bottom:1px solid var(--line);padding:8px 0}.q input{width:110px}.lesson-intro p{margin:0 0 8px;font-size:14.5px;line-height:1.5}
