:root{font-family:"Segoe UI",Arial,sans-serif;font-size:14px;color:#1e2d2c;background:#f2f6f5;--teal:#087f78;--border:#d8e5e3}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #bad6d2;background:#fff;color:#086e68;border-radius:6px;padding:7px 10px;cursor:pointer}button:hover{background:#edf7f5}button:disabled{opacity:.42;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #099b8f;outline-offset:2px}input:not([type=checkbox]):not([type=color]):not([type=range]){border:1px solid #bfcecd;border-radius:5px;padding:7px 8px;background:white;color:#23332f;min-width:0;width:100%}input[type=checkbox],input[type=range]{accent-color:var(--teal)}.workspace{max-width:1540px;margin:auto;padding:30px 26px 38px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#6d8a82;font-weight:700;margin-bottom:7px}h1{font-size:28px;letter-spacing:-.7px;margin:0 0 9px}.page-head p{margin:0;max-width:1040px;line-height:1.7;color:#5f716b;font-size:13px}.local-badge{border:1px solid #cee3da;border-radius:20px;padding:8px 12px;font-size:11px;color:#53796b;display:flex;gap:7px;align-items:center;white-space:nowrap}.local-badge span{width:6px;height:6px;border-radius:50%;background:#27997c}.card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 3px 16px #143d3006}.card-head{padding:16px 21px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:10px}.card-head h2{font-size:16px;margin:0}.history{display:flex;gap:6px}.history button{font-size:11px;padding:5px 8px}.editor-layout{display:grid;grid-template-columns:410px minmax(0,1fr);gap:26px;padding:23px}.controls{min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}h3{font-size:13px;margin:0}.small{font-size:10px;padding:4px 7px}.target-notice{background:#eef7f3;border:1px solid #d8e9e2;color:#467566;border-radius:5px;font-size:11px;padding:7px 9px;margin-bottom:13px}.palette-group{margin-bottom:12px}.palette-group h4{font-size:12px;font-weight:400;color:#697b74;margin:0 0 6px}.symbol-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.symbol-button{color:#24332f;border:1px solid #d7e3e0;padding:5px 3px 7px;min-height:79px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;line-height:1.3;text-align:center}.symbol-button svg{width:56px;max-width:100%;height:40px}.symbol-button span{min-height:26px;display:flex;align-items:center;justify-content:center}.outline{font-size:12px;padding:7px 10px}.circuit-editor{margin-top:20px;padding-top:17px;border-top:1px solid var(--border)}.hint{font-size:10px;color:#86928c;line-height:1.6;margin:0 0 11px}.component-row{display:grid;grid-template-columns:27px minmax(62px,1fr) minmax(46px,86px) auto;gap:5px;align-items:center;margin:7px 0}.component-icon svg{width:27px;height:25px;display:block}.component-name{font-size:11px;color:#35453e;line-height:1.3}.component-label{font-size:12px;padding:4px 6px!important}.row-actions{display:flex;align-items:center;gap:3px}.row-actions button{font-size:11px;min-width:25px;padding:3px 5px}.row-actions .remove{color:#7d8c85}.component-extra{display:flex;gap:5px;padding-left:32px;margin:-2px 0 8px}.component-extra button{font-size:10px;padding:3px 7px}.component-extra .closed{background:#e8f5ee;color:#246f4e}.component-extra .opened{background:#fff7e8;color:#8e6819}.parallel-group{border:1px solid #bcdad3;border-radius:7px;padding:9px;margin:10px 0;background:#fbfdfc}.parallel-header{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.parallel-header strong{font-size:11px;color:#4c7668}.branch{border:1px dashed #d5e5df;border-radius:5px;padding:7px;margin:7px 0;background:white}.branch.selected{border:1px solid #3da692;box-shadow:0 0 0 2px #e6f6f0}.branch-head{display:flex;justify-content:space-between;align-items:center;gap:5px}.branch-select{font-size:10px;padding:4px 7px}.branch.selected .branch-select{background:#087f78;color:white;border-color:#087f78}.branch-head .remove-branch{padding:2px 5px;border:0;color:#85958e;font-size:16px}.branch>.empty{font-size:10px;color:#8a9d94;margin:8px 0 0;line-height:1.5}.branch .component-row{grid-template-columns:23px minmax(44px,1fr) minmax(37px,64px) auto;gap:3px}.branch .component-name{font-size:10px}.branch .row-actions button{min-width:20px;font-size:10px;padding:3px}.branch .component-icon svg{width:24px}.branch .parallel-group{padding:5px}.branch .branch{padding:5px}.branch .branch .component-row{grid-template-columns:20px minmax(35px,1fr) minmax(35px,50px)}.branch .branch .row-actions{grid-column:2/4;justify-content:flex-end}.branch .branch .component-name{font-size:9px}.empty-main{padding:18px 10px;border:1px dashed var(--border);border-radius:6px;font-size:12px;color:#7c9186;text-align:center}.caption-label{display:block;font-size:11px;color:#5d756a;margin:16px 0 12px}.caption-label input{margin-top:6px;font-size:12px;padding:9px!important}.appearance{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 0}.appearance summary{font-size:11px;color:#087f78;cursor:pointer}.appearance>div{display:grid;gap:9px;margin-top:12px;font-size:11px}.appearance label{display:flex;align-items:center;gap:8px}.appearance input[type=color]{width:35px;height:24px;border:0;background:transparent}.appearance input[type=range]{width:130px}.examples{margin-top:18px}.examples h3{font-size:11px;font-weight:400;color:#7c8b83;margin-bottom:8px}.examples>div{display:flex;gap:5px;flex-wrap:wrap}.examples button{font-size:11px;padding:6px 8px}.draft-note{font-size:10px;line-height:1.6;color:#8b9c91;margin-top:15px}.preview-column{min-width:0}.preview-sticky{position:sticky;top:16px}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1px;color:#87988f;margin:0 2px 10px}.preview-head>span:last-child{letter-spacing:0}.preview-scroll{border:1px solid var(--border);border-radius:7px;background:white;overflow:auto}.diagram{min-width:0;padding:8px}.diagram svg{display:block;width:100%;height:auto}.exports{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:13px}.exports button{font-size:12px}.primary{background:var(--teal);border-color:var(--teal);color:white}.primary:hover{background:#066e67}.transparent{font-size:11px;color:#6f8578;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px}.status{font-size:12px;color:#477565;line-height:1.65;margin-top:12px}.status.error{color:#b42318}.export-hint{font-size:11px;color:#8a9a90;line-height:1.7;margin-top:8px}.instruction{border-top:1px solid var(--border);margin-top:23px;padding:18px 0;color:#7b9082;font-size:12px;line-height:1.9}.instruction strong{color:#4f7662;font-size:12px}.instruction ol{padding-left:20px;margin:6px 0 12px}.instruction p{font-size:11px;margin:0;color:#91a095}.selected-symbol{filter:drop-shadow(0 0 2px #269f87)}[hidden]{display:none!important}@media(min-width:1600px){.editor-layout{grid-template-columns:440px minmax(0,1fr)}}@media(max-width:1100px){.editor-layout{grid-template-columns:365px minmax(0,1fr);gap:18px;padding:18px}.workspace{padding:23px 16px}.local-badge{display:none}.symbol-button{min-height:75px}.component-row{grid-template-columns:24px minmax(55px,1fr) 64px auto}.row-actions button{min-width:23px}}@media(max-width:800px){.editor-layout{grid-template-columns:1fr}.preview-column{border-top:1px solid var(--border);padding-top:18px}.preview-sticky{position:static}.workspace{padding:18px 10px}.page-head{margin-bottom:17px}h1{font-size:24px}.page-head p{font-size:12px}.card-head{padding:14px 17px}.history button{font-size:10px}.diagram svg{min-width:560px}.symbol-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.component-row{grid-template-columns:25px minmax(55px,1fr) 68px auto}.instruction{margin-top:17px}.branch .component-row{grid-template-columns:20px minmax(40px,1fr) 52px auto}.branch .row-actions button{min-width:20px}.section-title{flex-wrap:wrap}}@media print{@page{size:A4 landscape;margin:12mm}.workspace,.editor-layout{display:block;margin:0;padding:0}.card,.preview-scroll{border:0;box-shadow:none}.page-head,.card-head,.controls,.preview-head,.exports,.transparent,.status,.export-hint,.instruction{display:none!important}.preview-column{border:0;padding:0}.preview-sticky{position:static}.preview-scroll{overflow:visible}.diagram{padding:0}.diagram svg{min-width:0;width:100%;max-height:170mm}body{background:white}}
/* Free placement workspace. Automatic layout keeps its original styles. */
.free-board{height:100dvh;overflow:hidden;font-size:12px}
.free-board .workspace{height:100%;max-width:none;padding:8px;display:flex;flex-direction:column;gap:8px}
.free-board .page-head{margin:0;gap:12px;flex-shrink:0}
.free-board .eyebrow{display:none}.free-board h1{font-size:19px;margin:0 0 3px}
.free-board .page-head p{font-size:11px;line-height:1.4}
.free-board .local-badge{display:block;padding:4px 8px;font-size:10px;border-radius:5px}
.free-board .local-badge a{color:#087f78;text-decoration:none}
.free-board .card{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:8px}
.free-board .card-head{padding:6px 10px;flex-shrink:0}.free-board .card-head h2{font-size:12px}
.free-board .editor-layout{flex:1;min-height:0;grid-template-columns:290px minmax(0,1fr);padding:0;gap:0}
.free-board .controls{overflow:auto;padding:10px;border-right:1px solid var(--border);scrollbar-width:thin}
.free-board h3{font-size:12px}.free-board .target-notice{font-size:11px;padding:6px;margin-bottom:8px}
.free-board .palette-group{margin-bottom:8px}.free-board .palette-group h4{font-size:11px;margin-bottom:4px}
.free-board .symbol-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.free-board .symbol-button{min-height:62px;font-size:10px;padding:3px 2px;gap:0}
.free-board .symbol-button svg{height:32px;width:47px}.free-board .symbol-button span{min-height:24px}
.free-board .pending{border-color:#087f78;background:#e2f5ef;box-shadow:0 0 0 1px #087f78}
.free-board .circuit-editor{margin-top:10px;padding-top:10px}
.free-board .preview-column{min-height:0;display:flex;padding:8px;border:0}
.free-board .preview-sticky{position:static;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.free-board .preview-head{margin-bottom:6px;font-size:10px;flex-shrink:0}
.board-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:7px;flex-shrink:0}
.board-tools button{font-size:11px;padding:5px 8px;min-height:29px}
.board-tools button[aria-pressed=true]{background:#087f78;color:white;border-color:#087f78}
.board-tools label{display:flex;gap:5px;align-items:center;font-size:11px;margin-left:auto}
.board-tools select{font:inherit;padding:4px;border:1px solid var(--border);border-radius:4px}
.free-board .preview-scroll{flex:1;min-height:180px;position:relative;overscroll-behavior:contain;border-radius:4px;background:#f8fafb}
.free-board .diagram{padding:0;min-width:640px;touch-action:none}
.free-board .diagram svg{width:100%;height:auto;min-width:0;user-select:none}
.free-board .diagram[data-tool=wire],.free-board .diagram[data-tool=place]{cursor:crosshair}
.board-part{cursor:grab}.board-part:active{cursor:grabbing}.terminal{cursor:crosshair}.wire-hit{cursor:pointer}
.free-board .exports{justify-content:flex-start;margin-top:7px;gap:5px}.free-board .exports button{font-size:11px;padding:5px 8px}
.free-board .transparent{justify-content:flex-start;margin-top:5px;font-size:10px}
.free-board .status{font-size:11px;line-height:1.4;min-height:16px;margin-top:5px;max-height:32px;overflow:auto}
.free-board .export-hint{display:none}.free-board .instruction{font-size:10px;line-height:1.4;margin:5px 0 0;padding:5px 0 0}
.free-board .instruction strong{font-size:10px}.free-board .instruction p{font-size:10px;color:#5a7368}
.part-inspector{display:grid;gap:7px;font-size:11px}.part-inspector label{display:grid;gap:4px}.part-inspector p{margin:0;color:#6d8177}
.board-item-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.board-item-list button{font-size:10px;padding:3px 6px}
@media(max-width:900px){.free-board .editor-layout{grid-template-columns:240px minmax(0,1fr)}.free-board .controls{padding:7px}.free-board .symbol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.free-board .page-head p{display:none}.free-board .instruction{display:none}}
@media(max-width:600px){.free-board .editor-layout{display:flex;flex-direction:column}.free-board .controls{max-height:32vh;border-right:0;border-bottom:1px solid var(--border);flex-shrink:0}.free-board .symbol-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.free-board .preview-column{flex:1}.free-board .preview-scroll{min-height:120px}.free-board .page-head{gap:5px}.free-board h1{font-size:16px}.free-board .local-badge{font-size:9px}.free-board .board-tools label{margin-left:0}.free-board .board-tools button{padding:4px 6px}.free-board .card-head h2{display:none}}
@media print{.free-board{height:auto;overflow:visible}.free-board .workspace,.free-board .card,.free-board .editor-layout,.free-board .preview-column,.free-board .preview-sticky{display:block;height:auto;overflow:visible;padding:0}.free-board .board-tools{display:none}.free-board .preview-scroll{overflow:visible;border:0;min-height:0}.free-board .diagram{min-width:0!important;width:100%!important}.free-board [data-editor-only]{display:none}.free-board .diagram svg{width:100%;max-height:170mm}}
.movable-part-label{cursor:move;pointer-events:all}
.movable-part-label:hover{fill:#087f78}
.free-board .diagram[data-tool=select]{cursor:crosshair}
