:root{--bg:#f6f0e4;--panel:#fffcf6e6;--panel-strong:#fffaf0;--ink:#1f2430;--muted:#5b6170;--accent:#b4511f;--accent-2:#1d6a73;--plot-primary:#c55a11;--plot-secondary:#0f7a84;--board:#2d6d58;--board-dark:#1d4e3f;--scope:#141c20;--scope-glow:#18d8ba2e;--border:#1f24301f;--shadow:0 20px 60px #4830101f;color:var(--ink);background:radial-gradient(circle at 0 0,#e8b58b73,#0000 28%),radial-gradient(circle at 100% 0,#1d6a7338,#0000 24%),linear-gradient(#f7efe0 0%,#f2e9d8 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input{font:inherit}code{font-family:IBM Plex Mono,Cascadia Code,monospace}.app-shell{max-width:1240px;margin:0 auto;padding:32px 20px 48px}.hero,.control-card,.bench-card,.scope-shell,.plot-card{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px}.hero{background:linear-gradient(135deg,#fffaf0eb,#f9eedde0);padding:32px}.hero h1{letter-spacing:-.04em;margin:8px 0 12px;font-size:clamp(2rem,6vw,4rem);line-height:.95}.hero__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.85rem;font-weight:700}.hero__subtitle{max-width:62ch;color:var(--muted);margin:0;font-size:1.05rem}.mode-row{flex-wrap:wrap;gap:12px;margin:22px 0;display:flex}.tab{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#ffffffb3;border-radius:999px;padding:10px 18px}.tab--active{background:var(--accent);color:#fff;border-color:#0000}.control-card,.bench-card{background:var(--panel);padding:24px}.control-card h2,.bench-card h2,.scope-shell h2{margin-top:0;margin-bottom:12px}.control-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.control{background:var(--panel-strong);border:1px solid #1f243014;border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex}.slider-control__label{font-size:.95rem}.slider-control__row{align-items:center;gap:14px;display:flex}.slider-control__input{width:100%;accent-color:var(--accent);flex:1}.slider-control__value{text-align:right;min-width:84px;font-family:IBM Plex Mono,Cascadia Code,monospace;font-weight:700}.slider-control__unit{color:var(--muted);margin-left:6px;font-weight:500}.control input{width:100%;accent-color:var(--accent)}.control__top{justify-content:space-between;gap:12px;font-size:.95rem;display:flex}.main-stage{grid-template-columns:1fr 1.15fr;gap:20px;margin-top:20px;display:grid}.bench-header,.scope-shell__header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.bench-badge{color:var(--accent);background:#b4511f1f;border-radius:999px;padding:8px 12px;font-weight:700}.bench-visual{grid-template-columns:220px 1fr;align-items:center;gap:20px;margin-top:20px;display:grid}.supply{background:linear-gradient(#e7ebee,#cfd6dc);border:1px solid #1f24302e;border-radius:22px;padding:18px}.supply__screen{color:#7bff95;background:#0f1417;border-radius:14px;place-items:center;min-height:74px;font-family:IBM Plex Mono,Cascadia Code,monospace;font-size:1.05rem;display:grid;box-shadow:inset 0 0 0 1px #7bff951f}.supply__knob{background:radial-gradient(circle at 35% 35%,#fbfdff,#95a3af 70%);border:1px solid #1f243033;border-radius:50%;width:52px;height:52px;margin:18px auto 10px}.supply__label{text-align:center;color:var(--muted);font-size:.9rem}.board{background:linear-gradient(180deg, #ffffff0d, transparent), linear-gradient(135deg, var(--board), var(--board-dark));border-radius:28px;min-height:330px;position:relative;overflow:hidden}.board:before{content:"";opacity:.5;background-image:radial-gradient(circle at 12px 12px,#ffffff14 2px,#0000 2px);background-size:32px 32px;position:absolute;inset:0}.board__trace{background:linear-gradient(90deg,#e2b86f,#f6d48d);border-radius:999px;height:10px;position:absolute;left:40px;right:40px;box-shadow:0 0 0 2px #7e52122e}.board__trace--top{top:90px}.board__trace--bottom{top:230px}.board__resistor{justify-items:center;gap:12px;display:grid;position:absolute;top:160px;left:50%;transform:translate(-50%,-50%)}.board__resistor-body{background:linear-gradient(90deg,#cbaf73 0 14%,#7b4d1f 14% 18%,#cbaf73 18% 40%,#cf7727 40% 44%,#cbaf73 44% 66%,#733aa8 66% 70%,#cbaf73 70% 86%,#96581d 86% 90%,#cbaf73 90% 100%);border-radius:999px;width:180px;height:44px;box-shadow:0 10px 24px #0000002e}.board__resistor-text{color:#f4f7f6;font-weight:700}.probe{background:#fffffff0;border-radius:16px;min-width:148px;padding:12px 14px;position:absolute}.probe span{color:var(--muted);font-size:.82rem;display:block}.probe strong{margin-top:4px;display:block}.probe--voltage{border-left:6px solid var(--plot-primary);top:26px;left:28px}.probe--current{border-left:6px solid var(--plot-secondary);bottom:24px;right:28px}.scope-shell{color:#e8f0ee;background:linear-gradient(#141c20fa,#10171afa);padding:24px}.scope-shell__header p{color:#9fb0af;margin:0}.plot-stack{gap:20px;margin-top:18px;display:grid}.plot-card{background:radial-gradient(circle at top left, var(--scope-glow), transparent 30%), var(--scope);border-color:#667d8247;padding:18px 18px 10px;box-shadow:inset 0 0 0 1px #7bff950a}.plot-card__header h3{color:#d9ebe8;margin:0}.plot-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.scope-readout{text-align:right;background:#ffffff0a;border:1px solid #89bfb52e;border-radius:14px;min-width:132px;padding:10px 12px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;box-shadow:inset 0 0 0 1px #ffffff05}.scope-readout--pulse{background:#18d8ba24;border-color:#18d8ba99;transform:scale(1.06);box-shadow:0 0 0 4px #18d8ba1f,0 0 24px #18d8ba47}.scope-readout__label{letter-spacing:.12em;text-transform:uppercase;color:#95a9a6;font-size:.72rem;display:block}.scope-readout strong{color:#f2fffd;font-size:1.35rem;line-height:1.05;display:block}.scope-readout__units{color:#95a9a6;font-size:.82rem;display:block}.plot-card__svg{background:linear-gradient(#ffffff05,#fff0),repeating-linear-gradient(90deg,#0000,#0000 59px,#63b4a614 60px);border-radius:18px;width:100%;height:auto;display:block}.plot-card__axis{stroke:#89bfb552;stroke-width:2px}.plot-card__grid{stroke:#89bfb51f;stroke-width:1.5px}.plot-card__tick{fill:#96aca8;font-family:IBM Plex Mono,Cascadia Code,monospace;font-size:12px}.plot-card__axis-label{fill:#d7ebe8;font-size:13px;font-weight:600}.plot-card__series--voltage{stroke:var(--plot-primary);color:var(--plot-primary);background:var(--plot-primary)}.plot-card__series--current{stroke:var(--plot-secondary);color:var(--plot-secondary);background:var(--plot-secondary)}@media (width<=980px){.main-stage,.bench-visual{grid-template-columns:1fr}}
