:root{color-scheme:dark;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#eaf6ff;background:#07101e;font-synthesis:none;--cyan: #45d9ff;--panel: rgba(10, 23, 39, .82);--border: rgba(126, 201, 242, .18)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit}.lab-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;width:100%;height:100%;background:#07101e}.viewport{position:relative;min-width:0;overflow:hidden}.scene-canvas{display:block;width:100%;height:100%;touch-action:none;outline:0}.glass{background:var(--panel);border:1px solid var(--border);box-shadow:0 12px 35px #00000040,inset 0 1px #ffffff09;backdrop-filter:blur(15px)}.topbar{position:absolute;z-index:5;top:18px;left:18px;right:18px;min-height:64px;border-radius:14px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.eyebrow{color:#73b8d6;font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.15em}h1{font-size:18px;margin:4px 0 0;font-weight:680;letter-spacing:.03em}.power-strip{display:flex;align-items:center;gap:13px;color:#a7c2d4;font:600 11px ui-monospace,monospace}.status-dot{width:8px;height:8px;border-radius:50%;background:#53ef9c;box-shadow:0 0 10px #53ef9c}.quality{border:1px solid #3b8ca8;padding:4px 7px;border-radius:6px;color:#75defb}.gate-selector{position:absolute;z-index:6;left:18px;top:98px;padding:7px;border-radius:12px;display:flex;align-items:center;gap:5px}.gate-selector>span{padding:0 9px;color:#8ab;font-size:11px}.gate-selector button,.toolbar button{border:1px solid transparent;background:#ffffff0a;border-radius:8px;padding:8px 12px;cursor:pointer;transition:.2s ease}.gate-selector button{min-width:70px}.gate-selector button small{display:block;color:#68889a;font:10px ui-monospace,monospace}.gate-selector button:hover,.toolbar button:hover{background:#45d9ff1f}.gate-selector button.active{border-color:#41c8eb;color:#8ae7ff;background:#2eafd22e;box-shadow:inset 0 0 16px #30bde221}.canvas-help{position:absolute;z-index:4;bottom:20px;left:18px;padding:9px 12px;border-radius:9px;color:#7895a8;font-size:10px;line-height:1.6;pointer-events:none}.toolbar{position:absolute;z-index:6;top:98px;right:18px;padding:6px;border-radius:10px;display:flex;gap:3px}.toolbar button{padding:8px 9px;font-size:11px}.switch-controls{position:absolute;z-index:5;left:20px;bottom:92px;display:flex;gap:8px}.switch-control{min-width:116px;background:#0b1a2adb;border:1px solid rgba(86,206,239,.25);padding:9px 10px;border-radius:10px;cursor:pointer;text-align:left}.switch-control b{color:#58dcff;margin-right:7px}.switch-control span{color:#91aabd;font-size:11px}.switch-control em{display:block;margin-top:5px;font: 700 11px ui-monospace,monospace;color:#6feab0}.switch-control.closed em{color:#81909b}.side-panel{background:linear-gradient(180deg,#091525,#07111f);border-left:1px solid #162f43;padding:18px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:11px;z-index:8}.side-panel section{border-radius:13px;padding:14px}.logic-heading{display:flex;justify-content:space-between;align-items:center}h2{font-size:16px;margin:4px 0}.chip-badge{color:#8ce8ff;border:1px solid #28667c;background:#102d3b;border-radius:6px;padding:5px 8px;font:700 11px ui-monospace,monospace}.gate-symbol{display:block;border:0;color:#73dfff;background:transparent;width:100%;height:104px;cursor:pointer;padding:5px 35px;transition:.2s}.gate-symbol:hover{color:#fff;transform:scale(1.03)}.gate-symbol svg{width:100%;height:100%}.expression{text-align:center;color:#8ca8b9;font-size:11px}.expression code{color:#fff;font-size:18px}.expression p{margin:6px 0 0}.state-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.state-values>div{border:1px solid #1b4055;background:#0c1b2a;border-radius:9px;padding:8px;text-align:center}.state-values span{display:block;color:#7594a6;font:700 11px ui-monospace,monospace}.state-values b{display:block;color:#58e1ff;font:700 27px ui-monospace,monospace;text-shadow:0 0 14px rgba(72,220,255,.5)}.state-values small{display:block;height:24px;color:#607a89;font-size:8px;line-height:1.3}.led-badge{display:flex;gap:10px;align-items:center;margin-top:10px;padding:9px;border-radius:9px;background:#0b1723}.led-badge i{width:22px;height:22px;flex:none;border-radius:50%;background:#421418;border:3px solid #6f2228}.led-badge.on i{background:#ff3328;box-shadow:0 0 8px #ff2d22,0 0 22px #ff2e20cc}.led-badge span{font-size:12px}.led-badge small{display:block;color:#7894a5;margin-top:2px}.connection-note{margin-top:9px;color:#8da7b7;font-size:10px;line-height:1.7}.connection-note code{color:#ffb34b}h3{font-size:12px;margin:0 0 8px;color:#bfd5e1}h3 small{color:#56758a;font-weight:400}table{width:100%;border-collapse:separate;border-spacing:0 4px;text-align:center;font:12px ui-monospace,monospace}th{color:#5f8297;font-size:10px;padding:3px}td{background:#0b1a28;padding:6px;color:#9cb4c3}tr td:first-child{border-radius:6px 0 0 6px}tr td:last-child{border-radius:0 6px 6px 0}tr.current td{background:#2fb0d138;color:#d9f9ff;box-shadow:inset 0 1px #39b9db,inset 0 -1px #39b9db}.misconception p{margin:6px 0;padding-left:9px;border-left:2px solid #f2a53b;color:#91a9b7;font-size:10px;line-height:1.45}.info-card{position:absolute;z-index:20;width:330px;left:22px;top:160px;padding:17px;border-radius:14px;opacity:0;transform:translate(-20px);pointer-events:none;transition:.25s}.info-card.visible{opacity:1;transform:none;pointer-events:auto}.info-card .close{position:absolute;right:8px;top:7px;border:0;background:none;color:#7894a5;font-size:22px;cursor:pointer}.info-card h4{margin:0 0 13px;color:#58dfff;font:11px ui-monospace,monospace}dl{margin:0}dt{color:#7095a9;font-size:10px;margin-top:9px}dd{margin:2px 0 0;color:#c3d4dd;font-size:11px;line-height:1.5}.hover-label{position:fixed;z-index:40;padding:5px 8px;border-radius:5px;background:#0d2434;border:1px solid #3a9fc2;font-size:10px;opacity:0;pointer-events:none}.hover-label.visible{opacity:1}.toast{position:absolute;z-index:30;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#102433;border:1px solid #397c98;border-radius:9px;padding:10px 15px;font-size:11px;transition:.22s;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{border-color:#e84e58;color:#ffadb2}.toast.success{border-color:#36c481;color:#9af2c5}.demo-caption{position:absolute;z-index:9;left:50%;bottom:24px;transform:translate(-50%,20px);padding:12px 18px;border-radius:10px;font-size:12px;opacity:0;transition:.2s;pointer-events:none}.demo-caption.visible{opacity:1;transform:translate(-50%)}.practice-panel{position:absolute;z-index:25;left:50%;top:50%;width:350px;padding:18px;border-radius:14px;opacity:0;transform:translate(-50%,-45%);pointer-events:none;transition:.25s}.practice-panel.visible{opacity:1;transform:translate(-50%,-50%);pointer-events:auto}.practice-head{display:flex;justify-content:space-between}.practice-head button{background:none;border:0;font-size:22px;cursor:pointer}.progress{height:5px;background:#122a3b;border-radius:5px;overflow:hidden;margin:13px 0}.progress i{display:block;height:100%;background:#48dc9b;transition:.25s}.practice-step{min-height:48px;color:#bfd1dc;font-size:12px;line-height:1.6}.practice-step b{color:#66e5ff}.practice-hint{color:#718c9d;font-size:10px}.practice-panel>button{width:100%;border:1px solid #315a70;background:#102637;border-radius:8px;padding:8px;cursor:pointer}.wiring-terminals{display:none;position:absolute;z-index:24;inset:0;pointer-events:none}.wiring-terminals.visible{display:block}.wiring-terminals button{--i:0;position:absolute;left:calc(22% + var(--i) * 25%);top:calc(32% + (var(--i) % 2) * 35%);transform:translate(-50%,-50%);pointer-events:auto;background:#102a3e;border:1px solid #58dfff;border-radius:8px;padding:7px;color:#c8f6ff;box-shadow:0 0 18px #35cef240;cursor:pointer}.wiring-terminals button:last-child{border-color:#e75b64;color:#ef9ca1}@media(max-width:900px){.lab-shell{grid-template-columns:1fr;grid-template-rows:minmax(55vh,1fr) 45vh;overflow-y:auto}.viewport{min-height:55vh}.side-panel{border-left:0;border-top:1px solid #162f43;display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding-bottom:30px}.topbar{top:8px;left:8px;right:8px}.topbar h1{font-size:14px}.power-strip span:not(.status-dot):not(.quality){display:none}.gate-selector{left:8px;top:80px}.gate-selector>span{display:none}.gate-selector button{min-width:58px;padding:7px}.toolbar{top:auto;right:8px;bottom:8px;max-width:56%;flex-wrap:wrap;justify-content:flex-end}.toolbar button{font-size:9px;padding:6px}.canvas-help{display:none}.switch-controls{left:8px;bottom:8px;flex-direction:column}.switch-control{min-width:105px;padding:5px 8px}.info-card{position:fixed;inset:auto 10px 10px;width:auto}}@media(max-width:560px){.side-panel{grid-template-columns:1fr}.misconception{display:none}.logic-card,.state-card,.truth-card{min-height:0}.gate-symbol{height:74px}.topbar .eyebrow{display:none}.topbar{min-height:48px}.gate-selector{top:64px}.practice-panel{position:fixed;width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
