:root{--palette-width: clamp(190px, 16vw, 240px);--side-width: clamp(230px, 19vw, 280px);--bench: #1b2216;--bench-2: #262f1d;--stripe: #e6c11e;--stripe-dark: #8a7010;--paper: #efe6d0;--paper-line: rgba(42, 72, 110, .11);--ink: #1b1a16;--copper: #e07020;--danger: #c4391d;--ok: #3dd16a;--metal: #8d9484;--nameplate: #efe6d0}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;max-width:100vw;overflow-x:hidden;background:var(--bench);color:var(--nameplate);font-family:Barlow Condensed,sans-serif;letter-spacing:.02em}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.app{height:100%;width:100%;max-width:100vw;overflow-x:hidden;display:grid;grid-template-rows:48px 1fr 34px;background:radial-gradient(1200px 500px at 70% -10%,rgba(230,193,30,.08),transparent 50%),linear-gradient(180deg,#232b1c 0%,var(--bench) 40%)}.topbar{position:relative;z-index:50;display:flex;align-items:center;height:48px;min-height:48px;width:100%;max-width:100vw;padding:0 14px;gap:12px;background:linear-gradient(#2c3524,#1f271a);border-bottom:3px solid var(--stripe);box-shadow:inset 0 1px #ffffff14,0 6px 18px #00000059;-webkit-user-select:none;user-select:none;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab}.topbar:active{cursor:grabbing}.topbar::-webkit-scrollbar{display:none}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;cursor:default}.topbar-center{margin:0 auto}.topbar-right{margin-left:auto}.topbar-scroll-indicator{position:absolute;top:0;bottom:0;z-index:60;display:flex;align-items:center;pointer-events:none;width:44px}.topbar-scroll-left{left:0;padding-left:6px;justify-content:flex-start;background:linear-gradient(to right,#242c1d 40%,rgba(36,44,29,.85) 70%,transparent 100%)}.topbar-scroll-right{right:0;padding-right:6px;justify-content:flex-end;background:linear-gradient(to left,#242c1d 40%,rgba(36,44,29,.85) 70%,transparent 100%)}.topbar-scroll-btn{pointer-events:all;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1e2619e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#f1f5f9;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #0006;transition:all .15s cubic-bezier(.4,0,.2,1);padding:0;margin:0}.topbar-scroll-btn:hover{background:#2563eb;border-color:#60a5fa;color:#fff;transform:scale(1.1);box-shadow:0 0 12px #2563eb99}.topbar-scroll-btn:active{transform:scale(.95)}.topbar-toolbar-left{display:flex;align-items:center;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}.topbar-toolbar-left::-webkit-scrollbar{display:none}.topbar-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;justify-content:flex-end}.topbar-divider{width:1px;height:22px;background:#ffffff1f;margin:0 4px;flex-shrink:0}.brand{display:flex;align-items:baseline;gap:10px}.brand h1{font-family:Teko,sans-serif;font-size:34px;font-weight:600;margin:0;letter-spacing:.12em;color:var(--stripe);line-height:1}.brand small{color:#c9c2a8;font-size:13px;white-space:nowrap}.top-actions,.mode-switch{display:flex;gap:8px;align-items:center}.action-label{font-weight:600;color:#c9c2a8;font-size:13px;letter-spacing:.02em}button,select,input{font-family:inherit}.doc-title-wrapper{display:flex;align-items:center}.diagram-name{background:#00000040;color:var(--nameplate);border:1px solid rgba(255,255,255,.14);padding:4px 10px;font-size:13px;font-weight:500;width:140px;border-radius:6px;height:32px;box-sizing:border-box;transition:all .2s ease;text-overflow:ellipsis}.diagram-name:hover{border-color:#ffffff47;background:#00000059}.diagram-name:focus{outline:none;border-color:var(--stripe);background:#00000073;box-shadow:0 0 0 2px #e6c11e33;width:170px}.segmented-group{display:inline-flex;align-items:center;background:#00000052;border:1px solid #3d4634;border-radius:6px;padding:2px;gap:2px;height:32px;box-sizing:border-box}.seg-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;color:#c9c2a8;padding:0 10px;height:26px;border-radius:4px;font-size:12.5px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .15s ease;text-transform:uppercase;white-space:nowrap}.seg-btn:hover:not(.active){background:#ffffff14;color:#fff}.seg-btn.active{background:var(--stripe);color:#1a2014;box-shadow:0 1px 3px #0000004d;font-weight:700}.seg-btn.btn-reset:hover{background:#ef444433;color:#fca5a5}.seg-icon{font-size:13px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;box-sizing:border-box;border:1px solid #4a533e;background:linear-gradient(#3a4330,#2a3224);color:var(--nameplate);padding:0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;border-radius:6px;cursor:pointer;text-transform:uppercase;white-space:nowrap;transition:all .15s ease}.btn:hover{filter:brightness(1.12)}.btn.active{border-color:var(--stripe);color:var(--stripe);background:#e6c11e1f}.btn.danger{border-color:var(--danger);color:#ffb4a6}.btn.ok{border-color:var(--ok);color:var(--ok)}.btn-new-doc{background:#ffffff0f;border-color:#ffffff26}.btn-plus-icon{font-size:15px;font-weight:700;line-height:1}.probe-tools-group{display:inline-flex;align-items:center;gap:4px}.btn-probe{font-size:12px;padding:0 8px;height:32px}.example-selector-wrapper,.lang-select-wrapper{display:inline-flex;align-items:center;gap:4px;background:#00000047;border:1px solid #3d4634;border-radius:6px;padding:0 8px;height:32px;box-sizing:border-box}.example-icon,.lang-icon{font-size:13px;line-height:1}.example-select,.lang-select{border:none;background:transparent;color:var(--nameplate);font-size:13px;font-weight:500;cursor:pointer;outline:none;padding:0}.example-select{max-width:170px}.history-btn-group{display:inline-flex;align-items:center;background:#00000047;border:1px solid #3d4634;border-radius:6px;padding:2px;gap:2px;height:32px;box-sizing:border-box}.history-btn-group .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:none;background:transparent;color:var(--nameplate);font-size:15px;cursor:pointer;transition:all .15s ease}.history-btn-group .btn-icon:hover{background:#ffffff1a;color:var(--stripe)}.btn-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid #3d4634;background:#00000047;color:var(--nameplate);font-size:15px;cursor:pointer;transition:all .15s ease;box-sizing:border-box}.btn-theme-toggle:hover{background:#ffffff1a;border-color:var(--stripe)}.zoom-controls{display:inline-flex;align-items:center;gap:3px;background:#00000047;border:1px solid #3d4634;border-radius:6px;padding:2px 6px;height:32px;box-sizing:border-box}.zoom-controls .btn-icon{padding:4px 6px;font-size:14px;line-height:1;border:none;background:transparent;color:var(--nameplate);cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center}.zoom-controls .btn-icon:hover:not(:disabled){background:#e6c11e26;color:var(--stripe)}.zoom-controls .btn-icon:disabled{opacity:.35;cursor:not-allowed}.zoom-slider{-webkit-appearance:none;appearance:none;width:clamp(55px,6vw,90px);height:6px;background:#192014;border:1px solid #3e4835;border-radius:3px;outline:none;cursor:pointer;margin:0 2px}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--stripe);border:1px solid #8d7712;cursor:pointer;box-shadow:0 1px 3px #0006;transition:transform .1s ease,background .1s ease}.zoom-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--stripe);border:1px solid #8d7712;cursor:pointer;box-shadow:0 1px 3px #0006}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.15);background:#f5d433}.zoom-slider::-moz-range-thumb:hover{transform:scale(1.15);background:#f5d433}.zoom-slider:focus-visible{border-color:var(--stripe)}.zoom-val{color:var(--nameplate);font-size:12px;font-weight:600;min-width:36px;text-align:right;padding:2px 3px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px}.zoom-val:hover{color:var(--stripe);background:#e6c11e1a}.workspace{display:grid;grid-template-columns:var(--palette-width, 220px) minmax(0,1fr) var(--side-width, 260px);grid-template-areas:"palette schematic side";min-height:0;min-width:0;width:100%;max-width:100vw;position:relative;overflow:hidden}.workspace.palette-collapsed{--palette-width: 0px !important}.workspace.side-collapsed{--side-width: 0px !important}.palette{grid-area:palette}.side{grid-area:side}.palette,.side{background:linear-gradient(180deg,#222a1b,#1a2015);border-right:1px solid #10150d;overflow-y:auto;overflow-x:hidden;padding:10px}.side{border-right:none;border-left:1px solid #10150d;display:flex;flex-direction:column;gap:12px;min-height:0}.palette-header,.side-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid #3d4634}.palette-title,.side-title{font-family:Teko,sans-serif;font-size:18px;font-weight:600;letter-spacing:.1em;color:var(--stripe);text-transform:uppercase}.panel-close-btn{background:transparent;border:1px solid transparent;color:#9aa18d;cursor:pointer;font-size:13px;line-height:1;padding:2px 6px;border-radius:3px}.panel-close-btn:hover{background:#2a3223;border-color:#4a533e;color:var(--nameplate)}.panel-toggle{position:absolute;top:14px;z-index:35;background:linear-gradient(180deg,#353f2c,#242c1e);border:1px solid #4a533e;color:var(--nameplate);width:20px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:11px;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;box-shadow:0 2px 8px #00000073;-webkit-user-select:none;user-select:none}.panel-toggle:hover{background:linear-gradient(180deg,#445139,#303b27);border-color:var(--stripe);color:var(--stripe);box-shadow:0 0 10px #e6c11e4d}.panel-toggle.left{left:var(--palette-width, 250px);border-left:none;border-top-right-radius:5px;border-bottom-right-radius:5px}.panel-toggle.right{right:var(--side-width, 300px);border-right:none;border-top-left-radius:5px;border-bottom-left-radius:5px}.panel-resizer{position:absolute;top:0;bottom:0;width:8px;z-index:34;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center;background:transparent;transition:background .15s}.panel-resizer.left{left:calc(var(--palette-width, 220px) - 4px)}.panel-resizer.right{right:calc(var(--side-width, 260px) - 4px)}.panel-resizer:hover,.panel-resizer.dragging{background:#e6c11e26}.panel-resizer:after{content:"";width:2px;height:100%;background:#2a3223;transition:background .15s,box-shadow .15s}.panel-resizer:hover:after,.panel-resizer.dragging:after{background:var(--stripe, #e6c11e);box-shadow:0 0 6px #e6c11e99}body.panel-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.panel-resizing *{-webkit-user-select:none!important;user-select:none!important;cursor:col-resize!important}.group h3,.panel h3{margin:12px 0 6px;font-size:13px;letter-spacing:.16em;color:var(--stripe);text-transform:uppercase}.palette-search-wrap{margin:6px 0 8px}.palette-search-box{display:flex;align-items:center;background:#181e13;border:1px solid #3d4634;border-radius:4px;padding:3px 8px;gap:6px;transition:border-color .15s,box-shadow .15s}.palette-search-box:focus-within{border-color:var(--stripe, #e6c11e);box-shadow:0 0 4px #e6c11e40}.palette-search-icon{font-size:11px;opacity:.7;-webkit-user-select:none;user-select:none}.palette-search-input{flex:1;background:transparent;border:none;color:#ece6d2;font-family:inherit;font-size:11.5px;outline:none;min-width:0}.palette-search-input::placeholder{color:#76806a}.palette-search-clear{background:transparent;border:none;color:#9aa18d;cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.palette-search-clear:hover{color:var(--stripe, #e6c11e)}.palette-category-pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #2d3625}.category-pill{background:#1e2518;border:1px solid #36402d;color:#a8b09b;border-radius:3px;padding:2px 6px;font-size:10.5px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;user-select:none}.category-pill:hover{background:#2b3523;border-color:#4f5d43;color:#e4dec8}.category-pill.active{background:#39462e;border-color:var(--stripe, #e6c11e);color:var(--stripe, #e6c11e);font-weight:600}.palette-toolbar-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:11px}.palette-toggle-all-btn{background:transparent;border:none;color:#8c967d;font-size:10.5px;cursor:pointer;padding:2px 4px;text-transform:uppercase;letter-spacing:.05em;transition:color .12s}.palette-toggle-all-btn:hover{color:var(--stripe, #e6c11e)}.palette-search-count{color:#e6c11e;font-family:Red Hat Mono,monospace;font-size:10.5px}.palette-content-tree{display:flex;flex-direction:column;gap:6px}.palette-group-card{background:#1e261880;border:1px solid #2d3724;border-radius:4px;overflow:hidden;transition:border-color .15s}.palette-group-card:hover{border-color:#3f4d33}.palette-group-header{width:100%;text-align:left;background:#242e1d;border:none;border-bottom:1px solid transparent;color:var(--stripe, #e6c11e);padding:6px 8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:Teko,sans-serif;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background .12s;-webkit-user-select:none;user-select:none}.palette-group-card:not(.collapsed) .palette-group-header{border-bottom-color:#2d3724}.palette-group-header:hover{background:#2d3a24}.palette-group-chevron{font-size:11px;width:12px;color:#8c967d;flex-shrink:0}.palette-group-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-count-badge{background:#181f13;border:1px solid #37422c;color:#9aa18d;font-family:Red Hat Mono,monospace;font-size:10px;padding:1px 5px;border-radius:10px;flex-shrink:0}.palette-group-body{padding:4px 6px 6px;display:flex;flex-direction:column;gap:4px}.palette-subgroup-card{background:#161c1273;border:1px solid #283220;border-radius:3px;overflow:hidden;margin-top:2px}.palette-subgroup-card.single-subgroup{background:transparent;border:none;margin-top:0}.palette-subgroup-header{width:100%;text-align:left;background:#1d2518;border:none;border-bottom:1px solid transparent;color:#d1cbb8;padding:4px 7px;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.palette-subgroup-card:not(.collapsed) .palette-subgroup-header{border-bottom-color:#283220}.palette-subgroup-header:hover{background:#273220;color:#f1ebd7}.palette-subgroup-chevron{font-size:9.5px;width:10px;color:#7b856e;flex-shrink:0}.palette-subgroup-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-subgroup-count{font-family:Red Hat Mono,monospace;font-size:9.5px;color:#7b856e;flex-shrink:0}.palette-items-grid{padding:3px 0 1px}.palette-subgroup-card:not(.single-subgroup) .palette-items-grid{padding:4px 4px 2px}.palette-empty-state{text-align:center;padding:24px 12px;color:#8c967d;font-size:12px;background:#181e1480;border:1px dashed #3a4530;border-radius:4px}.palette-clear-btn{margin-top:8px;background:#2b3523;border:1px solid #48563c;color:var(--stripe, #e6c11e);padding:3px 10px;border-radius:3px;font-size:11px;cursor:pointer}.palette-clear-btn:hover{background:#37442d}.palette-footer-hint{margin-top:10px}.cat-item{width:100%;text-align:left;background:#2a3223;border:1px solid #3d4634;color:#ece6d2;padding:5px 8px;margin:0 0 3px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap;border-radius:2px;transition:background .1s,border-color .1s}.cat-item:hover{background:#353f2c;border-color:#4f5c43}.cat-item-main{display:flex;align-items:center;gap:6px;overflow:hidden;min-width:0}.cat-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.cat-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-item small,.cat-item-sub{color:#9aa18d;font-family:Red Hat Mono,monospace;font-size:10px;white-space:nowrap;flex-shrink:0}.cat-item.selected{outline:1px solid var(--stripe);background:#3c4832}.paper-wrap{grid-area:schematic;overflow:auto;background:#3a3428;position:relative;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;contain:content}.schematic-container{display:inline-block;position:relative;padding:18px;width:max-content}.schematic-container.with-rulers{padding:0;display:grid;grid-template-columns:20px auto;grid-template-rows:20px auto;width:max-content}.ruler-corner{grid-column:1;grid-row:1;position:sticky;top:0;left:0;z-index:15;background:#25221b;border-right:1px solid #453e30;border-bottom:1px solid #453e30;display:flex;align-items:center;justify-content:center;font-size:11px;color:#8c8370;-webkit-user-select:none;user-select:none}.ruler-top-wrap{grid-column:2;grid-row:1;position:sticky;top:0;z-index:10;height:20px;background:#25221b;border-bottom:1px solid #453e30;overflow:hidden;-webkit-user-select:none;user-select:none}.ruler-left-wrap{grid-column:1;grid-row:2;position:sticky;left:0;z-index:10;width:20px;background:#25221b;border-right:1px solid #453e30;overflow:hidden;-webkit-user-select:none;user-select:none}.schematic-container.with-rulers .paper{grid-column:2;grid-row:2;margin:0}.paper{background-color:var(--paper);background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:22px 22px;box-shadow:0 10px 30px #00000059;margin:18px;cursor:crosshair;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.paper.panning{transform:translateZ(0);will-change:transform}.paper.placing,.paper.placing .sym-g,.paper.placing .sym-hit,.paper.placing .port,.paper.placing .wire{cursor:copy}.paper.wiring,.paper.wiring .sym-g,.paper.wiring .sym-hit,.paper.wiring .wire{cursor:crosshair}.paper-hit,.place-overlay{pointer-events:all}.place-ghost{opacity:.45}.place-overlay{cursor:copy}.sym-g,.sym-hit{cursor:grab}.sym-g *{cursor:inherit}.sym-g:active,.sym-g:active .sym-hit{cursor:grabbing}.paper.run .sym-g,.paper.run .sym-hit{cursor:pointer}.marquee{fill:#e6c11e1f;stroke:#e6c11e;stroke-width:1.2;stroke-dasharray:5 3;pointer-events:none}.device-rel-layer,.device-rel-name-layer{pointer-events:none}.device-rel-line{fill:none;stroke:#d9770673;stroke-width:1.6;stroke-linecap:round}.device-rel-arrow{fill:#d9770680}.device-rel-line.name{stroke:#dc2626b3;stroke-dasharray:6 4}.device-rel-arrow.name{fill:#dc2626bf}@media print{.device-rel-layer{display:none!important}}.group-box{fill:none;stroke-width:1.4;stroke-dasharray:7 4;pointer-events:none}.group-label{pointer-events:none}.group-label text{font-family:Red Hat Text,Noto Sans,system-ui,sans-serif}.group-print-hidden,.sym-tag-group.tag-hidden{opacity:.4}.pb-plunger{transition:transform 90ms cubic-bezier(.2,.85,.25,1);transform-box:fill-box;transform-origin:center}.wire{cursor:pointer}.wire-hit{pointer-events:stroke}.port{cursor:pointer}.sym-tag-group:hover .sym-tag-bg{stroke:#8a7c5c;stroke-width:1.2px}.sym-tag-group:active .sym-tag-bg{stroke:#d97706}.sym-tag-bg{fill:#efe6d0;transition:fill .15s ease,stroke .15s ease,filter .15s ease}.sym-tag-bg.selected{fill:#ffe066;stroke:#d97706;stroke-width:1.2px;filter:drop-shadow(0 0 3px rgba(217,119,6,.45))}.sym-tag{font-family:Red Hat Mono,monospace;font-size:11px;fill:#1b1a16;font-weight:600;transition:fill .15s ease,font-weight .15s ease}.sym-tag.selected{fill:#000;font-weight:700}.sym-tag-delay-group{pointer-events:none}.sym-tag-delay-bg{transition:fill .15s ease,stroke .15s ease}.sym-tag-delay-bg.timing{fill:#fef3c7;stroke:#f59e0b;filter:drop-shadow(0 0 2px rgba(245,158,11,.3))}.sym-tag-delay-bg.done{fill:#dcfce7;stroke:#16a34a;filter:drop-shadow(0 0 2px rgba(22,163,74,.3))}.sym-tag-delay-text{font-family:Red Hat Mono,ui-monospace,monospace;font-size:9px;font-weight:600;transition:fill .15s ease}.sym-tag-delay-text.timing{fill:#b45309}.sym-tag-delay-text.done{fill:#15803d}.term-lab{font-family:Red Hat Mono,monospace;font-size:9px;fill:#5a5648}.drum-pos{font-family:Red Hat Mono,ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:0;fill:#1b1a16;pointer-events:none;-webkit-user-select:none;user-select:none}.sym-g.hide-terminals .term-lab{display:none}.fuse-body-lab{font-family:Red Hat Mono,monospace;font-size:9px;fill:#5a5648}.wire{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.wire.live{stroke-width:3.2;filter:drop-shadow(0 0 3px currentColor)}.wire-selection{opacity:.6}.wire-label text,.wire-label-group text{font-family:Red Hat Mono,monospace;font-size:11px;font-weight:400;fill:#1b1a16;font-style:italic;pointer-events:none}.sym-tag{font-family:Red Hat Mono,monospace;font-size:12px;font-weight:500;fill:#333;text-shadow:0 0 4px var(--paper),0 0 8px var(--paper)}.glyph-net-name{font-family:Red Hat Mono,monospace;font-size:12px;font-weight:600;pointer-events:none}.wire-label-bg{fill:var(--paper)}.electron{fill:#ffd08a;stroke:#e07020;stroke-width:.6}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--paper);padding:24px;border-radius:8px;max-width:400px;width:90%;box-shadow:0 4px 20px #0000004d}.modal-content h3{margin-top:0;color:var(--ink);font-size:18px}.modal-content p{color:var(--ink);line-height:1.5;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.port{fill:#efe6d0;stroke:#1b1a16;stroke-width:1.2;cursor:pointer}.port.hot{fill:var(--stripe)}.port.port-subtle{fill:#263320;stroke:#4d6342;stroke-width:1}.submode-switch{border-color:#3f4e35;background:#0006}.submode-switch .seg-btn{font-size:12px;padding:0 8px}.submode-switch .seg-btn.active{background:#39522b;color:#eafbe0;border-color:#638c4f;box-shadow:0 1px 3px #0006;font-weight:700}.submode-mobile-btn{font-size:11.5px!important;padding:4px 7px!important;background:#24301db3!important;border-color:#485c3b!important}.submode-mobile-btn.active{background:#3b562c!important;color:#e5f7dc!important;border-color:#699453!important;font-weight:700}.btn-auto-layout{font-size:12px;padding:0 10px;height:28px;background:#23412d8c;border:1px solid #3d7855;color:#bbf7d0;border-radius:4px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:all .15s ease;font-weight:600}.btn-auto-layout:hover{background:#2a6d46;border-color:#4ade80;color:#fff;box-shadow:0 0 8px #4ade8040}.btn-auto-layout:active{transform:translateY(1px)}.statusbar{display:flex;align-items:center;gap:16px;padding:0 14px;background:#12160f;color:#c9c2a8;font-size:13px;letter-spacing:.08em;border-top:1px solid #000;width:100%;max-width:100vw;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.statusbar::-webkit-scrollbar{display:none}.statusbar .zoom-controls{margin-left:auto;height:24px;padding:1px 4px;background:#00000073;border:1px solid #2f3825;border-radius:4px;gap:2px}.statusbar-probe-tools{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:8px;height:24px}.statusbar-probe-tools+.zoom-controls{margin-left:0}.btn-statusbar-probe{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;background:#00000073;border:1px solid #2f3825;color:#c9c2a8;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-statusbar-probe:hover{background:#ffffff1a;border-color:#4a5a3a;color:#fff}.btn-statusbar-probe.active{background:#eab308;border-color:#ca8a04;color:#1e293b;font-weight:700;box-shadow:0 0 8px #eab30866}.btn-statusbar-probe .probe-icon{font-size:12px}.statusbar .zoom-controls .btn-icon{padding:2px 4px;font-size:12px;height:20px;width:20px}.statusbar .zoom-slider{width:clamp(45px,5vw,75px);height:4px}.statusbar .zoom-slider::-webkit-slider-thumb{width:10px;height:10px}.statusbar .zoom-slider::-moz-range-thumb{width:10px;height:10px}.statusbar .zoom-val{font-size:11px;min-width:32px;padding:1px 2px}.statusbar-copyright{margin-left:0;opacity:.8;white-space:nowrap;font-size:11px;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.fault{color:#ff8a76}.bench{background:linear-gradient(180deg,#2f271c,#221d16);border:1px solid #4a3e2c;padding:10px;border-radius:6px;box-shadow:inset 0 1px 3px #0006,0 2px 6px #00000040;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.bench-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.bench-title-wrap{display:flex;align-items:center;gap:8px}.bench h3{margin:0;font-size:13px;letter-spacing:.14em;color:var(--stripe);text-transform:uppercase}.bench-count-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;background:#e6c11e2e;color:var(--stripe);border:1px solid rgba(230,193,30,.35)}.bench-empty-hint{margin:8px 0;font-size:12px;color:#94a3b8;text-align:center}.bench-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;align-items:stretch;max-height:280px;overflow-y:auto;overflow-x:hidden;padding:3px;border-radius:4px}.bench-footer-hint{margin:4px 0 0;font-size:11px}.pilot{width:24px;height:24px;border-radius:50%;border:2px solid #1b1a16;box-shadow:inset 0 2px 4px #ffffff40,0 2px #000;flex-shrink:0}.bakelite{width:36px;height:36px;border-radius:50%;border:3px solid #1a120e;cursor:pointer;flex-shrink:0;box-shadow:inset 0 3px 3px #ffffff47,0 4px #140e0a,0 6px 8px #0006}.bakelite:active{transform:translateY(2px);box-shadow:inset 0 2px 3px #0006,0 2px #140e0a}.bakelite.green{background:radial-gradient(circle at 30% 25%,#8dff9e,#1e8a3a 55%,#0d4d20)}.bakelite.red{background:radial-gradient(circle at 30% 25%,#ff8a7a,#b42316 55%,#5c100a)}.bakelite.yellow{background:radial-gradient(circle at 30% 25%,#ffe58a,#c9a018)}.bakelite.estop{width:44px;height:44px;background:radial-gradient(circle at 30% 25%,#ff6d59,#9e160c 58%,#4a0b07)}.machine{width:52px;height:52px;border-radius:50%;border:3px solid #1b1a16;background:conic-gradient(from 40deg,#6d7466,#c5c1ae,#4e5548,#c5c1ae);position:relative;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px #00000040}.machine .hub{width:14px;height:14px;border-radius:50%;background:#1b1a16}.machine.spin .hub{animation:spin .55s linear infinite;box-shadow:0 0 0 8px #e6c11e26}@keyframes spin{to{transform:rotate(360deg)}}.contact-broken{stroke:#e6c11e;transform-box:fill-box;transform-origin:center;animation:flash .8s ease-in-out infinite}@keyframes flash{0%,to{stroke:#e6c11e;filter:drop-shadow(0 0 3px #e6c11e);transform:scale(.5)}50%{stroke:#c4391d;filter:drop-shadow(0 0 5px #c4391d);transform:scale(1.5)}}.wire.short-circuit{stroke:#ff2a00!important;stroke-width:3.5px!important;animation:short-wire-strobe .22s ease-in-out infinite alternate!important}@keyframes short-wire-strobe{0%{stroke:#f10;filter:drop-shadow(0 0 4px #ff1100);stroke-width:2.8px}to{stroke:#ffe600;filter:drop-shadow(0 0 10px #ff3300);stroke-width:4.5px}}.sym-short-flash{fill:#ff1e0033;stroke:#f10;stroke-width:2.5px;stroke-dasharray:6 3;animation:sym-short-strobe .25s ease-in-out infinite alternate}@keyframes sym-short-strobe{0%{stroke:#f10;fill:#ff1e0026;filter:drop-shadow(0 0 4px #ff1100)}to{stroke:#ffe600;fill:#ffe60059;filter:drop-shadow(0 0 12px #ff2a00)}}.widget{background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:68px;box-sizing:border-box;text-align:center;font-size:11px;font-weight:500;letter-spacing:.04em;color:#d7d0b8;transition:all .15s ease}.widget:hover{border-color:#e6c11e66;box-shadow:0 2px 8px #0000004d}.widget-label{font-size:10px;font-weight:600;text-align:center;word-break:break-word;max-width:100%;line-height:1.2}.widget-sublabel{font-size:9px;color:#94a3b8;font-weight:500}.widget-dir-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px}.widget-dir-badge.fwd{background:#4ade8033;color:#4ade80}.widget-dir-badge.rev{background:#ef444433;color:#f87171}.widget-stardelta-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#e6c11e33;color:#e6c11e}.widget-alarm-badge{font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ef444440;color:#ff8a76;animation:alarm-pulse 1s infinite alternate}@keyframes alarm-pulse{0%{opacity:.6}to{opacity:1}}.btn-toggle-switch{padding:3px 8px;font-size:11px;font-weight:700;border-radius:4px;min-width:44px}.btn-toggle-switch.on{background:#166534;border-color:#22c55e;color:#fff}.btn-toggle-switch.off{background:#334155;border-color:#475569;color:#94a3b8}.btn-selector,.btn-momentary{padding:3px 6px;font-size:11px;font-weight:700;border-radius:4px}.widget.meter-widget{grid-column:1 / -1;flex-direction:row;justify-content:flex-start;padding:5px 8px;gap:8px;min-height:auto}.meter-reading{font-size:11px;font-family:monospace;font-weight:600}.process{background:#161b12;padding:8px 10px;border-radius:6px;border:1px solid #28331e;flex-shrink:0}.process label{display:grid;grid-template-columns:64px 1fr 40px;gap:8px;align-items:center;font-size:13px;margin:4px 0}input[type=range]{width:100%;accent-color:var(--stripe)}.inspector{background:#161b12;padding:8px 10px;font-size:14px;border-radius:6px;border:1px solid #28331e;flex-shrink:0}.inspector label{display:flex;justify-content:space-between;gap:8px;margin:6px 0}.inspector-field-group{display:flex;flex-direction:column;gap:4px;margin:8px 0}.inspector-field-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#a4b397}[data-theme=light] .inspector-field-title{color:#475569}.inspector-preset-row{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 5px}.inspector-preset-row .btn{padding:3px 7px;font-size:11px;flex-shrink:0}.inspector-slider-row{display:flex;align-items:center;gap:8px;width:100%}.inspector-slider-row input[type=range]{flex:1;min-width:0}.inspector-slider-row input[type=number]{width:58px;flex-shrink:0;text-align:right;padding:3px 6px;font-size:12px}.inspector-process-card{margin:10px 0;padding:8px;background:#00000040;border-radius:6px;border:1px solid #28331e;display:flex;flex-direction:column;gap:6px}[data-theme=light] .inspector-process-card{background:#00000008;border:1px solid #e2e8f0}.inspector-card-actions{display:flex;gap:6px;margin-top:4px}.inspector-card-actions .btn{flex:1;min-width:0;font-size:11px;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.inspector input,.inspector select{background:#0f130c;border:1px solid #3d4634;color:var(--nameplate);padding:3px 6px;width:120px}.title-block-editor{margin:6px 0 10px;display:flex;flex-direction:column;gap:2px}.title-block-editor label{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:5px 0;font-size:11px;font-weight:600;color:#a4b397}.title-block-editor input{width:100%;box-sizing:border-box}.title-block-editor .row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.title-block-scale-btns{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.title-block-scale-btns .btn{padding:3px 6px;font-size:11px;min-width:32px}.group-color-section{margin:6px 0 10px;display:flex;flex-direction:column;gap:6px}.sheet-options{margin:4px 0 12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.35)}.sheet-options h4{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.tools-section{margin:4px 0 12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.35)}.tools-section .tools-title{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.color-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.color-swatch-btn{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.color-swatch-btn:hover{transform:scale(1.15);border-color:#fff}.color-swatch-btn.active{outline:2px solid var(--stripe);outline-offset:1px;border-color:#fff}.hint{font-size:12px;color:#9aa18d;line-height:1.35}.chk{display:flex;gap:8px;align-items:center;font-size:13px}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-pop{position:absolute;left:0;top:calc(100% + 8px);width:280px;background:#1c2416;border:1px solid var(--stripe);padding:10px;z-index:1000;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 28px #0000008c}.menu-name{display:flex;flex-direction:column;gap:4px;font-size:13px}.menu-name input{background:#0f130c;border:1px solid #3d4634;color:var(--nameplate);padding:4px 6px}.menu-label{margin-top:6px;color:var(--stripe);font-size:12px;letter-spacing:.14em}.save-row{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:start}.btn-options-menu{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;background:#00000047;border:1px solid #3d4634;color:var(--nameplate);cursor:pointer;transition:all .2s ease}.btn-options-menu:hover{background:#00000073;border-color:#ffffff40;color:#fff}.btn-options-menu .options-icon{font-size:19px;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none}.options-menu-pop{right:0;left:auto;width:220px;padding:8px;gap:8px;border-radius:8px}.options-item-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.options-item-btn.tutorial-btn{background:#e6c11e1f;border:1px solid rgba(230,193,30,.35);color:#e6c11e}.options-item-btn.tutorial-btn:hover{background:#e6c11e38;border-color:#e6c11e;box-shadow:0 0 10px #e6c11e40}.menu-divider{height:1px;background:#ffffff14;margin:1px 0}.options-row{display:flex;flex-direction:column;gap:6px;padding:2px}.options-row-header{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--stripe);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.options-item-icon{font-size:14px;line-height:1}.options-item-label{flex:1}.options-segmented-group{display:flex;background:#00000052;border:1px solid #3d4634;border-radius:6px;padding:2px;gap:2px}.options-seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 6px;border:none;border-radius:4px;font-size:12px;font-weight:600;color:#a1b099;background:transparent;cursor:pointer;transition:all .15s ease}.options-seg-btn:hover{color:#fff;background:#ffffff0f}.options-seg-btn.active{background:var(--stripe);color:#1b1a16;font-weight:700;box-shadow:0 1px 4px #00000040}.toast{position:fixed;top:64px;left:50%;transform:translate(-50%);background:#e6c11e;color:#1b1a16;padding:8px 16px;z-index:50;font-size:15px;letter-spacing:.08em;box-shadow:0 8px 20px #00000059}.weld-tag{font-family:Red Hat Mono,monospace;font-size:11px;fill:#c4391d;font-weight:700}.ctx-scrim{position:fixed;inset:0;z-index:60}.ctx-menu{position:fixed;min-width:200px;background:#1c2416;border:1px solid var(--stripe);box-shadow:0 12px 28px #00000080;padding:6px 0;display:flex;flex-direction:column}.ctx-menu button{background:none;border:none;color:var(--nameplate);text-align:left;padding:7px 14px;font-family:inherit;font-size:14px;letter-spacing:.06em;cursor:pointer;display:flex;justify-content:space-between;gap:16px}.ctx-menu button:hover:not(:disabled){background:#2a3323;color:var(--stripe)}.ctx-menu button:disabled{opacity:.4;cursor:default}.ctx-menu button.danger{color:#ffb4a6}.ctx-menu kbd{font-family:Red Hat Mono,monospace;font-size:10px;color:#9aa18d}.ctx-sep{height:1px;background:#3d4634;margin:4px 0}.ctx-label{padding:6px 14px 2px;font-size:11px;letter-spacing:.14em;color:var(--stripe);text-transform:uppercase}.align-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin:8px 0 4px}.distribute-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 8px}@media(max-width:1400px){:root{--palette-width: clamp(180px, 15vw, 220px);--side-width: clamp(220px, 18vw, 260px)}.app{grid-template-rows:48px 1fr 30px}.topbar{padding:0 10px;gap:6px}.topbar-left,.topbar-center,.topbar-right{gap:6px}.brand h1{font-size:26px}.brand small{font-size:12px}.action-label{display:none}.diagram-name{width:120px;font-size:12px;height:30px}.segmented-group{height:30px}.seg-btn{height:24px;padding:0 8px;font-size:12px}.btn{height:30px;padding:0 8px;font-size:12px}.btn-theme-toggle{width:30px;height:30px;padding:0;justify-content:center}.btn-theme-toggle span:not(.theme-icon){display:none}.history-btn-group{height:30px}.history-btn-group .btn-icon{width:24px;height:24px;font-size:14px}.zoom-controls{height:30px;padding:2px 4px}.zoom-slider{width:60px}.example-selector-wrapper,.lang-select-wrapper{height:30px}.example-select{max-width:140px;font-size:12px}.lang-select{font-size:12px}.statusbar{height:30px;font-size:12px}}@media(max-width:1250px)and (min-width:769px){.btn-tutorial-highlight{padding:4px 10px;font-size:12px}}@media(max-width:1150px)and (min-width:769px){.brand small{display:none}.diagram-name{width:100px}.example-select{max-width:120px}.zoom-slider{width:40px}.topbar-divider{margin:0 2px}}@media(max-width:1024px)and (min-width:769px){:root{--palette-width: 180px;--side-width: 220px}.brand small{display:none}.topbar{padding:0 8px;gap:4px}.topbar-left,.topbar-center,.topbar-right{gap:4px}.diagram-name{width:90px;font-size:11.5px}.btn{padding:0 6px;font-size:11.5px}.example-select{max-width:110px;font-size:11.5px}.bench-grid{max-height:220px}.zoom-controls .btn-icon{padding:2px 4px;font-size:12px}.zoom-slider{width:35px}.zoom-val{font-size:10px;min-width:24px}}@media(max-width:768px),(max-height:550px)and (max-width:1024px),(hover:none)and (pointer:coarse)and (max-width:1024px){.app{grid-template-rows:48px 1fr 28px}.topbar{display:flex;align-items:center;height:48px;padding:0 10px;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}.brand{gap:6px;flex-shrink:0}.brand h1{font-size:22px}.brand small{display:none}.topbar-left,.topbar-center,.topbar-right{gap:6px;flex-shrink:0}.workspace{grid-template-columns:1fr;grid-template-areas:"schematic"}.palette,.side{position:fixed;top:46px;bottom:28px;z-index:30;overflow:auto;border-right:none;border-left:none;box-shadow:0 8px 32px #0000008c;transform:translate(-100%);transition:transform .25s cubic-bezier(.2,.85,.25,1)}.palette{left:0;width:280px;max-width:85vw;border-right:1px solid #10150d}.side{right:0;width:300px;max-width:85vw;border-left:1px solid #10150d;transform:translate(100%)}.palette.open,.side.open{transform:translate(0)}.paper{margin:6px;box-shadow:0 4px 16px #00000059}.modal-overlay{z-index:1000}.ctx-menu{z-index:100}.toast{z-index:1010}}@media(max-width:480px){.app{grid-template-rows:46px 1fr 28px}.topbar{height:46px;padding:0 6px;gap:4px}.brand h1{font-size:20px;letter-spacing:.06em}.mode-switch .btn{padding:5px 8px;font-size:12px;min-height:30px}.mobile-header-btn{width:34px;height:34px;font-size:16px}.statusbar{font-size:10px;padding:0 6px;gap:8px}.palette,.side{top:44px;bottom:28px;width:100vw;max-width:320px}.paper{margin:4px}.hint{font-size:11px}.inspector label{flex-direction:column;align-items:flex-start;gap:4px}.inspector input,.inspector select{width:100%;max-width:100%}.group-color-section{flex-direction:column}.color-swatches{justify-content:flex-start}.align-grid{grid-template-columns:1fr 1fr}}@media(max-height:800px)and (min-width:1025px){.app{grid-template-rows:auto 1fr 26px}.topbar-desktop{padding:2px 10px 3px;gap:2px}.topbar-row{min-height:28px}.statusbar{height:26px;font-size:11px;padding:0 10px}.palette,.side{padding:6px 8px;gap:6px}.group h3,.panel h3{margin:4px 0 2px;font-size:12px}.cat-item{padding:4px 6px;margin:0 0 2px;font-size:12px}.cat-item small{font-size:10px}.hint{margin:3px 0;font-size:11px}.bench-grid{max-height:160px}.bench-rack{gap:6px}.meter-lcd{font-size:14px;padding:4px 8px}.inspector label{margin-bottom:4px;font-size:12px}.inspector input,.inspector select{padding:3px 6px;font-size:12px}.panel{padding:6px 8px}.palette-title,.side-title{font-size:16px}.palette-header,.side-header{padding-bottom:4px;margin-bottom:2px}.panel-toggle{top:8px;height:32px;width:18px}}html,body{overflow-x:hidden}.drawer-backdrop{position:fixed;inset:0;background:#00000073;z-index:25;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.drawer-backdrop.visible{opacity:1;visibility:visible}@media(hover:none)and (pointer:coarse){.cat-item{padding:8px 10px}.btn{padding:7px 12px}.port{r:8}.zoom-controls .btn-icon{padding:6px 10px}}.floating-action-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#1a2015eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #4a533e;border-radius:24px;padding:4px 8px;box-shadow:0 8px 24px #00000073;z-index:20;pointer-events:auto;user-select:none;-webkit-user-select:none;transition:opacity .2s ease,transform .2s ease}.floating-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--nameplate);cursor:pointer;font-size:16px;transition:all .15s ease;touch-action:manipulation}.floating-btn:hover:not(:disabled){background:#e6c11e26;color:var(--stripe);transform:scale(1.08)}.floating-btn.active{background:#39522b;color:#eafbe0;border:1px solid #638c4f;box-shadow:0 0 8px #638c4f66}.floating-btn:active:not(:disabled){transform:scale(.95);background:#e6c11e40}.floating-btn:disabled{opacity:.3;cursor:not-allowed}.floating-btn.delete-btn:hover:not(:disabled){background:#dc354533;color:#ff6b6b}.floating-divider{width:1px;height:18px;background:#3e4835;margin:0 2px}@media(max-width:768px),(max-height:550px){.floating-action-bar{bottom:10px;padding:3px 6px;gap:3px;border-radius:20px}.floating-btn{width:32px;height:32px;font-size:15px}}@media(max-width:480px){.floating-action-bar{bottom:6px;padding:2px 4px;gap:2px}.floating-btn{width:30px;height:30px;font-size:14px}}.mobile-menu-overlay{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1050;display:flex;align-items:flex-end;justify-content:center;animation:mobileFadeIn .2s ease-out}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-sheet{width:100%;max-width:540px;max-height:88vh;background:#1a2216;border:1px solid #3c492f;border-bottom:none;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #000000b3;display:flex;flex-direction:column;animation:mobileSlideUp .25s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes mobileSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(#273220,#1e2618);border-bottom:1px solid #313d27;flex-shrink:0}.mobile-menu-title-group{display:flex;align-items:center;gap:10px}.mobile-menu-logo{font-family:Teko,sans-serif;font-size:26px;font-weight:600;color:var(--stripe);letter-spacing:.1em;line-height:1}.mobile-menu-title{font-size:16px;font-weight:600;color:var(--nameplate);letter-spacing:.04em}.mobile-menu-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#283321;border:1px solid #435237;color:var(--nameplate);border-radius:8px;font-size:16px;cursor:pointer;transition:all .15s ease;touch-action:manipulation}.mobile-menu-close-btn:active{background:var(--danger);color:#fff;transform:scale(.92)}.mobile-menu-body{padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px}.mobile-menu-section{background:#141a10;border:1px solid #2b3622;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}.mobile-menu-section-title{font-size:12px;font-weight:700;color:var(--stripe);text-transform:uppercase;letter-spacing:.08em}.mobile-menu-input-row{display:flex;flex-direction:column;gap:6px}.mobile-menu-input-label{font-size:12px;color:#9ba790;font-weight:600}.mobile-menu-text-input{background:#0d120a;border:1px solid #38462c;color:#fff;font-size:15px;padding:10px 12px;border-radius:8px;outline:none;width:100%}.mobile-menu-text-input:focus{border-color:var(--stripe);box-shadow:0 0 0 2px #e6c11e33}.mobile-menu-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;font-size:13px;font-weight:600;border-radius:8px;background:#222b1b;border:1px solid #3c4b30;color:var(--nameplate);cursor:pointer;transition:all .15s ease;touch-action:manipulation}.mobile-action-btn:active{transform:scale(.97);background:#2a3622}.mobile-action-btn.primary{grid-column:1 / -1;background:#28371d;border-color:var(--stripe);color:var(--stripe);font-size:14px}.mobile-action-icon{font-size:16px}.mobile-saves-box{margin-top:4px;background:#0d120a;border:1px solid #28331f;border-radius:8px;overflow:hidden}.mobile-saves-header{font-size:11px;font-weight:700;color:#8c9782;padding:8px 10px;background:#182013;border-bottom:1px solid #28331f;text-transform:uppercase}.mobile-saves-list{max-height:140px;overflow-y:auto}.mobile-save-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #1a2214;cursor:pointer;transition:background .15s ease}.mobile-save-item:last-child{border-bottom:none}.mobile-save-item:hover,.mobile-save-item:active{background:#1c2517}.mobile-save-info{display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-save-name{font-size:13px;font-weight:600;color:var(--nameplate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-save-date{font-size:10px;color:#798570}.mobile-save-del-btn{background:transparent;border:none;color:#c4391d;font-size:14px;padding:4px 6px;cursor:pointer;border-radius:4px}.mobile-save-del-btn:active{background:#c4391d33}.mobile-examples-list{display:flex;flex-direction:column;gap:8px}.mobile-example-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#202919;border:1px solid #36442a;border-radius:10px;color:var(--nameplate);cursor:pointer;transition:all .15s ease;text-align:left;touch-action:manipulation}.mobile-example-card:active{transform:scale(.98)}.mobile-example-card.selected{background:#e6c11e1f;border-color:var(--stripe);color:var(--stripe)}.mobile-example-icon{font-size:20px;flex-shrink:0}.mobile-example-name{font-size:14px;font-weight:600;flex:1}.mobile-example-badge{font-size:14px;font-weight:700;color:var(--stripe)}.mobile-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-pref-row-column{display:flex;flex-direction:column;gap:8px}.mobile-pref-row-header{display:flex;align-items:center;justify-content:space-between}.mobile-pref-label{font-size:13px;font-weight:600;color:#9ba790}.mobile-zoom-indicator{font-size:13px;font-weight:700;color:var(--stripe)}.mobile-segmented-control{display:flex;background:#0d120a;padding:3px;border-radius:8px;border:1px solid #2e3b24}.mobile-segment-btn{padding:8px 16px;font-size:13px;font-weight:600;background:transparent;border:none;color:#8c9782;border-radius:6px;cursor:pointer;transition:all .15s ease;touch-action:manipulation}.mobile-segment-btn.active{background:#293420;color:var(--stripe);box-shadow:0 2px 6px #00000059}.mobile-zoom-chips{display:flex;flex-wrap:wrap;gap:6px}.mobile-zoom-chip{flex:1;min-width:58px;padding:8px 10px;font-size:13px;font-weight:600;background:#202819;border:1px solid #36442a;color:var(--nameplate);border-radius:8px;cursor:pointer;text-align:center;transition:all .15s ease;touch-action:manipulation}.mobile-zoom-chip:active{transform:scale(.95)}.mobile-zoom-chip.highlight{border-color:var(--stripe);color:var(--stripe)}.mobile-zoom-chip.active{background:var(--stripe);color:#141a10;border-color:var(--stripe);font-weight:700}.mobile-circuit-stats{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#7d8973;padding-top:4px}.print-modal-overlay{display:flex;align-items:center;justify-content:center;padding:20px;background:#000000c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1050}.print-modal-container{background:#182013;border:2px solid var(--stripe);border-radius:12px;box-shadow:0 16px 48px #0009;width:92vw;max-width:960px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;color:var(--nameplate)}.print-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#232d1b;border-bottom:1px solid #36442a}.modal-close-btn{background:transparent;border:1px solid transparent;color:var(--nameplate);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close-btn:hover{background:#2a3223;border-color:#4a533e}.print-modal-title{display:flex;align-items:center;gap:10px}.print-modal-title h3{margin:0;font-size:20px;font-weight:700;color:var(--stripe);letter-spacing:.04em}.print-icon{font-size:20px}.print-doc-badge{font-size:12px;background:#141a0f;color:#c9c2a8;padding:3px 8px;border-radius:4px;border:1px solid #36442a;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-modal-body{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding:20px;overflow-y:auto;flex:1}.print-preview-pane{display:flex;flex-direction:column;gap:10px}.print-preview-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:#9ba790}.print-preview-meta{font-size:12px;color:var(--stripe);font-weight:700}.print-preview-canvas-wrap{flex:1;min-height:280px;max-height:480px;display:flex;flex-direction:column;background:#2b3523;border:1px solid #415233;border-radius:8px;padding:12px;overflow:hidden;box-shadow:inset 0 2px 8px #0006}.print-preview-canvas-wrap.white{background:#d8ded3}.print-preview-canvas-wrap.paper{background:#443c2c}.print-preview-canvas-wrap.transparent{background:#1d2518}.print-preview-doc-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid rgba(0,0,0,.15);font-size:12px;font-weight:600;color:#333}.print-preview-canvas-wrap.transparent .print-preview-doc-header{color:#c9c2a8;border-bottom-color:#ffffff26}.print-preview-svg-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:220px;overflow:hidden;border-radius:4px;box-shadow:0 4px 16px #00000040}.print-empty-hint{font-size:12px;color:#e07020;text-align:center;padding:4px}.print-controls-pane{display:flex;flex-direction:column;gap:16px}.print-option-group{display:flex;flex-direction:column;gap:8px}.print-option-label{font-size:13px;font-weight:700;color:#a8b69c;letter-spacing:.03em}.print-toggle-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-toggle-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;background:#202819;border:1px solid #36442a;color:var(--nameplate);border-radius:6px;cursor:pointer;transition:all .15s ease}.print-toggle-btn:hover{background:#293420;border-color:#4a5c39}.print-toggle-btn.active{background:#2b3921;border-color:var(--stripe);color:var(--stripe);box-shadow:0 0 0 1px var(--stripe)}.print-bg-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.print-bg-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;font-size:12px;font-weight:600;background:#202819;border:1px solid #36442a;color:var(--nameplate);border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:center}.print-bg-btn:hover{background:#293420}.print-bg-btn.active{background:#2b3921;border-color:var(--stripe);color:var(--stripe);box-shadow:0 0 0 1px var(--stripe)}.bg-swatch{width:24px;height:24px;border-radius:4px;border:1px solid #4a5c39}.bg-swatch.white{background:#fff}.bg-swatch.paper{background:#efe6d0}.bg-swatch.transparent{background:repeating-conic-gradient(gray 0% 25%,#fff 0% 50%) 50% / 8px 8px}.print-checkbox-row{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.print-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--stripe);cursor:pointer}.print-orientation-tip{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#1e2617;border:1px solid #334027;border-radius:6px;font-size:12px;color:#a8b69c}.print-orientation-tip strong{color:var(--stripe)}.print-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:#1e2617;border-top:1px solid #36442a}.print-submit-btn{display:flex;align-items:center;gap:6px;font-weight:700;padding:8px 20px}.print-mount{display:none}.print-svg .sym-tag-group.tag-hidden{display:none!important}.print-svg .wire-hit,.print-svg .sym-hit,.print-svg .wire-glow,.print-svg .wire-selection,.print-svg .resize-handles,.print-svg .sym-short-flash,.print-svg .electron,.print-svg animateMotion{display:none!important}.print-svg.print-monochrome,.print-monochrome{color:#000!important}.print-svg.print-monochrome text,.print-svg.print-monochrome tspan,.print-svg.print-monochrome .term-lab,.print-svg.print-monochrome .sym-tag,.print-svg.print-monochrome .sym-tag-delay-text,.print-svg.print-monochrome .wire-label,.print-svg.print-monochrome .print-edge-url-text,.print-svg.print-monochrome .print-header-meta,.print-svg.print-monochrome .fuse-body-lab,.print-svg.print-monochrome .group-label text{fill:#000!important;stroke:none!important;color:#000!important;opacity:1!important}.print-svg.print-monochrome .wire,.print-svg.print-monochrome .wire-path,.print-svg.print-monochrome .wire-crossover,.print-svg.print-monochrome .break-x line,.print-svg.print-monochrome .group-box{stroke:#000!important;color:#000!important;opacity:1!important}.print-svg.print-monochrome .device-rel-line.name{stroke:#000!important}.print-svg.print-monochrome path.device-rel-arrow.name{fill:#000!important}.print-svg.print-monochrome .junction-dot .junction-outer{display:none!important}.print-svg.print-monochrome .junction-dot .junction-inner,.print-svg.print-monochrome .junction-dot circle,.print-svg.print-monochrome .multi-wire-term-dot,.print-svg .multi-wire-term-dot,.print-svg.print-monochrome .wire-dot,.print-svg.print-monochrome .port circle[fill]{fill:#000!important;stroke:#000!important}.print-svg.print-monochrome .wire-label-hit{fill:transparent!important;stroke:#000!important}.print-svg.print-monochrome .sym-g line,.print-svg.print-monochrome .sym-g polyline{stroke:#000!important;color:#000!important}.print-svg.print-monochrome .sym-g path[stroke]:not([stroke=none]):not([stroke=transparent]),.print-svg.print-monochrome .sym-g rect[stroke]:not([stroke=none]):not([stroke=transparent]),.print-svg.print-monochrome .sym-g circle[stroke]:not([stroke=none]):not([stroke=transparent]),.print-svg.print-monochrome .sym-g polygon[stroke]:not([stroke=none]):not([stroke=transparent]){stroke:#000!important}.print-svg.print-monochrome [stroke=transparent],.print-svg.print-monochrome [stroke=none]{stroke:transparent!important}.print-svg.print-monochrome .sym-tag-bg,.print-svg.print-monochrome .sym-tag-delay-bg,.print-svg.print-monochrome .group-label rect{fill:#fff!important;stroke:#000!important}.print-svg.print-monochrome rect{fill:#fff!important}.print-svg.print-monochrome rect[fill=none],.print-svg.print-monochrome rect[fill=transparent]{fill:transparent!important}.print-svg.print-monochrome circle{fill:#fff!important}.print-svg.print-monochrome circle[fill=none],.print-svg.print-monochrome circle[fill=transparent]{fill:transparent!important}.print-svg.print-monochrome polygon{fill:#fff!important}.print-svg.print-monochrome polygon[fill=none],.print-svg.print-monochrome polygon[fill=transparent]{fill:transparent!important}.print-svg.print-monochrome path{fill:#fff!important}.print-svg.print-monochrome path:not([fill]),.print-svg.print-monochrome path[fill=none],.print-svg.print-monochrome path[fill=transparent]{fill:transparent!important}.print-svg.print-monochrome path[fill="#2a2924"],.print-svg.print-monochrome path[fill="#333"],.print-svg.print-monochrome path[fill="#000"],.print-svg.print-monochrome path[fill="#000000"],.print-svg.print-monochrome path[fill="#1e241a"],.print-svg.print-monochrome path[fill="#141a0f"],.print-svg.print-monochrome path[fill=currentColor],.print-svg.print-monochrome circle[fill="#2a2924"],.print-svg.print-monochrome circle[fill="#333"],.print-svg.print-monochrome circle[fill="#000"],.print-svg.print-monochrome circle[fill="#000000"],.print-svg.print-monochrome circle[fill="#1a202c"],.print-svg.print-monochrome circle[fill="#1e241a"],.print-svg.print-monochrome circle[fill=currentColor],.print-svg.print-monochrome polygon[fill="#2a2924"],.print-svg.print-monochrome polygon[fill="#333"],.print-svg.print-monochrome polygon[fill="#000"],.print-svg.print-monochrome polygon[fill="#000000"],.print-svg.print-monochrome polygon[fill=currentColor],.print-svg.print-monochrome .wire-dot,.print-svg.print-monochrome .junction-dot circle,.print-svg.print-monochrome .junction-dot .junction-inner,.print-svg.print-monochrome .multi-wire-term-dot,.print-svg .multi-wire-term-dot,.print-svg.print-monochrome .port circle[fill]{fill:#000!important}.print-svg.print-monochrome .term-dot{fill:#fff!important;stroke:#000!important;stroke-width:1.8px!important}@media print{@page{size:auto;margin:8mm}html,body,#root{margin:0!important;padding:0!important;background:#fff!important;color:#000!important;height:auto!important;overflow:visible!important}body:before{display:none!important}.app,.modal-overlay,.toast,.drawer-backdrop,.floating-action-bar,.mobile-menu-overlay,.toggle-panel-btn,.tutorial-overlay{display:none!important}.print-mount{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;height:auto!important;min-height:0!important;background:transparent!important;page-break-inside:avoid!important}.print-edge-url-text{fill:#000!important;font-family:Helvetica,Arial,sans-serif!important;font-weight:400!important;letter-spacing:.12em!important}.print-page-header{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding-bottom:6px!important;margin-bottom:8px!important;border-bottom:1.5px solid #000000!important;font-family:sans-serif!important;font-size:14pt!important;font-weight:700!important;color:#000!important}.print-header-meta{font-size:9pt!important;font-weight:400!important;color:#000!important}.print-page-body{width:100%!important;flex:0 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important}.print-svg{max-width:100%!important;max-height:92vh!important;width:100%!important;height:auto!important;display:block!important}}@media(max-width:768px){.print-modal-container{width:96vw;max-height:95vh}.print-modal-body{grid-template-columns:1fr;gap:16px;padding:14px}.print-preview-canvas-wrap{min-height:200px;max-height:300px}.print-toggle-buttons{grid-template-columns:1fr}.print-bg-options{grid-template-columns:1fr 1fr 1fr}}.btn-tutorial-highlight{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#b45309,#d97706);color:#fff;border:1.5px solid #fbbf24;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 0 10px #f59e0b73,inset 0 1px #ffffff40;transition:all .2s ease-in-out;white-space:nowrap;animation:tutorial-btn-glow 3s infinite alternate ease-in-out}.btn-tutorial-highlight:hover{background:linear-gradient(135deg,#d97706,#f59e0b);border-color:#fef08a;box-shadow:0 0 16px #f59e0bbf,inset 0 1px #fff6;transform:translateY(-1px)}.btn-tutorial-highlight:active{transform:translateY(0);box-shadow:0 0 6px #f59e0b80}.btn-tutorial-icon{font-size:14px;display:inline-block;animation:tutorial-icon-bounce 2s infinite ease-in-out}@keyframes tutorial-btn-glow{0%{box-shadow:0 0 8px #f59e0b59,inset 0 1px #fff3;border-color:#f59e0b}to{box-shadow:0 0 18px #f59e0bbf,0 0 4px #fbbf24,inset 0 1px #ffffff59;border-color:#fef08a}}@keyframes tutorial-icon-bounce{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(8deg)}}.btn-tutorial-mobile-highlight{display:inline-flex;align-items:center;justify-content:center;gap:3px;background:linear-gradient(135deg,#b45309,#d97706);color:#fff;border:1.5px solid #fbbf24;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 0 8px #f59e0b66;white-space:nowrap}.btn-tutorial-mobile-highlight:active{background:#f59e0b;transform:scale(.96)}.tutorial-section{padding-bottom:4px}.mobile-tutorial-banner-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#241d10,#382c16);border:1.5px solid #d97706;border-radius:10px;padding:12px 14px;color:#fff;cursor:pointer;text-align:left;box-shadow:0 4px 14px #0006;transition:background .15s ease}.mobile-tutorial-banner-btn:active{background:#45351a}.mobile-tutorial-banner-content{display:flex;align-items:center;gap:12px}.mobile-tutorial-banner-icon{font-size:24px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#d9770640;border:1px solid #d97706;border-radius:8px;flex-shrink:0}.mobile-tutorial-banner-title{font-size:15px;font-weight:700;color:#fbbf24;letter-spacing:.02em}.mobile-tutorial-banner-sub{font-size:12px;color:#c9c2a8;margin-top:2px}.mobile-tutorial-banner-arrow{font-size:18px;font-weight:700;color:#fbbf24}.tutorial-overlay{position:fixed;inset:0;z-index:1200;pointer-events:auto}.tutorial-backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:1200;transition:opacity .25s ease}.tutorial-spotlight{position:fixed;border-radius:8px;border:2.5px solid #f59e0b;box-shadow:0 0 0 9999px #00000073,0 0 20px #f59e0bd9;pointer-events:none;z-index:1201;transition:all .25s cubic-bezier(.2,.8,.2,1);animation:spotlight-pulse 2.5s infinite alternate ease-in-out}@keyframes spotlight-pulse{0%{border-color:#f59e0b;box-shadow:0 0 0 9999px #00000073,0 0 16px #f59e0bb3}to{border-color:#fef08a;box-shadow:0 0 0 9999px #00000073,0 0 26px #f59e0b,0 0 6px #fff}}.tutorial-card{position:fixed;background:#182114;border:2px solid #d97706;border-radius:12px;box-shadow:0 18px 48px #000000bf,0 0 20px #d9770659;z-index:1205;color:#e5e3d7;overflow:hidden;display:flex;flex-direction:column;animation:tutorial-card-in .25s cubic-bezier(.16,1,.3,1)}.tutorial-card.desktop{bottom:46px;left:28px;width:440px;max-width:90vw}.tutorial-card.mobile{bottom:38px;left:50%;transform:translate(-50%);width:94vw;max-width:460px}@keyframes tutorial-card-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-card.mobile{animation:tutorial-card-in-mobile .25s cubic-bezier(.16,1,.3,1)}@keyframes tutorial-card-in-mobile{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.tutorial-progress-wrap{width:100%;height:4px;background:#2b3820}.tutorial-progress-bar{height:100%;background:linear-gradient(90deg,#d97706,#fbbf24);transition:width .3s ease-out}.tutorial-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#232d1b;border-bottom:1px solid #36442a}.tutorial-badge-group{display:flex;align-items:center;gap:6px}.tutorial-step-badge{font-size:11px;font-weight:700;background:#12180e;color:#fbbf24;padding:2px 7px;border-radius:4px;border:1px solid #d97706}.tutorial-topic-badge{font-size:11px;font-weight:600;background:#2b3620;color:#a3e635;padding:2px 7px;border-radius:4px}.tutorial-header-actions{display:flex;align-items:center;gap:8px}.tutorial-version-switch{display:flex;background:#141a10;border:1px solid #36442a;border-radius:6px;padding:1px}.tutorial-ver-btn{background:transparent;border:none;color:#9ba790;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .15s ease}.tutorial-ver-btn.active{background:#d97706;color:#fff;font-weight:700}.tutorial-close-btn{background:transparent;border:none;color:#9ba790;font-size:15px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.tutorial-close-btn:hover{color:#f88;background:#ff646426}.tutorial-body{padding:14px;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.tutorial-title{margin:0;font-size:16px;font-weight:700;color:#fbbf24;letter-spacing:.02em}.tutorial-desc{margin:0;font-size:13px;line-height:1.5;color:#d1cdc0}.tutorial-tip{display:flex;align-items:flex-start;gap:8px;background:#141c11;border-left:3px solid #65a30d;padding:8px 10px;border-radius:4px;font-size:12px;color:#bef264;margin-top:2px}.tutorial-tip-icon{font-size:13px;line-height:1.2}.tutorial-tip-text{flex:1;line-height:1.4}.tutorial-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#232d1b;border-top:1px solid #36442a;gap:8px}.tutorial-footer-left{display:flex;align-items:center;gap:8px}.tutorial-footer-right{display:flex;align-items:center;gap:6px}.tutorial-action-btn.demo-btn{background:#15803d;color:#fff;border:1px solid #4ade80;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 0 8px #4ade8059;transition:all .15s ease;white-space:nowrap}.tutorial-action-btn.demo-btn:hover{background:#16a34a;box-shadow:0 0 12px #4ade8099}.tutorial-text-btn{background:transparent;border:none;color:#9ba790;font-size:11px;cursor:pointer;padding:4px 6px;border-radius:4px;white-space:nowrap}.tutorial-text-btn:hover{color:#e5e3d7;background:#ffffff14}.tutorial-nav-btn{border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tutorial-nav-btn.prev{background:#2b3622;color:#c9c2a8;border:1px solid #485b37}.tutorial-nav-btn.prev:hover{background:#37472c;color:#fff}.tutorial-nav-btn.next.primary{background:linear-gradient(135deg,#b45309,#d97706);color:#fff;border:1px solid #fbbf24;box-shadow:0 0 8px #f59e0b66}.tutorial-nav-btn.next.primary:hover{background:linear-gradient(135deg,#d97706,#f59e0b);box-shadow:0 0 14px #f59e0b99}.tutorial-nav-btn.next.finish{background:linear-gradient(135deg,#15803d,#16a34a);color:#fff;border:1px solid #86efac;box-shadow:0 0 10px #22c55e73}.tutorial-nav-btn.next.finish:hover{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 0 16px #22c55eb3}[data-theme=light]{--bench: #f1f5f9;--bench-2: #e2e8f0;--stripe: #2563eb;--stripe-dark: #1d4ed8;--paper: #ffffff;--paper-line: rgba(30, 41, 59, .08);--ink: #0f172a;--copper: #d97706;--danger: #dc2626;--ok: #16a34a;--metal: #64748b;--nameplate: #0f172a}[data-theme=light] html,[data-theme=light] body,[data-theme=light] #root{background:var(--bench);color:var(--nameplate)}[data-theme=light] body:before{opacity:.02}[data-theme=light] .app{background:radial-gradient(1200px 500px at 70% -10%,rgba(37,99,235,.06),transparent 50%),linear-gradient(180deg,#ffffff 0%,var(--bench) 45%)}[data-theme=light] .topbar{background:linear-gradient(#fff,#f8fafc);border-bottom:3px solid #2563eb;box-shadow:inset 0 1px #fffc,0 4px 14px #0000000f}[data-theme=light] .topbar-scroll-left{background:linear-gradient(to right,#ffffff 40%,rgba(255,255,255,.85) 70%,transparent 100%)}[data-theme=light] .topbar-scroll-right{background:linear-gradient(to left,#ffffff 40%,rgba(255,255,255,.85) 70%,transparent 100%)}[data-theme=light] .topbar-scroll-btn{background:#fffffff2;border-color:#cbd5e1;color:#1e293b;box-shadow:0 2px 8px #0000001f}[data-theme=light] .topbar-scroll-btn:hover{background:#2563eb;border-color:#1d4ed8;color:#fff}[data-theme=light] .topbar-row-primary{border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .topbar-divider{background:#0000001a}[data-theme=light] .brand h1{color:#2563eb}[data-theme=light] .brand small{color:#64748b}[data-theme=light] .action-label{color:#475569}[data-theme=light] .diagram-name{background:#fff;color:#0f172a;border:1px solid #cbd5e1}[data-theme=light] .diagram-name:hover{border-color:#94a3b8;background:#f8fafc}[data-theme=light] .diagram-name:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e;background:#fff}[data-theme=light] .segmented-group{background:#f1f5f9;border:1px solid #cbd5e1}[data-theme=light] .seg-btn{color:#475569}[data-theme=light] .seg-btn:hover:not(.active){background:#0000000d;color:#0f172a}[data-theme=light] .seg-btn.active{background:#2563eb;color:#fff;box-shadow:0 1px 4px #2563eb4d}[data-theme=light] .seg-btn.btn-reset:hover{background:#fee2e2;color:#dc2626}[data-theme=light] .example-selector-wrapper,[data-theme=light] .lang-select-wrapper{background:#fff;border:1px solid #cbd5e1}[data-theme=light] .example-select,[data-theme=light] .lang-select{color:#1e293b}[data-theme=light] .history-btn-group{background:#f1f5f9;border:1px solid #cbd5e1}[data-theme=light] .history-btn-group .btn-icon{color:#475569}[data-theme=light] .history-btn-group .btn-icon:hover{background:#e2e8f0;color:#0f172a}[data-theme=light] .btn-theme-toggle{background:#fff;border:1px solid #cbd5e1;color:#475569}[data-theme=light] .btn-theme-toggle:hover{background:#f8fafc;border-color:#2563eb;color:#0f172a}[data-theme=light] select,[data-theme=light] input[type=text],[data-theme=light] input[type=number]{background:#fff;color:#0f172a;border:1px solid #cbd5e1}[data-theme=light] select:focus,[data-theme=light] input[type=text]:focus,[data-theme=light] input[type=number]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}[data-theme=light] .btn{border:1px solid #cbd5e1;background:linear-gradient(#fff,#f1f5f9);color:#1e293b;box-shadow:0 1px 2px #0000000a}[data-theme=light] .btn:hover{background:#e2e8f0;border-color:#94a3b8;color:#0f172a}[data-theme=light] .btn.active{border-color:#2563eb;color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}[data-theme=light] .btn-new-doc{background:#fff;border-color:#cbd5e1;color:#1e293b}[data-theme=light] .btn-new-doc:hover{background:#f8fafc;border-color:#2563eb;color:#2563eb}[data-theme=light] .menu-pop{background:#fff;border:1px solid #cbd5e1;box-shadow:0 12px 28px #0000001f}[data-theme=light] .menu-name input{background:#f8fafc;border:1px solid #cbd5e1;color:#0f172a}[data-theme=light] .menu-label{color:#2563eb}[data-theme=light] .btn-options-menu{background:#fff;border:1px solid #cbd5e1;color:#334155}[data-theme=light] .btn-options-menu:hover{background:#f1f5f9;border-color:#2563eb;color:#2563eb}[data-theme=light] .options-menu-pop{background:#fff;border:1px solid #cbd5e1;box-shadow:0 12px 28px #0000001f}[data-theme=light] .options-item-btn.tutorial-btn{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}[data-theme=light] .options-item-btn.tutorial-btn:hover{background:#dbeafe;border-color:#3b82f6;box-shadow:0 0 10px #2563eb26}[data-theme=light] .menu-divider{background:#e2e8f0}[data-theme=light] .options-row-header{color:#64748b}[data-theme=light] .options-segmented-group{background:#f1f5f9;border:1px solid #cbd5e1}[data-theme=light] .options-seg-btn{color:#64748b}[data-theme=light] .options-seg-btn:hover{color:#0f172a;background:#0000000a}[data-theme=light] .options-seg-btn.active{background:#2563eb;color:#fff;box-shadow:0 1px 4px #2563eb4d}[data-theme=light] .btn.danger{border-color:#fca5a5;color:#b91c1c;background:#fef2f2}[data-theme=light] .btn.danger:hover{background:#fee2e2;border-color:#ef4444}[data-theme=light] .btn.ok{border-color:#86efac;color:#15803d;background:#f0fdf4}[data-theme=light] .btn.ok:hover{background:#dcfce7;border-color:#22c55e}[data-theme=light] .zoom-controls{background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #0000000a}[data-theme=light] .zoom-controls .btn-icon{color:#475569}[data-theme=light] .zoom-controls .btn-icon:hover:not(:disabled){background:#eff6ff;color:#2563eb}[data-theme=light] .zoom-slider{background:#e2e8f0;border-color:#cbd5e1}[data-theme=light] .zoom-slider::-webkit-slider-thumb{background:#2563eb;border:1.5px solid #1d4ed8;box-shadow:0 0 4px #2563eb66}[data-theme=light] .zoom-slider::-moz-range-thumb{background:#2563eb;border:1.5px solid #1d4ed8;box-shadow:0 0 4px #2563eb66}[data-theme=light] .zoom-val{color:#334155}[data-theme=light] .zoom-val:hover{color:#2563eb;background:#eff6ff}[data-theme=light] .palette,[data-theme=light] .side{background:#fff;border-right:1px solid #e2e8f0;border-left:1px solid #e2e8f0;color:#1e293b;box-shadow:0 1px 4px #0000000a}[data-theme=light] .palette-header,[data-theme=light] .side-header{border-bottom:1px solid #e2e8f0;background:#f8fafc}[data-theme=light] .palette-title,[data-theme=light] .side-title{color:#2563eb}[data-theme=light] .panel-close-btn{color:#64748b;background:#fff;border:1px solid #cbd5e1}[data-theme=light] .panel-close-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}[data-theme=light] .panel-toggle{background:linear-gradient(180deg,#fff,#f1f5f9);border-color:#cbd5e1;color:#475569;box-shadow:0 2px 8px #00000014}[data-theme=light] .panel-toggle:hover{background:linear-gradient(180deg,#f8fafc,#e2e8f0);border-color:#2563eb;color:#2563eb;box-shadow:0 0 8px #2563eb40}[data-theme=light] .palette-search-box{background:#f8fafc;border:1px solid #cbd5e1}[data-theme=light] .palette-search-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}[data-theme=light] .palette-search-icon{color:#64748b}[data-theme=light] .palette-search-input{color:#0f172a}[data-theme=light] .palette-search-input::placeholder{color:#94a3b8}[data-theme=light] .palette-search-clear{color:#64748b}[data-theme=light] .palette-search-clear:hover{color:#2563eb}[data-theme=light] .palette-category-pills{border-bottom-color:#e2e8f0}[data-theme=light] .category-pill{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}[data-theme=light] .category-pill:hover{background:#e2e8f0;border-color:#94a3b8;color:#0f172a}[data-theme=light] .category-pill.active{background:#eff6ff;border-color:#2563eb;color:#2563eb}[data-theme=light] .palette-toggle-all-btn{color:#64748b}[data-theme=light] .palette-toggle-all-btn:hover,[data-theme=light] .palette-search-count{color:#2563eb}[data-theme=light] .palette-group-card{background:#fff;border:1px solid #e2e8f0}[data-theme=light] .palette-group-card:hover{border-color:#cbd5e1}[data-theme=light] .palette-group-header{background:#f8fafc;color:#1d4ed8}[data-theme=light] .palette-group-card:not(.collapsed) .palette-group-header{border-bottom-color:#e2e8f0}[data-theme=light] .palette-group-header:hover{background:#f1f5f9}[data-theme=light] .palette-group-chevron{color:#64748b}[data-theme=light] .palette-count-badge{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}[data-theme=light] .palette-subgroup-card{background:#f8fafc;border:1px solid #e2e8f0}[data-theme=light] .palette-subgroup-card.single-subgroup{background:transparent;border:none}[data-theme=light] .palette-subgroup-header{background:#f1f5f9;color:#334155}[data-theme=light] .palette-subgroup-card:not(.collapsed) .palette-subgroup-header{border-bottom-color:#e2e8f0}[data-theme=light] .palette-subgroup-header:hover{background:#e2e8f0;color:#0f172a}[data-theme=light] .palette-subgroup-chevron,[data-theme=light] .palette-subgroup-count{color:#64748b}[data-theme=light] .cat-header{background:#f8fafc;color:#334155;border:1px solid #e2e8f0}[data-theme=light] .cat-header:hover{background:#f1f5f9}[data-theme=light] .cat-item{background:#fff;border:1px solid #e2e8f0;color:#1e293b}[data-theme=light] .cat-item:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}[data-theme=light] .cat-item.selected{outline:2px solid #2563eb;background:#eff6ff;color:#1d4ed8}[data-theme=light] .cat-item small,[data-theme=light] .cat-item-sub{color:#64748b}[data-theme=light] .palette-empty-state{background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b}[data-theme=light] .palette-clear-btn{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}[data-theme=light] .palette-clear-btn:hover{background:#dbeafe}[data-theme=light] .side{background:#fff;border-left:1px solid #e2e8f0;color:#1e293b}[data-theme=light] .bench{background:#f8fafc;border:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000a}[data-theme=light] .bench h3{color:#2563eb;border-bottom:none;margin:0}[data-theme=light] .bench-count-badge{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}[data-theme=light] .bench-empty-hint{color:#64748b}[data-theme=light] .widget{background:#fff;border:1px solid #e2e8f0;color:#1e293b;box-shadow:0 1px 3px #0000000a}[data-theme=light] .widget:hover{border-color:#93c5fd;box-shadow:0 2px 8px #2563eb1f}[data-theme=light] .widget-label{color:#1e293b}[data-theme=light] .widget-sublabel{color:#64748b}[data-theme=light] .btn-toggle-switch.on{background:#16a34a;border-color:#15803d;color:#fff}[data-theme=light] .btn-toggle-switch.off{background:#f1f5f9;border-color:#cbd5e1;color:#475569}[data-theme=light] .btn-selector,[data-theme=light] .btn-momentary{background:#f1f5f9;border-color:#cbd5e1;color:#334155}[data-theme=light] .btn-selector:hover,[data-theme=light] .btn-momentary:hover{background:#e2e8f0;color:#0f172a}[data-theme=light] .pilot{border-color:#cbd5e1;box-shadow:inset 0 2px 4px #00000014,0 1px 2px #0000000a}[data-theme=light] .machine{border-color:#cbd5e1;background:conic-gradient(from 40deg,#94a3b8,#f1f5f9,#64748b,#f1f5f9)}[data-theme=light] .machine .hub{background:#475569}[data-theme=light] .bench-grid::-webkit-scrollbar-track,[data-theme=light] .side::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=light] .bench-grid::-webkit-scrollbar-thumb,[data-theme=light] .side::-webkit-scrollbar-thumb{background:#cbd5e1}[data-theme=light] .bench-grid::-webkit-scrollbar-thumb:hover,[data-theme=light] .side::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=light] .process{background:#f8fafc;border:1px solid #e2e8f0;color:#1e293b;box-shadow:0 1px 4px #0000000a}[data-theme=light] .process h3{color:#2563eb;border-bottom:1px solid #e2e8f0;margin:4px 0 10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}[data-theme=light] .process label{color:#475569}[data-theme=light] .process label span{color:#0f172a;font-weight:600}[data-theme=light] .process input[type=range]{accent-color:#2563eb}[data-theme=light] .process .chk{color:#334155}[data-theme=light] .inspector{background:transparent;color:#1e293b}[data-theme=light] .inspector h3{color:#2563eb;border-bottom:1px solid #e2e8f0;margin:4px 0 10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}[data-theme=light] .inspector label{color:#475569}[data-theme=light] .inspector input,[data-theme=light] .inspector select{background:#fff;border:1px solid #cbd5e1;color:#0f172a}[data-theme=light] .inspector input:focus,[data-theme=light] .inspector select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}[data-theme=light] .inspector-section-title{color:#334155;border-bottom:1px solid #e2e8f0}[data-theme=light] .title-block-editor label{color:#475569}[data-theme=light] .title-block-editor input{background:#fff;border:1px solid #cbd5e1;color:#0f172a}[data-theme=light] .group-color-section label{color:#475569}[data-theme=light] .color-swatch-btn{border:1px solid rgba(0,0,0,.15)}[data-theme=light] .color-swatch-btn:hover{border-color:#0f172a}[data-theme=light] .color-swatch-btn.active{outline:2px solid #2563eb;border-color:#0f172a}[data-theme=light] .hint{color:#64748b}[data-theme=light] .paper{background-color:#fff;box-shadow:0 4px 24px #00000014;border:1px solid #cbd5e1}[data-theme=light] .ruler-corner,[data-theme=light] .ruler-top-wrap,[data-theme=light] .ruler-left-wrap{background:#f8fafc;border-color:#cbd5e1;color:#64748b}[data-theme=light] .ruler-tick{stroke:#94a3b8}[data-theme=light] .ruler-text{fill:#64748b}[data-theme=light] .ruler-indicator line{stroke:#2563eb}[data-theme=light] .ruler-indicator polygon{fill:#2563eb}[data-theme=light] .statusbar{background:#fff;border-top:1px solid #e2e8f0;color:#64748b}[data-theme=light] .statusbar span{color:#475569}[data-theme=light] .btn-statusbar-probe{background:#f1f5f9;border-color:#cbd5e1;color:#334155}[data-theme=light] .btn-statusbar-probe:hover{background:#e2e8f0;color:#1e293b}[data-theme=light] .btn-statusbar-probe.active{background:#f59e0b;border-color:#d97706;color:#fff;box-shadow:0 0 8px #f59e0b66}[data-theme=light] .statusbar .zoom-controls{background:#f1f5f9;border:1px solid #cbd5e1}[data-theme=light] .statusbar .zoom-controls .btn-icon{color:#475569}[data-theme=light] .statusbar .zoom-controls .btn-icon:hover:not(:disabled){background:#e2e8f0;color:#2563eb}[data-theme=light] .statusbar .zoom-controls .zoom-val{color:#334155}[data-theme=light] .statusbar .zoom-slider{background:#e2e8f0;border-color:#cbd5e1}[data-theme=light] .files-menu summary{background:linear-gradient(#fff,#f1f5f9);border:1px solid #cbd5e1;color:#1e293b}[data-theme=light] .files-dropdown{background:#fff;border:1px solid #cbd5e1;box-shadow:0 10px 25px #0000001f;color:#0f172a}[data-theme=light] .files-dropdown button{color:#1e293b}[data-theme=light] .files-dropdown button:hover{background:#f1f5f9;color:#2563eb}[data-theme=light] .files-dropdown-divider{background:#e2e8f0}[data-theme=light] .ctx-menu{background:#fff;border:1px solid #cbd5e1;box-shadow:0 10px 25px #00000024;color:#0f172a}[data-theme=light] .ctx-menu button{color:#1e293b}[data-theme=light] .ctx-menu button:hover{background:#f1f5f9;color:#2563eb}[data-theme=light] .ctx-sep{background:#e2e8f0}[data-theme=light] .modal-overlay,[data-theme=light] .mobile-menu-overlay{background:#0f172a66}[data-theme=light] .modal-content{background:#fff;border:1px solid #cbd5e1;box-shadow:0 20px 40px #00000026;color:#0f172a}[data-theme=light] .modal-content h3{color:#0f172a}[data-theme=light] .mobile-menu-content,[data-theme=light] .mobile-menu-sheet{background:#fff;border-top:1px solid #cbd5e1;color:#0f172a}[data-theme=light] .mobile-menu-header{border-bottom:1px solid #e2e8f0}[data-theme=light] .mobile-menu-title{color:#2563eb}[data-theme=light] .mobile-menu-close-btn{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}[data-theme=light] .mobile-menu-section{background:#f8fafc;border:1px solid #e2e8f0}[data-theme=light] .mobile-menu-section-title{color:#475569}[data-theme=light] .mobile-action-btn{background:#fff;border:1px solid #cbd5e1;color:#1e293b}[data-theme=light] .mobile-action-btn:hover{background:#f1f5f9;color:#2563eb}[data-theme=light] .mobile-example-card{background:#fff;border:1px solid #e2e8f0;color:#1e293b}[data-theme=light] .mobile-example-card:hover{border-color:#93c5fd;background:#eff6ff}[data-theme=light] .mobile-example-card.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}[data-theme=light] .mobile-segment-btn{background:#fff;border-color:#cbd5e1;color:#475569}[data-theme=light] .mobile-segment-btn.active{background:#2563eb;color:#fff}[data-theme=light] .mobile-zoom-chip{background:#fff;border-color:#cbd5e1;color:#475569}[data-theme=light] .mobile-zoom-chip.active{border-color:#2563eb;color:#2563eb;background:#eff6ff}[data-theme=light] .floating-action-bar{background:#fffffff2;border:1px solid #cbd5e1;box-shadow:0 4px 20px #0000001f}[data-theme=light] .floating-action-btn{background:#f1f5f9;border:1px solid #cbd5e1;color:#1e293b}[data-theme=light] .floating-action-btn:hover:not(:disabled){background:#e2e8f0;color:#2563eb}[data-theme=light] .mobile-header-btn{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}[data-theme=light] .tutorial-card{background:#fff;border-color:#cbd5e1;box-shadow:0 20px 40px #00000026;color:#0f172a}[data-theme=light] .tutorial-header{border-bottom-color:#e2e8f0;background:#f8fafc}[data-theme=light] .tutorial-title{color:#0f172a}[data-theme=light] .tutorial-desc{color:#334155}[data-theme=light] .tutorial-tip-box{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}[data-theme=light] .tutorial-progress-bar{background:#e2e8f0}[data-theme=light] .tutorial-step-counter{color:#64748b}[data-theme=light] .tutorial-footer{background:#f8fafc;border-top-color:#e2e8f0}[data-theme=light] .tutorial-nav-btn.prev{background:#f1f5f9;color:#334155;border-color:#cbd5e1}[data-theme=light] .tutorial-nav-btn.prev:hover{background:#e2e8f0;color:#0f172a}[data-theme=light] .tutorial-text-btn{color:#64748b}[data-theme=light] .tutorial-text-btn:hover{color:#0f172a;background:#0000000d}[data-theme=light] .toast{background:#1e293b;color:#f8fafc;box-shadow:0 8px 24px #0000002e}.meter-chart-container{margin:12px 0 16px;background:#00000038;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px;--chart-bg: rgba(0, 0, 0, .35);--chart-grid: rgba(255, 255, 255, .1);--chart-text: #94a3b8}.meter-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.meter-header-left{display:flex;align-items:center;gap:6px}.meter-badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;border:1.5px solid currentColor;background:#0003}.meter-type-title{font-size:12px;font-weight:600;color:var(--text-bright, #f1f5f9)}.meter-header-right{display:flex;align-items:center;gap:6px}.meter-live-chip{display:flex;align-items:center;gap:5px;background:#18231a;border:1px solid #334d38;padding:2px 7px;border-radius:4px}.meter-live-chip .live-dot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px currentColor;animation:live-blink 1.5s infinite alternate}@keyframes live-blink{0%{opacity:.4}to{opacity:1}}.meter-live-chip .live-val{font-size:12px;font-family:monospace;font-weight:700;color:#4ade80}.btn-clear-chart{padding:3px 8px;font-size:11px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-dim, #94a3b8);cursor:pointer;border-radius:4px}.btn-clear-chart:hover{background:#ffffff29;color:#fff}.meter-svg-wrap{position:relative;width:100%;background:var(--chart-bg);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.meter-trend-svg{width:100%;height:auto;display:block}.chart-pulse{animation:pulse-ring 1.8s cubic-bezier(.215,.61,.355,1) infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.8}to{transform:scale(2.2);opacity:0}}.chart-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-120%);background:#0f172aeb;border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:4px;box-shadow:0 4px 12px #0006;font-size:11px;white-space:nowrap;z-index:10}.chart-tooltip .tooltip-val{font-weight:700;color:#4ade80;font-family:monospace}.chart-tooltip .tooltip-time{font-size:9.5px;color:#94a3b8}.meter-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.meter-stat-card{display:flex;flex-direction:column;background:#0003;border:1px solid rgba(255,255,255,.06);padding:4px 6px;border-radius:4px;text-align:center}.meter-stat-card .stat-label{font-size:9.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.meter-stat-card .stat-value{font-size:11.5px;font-weight:700;font-family:monospace;color:#f1f5f9;margin-top:2px}[data-theme=light] .meter-chart-container{background:#f8fafc;border:1px solid #e2e8f0;--chart-bg: #ffffff;--chart-grid: #e2e8f0;--chart-text: #64748b}[data-theme=light] .meter-type-title{color:#0f172a}[data-theme=light] .meter-badge{background:#f1f5f9}[data-theme=light] .meter-svg-wrap{border-color:#cbd5e1}[data-theme=light] .btn-clear-chart{background:#f1f5f9;border-color:#cbd5e1;color:#475569}[data-theme=light] .btn-clear-chart:hover{background:#e2e8f0;color:#0f172a}[data-theme=light] .meter-stat-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .meter-stat-card .stat-label{color:#64748b}[data-theme=light] .meter-stat-card .stat-value{color:#0f172a}:root{--ladder-paper: #ffffff;--ladder-ink: #1e293b;--ladder-wire: #64748b;--ladder-tag: #0f172a;--ladder-text-dim: #64748b;--ladder-header-title: #1e293b;--ladder-rung-num: #0f172a;--ladder-rung-title: #334155;--ladder-power-bg: rgba(59, 130, 246, .04);--ladder-power-border: #cbd5e1;--ladder-power-title: #1e40af;--ladder-cpt-bg: rgba(245, 158, 11, .04);--ladder-cpt-border: #fcd34d;--ladder-cpt-title: #b45309;--ladder-cross-ref: #3b82f6}[data-theme=dark]{--ladder-paper: #182016;--ladder-ink: #e2e8f0;--ladder-wire: #94a3b8;--ladder-tag: #f8fafc;--ladder-text-dim: #94a3b8;--ladder-header-title: #f8fafc;--ladder-rung-num: #f8fafc;--ladder-rung-title: #cbd5e1;--ladder-power-bg: rgba(59, 130, 246, .08);--ladder-power-border: #334155;--ladder-power-title: #60a5fa;--ladder-cpt-bg: rgba(245, 158, 11, .08);--ladder-cpt-border: #78350f;--ladder-cpt-title: #fbbf24;--ladder-cross-ref: #60a5fa}.ladder-wrap{display:flex;justify-content:center;align-items:flex-start;padding:16px;background:var(--bench);overflow:auto;width:100%;height:100%}.ladder-paper{background:var(--ladder-paper);box-shadow:0 4px 24px #0000001f;border-radius:8px;border:1px solid var(--ladder-power-border);transition:background .25s,border-color .25s}.ladder-contact.interactive{cursor:pointer;transition:opacity .15s,filter .15s}.ladder-contact.interactive:hover{filter:brightness(1.15) drop-shadow(0 0 5px rgba(59,130,246,.5))}.ladder-power-item.interactive{cursor:pointer;transition:filter .15s}.ladder-power-item.interactive:hover{filter:brightness(1.15) drop-shadow(0 0 5px rgba(59,130,246,.5))}.ladder-hit-area,.ladder-power-hit{cursor:pointer;pointer-events:all}.ladder-contact.selected,.ladder-coil.selected{filter:drop-shadow(0 0 6px rgba(245,158,11,.6))}.ladder-rung-handle.editable{transition:transform .15s cubic-bezier(.2,.85,.25,1),filter .15s;-webkit-user-select:none;user-select:none}.ladder-rung-handle.editable:hover .ladder-rung-handle-bg{stroke:#3b82f6;fill:#3b82f61f}.ladder-rung-handle.editable:hover{filter:drop-shadow(0 2px 6px rgba(59,130,246,.45));transform:scale(1.08)}.ladder-rung-handle.dragging{cursor:grabbing!important;transform:scale(1.12);filter:drop-shadow(0 4px 12px rgba(245,158,11,.6))}.ladder-grip-icon{-webkit-user-select:none;user-select:none;font-family:monospace}.ladder-drop-indicator{animation:drop-pulse 1.2s infinite alternate ease-in-out}@keyframes drop-pulse{0%{opacity:.85}to{opacity:1;filter:drop-shadow(0 0 8px rgba(59,130,246,.9))}}.ladder-quick-actions{transition:transform .15s cubic-bezier(.2,.85,.25,1)}.ladder-quick-actions:hover{transform:scale(1.05)}@keyframes modal-pop{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-card{background:#182014;border:1px solid #3d4c32;border-radius:12px;padding:20px;box-shadow:0 16px 48px #000000bf;color:#ece6d2;position:relative;z-index:1010}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #36442a}.modal-header h3{margin:0;font-size:18px;font-weight:700;color:var(--stripe, #e6c11e);letter-spacing:.03em}.picker-section{background:#141b10;border:1px solid #2d3824;padding:14px;border-radius:8px}.picker-section-title{font-weight:800;font-size:14px;margin-bottom:8px;color:#60a5fa}.ladder-picker-modal{animation:modal-pop .2s cubic-bezier(.16,1,.3,1)}.ladder-picker-modal select,.ladder-picker-modal input[type=text],.ladder-picker-modal input[type=number]{background:#0f150c;color:#ece6d2;border:1px solid #3d4c32;border-radius:6px;padding:7px 10px;font-size:13px;outline:none}.ladder-picker-modal select:focus,.ladder-picker-modal input:focus{border-color:var(--stripe, #e6c11e);box-shadow:0 0 0 2px #e6c11e40}[data-theme=light] .modal-card,[data-theme=light] .ladder-picker-modal{background:#fff;border-color:#cbd5e1;color:#0f172a;box-shadow:0 16px 48px #0f172a33}[data-theme=light] .modal-header{border-bottom-color:#e2e8f0}[data-theme=light] .modal-header h3{color:#1e40af}[data-theme=light] .picker-section{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .picker-section-title{color:#2563eb}[data-theme=light] .ladder-picker-modal select,[data-theme=light] .ladder-picker-modal input[type=text],[data-theme=light] .ladder-picker-modal input[type=number]{background:#fff;color:#0f172a;border:1px solid #cbd5e1}[data-theme=light] .ladder-picker-modal select:focus,[data-theme=light] .ladder-picker-modal input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}[data-theme=light] .print-modal-overlay{background:#0f172a73}[data-theme=light] .print-modal-container{background:#fff;border:1px solid #cbd5e1;box-shadow:0 20px 48px #0f172a33;color:#0f172a}[data-theme=light] .print-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0}[data-theme=light] .print-modal-title h3{color:#1e40af}[data-theme=light] .print-doc-badge{background:#fff;color:#334155;border:1px solid #cbd5e1}[data-theme=light] .modal-close-btn{color:#64748b;background:#fff;border:1px solid #cbd5e1}[data-theme=light] .modal-close-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}[data-theme=light] .print-preview-header{color:#475569}[data-theme=light] .print-preview-meta{color:#2563eb}[data-theme=light] .print-preview-canvas-wrap{background:#f1f5f9;border:1px solid #cbd5e1;box-shadow:inset 0 2px 8px #0000000f}[data-theme=light] .print-preview-canvas-wrap.white{background:#e2e8f0}[data-theme=light] .print-preview-canvas-wrap.paper{background:#ded5c0}[data-theme=light] .print-preview-canvas-wrap.transparent{background:#e2e8f0}[data-theme=light] .print-preview-canvas-wrap.transparent .print-preview-doc-header{color:#1e293b;border-bottom-color:#00000026}[data-theme=light] .print-preview-svg-container{box-shadow:0 4px 16px #0000001a}[data-theme=light] .print-empty-hint{color:#dc2626}[data-theme=light] .print-option-label{color:#334155}[data-theme=light] .print-toggle-btn{background:#fff;border:1px solid #cbd5e1;color:#334155}[data-theme=light] .print-toggle-btn:hover{background:#f8fafc;border-color:#94a3b8}[data-theme=light] .print-toggle-btn.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;box-shadow:0 0 0 1px #2563eb}[data-theme=light] .print-bg-btn{background:#fff;border:1px solid #cbd5e1;color:#334155}[data-theme=light] .print-bg-btn:hover{background:#f8fafc;border-color:#94a3b8}[data-theme=light] .print-bg-btn.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;box-shadow:0 0 0 1px #2563eb}[data-theme=light] .bg-swatch{border-color:#cbd5e1}[data-theme=light] .print-checkbox-row{color:#1e293b}[data-theme=light] .print-orientation-tip{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}[data-theme=light] .print-orientation-tip strong{color:#2563eb}[data-theme=light] .print-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0}.layout-mode-switch .btn,.layout-mode-switch .seg-btn{font-weight:700;letter-spacing:.03em;transition:all .2s ease}.layout-mode-switch .btn.active,.layout-mode-switch .seg-btn.active{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 0 10px #2563eb66}.wire-label-group{cursor:move;pointer-events:all}.wire-label-hit{pointer-events:all}.rail-spine{fill:none;pointer-events:none;cursor:move}.rail-spine.selected{stroke:#2ca02c;stroke-width:3.4}.rail-break{stroke:var(--ink);stroke-width:2.2;stroke-linecap:butt;stroke-dasharray:6 5;opacity:.4;pointer-events:none}.rail-break.selected{stroke:#2ca02c;opacity:.75}@media print{.rail-break,.rail-break-handles{display:none!important}}.rail-end-handle{fill:#fff;stroke:#2ca02c;stroke-width:1.5;cursor:ns-resize}.rail-cell-bg{fill:transparent;stroke:transparent;pointer-events:all;cursor:pointer}.rail-cell-bg.selected{fill:#3b7de029;stroke:#3b7de0}.rail-cell-text{font-family:Red Hat Mono,ui-monospace,monospace;font-size:12px;fill:var(--ink);pointer-events:none}.rail-cell-text.nc,.rail-cell-text .nc{text-decoration:underline}.rail-inline{width:100%;height:100%;box-sizing:border-box;border:1px solid #3b7de0;background:#fffdf6;color:var(--ink);font:12px Red Hat Mono,ui-monospace,monospace;padding:0 4px}
