:root{--bg:#f4f3ef;--panel:#fbfaf7;--raised:#fff;--line:#14120c17;--line-strong:#14120c2e;--ink:#23221f;--ink-2:#6d6a63;--ink-3:#a29e95;--accent:#2f6fdb;--accent-soft:#e4edfb;--danger:#d23c3c;--danger-soft:#fbe7e7;--board:#fbfaf7;--hole:#c7c2b7;--part:#fff;--part-edge:#6d6a63;--part-dark:#3b3a37;--part-dark-edge:#1f1e1c;--hole-dark:#151513;--pcb:#e9eeea;--pcb-edge:#6f8a7b;--metal:#dfe1e4;--metal-edge:#8e939a;--screen-bg:#e4edfb;--screen-edge:#9dbbe6;--screen-ink:#2f6fdb;--cap:#e9c47a;--terminal:#3f86c9;--jst:#f1ede1;--jst-cavity:#d9d1bb;--xt:#e9c229;--glow-bg:#fbeec9;--glow-edge:#dcae3c;--copper:#c98a3d;--far:#c9443c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}@media (prefers-color-scheme:dark){:root{--bg:#1b1b1a;--panel:#222220;--raised:#2a2a28;--line:#ffffff14;--line-strong:#ffffff2b;--ink:#ecebe6;--ink-2:#a5a39c;--ink-3:#6f6d67;--accent:#6c9cf0;--accent-soft:#24324a;--danger:#ef6b62;--danger-soft:#45231f;--board:#262624;--hole:#55534d;--part:#33332f;--part-edge:#a5a39c;--part-dark:#121211;--part-dark-edge:#000;--hole-dark:#000;--pcb:#22302a;--pcb-edge:#6f9a84;--metal:#55585d;--metal-edge:#9ca1a8;--screen-bg:#22324a;--screen-edge:#4e76b3;--screen-ink:#7ea8f2;--cap:#b88f44;--terminal:#2f6aa3;--jst:#cfc8b4;--jst-cavity:#8f8772;--xt:#b8981c;--glow-bg:#4a3d1c;--glow-edge:#c79c35;--copper:#d39a52;--far:#ef6b62;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input{font:inherit;color:inherit}.page-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.main{grid-template-columns:232px 1fr 256px;min-height:0;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 10px;display:flex}.brand{align-items:center;gap:0;margin-right:4px;display:flex}.doc-name{background:0 0;border:1px solid #0000;border-radius:6px;width:190px;padding:5px 6px;font-weight:500}.doc-name:hover{border-color:var(--line)}.doc-name:focus{border-color:var(--accent);background:var(--raised);outline:none}.sep{background:var(--line);align-self:stretch;width:1px;margin:4px}.spacer{flex:1}.group{gap:2px;display:flex}.tool,.chip,.icon-button{cursor:pointer;min-width:30px;height:30px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;text-decoration:none;display:inline-flex}.tool:hover,.chip:hover,.icon-button:hover{background:var(--line);color:var(--ink)}.chip:is([aria-pressed=true],[aria-checked=true]){background:var(--accent-soft);color:var(--accent)}.tools{background:var(--line);border-radius:9px;padding:2px}.tools .tool{min-width:28px;height:26px}.tool:is([aria-pressed=true],[aria-checked=true]),.tool:is([aria-pressed=true],[aria-checked=true]):hover{background:var(--accent);color:#fff;box-shadow:0 1px 2px #0000002e}.tool.narrow{min-width:22px;padding:0 3px}.chip{font-size:12px}.tool:disabled,.chip:disabled{opacity:.35;cursor:default;background:0 0}.mirror svg{transform:scaleX(-1)}.swatches{grid-template-columns:repeat(5,26px);gap:6px;display:grid}.swatch{border:1px solid var(--line-strong);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0}.swatch[data-active=true]{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.swatch.small{width:16px;height:16px;cursor:inherit;display:block}.popover,.menu,.tooltip{background:var(--raised);border:1px solid var(--line);z-index:10;border-radius:10px;box-shadow:0 10px 30px #0000001f,0 2px 6px #0000000f}.popover{padding:12px}.popover-title{color:var(--ink-2);margin-bottom:10px;font-size:12px}.tooltip{color:var(--ink-2);border-radius:7px;padding:5px 8px;font-size:12px}.menu{min-width:190px;padding:4px}.menu-item{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;outline:none;justify-content:space-between;align-items:center;gap:16px;padding:6px 10px;display:flex}.menu-item[data-highlighted],.menu-item[data-state=open]{background:var(--accent-soft);color:var(--accent)}.menu-item[data-state=checked]{font-weight:500}.menu-hint{color:var(--ink-3);font-size:12px}.menu-sep{background:var(--line);height:1px;margin:4px 2px}.menu-label{color:var(--ink-3);padding:6px 10px 4px;font-size:11px}.menu.files{min-width:260px;max-height:70vh;overflow-y:auto}.file-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.menu-item.danger{color:var(--danger)}.menu-item.danger[data-highlighted]{background:var(--danger-soft);color:var(--danger)}.menu-item[data-state=checked] .file-name{color:var(--accent)}.keys{gap:4px;margin-left:10px;display:inline-flex}kbd{font:inherit;text-align:center;min-width:18px;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:3px 5px;font-size:11px;line-height:1}.tooltip{align-items:center;display:flex}.library{background:var(--panel);border-right:1px solid var(--line);padding:10px;overflow-y:auto}.search{border:1px solid var(--line);background:var(--raised);height:32px;color:var(--ink-3);border-radius:8px;align-items:center;gap:6px;margin-bottom:6px;padding:0 8px;display:flex}.search input{background:0 0;border:none;outline:none;flex:1;min-width:0}.library h3{color:var(--ink-3);text-transform:none;margin:14px 4px 6px;font-size:11px;font-weight:500}.items{grid-template-columns:1fr 1fr;gap:6px;display:grid}.item{background:var(--raised);border:1px solid var(--line);cursor:pointer;text-align:center;color:var(--ink-2);border-radius:9px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;font-size:11.5px;line-height:1.25;display:flex}.item:hover{border-color:var(--line-strong);color:var(--ink)}.item[data-active=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.preview{width:100%;height:44px;overflow:visible}.inspector{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--line);gap:2px;padding:8px 10px 0;display:flex}.tab{cursor:pointer;color:var(--ink-2);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 8px 9px;font-size:12px;display:inline-flex}.tab:hover{color:var(--ink)}.tab[data-state=active]{color:var(--ink);border-bottom-color:var(--accent)}.tab-body{flex:1;padding:14px;overflow-y:auto}.tab-body:focus{outline:none}.badge{background:var(--danger);color:#fff;border-radius:8px;padding:3px 5px;font-size:10.5px;line-height:1}.inspector h2{margin:0 0 14px;font-size:14px;font-weight:500}.inspector h3{color:var(--ink-3);margin:20px 0 8px;font-size:11px;font-weight:500}.fields{grid-template-columns:auto minmax(135px,1fr);align-items:center;column-gap:10px;display:grid}.row{display:contents}.row>label{min-height:34px;color:var(--ink-2);align-items:center;font-size:12px;display:flex}.row>:not(label){justify-self:start;min-width:0}.row.column>:not(label){grid-column:1/-1;justify-self:stretch;padding-bottom:6px}.fields .input,.fields .combo{width:100%}.inline{align-items:center;gap:4px;display:flex}.meta{color:var(--ink-2);font-size:12px}.input{box-sizing:border-box;border:1px solid var(--line);background:var(--raised);border-radius:7px;outline:none;width:130px;height:30px;padding:0 8px}.input:focus{border-color:var(--accent)}.combo{display:inline-flex;position:relative}.combo .input{padding-right:28px}.combo-button{width:24px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;display:grid;position:absolute;top:2px;bottom:2px;right:2px}.combo-button:hover,.combo-button[data-state=open]{background:var(--line);color:var(--ink)}.suggestion{font-variant-numeric:tabular-nums;min-width:44px;font-weight:500}.select-trigger{cursor:pointer;justify-content:space-between;align-items:center;display:inline-flex}.segmented{background:var(--line);border-radius:8px;padding:2px;display:inline-flex}.segment{cursor:pointer;color:var(--ink-2);background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:12px}.segment[data-state=on]{background:var(--raised);color:var(--ink);box-shadow:0 1px 2px #0000001a}.actions{gap:8px;margin-top:16px;display:flex}.button{border:1px solid var(--line-strong);background:var(--raised);cursor:pointer;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px;display:inline-flex}.button:hover{background:var(--line)}.button.danger{color:var(--danger)}.button.danger:hover{background:var(--danger-soft)}.shortcuts{gap:6px;margin:0;display:grid}.shortcuts div{justify-content:space-between;gap:8px;font-size:12px;display:flex}.shortcuts dt{color:var(--ink-2)}.shortcuts dd{margin:0}.shortcuts .keys{margin-left:0}.status{background:var(--panel);border-top:1px solid var(--line);height:28px;color:var(--ink-2);align-items:center;gap:16px;padding:0 12px;font-size:12px;display:flex}.coords{font-variant-numeric:tabular-nums;min-width:150px}.hint{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.warning{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.warning:hover{text-decoration:underline}.checks{gap:4px;margin:0;padding:0;list-style:none;display:grid}.checks li{cursor:default;color:var(--ink-2);background:var(--line);border-radius:7px;padding:6px 8px 6px 22px;font-size:12px;line-height:1.4;position:relative}.checks li:before{content:"";background:var(--ink-3);border-radius:50%;width:6px;height:6px;position:absolute;top:11px;left:9px}.checks li.fault{color:var(--danger);background:var(--danger-soft)}.checks li.fault:before{background:var(--danger)}.checks li:hover{outline:1px solid var(--line-strong)}.checks-empty{color:var(--ink-2);margin:0;font-size:12px}.notice{color:var(--accent)}.stage{min-width:0;min-height:0;display:grid;position:relative}.stage.split{grid-template-columns:1fr 1fr}.pane{min-width:0;display:grid;position:relative}.pane+.pane{border-left:1px solid var(--line)}.pane-label{color:var(--ink-2);background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:6px;padding:2px 8px;font-size:11px;position:absolute;top:10px;left:12px}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.canvas.mode-wire,.canvas.mode-place{cursor:crosshair}.canvas.mode-pan{cursor:grab}.canvas.mode-wire .part,.canvas.mode-place .part,.canvas.mode-pan .part,.canvas.mode-wire .wire-hit,.canvas.mode-place .wire-hit,.canvas.mode-pan .wire-hit,.canvas.mode-wire .pin,.canvas.mode-place .pin{pointer-events:none}.board{fill:var(--board);stroke:var(--line-strong);stroke-width:.3px}.mount{fill:var(--bg);stroke:var(--ink-2);stroke-width:.3px}.hole{fill:var(--hole)}.axis{fill:var(--ink-3);font-size:1.9px}.axis.caption{font-size:2.3px}.hit{fill:#0000}.body{fill:var(--part);stroke:var(--part-edge);stroke-width:.3px}.body.dark{fill:var(--part-dark);stroke:var(--part-dark-edge)}.body.pcb{fill:var(--pcb);stroke:var(--pcb-edge)}.body.metal,.metal{fill:var(--metal);stroke:var(--metal-edge);stroke-width:.25px}.body.screen{fill:var(--screen-bg);stroke:var(--screen-edge)}.body.header{stroke:var(--part-dark-edge)}.body.ptc{fill:#e3b62b;stroke:#9a7a14}.body.blade{fill:#d9534f;stroke:#8e2f2c}.glass-tube{fill:#c8e1f08c;stroke:var(--metal-edge);stroke-width:.25px}.edge.light{stroke:#ffffff59}.body.cap{fill:var(--cap);stroke:none}.body.terminal{fill:var(--terminal);stroke:none}.body.jst{fill:var(--jst);stroke:var(--part-edge)}.cavity{fill:var(--jst-cavity)}.body.xt{fill:var(--xt);stroke:var(--part-edge)}.pad-top{fill:var(--hole-dark);stroke:var(--copper);stroke-width:.35px}.part.far .pad-top{display:none}.pad{fill:var(--board);stroke:var(--copper);stroke-width:.5px}.lead-wire{stroke:var(--ink-2);stroke-width:.8px;stroke-linecap:round}.tag{fill:var(--raised);stroke:var(--line-strong);stroke-width:.2px}.tag-text{fill:var(--ink);font-size:1.3px}.socket{fill:var(--metal);stroke:var(--metal-edge);stroke-width:.2px}.glass{fill:var(--screen-ink);opacity:.22}.active{fill:var(--screen-ink);opacity:.45}.edge{fill:none;stroke:var(--part-edge);stroke-width:.3px}.lead{stroke:var(--metal-edge);stroke-width:.5px;stroke-linecap:round}.stripe{fill:var(--part-edge);opacity:.45}.band{stroke:none}.led{stroke:#00000040;stroke-width:.2px}.hole-dark{fill:var(--hole-dark)}.slot{stroke:var(--part-dark);stroke-width:.35px}.ink{fill:var(--ink)}.ink.muted{fill:var(--ink-2)}.ink.light{fill:#f4f3ef}.window{fill:var(--glow-bg);stroke:var(--glow-edge);stroke-width:.35px;stroke-dasharray:1.2 .8;opacity:.85}.part.far{pointer-events:none}.part.far :is(rect,circle,path,line,polyline,ellipse):not(.hit){stroke-width:.3px;stroke-dasharray:1.2 .8;opacity:.8;fill:none!important;stroke:var(--far)!important}.part.far text{opacity:.7;fill:var(--far)!important}.ghost{opacity:.55;pointer-events:none}.pin{stroke-width:.3px}.pin.near{fill:var(--board);stroke:var(--copper)}.pin.far{fill:var(--copper);stroke:none}.pin.conflict{fill:var(--danger);stroke:var(--danger)}.wire polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.wire-casing{stroke:#00000059;stroke-width:.95px}.wire-core{stroke-width:.7px}.wire-end{stroke:#00000059;stroke-width:.25px}.wire-selected{stroke:var(--accent);stroke-width:2px;opacity:.35}.wire-hit{stroke:#0000;stroke-width:2.4px;pointer-events:stroke}.wire.far{opacity:.45;pointer-events:none}.wire.far .wire-core{stroke-dasharray:1.4 .9}.wire.draft{opacity:.8;pointer-events:none}.wire-handle{fill:var(--raised);stroke:var(--accent);stroke-width:.3px;cursor:move}.wire-handle:hover{fill:var(--accent)}.canvas.mode-wire .wire-handle,.canvas.mode-place .wire-handle,.canvas.mode-pan .wire-handle{pointer-events:none}.junction{stroke:#00000059;stroke-width:.2px;pointer-events:none}.junction.far{opacity:.45}.check-ring{fill:none;stroke:var(--danger);stroke-width:.45px;pointer-events:none;animation:1s ease-in-out infinite check-pulse}@keyframes check-pulse{50%{stroke-opacity:.35}}.selection{fill:none;stroke:var(--accent);stroke-width:.35px}.hover-ring{fill:none;stroke:var(--accent);stroke-width:.3px;pointer-events:none}.silk{fill:var(--ink);opacity:.75;font-size:1.1px}.canvas-wrap{min-width:0;min-height:0;position:relative;overflow:hidden}.pin-anchor{pointer-events:none;width:0;height:0;position:absolute}.popover.pin-label{z-index:30;padding:10px}.popover.pin-label .input{width:200px}.pin-tip{pointer-events:none;white-space:nowrap;background:var(--raised);border:1px solid var(--line-strong);border-radius:8px;gap:6px;padding:6px 9px;display:grid;position:absolute;transform:translate(14px,calc(-100% - 10px));box-shadow:0 4px 14px #0000001f}.pin-tip-name{font-size:12.5px;font-weight:600}.pin-tip-detail{color:var(--ink-2);margin-top:1px;font-size:11px}.pin-tip-part{color:var(--ink-3);margin-top:1px;font-size:10.5px}.pin-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-weight:500;overflow:hidden}.radial-backdrop{z-index:20;position:fixed;inset:0}.radial{width:0;height:0;animation:.12s ease-out radial-in;position:fixed}@keyframes radial-in{0%{opacity:0;transform:scale(.6)}}.radial:before{content:"";background:color-mix(in srgb, var(--raised) 88%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;width:212px;height:212px;position:absolute;top:-106px;left:-106px;box-shadow:0 12px 36px #0000002e}.radial-hub{border:1px solid var(--line-strong);width:30px;height:30px;box-shadow:0 0 0 4px var(--raised);border-radius:50%;position:absolute;top:-15px;left:-15px}.radial-label{color:var(--ink-2);white-space:nowrap;font-size:11px;position:absolute;top:22px;left:0;transform:translate(-50%)}.radial-swatch{border:1px solid var(--line-strong);cursor:pointer;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;transition:transform 90ms ease-out,box-shadow 90ms ease-out;position:absolute}.radial-swatch[data-current=true]{box-shadow:0 0 0 2px var(--raised), 0 0 0 3.5px var(--ink-3)}.radial-swatch[data-hover=true]{box-shadow:0 0 0 2px var(--raised), 0 0 0 4px var(--accent);transform:scale(1.25)}
