:root{--ink:#16374b;--teal:#137f88;--line:#cfdae1;--bg:#f1f5f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:13px/1.4 system-ui,sans-serif;color:var(--ink)}header{background:#15384d;color:white;display:flex;justify-content:space-between;align-items:center;padding:16px 22px}header strong{font-size:21px;letter-spacing:1px}header span{color:#63d5c8}header small{display:block;font-size:11px;color:#c3d8e4}#hostBadge{border:1px solid #617c8c;padding:5px 10px;border-radius:20px;font-size:11px}nav{padding:9px 12px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:5px;background:white}button,input,select,textarea{font:inherit;border:1px solid #bfd0d9;border-radius:6px;padding:7px;color:var(--ink);background:white}button{cursor:pointer;white-space:nowrap}button:hover{background:#e3f2f3}button:disabled{cursor:default;opacity:.45}button.primary{background:var(--teal);border-color:var(--teal);color:white}input:focus,textarea:focus,button:focus-visible{outline:2px solid #28a9a9}h2{font-size:14px;margin:0 0 10px}h3{font-size:13px}p{margin:8px 0}.workspace{display:grid;grid-template-columns:205px minmax(400px,1fr) 250px;min-height:760px}aside{background:white;padding:14px;border-right:1px solid var(--line)}.properties{border-left:1px solid var(--line);border-right:0}.library #search,.library #category{width:100%;margin-bottom:8px}.library #library{max-height:610px;overflow:auto}.libHeading{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#648594;padding:12px 0 5px}.libCard{display:flex;align-items:center;width:100%;margin:4px 0;padding:7px;text-align:left;border:1px solid #d9e3e8;background:#fafcfd;cursor:grab}.libIcon{width:37px;font-weight:700;font-size:15px;color:var(--teal)}.libName{font-size:12px;font-weight:600}.libDetail{font-size:10px;color:#6c8694}.hint,.tips{font-size:11px;color:#638091}.tips{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.tips ol{padding-left:18px}main{min-width:0;padding:10px}.editorToolbar{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding-bottom:8px}.editorToolbar button{padding:5px 8px}#viewport{height:440px;overflow:auto;border:1px solid #c0d2dc;background:white;position:relative;touch-action:none;border-radius:7px}#world{width:2200px;height:1400px;position:relative;transform-origin:0 0}#board,#wires{position:absolute;inset:0;width:2200px;height:1400px}#board{pointer-events:none;background-image:radial-gradient(#c7d7df 1px,transparent 1px);background-size:20px 20px}#wires{z-index:2;overflow:visible;pointer-events:none}.wire{fill:none;stroke:#4b899b;stroke-width:2.2;pointer-events:stroke;cursor:pointer}.wire.selected{stroke:#ed9b31;stroke-width:4}.block{position:absolute;width:150px;min-height:90px;pointer-events:auto;border:1.5px solid #72a5b5;border-radius:8px;background:white;box-shadow:0 3px 10px #16374b15;cursor:move;z-index:3;user-select:none}.block.selected{border:2px solid #eaa23b;box-shadow:0 0 0 2px #ffd89b55}.block .title{padding:7px 9px;background:#ecf5f6;border-radius:7px 7px 0 0;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block .symbol{text-align:center;font-size:19px;font-weight:600;margin:8px 0 2px;color:#1b6175}.block .param{text-align:center;font-size:10px;color:#6c8190;margin-bottom:8px}.port{position:absolute;border-radius:50%;border:2px solid white;background:#2c8c9b;width:13px;height:13px;padding:0;cursor:crosshair;z-index:5}.port.in{left:-7px}.port.out{right:-7px}.port.pending{background:#eaa23b;box-shadow:0 0 0 3px #ffdfad}.portLabel{position:absolute;font-size:9px;color:#487084;pointer-events:none;left:10px}#breadcrumb{font-size:11px;margin-bottom:5px}#breadcrumb button{padding:3px 7px}.instructions{font-size:10px;color:#6b8798;padding:5px}#modelInfo{padding:6px 0 10px;font-size:11px}#modelInfo h2{font-size:15px;margin:0 0 4px}.runbar,.resultsToolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 0}.runbar input{width:72px}.runbar progress{width:110px;height:12px}#status{padding:8px;background:#e3eef3;border-radius:6px;min-height:35px}.resultsToolbar{font-size:11px}.resultsToolbar button{font-size:11px}canvas{width:100%;height:250px;background:white;border:1px solid var(--line);border-radius:7px}#displays{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.display{padding:7px 12px;border:1px solid var(--line);background:white;border-radius:7px}.display strong{font-size:17px;display:block}.field{display:block;margin:10px 0;font-size:12px}.field input,.field textarea{width:100%;margin-top:4px}.field small{display:block;color:#78909c;font-size:10px}.equation{background:#edf5f7;border-left:3px solid #228a92;padding:10px;font-size:11px;white-space:pre-wrap}.properties button{margin:4px 3px 4px 0}#blockCount{font-weight:normal;color:#638998}#zoomLabel{font-size:11px;width:38px;text-align:center}@media(max-width:950px){.workspace{grid-template-columns:175px minmax(360px,1fr)}.properties{grid-column:1/-1;border-top:1px solid var(--line)}.properties .tips{display:none}#props{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}#props .field{min-width:130px;max-width:240px}.equation{max-width:360px}.library #library{max-height:540px}}@media(max-width:580px){.workspace{display:block}.library{padding:9px}.library #library{height:145px;display:flex;flex-wrap:wrap;gap:5px}.libHeading{display:none}.libCard{width:130px;margin:0}.library .hint{display:none}.library #search,.library #category{width:48%}.libDetail{display:none}#viewport{height:380px}header{padding:10px}header strong{font-size:17px}nav select{max-width:220px}}

/* Larger connection handles and drag preview. */
.port{width:21px;height:21px;font-size:9px;line-height:17px;color:white;touch-action:none}.port.in{left:-11px}.port.out{right:-11px}.port:hover{background:#e9a039;box-shadow:0 0 0 4px #f6d29480}.preview{fill:none;stroke:#e69b32;stroke-width:3;stroke-dasharray:7 4;pointer-events:none}
