:root{--bg:#1f2530;--bg2:#2a3240;--bg3:#333d4e;--fg:#e8ecf2;--muted:#9aa6b8;--accent:#3b82f6;--brand:#f5b324;--border:#3a4456;font-family:Segoe UI,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);background:#eef1f5;margin:0;overflow:hidden}body{grid-template-rows:auto 1fr auto;display:grid}#topbar{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.brand{align-items:flex-start;gap:10px;margin-right:10px;display:flex}.brand img{height:30px;display:block}.brand-text{border-left:1px solid var(--border);flex-direction:column;padding-left:10px;line-height:1.1;display:flex}.brand-text b{color:var(--brand);font-size:15px}.brand-text span{color:var(--muted);letter-spacing:.04em;font-size:11px}.brand-title{box-sizing:border-box;align-items:baseline;gap:6px;height:30px;padding-top:6px;display:flex}.brand-undo{gap:4px;margin-top:4px;display:flex}.brand-undo button{border-radius:6px;min-width:38px;height:30px;padding:0 8px;font-size:16px}.group{border-left:1px solid var(--border);align-items:center;gap:4px;padding:0 8px;display:flex}.group.right{margin-left:auto}button,select,input{font:inherit;color:var(--fg);background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:5px 10px}button{cursor:pointer}button:hover{border-color:var(--accent)}button.active,button.toggle.on{background:var(--accent);border-color:var(--accent)}input[type=number]{width:70px}label{color:var(--muted);align-items:center;gap:5px;display:flex}#workspace{min-height:0;display:flex;position:relative}#sidebar{background:var(--bg);border-right:1px solid var(--border);z-index:3;flex-direction:column;gap:6px;padding:8px 6px;display:flex}#sidebar button{background:0 0;border-color:#0000;flex-direction:column;align-items:center;gap:2px;width:64px;padding:8px 4px 6px;font-size:11px;display:flex}#sidebar button:hover{background:var(--bg2);border-color:var(--border)}#sidebar button.active{background:var(--accent);border-color:var(--accent)}#sidebar svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;width:26px;height:26px}#flyout{border-right:1px solid var(--border);z-index:2;background:#1f2530f7;width:250px;padding:12px;position:absolute;top:0;bottom:0;left:77px;overflow:hidden auto}#subbar{border-right:1px solid var(--border);z-index:2;background:#1f2530f7;flex-direction:column;gap:6px;padding:8px 6px;display:flex;position:absolute;top:0;bottom:0;left:77px}#subbar.win{border:1px solid var(--border);z-index:4;border-radius:10px;flex-flow:wrap;align-content:flex-start;width:268px;max-height:calc(100% - 28px);padding:10px;inset:auto 122px 14px auto;overflow-y:auto;box-shadow:0 6px 20px #00000059}#subbar.win .win-head{flex-basis:100%;justify-content:space-between;align-items:center;font-size:13px;display:flex}#subbar.win .win-head button{width:24px;height:24px;padding:0;font-size:16px;line-height:1}#subbar[hidden],#subpop[hidden]{display:none}#subbar .sb-item{width:76px;color:var(--fg);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:11px;display:flex}#subbar .sb-item:hover,#subbar .sb-item.open{background:var(--bg2);border-color:var(--border)}#subbar .sb-item.open{border-color:var(--accent)}#subbar .sb-item.current{background:#3b82f62e;border-color:#3b82f699}#subbar .sb-item small{text-align:center;line-height:1.15}#subbar .sb-val{text-align:center;justify-content:center;max-width:76px;line-height:1.15}#subbar .sb-item>svg:first-child,#subbar .sb-item>.icon:first-child{flex:none}#sidebar .ctrl-toggle .sb-switch{margin:4px auto 2px}#sidebar .ctrl-toggle.on .sb-switch{background:#facc15;border-color:#facc15}#sidebar .ctrl-toggle.on .sb-switch i{background:#fff;left:15px}#sidebar .ctrl-toggle.on span:last-child{color:#facc15}.sb-switch{background:var(--bg3);border:1px solid var(--border);border-radius:8px;width:30px;height:16px;transition:background .15s;position:relative}.sb-switch i{background:var(--muted);border-radius:50%;width:12px;height:12px;transition:left .15s,background .15s;position:absolute;top:1px;left:1px}.sb-switch.on{background:var(--accent);border-color:var(--accent)}.sb-switch.on i{background:#fff;left:15px}#subbar .sb-color{border:1px solid var(--border);background:0 0;border-radius:4px;width:44px;height:24px;padding:0}#subbar{overflow-y:auto}#subbar svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;width:26px;height:26px}#subbar small{color:var(--muted)}.sb-num{align-items:baseline;gap:2px;display:flex}.sb-num input{text-align:center;-moz-appearance:textfield;width:48px;padding:3px 2px;font-size:13px}.sb-num input::-webkit-inner-spin-button{-webkit-appearance:none}.sb-num input::-webkit-outer-spin-button{-webkit-appearance:none}.sb-num i{color:var(--muted);font-size:10px;font-style:normal}.sb-val{align-items:center;gap:4px;font-size:11px;display:flex}#subpop{border:1px solid var(--border);z-index:4;background:#1f2530f7;border-radius:10px;flex-wrap:wrap;gap:6px;max-width:calc(100% - 180px);padding:6px;display:flex;position:absolute;left:168px;box-shadow:0 6px 20px #00000059}#subpop button{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:78px;max-width:120px;padding:8px 6px;font-size:12px;display:flex}#subpop button small{color:var(--muted);font-size:10px}#subpop button.active{border-color:var(--accent);background:#3b82f62e}.swatch.big{width:28px;height:20px}#flyout[hidden]{display:none}#flyout h3{margin:0 0 10px;font-size:14px}#flyout .field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}#flyout .field>span{color:var(--muted);font-size:12px}.chips{grid-template-columns:1fr 1fr;gap:6px;display:grid}.chips button{text-align:left;align-items:center;gap:6px;display:flex}.swatch{border:1px solid #ffffff4d;border-radius:3px;flex:none;width:14px;height:14px}.catalog{grid-template-columns:1fr 1fr;gap:8px;display:grid}.card{background:var(--bg2);border:2px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px;line-height:1.2;display:flex}.card svg{background:#eef1f5;border-radius:6px}.card small{color:var(--muted)}.card.active{border-color:var(--brand);background:var(--bg3)}#viewport{isolation:isolate;flex:1;min-width:0;position:relative;overflow:hidden}#viewport canvas{touch-action:none;display:block}#viewport .labels{pointer-events:none;position:absolute;inset:0}.dim{color:#2b3442;white-space:nowrap;background:#ffffffd9;border:1px solid #c3cad6;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}.angle-label{color:#fff;white-space:nowrap;background:#d97706;border-radius:4px;padding:0 4px;font-size:11px;font-weight:700}.dim-edit{text-align:center;color:#1e293b;border:2px solid var(--c);pointer-events:auto;appearance:textfield;background:#fff;border-radius:6px;width:58px;padding:1px 4px;font-size:12px;font-weight:700}.dim-edit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dim-edit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dim-edit:focus{outline:2px solid var(--c);outline-offset:1px}div.dim-edit{width:auto}.dim-box{flex-direction:column;align-items:center;gap:2px;display:flex}.dim-ends{pointer-events:auto;gap:18px;display:flex}.dim-end{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:5px;width:20px;height:18px;padding:0;font-size:12px;line-height:16px}.dim-end:hover{border-color:#f59e0b}.dim-end.on{color:#111827;background:#f59e0b;border-color:#f59e0b}.terms{flex-wrap:wrap;gap:4px;display:flex}.term{background:var(--bg2);border-left:4px solid var(--c);border-radius:10px;padding:2px 6px;font-size:11px}#sidebar[data-mode=design] button:not([data-mode=design]),#sidebar[data-mode=logic] button:not([data-mode=logic]),#sidebar[data-mode=wiring] button:not([data-mode=wiring]){display:none}.issue-list{flex-direction:column;gap:6px;display:flex}.issue-list button{text-align:left;padding:6px 8px;font-size:12px;line-height:1.35}.issue-list button b{font-size:13px;display:block}.issue-list button.error{border-color:#dc2626}.group.mode button.active{background:var(--brand);border-color:var(--brand);color:#1f2530;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}.issues{color:#fbbf24;border-color:#b45309;font-weight:700}.issues.error{color:#fff;background:#b91c1c;border-color:#ef4444}.logic-term{pointer-events:none}.logic-term.big span{background:#fff;padding:1px 5px;font-size:15px;top:-40px;box-shadow:0 1px 4px #00000059}.logic-elname{pointer-events:none}.logic-elname span{color:#fff;white-space:nowrap;background:#1e40afeb;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-block;position:relative;top:-32px;box-shadow:0 2px 6px #0000004d}.logic-elname.lift span{top:-66px}.logic-term span{color:#1e293b;background:#ffffffd9;border-radius:3px;padding:0 3px;font-size:10px;font-weight:700;display:inline-block;position:relative;top:-17px}.logic-badge{text-align:center;color:#1f2530;pointer-events:auto;cursor:help;background:#fbbf24;border:2px solid #fff;border-radius:50%;width:20px;height:20px;font-size:13px;font-weight:900;line-height:20px;box-shadow:0 1px 4px #0006}.logic-badge.error{color:#fff;background:#dc2626}.logic-stub{color:#fff;background:#6d28d9;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700}.wtools{margin-bottom:12px}.speclist{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.speclist button{text-align:left;align-items:center;gap:8px;display:flex}.speclist button.active{border-color:var(--brand);background:var(--bg3)}.spec-swatch{border:1px solid #64748b;border-radius:4px;flex:none;width:16px;height:8px}.cores{gap:2px;margin-left:auto;display:flex}.cores i,.cdot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.corelist{flex-direction:column;gap:4px;display:flex}.core{align-items:center;gap:6px;display:flex}.core select{flex:1;min-width:0;padding:3px 4px;font-size:12px;max-width:none!important}.core button{padding:2px 6px}.core.bad select{border-color:#f59e0b}.core .sec{color:var(--muted);flex:none;width:22px;font-size:10px}small.warn{color:#fbbf24}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;display:block}.dropdown{position:relative}.dropdown .menu{z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-width:230px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000059}.dropdown .menu[hidden]{display:none}.dropdown .menu button{text-align:left}.area-label{color:#1e293b;white-space:nowrap;background:#ffffffb3;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700}.area-label.area-selected{color:#fff;background:#2f6fd0}#levels{z-index:5;border:1px solid var(--border);background:#1f2530f2;border-radius:10px;flex-direction:column;align-items:center;gap:5px;width:96px;padding:8px 6px;display:flex;position:absolute;bottom:14px;right:14px}.lvl-arrow{justify-content:center;align-items:center;width:100%;height:22px;padding:0;display:flex}.lvl-arrow svg{width:34px;height:12px;fill:var(--muted)}.lvl-arrow:hover svg{fill:var(--fg)}.lvl-stack{flex-direction:column;gap:4px;width:100%;display:flex}.lvl{width:100%;height:30px;color:var(--muted);padding:0;font-size:12px;font-weight:600}.lvl.active{color:#1f2530;background:var(--brand);border-color:var(--brand)}.lvl{position:relative}.lvl-cog{color:#1f2530;border-radius:50%;width:20px;height:20px;font-size:14px;line-height:20px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.lvl-cog:hover{background:#00000026}.lvl-roof{width:calc(100% + 8px);margin-bottom:-6px;position:relative}.lvl-roof-btn{background:0 0;border:none;justify-content:center;align-items:flex-end;width:100%;height:46px;padding:0;display:flex;overflow:hidden}.lvl-roof-btn:hover{filter:brightness(1.15);background:0 0}.lvl-roof-btn img{object-fit:contain;object-position:50% 100%;opacity:.3;filter:grayscale();width:100%;height:100%}.lvl-roof-btn.on img{opacity:1;filter:none}.lvl-roof-btn svg{fill:#0000;width:100%;height:40px;stroke:var(--muted);stroke-width:2px}.lvl-roof-btn.on svg{fill:#9ca3af}.lvl-arrows{gap:4px;width:100%;display:flex}.lvl-arrows .lvl-arrow{flex:1;width:auto}.lvl-roof-cog{width:20px;height:20px;color:var(--muted);background:#1f2530d9;border-radius:50%;padding:0;font-size:13px;line-height:18px;position:absolute;top:2px;right:2px}.lvl-roof-cog.active{color:#1f2530;background:var(--brand);border-color:var(--brand)}.lvl-find{box-sizing:border-box;text-align:center;width:100%;padding:3px 6px;font-size:12px}.lvl-find.bad{border-color:#dc2626}.lvl-ask{border:1px solid var(--border);background:#1f2530f7;border-radius:10px;width:210px;padding:10px;font-size:12px;line-height:1.4;position:absolute;bottom:0;right:calc(100% + 8px)}.lvl-ask .row{gap:6px;margin-top:8px;display:flex}.lvl-ask .row button{flex:1;padding:4px 6px}#lvlYes{background:var(--accent);border-color:var(--accent)}.seg{gap:4px;display:flex}.seg button{flex:1;padding:4px 6px}.seg button.active{background:var(--accent);border-color:var(--accent)}input.kelvin{appearance:none;background:linear-gradient(90deg, var(--k0,#ffb46b), #fff4e8, var(--k1,#d9e6ff));border-radius:5px;width:100%;height:10px;padding:0}.wheel-box{justify-content:center;padding:4px 0;display:flex}.cwheel{cursor:crosshair;touch-action:none;border:2px solid var(--border);background:radial-gradient(closest-side,#fff,#fff0),conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;width:150px;height:150px;position:relative}.cwheel-marker{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 1px #000}.pat-group{color:var(--muted);margin-top:4px;font-size:12px}.patterns{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.pat{border-width:2px;flex-direction:column;align-items:center;gap:2px;padding:3px;font-size:10px;line-height:1.1;display:flex}.pat img{aspect-ratio:1;border-radius:4px;width:100%;display:block}.pat.active{border-color:var(--brand)}.muted{color:var(--muted)}#props .sep{border-top:1px solid var(--border);color:var(--muted);margin-top:6px;padding-top:6px;font-size:12px;font-weight:700}#props label.check{justify-content:flex-start}#props{max-height:calc(100% - 24px);overflow:hidden auto}.dim-a{color:#fff;background:#ea580c;border-color:#ea580c}.dim-b{color:#fff;background:#0d9488;border-color:#0d9488}.dim-preview{color:#fff;background:var(--accent);border-color:var(--accent);font-size:13px}.dim-selected{color:#fff;background:#2f6fd0;border-color:#2f6fd0}#props{border:1px solid var(--border);z-index:2;background:#1f2530f2;border-radius:10px;flex-direction:column;gap:8px;width:250px;padding:12px;display:flex;position:absolute;top:12px;right:122px}#props[hidden]{display:none}#props h3{margin:0 0 4px;font-size:14px}#props h3.with-lock{justify-content:space-between;align-items:center;gap:8px;display:flex}#props h3 .lock{border:1px solid var(--border);color:#94a3b8;cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}#props h3 .lock:hover{color:#f1f5f9}#props h3 .lock.on{color:#111827;background:#f59e0b;border-color:#f59e0b}#props label{justify-content:space-between}#props select{max-width:140px}#props .row{gap:6px;display:flex}#props .row button{flex:1}.dimkey{color:var(--c);font-weight:700}.dimkey:before{content:"";background:var(--c);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}#props .open-btn{background:#14532d;border-color:#16a34a}#props .danger{background:#8b2b2b;border-color:#a33}#hud{background:var(--bg);border-top:1px solid var(--border);justify-content:space-between;gap:20px;min-height:30px;padding:6px 12px;font-size:13px;display:flex}#hint{color:var(--muted)}#status{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}#subbar .sb-tiles{cursor:pointer}#subbar .sb-head{color:var(--muted);font-weight:600}.sb-tile{border:1px solid var(--border);border-radius:6px;width:56px;height:56px;display:block;overflow:hidden}.sb-tile .mat-tile{width:100%;height:100%;display:block}#subbar .sb-tname{text-align:center;line-height:1.15}#subpop.tiles button{min-width:84px;padding:8px}#subpop.tiles button .sb-tile{width:64px;height:64px}#subbar .sb-item .sb-tile .mat-tile,#subpop .sb-tile .mat-tile{width:100%;height:100%}#subbar .sb-tiles .sb-head{font-size:12px}#subbar .sb-item .sb-tile .mat-tile{stroke:none}.sb-tile:has(.line-tile){background:var(--bg2)}#subbar .sb-item .sb-tile .line-tile,#subpop .sb-tile .line-tile{stroke:currentColor;stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round;color:var(--fg)}#subpop button.active .line-tile{color:#93c5fd}#subpop.tiles button{width:92px;max-width:92px}#subpop .subrow{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}#subpop .subrow.sub{border-top:1px solid var(--border);padding-top:6px}#subpop .subrow.sub[hidden]{display:none}#subpop .subrow.top button.hover{border-color:var(--muted)}#subbar .sb-split{cursor:pointer}.split-pic{width:64px;height:36px;display:block}#subbar .sb-split .split-svg{fill:none;width:64px;height:36px;stroke:var(--fg);stroke-width:1.2px;stroke-linejoin:round}.split-svg .half{fill:var(--bg2);stroke:var(--border);stroke-width:1px}.sb-split.left .split-svg .half.l,.sb-split.right .split-svg .half.r{fill:#3b82f659;stroke:var(--accent)}.split-svg .wall{fill:#e8ecf214;stroke:none}.split-svg .hatch{stroke:var(--muted);stroke-width:.6px}.split-svg .box{fill:var(--bg)}.split-svg .plane{stroke-width:1.6px}#toast{z-index:50;color:#fff;cursor:pointer;background:#7f1d1d;border:1px solid #ef4444;border-radius:10px;max-width:520px;padding:14px 18px;font-size:13px;line-height:1.4;position:fixed;top:110px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}#toast[hidden]{display:none}#toast b{margin-bottom:4px;font-size:14px;display:block}#toast small{opacity:.75;margin-top:6px;display:block}#note{z-index:50;color:#fff;cursor:pointer;background:#14532d;border:1px solid #22c55e;border-radius:10px;max-width:520px;padding:14px 18px;font-size:13px;line-height:1.4;position:fixed;top:110px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}#note[hidden]{display:none}#note b{margin-bottom:4px;font-size:14px;display:block}#note small{opacity:.75;margin-top:6px;display:block}#props b.over{color:#ef4444}#boardEditor{z-index:60;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#boardEditor .be-win{color:#e2e8f0;background:#1e293b;border-radius:12px;flex-direction:column;width:96vw;height:94vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}#boardEditor .be-head{border-bottom:1px solid #334155;align-items:center;gap:12px;padding:10px 14px;display:flex}#boardEditor .be-hint{color:#94a3b8;text-align:center;flex:1;font-size:12px}#boardEditor .be-body{flex:1;gap:0;min-height:0;display:flex}#boardEditor .be-win{background:var(--bg)}#boardEditor .be-head,#boardEditor .be-menu,#boardEditor .be-side{border-color:var(--border)!important}#boardEditor .be-menu{border-right:1px solid var(--border);z-index:2;background:var(--bg);flex-direction:column;flex-shrink:0;gap:6px;width:80px;padding:8px;display:flex;position:relative}#boardEditor .be-mi{position:static}#boardEditor .be-mbtn{width:64px;color:var(--fg);background:0 0;border-color:#0000;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;font-size:11px;display:flex}#boardEditor .be-mbtn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;width:26px;height:26px}#boardEditor .be-mi:hover>.be-mbtn{background:var(--bg2);border-color:var(--border)}#boardEditor .be-fly{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:max-content;max-width:660px;max-height:calc(94vh - 70px);margin-left:0;padding:8px;display:none;position:absolute;top:0;left:calc(100% - 8px);overflow:auto;box-shadow:0 10px 30px #00000073}#boardEditor .be-mi:hover>.be-fly{display:flex}#boardEditor .be-tabs{border-bottom:1px solid var(--border);flex-wrap:nowrap;gap:6px;padding-bottom:6px;display:flex}#boardEditor .be-tab{white-space:nowrap;background:var(--bg2);border-color:var(--border);padding:5px 10px;font-size:12px}#boardEditor .be-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}#boardEditor .be-tabbody{flex-direction:column;gap:6px;display:flex}#boardEditor .be-tabbody[hidden]{display:none}#boardEditor .be-grid{flex-wrap:wrap;gap:6px;display:flex}#boardEditor .be-opt{text-align:center;background:var(--bg2);border-color:var(--border);flex-direction:column;align-items:center;gap:3px;width:72px;padding:6px 4px;font-size:11px;line-height:1.15;display:flex}#boardEditor .be-opt .sb-tile{width:48px;height:48px}#boardEditor .be-opt .line-tile{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round;stroke-linecap:round;width:100%;height:100%;color:var(--fg)}#boardEditor .be-opt:hover{border-color:var(--muted)}#boardEditor .be-opt.active{background:var(--accent);border-color:var(--accent)}#boardEditor .be-opt.active .line-tile{color:#fff}#boardEditor .be-color.active{outline:2px solid var(--brand)}#boardEditor .be-canvas{background:#fff;flex:1;padding:0;display:block;overflow:auto}#boardEditor .be-canvas svg{stroke:none;stroke-width:1px;margin:0 auto;display:block}#boardEditor .be-canvas text{stroke:none}#boardEditor .be-canvas text.be-bustxt{stroke:#7c2d12}#boardEditor .be-canvas text.be-tname{stroke:#0f172a8c}#boardEditor .be-side{border-left:1px solid #334155;flex-direction:column;flex-shrink:0;gap:6px;width:132px;padding:8px;font-size:11.5px;display:flex;overflow:auto}#boardEditor .be-side label{flex-direction:column;align-items:stretch;gap:2px;display:flex}#boardEditor .be-side select,#boardEditor .be-side input,#boardEditor .be-side button{width:100%;max-width:none}#boardEditor .be-side .be-row button{width:auto}#boardEditor .be-title{margin-top:4px;font-weight:600}#boardEditor .be-row{flex-wrap:wrap;gap:4px;display:flex}#boardEditor .muted{color:#94a3b8}.be-case{fill:#fafaf8;stroke:#cbd5e1;stroke-width:2px}.be-band{fill:#eef2f6;stroke:#cbd5e1}.be-bandtitle{fill:#334155;font:600 12px sans-serif}.be-muted{fill:#94a3b8;font:11px sans-serif}.be-routebox{fill:none;stroke-width:3px}.be-routebox.duct{stroke-dasharray:0}.be-routelbl{fill:#1e293b;font:600 11px sans-serif}.be-cablebox{fill:none;stroke:#64748b;stroke-dasharray:3 2}.be-cablelbl{fill:#475569;font:600 10px sans-serif}.be-corelbl{fill:#475569;font:9.5px sans-serif}.be-bar{stroke:#64748b;stroke-width:1px}.be-bar.pe{fill:#16a34a}.be-bar.n{fill:#2563eb}.be-bartxt{fill:#1e293b;font:700 13px sans-serif}.be-screw{fill:#e5e7eb;stroke:#64748b;stroke-width:1.2px;cursor:crosshair}.be-screw:hover,.be-term:hover{stroke:#f59e0b;stroke-width:2.5px}.be-screw.act{fill:#fbbf24;stroke:#b45309;stroke-width:2.5px}.be-rail{fill:#d4d8dd;stroke:#9aa1a9}.be-rail-edge{fill:#8f979f}.be-hit{fill:#0000;pointer-events:none}.be-tick{stroke:#cbd5e1}.be-part{cursor:pointer}.be-part.sel .be-body,.be-part.sel .be-tblock{stroke:#f59e0b;stroke-width:3px}.be-body{fill:#fbfbf9;stroke:#9ca3af;stroke-width:1.2px}.be-tzone{fill:#e7e9ec}.be-screwhead{fill:#cfd5dc;stroke:#6b7280;stroke-width:1px;pointer-events:none}.be-slotline{stroke:#6b7280;stroke-width:1.2px;pointer-events:none}.be-front{fill:#fff;stroke:#d6dadf}.be-lever{fill:#23272b}.be-lever-top{fill:#4b5259}.be-ind.on{fill:#dc2626}.be-ind.off{fill:#16a34a}.be-leverg,.be-testg{cursor:pointer}.be-leverslot{fill:#e5e7eb;stroke:#cbd5e1}.be-leverg:hover .be-lever{fill:#0f172a}.be-testg:hover .be-test{fill:#fde047}.be-test{fill:#facc15;stroke:#a16207}.be-sym{fill:none;stroke:#475569;stroke-width:1.5px}.be-tblock{stroke:#475569;stroke-width:1.2px}.be-tblock.l{fill:#9ca3af}.be-tblock.l.barna{fill:#8b5a2b}.be-tblock.l.fekete{fill:#1f2937}.be-tblock.l.szurke{fill:#9ca3af}.be-tblock.n{fill:#60a5fa}.be-tblock.pe{fill:#4ade80}.be-tstripe{fill:#facc15;pointer-events:none}.be-term{stroke:#1e293b;stroke-width:1.2px;cursor:crosshair}.be-term.l{fill:#a16207}.be-term.n{fill:#2563eb}.be-term.pe{fill:#22c55e}.be-term.act{stroke:#f59e0b;stroke-width:3px}.be-lbl{fill:#000;text-anchor:middle;pointer-events:none;font:700 8.5px sans-serif}.be-lbl.small{font-size:7.5px;font-weight:600}.be-lbl.tiny{font-size:6.5px}.be-out{fill:#475569;text-anchor:middle;pointer-events:none;font:9px sans-serif}.be-name{fill:#334155;text-anchor:middle;font:9px sans-serif}.be-small{fill:#92400e;pointer-events:none;font:10px sans-serif}.be-busbar{fill:#d08a3a;stroke:#92400e}.be-busbar.ph1{fill:#c27c30}.be-busbar.ph2{fill:#b46e26}.be-busg.sel .be-busbar{stroke:#f59e0b;stroke-width:2px}.be-tooth{stroke:#b45309;stroke-width:3px}.be-link{fill:none;stroke-width:3px}.be-link.stripe{stroke-width:1.4px;stroke-dasharray:5 5}.be-ghost{fill:#3b82f638;stroke:#3b82f6;stroke-dasharray:4 3;pointer-events:none}.be-ghost.bad{fill:#ef444438;stroke:#ef4444}.be-insert{stroke:#f59e0b;stroke-width:3px;pointer-events:none}.be-insert.bad{stroke:#ef4444}.be-stub{stroke-width:2px;fill-opacity:.35}.be-draft{fill:none;stroke-width:3px;stroke-dasharray:6 4;pointer-events:none}.be-bend{fill:#f59e0b;pointer-events:none}.be-guide{stroke:#f59e0b;stroke-width:1px;stroke-dasharray:4 4;pointer-events:none}.be-snap{fill:none;stroke:#f59e0b;stroke-width:2.5px;pointer-events:none}.be-linkhit{fill:none;stroke:#0000;stroke-width:12px;cursor:pointer}.be-linksel{fill:none;stroke:#f59e0b;stroke-width:8px;stroke-opacity:.55;pointer-events:none}.be-busdraft{fill:#d08a3a;fill-opacity:.6;stroke:#92400e;stroke-dasharray:4 3;pointer-events:none}.be-circ{fill:#000;text-anchor:middle;cursor:text;font:600 8px sans-serif}.be-circ:hover{fill:#b45309;text-decoration:underline}.be-overlay{pointer-events:none}.be-linkover{fill:none;stroke-width:2px;stroke-opacity:.45;stroke-dasharray:5 4}.be-linkover.sel{stroke-opacity:.85}.be-bustxt{fill:#fff7ed;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#7c2d12;stroke-width:1.4px;font:700 7.5px sans-serif}.be-tname{fill:#fff;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#0f172a8c;stroke-width:1.6px;font:700 10px sans-serif}#boardEditor .be-sub{color:var(--muted);margin-top:4px;font-size:11px}#boardEditor .be-swatch{width:60px}#boardEditor .be-swatch .sb-tile{width:36px;height:36px}.be-tblock.n.kek,.be-tblock.n{fill:#3b82f6}.be-vbar{fill:#cbd5e1;opacity:.85;pointer-events:none}#boardEditor .be-colorsq{border:1px solid var(--border);border-radius:6px;width:40px;height:40px;display:block}#boardEditor .be-swatch.active .be-colorsq{outline-offset:1px;outline:2px solid #fff}.be-vscrew{cursor:crosshair}.be-vscrew .be-screwhead{pointer-events:all}.be-vscrew:hover .be-screwhead{stroke:#f59e0b;stroke-width:2.5px}.be-vscrew.act .be-screwhead{fill:#fbbf24;stroke:#b45309;stroke-width:2.5px}@keyframes be-ring{0%,to{transform:rotate(0)}25%{transform:rotate(14deg)}75%{transform:rotate(-14deg)}}.be-ringing{animation:.18s linear infinite be-ring;stroke:#f59e0b!important;stroke-width:2.5px!important}.sb-tile:has(.lthumb){background:radial-gradient(circle at 50% 35%,#8e9db0 0%,#63758c 55%,#3d4b5e 100%)}.sb-tile .lthumb{object-fit:contain;width:100%;height:100%;display:block}#subpop .subrow.sub2{border-top:1px dashed var(--border);padding-top:6px}#subpop .subrow.sub2[hidden]{display:none}#subpop .subrow.sub button.hover{border-color:var(--muted)}.fpv-wrap{display:inline-flex;position:relative}.fpv-menu{z-index:40;flex-direction:column;gap:4px;padding:6px 0 0;display:none;position:absolute;top:100%;left:0}.fpv-wrap:hover .fpv-menu{display:flex}.fpv-menu button{white-space:nowrap;align-items:center;gap:6px;display:flex}#viewFpv svg,.fpv-menu svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}#askBg{z-index:100;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#askBg .ask{color:#f1f5f9;background:#1e293b;border:1px solid #334155;border-radius:12px;max-width:440px;padding:18px 20px 14px;font-size:14px;line-height:1.45;box-shadow:0 20px 50px #00000080}#askBg .ask-text{white-space:pre-line;margin-bottom:14px}#askBg .ask-choices{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}#askBg .ask-choices button{text-align:left}#askBg .ask-choices button:hover{color:#111827;background:#f59e0b;border-color:#f59e0b}#askBg .ask-btns{justify-content:flex-end;gap:8px;display:flex}#askBg button{color:#f1f5f9;cursor:pointer;font:inherit;background:#334155;border:1px solid #475569;border-radius:8px;padding:7px 16px}#askBg .ask-ok{color:#111827;background:#f59e0b;border-color:#f59e0b;font-weight:600}#askBg .ask-input{box-sizing:border-box;color:#f1f5f9;width:100%;font:inherit;background:#0f172a;border:1px solid #475569;border-radius:7px;margin:-4px 0 14px;padding:7px 9px}.group-stack{flex-direction:column;gap:4px;display:flex}.show-icons .icon-btn{border-radius:6px;flex:1;justify-content:center;align-items:center;height:30px;padding:5px 10px;display:flex}.show-icons .icon-btn.on{background:var(--brand);border-color:var(--brand);color:#1f2530}.show-icons svg{stroke-width:1.8px;stroke-linejoin:round;width:20px;height:20px}.show-icons .solid{fill:currentColor;stroke:none}#night .moon,#night.on .sun{display:none}#night.on .moon{fill:#fde68a;stroke:#fde68a;display:block}#night .sun{stroke:#fbbf24}#night .sun circle{fill:#fbbf24}#night.on{background:var(--bg2);border-color:var(--border)}#viewFpv svg.sign,.fpv-menu svg.sign{stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round}svg.sign circle,svg.sign .cape{fill:currentColor;stroke:none}svg.sign .wall{fill:currentColor;stroke:none;opacity:.4}.views{align-self:stretch;align-items:stretch}.views>button,.views #viewFpv{border-radius:6px;justify-content:center;align-items:center;min-width:52px;padding:4px 10px;display:flex}.views #view3d{font-size:18px;font-weight:800}.views .fpv-wrap{display:flex}.views>button svg,.views #viewFpv svg{width:30px;height:30px}.views #viewTop svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.group.right{align-self:flex-start;margin-left:0}.group.right .icon-btn{border-radius:6px;justify-content:center;align-items:center;gap:2px;min-width:38px;height:30px;padding:4px 8px;display:flex}.group.right svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.group.right .caret{font-size:10px}#tip{z-index:200;color:#f1f5f9;border:1px solid var(--border);pointer-events:none;background:#0f172af5;border-radius:6px;max-width:280px;padding:5px 9px;font-size:12px;line-height:1.35;position:fixed;box-shadow:0 4px 14px #00000059}#tip[hidden]{display:none}#props select.wide,#props .rm-circ select{width:100%;min-width:0;max-width:none;font-size:12px}.rm-circ{border-bottom:1px dashed var(--border);flex-direction:column;gap:3px;padding:5px 0;font-size:12px;display:flex}.rm-circ span i{color:var(--muted);font-style:normal}.rm-circ small{color:var(--muted);font-size:11px;display:block}.rm-circ select.own{border-color:var(--brand)}.views .fpv-menu button{width:var(--fpv-w,56px);height:var(--fpv-h,64px);border-radius:6px;justify-content:center;padding:4px 10px}.views .fpv-menu svg{width:30px;height:30px}.sel-rect{z-index:50;pointer-events:none;background:#3b82f61f;border:1px solid #3b82f6;position:fixed}#logicBar{z-index:5;gap:8px;display:flex;position:absolute;top:8px}#logicBar[hidden],#logicBar .lb-filter[hidden]{display:none}#logicBar .lb-group{border:1px solid var(--border);background:#1f2530f2;border-radius:8px;gap:4px;padding:4px;display:flex}#logicBar button{border-radius:6px;justify-content:center;align-items:center;width:38px;height:32px;padding:0;display:flex}#logicBar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;width:20px;height:20px}#logicBar .solid{fill:currentColor;stroke:none}#logicBar button.lamp{color:#facc15}#logicBar button.sock{color:#ef4444}#logicBar button.on{background:var(--brand);border-color:var(--brand);color:#1f2530}#logicBar button.lamp.on{background:#facc15;border-color:#facc15}#logicBar button.sock.on{color:#fff;background:#ef4444;border-color:#ef4444}#props h3.pname{align-items:center;gap:6px;display:flex}#props h3.pname .pname-text{cursor:text;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#props h3.pname .pname-text:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#props h3.pname .pen{width:22px;height:22px;color:var(--muted);background:0 0;border-radius:5px;flex:none;justify-content:center;align-items:center;margin-right:auto;padding:0;display:inline-flex}#props h3.pname .pen:hover{color:#fff;background:#ffffff14}#props h3.pname .pname-input{min-width:0;font:inherit;flex:1;margin-right:auto;font-weight:700}#props .ptype{color:var(--muted);margin:-2px 0 6px;font-size:12px}#report{z-index:1000;color:#111827;background:#f1f3f5;flex-direction:column;display:flex;position:fixed;inset:0}#report .rep-bar{color:#fff;background:#1f2530;align-items:center;gap:8px;padding:8px 14px;display:flex}#report .rep-bar .sp{flex:1}#report .rep-bar button{border-radius:6px;padding:5px 12px}#report .rep-body{flex:1;padding:18px;overflow:auto}#report .sheet{background:#fff;border-radius:6px;max-width:1100px;margin:0 auto 18px;padding:18px 22px;box-shadow:0 1px 4px #00000026}#report h2{margin:0 0 10px;font-size:17px}#report h2 small{color:#6b7280;font-size:13px;font-weight:400}#report .legend,#report .muted{color:#6b7280;font-size:12px}#report table.rep{border-collapse:collapse;width:100%;font-size:13px}#report table.rep th,#report table.rep td{text-align:left;border-bottom:1px solid #e5e7eb;padding:4px 8px}#report table.rep .num{text-align:right;white-space:nowrap}#report table.rep tr.grp th{background:#f3f4f6;padding-top:12px}#report .code{font-family:ui-monospace,Consolas,monospace}#report .nocode{color:#b91c1c;font-style:italic}#report svg.drawing{background:#fff;width:100%;height:auto;max-height:78vh}#report svg.drawing text{fill:#111827;font-family:Arial,sans-serif}#report svg .wall{fill:#c9ced6;stroke:#111827;stroke-width:.015px}#report svg .open{fill:#fff;stroke:#111827;stroke-width:.01px}#report svg .thin{fill:none;stroke:#111827;stroke-width:.01px}#report svg .dash{stroke-dasharray:.05 .04}#report svg .dim{stroke:#2563eb;stroke-width:.008px}#report svg .guide{stroke:#93c5fd;stroke-width:.005px;stroke-dasharray:.03 .03}#report svg text.dimt{fill:#1d4ed8}#report svg text.fname{font-weight:700}#report svg .face{fill:#fafafa;stroke:#111827;stroke-width:.012px}#report svg .floor{stroke:#111827;stroke-width:.025px}#report svg .win{fill:#dbeafe;stroke:#111827;stroke-width:.008px}#report svg .door{fill:#f3f4f6;stroke:#111827;stroke-width:.008px}#report svg .route{stroke:#dc2626;stroke-width:.02px;stroke-linecap:round}#report svg .route.duct{stroke:#6b7280;stroke-width:.04px}#report svg .route.cable{stroke:#16a34a}#report svg text.rname{fill:#b91c1c;font-weight:700}#report svg .dev{fill:#fff;stroke:#111827;stroke-width:.008px}#report svg .sym,#report svg .lamp{fill:none;stroke:#111827;stroke-width:.008px}#report svg .jbox{fill:#fef3c7;stroke:#b45309;stroke-width:.008px}#report svg text.ename{fill:#374151}@media print{@page{size:A4 landscape;margin:10mm}html,body{background:#fff!important;height:auto!important;display:block!important;overflow:visible!important}body>:not(#report){display:none!important}#report{background:#fff;height:auto;display:block;position:static;overflow:visible}#report .rep-bar{display:none}#report .rep-body{padding:0;overflow:visible}#report .sheet{max-width:none;box-shadow:none;page-break-after:always;break-after:page;border-radius:0;margin:0}#report svg.drawing{max-height:170mm}#report .sheet:last-child,#report .sheet.flow{page-break-after:auto;break-after:auto}#report .sheet.flow{padding:0 0 8mm}#report h2{break-after:avoid;page-break-after:avoid}#report table.rep thead{display:table-header-group}#report table.rep tr{break-inside:avoid;page-break-inside:avoid}#report table.rep tr.grp{break-after:avoid;page-break-after:avoid}#report table.rep th,#report table.rep td{color:#111827}}#report svg .frame{fill:#fff;stroke:#111827;stroke-width:.012px}#report svg .sash{fill:#fff;stroke:#111827;stroke-width:.008px}#report svg .glass{fill:#dbeafe;stroke:#1e3a8a;stroke-width:.005px}#report svg .leaf{fill:#fff;stroke:#111827;stroke-width:.01px}#report svg .leafel{fill:#f3f4f6;stroke:#111827;stroke-width:.008px}#report svg .leafline{stroke:#111827;stroke-width:.03px}#report svg .swing{fill:none;stroke:#374151;stroke-width:.007px}#report svg .swing.dash,#report svg .door.dash{stroke-dasharray:.04 .03}#report svg .door.dash{fill:none}#report svg .handle{fill:#111827;stroke:#111827;stroke-width:.012px}#report svg .arrow{fill:#111827}#report svg .leader{stroke:#6b7280;stroke-width:.005px}#report svg .leader-dot{fill:#6b7280}#report .sheet.draw{aspect-ratio:297/210;box-sizing:border-box;flex-direction:column;display:flex}#report .sheet.draw .dwg{flex:1;min-height:0}#report .sheet.draw svg.drawing{width:100%;height:100%;max-height:none;display:block}#report .sheet-foot{align-items:flex-end;gap:12px;margin-top:6px;display:flex}#report .sheet-foot .legend{flex:1;margin:0}#report .tblock{border:1.5px solid #111827;align-items:stretch;min-width:420px;font-size:10px;display:flex}#report .tblock img,#report .tblock .brand-name{object-fit:contain;border-right:1px solid #111827;max-width:160px;height:54px;padding:4px 8px}#report .brand-name{align-items:center;font-size:13px;font-weight:700;line-height:1.2;display:flex}#report .tb-cells{flex:1;grid-template-columns:1fr 1fr;display:grid}#report .tb-cells div{border-bottom:1px solid #d1d5db;border-left:1px solid #d1d5db;flex-direction:column;padding:2px 6px;display:flex}#report .tb-cells span{color:#6b7280;font-size:8px}#report .tb-cells b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media print{#report .sheet.draw{aspect-ratio:auto;break-inside:avoid;page-break-inside:avoid;height:188mm;padding:0;overflow:hidden}#report .sheet.draw h2{margin:0 0 2mm}}#report .rep-head{border-bottom:1.5px solid #111827;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}#report .rep-head img{object-fit:contain;max-width:220px;height:56px}#report .rep-head .brand-name{padding-right:8px;font-size:18px}#report .rep-note{color:#4b5563;margin-top:14px;font-size:11px}#report .rep-head div{flex-direction:column;font-size:12px;display:flex}#report .rep-head span{color:#6b7280}#report svg text.rname,#report svg text.ename,#report svg text.fname,#report svg text.dimt{paint-order:stroke;stroke:#fff;stroke-width:.018px;stroke-linejoin:round}#bugBtn{z-index:20;color:#f8fafc;cursor:pointer;background:#1f2937eb;border:2px solid #14161a;border-radius:12px;flex-direction:column;align-items:center;gap:3px;width:74px;padding:8px 4px 6px;font:700 11px Segoe UI,system-ui,sans-serif;transition:transform .1s,background .1s;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 4px 14px #00000040}#bugBtn:hover{background:#111827;transform:translateY(-1px)}#bugBtn svg{width:34px;height:34px}#bugBtn:hover svg{animation:.35s ease-in-out infinite alternate bug-wiggle}@keyframes bug-wiggle{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media print{#bugBtn{display:none}}
