:root{color:#172033;background:#eef3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{overscroll-behavior:none}body{margin:0;min-width:320px;overscroll-behavior:none}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.topbar{align-items:center;background:#071327;color:#f7fbff;display:flex;gap:14px;min-height:64px;padding:10px 16px}.brand{align-items:center;display:flex;gap:10px;min-width:156px}.brand img{border-radius:10px;height:38px;width:38px}.brand strong,.brand span{display:block;line-height:1.1}.brand span{color:#8fb4d8;font-size:12px;margin-top:3px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.toolbar.actions{margin-left:auto}.tool-button{align-items:center;background:#132640;border:1px solid #254567;border-radius:7px;color:#f7fbff;cursor:pointer;display:inline-flex;gap:7px;min-height:38px;padding:0 11px;position:relative}.tool-button:hover{background:#1a3150}.tool-button:disabled{color:#7890a8;cursor:not-allowed;opacity:.72}.tool-button:disabled:hover{background:#132640}.tool-button.active{background:#0aa6c2;border-color:#6de4f0;color:#001018}.tool-button.tutorial-highlight{box-shadow:0 0 0 2px #fff,0 0 0 5px #f6c343}.tool-button-icon-only{gap:0;height:38px;justify-content:center;min-width:38px;padding:0;width:38px}.tool-button svg{flex:0 0 auto}.sr-only{border:0;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.tool-button-tooltip{background:#f8fafc;border:1px solid #bdcbd8;border-radius:6px;box-shadow:0 8px 20px #0713273d;color:#172033;font-size:12px;font-weight:600;left:50%;line-height:1;opacity:0;padding:7px 9px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translate(-50%,-2px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden;white-space:nowrap;z-index:12}.tool-button:hover .tool-button-tooltip,.tool-button:focus-visible .tool-button-tooltip{opacity:1;transform:translate(-50%);visibility:visible}.toolbar.actions .tool-button-tooltip{left:auto;right:0;transform:translateY(-2px)}.toolbar.actions .tool-button:hover .tool-button-tooltip,.toolbar.actions .tool-button:focus-visible .tool-button-tooltip{transform:translateY(0)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0}.canvas-pane{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;padding:14px;position:relative}.canvas-controls{display:flex;gap:6px;position:absolute;right:26px;top:26px;z-index:2}.icon-button{align-items:center;background:#fffffff0;border:1px solid #bdcbd8;border-radius:7px;color:#172033;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.icon-button:hover{background:#e6eef6}.circuit-canvas{background:#f9fcff;border:1px solid #cddae6;border-radius:8px;box-shadow:0 1px 2px #1424361a;height:100%;max-height:calc(100vh - 112px);min-height:520px;overscroll-behavior:contain;touch-action:none;width:100%}.circuit-canvas.pan-ready{cursor:grab}.circuit-canvas.panning{cursor:grabbing}.circuit-canvas.selecting{cursor:crosshair}.circuit-canvas.tutorial-highlight-surface{border-color:#f6c343;box-shadow:0 1px 2px #1424361a,0 0 0 4px #f6c34361}.node-circle{cursor:pointer;fill:#1167c9;stroke:#071327;stroke-width:2}.node-circle.selected,.node-circle.pending{fill:#15bfd3;stroke:#03131c;stroke-width:3}.node-circle.focused{fill:#f25f5c}.node-label,.edge-label{fill:#172033;font-size:14px;paint-order:stroke;pointer-events:none;stroke:#f9fcff;stroke-width:4px}.edge-line{cursor:pointer;stroke:#233b55;stroke-linecap:round;stroke-width:4}.edge-line.selected{stroke:#0aa6c2;stroke-width:6}.selection-marquee{fill:#0aa6c221;pointer-events:none;stroke:#0aa6c2;stroke-dasharray:8 6;stroke-width:2}.paste-preview{pointer-events:none}.paste-preview-line{stroke:#d97706;stroke-dasharray:7 5;stroke-linecap:round;stroke-width:4}.paste-preview-node{fill:#f59e0b24;stroke:#d97706;stroke-dasharray:5 4;stroke-width:3}.paste-preview-label{fill:#92400e;font-size:14px;paint-order:stroke;stroke:#fff7ed;stroke-width:4px}.ground-symbol line{stroke:#233b55;stroke-linecap:round;stroke-width:4}.canvas-hint{fill:#26384e;font-size:18px;paint-order:stroke;pointer-events:none;stroke:#f9fcff;stroke-linejoin:round;stroke-width:7px}.canvas-hint-title{fill:#071327;font-size:24px;font-weight:700}.status-line{color:#31435a;min-height:32px;padding:8px 2px 0}.side-pane{background:#f8fafc;border-left:1px solid #d7e1ea;display:grid;grid-template-rows:auto 1fr;min-height:0;overflow:hidden}.panel{border-bottom:1px solid #d7e1ea;padding:16px}.panel h2{font-size:16px;margin:0 0 12px}.form-grid{display:grid;gap:10px}.form-grid label{display:grid;gap:5px}.form-grid span{color:#516277;font-size:12px}.form-grid input,.output-panel textarea{background:#fff;border:1px solid #bdcbd8;border-radius:7px;color:#172033;min-height:36px;padding:7px 9px;width:100%}.form-grid input.tutorial-highlight-control{border-color:#c28a00;box-shadow:0 0 0 3px #f6c34357}.metrics{display:flex;gap:12px}.metrics span{background:#e6eef6;border-radius:7px;color:#26384e;padding:7px 9px}.output-panel{border-bottom:0;display:grid;grid-template-rows:auto auto auto minmax(220px,1fr);min-height:0}.entries h3{color:#516277;font-size:12px;margin:0 0 6px}.entries ol{margin:0 0 12px;max-height:110px;overflow:auto;padding-left:20px}.entries li{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;margin:3px 0}.output-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;min-height:0;resize:none}.hidden-file{display:none}.tutorial-prompt,.tutorial-callout{background:#fff;border:1px solid #bdcbd8;border-radius:8px;box-shadow:0 16px 36px #07132738;color:#172033;max-width:min(360px,calc(100vw - 28px));padding:14px;position:fixed;z-index:8}.tutorial-prompt{bottom:18px;left:18px}.tutorial-prompt strong{display:block;font-size:15px}.tutorial-prompt p,.tutorial-callout p,.help-dialog p{color:#40536b;line-height:1.45;margin:8px 0 0}.tutorial-prompt div,.tutorial-callout div,.dialog-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tutorial-prompt div,.tutorial-callout div{margin-top:12px}.tutorial-prompt button,.tutorial-callout button{background:#132640;border:1px solid #254567;border-radius:7px;color:#fff;cursor:pointer;min-height:34px;padding:0 11px}.tutorial-prompt button:hover,.tutorial-callout button:hover{background:#1a3150}.tutorial-callout{z-index:9}.tutorial-callout-canvas{bottom:18px;left:18px}.tutorial-callout-tools{left:216px;top:76px}.tutorial-callout-actions{right:18px;top:76px}.tutorial-callout-inspector{right:374px;top:92px}.tutorial-callout span{color:#66778c;display:block;font-size:12px;font-weight:700;text-transform:uppercase}.tutorial-callout h2{font-size:17px;margin:5px 0 0}.dialog-backdrop{align-items:center;background:#07132773;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10}.help-dialog{background:#fff;border:1px solid #bdcbd8;border-radius:8px;box-shadow:0 18px 45px #07132747;color:#172033;max-width:560px;padding:18px;width:min(100%,560px)}.help-dialog header{align-items:center;display:flex;gap:12px;justify-content:space-between}.help-dialog h2{font-size:18px;margin:0}.help-dialog button{background:#132640;border:1px solid #254567;border-radius:7px;color:#fff;cursor:pointer;min-height:36px;padding:0 12px}.help-dialog button:hover{background:#1a3150}.dialog-actions{justify-content:flex-end}.help-dialog ol{margin:16px 0 0;padding-left:22px}.help-dialog li{margin:8px 0}@media(max-width:980px){.topbar{align-items:flex-start;flex-direction:column}.toolbar.actions{margin-left:0}.workspace{grid-template-columns:1fr}.side-pane{border-left:0;border-top:1px solid #d7e1ea}.circuit-canvas{max-height:none}.tutorial-prompt,.tutorial-callout{inset:auto 12px 12px;max-width:none}}
