:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e7e9ee;background:#101215;font-synthesis:none;--muted:#8f98a8;--line:#2b3039;--accent:#a8b9fc;--power:#ddb671}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{color:inherit;background:#242830;border:1px solid #393f4b;border-radius:6px;padding:8px 12px}button{cursor:pointer}button:hover{background:#343b48}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a8b9fc;outline-offset:3px}header{height:72px;display:flex;align-items:center;gap:12px;padding:0 28px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:inherit;font-size:17px;letter-spacing:3px;font-weight:700;margin-right:auto}.mark{font-size:30px;color:var(--accent);vertical-align:middle;margin-right:10px}.subbrand{color:var(--muted);font-size:13px;font-weight:400;letter-spacing:0;margin-left:16px}.simulation,.tag{font-size:10px;letter-spacing:1.2px;color:var(--accent)}.simulation{margin-right:18px}main{display:grid;grid-template-columns:205px minmax(460px,1fr) 290px;min-height:calc(100vh - 110px)}.library,.inspector{padding:28px 20px;background:#14171c}.library{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:600}h1{font-size:29px;font-weight:550;letter-spacing:-1px;margin:9px 0}h2{font-size:16px;font-weight:550;margin:13px 0}h3{font-size:14px;font-weight:500}.muted{color:var(--muted);font-size:12px;line-height:1.7}.library .muted{margin-bottom:30px}.family{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin:22px 0 8px}.catalog-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;text-align:left;padding:10px 4px;font-size:12px}.catalog-item span:first-child{color:var(--accent);font-size:17px;width:20px}.catalog-item span:last-child{margin-left:auto;color:var(--muted)}.library-note{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:12px;line-height:1.7}.library-note small{display:block;color:var(--muted);margin-top:8px}.dot{display:inline-block;width:6px;height:6px;background:#a7d1b7;border-radius:50%;margin-right:7px}.workspace{padding:28px 26px;min-width:0}.title-row{display:flex;align-items:center;justify-content:space-between}.title-row p{margin-top:8px}.toolbar{display:flex;align-items:center;gap:8px;margin-top:22px;padding:14px 0;border-top:1px solid var(--line)}.toolbar button{font-size:12px}.primary{background:#b1bffc;color:#161a28;border-color:#b1bffc}.primary:hover{background:#ccd5ff}#clock{color:var(--muted);font-family:Consolas,monospace;font-size:12px;margin-left:6px}.legend{margin-left:auto;display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted)}.legend i{height:2px;width:17px;background:var(--accent)}.legend i.power{background:var(--power);margin-left:5px}.board-scroll{overflow:auto;border:1px solid #333944;border-radius:8px;background:#191d23}#board{position:relative;width:990px;height:505px;background-image:radial-gradient(#343a45 .8px,transparent .8px);background-size:20px 20px}#wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.wire{fill:none;stroke:#7c8fca;stroke-width:2}.wire.power{stroke:var(--power);stroke-width:3}.wire.live{stroke-dasharray:8 5;animation:flow 1s linear infinite}@keyframes flow{to{stroke-dashoffset:-26}}.module{position:absolute;width:180px;min-height:124px;padding:0;border:1px solid #444c59;background:#222730;border-radius:8px;box-shadow:0 5px 16px #0003;color:inherit;text-align:left}.module.selected{border-color:var(--accent);box-shadow:0 0 0 2px #a8b9fc20}.module-handle{width:100%;display:flex;gap:8px;align-items:center;border:0;border-radius:8px 8px 0 0;background:#2b313b;padding:10px 12px;font-size:11px;cursor:grab;touch-action:none}.module-handle small{margin-left:auto;color:var(--muted);font-size:9px}.module-body{padding:13px;width:100%;border:0;background:transparent;text-align:left}.module-value{font-family:Consolas,monospace;font-size:24px;letter-spacing:-1px;display:block}.module-status{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin-top:8px}.module.active .module-status{color:#b6d4c0}.module.blocked{border-color:#d3a269}.port{position:absolute;top:62px;width:8px;height:8px;background:var(--accent);border:2px solid #191d23;border-radius:50%}.port.left{left:-5px}.port.right{right:-5px}.board-label{position:absolute;bottom:20px;left:25px;letter-spacing:5px;font-size:15px;color:#606978;pointer-events:none}.board-label span{font-size:8px;letter-spacing:2px;margin-left:20px}.environment{display:flex;align-items:center;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.environment h3{margin:8px 0 0}.environment output{margin-left:18px;color:var(--power)}.environment input{flex:1;min-width:80px;accent-color:var(--power)}.environment strong{font-size:17px;font-weight:500;white-space:nowrap}.environment small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.connections form{display:flex;gap:8px;margin:12px 0}.connections select{min-width:0;flex:1;font-size:11px}.connections form button{font-size:11px}.connections form>span{align-self:center;color:var(--muted)}.connection-row{display:flex;align-items:center;gap:12px;font-size:11px;padding:8px 0;border-bottom:1px solid #242932;color:var(--muted)}.connection-row .kind{width:42px;color:var(--accent)}.connection-row .kind.power{color:var(--power)}.connection-row button{margin-left:auto;background:transparent;border:0;padding:3px 8px;font-size:14px}.inspector h2{font-size:20px}#reading{font-size:34px;font-family:Consolas,monospace;margin:24px 0 16px}#reading small{font:11px Segoe UI,sans-serif;display:block;color:var(--muted);margin-top:8px}#scope{width:100%;border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent,transparent 23px,#252b35 24px)}.setting{display:block;color:var(--muted);font-size:11px;margin:18px 0}.setting input{display:block;margin-top:8px;width:100%;padding:9px;background:#1d222a;border:1px solid #3c4552;border-radius:4px;color:inherit}pre{font-size:10px;line-height:1.8;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.danger{color:#e7a7a2;font-size:11px;background:transparent;width:100%;margin-top:12px}#events{max-height:245px;overflow:auto;font-size:11px}.event{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}.event time{color:var(--muted);font:10px Consolas,monospace;display:block}footer{height:38px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}#notice{position:fixed;bottom:55px;left:50%;transform:translateX(-50%);background:#303845;border:1px solid #69768c;padding:14px 22px;border-radius:8px;max-width:90vw;font-size:13px;box-shadow:0 10px 40px #0008}@media(min-width:1600px){main{grid-template-columns:230px minmax(460px,1fr) 310px}.workspace{padding:32px 40px}#board{min-width:100%}}@media(max-width:1150px){main{grid-template-columns:165px minmax(440px,1fr)}.inspector{grid-column:1/-1;display:block;border-top:1px solid var(--line)}#scope{max-width:500px}.inspector pre{max-width:600px}.environment{gap:15px}.library{padding:28px 14px}}@media(max-width:700px){header{padding:0 14px;gap:8px}.subbrand,.simulation{display:none}header button{font-size:11px}main{display:block}.library{border-bottom:1px solid var(--line);padding:18px}.library h2,.library>.muted,.library-note,.family{display:none}#catalog{display:flex;overflow:auto;margin-top:10px;gap:12px}.catalog-item{min-width:125px}.workspace{padding:20px 14px}.title-row h1{font-size:24px}.toolbar{flex-wrap:wrap}.environment{flex-wrap:wrap}.environment input{min-width:45%}.connections form{flex-wrap:wrap}.section-heading .muted{display:none}.connections select{flex-basis:30%}footer{font-size:9px;padding:0 12px}}@media(prefers-reduced-motion:reduce){.wire.live{animation:none}}

.brand img.mark{width:32px;height:32px;vertical-align:middle}
