:root{font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;color:#e8f0f3;background:#0b121b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:106px minmax(680px,1fr) auto;background:#0b121b}.wiring-app{grid-template-rows:106px minmax(680px,1fr)}.topbar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:52px 48px;align-items:center;column-gap:24px;padding:3px 24px;background:#111b27;border-bottom:1px solid #273744}.brand{display:flex;align-items:center;gap:15px}.brand-mark{width:38px;height:38px;border:2px solid #91dec8;border-radius:9px;display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);align-content:center;justify-content:center;gap:6px;box-shadow:0 0 0 5px #91dec812}.brand-mark span{background:#91dec8;border-radius:1px}.brand-name{font-size:20px;letter-spacing:.025em;font-weight:700;line-height:1.15}.brand-name strong{color:#91dec8}.brand-subtitle{color:#879aa8;font-size:10px;letter-spacing:.13em;margin-top:5px}.brand-subtitle span{color:#526979}.topbar-right{grid-column:2;grid-row:1;display:flex;gap:26px;align-items:center;justify-content:flex-end}.brand{grid-column:1;grid-row:1 / span 2}.project-toolbar{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.project-guide-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:6px 13px;flex:none;background:#91dec8;border:1px solid #b7f3de;border-radius:6px;box-shadow:0 0 0 2px #91dec822;color:#102b29;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.project-guide-link span{font-size:15px;line-height:1}.project-guide-link:hover{background:#b7f3de;box-shadow:0 0 0 3px #91dec844}.project-guide-link:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.project-name-field{display:flex;flex-direction:column;gap:3px;width:175px;flex:none;color:#86aaa7;font-size:9px}.project-name-field input{width:100%;height:27px;padding:4px 7px;background:#14252e;border:1px solid #42615f;border-radius:4px;color:#e6f1ec;font-size:11px}.project-name-field small{height:12px;overflow:hidden;color:#90adad;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.project-actions{display:flex;align-items:center;gap:5px;min-width:0}.project-actions button,.project-actions select{height:30px;padding:4px 8px;background:#1a3038;border:1px solid #476461;border-radius:5px;color:#d4e7e1;font-size:10px;white-space:nowrap;cursor:pointer}.project-actions button:hover:not(:disabled){background:#294b49}.project-actions button:disabled{opacity:.42;cursor:not-allowed}.project-actions select{max-width:150px}.project-file-input{display:none}.project-history-controls{display:flex;gap:4px;margin-left:4px}.project-history-controls button{width:31px;padding:0;font-size:17px}.project-actions .project-clear-storage{background:#4a302d;border-color:#8e6158;color:#ffdbcd}.project-actions button:focus-visible,.project-actions select:focus-visible,.project-name-field input:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.workspace-tag{font-size:12px;color:#9daebb}.connection{font-size:12px;font-weight:700;display:flex;gap:9px;align-items:center;padding:9px 13px;border:1px solid #3a4a56;border-radius:999px;color:#bbcad1;background:#182632}.connection-dot{width:7px;height:7px;background:#cbb37a;border-radius:50%;box-shadow:0 0 0 3px #cbb37a20}.connection--connected{color:#9de5cb;border-color:#39705f;background:#18392f}.connection--connected .connection-dot{background:#8fe5c5;box-shadow:0 0 0 3px #8fe5c529}.connection--disconnected{color:#f2ad9b;border-color:#7d4c47;background:#3a282a}.connection--disconnected .connection-dot{background:#f2ad9b;box-shadow:0 0 0 3px #f2ad9b29}.workspace{min-height:0;display:grid;grid-template-columns:256px minmax(420px,1fr) 340px;gap:1px;background:#283846}.panel{min-width:0;background:#111b27;display:flex;flex-direction:column}.panel-heading{min-height:94px;padding:24px 23px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.eyebrow{font-family:DM Mono,monospace;color:#74b9aa;font-size:10px;letter-spacing:.15em}.panel-heading h2{font-size:17px;margin:8px 0 0;letter-spacing:.025em}.panel-count,.file-badge{font-family:DM Mono,monospace;color:#9cafba;font-size:10px;border:1px solid #374956;border-radius:4px;padding:5px 7px;margin-top:18px;white-space:nowrap}.panel-description{color:#899eaa;font-size:12px;line-height:1.8;margin:0;padding:0 23px 19px;border-bottom:1px solid #253542}.component-groups{padding:8px 14px;overflow:auto}.component-group{padding:7px 0 11px}.component-group h3{font-size:10px;color:#6e8796;font-weight:600;letter-spacing:.12em;margin:12px 9px 8px}.component-item{display:flex;align-items:center;gap:10px;padding:8px 9px;font-size:12px;color:#bacbd2;border-radius:8px}.component-icon{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:6px;background:#273f47;color:#a4e4cf;font-family:DM Mono,monospace;font-size:12px}.component-icon--1{background:#3b3b39;color:#dfcb97}.component-icon--2{background:#29384b;color:#a5c5ea}.component-lock{margin-left:auto;color:#657d89;font-size:9px;white-space:nowrap}.sidebar-note{margin:auto 20px 22px;border-top:1px solid #283946;padding-top:18px;color:#738d9a;font-size:11px;line-height:1.6}.sidebar-note span{color:#97d8c6;font-size:17px;margin-right:5px}.canvas-panel{background:#15222e}.canvas-heading{min-height:88px;padding-left:27px;padding-right:27px}.canvas-mode{color:#83bcb0;font-size:11px;margin-top:25px}.export-button{margin-top:14px;padding:8px 10px;border:1px solid #649b8a;border-radius:6px;background:#244a40;color:#dcf2e7;font-size:10px;white-space:nowrap;cursor:pointer;text-decoration:none}.export-button:hover{background:#326454}.circuit-export-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.wiring-prompt-dialog{width:min(900px,calc(100vw - 32px));height:min(800px,calc(100dvh - 40px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #496568;border-radius:12px;background:#12232b;color:#e6f2ed;box-shadow:0 24px 80px #0009;overflow:hidden}.wiring-prompt-dialog[open]{display:flex;flex-direction:column}.wiring-prompt-dialog::backdrop{background:#051015c9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wiring-prompt-dialog .example-dialog-top{flex-shrink:0;gap:16px}.wiring-prompt-text{flex:1;min-height:120px;min-width:0;resize:none;margin:0 24px;padding:18px;border:1px solid #486265;border-radius:8px;background:#0b191f;color:#e6f2ed;font-family:inherit;font-size:14px;line-height:1.85;tab-size:2}.wiring-prompt-text:focus-visible{outline:2px solid #72ddbc;outline-offset:3px}.wiring-prompt-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 24px}.wiring-prompt-footer p{flex:1;min-width:180px;margin:0;color:#b8cdca;font-size:12px;line-height:1.6}.wiring-prompt-footer button{padding:10px 14px;white-space:nowrap}.wiring-prompt-footer .wiring-prompt-copy{background:#bcefd5;color:#102921;border-color:#bcefd5;font-weight:700}.export-button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.canvas-surface{position:relative;flex:1;min-height:0;overflow:hidden;margin:0 14px 14px;background-color:#111e2a;background-image:radial-gradient(circle at center,#344755 1px,transparent 1.1px);background-size:20px 20px;border:1px solid #314553;box-shadow:inset 0 0 85px #07111b99}.canvas-surface:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,#294a4c56 0,transparent 44%);pointer-events:none}.canvas-corner{position:absolute;width:14px;height:14px;border-color:#72beaa}.canvas-corner--tl{top:0;left:0;border-top:2px solid;border-left:2px solid}.canvas-corner--tr{top:0;right:0;border-top:2px solid;border-right:2px solid}.canvas-corner--bl{bottom:0;left:0;border-bottom:2px solid;border-left:2px solid}.canvas-corner--br{bottom:0;right:0;border-bottom:2px solid;border-right:2px solid}.canvas-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}.canvas-emblem{width:96px;height:96px;border:1px solid #507c7b;border-radius:24px;position:relative;display:grid;place-items:center;background:#1d393d99;box-shadow:0 0 0 12px #3c756017,0 0 50px #79d3b419;margin-bottom:40px;transform:rotate(-8deg)}.emblem-chip{width:39px;height:51px;border:2px solid #92d9c6;border-radius:6px;box-shadow:inset 0 0 0 5px #91dec817}.emblem-chip:before,.emblem-chip:after{content:"";position:absolute;width:35px;height:5px;left:30px;background:repeating-linear-gradient(90deg,#92d9c6 0 4px,transparent 4px 10px)}.emblem-chip:before{top:16px}.emblem-chip:after{bottom:16px}.emblem-line{position:absolute;background:#8dcfba;height:2px;width:15px}.emblem-line--one{left:-14px;top:31px}.emblem-line--two{right:-14px;top:47px}.emblem-line--three{left:40px;bottom:-14px;transform:rotate(90deg)}.canvas-kicker{font-family:DM Mono,monospace;letter-spacing:.21em;font-size:10px;color:#83c8b8}.canvas-empty h3{font-size:25px;font-weight:600;letter-spacing:.06em;margin:18px 0 9px}.canvas-empty p{color:#92aab6;font-size:12px;line-height:2;margin:0}.coming-soon{margin-top:25px;padding:8px 15px;border-radius:4px;border:1px solid #5c8e83;color:#a8ddce;font-size:11px;background:#27494052}.canvas-coordinate,.canvas-scale{position:absolute;bottom:18px;font-family:DM Mono,monospace;font-size:10px;color:#6f8b98}.canvas-coordinate{left:20px}.canvas-scale{right:20px}.canvas-scale span{color:#496473}.circuit-surface{isolation:isolate}.wire-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}.wire-line{stroke-width:3;stroke-linecap:round;pointer-events:none;filter:drop-shadow(0 1px 2px #06141b)}.wire-line--selected{stroke-width:5;filter:drop-shadow(0 0 5px #f7f3cf)}.wire-line--issue{stroke-width:5;stroke-dasharray:8 4;filter:drop-shadow(0 0 6px #ff7f70)}.wire-line--dragging{stroke-dasharray:7 5;opacity:.82}.wire-hit{stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.wire-hit:focus-visible{stroke:#fff8c155;outline:none}.wire-preview{stroke:#a5e6ca;stroke-width:2.5;stroke-dasharray:8 5;pointer-events:none}.wire-correction-preview{stroke:#c9f7df;stroke-width:4;stroke-dasharray:9 6;opacity:.88;pointer-events:none;filter:drop-shadow(0 0 5px #71dab0)}.wire-endpoint-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;pointer-events:none}.wire-endpoint-handle{fill:#193d3a;stroke:#d6f9de;stroke-width:3;pointer-events:all;cursor:grab;touch-action:none;filter:drop-shadow(0 0 4px #65dbad)}.wire-endpoint-handle:hover{fill:#66cba1;stroke:#fff}.wire-endpoint-handle:active{cursor:grabbing}.board-toolbar{position:absolute;top:16px;left:20px;right:20px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.board-toolbar-label{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.16em;color:#8bcbba;background:#17312fbd;padding:8px 10px;border:1px solid #3c746a;border-radius:4px}.zoom-controls{pointer-events:auto;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #3d5a62;border-radius:7px;background:#182c37eb;box-shadow:0 5px 20px #08182099}.zoom-controls button{width:28px;height:27px;border:0;border-radius:4px;background:transparent;color:#c8e0dc;cursor:pointer;font-size:18px;line-height:1}.zoom-controls button:hover:not(:disabled){background:#345853;color:#fff}.zoom-controls button:focus-visible{outline:2px solid #a4e9ce;outline-offset:1px}.zoom-controls button:disabled{color:#64827d;cursor:default}.zoom-controls span{min-width:41px;text-align:center;font-family:DM Mono,monospace;color:#a8cfc4;font-size:11px}.zoom-controls .recenter-button{width:auto;padding:0 9px;margin-left:3px;border-left:1px solid #456267;border-radius:0;font-size:11px}.board-position{position:absolute;left:50%;top:50%;width:440px;height:620px;transform-origin:center;will-change:transform;z-index:1}.pico-board{display:block;width:100%;height:100%;overflow:visible;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 16px 26px #051215a6)}.pico-board:active{cursor:grabbing}.board-shadow{fill:#07151d99;pointer-events:none}.board-body{stroke:#76b7a0;stroke-width:2}.board-outline{fill:none;stroke:#94c4ae88;stroke-width:1.5;pointer-events:none}.pico-board--selected .board-outline{stroke:#c4f3d7;stroke-width:3;filter:drop-shadow(0 0 5px #a1f2ce)}.pico-board--issue .board-outline{stroke:#ffae87;stroke-width:3}.board-decoration{pointer-events:none}.board-trace{fill:none;stroke:#7dc0a140;stroke-width:2}.board-trace--fine{stroke-width:1.2;stroke:#94d3b13b}.chip-label{font-family:DM Mono,monospace;fill:#d1e4df;font-weight:700;font-size:12px;letter-spacing:1px}.chip-tiny{font-family:DM Mono,monospace;fill:#a5c3ba;font-size:7px;letter-spacing:.7px}.board-wordmark{font-family:DM Mono,monospace;fill:#e1ede4;font-weight:700;font-size:23px;letter-spacing:3px}.board-submark{font-family:DM Mono,monospace;fill:#a9d2bd;font-size:7px;letter-spacing:1.3px}.board-silk{font-family:DM Mono,monospace;fill:#e1ebe2;font-weight:700;font-size:9px;letter-spacing:1.2px}.board-silk-muted{font-family:DM Mono,monospace;fill:#99b9a6;font-size:7px;letter-spacing:1.3px}.debug-pad{fill:#d7bd82;stroke:#f6e3a8;stroke-width:1}.pin-hit{fill:transparent;cursor:help}.pin-pad{fill:#d9bb7d;stroke:#ffe4a1;stroke-width:1;pointer-events:none}.pin-number{font-family:DM Mono,monospace;fill:#9bbeb3;font-size:9px;pointer-events:none}.pin-label{font-family:DM Mono,monospace;font-weight:700;font-size:10px;letter-spacing:.2px;pointer-events:none}.board-pin:hover .pin-pad,.board-pin:focus-visible .pin-pad{fill:#fff2bc;stroke:#fff;stroke-width:2}.board-pin--recommended .pin-pad{fill:#ffe25c;stroke:#fff8bd;stroke-width:2.5;filter:drop-shadow(0 0 9px #ffda4f)}.board-pin--recommended .pin-label{fill:#ffe777;filter:drop-shadow(0 0 5px #ffda4f)}.board-pin--recommended .pin-number{fill:#fff3ba;font-weight:700}.board-pin--issue .pin-pad{fill:#ff9182;stroke:#fff2db;stroke-width:2;filter:drop-shadow(0 0 6px #ff8e76)}.board-pin--issue .pin-label{fill:#ffb5a8;filter:none}.board-pin:focus-visible{outline:none}.board-pin:hover .pin-label,.board-pin:focus-visible .pin-label{font-size:11px;filter:drop-shadow(0 0 5px #c7ffe1)}.pin-recommendation-note{display:block;margin-top:4px;color:#ffe777;font-weight:700}.pin-recommendation-detail{display:block;margin-top:4px;max-width:510px;line-height:1.5;color:#d6e7e5}.board-caption{font-family:DM Mono,monospace;fill:#7eb7ab;font-size:9px;letter-spacing:1px;pointer-events:none}.pin-tooltip{position:absolute;z-index:5;width:248px;padding:13px 14px;background:#1a3038f2;border:1px solid #72bba7;border-radius:8px;box-shadow:0 12px 32px #051219c7;pointer-events:none;color:#e7f2ed}.pin-tooltip-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pin-tooltip-top strong{font-family:DM Mono,monospace;color:#c5f1d9;font-size:15px}.pin-tooltip-top span{font-size:10px;color:#acc5c2;white-space:nowrap}.pin-tooltip-id{font-family:DM Mono,monospace;color:#6fae9f;font-size:10px;margin-top:3px}.pin-tooltip p{font-size:11px;line-height:1.55;color:#c3d6d1;margin:9px 0}.pin-functions{display:flex;flex-wrap:wrap;gap:4px}.pin-functions span{font-size:9px;font-family:DM Mono,monospace;color:#b4ddd0;border:1px solid #497468;border-radius:3px;padding:3px 5px;background:#214138}.board-help{position:absolute;bottom:18px;left:20px;right:20px;z-index:2;color:#8aacb0;font-size:10px;text-shadow:0 1px 3px #06151c;pointer-events:none}.circuit-surface .canvas-coordinate{left:auto;right:20px;z-index:2}.code-panel{background:#111a25;overflow-y:auto}.validation-panel{padding:15px 16px 12px;border-bottom:1px solid #31424e;background:#14242d}.validation-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.validation-heading h2{margin:5px 0 0;font-size:15px}.validation-status{border:1px solid #49765d;border-radius:5px;padding:5px 7px;color:#afe8c1;font-size:10px;white-space:nowrap}.validation-status--warning{border-color:#9a7b4d;color:#f0cc87}.validation-status--invalid{border-color:#a6635c;color:#ffc1b2}.validation-empty{font-size:11px;color:#a1c3b6;line-height:1.6;margin:12px 0 5px}.validation-show-all{margin:10px 0 2px;background:transparent;color:#a6dbc9;border:0;text-decoration:underline;cursor:pointer;font-size:10px}.validation-list{margin-top:11px;display:flex;flex-direction:column;gap:9px}.validation-issue-group{border-radius:6px;overflow:hidden}.validation-issue{display:flex;flex-direction:column;gap:5px;width:100%;padding:9px;text-align:left;border:1px solid #7e5e58;border-left:4px solid #ee977b;border-radius:6px;background:#382c31;color:#f2ded6;cursor:pointer}.validation-issue--warning{border-color:#846d4b;border-left-color:#e7bd73;background:#332f2b}.validation-issue--suggestion{border-color:#52778a;border-left-color:#9bc6df;background:#263743}.validation-issue--active{outline:2px solid #ecf2cf;outline-offset:1px}.validation-issue-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.025em;color:#f6c3b0;overflow-wrap:anywhere}.validation-issue--warning .validation-issue-label{color:#f1d29c}.validation-issue strong{font-size:11px;line-height:1.5;font-weight:600}.validation-issue small{font-size:10px;line-height:1.55;color:#d6c6bf}.validation-disclaimer{margin:9px 0 0;color:#78939e;font-size:9px;line-height:1.4}.correction-action{padding:0 8px 8px;border:1px solid #496d6a;border-top:0;background:#192f35;color:#d9e8e4}.correction-action p,.correction-action small{font-size:11px;line-height:1.55;color:#aec7c4}.correction-toggle,.correction-apply{border:1px solid #6b9e8e;border-radius:5px;background:#23483e;color:#e6f9ed;padding:7px 9px;cursor:pointer;font-size:11px}.correction-toggle{width:100%;margin-top:8px;text-align:left}.correction-apply:disabled{opacity:.45;cursor:not-allowed}.correction-preview{margin-top:8px;padding:11px;border:1px solid #557e70;border-radius:6px;background:#142b30}.correction-preview>strong,.correction-steps strong{font-size:11px;color:#d8f4df}.correction-steps{padding:9px;background:#0e222a;border-radius:4px}.correction-steps ol{padding-left:18px;margin:6px 0 0;font-size:11px;line-height:1.65;overflow-wrap:anywhere}.correction-resolved{color:#a6e1b7!important}.correction-error{color:#ffb9aa!important}.correction-apply{width:100%;margin-top:5px;background:#316350;font-weight:700}.correction-action button:focus-visible{outline:2px solid #e5f9bd;outline-offset:2px}.pin-use-panel{padding:12px 16px;border-bottom:1px solid #31424e}.pin-use-panel h3{font-size:12px;margin:0 0 6px;color:#c8e3d9}.pin-use-panel p{margin:0 0 9px;color:#91aeb3;font-size:10px;line-height:1.5}.pin-use-fields{display:flex;gap:8px}.pin-use-fields label{flex:1;min-width:0;color:#9dbdb7;font-size:10px}.pin-use-fields select{display:block;width:100%;margin-top:4px;padding:5px 3px;background:#142932;border:1px solid #59787b;border-radius:4px;color:#e5f1ec;font-size:11px}.validation-issue:focus-visible,.validation-show-all:focus-visible,.pin-use-fields select:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.code-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293946;padding:0 18px;height:43px}.toolbar-tab{height:43px;border-bottom:2px solid #8bd9bf;display:flex;align-items:center;color:#bbd9d0;font-size:11px;padding:0 7px}.toolbar-state{color:#738995;font-size:10px}.code-preview{padding-top:19px;min-height:255px;font-family:DM Mono,Microsoft JhengHei,monospace;font-size:11px;color:#c9d5dd}.code-line{display:grid;grid-template-columns:36px 1fr;min-height:27px;line-height:27px}.code-line span{text-align:right;color:#526775;padding-right:14px;-webkit-user-select:none;user-select:none}.code-line code{white-space:nowrap}.code-line i{font-style:normal;color:#719184}.code-line b{font-weight:500;color:#e9bb8d}.code-placeholder{margin:auto 22px;min-height:160px;border:1px dashed #3a4e5c;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#8197a2;text-align:center;padding:18px}.code-placeholder-symbol{font-size:25px;color:#88c9b5}.code-placeholder strong{font-size:12px;color:#b3c9cc}.code-placeholder span:last-child{font-size:10px;line-height:1.7}.code-footer{padding:18px 22px;color:#788e9c;font-family:DM Mono,monospace;font-size:10px}.code-footer span{color:#589e8b;margin:0 5px}.bottom-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);border-top:1px solid #304653;background:#172532;padding:18px 24px;gap:20px}.bottom-section{display:flex;align-items:center;gap:15px;min-width:0;padding:0 13px}.assistant-section{border-right:1px solid #34505a}.bottom-icon{height:34px;width:34px;flex:none;display:grid;place-items:center;border-radius:8px;background:#295147;color:#b0e4ce;font-size:21px}.system-icon{background:#34475a;color:#b3d3e6}.bottom-section strong{font-size:12px}.bottom-section p{font-size:11px;color:#8fa8b4;margin:5px 0 0;line-height:1.5}.bottom-tag{margin-left:auto;margin-right:14px;color:#779487;border:1px solid #3a5e54;padding:5px 8px;border-radius:3px;font-size:10px;white-space:nowrap}.component-groups--active{flex:1;min-height:0;padding-bottom:0}.palette-item{display:flex;align-items:center;gap:9px;padding:8px;margin:3px 0;border:1px solid #304653;border-radius:8px;background:#1b2b37}.palette-symbol{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:6px;background:#40383a;color:#ffb0a0;font-size:17px}.palette-symbol--resistor{background:#423b30;color:#ead19c}.palette-symbol--push-button{background:#344449;color:#a9d8d0}.palette-symbol--potentiometer{background:#394342;color:#b8e1bf}.palette-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.palette-copy strong{font-size:12px;color:#e0eceb}.palette-copy small{font-size:10px;color:#89a2ab;white-space:nowrap}.palette-item button{margin-left:auto;flex:none;width:28px;height:28px;border:1px solid #669c8d;border-radius:6px;background:#284d46;color:#d5f2e3;cursor:pointer;font-size:19px;line-height:1}.palette-item button:hover{background:#397262}.placed-list p{padding:0 9px;color:#89a2ab;font-size:11px;line-height:1.5}.placed-list-item{display:flex;justify-content:space-between;align-items:center;width:100%;margin:3px 0;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#b9cecb;text-align:left;cursor:pointer;font-size:11px}.placed-list-item:hover,.placed-list-item--selected{background:#244138;border-color:#568c78}.placed-list-item code{color:#9dd9c0;font-family:DM Mono,monospace}.component-inspector{margin:8px 15px 0;padding:12px;border:1px solid #3c5d5d;border-radius:9px;background:#192e37}.wire-inspector p{color:#b9d8d2;font-family:DM Mono,monospace;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.wire-inspector input[type=color]{width:48px;height:31px;padding:2px;cursor:pointer}.inspector-heading{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:12px}.inspector-heading code{font-family:DM Mono,monospace;color:#a8dbbd}.inspector-field{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:11px;margin:9px 0;color:#afc9c7}.inspector-field select,.inspector-field input{min-width:0;max-width:100px;background:#10232c;border:1px solid #547275;color:#e3f0ea;border-radius:5px;padding:5px;font-size:11px}.inspector-number{display:flex;align-items:center;gap:3px}.inspector-number input{width:75px}.switch-preview{margin-top:10px;border-top:1px solid #375455;padding-top:10px;color:#bdd7ce;font-size:11px;line-height:1.55}.switch-preview p{margin:6px 0;color:#9ab9b3}.switch-preview small{color:#83c2b0}.inspector-actions{display:flex;gap:6px;margin-top:13px}.inspector-actions button{flex:1;padding:7px 3px;border:1px solid #648d84;border-radius:5px;background:#2b5148;color:#e4f0e9;cursor:pointer;font-size:10px}.inspector-actions .delete-component{background:#493338;border-color:#875b5e;color:#ffd4cc}.palette-item button:focus-visible,.placed-list-item:focus-visible,.inspector-actions button:focus-visible,.inspector-field select:focus-visible,.inspector-field input:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.placed-component{position:absolute;z-index:2;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 13px #06161bb0)}.placed-component:active{cursor:grabbing}.placed-component:focus-visible{outline:2px solid #a4e9ce;outline-offset:4px;border-radius:8px}.component-context-menu{position:absolute;z-index:12;width:170px;padding:6px;border:1px solid #60897d;border-radius:9px;background:#1a3037;box-shadow:0 12px 28px #06131bcc;display:grid;gap:3px}.component-context-menu__title{padding:5px 8px 6px;color:#a9c9bd;font-size:11px}.component-context-menu button{width:100%;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:#e7f1ea;text-align:left;font-size:12px;cursor:pointer}.component-context-menu button:hover,.component-context-menu button:focus-visible{background:#31584c;outline:2px solid #a4e9ce;outline-offset:-2px}.component-context-menu .component-context-menu__danger{color:#ffd2c7}.component-context-menu .component-context-menu__danger:hover,.component-context-menu .component-context-menu__danger:focus-visible{background:#633e41}.circuit-world{position:absolute;inset:0;transform-origin:center center;will-change:transform;pointer-events:none}.board-position,.placed-component{pointer-events:auto}.circuit-surface--grid-off{background-image:none}.circuit-surface--pan-mode{cursor:grab}.circuit-surface--pan-mode:active{cursor:grabbing}.zoom-controls button[aria-pressed=true]{background:#365b53;color:#d9f3e8;box-shadow:inset 0 0 0 1px #82bca7}.validation-source{display:block;margin-top:4px;color:#8ca6a8;font-size:9px}.ai-code-proposal{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 12px;background:#3a3327;border-block:1px solid #806b45;color:#f2dfb9;font-size:11px}.ai-code-proposal p{flex-basis:100%;margin:0;line-height:1.5}.ai-code-proposal button{border:1px solid #ad9361;border-radius:5px;padding:6px 8px;background:#635235;color:#fff1cf;font-size:10px;cursor:pointer}.ai-code-proposal .ai-code-dismiss{background:transparent;border-color:#756b56;color:#d7caa9}.responsive-notice{display:none}.editor-actions button{font-size:11px;padding:7px 9px}.monaco-container{min-height:330px}.placed-component svg{display:block;width:100%;height:100%;overflow:visible}.component-plate{fill:#233944;stroke:#5b8183;stroke-width:1.5}.placed-component--selected .component-plate{stroke:#c1f1d5;stroke-width:3}.placed-component--issue .component-plate{stroke:#ffab86;stroke-width:3;filter:drop-shadow(0 0 7px #ff9978)}.component-lead{fill:none;stroke:#d8d8c8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.component-art-label{font-family:DM Mono,monospace;fill:#edf3e6;font-size:9px;font-weight:700;pointer-events:none}.component-pin-hit{fill:transparent;cursor:help}.component-pin-pad{fill:#dfba79;stroke:#ffedb7;stroke-width:1;pointer-events:none}.component-pin:hover .component-pin-pad,.component-pin:focus-visible .component-pin-pad{fill:#fff3b9;stroke:#fff;stroke-width:2}.component-pin--issue .component-pin-pad{fill:#ff9182;stroke:#fff4d6;stroke-width:2;filter:drop-shadow(0 0 5px #ff8e76)}.component-pin:focus-visible{outline:none}.instance-label{display:block;text-align:center;color:#d7e9df;font-size:10px;margin-top:2px;text-shadow:0 1px 3px #07151d}.instance-label code{font-family:DM Mono,monospace;color:#a0ddc3}@media(max-width:1350px){.workspace{grid-template-columns:230px minmax(420px,1fr) 310px}.component-panel .panel-heading,.component-panel .panel-description{padding-left:18px;padding-right:18px}.palette-copy small{font-size:9px}}@media(max-height:800px){.app-shell{grid-template-rows:70px minmax(600px,1fr) auto}.canvas-emblem{margin-bottom:23px}.bottom-panel{padding:10px 24px}}@media(min-width:1600px){.workspace{grid-template-columns:280px minmax(480px,1fr) 390px}.component-panel .panel-heading,.component-panel .panel-description{padding-left:26px}.canvas-empty h3{font-size:28px}}@media(min-width:768px)and (max-width:1260px){body{min-width:768px}.app-shell{grid-template-rows:auto minmax(680px,1fr) auto}.topbar{grid-template-columns:1fr;grid-template-rows:auto auto;gap:10px;padding:12px 16px}.brand{grid-column:1;grid-row:1}.topbar-right{grid-column:1;grid-row:2;justify-content:space-between}.project-toolbar{grid-column:1;grid-row:3;justify-content:flex-start;flex-wrap:wrap}.workspace{grid-template-columns:minmax(205px,.7fr) minmax(380px,1.3fr);grid-template-rows:minmax(640px,auto) auto}.canvas-panel{min-height:640px}.code-panel{grid-column:1/-1;max-height:none;display:grid;grid-template-columns:minmax(340px,1fr) minmax(300px,1fr);align-items:start}.code-panel>.code-footer{grid-column:1/-1}.code-panel>.micropython-editor{grid-column:1;grid-row:2 / span 2}.code-panel>.simulation-panel,.code-panel>.ai-analysis,.code-panel>.validation-panel,.code-panel>.pin-capability-panel{grid-column:2}.board-toolbar{left:10px;right:10px;top:10px}.board-toolbar-label{display:none}.zoom-controls{flex-wrap:wrap;justify-content:flex-end}.bottom-panel{grid-template-columns:1fr;gap:12px}}@media(max-width:767px){body{min-width:0}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px}.brand{grid-row:auto}.brand-subtitle{letter-spacing:.03em}.topbar-right{display:flex;justify-content:space-between;gap:8px}.project-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px}.project-name-field{width:100%}.project-actions{flex-wrap:wrap}.workspace{display:flex;flex-direction:column;gap:1px;min-height:0}.responsive-notice{display:block;padding:12px 16px;background:#473923;color:#f2d59d;font-size:12px;line-height:1.55}.component-panel{max-height:70vh;overflow:auto}.canvas-panel{display:none}.code-panel{max-height:none;overflow:visible}.panel-heading{min-height:70px;padding:18px 16px 12px}.bottom-panel{display:flex;flex-direction:column;padding:14px;gap:12px}.zoom-controls{flex-wrap:wrap}}@media(min-width:1280px){.app-shell{height:100vh;min-height:800px;grid-template-rows:106px minmax(0,1fr) 260px}.workspace,.panel{min-height:0}.component-panel,.code-panel{overflow-y:auto}.bottom-panel{min-height:0;overflow-y:auto}}@media(min-width:1280px)and (max-height:800px){.app-shell{grid-template-rows:70px minmax(0,1fr) 220px}}.ai-analysis{padding:16px;border-top:1px solid #d8e3e8;display:grid;gap:9px}.ai-analysis-heading{display:flex;justify-content:space-between;align-items:center}.ai-analysis-heading span{font-size:11px;color:#607d88}.ai-analysis label{font-size:13px;font-weight:700}.ai-analysis textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:58px;padding:9px;border:1px solid #b7cbd3;border-radius:7px;font:inherit;background:#fff;color:#17313d}.ai-analyze-button{border:0;border-radius:7px;background:#17546a;color:#fff;padding:10px;font-weight:700;cursor:pointer}.ai-analyze-button:disabled{opacity:.55;cursor:wait}.ai-error{color:#9b2828;background:#fff1ee;padding:9px;border-radius:6px;font-size:12px}.ai-result{font-size:13px;line-height:1.55;overflow-wrap:anywhere}.ai-result-status{font-weight:700}.ai-result ul{padding-left:20px}.ai-result li{margin:5px 0}.ai-result li span{display:block}.ai-code{max-height:240px;overflow:auto;background:#112630;color:#e8f5f7;padding:10px;border-radius:6px;font-size:12px;white-space:pre}.micropython-editor{border-bottom:1px solid #31424e}.editor-actions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:#152430}.editor-actions button{border:1px solid #527b78;border-radius:5px;background:#24463f;color:#e3f3ec;padding:6px 7px;font-size:10px;cursor:pointer}.editor-actions button:disabled{opacity:.5;cursor:default}.editor-actions button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.monaco-container{min-height:300px;border-top:1px solid #304651;border-bottom:1px solid #304651;overflow:hidden}.editor-loading{padding:20px;color:#afc6cc;font-size:12px}.code-copy-message{margin:0;padding:6px 16px;color:#b5decf;background:#193c39;font-size:10px}.code-validation{padding:13px 16px;color:#c8dad9;font-size:11px;line-height:1.55}.code-validation>strong{font-size:12px}.code-validation p{margin:7px 0}.code-validation-status--valid{color:#a4dfbd}.code-validation-status--warning{color:#f0ca8a}.code-validation-status--invalid,.code-validation-error{color:#ffb3a4}.code-diagnostic{display:grid;gap:3px;padding:8px 0;border-top:1px solid #30414a}.code-diagnostic strong{font-size:10px;color:#edc590}.code-diagnostic small,.code-validation-limit{color:#8fa9ad;line-height:1.5}.code-validation-limit{display:block;margin-top:8px}.simulation-panel{padding:14px 16px;border-bottom:1px solid #31424e;color:#c8dad9;font-size:11px}.example-library{margin:0 12px 16px;padding:12px;border:1px solid #2c464e;border-radius:9px;background:#111f28;max-height:58vh;overflow:auto;color:#d7e6e3}.example-library-heading,.example-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.example-library-heading h3,.example-preview-heading h4{margin:0;font-size:12px;color:#bfe3d4}.example-library-heading span{font:10px DM Mono,monospace;color:#83a5a2}.example-search,.example-category{width:100%;height:30px;margin-top:8px;padding:5px 7px;border:1px solid #3d5b60;border-radius:5px;background:#132630;color:#d9eae3;font-size:10px}.example-search:focus-visible,.example-category:focus-visible{outline:2px solid #a4e9ce;outline-offset:1px}.example-list{display:grid;gap:5px;margin-top:8px}.example-card{display:grid;gap:2px;width:100%;padding:7px 8px;border:1px solid #2b4148;border-radius:6px;background:#14252d;color:#dbe9e4;text-align:left;cursor:pointer}.example-card:hover,.example-card--selected{border-color:#6aa28d;background:#1d3938}.example-card:focus-visible,.example-load-button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.example-card-category{color:#8ec7b2;font-size:8px;letter-spacing:.05em}.example-card strong{font-size:10px;font-weight:650}.example-card small{color:#91a8ad;font-size:8px}.example-empty{margin:0;padding:8px;color:#9bb0b3;font-size:10px}.example-preview{display:grid;gap:7px;margin-top:10px;padding:10px;border-top:1px solid #355052;background:#152a30;border-radius:6px}.example-preview-heading h4{font-size:10px}.example-simulation-badge{padding:3px 5px;border-radius:4px;font-size:8px}.example-simulation-badge--supported{background:#1f493d;color:#a8e7cb}.example-simulation-badge--partial{background:#4b3c2b;color:#f0ca8a}.example-learning-goal,.example-preview details,.example-library-note,.example-limit{margin:0;color:#bdd1cc;font-size:9px;line-height:1.55}.example-component-chips{display:flex;flex-wrap:wrap;gap:4px}.example-component-chips span{padding:3px 5px;border:1px solid #385252;border-radius:99px;color:#b3d7c6;font-size:8px}.example-preview details{padding:5px 0;border-top:1px solid #2f4649}.example-preview summary{color:#a8cebd;cursor:pointer}.example-preview details strong{display:block;margin-top:6px;color:#c6ded4}.example-preview details ul{margin:3px 0;padding-left:17px}.example-preview details p{margin:3px 0}.example-preview pre{max-height:140px;overflow:auto;margin:5px 0;padding:7px;background:#0e1a21;border-radius:5px;color:#c8e4d4;font:8px/1.5 DM Mono,monospace;white-space:pre-wrap}.example-code-sample{min-width:0;padding:12px;border-top:1px solid #355052;color:#d8ebe3}.example-code-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.example-code-heading strong{font-size:11px;color:#e4f7e9}.example-code-heading button{flex:none;padding:5px 7px;border:1px solid #679b87;border-radius:5px;background:#265044;color:#e1f4e9;font-size:10px;cursor:pointer}.example-code-heading button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.example-code-sample p{margin:8px 0;color:#bdd1cc;font-size:10px;line-height:1.55}.example-library-links{margin:10px 0;padding:9px 10px;border:1px solid #48665e;border-radius:5px;background:#1b3437}.example-library-links strong{font-size:10px;color:#e0f3e8}.example-library-links .example-library-note{margin:5px 0 0}.example-code-sample pre{max-height:240px;overflow:auto;margin:8px 0 0;padding:10px;border:1px solid #344d4a;border-radius:5px;background:#0e1a21;color:#c8e4d4;font:10px/1.55 DM Mono,monospace;white-space:pre;tab-size:4}.example-code-sample small{display:block;margin-top:5px;color:#a9ddc0;font-size:10px}.example-library-note a{color:#93dac0;overflow-wrap:anywhere}.example-limit{color:#e3c58d}.example-load-button{width:100%;padding:7px;border:1px solid #679b87;border-radius:5px;background:#265044;color:#e1f4e9;font-size:10px;font-weight:650;cursor:pointer}.example-load-button:hover{background:#346859}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pot-control{border:1px solid #405a58;border-radius:7px;background:#172c32;padding:9px;margin:10px 0;color:#cae0d5}.pot-control label{display:flex;justify-content:space-between;font-size:11px}.pot-control input{width:100%;accent-color:#91dec8;margin:8px 0 5px;cursor:pointer}.pot-control input:disabled{opacity:.55;cursor:default}.pot-control p{margin:3px 0 5px;font-family:DM Mono,monospace;color:#aae1c5;font-size:10px;line-height:1.5}.pot-control small{display:block;color:#89a5a4;font-size:10px;line-height:1.5}.simulation-led-levels{display:grid;gap:6px;margin:8px 0 10px}.simulation-led-levels>div{display:flex;align-items:center;gap:8px;color:#c9dfc9;font-size:10px}.simulation-led-levels span{min-width:90px}.simulation-led-levels progress{flex:1;height:8px;accent-color:#d4d98b}.simulation-heading,.serial-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.simulation-heading strong,.serial-heading strong{font-size:12px}.simulation-status{padding:3px 7px;border:1px solid #55757c;border-radius:4px;color:#b6d2d6}.simulation-status--running{color:#a4e6bc;border-color:#448963}.simulation-status--error{color:#ffb3a4;border-color:#a35d57}.simulation-disclaimer{line-height:1.55;color:#9db4b8;margin:9px 0}.simulation-actions{display:flex;flex-wrap:wrap;gap:5px}.simulation-actions button,.simulation-buttons button,.serial-heading button{border:1px solid #527b78;border-radius:5px;background:#24463f;color:#e3f3ec;padding:6px 7px;font-size:10px;cursor:pointer}.simulation-actions button:disabled,.simulation-buttons button:disabled,.serial-heading button:disabled{opacity:.5;cursor:default}.simulation-actions button:focus-visible,.simulation-buttons button:focus-visible,.serial-heading button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.simulation-message{margin:8px 0;line-height:1.5;overflow-wrap:anywhere}.simulation-message--error{color:#ffb3a4}.wifi-simulation{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,1.6fr);gap:6px 9px;align-items:center;margin:10px 0;padding:9px;border:1px solid #405a58;border-radius:7px;background:#172c32;color:#cae0d5;font-size:10px}.wifi-simulation-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.wifi-simulation-heading span{color:#a9e6cc}.wifi-simulation input,.wifi-simulation select{min-width:0;width:100%;padding:5px 7px;border:1px solid #577777;border-radius:4px;background:#102730;color:#e7f4ef;font:inherit}.wifi-simulation input:disabled,.wifi-simulation select:disabled{opacity:.6}.wifi-simulation p,.wifi-simulation small{grid-column:1/-1;margin:0;line-height:1.5;overflow-wrap:anywhere}.wifi-simulation p{font-family:DM Mono,monospace;color:#aae1c5}.wifi-simulation small{color:#e4bf98}.simulation-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.simulation-buttons strong{width:100%;font-size:10px}.simulation-buttons button[aria-pressed=true]{background:#688c61;color:#fff}.serial-heading{border-top:1px solid #344954;padding-top:10px;margin-top:10px}.serial-heading div{display:flex;gap:5px}.serial-output{margin-top:7px;height:92px;overflow:auto;background:#0a1720;border:1px solid #314650;border-radius:5px;padding:8px;color:#bbdccb;font:10px/1.5 DM Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.serial-output span{color:#72909b}.placed-component--lit svg{filter:drop-shadow(0 0 12px #ffeb89)}.tutor-chat{min-width:0;border-right:1px solid #34505a;padding:0 18px 0 0;color:#dcece8}.tutor-heading,.tutor-heading>div{display:flex;align-items:center;gap:12px}.tutor-heading{justify-content:space-between}.tutor-heading strong{display:block;font-size:13px}.tutor-heading small{display:block;margin-top:3px;color:#93adaf;font-size:10px}.tutor-heading .bottom-tag{margin:0}.tutor-mode{display:flex;align-items:center;gap:6px;margin-top:10px;color:#aac1be;font-size:10px}.tutor-mode button,.tutor-hint-actions button{border:1px solid #527b78;border-radius:5px;background:#162d35;color:#dcece8;padding:5px 8px;font-size:10px;cursor:pointer}.tutor-mode button[aria-pressed=true]{background:#2c6251;border-color:#76ac94;color:#effff4}.tutor-mode button:focus-visible,.tutor-hint-actions button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.tutor-safety{margin-top:9px;padding:8px 10px;border:1px solid #d58d68;border-radius:6px;background:#402d2b;color:#ffe3cf;font-size:10px;line-height:1.5}.tutor-safety-item{padding-top:5px;margin-top:5px;border-top:1px solid #80574b}.tutor-safety-item p{margin:3px 0}.tutor-messages{height:165px;overflow-y:auto;margin:12px 0;padding:9px;border:1px solid #36545d;border-radius:7px;background:#0e1d27}.tutor-empty{margin:0;color:#a6bfc2;font-size:11px;line-height:1.6}.tutor-message{padding:8px 10px;margin-bottom:7px;border-radius:6px;background:#243943;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.tutor-message--user{background:#214338}.tutor-message-title{font-size:10px;font-weight:700;color:#a9e6cc}.tutor-message-title span{color:#f0ce93}.tutor-message p{margin:4px 0;white-space:pre-wrap}.tutor-message p strong{color:#c6e9db}.tutor-inference{color:#f2d39e}.tutor-references{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.tutor-hint-title{color:#a9e6cc}.tutor-hint-actions{display:flex;gap:6px;margin-top:8px}.tutor-hint-actions button:hover,.tutor-mode button:hover{filter:brightness(1.15)}.tutor-full-answer{margin-top:8px;padding-top:6px;border-top:1px solid #46616a}.tutor-reference{border:1px solid #75a89d;border-radius:5px;background:#27483f;color:#e4f6ea;padding:4px 7px;font-size:10px;cursor:pointer;text-align:left}.tutor-reference--issue{border-color:#d0a26d;background:#4c3c30;color:#ffe3bf}.tutor-reference:hover{filter:brightness(1.18)}.tutor-reference:focus-visible,.tutor-form input:focus-visible,.tutor-form button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.tutor-pending{font-size:11px;color:#b5dec9}.tutor-error{padding:7px 9px;border-radius:5px;background:#4b3031;color:#ffd1ca;font-size:11px}.tutor-form>label:first-child{display:block;margin-bottom:5px;font-size:11px;font-weight:700}.tutor-form>div{display:flex;gap:7px}.tutor-form input[type=text]{flex:1;min-width:0;padding:8px 10px;border:1px solid #577777;border-radius:5px;background:#102730;color:#e7f4ef;font-size:11px}.tutor-form button{border:1px solid #76ac94;border-radius:5px;background:#2c6251;color:#effff4;padding:7px 12px;font-size:11px;cursor:pointer}.tutor-form button:disabled{opacity:.5;cursor:default}.tutor-code-option{display:flex;align-items:center;gap:5px;margin-top:6px;color:#aac1be;font-size:10px}.system-section{align-items:flex-start;padding-top:8px}.sidebar-disclosure{flex:none;border-top:1px solid #2a3d47}.sidebar-disclosure>summary{display:flex;justify-content:space-between;gap:8px;padding:13px 16px;color:#c7ded5;cursor:pointer;font-size:12px;font-weight:650;list-style:none}.sidebar-disclosure>summary::-webkit-details-marker{display:none}.sidebar-disclosure>summary:before{content:"▸";color:#8fd3b8;margin-right:6px}.sidebar-disclosure[open]>summary:before{content:"▾"}.sidebar-disclosure>summary span{margin-left:auto;color:#8ba7a4;font-weight:400}.sidebar-disclosure .example-library{max-height:330px;margin:0 8px 8px;padding:8px;border:0;border-radius:0;background:transparent}.sidebar-disclosure .example-library-heading{display:none}.example-open-button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:calc(100% - 20px);margin:10px;padding:10px 12px;border:1px solid #5d9984;border-radius:7px;background:#1e3d38;color:#e2f4e9;text-align:left;cursor:pointer}.example-open-button:hover{background:#285247;border-color:#95d7b8}.example-open-button:focus-visible{outline:2px solid #e5f9bd;outline-offset:2px}.example-open-button span{font-size:12px;font-weight:700}.example-open-button small{font-size:10px;color:#a9d4c2}.example-dialog{width:min(1040px,calc(100vw - 48px));height:min(790px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #5c8478;border-radius:12px;background:#12232b;color:#e6f2ed;box-shadow:0 30px 90px #020c13d9;overflow:hidden}.example-dialog::backdrop{background:#041018b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.example-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid #36534d;background:#182f35}.example-dialog-top h2{margin:5px 0 2px;font-size:21px}.example-dialog-top p{margin:0;color:#aac3bc;font-size:12px}.example-dialog-top button{padding:8px 11px;border:1px solid #668b80;border-radius:6px;background:#24423f;color:#e7f5ed;cursor:pointer}.example-dialog-top button:focus-visible{outline:2px solid #e5f9bd;outline-offset:2px}.example-dialog .example-library{display:grid;grid-template-columns:275px minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);column-gap:20px;height:calc(100% - 93px);max-height:none;margin:0;padding:18px 22px;border:0;border-radius:0;background:transparent;overflow:hidden}.example-dialog .example-library-heading{grid-column:1;grid-row:1}.example-dialog .example-search{grid-column:1;grid-row:2}.example-dialog .example-category{grid-column:1;grid-row:3}.example-dialog .example-list{grid-column:1;grid-row:4;align-content:start;min-height:0;overflow-y:auto;padding-right:4px}.example-dialog .example-preview,.example-dialog .example-preview-placeholder{grid-column:2;grid-row:1 / 5;min-width:0;min-height:0;margin:0;overflow-y:auto}.example-dialog .example-preview{align-content:start;gap:15px;padding:20px 24px;border:1px solid #355052;border-radius:8px}.example-dialog .example-preview-heading h4{font-size:17px}.example-dialog .example-learning-goal,.example-dialog .example-preview details,.example-dialog .example-library-note{font-size:12px}.example-dialog .example-component-chips span{font-size:11px;padding:5px 8px}.example-dialog .example-code-heading strong{font-size:13px}.example-dialog .example-code-sample pre{max-height:320px;font-size:12px}.example-dialog .example-load-button{padding:10px;font-size:12px}.example-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #46635b;border-radius:8px;color:#b5cdc0;text-align:center}.example-preview-placeholder span{font-size:42px;color:#8fc9aa}.example-preview-placeholder strong{font-size:16px}.example-preview-placeholder p{margin:0;font-size:12px}@media(max-width:760px){.example-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px)}.example-dialog .example-library{display:flex;flex-direction:column;gap:8px;height:calc(100% - 102px);overflow-y:auto}.example-dialog .example-list{max-height:200px;overflow-y:auto}.example-dialog .example-preview,.example-dialog .example-preview-placeholder{min-height:260px;overflow:visible}.example-dialog-top{padding:14px}}.project-menu{position:relative}.project-menu>summary{display:flex;align-items:center;height:32px;padding:4px 10px;border:1px solid #476461;border-radius:5px;background:#1a3038;color:#d4e7e1;cursor:pointer;font-size:11px;list-style:none;white-space:nowrap}.project-menu>summary::-webkit-details-marker{display:none}.project-menu>summary:after{content:"▾";margin-left:8px;color:#94baa9}.project-menu[open]>summary{background:#294b49}.project-menu>summary:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.project-menu-panel{position:absolute;top:38px;right:0;z-index:30;display:grid;gap:6px;width:220px;padding:10px;border:1px solid #52736d;border-radius:8px;background:#193039;box-shadow:0 12px 28px #06131ccc}.project-menu-panel button,.project-menu-panel select{width:100%;height:33px;text-align:left;font-size:11px}.project-actions .project-save{height:32px;padding:4px 14px;border-color:#70ad94;background:#2c5e4b;color:#eff9f1;font-size:11px;font-weight:700}.sidebar-note{margin:0;padding:10px 16px;border-top:1px solid #2a3d47;font-size:10px}.component-groups--active{min-height:0;overflow:auto}.component-group{padding:4px 0 7px}.component-group h3{margin:10px 8px 6px}.palette-item{margin:1px 0;padding:7px 6px;border:0;border-radius:5px;background:transparent}.palette-item:hover{background:#21333b}.palette-copy small{white-space:normal;line-height:1.3}.canvas-corner{display:none}.canvas-surface{margin:0 8px 8px;border:0;box-shadow:none}.board-toolbar-label{display:none}.board-toolbar{justify-content:flex-end;top:10px;right:10px;left:10px}.zoom-controls{box-shadow:none;border-color:#3c535b;background:#182b34e8}.zoom-controls button[aria-pressed]{width:auto;min-width:44px;padding:0 6px;font-size:11px;white-space:nowrap}.code-panel{overflow:hidden}.tool-tabs{display:flex;flex:none;border-bottom:1px solid #31434b;padding:0 12px}.tool-tabs button{flex:1;min-width:0;height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:#91a9af;cursor:pointer;font-size:12px;font-weight:600}.tool-tabs button[aria-pressed=true]{border-bottom-color:#99dfc4;color:#effbf3}.tool-tabs button:hover{color:#e4f3ed}.tool-tabs button:focus-visible{outline:2px solid #a4e9ce;outline-offset:-2px}.tool-content{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.tool-content>.micropython-editor{min-height:100%}.code-toolbar,.code-footer{display:none}.editor-actions{background:transparent;padding:9px 12px}.editor-actions button{font-size:11px}.micropython-editor,.simulation-panel,.validation-panel,.pin-use-panel,.ai-analysis{background:transparent;border-bottom:1px solid #2a3d47}.monaco-container{border-top:1px solid #2a3d47}.bottom-panel{position:relative;z-index:10;display:block;height:48px;min-height:48px;padding:0;overflow:visible;border-top:1px solid #31434b;background:#14242e}.bottom-bar{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.bottom-bar button{border:0;background:transparent;color:#d7f0e4;font-size:12px;font-weight:700;cursor:pointer}.bottom-bar button span{margin-left:7px;color:#91c8b4}.bottom-bar button:focus-visible{outline:2px solid #a4e9ce;outline-offset:2px}.bottom-connection{font-size:11px;color:#a2b8b9}.bottom-connection--connected{color:#a0dfc4}.bottom-connection--disconnected{color:#f2ad9b}.tutor-drawer{position:absolute;left:0;right:0;bottom:48px;height:min(350px,55vh);padding:16px 20px;overflow:auto;border-top:1px solid #557b74;background:#172b34;box-shadow:0 -15px 30px #07131bc9}.tutor-chat{border:0;padding:0}.tutor-messages{height:110px}@media(min-width:1261px){.app-shell{height:100dvh;min-height:640px;grid-template-rows:64px minmax(0,1fr) 48px}.wiring-app{grid-template-rows:64px minmax(0,1fr)}.topbar{display:flex;align-items:center;gap:14px;padding:0 16px}.brand{flex:none;gap:9px}.brand-mark{width:31px;height:31px}.brand-name{font-size:17px;white-space:nowrap}.brand-subtitle,.workspace-tag,.topbar-right{display:none}.connection{font-size:11px;padding:7px 9px}.project-toolbar{order:2;margin-left:auto;gap:7px}.project-name-field{width:145px}.project-actions{gap:3px}.project-actions button,.project-actions select{padding:4px 6px}.project-menu-panel select{max-width:none}.wiring-app .workspace{min-height:0;grid-template-columns:216px minmax(0,1fr) 320px}.panel,.workspace{min-height:0}.component-panel{overflow:hidden}.canvas-heading,.component-panel>.panel-heading{min-height:54px;padding:12px 16px 8px}.panel-heading h2{font-size:15px;margin-top:3px}.panel-count,.file-badge{margin-top:5px}.component-panel>.panel-description{padding:0 16px 8px;font-size:11px;line-height:1.4}.canvas-panel{min-height:0}.circuit-export-actions .project-json-export{display:none}.export-button{margin-top:2px;padding:7px 9px}}@media(max-width:1260px){.tool-content{overflow:visible}.tutor-drawer{height:min(380px,60vh)}}
