/*! ElettroSIM © 2026 Prof. Fernando Chiurazzi — tutti i diritti riservati. Vietati la copia, la modifica, la decompilazione e la ridistribuzione senza autorizzazione scritta dell'autore. */
:root{--bg:#14171b;--panel:#1d2127;--panel-2:#262b33;--line:#343b45;--text:#e6e9ee;--muted:#9aa4b1;--accent:#3b82f6;--accent-2:#2563eb;--paper:#fcfcfa;--ink:#1f2933;--l1:#8b4513;--l2:#111111;--l3:#7d8590;--pe:#16a34a;--neutro:#2563eb;--mid:#d97706;--aux:#ea580c;--off:#d3d8de;--text-2:#c3cad3;--hover:#2e343e;--hover-line:#4b5563;--accent-3:#1d4ed8;--accent-soft:rgba(59,130,246,.18);--on-accent:#fff;--sel:#3b82f6;--brand:#fbbf24;--brand-2:#fde68a;--danger-text:#fca5a5;--danger-line:#7f1d1d;--danger-bg:#7f1d1d;--ok-text:#4ade80;--ok-bg:#166534;--alert-err:#fecaca;--alert-warn:#fde68a;--alert-ok:#bbf7d0;--alert-term:#fdba74}:root[data-theme="chiaro"]{--bg:#eef1f5;--panel:#ffffff;--panel-2:#f1f4f8;--line:#d3d9e1;--text:#1f2933;--text-2:#374151;--muted:#5b6573;--accent:#2563eb;--accent-2:#2563eb;--accent-3:#1d4ed8;--accent-soft:rgba(37,99,235,.12);--hover:#e3e8ef;--hover-line:#9aa4b1;--brand:#b45309;--brand-2:#92400e;--danger-text:#b91c1c;--danger-line:#fca5a5;--danger-bg:#fee2e2;--ok-text:#15803d;--ok-bg:#dcfce7;--alert-err:#991b1b;--alert-warn:#92400e;--alert-ok:#166534;--alert-term:#9a3412}:root[data-theme="blu"]{--bg:#0b1a2e;--panel:#10243d;--panel-2:#17304f;--line:#24456b;--text:#e3ecf7;--text-2:#bfcde0;--muted:#8ea3bd;--accent:#f59e0b;--accent-2:#d97706;--accent-3:#b45309;--accent-soft:rgba(245,158,11,.18);--on-accent:#1a1200;--hover:#1d3a5f;--hover-line:#3a6390}:root[data-theme="contrasto"]{--bg:#000000;--panel:#000000;--panel-2:#141414;--line:#ffffff;--text:#ffffff;--text-2:#ffffff;--muted:#e6e6e6;--accent:#ffd400;--accent-2:#ffd400;--accent-3:#ffe666;--accent-soft:rgba(255,212,0,.28);--on-accent:#000000;--hover:#333333;--hover-line:#ffd400;--sel:#0047ff;--brand:#ffd400;--brand-2:#ffffff;--danger-text:#ff9a9a;--danger-line:#ff5c5c;--danger-bg:#7f0000;--ok-text:#6cff6c;--ok-bg:#005c00;--alert-err:#ffffff;--alert-warn:#ffffff;--alert-ok:#ffffff;--alert-term:#ffffff}*{box-sizing:border-box}html,body{height:100%;margin:0}html{touch-action:pan-x pan-y}body{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);background:var(--bg);color:var(--text);font:13px/1.45 "Segoe UI",system-ui,-apple-system,sans-serif;overflow:hidden}button,select,input{font:inherit;color:var(--text)}button:disabled,select:disabled,input:disabled{opacity:.4;cursor:default}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.toolbar>*,.toolbar .group>*{flex-shrink:0}.toolbar .group[hidden],.ov-wrap[hidden]{display:none}.zoom-box{display:flex;align-items:center;gap:4px}#examples{width:120px}body.lim #examples{width:150px}.ov-pop #examples{width:100%}.toolbar .icon{min-width:34px;font-size:15px;line-height:1.2}.toolbar .lb{display:none}body:not(.simulating) .toolbar .sim-only{display:none}.brand{margin-right:6px;white-space:nowrap;line-height:1.15}.brand-name{font-weight:700;font-size:16px;letter-spacing:.02em}.brand-name b{color:var(--brand)}.brand-author{font-size:13.5px;color:var(--brand-2);margin-top:1px}.brand-author strong{color:var(--brand);font-weight:700}.group{display:flex;align-items:center;gap:4px;padding-right:10px;border-right:1px solid var(--line)}.toolbar button:not(.pen-pop button),.toolbar select{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer}.toolbar button:not(:disabled):not(.pen-pop button):hover,.toolbar select:not(:disabled):hover{background:var(--hover);border-color:var(--hover-line)}.toolbar button.active:not(.pen-pop button){background:var(--accent-2);border-color:var(--accent);color:var(--on-accent)}#zoomLabel{min-width:44px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.spacer{flex:1}#projectName{width:170px;background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 8px}#projectName:hover,#projectName:focus{background:var(--panel-2);border-color:var(--line);outline:none}.toolbar .sim-btn:not(.pen-pop button){background:#15803d;border-color:#16a34a;font-weight:600;padding:6px 16px}.toolbar .sim-btn:hover{background:#166534 !important}body.simulating .toolbar .sim-btn{background:#b91c1c;border-color:#dc2626}body.simulating .toolbar .sim-btn:hover{background:#991b1b !important}.toolbar.sim-compact .sim-tx{display:none}.toolbar.sim-compact .sim-btn:not(.pen-pop button){min-width:44px;padding:6px 12px;font-size:16px;line-height:1.1}body.lim .toolbar.sim-compact .sim-btn{min-width:52px;font-size:19px}main{display:grid;grid-template-columns:240px 1fr 280px;min-height:0}#sidebar{display:flex;flex-direction:column;min-height:0;background:var(--panel);border-right:1px solid var(--line)}#palette,#inspector{background:var(--panel);overflow-y:auto;min-height:0}#palette{flex:1;padding:4px 0 16px}.sector-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:8px;border-bottom:1px solid var(--line)}.sector-tabs button{font-size:12px;white-space:nowrap}.sector-tabs button{padding:7px 4px;font-weight:600;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;cursor:pointer}.sector-tabs button:hover{background:var(--hover)}.sector-tabs button.active{background:var(--accent-2);border-color:var(--accent);color:var(--on-accent)}body.simulating .sector-tabs{opacity:.35;pointer-events:none}#inspector{border-left:1px solid var(--line);padding:12px 14px 20px}#palette h3{margin:12px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pal-item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:3px 12px;cursor:pointer;text-align:left}.pal-item:hover{background:var(--panel-2)}.pal-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.pal-icon{width:28px;height:38px;flex:none;background:var(--paper);border-radius:4px;padding:2px}body.simulating #palette{opacity:.35;pointer-events:none}.pal-preview .pal-icon{width:56px;height:76px}#canvasWrap{position:relative;min-width:0;min-height:0;background:var(--paper);overflow:hidden;display:flex;flex-direction:column}body.simulating #canvasWrap{background:#f6faf6}#canvas{display:block;width:100%;flex:1;min-height:0;touch-action:none;user-select:none}.page-tabs{flex:none;display:flex;align-items:stretch;gap:2px;padding:0 8px;height:34px;overflow-x:auto;background:var(--panel);border-top:1px solid var(--line)}.ptab{display:flex;align-items:center;gap:6px;padding:0 12px;max-width:220px;border:1px solid transparent;border-top:0;border-radius:0 0 8px 8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.ptab:hover{color:var(--text);background:var(--panel-2)}.ptab.current{background:var(--paper);color:var(--ink);border-color:var(--line);font-weight:600;margin-top:-1px}.ptab-n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--panel-2);color:var(--text);font-size:11px;font-weight:700}.ptab.current .ptab-n{background:var(--accent-2);color:var(--on-accent)}.ptab-menu{padding:3px 7px;margin-right:-8px;border-radius:4px;color:var(--muted)}.ptab-menu:hover{background:#e5e7eb;color:var(--ink)}.ptab.add{font-size:16px;font-weight:700;padding:0 12px}.ptab-input{width:150px;font:inherit;font-size:13px;padding:2px 6px;border:1px solid var(--accent);border-radius:4px}.page-menu{display:none;position:absolute;bottom:38px;z-index:30;min-width:190px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35)}.page-menu.show{display:block}.page-menu button{display:block;width:100%;text-align:left;padding:7px 10px;background:none;border:0;border-radius:5px;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.page-menu button:hover:not(:disabled){background:var(--panel-2)}.page-menu button:disabled{opacity:.4;cursor:default}.page-menu button.danger{color:var(--danger-text)}body.lim .page-tabs{height:44px}body.lim .ptab{font-size:15px;padding:0 16px}body.lim .page-menu{bottom:48px}body.lim .page-menu button{padding:11px 12px;font-size:15px}body.lim .meter,body.lim .trace-card{bottom:56px}#simBadge{display:none;position:absolute;top:10px;left:10px;background:#15803d;color:#fff;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;pointer-events:none}body.simulating #simBadge{display:block}#emptyHint{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:420px;padding:22px 24px;text-align:center;pointer-events:none;background:#fff;color:var(--ink);border:1px solid #e3e6ea;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.08)}#emptyHint.show{display:block}#emptyHint h2{margin:0 0 8px;font-size:18px}#emptyHint p{margin:0 0 16px;color:#4b5563}#emptyHint .hint-author{margin:0 0 14px;padding:8px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}#emptyHint .hint-author strong{font-size:15px}#emptyHint button,#emptyHint a{pointer-events:auto}#emptyHint .hint-x{position:absolute;top:6px;right:8px;width:28px;height:28px;padding:0;line-height:1;font-size:15px;color:var(--muted);background:none;border:0;border-radius:6px;cursor:pointer}#emptyHint .hint-x:hover{background:#f1f3f5;color:var(--ink)}#toast{position:absolute;top:12px;left:50%;transform:translate(-50%,-20px);max-width:min(560px,90%);padding:9px 16px;border-radius:8px;background:#1f2937;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#b91c1c}#toast.warn{background:#b45309}.comp line,.comp rect,.comp path,.comp circle,.comp ellipse{stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.comp .mech{stroke-dasharray:4 3;stroke-width:1.4}.comp .mushroom{fill:#ef4444}.comp .src{fill:#fff}.comp .coil-body{fill:#fff}.comp .tof-mark{fill:var(--ink)}.comp .prog-bg{fill:#e5e7eb;stroke:none}.comp .prog{fill:#f59e0b;stroke:none}.comp .halo{stroke:none}.comp .socket-body,.comp .bell-body{fill:#fff}.comp .plug-on{fill:#16a34a;stroke:none}.simulating .comp.en .bell-body{fill:#fde047}.simulating .comp.en .bell-g{animation:ring .12s linear infinite alternate;transform-box:fill-box;transform-origin:50% 100%}@keyframes ring{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}.comp text{fill:var(--ink);stroke:none;text-anchor:middle;dominant-baseline:central;font-family:"Segoe UI",Arial,sans-serif}.comp text.sym{font-size:8px;font-weight:700}.comp text.mtxt{font-size:17px;font-weight:700}.comp text.mtxt.small{font-size:12px}.comp text.msub{font-size:10px;font-weight:600}.comp .motor-body,.comp .fan,.comp .res-body{fill:#fff}.comp .blown{stroke:#dc2626;stroke-width:2.4}.comp .prog.heat{fill:#ef4444}.simulating .comp rect.trip{fill:#fecaca;stroke:#dc2626}.simulating .comp.en .motor-body{fill:#dbeafe}.simulating .comp .motor-body.cw{fill:#dcfce7;stroke:#15803d}.simulating .comp .motor-body.ccw{fill:#ffedd5;stroke:#c2410c}.simulating .comp .motor-body.stall{fill:#fee2e2;stroke:#b91c1c}.comp .rot-arc{fill:none;stroke-width:2.6;stroke-linecap:round}.comp .rot-arrow.cw .rot-arc{stroke:#16a34a}.comp .rot-arrow.ccw .rot-arc{stroke:#ea580c}.comp .rot-arrow.cw .rot-head{fill:#16a34a;stroke:#16a34a}.comp .rot-arrow.ccw .rot-head{fill:#ea580c;stroke:#ea580c}.simulating .comp.t-res.en .res-body,.simulating .comp.t-res .res-body{fill:#fff}.comp.ghost{opacity:.45;pointer-events:none}g.ghost{opacity:.45}.comp.sel line,.comp.sel path,.comp.sel circle:not(.lamp-body):not(.halo),.comp.sel rect:not(.selbox){stroke:var(--sel)}.comp .selbox{stroke:var(--sel);stroke-width:1;stroke-dasharray:3 3;fill:rgba(59,130,246,.06)}.simulating .comp .blade.on{stroke:#16a34a;stroke-width:2.6}.simulating .comp.en .coil-body{fill:#fde047;stroke:#b45309}.simulating .comp.over .coil-body{fill:#fca5a5;stroke:#b91c1c}.simulating .comp.manual:hover line,.simulating .comp.manual:hover path{stroke:var(--sel)}.simulating .comp.manual.act path{stroke:#16a34a}.wire{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.wire.sel{stroke:var(--sel);stroke-width:3.5}.wire.draft{stroke:var(--sel);stroke-dasharray:6 4}.wire.l1{stroke:var(--l1);stroke-width:3}.wire.l2{stroke:var(--l2);stroke-width:3}.wire.l3{stroke:var(--l3);stroke-width:3}.wire.pe{stroke:var(--pe);stroke-width:3;stroke-dasharray:10 5}.wire.neutro{stroke:var(--neutro);stroke-width:3}.wire.mid{stroke:var(--mid);stroke-width:3}.wire.aux{stroke:var(--aux);stroke-width:3}.wire.off{stroke:var(--off);stroke-width:1.5}.wire.short{stroke:#db2777;stroke-width:4.5;animation:blink .5s steps(2) infinite}.junction{fill:var(--ink)}.junction.l1{fill:var(--l1)}.junction.l2{fill:var(--l2)}.junction.l3{fill:var(--l3)}.junction.pe{fill:var(--pe)}.junction.neutro{fill:var(--neutro)}.junction.mid{fill:var(--mid)}.junction.aux{fill:var(--aux)}.junction.off{fill:var(--off)}.junction.short{fill:#db2777}.pin-open{fill:#fff;stroke:#ef4444;stroke-width:1.5}.pin-hover{fill:rgba(34,197,94,.25);stroke:#16a34a;stroke-width:2}.draft-end{fill:var(--sel);opacity:.6}.band{fill:rgba(59,130,246,.08);stroke:var(--sel);stroke-dasharray:4 3;stroke-width:1;vector-effect:non-scaling-stroke}.lbl{font-family:"Segoe UI",Arial,sans-serif;dominant-baseline:central;fill:var(--ink);pointer-events:none}.lbl.tag{font-size:12px;font-weight:700;fill:#0f3d8c}.lbl.desc{font-size:10px;fill:#4b5563}.lbl.term{font-size:8.5px;fill:#6b7280}.lbl.srclbl{font-size:12px;font-weight:700}.lbl.timer{font-size:10px;font-weight:600;fill:#b45309}.lbl.note{font-weight:600}.lbl.meas{font-size:10px;font-weight:600;fill:#0369a1}.lbl.xref{font-size:10px;font-weight:700;fill:#7c3aed}.goto-ring{fill:none;stroke:#7c3aed;stroke-width:3;animation:goto 0.4s ease-in-out 4 alternate}@keyframes goto{from{stroke-opacity:1}to{stroke-opacity:.15}}.ruler-cell{fill:#eef2f7;stroke:#94a3b8;stroke-width:.6}.ruler-cell.alt{fill:#e2e8f0}.ruler-n{fill:#334155;font-weight:700;text-anchor:middle;dominant-baseline:central;font-family:"Segoe UI",Arial,sans-serif}.col-line{stroke:#cbd5e1;stroke-width:1;stroke-dasharray:2 6}.xref-table line{stroke:#7c3aed;stroke-width:.8}.xref-h{font-size:8px;font-weight:700;fill:#7c3aed;font-family:"Segoe UI",Arial,sans-serif}.xref-t{font-size:9px;fill:#4c1d95;dominant-baseline:central;font-family:"Segoe UI",Arial,sans-serif}.xref-c{font-size:9.5px;font-weight:700;fill:#7c3aed;font-family:"Segoe UI",Arial,sans-serif}.lbl.alarm{font-size:10px;font-weight:700;fill:#dc2626}@keyframes blink{50%{opacity:.25}}#inspector h2{margin:0 0 12px;font-size:15px}#inspector h3{margin:18px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.muted{color:var(--muted)}.form label{display:block;margin-bottom:10px}.form label[hidden]{display:none}.form label span{display:block;margin-bottom:3px;font-size:11px;color:var(--muted)}.form input,.form select{width:100%;padding:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.form input:focus,.form select:focus{outline:none;border-color:var(--accent)}.help{margin:14px 0;padding:10px 12px;font-size:12px;color:var(--text-2);background:var(--panel-2);border-radius:8px}.help ol{margin:6px 0 0;padding-left:18px}.help li{margin-bottom:4px}.btn-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.btn{padding:6px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;cursor:pointer}.btn:hover{background:var(--hover)}.btn.danger{color:var(--danger-text);border-color:var(--danger-line)}.btn.primary{background:var(--accent-2);border-color:var(--accent);color:var(--on-accent);padding:8px 14px}.btn.primary:hover{background:var(--accent-3)}table.keys,table.dev{width:100%;border-collapse:collapse;font-size:12px}table.keys td{padding:3px 4px;color:var(--text-2)}table.keys td:first-child{white-space:nowrap}table.dev td{padding:5px 4px;border-bottom:1px solid var(--line)}td.tagc{font-weight:700}td.on{color:var(--ok-text);font-weight:700}kbd{display:inline-block;padding:0 5px;font:11px/1.6 inherit;font-family:inherit;background:var(--panel-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px}.mini{padding:2px 8px;font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:999px;cursor:pointer}.mini.on{background:var(--ok-bg);border-color:#16a34a}.mini.alarm{background:var(--danger-bg);border-color:#dc2626}.legend div{margin:4px 0;font-size:12px;color:var(--text-2)}.legend .sw.pe{background:repeating-linear-gradient(90deg,var(--pe) 0 8px,#facc15 8px 12px)}.legend .sw{display:inline-block;width:22px;height:4px;margin-right:8px;vertical-align:middle;border-radius:2px}.alert{margin:8px 0;padding:8px 10px;font-size:12px;border-radius:8px}.alert.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.5);color:var(--alert-err)}.alert.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.45);color:var(--alert-warn)}.alert.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:var(--alert-ok)}#statusbar{display:flex;justify-content:space-between;gap:16px;padding:4px 12px;font-size:12px;color:var(--muted);background:var(--panel);border-top:1px solid var(--line)}#statusMsg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#statusPos{white-space:nowrap;font-variant-numeric:tabular-nums}.status-right{display:flex;gap:16px;white-space:nowrap}.status-author{color:var(--brand);font-weight:600}.credits{margin-top:18px;padding:10px 12px;text-align:center;font-size:12px;color:var(--brand-2);background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:8px}.credits strong{font-size:14px;color:var(--brand)}.card{display:none;position:absolute;z-index:5;width:260px;padding:10px 12px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.3)}.card.show{display:block}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700}.card .x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}.btn.wide{width:100%;margin-top:8px}.meter{left:12px;bottom:46px}.lcd{display:flex;justify-content:flex-end;align-items:baseline;gap:6px;padding:8px 12px;background:#b9c9a3;color:#1c2410;border-radius:6px;box-shadow:inset 0 2px 6px rgba(0,0,0,.35);font:700 32px/1 "Consolas","Courier New",monospace;letter-spacing:.04em}.lcd #lcdUnit{font-size:16px}.lcd-note{min-height:16px;margin:6px 0;font-size:11px;color:var(--brand-2)}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.seg button{padding:6px 0;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-weight:600}.seg button.active{background:var(--accent-2);border-color:var(--accent);color:var(--on-accent)}.exercise{right:12px;top:12px;width:300px}.ex-text{white-space:pre-wrap;font-size:12px;color:var(--text-2);margin-bottom:8px}.ex-progress{font-weight:700;color:var(--brand-2);margin-bottom:6px}#exReport .alert{margin:6px 0}#exReport select{width:100%;margin:6px 0;padding:6px;background:var(--bg);border:1px solid var(--line);border-radius:6px}body.exercise-mode #palette{display:none}body.exercise-mode #sidebar::after{content:"Modalità esercizio:lo schema è bloccato. Avvia la simulazione,misura con gli strumenti e segnala i guasti.";display:block;padding:14px;color:var(--muted);font-size:12px}.probe circle{stroke:#fff;stroke-width:2}.probe.red circle{fill:#dc2626}.probe.black circle{fill:#111}.probe text,.clamp text{font:700 11px "Segoe UI",sans-serif;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px}.probe.red text{fill:#dc2626}.clamp circle{fill:none;stroke:#f59e0b;stroke-width:4}.clamp text{fill:#b45309}.clamp-box{fill:rgba(245,158,11,.08);stroke:#f59e0b;stroke-width:3;stroke-dasharray:8 4}.wire.faulted{stroke:#dc2626;stroke-dasharray:3 4}.fault-badge{font-size:16px;fill:#dc2626;text-anchor:middle;dominant-baseline:central;pointer-events:none}.handle{fill:#fff;stroke:var(--sel);stroke-width:2;vector-effect:non-scaling-stroke}.comp .img-missing{fill:#f3f4f6;stroke:#9ca3af;stroke-dasharray:4 3}.comp.t-image.sel image{outline:2px solid var(--sel)}.fault-box{margin-top:14px;padding:10px;border:1px dashed var(--danger-line);border-radius:8px;background:rgba(127,29,29,.15)}.fault-box h3{margin-top:0 !important;color:var(--danger-text) !important}textarea.notes{width:100%;min-height:70px;padding:6px 8px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;font:inherit;resize:vertical}.comp .meter-body{fill:#f8fafc}.comp .meter-lcd{fill:#b9c9a3;stroke-width:1.5}.comp text.meter-txt{font:700 11px "Consolas","Courier New",monospace;fill:#1c2410}.comp .meter-led{fill:#d1d5db;stroke-width:1}.comp .meter-led.on{fill:#22c55e}.comp .meter-led.off{fill:#dc2626}.comp .meter-pulse{fill:#4b1d1d;stroke-width:1}.comp .meter-pulse.on{fill:#ff3b30;filter:drop-shadow(0 0 3px #ff3b30)}.comp text.meter-ltxt{font:600 6.5px "Segoe UI",Arial,sans-serif;text-anchor:start}.chrono{font:700 22px Consolas,"Courier New",monospace;text-align:center;padding:4px;margin:4px 0 8px;background:#0b0e11;border:1px solid var(--line);border-radius:6px;color:#9aa4b1}.chrono.run{color:#4ade80}.led-meter{font-weight:700;margin-top:6px}.led-row{font-size:12px;margin:2px 0 2px 8px}.modal{display:none;position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:16px}.modal.show{display:flex}.modal-box{width:min(760px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px}.modal-head .x{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer}.modal-body{overflow-y:auto;padding:4px 16px 16px}.modal-body section{padding:12px 0;border-bottom:1px solid var(--line)}.modal-body section:last-child{border-bottom:0}.modal-body h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid2 .span2{grid-column:span 2}.checks label{display:block;margin:4px 0}.checks input{margin-right:6px}table.bom{width:100%;border-collapse:collapse;font-size:12px}table.bom th,table.bom td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.bom th{color:var(--muted);font-weight:600}table.bom td.q{text-align:center;font-weight:700}.comp .user-body{fill:#f1f5f9}.comp text.user-txt{font-size:10px;font-weight:700}.simulating .comp.en .user-body{fill:#fef3c7}.adj{margin:6px 0 10px}.adj-head{font-size:12px;margin-bottom:2px}.adj-row{display:flex;align-items:center;gap:6px}.adj-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.adj-row input[type=number]{width:78px;padding:3px 5px;background:var(--bg);border:1px solid var(--line);border-radius:5px}.adj-row span{width:18px;color:var(--muted);font-size:11px}.ask-box{width:min(520px,100%)}.ask-box .modal-body p{margin:12px 0 0;line-height:1.5}.ask-buttons{justify-content:flex-end;margin:0;padding:12px 16px 16px}.desc-box{width:min(900px,100%);height:calc(100vh - 32px)}.desc-box .modal-body{flex:1;padding-top:8px}.desc-sec{padding:10px 0;border-bottom:1px solid var(--line)}.desc-sec:last-child{border-bottom:0}.desc-head{display:flex;gap:6px;align-items:center;margin-bottom:6px}.desc-title{flex:1;min-width:0;padding:5px 8px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:700}.desc-title:focus,textarea.desc-text:focus{outline:none;border-color:var(--accent)}textarea.desc-text{display:block;width:100%;min-height:70px;padding:8px 10px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;font:inherit;line-height:1.5;resize:vertical;overflow:hidden}.desc-sec.ro h4{margin:0 0 6px;font-size:14px}.desc-sec.ro p{margin:0;line-height:1.55;white-space:pre-wrap}.desc-buttons{margin:0;padding:12px 16px 16px;border-top:1px solid var(--line)}.desc-buttons .spacer{flex:1}#canvas{-webkit-touch-callout:none}body.lim{font-size:15px}body.lim main{grid-template-columns:280px 1fr 310px}body.lim .toolbar{gap:12px;padding:8px 12px}body.lim .toolbar button:not(.pen-pop button),body.lim .toolbar select{padding:10px 15px;min-height:44px}body.lim #projectName{padding:10px 8px}body.lim .sector-tabs button{padding:12px 6px}body.lim .pal-item{padding:7px 12px;min-height:52px}body.lim .pal-icon{width:34px;height:46px}body.lim #palette h3,body.lim #inspector h3{font-size:12.5px}body.lim .form input,body.lim .form select{padding:10px}body.lim .form label span{font-size:13px}body.lim .btn{padding:10px 16px;min-height:44px}body.lim .adj-row input[type=range]{height:32px}body.lim .adj-row input[type=number]{padding:8px;width:90px}body.lim .modal-head .x{font-size:22px;padding:6px 10px}body.lim .seg button{padding:10px}.pen-wrap{position:relative}#penBtn{display:inline-flex;align-items:center;gap:4px}#penPreview{display:inline-flex;background:var(--paper);border-radius:3px;padding:0 2px}.pen-pop{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:300px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.pen-pop.show{display:block}.pen-head{font-weight:700;margin-bottom:4px}.pen-pop p{margin:0 0 8px;font-size:12px}.pen-check{display:block;margin-top:10px;font-size:12px}.pen-check input{margin-right:6px}.pen-check .muted{display:block;margin-left:22px}.wstyle{margin:6px 0 10px}.wst-label{font-size:11px;color:var(--muted);margin:8px 0 4px}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0;box-shadow:inset 0 0 0 2px var(--panel)}.swatch.on{border-color:var(--text);outline:2px solid var(--accent)}.swatch.custom{position:relative;overflow:hidden;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red)}.swatch.custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border:0;padding:0}.widths{display:grid;grid-template-columns:1fr 1fr;gap:4px}.wbtn{display:flex;align-items:center;gap:6px;padding:4px 6px;cursor:pointer;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;font-size:12px}.wbtn svg{background:var(--paper);border-radius:3px;flex:none}.wbtn.on{border-color:var(--accent);background:var(--accent-soft)}body.lim .swatch{width:38px;height:38px}body.lim .wbtn{padding:9px 8px;font-size:14px}body.lim .pen-pop{width:360px}.wlbl{font:600 10px "Segoe UI",Arial,sans-serif;fill:#374151;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}body.simulating .wlbl{stroke:#f6faf6}.wire-card{display:none;position:absolute;z-index:30;width:310px;max-height:calc(100% - 16px);overflow-y:auto;padding:10px 12px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.45)}.wire-card.show{display:block}.wire-card .card-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:6px}.wire-card .x{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer}.wform .row{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:6px;margin:6px 0}.wform .row>span{font-size:11px;color:var(--muted)}.wform input[type=text],.wform select{width:100%;padding:5px 7px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.wform input[type=text]:focus,.wform select:focus{outline:none;border-color:var(--accent)}.wform .row label{font-size:11px;color:var(--muted);white-space:nowrap}.wform .row label input{margin:0 3px 0 0;vertical-align:-2px}.wform .net{display:block;margin:8px 0 4px;font-size:12px}.wform .net input{margin-right:6px}.wform .btn-row{margin:8px 0 0}body.lim .wire-card{width:360px}body.lim .wform input[type=text],body.lim .wform select{padding:9px}.rcd-zone{margin-top:3px;padding:2px 6px;border-radius:4px;font-size:11px;line-height:1.35}.rcd-zone.ok{background:rgba(22,163,74,.18);color:var(--ok-text)}.rcd-zone.forse{background:rgba(234,179,8,.2);color:var(--alert-warn)}.rcd-zone.deve{background:rgba(220,38,38,.22);color:var(--danger-text)}.mini.test{display:block;margin-top:4px}.rcd-zone.term{background:rgba(234,88,12,.22);color:var(--alert-term)}.theory-box{width:min(680px,100%)}.theory-body h3{margin:16px 0 6px}.theory-body p,.theory-body li{line-height:1.5}.theory-body ul{padding-left:20px}.theory-body .rcd-zone{display:inline-block;margin:0;white-space:nowrap}.btn.theory{margin:0 0 4px}.mini.theory{display:block;margin-top:4px;white-space:nowrap}.code-modal{z-index:80;background:rgba(10,12,15,.92)}.code-box{width:300px;padding:18px 20px 20px;text-align:center;position:relative}.box-x{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:4px 6px}.box-x:hover{color:var(--text)}body.lim .box-x{font-size:22px;padding:6px 10px}.code-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.code-brand b{font-size:18px}.code-brand b::first-letter{color:var(--brand)}.code-brand span{font-size:13px;color:var(--brand-2)}.code-brand strong{color:var(--brand)}.code-box h2{margin:6px 0 4px;font-size:16px}.code-box p{margin:0 0 12px;font-size:12px}.code-display{display:flex;justify-content:center;gap:10px;margin-bottom:6px}.code-display span{width:38px;height:46px;display:grid;place-items:center;font-size:20px;color:#fbbf24;background:#0b0e11;border:2px solid var(--line);border-radius:8px}.code-display span.full{border-color:var(--accent)}.code-msg{min-height:18px;font-size:12px;color:var(--danger-text);margin-bottom:6px}.code-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.code-pad button{height:48px;font:600 20px "Segoe UI",sans-serif;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}.code-pad button:hover{background:var(--hover)}.code-pad button.ok{background:var(--accent-2);border-color:var(--accent);color:var(--on-accent);font-size:16px}.code-box.shake{animation:shake .35s}@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.code-help{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);line-height:1.5}.code-help p{margin:0 0 6px;font-size:11.5px}.code-help p:last-child{margin-bottom:0}.code-help-go{color:var(--text)}.code-help-mail a{color:var(--accent)}.status-link{background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer}.status-link:hover{color:var(--text);text-decoration:underline}.report-box{width:min(560px,100%)}.report-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.report-btn{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:10px 12px;font:600 14px "Segoe UI",sans-serif;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}.report-btn:hover{background:var(--hover)}.report-btn.on{border-color:var(--accent);background:var(--accent-2);color:var(--on-accent)}.report-btn small{font-size:11.5px;font-weight:400;color:var(--muted)}.report-btn.on small{color:var(--on-accent)}.report-subject{margin:14px 0 0;line-height:1.6}.report-what{display:block;margin-top:10px;font-size:12px;color:var(--muted)}.report-what textarea{margin-top:4px;font-size:13px}.report-priv{margin:8px 0 0;font-size:12px;color:var(--muted)}.report-tech{margin-top:10px;font-size:12px;color:var(--muted)}.report-tech>summary{cursor:pointer;color:var(--accent)}.report-tech pre{margin:6px 0 0;padding:8px 10px;white-space:pre-wrap;word-break:break-word;font:11.5px/1.5 Consolas,monospace;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px}@media (max-width:600px){.report-choices{grid-template-columns:minmax(0,1fr)}.status-link .sl-lb{display:none}}.comp .gate-body{fill:#fff}.comp .gate-arc{fill:none}.comp text.lsym{font:700 12px "Segoe UI",Arial,sans-serif}.comp .lin-box,.comp .lprobe{fill:#fff}.comp text.lval{font:700 15px Consolas,"Courier New",monospace}.comp .lled{fill:#e5e7eb}.simulating .comp .lin-box.v1,.simulating .comp .lprobe.v1{fill:#fee2e2;stroke:#dc2626}.simulating .comp .lin-box.v0,.simulating .comp .lprobe.v0{fill:#dbeafe;stroke:#2563eb}.simulating .comp .lled.v1{fill:#ef4444;stroke:#b91c1c;filter:drop-shadow(0 0 5px #ef4444)}.simulating .comp .lled.v0{fill:#4b1d1d}.simulating .comp .lprobe.vc,.simulating .comp .lled.vc{fill:#fbcfe8;stroke:#db2777}.simulating .comp .lwire.v1{stroke:#dc2626}.simulating .comp .lwire.v0{stroke:#2563eb}.simulating .comp .lwire.vx{stroke:#9ca3af}.wire.lg1{stroke:#dc2626}.wire.lg0{stroke:#2563eb}.wire.lgx{stroke:#9ca3af}.junction.lg1{fill:#dc2626}.junction.lg0{fill:#2563eb}.junction.lgx{fill:#9ca3af}.logic-box{margin:10px 0}.lv{display:inline-block;min-width:24px;text-align:center;font:700 13px Consolas,monospace;border-radius:4px;padding:1px 6px}.lv.v1{background:#7f1d1d;color:#fecaca}.lv.v0{background:#1e3a8a;color:#bfdbfe}.lv.vx{background:#374151;color:#d1d5db}.lv.vc{background:#831843;color:#fbcfe8}.tt-wrap{max-height:50vh;overflow:auto;margin-top:8px}table.tt{border-collapse:collapse;margin:0 auto;font:13px Consolas,monospace}table.tt th,table.tt td{border:1px solid var(--line);padding:3px 12px;text-align:center}table.tt th.out,table.tt td.out{background:var(--accent-soft);font-weight:700}table.tt td.v1{color:var(--danger-text)}table.tt .sep{border:0;width:8px;padding:0}.comp text.lpin{font:600 9px "Segoe UI",Arial,sans-serif;dominant-baseline:central}.comp text.lcount{font:700 22px Consolas,monospace;fill:#b91c1c}.trace-card{display:none;position:absolute;width:auto;left:12px;right:12px;bottom:46px;z-index:20;max-height:45%;overflow:auto}.trace-card.show{display:block}.trace-tools{display:flex;align-items:center;gap:6px}.trace-tools select{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:2px 4px}.trace-tools .x{background:none;border:0;color:var(--muted);font-size:15px;cursor:pointer}.trace-svg{width:100%;height:auto;display:block;background:#0b0e11;border-radius:6px}.trace-svg .tr-grid{stroke:#232a33;stroke-width:1}.trace-svg .tr-base{stroke:#2b333d;stroke-width:1}.trace-svg .tr-time{fill:#6b7280;font:9px Consolas,monospace;text-anchor:middle}.trace-svg .tr-name{fill:#e6e9ee;font:600 11px "Segoe UI",sans-serif;text-anchor:end;dominant-baseline:central}.trace-svg .tr-wave{fill:none;stroke:#4ade80;stroke-width:2;stroke-linejoin:round}.trace-svg .tr-wave.clk{stroke:#fbbf24}.comp .disp-body{fill:#111827}.comp .seg{stroke:#3f1d1d;stroke-width:6;stroke-linecap:round}.comp .seg.on{stroke:#ff3b30;filter:drop-shadow(0 0 3px #ff3b30)}.tt-h{margin-top:14px}.tt-an{border-top:1px solid var(--line);padding:8px 0}.tt-an h4{margin:0 0 4px}.tt-an .expr{font:600 14px Consolas,"Cambria Math",monospace}.kwrap{margin-top:6px}table.kmap{border-collapse:collapse;font:13px Consolas,monospace}table.kmap th,table.kmap td{border:1px solid var(--line);padding:4px 10px;text-align:center;min-width:34px}table.kmap th{color:var(--muted);font-weight:600}table.kmap th.corner{font-size:11px}table.kmap td.one{background:rgba(239,68,68,.14);font-weight:700}table.kmap td.dc{color:var(--muted)}table.kmap .grp{display:flex;gap:2px;justify-content:center;margin-top:2px;min-height:5px}table.kmap .grp i,.kgroups i{display:inline-block;width:12px;height:5px;border-radius:2px}.kgroups{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;font:13px Consolas,monospace}.kgroups span{display:inline-flex;align-items:center;gap:4px}.theme-wrap{position:relative}.theme-pop{width:280px}.theme-opt{display:flex;align-items:center;gap:10px;width:100%;margin:4px 0;padding:7px 8px;text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}.theme-opt:hover{background:var(--hover)}.theme-opt.on{border-color:var(--accent);background:var(--accent-soft)}.theme-opt b{display:block}.theme-opt small{display:block;color:var(--muted);font-size:11px}.theme-sw{flex:none;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:34px;height:24px;border-radius:5px;overflow:hidden;border:1px solid var(--line)}.theme-sw i:first-child{grid-row:span 2}body.lim .theme-pop{width:340px}body.lim .theme-opt{padding:11px 10px}:root[data-theme="contrasto"] body{font-size:15px}:root[data-theme="contrasto"] body.lim{font-size:17px}:root[data-theme="contrasto"] .muted,:root[data-theme="contrasto"] .form label span,:root[data-theme="contrasto"] #palette h3,:root[data-theme="contrasto"] #inspector h3{font-weight:600}:root[data-theme="contrasto"] .toolbar button:not(.pen-pop button),:root[data-theme="contrasto"] .toolbar select,:root[data-theme="contrasto"] .btn,:root[data-theme="contrasto"] .sector-tabs button{border-width:2px;font-weight:600}:root[data-theme="contrasto"]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}:root[data-theme="contrasto"] .pal-icon{width:34px;height:46px}:root[data-theme="contrasto"] .alert{border-width:2px;font-weight:600}:root[data-theme="contrasto"] .alert.error{background:#5c0000}:root[data-theme="contrasto"] .alert.warn{background:#4d3a00}:root[data-theme="contrasto"] .alert.ok{background:#003d00}:root[data-theme="contrasto"] .ptab:not(.current){color:var(--text)}:root[data-theme="contrasto"] button:disabled,:root[data-theme="contrasto"] select:disabled{opacity:.55}:root[data-theme="contrasto"] .legend .sw{box-shadow:0 0 0 1px #ffffff}:root[data-theme="contrasto"] .ptab.current{border:2px solid var(--accent);border-top:0}:root[data-theme="contrasto"] .comp line,:root[data-theme="contrasto"] .comp rect,:root[data-theme="contrasto"] .comp path,:root[data-theme="contrasto"] .comp circle,:root[data-theme="contrasto"] .comp ellipse{stroke-width:2.6}:root[data-theme="contrasto"] .wire{stroke-width:2.6}:root[data-theme="contrasto"] .wire.l1,:root[data-theme="contrasto"] .wire.l2,:root[data-theme="contrasto"] .wire.l3,:root[data-theme="contrasto"] .wire.pe,:root[data-theme="contrasto"] .wire.neutro,:root[data-theme="contrasto"] .wire.mid,:root[data-theme="contrasto"] .wire.aux{stroke-width:3.6}:root[data-theme="contrasto"] .wire.sel{stroke-width:4.5}:root[data-theme="contrasto"] .lbl,:root[data-theme="contrasto"] .comp text{font-weight:700}:root[data-theme="contrasto"] .lbl.desc,:root[data-theme="contrasto"] .lbl.term{fill:#111111}.ov-wrap{position:relative}#ovBtn{font-size:17px;font-weight:700;line-height:1;min-width:38px}.ov-pop{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:45;width:270px;max-height:calc(100vh - 80px);overflow-y:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.ov-pop.show{display:block}.ov-pop>button,.ov-pop>select,.ov-pop .theme-wrap>button{display:flex !important;align-items:center;gap:6px;width:100%;margin:3px 0;text-align:left}.ov-pop .lb{display:inline}.ov-pop .icon{font-size:inherit}.ov-pop [data-kbd]::after{content:attr(data-kbd);margin-left:auto;padding-left:10px;font-size:11px;color:var(--muted)}.ov-pop .zoom-box{margin:3px 0}.ov-pop .zoom-box::before{content:"Zoom";margin-right:auto;color:var(--muted)}.ov-pop .pn-wrap{display:block;margin:6px 0 3px}.ov-pop .pn-wrap .lb{display:block;margin:0 0 2px 2px;font-size:11px;color:var(--muted)}.ov-pop #projectName{width:100%;background:var(--panel-2);border-color:var(--line)}.ov-pop .theme-pop{position:static;width:auto;margin:4px 0;box-shadow:none}body.lim .ov-pop{width:330px}.teacher-login{margin-top:14px}.teacher-badge{display:inline-flex;align-items:center;gap:6px;padding:0 8px;border-radius:999px;font-weight:700;color:#1a1200;background:#fbbf24}.teacher-badge[hidden]{display:none}.teacher-badge button{padding:0 8px;font:inherit;font-size:11px;color:#1a1200;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.25);border-radius:999px;cursor:pointer}.form.station{margin-top:14px}.online-box table.online td{vertical-align:top}.online-box .btn-row a.btn{text-decoration:none;color:var(--text)}.watch-badge{position:absolute;bottom:46px;right:12px;z-index:6;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;color:#1a1200;background:#fbbf24;box-shadow:0 4px 12px rgba(0,0,0,.2);pointer-events:none}.watch-badge[hidden]{display:none}body.lim .watch-badge{bottom:56px;font-size:14px}.online-box button.link{padding:0;background:none;border:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.online-box table.online td:first-child{width:22px}#emptyHint .hint-mail{margin:14px 0 0;font-size:12px;color:#4b5563}#emptyHint .hint-mail a{color:#1d4ed8}.credits-mail{margin-top:6px;font-size:11.5px}.credits-mail a{color:var(--brand)}.where-box{width:380px;text-align:left}.where-box h2,.where-box .code-brand{text-align:center}.where-last{margin:4px 0 10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);text-align:center}.where-last .btn-row{justify-content:center;margin:8px 0 0}.where-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}.where-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;font:600 15px "Segoe UI",sans-serif;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.where-btn small{font-size:11px;font-weight:400;color:var(--muted)}.where-btn.on{border-color:var(--accent);background:var(--accent-soft)}.where-teacher{display:block;margin:2px auto 6px;padding:4px 8px;border:0;background:none;color:var(--muted);font:12.5px "Segoe UI",sans-serif;text-decoration:underline;cursor:pointer}.where-teacher:hover{color:var(--text)}.where-form{margin-top:10px}.where-form label{display:block;margin-bottom:8px}.where-privacy{margin:12px 0 0;text-align:center;font-size:11.5px;color:var(--muted)}.where-privacy a{color:var(--accent)}.where-help{margin:10px 0 0;text-align:left;font-size:12.5px;color:var(--muted)}.where-help>summary{cursor:pointer;text-align:center;color:var(--accent)}.where-help p{margin:8px 0 0}.where-help code{font-family:Consolas,monospace;color:var(--text)}.where-help-go{margin-top:10px;text-align:center;color:var(--text);line-height:1.7}.where-help-mail{margin-top:6px;text-align:center;font-size:11.5px}.where-help-mail a{color:var(--accent)}body.lim .where-box{width:440px}body.lim .where-btn{padding:16px 8px;font-size:17px}.where-sum{margin:14px 0 4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px}.where-sum b{font-size:13px}.toolbar .drawer-btn{display:none}#drawerVeil{display:none}@media (max-width:1023.98px){main,body.lim main{grid-template-columns:minmax(0,1fr);position:relative;overflow-x:clip}.toolbar .drawer-btn{display:inline-block;flex:none}.toolbar.sim-compact .drawer-btn .dl,.toolbar.sim-compact [data-cmd="meter"] .dl{display:none}body.simulating .toolbar .drawer-btn[data-drawer="pal"]{display:none}body.lim .toolbar{gap:6px;padding:8px}body.lim .brand-author .ba-pre{display:none}#sidebar,#inspector{position:absolute;top:0;bottom:0;z-index:35;width:min(300px,86vw);transition:transform .2s ease,visibility .2s;visibility:hidden;box-shadow:0 0 24px rgba(0,0,0,.45)}#sidebar{left:0;transform:translateX(-105%)}#inspector{right:0;transform:translateX(105%)}body.drawer-pal #sidebar,body.drawer-ins #inspector{transform:none;visibility:visible}#drawerVeil{display:block;position:absolute;inset:0;z-index:34;background:rgba(0,0,0,.3)}#drawerVeil[hidden]{display:none}#statusMsg{display:none}#statusbar{justify-content:flex-end}}@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){#sidebar,#inspector{transition:none}}@media (max-width:600px){.toolbar,body.lim .toolbar{gap:4px;padding:6px}.brand-name{font-size:14px}.brand-author{font-size:11.5px}.brand-author .ba-pre{display:none}#examples,body.lim #examples{width:96px}#inspector{top:auto;left:0;right:0;bottom:0;width:auto;height:50%;transform:translateY(105%);border-left:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0}.card,.wire-card,.code-box,.where-box,body.lim .where-box,body.lim .wire-card,.pen-pop,body.lim .pen-pop,.theme-pop,body.lim .theme-pop,.ov-pop,body.lim .ov-pop{max-width:calc(100vw - 16px)}.exercise{left:8px;right:8px;width:auto}body.lim .toolbar button:not(.pen-pop button),body.lim .toolbar select{padding:6px 9px;min-height:40px}.grid2{grid-template-columns:minmax(0,1fr)}.modal{padding:8px}}.code-box,.where-box{overflow-y:auto}@media (max-height:520px){.code-modal{padding:6px}.code-box,.where-box{padding:10px 14px 12px;max-height:calc(100vh - 12px)}.code-brand{margin-bottom:4px}.code-box p{margin-bottom:6px}.code-display span{height:36px}.code-pad{gap:6px}.code-pad button{height:38px;font-size:18px}.code-box>p{display:none}.code-help{margin-top:8px;padding-top:8px}.code-help p{margin-bottom:4px}}.esame{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}.esame h3{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.esame .piano{margin-top:10px;font-size:11.5px;font-style:italic}.pb{margin:0 0 7px;padding:7px 9px;border-radius:7px;line-height:1.45;font-size:12.5px}.pb.errore{background:var(--danger-bg);border:1px solid rgba(220,38,38,.45);color:var(--danger-text)}.pb.avviso{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.45);color:var(--alert-warn)}.pb.nota{background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.pb.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:var(--alert-ok)}.pb .mini{margin-left:6px;vertical-align:baseline}.passi{margin:0 0 10px;padding-left:22px}.passi .passo{margin-bottom:9px}.passo-t{font-weight:600}.passo-f{margin-top:2px;font-family:Consolas,monospace;color:var(--brand-2)}.passo-n{font-family:Consolas,monospace;font-size:11.5px;color:var(--muted)}.passo-r{margin-top:2px}.passo-x{margin-top:2px;font-size:12px;color:var(--muted)}.fig-blocco{margin:0 0 14px;padding:8px 9px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}.fig-cap{font-weight:600;margin-bottom:4px}.fig-n{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:5px;font-size:11px;background:var(--accent-2);color:var(--on-accent);border-radius:50%}.fig-nota{margin:6px 0 0;font-size:11.5px;color:var(--muted)}.fig{display:block;width:100%;height:auto;margin-top:7px;background:var(--paper);border-radius:5px;padding:2px 0}.fig .fig-l{stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}.fig .fig-box{fill:var(--paper);stroke:var(--ink);stroke-width:1.6}.fig .fig-box.fig-on{stroke:var(--accent);stroke-width:2.6}.fig .fig-pin{fill:var(--ink);stroke:none}.fig .fig-t{fill:var(--ink);stroke:none;text-anchor:middle;dominant-baseline:central;font-family:"Segoe UI",Arial,sans-serif;font-size:11px}.fig .fig-nome{font-weight:700}.fig .fig-nome.fig-on{fill:var(--accent)}.fig .fig-val{font-size:10px;opacity:.78}.tab-vi{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:4px}.tab-vi th,.tab-vi td{padding:3px 4px;border-bottom:1px solid var(--line);text-align:right}.tab-vi th{color:var(--muted);font-weight:600}.tab-vi td.n,.tab-vi th:first-child{text-align:left;font-weight:700}.tab-vi tr.spento td{color:var(--muted);font-style:italic}.modo{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.modo .mini.on{background:var(--accent-2);border-color:var(--accent);color:var(--on-accent)}.modo select{padding:3px 5px;background:var(--bg);border:1px solid var(--line);border-radius:6px;font-size:11.5px}.fig.interattiva .fig-el{cursor:pointer}.fig .fig-presa{fill:transparent;stroke:none}.fig.interattiva .fig-el:hover .fig-box{stroke:var(--accent)}.fig.interattiva .fig-el:hover .fig-nome{fill:var(--accent)}.valore{margin:8px 0;padding:8px 9px;background:var(--panel-2);border:1px solid var(--accent);border-radius:8px}.valore label>span{display:block;margin-bottom:4px;font-size:12px}.valore input{width:100%;padding:5px 7px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.valore .btn-row{margin-top:7px}.passo-fatto{margin-bottom:4px;font-size:12px}.dopo-avviso{margin:-6px 0 14px;padding:0 9px}.consegna-campo{display:block;margin-bottom:9px;font-size:11.5px;color:var(--muted)}.consegna-campo>span{display:block;margin-bottom:2px}.consegna-campo input{width:100%;padding:4px 6px;background:var(--bg);border:1px solid var(--line);border-radius:6px;font-size:12px}.dato-noto{margin:8px 0 10px;padding:8px 9px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}.dato-noto label{margin-bottom:7px}.dato-noto label:last-child{margin-bottom:0}