:root{--accent:#1f6f5c;--accent-2:#e3f1ed;--bg:#f3f4f5;--panel:#fff;--line:#d9dcdf;--text:#1d2125;--muted:#6b737b;--sel:#1a6fe0;--err:#d03030;--warn:#c77700;--ok:#1f8a4c;--chk-err:#e06c00;--chk-warn:#e0a800;--red:#d4141c;color:var(--text);font:12px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overflow:hidden}a{color:var(--accent);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}h2{margin:0;font-size:16px}h3{margin:0 0 8px;font-size:14px}h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 5px;font-size:10px}h4:first-child{margin-top:2px}small{color:var(--muted);font-size:10.5px}.muted{color:var(--muted)}.grow{flex:1}.center{place-items:center;height:100%;display:grid}button,.btn,select,input,textarea{font:inherit;color:inherit}button,.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:4px;align-items:center;gap:4px;height:24px;padding:0 9px;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:#f1f3f4;text-decoration:none}button:disabled{opacity:.45;cursor:default}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled),.btn.primary:hover{background:#185a4a}button.danger,a.danger{color:var(--err)}button.ghost{background:0 0;border:0;padding:0 5px}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:0;height:24px;padding:0 6px}textarea{resize:vertical;width:100%;height:auto;padding:4px 6px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-2);border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{color:var(--muted);background:#f6f7f8}fieldset{border:0;margin:0;padding:0;display:contents}.logo{color:var(--text);align-items:center;gap:7px;display:inline-flex}.logo b{letter-spacing:-.01em;font-size:14px}.chip{white-space:nowrap;background:#eceef0;border-radius:10px;padding:2px 7px;font-size:11px}.chip.edit{background:var(--accent-2);color:var(--accent);font-weight:600}.chip.lock{color:#8a5a00;background:#fdf0d8}.chip.ro{color:#2a4b9b;background:#e6ecfb}.chip.view{color:#8a5a00;background:#fdf0d8;font-weight:600}.chip svg.lock{vertical-align:-1px;margin-right:4px}.swatch{vertical-align:-1px;border:1px solid #0003;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.hint{color:var(--muted);padding:3px 0;font-size:11px}.hint.ok{color:var(--ok)}.link{margin-top:8px;font-size:11px;display:inline-block}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:5px;height:34px;padding:0 6px;display:flex;overflow:hidden}.topbar .brand{display:flex}.topbar .brand:hover{text-decoration:none}.topbar nav{gap:2px;margin-left:12px;display:flex}.topbar nav a{color:var(--text);border-radius:4px;padding:4px 9px}.topbar nav a.on{background:var(--accent-2);color:var(--accent);font-weight:600}.topbar nav a:hover{background:#f1f3f4;text-decoration:none}.topbar .sep{background:var(--line);flex:none;width:1px;height:18px;margin:0 3px}.topbar .fname{background:0 0;border-color:#0000;width:170px;font-weight:600}.topbar .fname:hover:not(:disabled){border-color:var(--line)}button.ico{background:0 0;border-color:#0000;flex:none;justify-content:center;width:26px;padding:0}button.ico.on,button.tgl.on{background:var(--accent-2);color:var(--accent);border-color:#b9d8d0}button.tgl{color:var(--muted);background:0 0;border-color:#0000;padding:0 7px;font-size:11px}button.tgl.on{font-weight:600}button.drc{border-color:var(--line);color:var(--ok)}button.drc.err{color:#fff;background:var(--chk-err);border-color:var(--chk-err)}button.drc.warn{color:#3a2a00;background:var(--chk-warn);border-color:var(--chk-warn)}.tsel{max-width:130px}.topbar select.mode{flex:none;width:96px;font-weight:600}.avatars{display:flex}.avatar{background:#c9d3dc;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-left:-4px;font-size:10px;font-weight:700;display:grid;overflow:hidden}.avatar.editor{border-color:var(--accent)}.avatar img{width:100%;height:100%}.editor{flex-direction:column;height:100%;display:flex}.work{flex:1;min-height:0;display:flex}.stage{flex:1;min-width:0;display:flex;position:relative}.editor.ro .stage{box-shadow:inset 0 0 0 2px #e0b25c}.editor.ro .stage .canvas{margin:2px}.ro-badge{z-index:2;color:#8a5a00;background:#fdf0d8;border:1px solid #e0b25c;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:flex;position:absolute;top:8px;left:8px}.lib-stale{z-index:3;color:#7a4a00;white-space:nowrap;background:#fdf0d8;border:1px solid #e0a030;border-radius:4px;align-items:center;gap:8px;max-width:calc(100% - 340px);padding:3px 4px 3px 10px;font-size:11px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000026}.lib-stale .names{text-overflow:ellipsis;color:#8a6a30;min-width:0;overflow:hidden}.lib-stale button{height:20px;padding:0 8px;font-weight:600}.lib-stale a{cursor:pointer;color:#8a6a30;padding:0 4px}.ro-badge a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:underline}.editor.ro .panel .item,.editor.ro .tnode[draggable=true],.editor.ro .panel .sub{cursor:not-allowed}.ptree,.panel .item{-webkit-user-select:none;user-select:none}.bottombar{background:var(--panel);border-top:1px solid var(--line);flex:none;align-items:stretch;height:26px;display:flex}.pages{scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.ptab{border-right:1px solid var(--line);cursor:pointer;white-space:nowrap;color:var(--muted);border-width:0 1px 0 0;border-radius:0;align-items:center;gap:6px;height:auto;padding:0 10px;display:flex}.ptab.on{background:var(--bg);color:var(--text);box-shadow:inset 0 2px 0 var(--accent);font-weight:600}.ptab.sig,.pfolder.sig{color:#8a5a00;background:#fff4d6}.tabs button[class*=k-]{color:color-mix(in srgb, var(--k) 70%, var(--muted))}.tabs button[class*=k-].on{color:var(--k);background:var(--k2);box-shadow:inset 0 -2px 0 var(--k)}.ptab.off{color:#b4b9c0;cursor:default;font-style:italic}.ptab.drop-before{box-shadow:inset 2px 0 0 var(--accent)}.ptab.drop-after{box-shadow:inset -2px 0 0 var(--accent)}.pfolder{border-right:1px solid var(--line);cursor:pointer;white-space:nowrap;color:var(--text);background:var(--accent-2);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:0 8px 0 6px;font-weight:600;display:flex}.pfolder .caret{color:var(--muted);font-size:10px}.pfolder small{color:var(--muted);font-weight:400}.pfolder.drop-in{box-shadow:inset 0 0 0 2px var(--accent)}.ptab-tools a{color:var(--muted);padding:0 3px;font-weight:400}.ptab-tools a:hover{color:var(--text);text-decoration:none}.search{border-left:1px solid var(--line);align-items:center;padding:0 4px;display:flex;position:relative}.search input{background:var(--bg);border-color:#0000;width:200px;height:20px}.search-pop{border:1px solid var(--line);z-index:20;background:#fff;border-radius:6px;flex-direction:column;gap:4px;width:390px;max-height:min(560px,100vh - 80px);padding:4px;display:flex;position:absolute;bottom:26px;right:0;box-shadow:0 6px 24px #0002}.search-thumb,.canvas.search-thumb{border:1px solid var(--line);background:#dfe2e5;border-radius:4px;flex:none;height:150px;position:relative}.search-thumb svg{width:100%;height:100%;display:block}.search-thumb .search-hi{fill:#2563eb14;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.search-thumb .mini>*{fill:none;stroke:#555;stroke-width:2px;vector-effect:non-scaling-stroke}.search-thumb .mini>.paper{fill:#fff;stroke:#999}.search-thumb-note{color:var(--muted);font-size:10px;position:absolute;bottom:3px;left:6px}.panel{background:var(--panel);flex-direction:column;flex:none;min-height:0;display:flex}.panel.left{border-right:1px solid var(--line);width:204px}.panel.right{border-left:1px solid var(--line);width:248px}.tabs{border-bottom:1px solid var(--line);flex:none;display:flex}.tabs button{height:26px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;justify-content:center}.tabs button.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.badge{color:#3a2a00;background:var(--chk-warn);border-radius:8px;margin-left:4px;padding:0 5px;font-size:10px;font-style:normal}.badge.err{color:#fff;background:var(--chk-err)}.badge.red{color:#fff;background:var(--red)}.panel{position:relative}.splitter{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0}.splitter:hover,body.resizing .splitter{background:var(--accent-2)}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing *{cursor:col-resize!important}.panel-body{flex:1;padding:7px 8px;overflow:auto}.panel.right{max-width:60vw;container-type:inline-size}.right-layout{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.right-layout .panel-body{min-width:0}.right-layout .tabs button{min-width:0;padding:0 6px}.splitter{touch-action:none}.splitter:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@container (width<=339px){.right-layout{flex-direction:row}.right-layout>.tabs{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;width:28px;overflow-y:auto}.right-layout>.tabs button{writing-mode:vertical-rl;flex:none;height:auto;min-height:76px;padding:8px 4px}.right-layout>.tabs button.on{box-shadow:inset -2px 0 0 var(--accent)}.right-layout>.tabs .badge{writing-mode:horizontal-tb;margin:4px 0 0}}.filter{width:100%;margin-bottom:4px}.group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:9px 0 3px;font-size:10px}.group.toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.group.toggle em{font-style:normal}.panel.left .group{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:3px 5px;font-weight:600}.panel.left .section-header{align-items:center;padding:0;display:flex}.section-toggle{min-width:0;height:auto;min-height:22px;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;background:0 0;border:0;border-radius:2px;flex:1;padding:3px 5px}.section-toggle i{width:10px;color:var(--muted);flex:none;font-style:normal}.section-toggle em{color:var(--muted);margin-left:auto;font-style:normal;font-weight:400}.section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.section-header .fold-act{flex:none;margin-right:3px}.item{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;margin-bottom:3px;padding:3px 6px;display:flex}.item[draggable=true],.item.grab{cursor:grab}.item[draggable=true]:hover,.item.grab:hover{border-color:var(--accent);background:var(--accent-2)}.item.grab{-webkit-user-select:none;user-select:none;touch-action:none}.tree{margin-bottom:6px}.item{position:relative}.item .edit{color:var(--muted);visibility:hidden;cursor:pointer;border-radius:3px;padding:0 2px;font-size:11px;text-decoration:none;position:absolute;top:2px;right:4px}.item:hover .edit{visibility:visible}.item .edit:hover{color:var(--accent);background:#fff}.fold{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:4px;padding:2px;font-weight:600;display:flex}.fold:hover{background:#f1f3f4}.fold i{width:10px;color:var(--muted);font-size:10px;font-style:normal}.fold small{color:var(--muted);margin-left:auto;font-weight:400}.fold-body{border-left:1px solid var(--line);margin-left:5px;padding-left:10px}.tnode{cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:3px;padding:1px 4px 1px 2px;display:flex}.tnode:hover{background:#f1f3f4}.tnode.on{background:var(--accent-2);outline:1px solid var(--accent)}.tnode i{width:10px;color:var(--muted);flex:none;font-size:10px;font-style:normal}.tnode span{text-overflow:ellipsis;flex:0 auto;max-width:80%;overflow:hidden}.tnode em{color:var(--muted);font-style:normal}.tnode small{text-align:right;min-width:0;color:var(--muted);text-overflow:ellipsis;flex:1 1 0;padding-left:6px;overflow:hidden}.tnode[draggable=true]{cursor:grab}.tnode.over,.ptree.over{background:var(--accent-2);outline:1px dashed var(--accent)}.tnode b.unplaced{color:var(--warn);font-weight:600}.tnode span.unplaced{color:var(--warn)}.tnode em.split-tag{border:1px solid var(--line);border-radius:3px;margin-left:4px;padding:0 3px;font-size:10px}.tnode em.split-tag.missing{color:var(--warn);border-color:var(--warn)}.fold.over,.group.over{background:var(--accent-2);outline:1px dashed var(--accent)}.fold-acts{gap:2px;display:none}.fold:hover .fold-acts{display:inline-flex}.fold-act{color:var(--muted);cursor:pointer;text-transform:none;letter-spacing:0;border-radius:3px;padding:0 3px;font-size:11px;font-weight:400}.fold-act:hover{color:var(--accent);background:#fff}.group .fold-act{float:right}.fold-input{width:100%;min-width:0;height:18px;padding:0 3px;font-size:12px}.fold-new{padding:2px 0 3px 14px}.list tr.grp td{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f6f7f8;font-weight:600}.list tr.grp i{width:12px;color:var(--muted);font-size:10px;font-style:normal;display:inline-block}.sub{border-radius:3px;justify-content:space-between;gap:6px;padding:2px 6px 2px 14px;display:flex}.sub[draggable=true]{cursor:grab;background:#fff8e6;margin-bottom:1px}.sub.placed{cursor:pointer;color:var(--muted)}.sub.placed:hover{background:#f1f3f4}.field{flex-direction:column;gap:2px;margin-bottom:5px;display:flex}.field>span{color:var(--muted);font-size:10.5px}.field input,.field select{width:100%}.field .frow{align-items:center;gap:3px;display:flex}.field .frow select{flex:1;width:auto;min-width:0}.field .frow .tbtn{flex:none;width:24px;padding:0}.field .frow .tbtn.on{background:var(--accent-2);border-color:var(--accent);color:var(--accent)}.field .frow .color-in{flex:none;width:28px;height:22px;padding:1px}.row2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.btns{flex-wrap:wrap;gap:5px;margin:6px 0;display:flex}.btns.end{justify-content:flex-end;margin-top:12px}.check{align-items:center;gap:6px;padding:2px 0;display:flex}.check input{height:auto}dl{grid-template-columns:78px 1fr;gap:2px 6px;margin:4px 0;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}table.pins{border-collapse:collapse;width:100%}table.pins td,table.pins th{text-align:left;padding:1px 2px;font-size:11px;font-weight:400}table.pins th{color:var(--muted)}table.pins td.n{width:16px;color:var(--muted);text-align:right}table.pins input,table.pins select{width:100%;height:21px;padding:0 4px}.issue{cursor:pointer;border-radius:4px;gap:6px;padding:4px 5px;font-size:11.5px;display:flex}.issue:hover{background:#f1f3f4}.issue i{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;margin-top:4px}.issue.error i{background:var(--err)}.issue span{flex:1;min-width:0}.issue button{flex:none;align-self:center;height:20px;padding:0 5px}.version{border-left:3px solid #0000;border-radius:4px;padding:5px 6px}.version:hover,.version.on{background:#f1f3f4}.version.release{border-left-color:var(--accent)}.v-head{cursor:pointer;flex-direction:column;display:flex}.v-actions{flex-wrap:wrap;gap:0 9px;margin-top:1px;font-size:10.5px;display:flex}.v-actions a{white-space:nowrap}.canvas{background:#dfe2e5;flex:1;min-width:0;position:relative;overflow:hidden}.canvas svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif;display:block}.canvas.tool-wire svg,.canvas.tool-multi svg,.canvas.tool-cable svg,.canvas.tool-ref svg,.canvas.tool-label svg,.canvas.tool-text svg,.canvas.tool-shield svg,.canvas.tool-twist svg,.canvas.tool-wire svg *,.canvas.tool-multi svg *,.canvas.wiring svg,.canvas.wiring svg *{cursor:crosshair}.canvas-status{color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;bottom:4px;left:6px}.paper{fill:#fff;stroke:#b9bec4;stroke-width:1px}.grid-minor{fill:none;stroke:#edf0f2;stroke-width:.6px}.grid-major{fill:none;stroke:#dde1e5;stroke-width:.8px}.tpl-line{fill:none;stroke:#222;stroke-width:.8px}.tpl-frame{fill:none;stroke:#222;stroke-width:1.4px}.tpl-block{fill:#fff;stroke:#222;stroke-width:1.4px}.tpl-zone{fill:#222}.tpl-label{fill:#555}.tpl-value{fill:#111}.block-body{fill:#fff;stroke:#111;stroke-width:1.2px}.block.sel .block-body{stroke:var(--sel);stroke-width:1.8px}.block-name{fill:#111;font-size:9px}.des{fill:#111;font-size:9px;font-weight:700}.des.big{font-size:11px}.des.small{font-size:7.5px}.pn{fill:#333;font-size:6.5px}.conn-body{fill:#fff;stroke:#111;stroke-width:1px}.conn-bracket{fill:none;stroke:#111;stroke-width:.8px}.mate-preview{opacity:.55;pointer-events:none}.conn.sel .conn-body{stroke:var(--sel);stroke-width:1.8px}.conn.error .conn-body,.block.error .block-body{stroke:var(--err)}.conn.warn .conn-body{stroke:var(--warn)}.pin-no{fill:#111;font-size:8.5px}.pin-name{fill:#111;font-size:9px}.conn>.des{font-size:16px;font-weight:400}.conn>.pn,.conn-des{fill:#111;font-size:12px}.canvas.tool-select [data-h=connPn],.canvas.tool-select [data-h=connDes]{cursor:move}.sym{fill:none;stroke:#111;stroke-width:.9px}.sym-fill{fill:#111}.sym.none{stroke:#b0b5ba}.block,.conn,.note,.junc,.wlabel{cursor:default}.wire .line{fill:none;stroke:#111;stroke-width:1.1px;stroke-linejoin:round}.wire .hit,.cable .hit{fill:none;stroke:#0000;stroke-width:9px}.wire.is-drain .line{stroke:#6b7280}.wire.sel .line{stroke-width:1.8px;stroke:var(--sel)!important}.wire.error .line{stroke:var(--err)}.wire.warn .line{stroke-dasharray:none}.wire.error:not(.sel) .line,.cable.error:not(.sel) .line{stroke:var(--err)!important}.wire:is(.sel,.error) :is(.color-stripe,.color-outline),.cable:is(.sel,.error) :is(.color-stripe,.color-outline),.hseg:is(.sel,.orphan,.unmatched,.drop) :is(.color-stripe,.color-outline){display:none}.color-outline{fill:none;stroke:#333;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.wire .color-outline{stroke-width:2px}.cable .color-outline{stroke-width:4.2px}.hseg .color-outline{stroke-width:6px}.color-stripe{pointer-events:none}.free-end{fill:#fff;stroke:var(--warn);stroke-width:1px}.seg-handle{stroke:#0000;stroke-width:9px}.seg-handle.ns{cursor:ns-resize}.seg-handle.ew{cursor:ew-resize}.seg-handle.nesw{cursor:nesw-resize}.seg-handle.nwse{cursor:nwse-resize}.corner-handle{fill:#0000}.corner-handle:hover{fill:#1a73e840}.corner-handle.nesw{cursor:nesw-resize}.corner-handle.nwse{cursor:nwse-resize}.free-handle{fill:#0000;cursor:move}.free-handle:hover{fill:#1a73e840}.tap-handle{stroke:#0000;stroke-width:9px;cursor:move}.tap-handle:hover{stroke:#1a73e840}.cable .line{fill:none;stroke:#111;stroke-width:3.2px;stroke-linejoin:round;stroke-linecap:round}.cable.error .line{stroke:var(--err)}.cable.sel .line{stroke:var(--sel)!important}.cable-end{fill:#fff;stroke:#333;stroke-width:1.4px}.cable.sel .cable-end{stroke:var(--sel);cursor:move}.cable-label{fill:#111;font-size:6.5px}.cable.sel .cable-label{fill:var(--sel);cursor:move;font-weight:700}.shape{fill:none;stroke:#111;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.shape.fill{fill:#111}.shape.hatch{fill:none;stroke-width:.5px}.shape-text{fill:#111}.sym-hit{fill:#0000;stroke:none}.sym-value{fill:#111;font-size:8px}.symi.sel .shape,.sref.sel .shape{stroke:var(--sel)}.symi.sel .shape.fill{fill:var(--sel)}.symi.error .shape{stroke:var(--err)}.sref text{fill:#111;font-size:9px}.sref.sel text{fill:var(--sel)}.sref.open text,.sref.warn text{fill:var(--warn)}.junc{fill:#111}.junc.sel{fill:var(--sel)}.wlabel text{fill:#111;font-size:6.5px}.slash{stroke:#111;stroke-width:1px}.wlabel.sel text{fill:var(--sel);font-weight:700}.wlabel.sel .slash{stroke:var(--sel)}.label-preview{opacity:.45}.label-preview .slash{stroke:var(--sel)}.label-preview text{fill:var(--sel)}.note{fill:#111}.note.sel{fill:var(--sel)}.handle{fill:#fff;stroke:var(--sel);stroke-width:1px;cursor:nwse-resize}.preview{fill:none;stroke:var(--sel);stroke-width:1.2px;stroke-dasharray:4 3;pointer-events:none}.preview.cable{stroke-width:5px;opacity:.5;stroke-dasharray:none}.pin-hit{fill:#0000}.pin-hit.ctrl-hi{fill:#1a73e833;stroke:var(--accent);stroke-width:.8px}.conn.ctrl-hi .conn-body,.block.ctrl-hi .block-body{stroke:var(--accent);stroke-width:2px;fill:#e8f0fe}.canvas.ctrl-pick,.canvas.ctrl-pick svg *{cursor:pointer!important}table.pins.power tr{cursor:pointer}table.pins.power td{white-space:nowrap}table.pins.power td.pwr-sink{font-weight:700}table.pins.power td.pwr-source{text-decoration:underline}table.pins tr.on td{background:var(--accent-2)}table.pins tr.on td.n{color:var(--accent);font-weight:600}.pin-hi{fill:#1a73e822;stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.seat-slots .seat-bad{stroke:var(--err);stroke-width:.9px;fill:none;pointer-events:none;opacity:.7}.seat-slots .seat-refused{stroke:var(--err);stroke-width:2.2px;stroke-linecap:round;fill:none;pointer-events:none}.seat-slots rect{fill:#b5651d22;stroke:#b5651d;stroke-width:.8px;stroke-dasharray:2 1.5;pointer-events:none}.seat-slots rect.used{fill:none;stroke-dasharray:none;opacity:.6}.snap-ring{fill:#1f8a4c33;stroke:var(--ok);stroke-width:1.2px;pointer-events:none}.snap-ring.bad{fill:#c7770033;stroke:var(--warn)}.snap-refused{fill:none;stroke:var(--err);stroke-width:2px;stroke-linecap:round;pointer-events:none}.snap-dot{fill:var(--sel);pointer-events:none}.marquee{fill:#1a6fe014;stroke:var(--sel);stroke-width:.8px;vector-effect:non-scaling-stroke}.marquee.cross{fill:#1f9d4a14;stroke:#1f9d4a;stroke-dasharray:4 3}.menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:6px;flex-direction:column;min-width:170px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 24px #0003}.menu button{border:0;justify-content:flex-start}.menu-title,.menu-empty{color:var(--muted);padding:3px 8px;font-size:10.5px}.menu button.pair-member{padding-left:26px}.wire-picker{cursor:default;gap:4px;width:min(390px,100% - 8px);min-width:0}.wire-picker input{flex-shrink:0;width:100%}.wire-picker-list{min-height:0;overflow:auto}.wire-picker-folder{background:var(--bg);color:var(--muted);padding:5px 7px 3px;font-size:10px;font-weight:600}.wire-picker-list button{text-align:left;gap:8px;width:100%;height:auto;min-height:30px}.wire-picker-list button>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.wire-picker-list button small{color:var(--muted);font-size:10px;display:block}.wire-picker-list button.on{background:var(--accent);color:#fff}.wire-picker-list button.on small{color:inherit}.wire-picker-spec{flex-shrink:0;font-size:10px}.wire-picker-layer{z-index:50;pointer-events:none;position:fixed;inset:0}.wire-picker-layer>.menu{pointer-events:auto}.wire-type-pick{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;width:100%;overflow:hidden}.wire-type-pick.warn{border-color:var(--warn)}.wire-picker-actions{flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.shell{flex-direction:column;height:100%;display:flex}.page{flex:1;padding:14px 18px;overflow:auto}.page-head{align-items:center;gap:10px;margin:0 0 10px;display:flex}.page-head:not(:first-child){margin-top:22px}.page-head .filter{width:180px;margin:0 0 0 auto}table.list{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:6px;width:100%}table.list th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 10px;font-size:10.5px;font-weight:600}table.list td{border-bottom:1px solid #eef0f2;padding:6px 10px}table.list:not(.plain) tbody tr{cursor:pointer}table.list:not(.plain) tbody tr:hover,table.list tr.on{background:var(--accent-2)}td.actions{text-align:right;white-space:nowrap}td.actions a{margin-left:12px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:6px;padding:30px}.form.narrow{max-width:320px}.notification-methods{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.notification-method{border:1px solid var(--line);background:#fff;border-radius:6px;width:320px;padding:10px}.notification-method h3{margin-bottom:4px}.notification-error{color:var(--err)}.notification-test{border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:8px;padding-top:6px}.notification-test p{margin:5px 0}.notification-test-refresh{margin-top:5px}.notification-prefs{max-width:650px}.notification-prefs th:not(:first-child),.notification-prefs td:not(:first-child){text-align:center;width:110px}.notification-prefs input{height:auto}.seg{display:flex}.seg button{border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:4px 0 0 4px;margin:0}.seg button:last-child{border-radius:0 4px 4px 0}.seg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.library{align-items:flex-start;gap:16px;display:flex}.lib-list{flex:1;min-width:0}.lib-form{border:1px solid var(--line);background:#fff;border-radius:6px;flex:none;grid-template-columns:1fr 1fr;gap:2px 10px;width:430px;max-height:calc(100vh - 70px);padding:12px;display:grid;position:sticky;top:0;overflow:auto}.lib-form h3,.lib-form .wide,.lib-form .btns{grid-column:1/-1}.lib-form .item-fields{display:contents}.part-dialog{border:1px solid var(--line);background:var(--panel);width:min(1400px,96vw);max-width:96vw;height:min(920px,94vh);max-height:94vh;color:inherit;border-radius:6px;padding:0;overflow:hidden;box-shadow:0 8px 40px #0004}.part-dialog[open]{flex-direction:column;display:flex}.part-dialog::backdrop{background:#0005}.part-dialog>header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;height:32px;padding:0 8px;display:flex}.part-dialog>header>button{justify-content:center;width:24px;padding:0;font-size:15px;line-height:1}.part-form.lib-form{border:0;border-radius:0;flex-direction:column;flex:1;width:100%;min-height:0;max-height:none;padding:0;display:flex;position:static;overflow:hidden}.part-scroll{flex:1;min-height:0;padding:8px;overflow:auto}.part-form>.btns{border-top:1px solid var(--line);flex:none;margin:0;padding:6px 8px}.part-basics{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px;gap:8px;display:grid}.part-details,.drawing-details{margin:5px 0;font-size:11px}.part-details>summary,.drawing-details>summary{color:var(--muted);cursor:pointer;padding:2px 0}.part-detail-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 8px;margin-top:5px;display:grid}.part-detail-fields>.wide{grid-column:1/-1}.part-flags{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:4px 16px;padding:2px 0;display:flex}.part-flags label.check{white-space:nowrap;cursor:pointer;align-items:center;gap:5px;margin:0;display:flex}.part-flags label.check input{margin:0}.cert-picker{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.cert-picker>b{color:var(--muted);margin-right:2px;font-weight:400}.cert-picker .chip{align-items:center;gap:2px;padding:1px 2px 1px 7px;display:inline-flex}.cert-picker select{width:auto}.part-workspace{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start;gap:10px;margin-top:6px;display:grid}.part-workspace.block-part{grid-template-columns:minmax(0,1fr)}.part-drawing{min-width:0;position:sticky;top:0}.part-drawing .sym-ed>svg{height:clamp(260px,52vh,600px);max-height:none}.part-drawing .sym-ed>.hint{font-size:10px}.part-connections{min-width:0}.part-bar{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.part-bar button{padding:0 7px;font-size:11px}.part-body-limits{flex-wrap:wrap;align-items:center;gap:5px;margin-left:auto;display:flex}.part-body-limits .electrical-fields{flex-wrap:nowrap}.part-body-limits .electrical-fields input{width:65px}.group-bar>input{width:105px;height:22px}.connection-scroll{border:1px solid var(--line);border-radius:4px;max-height:48vh;overflow:auto}.connection-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}.connection-table th{z-index:2;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fff;padding:4px 6px;font-size:10.5px;font-weight:600;position:sticky;top:0}.connection-table td{white-space:nowrap;background:#fff;border-bottom:1px solid #eef0f2;padding:1px 6px}.connection-table tr:last-child td{border-bottom:0}.connection-table tbody tr:hover td{background:#f7f9fb}.connection-table tr.on td,.label-table tr.on,.connection-table tbody tr.on:hover td{background:var(--accent-2)}.connection-table input,.connection-table select{width:56px;height:20px;padding:0 3px;font-size:11px}.connection-table select{width:92px}.connection-table input.inherited{color:var(--muted)}.connection-table input.inherited::placeholder{color:#818b96;font-style:italic}.connection-table .group-column{text-align:center;min-width:40px}.connection-table input[type=checkbox],.label-table input[type=checkbox]{vertical-align:middle;cursor:pointer;width:auto;height:auto;margin:0}.connection-tree .tick{z-index:1;width:22px;padding:0 0 0 8px;position:sticky;left:0}.connection-tree td.pin-tick{padding-left:26px}.connection-tree th.tick{z-index:3}.connection-tree td:nth-child(3) input{width:140px}.connection-tree .connector-row td{background:#f6f7f8;font-weight:600}.connection-tree .connector-row.on td{background:var(--accent-2)}.connection-tree .connector-row .muted{font-weight:400}.connection-tree td.tree-name{padding-left:6px}.connection-tree td.tree-name i{width:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;font-style:normal;display:inline-block}.connection-tree td.tree-name input.des{width:48px;font-weight:600}.connection-tree td.point-name{color:var(--muted);padding-left:34px}.connection-tree .grip{color:#b4bac0;cursor:grab;-webkit-user-select:none;user-select:none;width:11px;font-size:10px;display:inline-block}.connection-tree tr:hover .grip[draggable]{color:var(--muted)}.connection-tree tr.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}.connection-tree tr.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.connection-tree .row-act{text-align:center;width:16px;padding:0 4px}.connection-tree .group-band{white-space:nowrap;text-align:center;text-transform:none;letter-spacing:0}.connection-tree .group-band b{color:var(--text,#222)}.connection-tree .group-band .mini{margin-left:6px}button.mini{width:16px;height:16px;color:var(--muted);border:1px solid var(--line);vertical-align:middle;background:#fff;border-radius:3px;flex:none;justify-content:center;padding:0;font-size:12px;line-height:1}button.mini:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:#fff}button.mini.del:hover:not(:disabled){color:var(--err);border-color:var(--err)}.connection-tree th.group-column .group-name{cursor:text;border-radius:2px;padding:0 2px}.connection-tree th.group-column .group-name:hover{outline:1px dashed var(--muted);background:#fff8}.connection-tree th.group-column{text-align:center;text-transform:none;cursor:default}.connection-tree th.group-column .mini{margin-left:4px}.connection-tree th.group-column .fold-input{width:60px;height:18px;font-size:11px}.connection-tree .signal{background:#e4f1ec}.connection-tree .power{background:#f7eadf}.connection-tree thead tr:nth-child(2) th{top:29px}.connector-select{align-items:center;max-width:200px;display:inline-flex}.connector-select>button{text-overflow:ellipsis;white-space:nowrap;max-width:170px;height:22px;padding:0 4px;font-size:11px;overflow:hidden}.wire-colors{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wire-colors>span{align-items:center;display:inline-flex}.point-details{border:1px solid var(--line);border-radius:4px;margin-top:8px;padding:5px 6px}.point-details .part-bar>label{color:var(--muted);align-items:center;gap:3px;display:flex}.point-details .part-bar>label>input{width:48px;height:22px}.point-details .fits{max-width:100%}.point-details .fits .ai-scope{max-width:240px}.label-table td{padding:3px 2px}.label-table td:nth-child(3),.label-table td:nth-child(4){width:48px}.label-table td:nth-child(5){width:75px}.label-table select{width:100%}.label-table tr.label-band td{background:var(--bg);padding:2px 4px;font-size:11px;font-weight:600}.label-table td.artwork-size{white-space:nowrap}.label-table td.artwork-size label{align-items:center;gap:2px;margin-right:4px;display:inline-flex}.label-table td.artwork-size input{width:44px}.label-add{align-items:center;gap:6px;margin-top:4px;display:flex}.label-add select{width:auto}.file-btn{border:1px solid var(--line);cursor:pointer;background:var(--panel);border-radius:3px;align-items:center;height:22px;padding:0 8px;display:inline-flex}.file-btn input{display:none}.sym-ed .label-anchor path{stroke:var(--accent);stroke-width:.6px}.sym-ed .label-anchor text{fill:#666;cursor:move;font-size:7px}@media (width<=850px){.part-workspace{grid-template-columns:minmax(0,1fr)}.part-drawing{position:static}.part-drawing .sym-ed>svg{height:280px}.part-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.color-select{align-items:center;min-width:0;display:inline-flex}.color-select select{min-width:0;max-width:100%}.color-definition{gap:5px;display:grid}.color-definition label{align-items:center;gap:8px;display:flex}.fits{align-items:center;gap:4px;display:inline-flex;position:relative}.fits>button{height:18px;padding:0 6px}.fits-pop{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:4px;width:300px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0003}.fits-pop>input{width:100%;margin-bottom:4px}.fits-list{max-height:260px;overflow:auto}.fits-pop table.list td{white-space:nowrap;padding:2px 6px}.fits-pop table.list td.tick{width:18px;padding:0 0 0 6px}.fits-pop .hint{margin:4px 0 0}.chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chips select{width:auto}.chip-x{background:var(--accent-2);border-radius:10px;padding:2px 4px 2px 8px;font-size:11px}.chip-x a{color:var(--muted);padding:0 4px}table.rows{border-collapse:collapse;width:100%}table.rows th{color:var(--muted);text-align:left;font-size:10px;font-weight:400}table.rows td{padding:1px 2px}table.rows input{width:100%}table.rows button.drain-add{height:auto;color:var(--accent);padding:0}.cc{border:1px solid var(--line);border-radius:5px;margin-bottom:6px;padding:6px}.cc-head{align-items:center;gap:4px;display:flex}.cc-head .des{flex:none;width:46px}.cc-head input,.cc-head select{flex:1}.cc-pins{grid-template-columns:1fr 1fr;gap:2px 8px;margin-top:5px;display:grid}.cc-pins label{align-items:center;gap:4px;display:flex}.cc-pins span{text-align:right;width:14px;color:var(--muted);font-size:10px}.cc-pins input{flex:1;height:21px}.electrical{margin-top:4px;font-size:11px}.electrical summary{cursor:pointer;color:var(--muted)}.electrical-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:5px;padding:3px 0;display:flex}.electrical-row>b{min-width:56px}.electrical-fields{flex-wrap:wrap;gap:4px;min-width:0;display:inline-flex}.electrical-fields label{color:var(--muted);flex-direction:column;gap:1px;font-size:10px;display:flex}.electrical-fields input,.electrical-fields select{width:98px;height:22px}.electrical-fields input:invalid{outline:1px solid #c33}.login{place-items:center;height:100%;display:grid}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;gap:10px;width:320px;padding:26px;display:flex}.login-card .logo{justify-content:center}.login-card .logo b{font-size:20px}.login-card p{color:var(--muted);margin:0 0 6px}.login-card .btn{justify-content:center;height:32px}.login-card form{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:10px;display:flex}.modal-bg{z-index:50;background:#0005;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:420px;padding:16px;box-shadow:0 10px 40px #0004}.free-trial{color:#161616;background:#ece9d8;border:3px solid #1855ab;border-radius:6px 6px 2px 2px;width:448px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:0;font:12px Tahoma,Verdana,sans-serif;overflow:auto;box-shadow:0 12px 30px #0006,0 0 0 1px #07367c}.free-trial::backdrop{background:#0005}.free-trial-head{color:#fff;background:linear-gradient(#6a9ff2,#1765d0 22%,#0750b4 75%,#003b8a);align-items:center;gap:6px;min-height:28px;padding:3px 4px 3px 6px;display:flex;box-shadow:inset 0 1px #a5c6ff}.free-trial-head h3{text-shadow:1px 1px #16407b;flex:1;margin:0;font-size:12px}.free-trial-app-icon{background:#286c5c;border:1px solid #fff;flex:none;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:grid;box-shadow:inset 1px 1px #9dcaba}.free-trial-head button{color:#fff;text-shadow:1px 1px #8c2417;background:linear-gradient(#ffab8a,#c7331b 65%,#e86441);border:1px solid #fff;border-radius:3px;place-items:center;width:21px;height:21px;padding:0;font:700 17px/1 Arial,sans-serif;display:grid;box-shadow:inset 0 0 0 1px #b42c17}.free-trial-head button:hover:not(:disabled){background:linear-gradient(#ffd0b6,#e04a29 65%,#f6875f)}.free-trial-body{padding:14px 16px 10px}.free-trial-banner{border-bottom:1px solid #c7c2ae;align-items:center;gap:10px;padding-bottom:10px;display:flex;box-shadow:0 1px #fff}.free-trial-banner>div{flex:1;min-width:0}.free-trial-banner strong,.free-trial-banner div span{display:block}.free-trial-banner strong{font-size:15px}.free-trial-banner div span{color:#4a4a4a;margin-top:3px;font-size:11px}.free-trial-warning{clip-path:polygon(50% 0,100% 100%,0 100%);background:#a27200;flex:none;width:34px;height:31px;position:relative}.free-trial-warning:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#fff096,#ffca26);position:absolute;inset:3px}.free-trial-warning:after{content:"!";color:#181000;text-align:center;font:700 18px/1 Arial,sans-serif;position:absolute;inset:9px 0 0}.free-trial-stamp{color:#8d291b;text-align:center;background:#f7f5ea;border:1px solid #b1aa91;flex:none;padding:3px 5px;font-size:10px;font-weight:700;line-height:1.15}.free-trial-body p{line-height:1.4}.free-trial-safety{color:#493300;background:#fff8d7;border:1px solid #d5b25d;padding:6px 8px}.free-trial .field>span{color:#222;font-size:11px;font-weight:700}.free-trial .field input{background:#fff;border:2px inset #ddd9c8;border-radius:0;height:25px}.free-trial .field input:focus{border-color:#9c9b8e;outline:1px solid #316ac5}.free-trial-note{color:#555;font-size:11px}.free-trial-actions{justify-content:flex-end;gap:8px;margin:12px 1px 2px}.free-trial .free-trial-actions button{color:#111;background:linear-gradient(#fff,#e6e5d9);border:1px solid #777;border-radius:2px;justify-content:center;min-width:76px;height:24px;box-shadow:inset 1px 1px #fff,inset -1px -1px #c5c3b5}.free-trial .free-trial-actions button.primary{outline-offset:1px;border-color:#245eac;outline:1px solid #87b2ed}.free-trial .free-trial-actions button:hover:not(:disabled){background:linear-gradient(#fffdf1,#f8df9b);border-color:#d49523}.free-trial .free-trial-actions button:focus-visible,.free-trial-head button:focus-visible{outline-offset:-5px;outline:2px dotted #111}.free-trial-footer{color:#555;border-top:1px solid #c9c4af;gap:2px;padding:3px;font-size:10px;display:flex}.free-trial-footer span{border:1px solid #fff;border-color:#bcb8a9 #fff #fff #bcb8a9;flex:1;padding:2px 5px}.free-trial-footer span:last-child{flex:none}.rel-dlg{flex-direction:column;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);padding:14px;display:flex}.rel-dlg h3{margin:0 0 2px;font-size:14px}.rel-dlg .rel-last{margin-bottom:8px;font-size:11px}.rel-dlg textarea{resize:vertical;width:100%;min-height:54px;font:inherit}.rel-dlg .btns.end{flex:none;margin-bottom:0}.rel-log{position:relative}.rel-gen{color:var(--muted);background:#ffffffd9;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:1px 1px 5px}.rel-gen a,.rel-gen-msg a{cursor:pointer;color:var(--accent);margin-left:6px}.rel-gen-msg{justify-content:space-between;gap:8px;min-height:14px;font-size:11px;display:flex}.rel-gen-msg a{white-space:nowrap;margin-left:auto}.version .v-note{white-space:pre-line}.version .v-kept{color:var(--accent);margin-right:4px}.rel-btn em{color:#445;background:#eef1f5;border-radius:3px;margin-left:5px;padding:0 4px;font-size:10px;font-style:normal}.rel-btn.changed em{color:#7a4a00;background:#fff4dc}.rev-sum{margin:2px 0 8px}.rev-row{cursor:pointer;border-radius:3px;align-items:baseline;gap:6px;padding:2px 4px;display:flex}.rev-row:hover{background:#f1f4f8}.rev-row span{flex:1}.rev-row b{font-size:11px}.rev-row small{color:#888;width:86px}.rev-row.changed small{color:#a06000}.rel-code{background:#eef1f5;border-radius:3px;padding:0 3px;font-size:10px}.rel-ok{color:var(--ok);background:#eaf6ef;border-radius:4px;padding:5px 8px}.rel-warn{color:#7a4a00;background:#fff4dc;border:1px solid #f0d49a;border-radius:4px;padding:5px 8px}.rel-list{border:1px solid var(--line);border-radius:4px;flex:auto;min-height:60px;max-height:40vh;margin-top:6px;padding:2px;overflow:auto}.rel-list .issue small{color:var(--muted)}.issue.red i{background:var(--err);border-radius:1px}.rel-err{color:var(--err);margin-top:6px}button.primary.danger{background:var(--err);border-color:var(--err);color:#fff}button.primary.danger:hover:not(:disabled){background:#a82424}.pdf-dlg{width:320px;padding:12px}.pdf-dlg h3{margin:0 0 6px;font-size:13px}.pdf-dlg .row{align-items:center;gap:8px;display:flex}.pdf-dlg .row.end{gap:6px;margin-top:8px}.pdf-dlg .grow{flex:1}.pdf-list{border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:4px;max-height:50vh;margin-top:6px;padding:2px 0;overflow:auto}.pdf-list label{cursor:pointer;align-items:center;gap:6px;padding:1px 8px;display:flex}.pdf-list label:hover{background:#f1f4f7}.pdf-list label.cur{font-weight:600}.pdf-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:3px 8px 1px;font-size:11px}.acl-row{align-items:center;gap:6px;margin-bottom:5px;display:flex}.acl-row span,.acl-row input{text-overflow:ellipsis;flex:1;overflow:hidden}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}.toast{color:#fff;background:#23282d;border-radius:5px;max-width:520px;padding:6px 12px;box-shadow:0 4px 16px #0003}.toast.warn{background:#8a5a00}.toast.error{background:var(--err)}.sym-ed svg{aspect-ratio:1;border:1px solid var(--line);touch-action:none;cursor:crosshair;background:#fff;border-radius:4px;width:100%;margin:6px 0 2px;display:block}.sym-ed .sub-slot{fill:none;stroke:#b5651d;stroke-width:.8px;stroke-dasharray:1.5 1}.sym-ed .seat-pt{fill:#b5651d;stroke:none}.sym-ed .axis{stroke:#c5cad0;stroke-width:.5px;fill:none}.sym-ed .term{fill:#fff;stroke:var(--sel);stroke-width:1px}.sym-ed .term-name{fill:var(--sel);font-size:5px}.sym-ed .seg{flex-wrap:wrap;row-gap:2px}.sym-ed .seg button{padding:0 7px;font-size:11px}.sym-ed:focus{outline:none}.sym-ed .picked :not(text){stroke:var(--sel)!important}.sym-ed .picked text{fill:var(--sel)}.sym-ed .ed-handle{fill:#fff;stroke:var(--sel);stroke-width:.5px}.sym-ed .ed-marquee{fill:#1e6edc14;stroke:var(--sel);stroke-width:.4px;stroke-dasharray:2 1}.sym-ed .sym-row{cursor:pointer}.sym-ed .sym-row.on{background:#e8f0fb}.sym-ed .sym-fields{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.sym-ed .sym-fields label{color:var(--muted);align-items:center;gap:2px;display:inline-flex}.sym-ed .sym-fields input{width:42px;padding:0 3px}.sym-ed .sym-fields input.wide{width:120px}.art-bar{align-items:center;gap:8px;display:flex}.art-bar button{padding:1px 7px;font-size:11px}.sym-ed svg{-webkit-user-select:none;user-select:none;max-height:70vh}.sym-ed .housing-guide path{fill:none;stroke:#9aa1a8;stroke-width:.5px;stroke-dasharray:4 2}.sym-ed .housing-guide rect{fill:none;stroke:#9aa1a8;stroke-width:.5px;stroke-dasharray:2 1.5}.sym-ed .housing-guide text{fill:#8a9097;font-size:2.5px}.cglyph .shape{stroke-width:.9px}.art-hit{fill:#0000;stroke:none}.conn.sel .art .shape,.block.sel .art .shape{stroke:var(--sel);stroke-width:1.8px}.conn.error .art .shape,.block.error .art .shape{stroke:var(--err)}.conn.warn .art .shape{stroke:var(--warn)}.cglyph .shape.hatch,.conn.sel .art .shape.hatch,.block.sel .art .shape.hatch{stroke-width:.5px}.conn.ctrl-hi .art-hit,.block.ctrl-hi .art-hit{fill:#e8f0fe}.sym-row{align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.sym-row span{color:var(--muted);flex:1}.sym-row input{width:90px;height:21px}.sym-row small{flex:1}.sym-row .fits span{color:inherit;flex:none}.sym-row .fits span.muted{color:var(--muted)}.sym-row .fits-pop>input{width:100%}.sym-row .fits-pop td.tick input{width:auto;height:auto}.sym-ed .fits-pop svg.dir-ico{aspect-ratio:auto;background:0 0;border:0;width:12px;height:10px;max-height:none;margin:0 4px 0 0;display:inline}.fits .ai-scope{text-overflow:ellipsis;white-space:nowrap;max-width:150px;padding:0 5px;overflow:hidden}.item .mini{float:right;width:34px;height:20px}.field .check input,.check input{flex:none;width:auto}.crosshair line,.crosshair polygon{stroke:#5f6b75;stroke-width:.75px;stroke-dasharray:5 4;fill:none}.crosshair polygon{stroke-dasharray:3 2}.hubert-overlay,.tron-overlay{z-index:150;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}@media print{.tron-overlay{display:none}}.crosshair.spa path{fill:none;stroke:#5f6b75;stroke-width:.75px;stroke-dasharray:2 1.5}.crosshair.spa .spa-pit{fill:none;stroke:#5f6b75;stroke-width:.75px;stroke-dasharray:1.5 2.5}.spa-flag line,.spa-flag rect{fill:none;stroke:#5f6b75;stroke-width:.75px;stroke-dasharray:1.5 1}.spa-flag rect.on{fill:#5f6b75;fill-opacity:.35}.spa-box{fill:none;stroke:#5f6b75;stroke-width:.6px;stroke-dasharray:1.5 1;font:700 18px Arial,sans-serif}.canvas-tip{border:1px solid var(--line);pointer-events:none;white-space:nowrap;background:#fffbe6;border-radius:4px;padding:2px 8px;font-size:11px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.align-guide{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.mod-shape{fill:none;stroke:#111;stroke-width:1px}.mod-node{fill:#111}.mod-arrow{fill:#111;stroke:#111;stroke-width:.5px}.modi.sel .mod-shape{stroke:var(--sel)}.modi.sel .mod-node,.modi.sel text{fill:var(--sel)}.modi.sel .mod-arrow{fill:var(--sel);stroke:var(--sel)}.modi.error .mod-shape,.modi.error text{stroke:var(--err)}.modi.warn .mod-shape{stroke:var(--warn)}.modi.error .mod-arrow{fill:var(--err);stroke:var(--err)}.modi.warn .mod-arrow{fill:var(--warn);stroke:var(--warn)}.mod-member{fill:none;stroke:var(--sel);stroke-width:5px;stroke-opacity:.18;pointer-events:none}.symbol-label-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;display:grid}.modi.error text{stroke:none;fill:var(--err)}.mtag{color:#2c4f8a;background:#e8eef9;border-radius:3px;margin-left:4px;padding:0 3px;font-size:10px}.mtag.shield{color:#444;background:#eee;border:1px dashed #888}.canvas.tool-bundle svg,.canvas.tool-bundle svg *,.canvas.tool-dim svg,.canvas.tool-dim svg *{cursor:crosshair}.canvas-tip{pointer-events:none;white-space:nowrap;background:#fffbe6;border:1px solid #e6d9a3;border-radius:4px;padding:2px 8px;font-size:11px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.pwr-value{fill:#111;font-size:5.5px;font-weight:400}path.pwr-ground{stroke:#111;stroke-width:.8px;fill:none}.pin-sym.error :is(path,line,rect,circle,polyline,polygon,ellipse){stroke:var(--err)!important}.pin-sym.warn :is(path,line,rect,circle,polyline,polygon,ellipse){stroke:var(--warn)!important}.pin-label-mark.error text,.pin-label-mark.error tspan{fill:var(--err)}.pin-label-mark.warn text,.pin-label-mark.warn tspan{fill:var(--warn)}.net-shade{fill:none;stroke-width:5px;stroke-opacity:.35;stroke-linecap:round;stroke-linejoin:round}.net-tag text{fill:#fff;font:700 5px Arial,sans-serif}.net-tag rect{stroke:#fff;stroke-width:.5px}.pwr-flow path{fill:var(--accent);stroke:none}.pwr-flow text{fill:var(--accent);font-size:5px}.pwr-term-hit{fill:#0000;stroke:none}.pwr-term.pwr-source .sym{fill:#fff}.power-tip{z-index:5;pointer-events:none;white-space:pre-line;background:#fffbe6;border:1px solid #e6d9a3;border-radius:4px;max-width:360px;padding:4px 8px;font-size:11px;line-height:1.35;position:absolute;box-shadow:0 2px 6px #00000026}.hcanvas .hit{stroke:#0000;stroke-width:10px;fill:none}.hseg .ln{stroke:#111;stroke-linecap:round;stroke-linejoin:round;fill:none}.hbun .ln{stroke-width:.9px}.hcab .ln{stroke-width:5px}.hseg.sel .ln{stroke:var(--sel)!important}.hcab.unmatched .ln{stroke:#b06000!important}.hseg.drop .ln{stroke:var(--accent)!important}.hcab-t{fill:#111;pointer-events:none;font:8px Arial,sans-serif}.hcab.unmatched .hcab-t{fill:#b06000}.hseg-prev{stroke:var(--sel);stroke-width:2.5px;stroke-dasharray:5 3;stroke-linecap:round;pointer-events:none}.hdrain{fill:none;stroke:#000;stroke-width:.8px}.hdrain-dot{fill:#000}.hrat{stroke:#8a8a8a;stroke-width:1px;stroke-dasharray:6 4;fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.hfan{stroke:#111;stroke-width:.8px;fill:none;pointer-events:none}.hfan-prev{pointer-events:none}.hfan-prev>path{stroke:var(--sel);stroke-width:.8px;stroke-dasharray:2 1.5;fill:none}.hghost{opacity:.35}.canvas g.ghost,.hitem.ghost{opacity:.6;pointer-events:none}.hrat-t{fill:#777;pointer-events:none;font-size:7px}text.txt-drag{cursor:move}text.txt-sel{text-decoration:underline;fill:var(--sel)!important}.hnode{fill:#fff;stroke:var(--sel);stroke-width:1px;vector-effect:non-scaling-stroke}.hnode.sel{fill:var(--sel)}.hitem{cursor:move}.hitem text{fill:#111;font-size:8px}.hv-body{fill:#fff;stroke:#111;stroke-width:1px}.hv-cav{fill:#fff;stroke:#111;stroke-width:.7px}.hv-line{fill:none;stroke:#111;stroke-linejoin:round;stroke-linecap:round}.hitem text.hv-num{font-size:6px}.hitem text.hv-des{font-size:10px;font-weight:700}.hitem text.hv-pn{font-size:7.5px}.htable line,.tbl-box{stroke:#111;stroke-width:.6px;fill:#fff}.tbl-head{fill:#eef0f2;stroke:#111;stroke-width:.6px}.hitem text.tbl-title{font-size:9px;font-weight:700}.hitem text.tbl-h{font-weight:700}.hitem text.muted{fill:#888}.sbom{cursor:move}.sbom .htable text{fill:#111;font-family:Arial,Helvetica,sans-serif;font-size:8px}.sbom text.tbl-title{font-size:9px;font-weight:700}.sbom text.tbl-h{font-weight:700}.sbom text.muted{fill:#888}.hp-hs{fill:#fff;stroke:#111;stroke-width:1px}.hp-bk{fill:#fff;stroke:none}.hp-sl{fill:#fff;stroke:#111;stroke-width:.8px;stroke-dasharray:3 2}.hp-hatch{stroke:#555;stroke-width:.5px}.hp-tie{fill:#333;stroke:#111;stroke-width:.5px}.hp-lbl{fill:#fff;stroke:#111;stroke-width:.8px}.hitem text.hp-t{font-size:7.5px}.hitem text.hnote-title{font-size:9px;font-weight:700}.hnote{font-size:8px}.hnote-hit{fill:#0000;stroke:none}.hitem.sel .hnote-hit{stroke-width:.5px;stroke-dasharray:2 1.5}.hlead{stroke:#111;stroke-width:.7px;fill:none}.hlead-arrow,.hlead-dot{fill:#111;stroke:none}.hlead-h{cursor:crosshair}.hcab-t.grab{pointer-events:auto;cursor:grab}.hitem.sel :is(rect,path,circle,line){stroke:var(--sel)}.hitem.sel text{fill:var(--sel)}.hdim{cursor:move}.hdim-ext,.hdim-line{stroke:#1d5fbf;stroke-width:.7px;fill:none}.hdim-arrow{fill:#1d5fbf}.hdim-t{fill:#1d5fbf;stroke:#fff;stroke-width:3px;paint-order:stroke;font-size:8.5px}.hdim.sel .hdim-ext,.hdim.sel .hdim-line{stroke:var(--sel);stroke-width:1.2px}.hdim.sel .hdim-t{fill:var(--sel)}.hdim-prev{stroke:#1d5fbf;stroke-width:.8px;stroke-dasharray:3 2;pointer-events:none}.cols{flex-direction:column;gap:1px;display:flex}.col-row{align-items:center;gap:6px;display:flex}.col-row a{cursor:pointer;color:var(--muted);font-size:9px}.hp-handle{fill:#fff;stroke:var(--sel);stroke-width:1.2px;vector-effect:non-scaling-stroke;cursor:ew-resize}table.pins td.grip{width:10px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;letter-spacing:-3px}table.pins tr.drop-above td{box-shadow:inset 0 2px 0 var(--accent)}table.pins tr.drop-below td{box-shadow:inset 0 -2px 0 var(--accent)}table.pins tr.conn-divider td{padding:4px 0}.conn-divider div{align-items:center;gap:4px;display:flex}.conn-divider .divider-grip{border:0;border-top:2px solid var(--accent);height:18px;color:var(--muted);cursor:row-resize;border-radius:0;flex:1;padding:0 4px;font-size:10px}.conn-divider button:last-child{height:18px;padding:0 4px}.hdim-s{stroke-width:2px;font-size:6px}.hdim-bg{fill:#fff}.canvas.grab-end svg,.canvas.grab-end svg *{cursor:grab}.canvas.grab-end svg:active,.canvas.grab-end svg:active *{cursor:grabbing}.grab-dot{fill:var(--sel);pointer-events:none}.tcol-h{fill:#0000;stroke:none;cursor:col-resize}.tcol-h:hover{fill:var(--sel);fill-opacity:.25}table.pins label.chk{cursor:pointer;align-items:center;gap:5px;display:flex}table.pins label.chk input{width:auto;height:auto;margin:0}.list tr.grp .fold-acts{margin-left:8px}.list tr.grp:hover .fold-acts{display:inline-flex}.list tr.grp.new td{background:#fff}.list tr.grp .dir-ico{vertical-align:-1px;fill:#e9d9a6;stroke:#a8915a;stroke-width:1px;width:12px;height:10px;margin-right:4px}.list thead tr.over th,.list tr.grp.over td{background:var(--accent-2);outline:1px dashed var(--accent)}.drop-top{color:var(--muted);border:1px dashed #0000;border-radius:4px;flex:1;justify-content:center;align-self:stretch;align-items:center;margin:0 12px;display:flex}.drop-top.on{border-color:var(--line)}.drop-top.over{background:var(--accent-2);border-color:var(--accent);color:var(--accent)}.acl-row.inherited{color:var(--muted)}.hitem.orphan,.hseg.orphan{filter:drop-shadow(0 0 1.5px var(--err))}.hitem.orphan :is(rect,path,circle,line),.hseg.orphan .ln{stroke:var(--err)!important}.hitem.orphan text,.hseg.orphan text{fill:var(--err)}.hitem rect.hv-hit,.hitem.sel rect.hv-hit,.hitem.orphan rect.hv-hit{fill:#0000;stroke:none}.hitem.thl,.hseg.thl{filter:drop-shadow(0 0 3px var(--accent)) drop-shadow(0 0 1px var(--accent))}.orphan-banner{white-space:nowrap;border:1px solid var(--err);color:#8a1c1c;z-index:4;background:#fdecec;border-radius:4px;align-items:center;gap:6px;padding:3px 4px 3px 8px;font-size:11px;display:flex;position:absolute;top:6px;right:6px}.orphan-banner button{align-items:center;height:22px;margin:0;padding:0 7px;font-size:11px;display:inline-flex}.orphan-banner .bin{width:26px;color:var(--err);justify-content:center;padding:0;font-size:15px;line-height:1}.sig-ask{z-index:6;border:2px solid var(--warn);background:#fff;border-radius:6px;width:340px;animation:.25s ease-out sig-in;position:absolute;top:40px;left:50%;transform:translate(-50%);box-shadow:0 0 0 4000px #1e1e1e1f,0 6px 24px #0000004d}@keyframes sig-in{0%{opacity:0;transform:translate(-50%,-12px)}}.sig-head{color:#7a4900;background:#fff3dc;border-bottom:1px solid #f0d29a;border-radius:4px 4px 0 0;align-items:center;gap:7px;padding:5px 4px 5px 8px;font-size:12px;font-weight:600;display:flex}.sig-head .x{color:#7a4900;background:0 0;border:none;height:20px;margin-left:auto;padding:0 6px;font-size:15px}.sig-icon{background:var(--warn);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:17px;height:17px;font-size:12px;font-weight:700;display:inline-flex}.sig-body{flex-direction:column;gap:4px;padding:7px 8px 8px;display:flex}.sig-q{color:var(--muted);margin-bottom:1px;font-size:11px}.sig-opt{border:1px solid var(--line);text-align:left;border-radius:4px;justify-content:flex-start;align-items:baseline;gap:8px;height:auto;min-height:26px;padding:3px 8px;display:flex}.sig-opt b{font-size:12px}.sig-opt small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:10px;overflow:hidden}.sig-opt:hover,.sig-opt:focus-visible{border-color:var(--accent);background:var(--accent-2)}.sig-own{gap:4px;margin-top:2px;display:flex}.sig-own input{flex:1;height:26px}.sig-own button{height:26px}.sig-keep{border:1px dashed var(--line);height:24px;color:var(--muted);justify-content:center}.shparts select{width:100%;margin-top:3px}.shield-pick label{cursor:pointer;color:inherit;align-items:center;gap:6px;margin:0;padding:2px 8px;font-size:12px;display:flex}.shield-pick label input{flex:none;width:auto;height:auto;margin:0}.shield-pick label span{flex:1}.shield-pick label small{color:var(--muted)}.shield-pick .menu-row{gap:4px;padding:4px 4px 2px;display:flex}.shield-pick .menu-row button{border:1px solid var(--line);flex:1;justify-content:center}.shpart{align-items:baseline;gap:4px;padding:1px 0;display:flex}.shpart b{flex:1;font-weight:500}.shpart small{color:var(--muted);white-space:nowrap}.shpart .x{height:18px;padding:0 5px}.lib-form.ai{flex-direction:column;gap:6px;width:520px;display:flex}.lib-form.ai>*{flex-shrink:0}.ai-head{align-items:center;gap:8px;display:flex}.ai-head h3{flex:1;margin:0}.ai-head select{width:170px}.ai-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-row label{align-items:center;gap:4px;display:flex}.ai-asked{white-space:pre-wrap;background:#f6f7f8;border-radius:4px;max-height:90px;padding:5px 7px;overflow:auto}.ai-wait{color:var(--muted);flex-direction:column;gap:3px;display:flex}.ai-wait>div:first-child{align-items:center;gap:6px;display:flex}.ai-timeout{border:1px solid var(--warn);color:var(--text);border-radius:3px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.ai-debug{border-top:1px solid var(--line);padding-top:3px;font-size:11px}.ai-debug summary{cursor:pointer;color:var(--muted)}.ai-debug table{border-collapse:collapse;table-layout:fixed;width:100%;margin:3px 0}.ai-debug th,.ai-debug td{text-align:left;vertical-align:top;word-break:break-word;padding:1px 4px}.ai-debug tbody th{width:80px;color:var(--muted);font-weight:400}.ai-links td:first-child{white-space:nowrap;text-overflow:ellipsis;width:45%;overflow:hidden}.ai-links td.bad{color:var(--err)}.ai-log{max-height:160px;margin:3px 0;padding-left:0;font-family:ui-monospace,monospace;list-style:none;overflow:auto}.ai-log li{text-indent:-52px;padding-left:52px}.ai-log span{text-indent:0;width:52px;color:var(--muted);display:inline-block}a.btn{border:1px solid var(--line);color:inherit;border-radius:3px;align-items:center;padding:2px 8px;text-decoration:none;display:inline-flex}.spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-err{color:var(--err);font-size:11px}.ai-warn{color:var(--warn);font-size:11px}.ai-links{border:1px solid var(--warn);border-radius:4px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.ai-links ul{margin:0;padding-left:16px}.ai-links li{flex-direction:column;display:flex}.ai-links .url{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-items{flex-direction:column;gap:4px;display:flex}.ai-item{border:1px solid var(--line);opacity:.7;border-radius:4px;padding:4px 6px}.ai-item.on{opacity:1;border-color:var(--accent)}.ai-item.off{opacity:.45}.ai-line{align-items:center;gap:6px;display:flex}.ai-line input{width:auto;height:auto}.conf{background:#eceef0;border-radius:8px;padding:0 5px;font-size:10px}.conf.high{color:var(--ok)}.conf.low{color:#fff;background:var(--warn)}.ai-form{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:2px 10px;margin-top:6px;padding-top:6px;display:grid}.ai-form .wide{grid-column:1/-1}.ai-prompts pre{white-space:pre-wrap;background:#f6f7f8;border-radius:4px;max-height:260px;margin:2px 0 6px;padding:6px;font-size:10.5px;overflow:auto}.ai-prompts summary{cursor:pointer}.cv-views{grid-template-columns:1fr 1fr;gap:6px;display:grid}.cv-card{border:1px solid var(--line);border-radius:4px;min-width:0;padding:4px 6px}.cv-card svg{background:#fff;width:100%;height:130px;margin:3px 0;display:block}.cv-card.numbering svg{cursor:crosshair;outline:1px solid var(--accent)}.cv-card text.hv-num{font-size:6px}.cv-crop{grid-column:1/-1}.cv-crop svg{border:1px solid var(--line);cursor:crosshair;touch-action:none;background:#fff;border-radius:4px;width:100%;height:340px;margin-top:4px;display:block}.cv-crop .dxf{fill:none;stroke:#111;stroke-width:1px;vector-effect:non-scaling-stroke}.cv-crop .sel{fill:#1f6f5414;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.cv-bar{flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.cv-bar button{padding:0 5px;font-size:11px}.cv-bar label{white-space:nowrap}.cv-bar input{width:38px;height:20px;margin-left:2px}.cv-bar .grow{flex:1}.cv-dim path,.cv-dim circle,.cv-dim-at{fill:none;stroke:#d0451b;stroke-width:1.2px;vector-effect:non-scaling-stroke;pointer-events:none}.cv-dim-at{stroke:var(--accent);stroke-width:2px}.cv-dim-at.del{stroke:#c00}.hdim-pt{fill:none;stroke:#d0451b;stroke-width:.8px;pointer-events:none}.ai-scope{background:var(--accent-2);border:1px solid var(--accent);border-radius:4px;padding:3px 6px}.ai-scope a{margin-left:4px}.ai-pics{flex-wrap:wrap;gap:8px;margin:3px 0;display:flex}.ai-pic small{color:var(--muted);font-size:10px;display:block}.ai-pic>div{align-items:center;gap:4px;display:flex}.ai-pic span{color:var(--muted)}.ai-pic svg.thumb{border:1px solid var(--line);background:#fff;border-radius:3px;width:96px;height:64px}.ai-pic img.ai-logo{border:1px solid var(--line);background:#fff;border-radius:3px;width:64px;height:64px}.zoom-big img.ai-logo{object-fit:contain;width:100%;height:100%}.zoom{cursor:zoom-in;display:inline-flex}.zoom-big{z-index:1000;pointer-events:none;border:1px solid var(--line);box-sizing:border-box;background:#fff;border-radius:4px;padding:8px;position:fixed;box-shadow:0 6px 24px #0000002e}.zoom-big svg.thumb{width:100%;height:100%}.seat-port-preview{flex-direction:column;gap:6px;height:100%;display:flex}.seat-port-preview svg.thumb{flex:1;min-height:0}.seat-port-preview .port-active{fill:#dbeafe;stroke:#2563eb;stroke-width:1.5px}.seat-port-preview .port-active circle{fill:none}.seat-port-preview .port-inactive{fill:none;stroke:#666;opacity:.4}.seat-port-preview [data-preview-port]>*{vector-effect:non-scaling-stroke}table.list tr.queued td{background:#fff4d6}table.list tr.queued td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.q-count{color:#8a5a00;background:#fff4d6;border-radius:8px;margin-left:6px;padding:0 5px;font-size:10px}.ai-diff{border-collapse:collapse;margin:2px 0;font-size:11px}.ai-diff th{text-align:left;vertical-align:top;padding:0 6px 0 0;font-weight:600}.ai-diff td{vertical-align:top;word-break:break-word;padding:0 4px 0 0}.ai-diff .was{color:var(--muted);text-decoration:line-through}.ai-alerts{z-index:120;flex-direction:column;gap:8px;width:340px;display:flex;position:fixed;top:44px;right:12px}.ai-alert{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:5px;flex-direction:column;gap:4px;padding:8px 10px;animation:.25s ease-out ai-pop;display:flex;box-shadow:0 6px 24px #0004}.ai-alert.time{border-left-color:var(--warn)}.ai-alert.failed{border-left-color:var(--err)}.ai-alert-head{justify-content:space-between;align-items:center;display:flex}.ai-alert-head a{color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.ai-alert .muted{overflow-wrap:anywhere;font-size:11px}@keyframes ai-pop{0%{opacity:0;transform:translate(24px)}}.ai-thread{font-size:11px}.ai-thread>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-q{border-left:3px solid var(--warn);background:#fff8ec;margin:4px 0;padding:4px 8px}.ai-q ol{margin:2px 0 0;padding-left:18px}.ai-follow{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.ai-follow textarea{box-sizing:border-box;width:100%}.ai-dup{float:right;margin:-2px 0 2px 8px;padding:1px 8px}.meta{flex-direction:column;gap:3px;display:flex}.meta-row{align-items:center;gap:4px;display:flex}.meta-row .mk{flex:none;width:130px;font-family:monospace}.meta-row .mk.bad{border-color:var(--err,#c33)}.meta-row .mv{flex:1}.meta-row select{flex:none;width:88px}.parameter-value{gap:4px;display:flex}.parameter-value input{flex:1;min-width:0}.parameter-dialog{border:1px solid var(--line);border-radius:4px;width:min(460px,100vw - 32px);max-height:calc(100vh - 32px);padding:12px}.parameter-dialog::backdrop{background:#0005}.parameter-list{max-height:60vh;margin:8px 0;overflow:auto}.parameter-list fieldset{border:1px solid var(--line);margin-bottom:6px;padding:8px}.parameter-list label{align-items:center;gap:8px;margin:4px 0;display:flex}.parameter-list input{width:65%;margin-left:auto}.col-row input{width:120px}.col-row a.off{opacity:.4;pointer-events:none}.hint.keys{margin:-2px 0 4px;font-family:monospace;font-size:11px}.col-row input+a{font-size:11px}.meta>a,.meta-row a{cursor:pointer;color:var(--muted)}table.list td.tick,table.list thead td.tick{width:22px;padding:0 0 0 8px}table.list td.tick input{vertical-align:middle;cursor:pointer;margin:0}.junc-label{fill:#111;pointer-events:none;font:6.5px Arial,sans-serif}.seat-row{align-items:center;gap:4px;padding:2px 0;display:flex}.seat-row button{margin-left:auto}.sym-ed .term-wires{align-items:center;gap:4px;display:inline-flex}.sym-ed .term-wires small{color:var(--muted)}.sym-ed .term-wires select{padding:0 2px;font-size:11px}.k-schematic{--k:#2463c4;--k2:#e5eefb}.k-harness{--k:#8a3cb8;--k2:#f3e8fa}.k-library{--k:#c25e0c;--k2:#fcefe1}.k-other{--k:#56626e;--k2:#eceff2}.topbar select.mode[class*=k-]{color:var(--k);border-color:var(--k);background-color:var(--k2)}.topbar select.mode option{background:#fff}.topbar select.mode option[class*=k-]{color:var(--k)}.ptab[class*=k-]{box-shadow:inset 0 2px 0 color-mix(in srgb, var(--k) 35%, transparent)}.ptab[class*=k-].on{box-shadow:inset 0 2px 0 var(--k);color:var(--k);background:var(--k2)}.ptab.sig.on{background:#ffe9ad}.ptab.drop-before[class*=k-]{box-shadow:inset 2px 0 0 var(--k)}.ptab.drop-after[class*=k-]{box-shadow:inset -2px 0 0 var(--k)}.app{height:100%;display:flex}.app-main{flex:1;min-width:0;height:100%}.bookmarks{width:calc(26px * var(--bm-scale));background:var(--panel);border-right:1px solid var(--line);z-index:40;flex-direction:column;flex:none;padding-top:34px;display:flex;position:relative}.bookmark-scroll{height:calc(236px * var(--bm-scale));scrollbar-width:none;flex:none;max-height:100%;overflow:auto}.bookmark-list{gap:calc(4px * var(--bm-scale));padding-left:calc(3px * var(--bm-scale));font-size:calc(12px * var(--bm-scale));flex-direction:column;display:flex}.bm{height:calc(20px * var(--bm-scale));flex:none;position:relative}.bm-box{height:calc(20px * var(--bm-scale));min-width:calc(20px * var(--bm-scale));max-width:calc(20px * var(--bm-scale));box-sizing:border-box;align-items:center;gap:calc(6px * var(--bm-scale));white-space:nowrap;border:2px solid var(--k,#9aa0a6);border-radius:calc(3px * var(--bm-scale));background:var(--k2,#fff);color:var(--k);cursor:pointer;padding:0;transition:max-width .15s ease-out,box-shadow .15s;display:flex;position:absolute;top:0;left:0;overflow:hidden}.bm-box b{font-size:calc(11px * var(--bm-scale));width:calc(20px * var(--bm-scale) - 4px);text-align:center;flex:none}.bm.free .bm-box{color:#b4b9c0;background:0 0;border:1px dashed #d3d7db}.bm.free .bm-box b{width:calc(20px * var(--bm-scale) - 2px);font-weight:400}.bm.on .bm-box{background:var(--k);color:#fff;box-shadow:0 0 0 2px var(--k2)}.bm.on .bm-title,.bm.on .bm-act{color:#fff}.bm-title{text-overflow:ellipsis;color:var(--text);overflow:hidden}.bm.free .bm-title{color:var(--muted);font-style:italic}.bm-act{padding:0 calc(3px * var(--bm-scale));color:var(--muted);font-size:calc(13px * var(--bm-scale));flex:none;line-height:1}.bm-act:hover{color:var(--k);text-decoration:none}.bm.on .bm-act:hover{color:var(--k2)}.bm:hover .bm-box,.bookmarks.all .bm-box{top:var(--bm-top);left:var(--bm-left);max-width:min(calc(340px * var(--bm-scale)), calc(100vw - var(--bm-left) - 8px));padding-right:calc(4px * var(--bm-scale));z-index:1;position:fixed;box-shadow:0 2px 6px #0000002e}.bookmarks.all .bm[data-visible=false] .bm-box{visibility:hidden}.bm:not(.on):hover .bm-box,.bookmarks.all .bm:not(.on) .bm-box{background:var(--k2,#fff)}.bookmarks.all .bm.free .bm-box,.bm.free:hover .bm-box{background:var(--panel)}.bookmark-resize{cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:0;width:6px;height:auto;padding:0;position:absolute;top:34px;bottom:0;right:-3px}.bookmark-resize:hover{background:var(--accent-2)}.bookmark-resize:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.feat-hit{fill:#0000;stroke:none}.feat-frame{fill:none;stroke:var(--fc,#111);stroke-width:var(--fw,.8px);stroke-dasharray:var(--fd,none)}.feat-fill{fill:var(--ff,#fff);fill-opacity:var(--fo,0);stroke:none}.feat-box{fill:var(--ff,#fff);fill-opacity:var(--fo,1);stroke:var(--fc,#111);stroke-width:var(--fw,1px);stroke-dasharray:var(--fd,none)}.feat-band{stroke:var(--fc,#111);stroke-width:min(var(--fw,.8px), .8px);stroke-dasharray:var(--fd,none)}.canvas text.feat-title{fill:#111;font-size:9px;font-weight:700}.canvas text.rev-head{fill:#111;font-size:6.5px;font-weight:700}.canvas text.rev-cell{fill:#111;font-size:7px}.canvas text.muted-cell{fill:#777;font-style:italic}.rev-rule{stroke:var(--fc,#111);stroke-width:.4px}.canvas text.feat-txt{fill:#111}.canvas text.feat-cap{fill:#111;font-size:8px}.feat-grip{fill:#fff;stroke:var(--sel);stroke-width:1px;cursor:ew-resize}.sel .feat-box,.sel .feat-frame,.sel .feat-band{stroke:var(--sel)}.sel .feat-box,.sel .feat-frame{stroke-width:max(var(--fw,1px), 1px)}.error .feat-box{stroke:var(--err)}.canvas.tool-notes svg,.canvas.tool-notes svg *{cursor:crosshair}.ned{z-index:5;transform-origin:0 0;box-sizing:border-box;border:1px solid var(--sel);color:#111;background:#fff;font-family:Arial,Helvetica,sans-serif;position:absolute;box-shadow:0 0 0 2px #1a6fe033}.ned-title{box-sizing:border-box;text-align:center;background:0 0;border:0;border-bottom:.8px solid #111;border-radius:0;width:100%;padding:0 4px;font:700 9px Arial,Helvetica,sans-serif;display:block}.ned-title:focus{background:#f5f9ff;outline:none}.ned-body{white-space:pre-wrap;overflow-wrap:break-word;cursor:text;outline:none;min-height:12px}.ned-body div,.ned-body p{margin:0}.ned-body ul,.ned-body ol{padding-left:var(--ind);margin:0}.ned-body li{padding-left:1px}.ned-body :is(ul,ol) ul{list-style-type:circle}.ned-body :is(ul,ol) :is(ul,ol) ul{list-style-type:square}.ned-body :is(ul,ol) ol{list-style-type:lower-alpha}.ned-body :is(ul,ol) :is(ul,ol) ol{list-style-type:lower-roman}.ned-bar{z-index:6;border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;box-shadow:0 2px 8px #0002}.ned-bar button{min-width:24px;height:22px;padding:0 5px}.ned-bar button.on{background:var(--accent-2);border-color:var(--accent);color:var(--accent)}.ned-bar select{height:22px;font-size:11px}.ned-bar .ned-done{margin-left:4px}.tnode .ficon{color:var(--muted);margin-right:4px}button.redline{color:var(--red);position:relative}button.redline.on{color:#fff;background:var(--red);border-color:var(--red)}button.redline.on .badge.red{color:var(--red);background:#fff}button.ico.redline .badge{text-align:center;pointer-events:none;min-width:11px;margin:0;padding:0 3px;font-size:8px;line-height:11px;position:absolute;bottom:2px;right:-3px}.redlines .red-capture{fill:#0000;cursor:crosshair}.redline{cursor:pointer}.redline .red-box{fill:#ffffffd0;stroke:var(--red);stroke-width:1.2px}.redline .red-box:not(.call){fill:#d4141c0a}.redline .red-target{fill:none;stroke:var(--red);stroke-width:.8px;stroke-dasharray:3 2}.redline .red-lead{stroke:var(--red);stroke-width:1px}.redline .red-dot{fill:var(--red)}.redline .red-text{fill:var(--red);pointer-events:none;font:9px Arial,sans-serif}.redline.on .red-box{stroke-width:2.4px}.redline.on .red-text{font-weight:700}.redline.resolved{opacity:.4}.redline.draft{pointer-events:none;opacity:.75}.redlines.tool .redline{pointer-events:none}.red-compose{z-index:60;gap:4px;width:300px;position:fixed}.red-compose textarea{resize:vertical;height:auto;font:inherit;padding:4px 6px}.red-compose .btns{margin:2px 0 0}.red-imgs{flex-wrap:wrap;gap:4px;margin:3px 0;display:flex}.red-imgs img{object-fit:cover;border:1px solid var(--line);border-radius:3px;max-width:90px;height:46px;display:block}.red-imgs span{position:relative}.red-imgs span a{border:1px solid var(--line);text-align:center;width:14px;height:14px;color:var(--err);background:#fff;border-radius:50%;font-size:11px;line-height:12px;position:absolute;top:-5px;right:-5px}.red-panel{min-width:0}.harness-red-flag{cursor:pointer}.harness-red-flag rect{fill:#fff0f0;stroke:var(--red);stroke-width:1px}.canvas .harness-red-flag text{fill:var(--red);font:700 9px Arial,sans-serif}.red-head{z-index:1;background:var(--panel);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;padding:3px 0;display:flex;position:sticky;top:-6px}.red-head button.on{color:#fff;background:var(--red);border-color:var(--red)}.red-filters{flex:1 0 100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;min-width:0;display:grid}.red-filters label{min-width:0;color:var(--muted);flex-direction:column;font-size:10px;display:flex}.red-filters select{width:100%;min-width:0}.red-item{border:1px solid var(--line);border-left:3px solid var(--red);cursor:pointer;border-radius:4px;margin-bottom:5px;padding:4px 6px}.red-item:hover{background:#fafafa}.red-item.on,.red-item.on:hover{outline:2px solid var(--red);outline-offset:-2px;box-shadow:inset 3px 0 var(--red);opacity:1;background:#ffeded}.red-item.resolved{border-left-color:var(--ok);opacity:.7}.red-row{flex-wrap:wrap;align-items:baseline;column-gap:6px;display:flex}.red-row small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.red-row b{color:var(--red)}.red-item.resolved .red-row b{color:var(--ok);text-decoration:line-through}.red-body{white-space:pre-wrap;word-break:break-word;margin:2px 0}.red-res{color:var(--ok);margin-top:2px;font-size:11px}.red-res div{color:var(--text);white-space:pre-wrap}.red-item .btns{margin:3px 0 0}.red-item .btns button{height:20px;padding:0 6px}.red-resolve textarea{width:100%;height:auto;font:inherit;margin-top:3px;padding:3px 6px}.tnode.red i{color:var(--red);font-weight:700}.tnode.red.resolved span{color:var(--muted);text-decoration:line-through}.redline.movable .red-box,.redline.movable .red-text{cursor:move}.red-ta{position:relative}.red-sug{z-index:2;background:var(--panel);border:1px solid var(--line);max-height:180px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 2px 6px #0000002e}.red-sug>div{cursor:pointer;white-space:nowrap;align-items:baseline;gap:6px;padding:2px 6px;display:flex}.red-sug>div.on{background:var(--accent-2)}.red-sug>div{align-items:center}.red-sug .red-av{background:var(--line);object-fit:cover;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:9px;display:grid}.red-sug em{color:var(--chk-err);margin-left:auto;font-size:10px;font-style:normal}.red-warn{color:var(--chk-err);margin:3px 0;font-size:11px}.red-assign{align-items:center;gap:4px;margin:3px 0;display:flex}.red-assign select{font:inherit}.red-at{color:var(--red);font-weight:600}.red-asg{color:var(--muted);margin-top:2px;font-size:11px}.red-asg.me{color:var(--red);font-weight:600}.redlines .red-capture.line{cursor:crosshair}.redline .red-line{fill:none;stroke:var(--red);stroke-width:1.5px;stroke-linejoin:round}.redline .red-target.wire{stroke-width:9px;stroke-dasharray:4 2.5;stroke-linejoin:round;stroke-linecap:butt}.redline .red-pin{fill:#0000}.redline.movable .red-pin{cursor:grab}.redline .red-img rect{fill:#fff;stroke:#d4141c60;stroke-width:.5px}.redline .red-img{cursor:zoom-in}.lightbox{z-index:200;cursor:zoom-out;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;background:#fff;max-width:94vw;max-height:90vh;box-shadow:0 4px 20px #00000080}.lightbox a{color:#fff;font-size:11px}.redline .red-end{fill:var(--red)}.redlines .red-snap{fill:none;stroke:var(--red);stroke-width:1px;pointer-events:none}.artwork-editor .rows input[type=number]{width:64px}.artwork-instance-fields{grid-template-columns:1fr 1fr;gap:2px 6px;display:grid}.artwork-instance-fields .field{min-width:0}.part-images{pointer-events:none}.part-images .mark-hit{fill:#0000;stroke:none;pointer-events:all;cursor:move}.part-images .mark-hit.linked{cursor:pointer}.part-images .mark-hit:hover{stroke:var(--sel);stroke-width:.6px;stroke-dasharray:2 2}.art-text{fill:#111;font-family:Arial,sans-serif}.label-table .artwork-fields td{padding-top:0}.label-table .artwork-fields label{color:var(--muted);align-items:center;gap:4px;margin-right:10px;display:inline-flex}.label-table .artwork-fields input{width:120px}.label-table .artwork-fields input[type=url]{width:220px}.label-table .artwork-fields label.bad input{border-color:var(--err,#c33)}.artwork-fact{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.bom-filter{grid-template-columns:1fr 1fr;gap:0 8px;max-height:160px;margin:0 0 4px;display:grid;overflow:auto}.bom-filter label.chk:first-child{grid-column:1/-1}.bom-filter label.chk{cursor:pointer;align-items:center;gap:5px;margin:0;padding:1px 0;display:flex}.bom-filter label.chk input{width:auto;height:auto;margin:0}
