*{box-sizing:border-box}body{margin:0;background:#f3f5ef;color:#143b35;font:16px/1.55 system-ui,sans-serif}header{background:#103f3b;color:white;padding:22px 4%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}a{color:inherit}header a{text-decoration:none;font-weight:700}nav{display:flex;gap:20px;flex-wrap:wrap}main{max-width:1700px;margin:auto;padding:32px 4%}.hero{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:32px}.hero p{max-width:680px}h1{font-size:clamp(36px,5vw,66px);line-height:1.06;margin:14px 0;letter-spacing:-2px}h2{font-size:21px;margin:0 0 14px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px}.badge{background:#d9fb8a;border-radius:24px;padding:35px;font-size:42px;font-weight:900;transform:rotate(-4deg)}.badge span{font-size:11px;display:block}button,.file{font:inherit;min-height:44px;border:1px solid #b4c8bf;border-radius:9px;background:white;color:#143b35;padding:10px 14px;cursor:pointer}button:hover,.file:hover{background:#e3f2cf}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #007e76;outline-offset:2px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.file input{display:block;max-width:180px;font-size:12px}.layout{display:grid;grid-template-columns:200px minmax(360px,1fr) minmax(280px,.8fr);gap:20px;align-items:start}.palette{position:sticky;top:20px;background:#103f3b;color:white;border-radius:16px;padding:20px}.palette button{display:block;width:100%;text-align:left;margin:10px 0;font-size:14px}.palette p,.panel p{font-size:13px;color:#526c62}.palette p{color:#d9e7e0}.panel{background:white;border:1px solid #d4dfd6;border-radius:16px;padding:22px;margin-bottom:16px;min-width:0}.number{float:right;background:#edf4e7;padding:5px 10px;border-radius:8px;font-weight:800}.start{border-top:5px solid #648e35}.connector{text-align:center;color:#6b9451;font-size:26px;margin:-12px 0 2px}.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid #e4ebe3;padding-bottom:14px}label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px}input,select{font:inherit;font-size:15px;padding:10px;border:1px solid #b8c9bd;border-radius:7px;background:#fff;color:#123a33;max-width:100%;min-height:44px}input[type=number]{width:100px}input[type=text]{width:170px}input[type=checkbox]{width:28px;min-height:28px}.node{border:1px solid #c4d5c6;border-left:4px solid #709f49;border-radius:10px;padding:14px;margin:10px 0;scroll-margin:30px}.node h3{font-size:16px;margin:0 0 12px}.node .fields{display:flex;gap:10px;flex-wrap:wrap}.node.active{background:#eaffc8;box-shadow:0 0 0 2px #6c9f34}.node .edge{font-size:12px;margin-top:12px;color:#3d644c}.remove{font-size:12px;margin-top:10px;padding:5px 10px}pre{overflow:auto;background:#0b2927;color:#cbe9dc;padding:16px;border-radius:10px;max-height:540px;font-size:12px;tab-size:2}#errors{color:#9f2525;white-space:pre-line}#status{font-weight:700}#simulation label{margin:12px 0}output{display:block;padding:6px 0}.lit{color:#36760d;font-weight:800}.monitor{min-width:0}footer{padding:30px 4%;font-size:13px}#notice{min-height:26px}@media(max-width:1150px){.layout{grid-template-columns:180px minmax(0,1fr)}.monitor{grid-column:2}}@media(max-width:700px){main{padding:22px 14px}.layout{display:flex;flex-direction:column}.layout>*{width:100%}.palette{position:static}.palette button{display:inline-block;width:auto;margin:4px;font-size:13px}.hero .badge{display:none}.panel{padding:16px}.row label{flex:1;min-width:100px}header{padding:18px 14px}.node select{max-width:240px}}

.led-dot{display:inline-block;width:20px;height:20px;border:2px solid #94a3b8;border-radius:50%;vertical-align:middle;margin-right:10px}.rotor{display:inline-block;border:3px solid #3a786c;border-radius:50%;width:36px;height:36px;text-align:center;margin-right:10px;vertical-align:middle} .node button{margin:8px 4px 0 0}
