.electronics-banner{background:radial-gradient(circle at 84% 25%,rgba(244,185,66,.22),transparent 28%),linear-gradient(135deg,#031124,#123d66)}.electronics-section{padding-top:65px}.electronics-lab{max-width:1600px;min-height:800px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr);overflow:hidden;border:1px solid #d7e1eb;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(7,26,51,.15)}.electronics-palette{padding:1.3rem;background:#071a33;color:#fff}.electronics-palette h2{font-size:1.25rem}.electronics-palette p{color:#91a7bf;font-size:.72rem}.electronics-palette>button{width:100%;display:flex;align-items:center;gap:.75rem;margin:.5rem 0;padding:.72rem;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.055);color:#fff;text-align:left}.electronics-palette>button:hover{background:#0f67d8;transform:translateX(3px)}.electronics-palette>button>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.1);font-size:1.15rem}.electronics-palette b,.electronics-palette small{display:block}.electronics-palette small{color:#9fb3ca;font-size:.65rem}.electronics-palette hr{border-color:#ffffff20}.electronics-main{min-width:0;display:grid;grid-template-rows:auto minmax(540px,1fr) 160px auto;background:#e7edf3}.electronics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#fff;border-bottom:1px solid #dce4ed}.electronics-toolbar strong,.electronics-toolbar small{display:block}.electronics-toolbar small{color:#74869a;font-size:.7rem}.electronics-actions{display:flex;gap:.5rem}.electronics-actions button{padding:.6rem .75rem;border:0;border-radius:10px;background:#e8eef5;color:#314961;font-size:.72rem;font-weight:850}.electronics-actions #run-circuit{background:#13804a;color:#fff}.electronics-workspace{position:relative;overflow:hidden;min-height:540px;touch-action:none;background-color:#f4e7c8;background-image:radial-gradient(#bfae88 1.5px,transparent 1.5px);background-size:20px 20px;border:12px solid #9c7442;box-shadow:inset 0 0 35px #72502333}.electronics-workspace>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.circuit-wire{fill:none;stroke:#253b51;stroke-width:6;stroke-linecap:round}.circuit-wire.live{stroke:#dc3c48;filter:drop-shadow(0 0 3px #dc3c4866)}.electronic-component{position:absolute;width:130px;min-height:86px;display:grid;grid-template-columns:25px 1fr 25px;align-items:center;z-index:2;cursor:grab;user-select:none}.component-body{position:relative;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.45rem;border:3px solid #314457;border-radius:15px;background:#f8fafb;box-shadow:0 10px 24px #071a3328}.component-body>i{font-size:1.5rem;color:#0f67d8}.component-body b{font-size:.7rem}.component-body small{color:#63778b;font-size:.57rem}.component-terminal{position:relative;width:21px;height:21px;padding:0;border:4px solid #33495d;border-radius:50%;background:#fff;z-index:3}.component-terminal:hover,.component-terminal.selected{border-color:#0f67d8;background:#dbeeff;transform:scale(1.18)}.component-terminal.positive{border-color:#d63b48}.component-terminal.negative{border-color:#222}.electronic-component.led.on .component-body{border-color:#f4b942;background:#fff7c7;box-shadow:0 0 28px #ffd33d}.electronic-component.led.on .component-body>i{color:#ffc400;text-shadow:0 0 10px #ffd500}.electronic-component.led.reverse .component-body{border-color:#ca5260}.electronic-component.switch.closed .component-body{border-color:#168965;background:#e9fbf1}.component-delete{position:absolute;right:18px;top:-7px;width:22px;height:22px;border:0;border-radius:50%;background:#b93c4d;color:#fff;display:none;z-index:4}.electronic-component:hover .component-delete{display:block}#electronics-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#887858;pointer-events:none}#electronics-empty i{font-size:3rem}.electronics-console{background:#06131f;color:#c3efd0}.electronics-console>div{display:flex;justify-content:space-between;padding:.55rem .85rem;background:#0d2237;color:#e7eef7}.electronics-console pre{height:118px;overflow:auto;margin:0;padding:.7rem 1rem;white-space:pre-wrap;font:500 .78rem/1.5 Consolas}.electronics-credit{margin:0;padding:.6rem 1rem;text-align:right;background:#06131f;color:#688199;font-size:.65rem}.electronics-credit strong{color:#f4b942}.component-dialog{width:min(500px,calc(100% - 2rem));padding:1.4rem;border:0;border-radius:22px;box-shadow:0 30px 90px #06132166}.component-dialog::backdrop{background:#061321aa}.component-dialog .dialog-close{position:absolute;right:1rem;top:.7rem;border:0;background:transparent;font-size:1.6rem}.component-editor-form{display:grid;gap:.8rem}.component-editor-form label{font-size:.75rem;font-weight:850}.component-editor-form input,.component-editor-form select{width:100%;margin-top:.3rem;padding:.7rem;border:1px solid #d5dfe9;border-radius:11px}.component-editor-actions{display:flex;justify-content:flex-end;gap:.5rem}.component-editor-actions button{padding:.65rem .9rem;border:0;border-radius:999px;font-weight:800}.component-editor-actions button[type=submit]{background:#0f67d8;color:#fff}@media(max-width:900px){.electronics-lab{grid-template-columns:1fr}.electronics-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.electronics-palette>div,.electronics-palette hr{display:none}.electronics-palette>button{margin:0}.electronics-workspace{min-height:500px}}@media(max-width:600px){.electronics-section .container-fluid{padding:0 .55rem!important}.electronics-lab{border-radius:18px}.electronics-palette{grid-template-columns:repeat(2,1fr)}.electronics-toolbar{align-items:flex-start;flex-direction:column}.electronics-actions{width:100%;flex-wrap:wrap}.electronics-workspace{min-height:440px;border-width:7px}.electronic-component{width:112px}.electronics-console pre{height:105px}}
.schematic-symbol{display:block;width:76px;height:42px;overflow:visible}.schematic-symbol path,.schematic-symbol line,.schematic-symbol circle{fill:none;stroke:#172b3d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.schematic-symbol text{fill:#b62836;font:900 12px Inter}.led-symbol .arrow-head{fill:#172b3d}.ground-symbol{width:62px}.electronics-actions #stop-circuit{background:#b83445;color:#fff}.electronics-actions button:disabled{opacity:.45;cursor:not-allowed}.electronics-actions #delete-wire.active{background:#f4b942;color:#071a33}.circuit-wire.live{stroke-dasharray:12 8;animation:electron-flow .65s linear infinite}.electronics-workspace>svg.wire-delete-mode{pointer-events:auto}@keyframes electron-flow{to{stroke-dashoffset:-20}}
.circuit-wire-shadow{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;opacity:.72;filter:drop-shadow(0 2px 2px #071a3344)}.circuit-wire{stroke-width:5}.component-rotate{position:absolute;left:18px;top:-8px;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#0f67d8;color:#fff;display:none;place-items:center;z-index:5}.component-rotate i{font-size:.7rem}.electronic-component:hover .component-rotate{display:grid}.switch-toggle{margin-top:.25rem;padding:.18rem .42rem;border:0;border-radius:999px;background:#dce5ed;color:#31485e;font-size:.47rem;font-weight:900}.switch.closed .switch-toggle{background:#168965;color:#fff}.rotation-90{transform:rotate(90deg)}.rotation-180{transform:rotate(180deg)}.rotation-270{transform:rotate(270deg)}.rotation-90 .component-body>b,.rotation-90 .component-body>small,.rotation-90 .component-delete,.rotation-90 .component-rotate,.rotation-90 .switch-toggle{transform:rotate(-90deg)}.rotation-180 .component-body>b,.rotation-180 .component-body>small,.rotation-180 .component-delete,.rotation-180 .component-rotate,.rotation-180 .switch-toggle{transform:rotate(-180deg)}.rotation-270 .component-body>b,.rotation-270 .component-body>small,.rotation-270 .component-delete,.rotation-270 .component-rotate,.rotation-270 .switch-toggle{transform:rotate(-270deg)}
.electronics-workspace .electronic-component.rotation-90,.electronics-workspace .electronic-component.rotation-180,.electronics-workspace .electronic-component.rotation-270{transform:none}.rotation-90 .schematic-symbol{transform:rotate(90deg)}.rotation-180 .schematic-symbol{transform:rotate(180deg)}.rotation-270 .schematic-symbol{transform:rotate(270deg)}.rotation-90 .component-body>b,.rotation-90 .component-body>small,.rotation-90 .component-delete,.rotation-90 .component-rotate,.rotation-90 .switch-toggle,.rotation-180 .component-body>b,.rotation-180 .component-body>small,.rotation-180 .component-delete,.rotation-180 .component-rotate,.rotation-180 .switch-toggle,.rotation-270 .component-body>b,.rotation-270 .component-body>small,.rotation-270 .component-delete,.rotation-270 .component-rotate,.rotation-270 .switch-toggle{transform:none!important}.rotation-90 .component-terminal,.rotation-180 .component-terminal,.rotation-270 .component-terminal{position:absolute}.rotation-90 .component-terminal[data-terminal="a"]{left:calc(50% - 10px);top:-7px}.rotation-90 .component-terminal[data-terminal="b"]{left:calc(50% - 10px);bottom:-7px}.rotation-270 .component-terminal[data-terminal="a"]{left:calc(50% - 10px);bottom:-7px}.rotation-270 .component-terminal[data-terminal="b"]{left:calc(50% - 10px);top:-7px}.rotation-180 .component-terminal[data-terminal="a"]{right:0}.rotation-180 .component-terminal[data-terminal="b"]{left:0}.rotation-90 .component-body,.rotation-180 .component-body,.rotation-270 .component-body{grid-column:2}
.rotation-180 .component-terminal{top:calc(50% - 10px)}
.component-config{position:absolute;left:calc(50% - 13px);bottom:-13px;width:27px;height:27px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#0f67d8;color:#fff;z-index:6;box-shadow:0 5px 12px #071a3344}.component-config i{font-size:.68rem}.component-config:hover{background:#f4b942;color:#071a33;transform:scale(1.08)}
.rotation-90 .component-config,.rotation-270 .component-config{left:auto;right:-14px;bottom:auto;top:calc(50% - 13px)}
.component-terminal{cursor:crosshair;box-shadow:0 0 0 3px rgba(255,255,255,.8),0 3px 9px rgba(7,26,51,.28)}.component-terminal:hover{box-shadow:0 0 0 5px rgba(15,103,216,.2),0 4px 12px rgba(7,26,51,.3)}
