:root{color:#1a1a1a;background:#fff;font-family:system-ui,sans-serif}html,body,#root{height:100%;margin:0}.app{grid-template:"toolbar toolbar toolbar""palette canvas sidebar"minmax(0,1fr)"waves waves waves""status status status"/auto 1fr auto;height:100%;display:grid}.toolbar{background:#f6f6f6;border-bottom:1px solid #ddd;flex-wrap:wrap;grid-area:toolbar;align-items:center;gap:.4rem 1.5rem;padding:.4rem .8rem;display:flex}.toolbar h1{margin:0;font-size:1rem}.canvas{grid-area:canvas;min-width:0;min-height:0;overflow:hidden}.schematic-canvas{width:100%;height:100%;position:relative}.view-controls,.canvas-controls{-webkit-user-select:none;user-select:none;gap:.3rem;display:flex;position:absolute}.view-controls{bottom:.6rem;right:.6rem}.canvas-controls{top:.6rem;left:.6rem}:is(.view-controls,.canvas-controls) button{min-width:2.2rem;height:2.2rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:6px;padding:0 .6rem;font-size:.95rem;box-shadow:0 1px 3px #00000026}.canvas-controls button{background:#fdebd9;border-color:#e8740c}.canvas-controls button[aria-pressed=false]{background:#fff;border-color:#bbb}.canvas-controls button[aria-pressed=true]{color:#fff;background:#e8740c}.status{color:#555;background:#f6f6f6;border-top:1px solid #ddd;grid-area:status;justify-content:space-between;padding:.2rem .8rem;font-size:.8rem;display:flex}.status .warning{color:#d42020;font-weight:600}.toolbar .buttons{gap:.3rem;display:flex}.toolbar button{white-space:nowrap}.toolbar button[aria-pressed=true]{background:#fdebd9;border-color:#e8740c}.palette{-webkit-user-select:none;user-select:none;background:#fafafa;border-right:1px solid #ddd;grid-area:palette;width:11rem;overflow-y:auto}.palette h2{text-transform:uppercase;letter-spacing:.04em;color:#777;margin:0;padding:.6rem .6rem .2rem;font-size:.7rem;font-weight:600}.palette button{width:100%;font:inherit;text-align:left;cursor:grab;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.25rem .6rem;display:flex}.palette button:hover{background:#eef2fa}.palette button.active{background:#fdebd9;border-left-color:#e8740c}.palette-icon{flex:none;width:2.2rem;height:1.6rem}.palette-text{flex-direction:column;min-width:0;display:flex}.palette-title{font-size:.8rem;font-weight:600}.palette-subtitle{color:#666;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.palette-icon *{vector-effect:non-scaling-stroke;stroke-width:1px}.sidebar{background:#fafafa;border-left:1px solid #ddd;flex-direction:column;grid-area:sidebar;width:17rem;min-height:0;font-size:.8rem;display:flex}.sidebar section{padding:0 .7rem .7rem}.sidebar .properties{box-sizing:border-box;border-bottom:1px solid #ddd;flex:none;height:10rem;overflow-y:auto}.sidebar .tabs{border-bottom:1px solid #ddd;flex:none;gap:.2rem;padding:.5rem .7rem 0;display:flex}.sidebar .tabs button{font:inherit;color:#777;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px 4px 0 0;align-items:center;gap:.35rem;margin-bottom:-1px;padding:.3rem .6rem;font-size:.75rem;font-weight:600;display:flex}.sidebar .tabs button:hover{color:#1a1a1a}.sidebar .tabs button[aria-selected=true]{color:#1a1a1a;background:#fafafa;border-color:#ddd #ddd #fafafa}.sidebar .badge{font-weight:400}.sidebar .badge.error{color:#d42020}.sidebar .badge.warning{color:#c27c00}.sidebar .problems,.sidebar .netlist{flex:1;min-height:0;padding-top:.5rem;overflow-y:auto}.sidebar h2{text-transform:uppercase;letter-spacing:.04em;color:#777;align-items:baseline;gap:.5rem;margin:0;padding:.6rem 0 .4rem;font-size:.7rem;font-weight:600;display:flex}.sidebar h3{margin:0 0 .3rem;font-size:.85rem}.sidebar .hint{color:#666;margin:0 0 .4rem}.sidebar .field{flex-direction:column;gap:.15rem;margin:.4rem 0;display:flex}.sidebar .field>span:first-child{color:#666;font-size:.7rem}.sidebar .field input,.sidebar .field select,.sidebar .field textarea{font:inherit;padding:.15rem .3rem;font-size:.85rem}.sidebar .field textarea{resize:none}.sidebar .field input[aria-invalid=true]{border-color:#d42020;outline-color:#d42020}.sidebar .field-row{gap:1rem;display:flex}.sidebar .chip-input{align-items:center;gap:.2rem;font-size:.85rem;display:flex}.sidebar .chip-input input{width:3rem}.sidebar .field-error,.sidebar .field-warning{color:#d42020;margin:0;font-size:.75rem}.sidebar dl{margin:0}.sidebar dt{font-weight:600}.sidebar dd{color:#333;margin:0 0 .4rem .8rem}.netlist ul{margin:0;padding:0;list-style:none}.netlist button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:.25rem .4rem;display:block}.netlist button:hover{background:#f0f0f0}.netlist button.touched{background:#fdebd9}.netlist button[aria-pressed=true]{background:#e3f4ea;border-color:#1f9d55}.netlist .net-name{font-weight:600;display:block}.netlist .net-name.auto{color:#777;font-style:italic;font-weight:400}.netlist .net-members{color:#333;margin-left:.8rem;display:block}.problems ul{margin:0;padding:0;list-style:none}.problems button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;gap:.4rem;padding:.3rem .4rem;display:flex}.problems button:hover{background:#f0f0f0}.problems button[aria-pressed=true]{background:#fde8e8;border-color:#d42020}.problems .icon{flex:none}.problems .error .icon{color:#d42020}.problems .warning .icon{color:#c27c00}.sidebar .stimulus{flex-direction:column;flex:1;gap:.4rem;min-height:0;padding-top:.5rem;display:flex}.stimulus textarea{box-sizing:border-box;resize:none;border:1px solid #ccc;border-radius:3px;flex:10rem;width:100%;min-height:6rem;padding:.35rem .4rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.4}.stimulus .stimulus-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.stimulus .stimulus-buttons button{font:inherit}.stimulus .stimulus-status{flex:0 auto;max-height:45%;overflow-y:auto}.stimulus .messages{margin:0;padding:0;list-style:none}.stimulus .messages li{gap:.4rem;padding:.15rem 0;display:flex}.stimulus .messages .icon{flex:none}.stimulus .error .icon{color:#d42020}.stimulus .warning .icon{color:#c27c00}.waves{background:#fff;border-top:1px solid #ccc;flex-direction:column;grid-area:waves;min-height:0;font-size:.8rem;display:flex;position:relative}.app.waves-full .waves{z-index:3;grid-area:2/1/4/-1}.app.waves-full :is(.palette,.canvas,.sidebar){visibility:hidden}.waves:focus{outline:none}.waves-full-button{margin-left:auto}.waves-resize{cursor:ns-resize;z-index:2;height:6px;position:absolute;top:-3px;left:0;right:0}.waves-header{background:#f6f6f6;border-bottom:1px solid #ddd;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.25rem .6rem;display:flex}.waves:not(.open) .waves-header{border-bottom:none}.waves-header button,.waves-header select{font:inherit}.waves-toggle{cursor:pointer;background:0 0;border:none;padding:.1rem .3rem;line-height:1;font-size:1rem!important}.waves-summary{color:#444}.waves-header .waves-run{cursor:pointer;margin-left:.15rem;padding:0 .4rem}.waves .outdated{color:#c27c00}.waves-tools{gap:.25rem;display:flex}.cursor-switch{display:flex}.cursor-switch button{font:inherit;cursor:pointer;background:#fff;border:1px solid;min-width:1.8rem;font-weight:600}.cursor-switch button:first-child{border-radius:4px 0 0 4px}.cursor-switch button:last-child{border-left:none;border-radius:0 4px 4px 0}.cursor-switch .cursor-a{color:#e8740c}.cursor-switch .cursor-b{color:#7c3aed}.cursor-switch .cursor-a[aria-pressed=true]{color:#fff;background:#e8740c;border-color:#e8740c}.cursor-switch .cursor-b[aria-pressed=true]{color:#fff;background:#7c3aed;border-color:#7c3aed}.waves-readout{font-variant-numeric:tabular-nums;gap:.8rem;display:flex}.waves-readout .cursor-a{color:#e8740c;font-weight:600}.waves-readout .cursor-b{color:#7c3aed;font-weight:600}.waves .hint{color:#888}.waves-warnings-button{color:#c27c00}.waves-warnings{border-bottom:1px solid #ddd;max-height:6rem;margin:0;padding:.2rem .6rem;list-style:none;overflow-y:auto}.waves-warnings button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.1rem 0}.waves-warnings button:hover{text-decoration:underline}.waves-warnings .icon{color:#c27c00;margin-right:.4rem}.waves-body{outline:none;flex:1;min-height:0;overflow-y:auto}.waves-axis-row,.waves-rows{display:flex}.waves-axis-row{z-index:1;color:#888;background:#fff;position:sticky;top:0}.waves-names-head,.waves-names{box-sizing:border-box;border-right:1px solid #eee;flex:none;width:150px}.waves-values-head,.waves-values{box-sizing:border-box;text-align:center;border-right:1px solid #eee;flex:none;width:44px}.waves-names-head,.waves-values-head{padding-left:.6rem;line-height:32px}.waves-axis,.waves-traces{-webkit-user-select:none;user-select:none;flex:1;min-width:0}.waves-axis{display:block}.waves-names{-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;outline:none;position:relative}.waves-name,.waves-value{white-space:nowrap;text-overflow:ellipsis;height:30px;line-height:30px;overflow:hidden}.waves-name{cursor:grab;padding:0 .6rem;font-family:ui-monospace,Menlo,Consolas,monospace}.waves-name.indent{padding-left:1.6rem}.waves-check:before{content:"○";width:1.1em;display:inline-block}.waves-name[aria-selected=true] .waves-check:before{content:"●";color:#e8740c}.waves-tools button[aria-pressed=true]{color:#fff;background:#e8740c;border-color:#e8740c}.waves-name.member{color:#555;padding-left:2.6rem}.waves-expand{width:1rem;font:inherit;color:#555;cursor:pointer;background:0 0;border:none;margin:0 0 0 -1rem;padding:0}.waves-expand:before{content:"▸"}.waves-expand[aria-expanded=true]:before{content:"▾"}.waves-expand:hover{color:#000}.waves-name:hover{background:#f2f2f2}.waves-name[aria-selected=true]{background:#e8740c26}.waves-value{font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,Consolas,monospace}.waves-insert{pointer-events:none;background:#e8740c;height:2px;position:absolute;left:0;right:0}.waves-names .hint{padding:.4rem .6rem}.waves-tabs{gap:.15rem;display:flex}.waves-tabs [role=tab]{cursor:pointer;color:#444;background:0 0;border:1px solid #0000;border-radius:4px;padding:.1rem .5rem}.waves-tabs [role=tab][aria-selected=true]{color:#111;background:#fff;border-color:#ccc;font-weight:600}.waves:not(.open) .waves-tabs [role=tab][aria-selected=true]{background:0 0;border-color:#0000;font-weight:400}.waves-draw{flex-direction:column;flex:1;min-height:0;display:flex}.waves-draw[hidden]{display:none}.draw{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}.draw-toolbar,.draw-settings,.draw-blocked{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.25rem .6rem;display:flex}.draw-toolbar button,.draw-toolbar select,.draw-toolbar input,.draw-settings select,.draw-settings input,.draw-blocked button{font:inherit}.draw-readout{color:#666;font-variant-numeric:tabular-nums;text-align:right;min-width:5rem;margin-left:auto}.draw-settings{min-height:1.6rem}.draw-kind{gap:.6rem;display:flex}.draw .error{color:#d42020;margin-left:.4rem}.time-field input[aria-invalid=true]{border-color:#d42020;outline-color:#d42020}.draw-blocked{color:#7a4a00;background:#fff4e5}.draw-name{cursor:pointer}.draw-tag{color:#888;margin-left:.5rem;font-family:Arial,Helvetica,sans-serif;font-size:.7rem}.draw svg.blocked{opacity:.5}.toolbar .file-name{color:#333;white-space:nowrap;font-size:.9rem}.toolbar .unsaved{color:#e8740c;font-weight:700}.menu{position:relative}.menu-items{z-index:10;background:#fff;border:1px solid #ccc;border-radius:4px;flex-direction:column;min-width:11rem;margin-top:2px;padding:.2rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 2px 8px #00000026}.menu-items button{text-align:left;background:0 0;border:none;border-radius:3px;padding:.3rem .5rem}.menu-items button:hover{background:#eee}.app.dropping{outline-offset:-3px;outline:3px dashed #1d4fbf}.status .recover{margin-left:1rem;padding:0 .4rem;font-size:.8rem}.recover-dialog{border:1px solid #ccc;border-radius:6px;max-width:34rem;padding:1rem 1.2rem}.recover-dialog h2{margin:0 0 .5rem;font-size:1.1rem}.recover-dialog p{color:#444;font-size:.9rem}.recover-dialog ul{margin:0;padding:0;list-style:none}.recover-dialog li{border-top:1px solid #eee;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.recover-dialog li>div{flex:1}.recover-dialog .detail{color:#666;font-size:.8rem}.recover-dialog .actions{justify-content:flex-end;margin-top:.8rem;display:flex}.shortcuts-dialog{border:1px solid #ccc;border-radius:6px;max-width:min(60rem,92vw);max-height:88vh;padding:0}.shortcuts-body{padding:1rem 1.2rem}.shortcuts-dialog h2{margin:0 0 .6rem;font-size:1.1rem}.shortcuts-groups{columns:2 22rem;column-gap:2rem}.shortcuts-groups section{break-inside:avoid;margin-bottom:.8rem}.shortcuts-dialog h3{text-transform:uppercase;letter-spacing:.04em;color:#666;margin:0 0 .3rem;font-size:.75rem}.shortcuts-dialog table{border-collapse:collapse;width:100%;font-size:.85rem}.shortcuts-dialog td{vertical-align:top;padding:.15rem 0}.shortcuts-dialog table{table-layout:fixed}.shortcuts-dialog td.keys{width:13rem;padding-right:.8rem}.shortcuts-dialog .gesture{color:#333;font-style:italic}.shortcuts-dialog kbd{font:inherit;background:#f7f7f7;border:1px solid #ccc;border-bottom-width:2px;border-radius:3px;padding:0 .3rem;font-size:.8rem}.shortcuts-dialog .plus,.shortcuts-dialog .or{color:#888;padding:0 .15rem;font-size:.75rem}.shortcuts-dialog .actions{justify-content:flex-end;display:flex}.shortcuts-dialog kbd,.shortcuts-dialog .gesture{white-space:nowrap}.sidebar .field.inline{flex-direction:row;align-items:center;gap:.5rem;margin:.25rem 0}.sidebar .field.inline>span:first-child{flex:none;width:2.5rem}.sidebar .field.inline input{flex:1;min-width:0}@page{margin:.5in}@page landscape{size:landscape}@page portrait{size:portrait}@media print{body>:not(#print-root){display:none!important}html,body{height:auto}}#print-root{display:none}@media print{#print-root{display:block}}.print-page{page:portrait;break-after:page}.print-page.landscape{page:landscape}.print-page:last-child{break-after:auto}.print-page svg{max-width:100%;height:auto;display:block}.wheel-debug{z-index:50;background:#fffffff5;border:1px solid #bbb;border-radius:6px;width:560px;max-width:calc(100vw - 24px);max-height:45vh;font:12px ui-monospace,Menlo,Consolas,monospace;position:fixed;top:56px;right:12px;overflow:auto;box-shadow:0 4px 16px #00000026}.wheel-debug-head{background:#f4f4f4;border-bottom:1px solid #ddd;align-items:center;gap:8px;padding:6px 8px;display:flex;position:sticky;top:0}.wheel-debug-status{color:#555;font-family:system-ui,sans-serif}.wheel-debug-head strong{font-family:system-ui,sans-serif}.wheel-debug table{border-collapse:collapse;width:100%}.wheel-debug th,.wheel-debug td{text-align:right;white-space:nowrap;padding:2px 6px}.wheel-debug th:nth-child(2),.wheel-debug td:nth-child(2),.wheel-debug th:last-child,.wheel-debug td:last-child{text-align:left}.wheel-debug tr.zoom td:last-child{color:#1d4fbf}.wheel-debug tr.pan td:last-child{color:#a35a00}.wheel-mode{margin-left:1rem}.wheel-mode select{font:inherit;font-size:.75rem}.status .version{color:#888;margin-left:1rem}.status .about-link{font:inherit;color:#2a5db0;cursor:pointer;background:0 0;border:none;margin-left:.6rem;padding:0;text-decoration:underline}.about-dialog{border:1px solid #ccc;border-radius:6px;width:min(38rem,92vw);max-height:88vh;padding:0}.about-body{padding:1rem 1.2rem;font-size:.9rem;line-height:1.4}.about-dialog h2{margin:0 0 .6rem;font-size:1.1rem}.about-dialog h3{text-transform:uppercase;letter-spacing:.04em;color:#666;margin:1rem 0 .3rem;font-size:.75rem}.about-dialog p{margin:0 0 .5rem}.about-dialog kbd{font:inherit;background:#f7f7f7;border:1px solid #ccc;border-bottom-width:2px;border-radius:3px;padding:0 .3rem;font-size:.8rem}.about-details{white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text;background:#f6f6f6;border:1px solid #ddd;border-radius:4px;margin:1rem 0 .5rem;padding:.5rem .6rem;font-size:.75rem}.about-copyright{color:#666;font-size:.8rem}.about-dialog .actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.about-dialog .copied{color:#555;margin-right:auto;font-size:.8rem}
