*{box-sizing:border-box}body{margin:0;font:14px Arial,sans-serif;color:#243749;background:#edf1f5}button,input,select,textarea{font:inherit}button,select{padding:8px;border:1px solid #bcc9d3;border-radius:5px;background:#fff;cursor:pointer}button:hover{background:#edf5fc}button.active{background:#cfe7ff;border-color:#1870b1}button:disabled{opacity:.4}header{display:flex;flex-wrap:wrap;gap:7px;align-items:center;background:#183c5d;color:#fff;padding:10px;min-height:60px}header strong{margin-right:8px}#app{display:grid;grid-template-columns:210px minmax(300px,1fr) 310px;height:calc(100vh - 110px)}aside{padding:12px;background:#fff;overflow:auto;border-right:1px solid #cad3dc}#props{border-left:1px solid #cad3dc}h3{font-size:14px;margin:14px 0 8px}.palette{display:block;width:100%;text-align:left;margin:6px 0}#stage{overflow:auto;background:#dce3ea}#paper{display:block;background:#fff;touch-action:none;user-select:none}footer{padding:10px;height:50px;background:#fff;color:#214e74;border-top:1px solid #bac9d6}label{display:block;margin:10px 0 5px}input,textarea{width:100%;padding:7px;border:1px solid #bac7d2;border-radius:4px}textarea{height:130px;resize:vertical;font:12px monospace}p{font-size:12px;line-height:1.5;color:#607181}.full{width:100%;margin-top:8px}.group-row{display:flex;gap:5px;margin:5px 0}.group-row button:first-child{flex:1;text-align:left}.danger{color:#9f2525}#paper text{font-family:Arial,sans-serif;fill:#17212b}#paper .device{cursor:move}#paper .selected .body{stroke:#0c7ec2;stroke-width:2.5}#paper .pin{cursor:crosshair}#paper .pin circle{fill:#fff;stroke:#17212b;stroke-width:1.5}#paper .pin:hover circle{fill:#bae0ff;stroke:#007cc1;stroke-width:3}#paper .selected-pin circle{fill:#ffc445;stroke:#a66800;stroke-width:3}#paper .wire-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer;pointer-events:stroke}#paper .wire-line{fill:none;stroke-width:1.8;pointer-events:none}#paper .selected-wire{stroke-width:3.5}#paper .wire-label{paint-order:stroke;stroke:#fff;stroke-width:5;pointer-events:none}#paper .preview{fill:none;stroke:#1385bc;stroke-width:2;stroke-dasharray:7 4;pointer-events:none}.grid{pointer-events:none}@media print{header,aside,footer{display:none}#app{display:block;height:auto}#stage{overflow:visible}#paper{width:100%!important;height:auto!important}}
/* Keep terminal names readable over the internal apparatus circuit. */
#paper .pin text{paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}
body{height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}#app{height:auto;min-height:0}footer{height:auto;min-height:38px;font-size:12px}header{gap:5px}header button,header select{padding:6px 8px;font-size:12px}.symbol-hit{stroke:none!important;fill:transparent!important}#paper .selected .symbol-hit{stroke:#338bc0!important;stroke-width:.8;stroke-dasharray:4 5}.ugo .terminal-label{font-size:10px}.ugo .body{pointer-events:all}#keyHelp{border:1px solid #a8b9c8;border-radius:8px;padding:22px;max-width:800px}#keyHelp::backdrop{background:#142c4166}#keyHelp td{padding:6px 12px;border-bottom:1px solid #e1e7ed;font-size:13px}kbd{font-family:monospace;white-space:nowrap}.compact-properties{border-bottom:1px solid #ddd;padding-bottom:12px}
