@import"https://fonts.googleapis.com/css2?family=Nunito:wght@600;800;900&display=swap";:root{--bg: #fff8ef;--card: #ffffff;--ink: #4a3b33;--soft: #8a7a70;--orange: #ff8a65;--green: #5ccf8a;--blue: #6ec6ff;--purple: #b388ff;--yellow: #ffd166;--red: #ff6b6b;--radius: 18px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:Nunito,"Baloo 2",system-ui,-apple-system,sans-serif;font-weight:700}.app{display:flex;flex-direction:column;height:100vh;min-height:640px}header{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(90deg,#ffe3d3,#fff1c9 50%,#d9f2ff);box-shadow:0 2px 10px #0001;flex-wrap:wrap}.logo{font-size:38px;animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-4px) rotate(-6deg)}}.titles h1{margin:0;font-size:22px;font-weight:900;color:#e8613c}.titles span{font-size:13px;color:var(--soft)}.spacer{flex:1}select{font:inherit;padding:9px 12px;border-radius:14px;border:2px solid #ffd6a5;background:#fff;color:var(--ink);cursor:pointer}.btn{font:inherit;border:0;border-radius:14px;padding:9px 14px;cursor:pointer;box-shadow:0 3px #0002;transition:transform .08s;color:#fff;background:var(--blue)}.btn:active{transform:translateY(2px);box-shadow:0 1px #0002}.btn:disabled{opacity:.5}.btn.big{font-size:18px;padding:10px 22px}.btn.small{padding:5px 10px;font-size:13px;border-radius:10px}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.yellow{background:var(--yellow);color:var(--ink)}.btn.blue{background:var(--blue)}.btn.purple{background:var(--purple)}.btn.orange{background:var(--orange)}.btn.gray{background:#b0a8a2}.btn.white{background:#fff;color:var(--ink);border:2px solid #f1e3d3}.btn.lang{font-weight:900}.btn.estop{background:#ff3b3b;font-size:20px;padding:14px;width:100%;margin:10px 0;border:4px solid #ffd1d1}.seg{display:flex;background:#fff;border-radius:14px;padding:3px;border:2px solid #f1e3d3}.seg button{font:inherit;border:0;background:none;padding:6px 10px;border-radius:11px;cursor:pointer;color:var(--soft)}.seg .on{background:#ffe0b2;color:var(--ink)}main{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,1fr);gap:12px;padding:12px;min-height:0}.stage{position:relative;border-radius:24px;overflow:hidden;background:#dff3ff;box-shadow:0 6px 20px #0001}.side{display:flex;flex-direction:column;background:var(--card);border-radius:24px;box-shadow:0 6px 20px #0001;overflow:hidden;min-height:0}.tabs{display:flex;gap:4px;padding:8px 8px 0;background:#fff4e6}.tabs button{font:inherit;flex:1;border:0;padding:8px 4px;border-radius:14px 14px 0 0;background:#ffe8cc;cursor:pointer;color:var(--soft);font-size:13px;display:flex;flex-direction:column;align-items:center}.tabs button span{font-size:20px}.tabs button.on{background:#fff;color:var(--ink)}.projbar{display:flex;gap:6px;align-items:center;padding:6px 10px;border-bottom:2px dashed #f6e6d4;flex-wrap:wrap}.ptitle{flex:1;min-width:160px;font-size:14px}.ptitle small{color:var(--soft);font-weight:600}.projects{padding:8px 10px;background:#fffaf2;display:flex;flex-direction:column;gap:6px}.proj{display:flex;gap:6px}.panel{flex:1;min-height:0;display:flex;flex-direction:column}.panel.scroll{overflow:auto;padding:12px}.blockly{flex:1;min-height:300px}.pad{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.dpad{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,64px);gap:6px;pointer-events:auto}.pad-btn{font:inherit;font-size:26px;border:0;border-radius:20px;background:#fffd;color:#ff7043;box-shadow:0 4px #ffcc80;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.pad-btn:active{transform:translateY(3px);box-shadow:0 1px #ffcc80;background:#ffe0b2}.pad-btn.side{font-size:16px;color:#29b6f6;box-shadow:0 4px #b3e5fc}.dpad-center{display:grid;place-items:center;font-size:30px;background:#fff3;border-radius:20px}.actions{display:grid;grid-template-columns:repeat(3,76px);gap:8px;pointer-events:auto}.act{font:inherit;font-size:28px;height:70px;border:0;border-radius:50%;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px #0002;-webkit-user-select:none;user-select:none}.act small{font-size:11px;line-height:1.1}.act:active{transform:translateY(3px)}.act.a{background:#ff8a80}.act.b{background:#ffb74d}.act.c{background:#4dd0a7}.act.d{background:#b388ff}.act.e{background:#f48fb1}.act.f{background:#64b5f6}.toast{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#fff;padding:12px 24px;border-radius:30px;font-size:20px;box-shadow:0 6px 20px #0002;animation:pop .3s}@keyframes pop{0%{transform:translate(-50%) scale(.6);opacity:0}}.live-badge{position:absolute;top:60px;right:14px;background:#ff5252;color:#fff;padding:6px 12px;border-radius:20px}.bubble{background:#fff;padding:8px 14px;border-radius:18px;font:800 16px Nunito,sans-serif;color:var(--ink);white-space:nowrap;box-shadow:0 3px 10px #0002;position:relative}.bubble:after{content:"";position:absolute;bottom:-8px;left:50%;margin-left:-8px;border:8px solid transparent;border-top-color:#fff;border-bottom:0}.bubble.friend{background:#f3e9ff}.bubble.friend:after{border-top-color:#f3e9ff}.tag{font-size:26px}.mini-sensors{position:absolute;top:12px;left:12px;width:210px;pointer-events:none;opacity:.93}.mini-sensors .sensors{grid-template-columns:1fr;gap:4px}.mini-sensors .sensor{padding:4px 8px;font-size:11px}.mini-sensors .ico{font-size:16px}.sensors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sensor{display:flex;gap:10px;align-items:center;background:#f4fbff;border-radius:14px;padding:10px;font-size:14px}.sensor b{font-size:.85em;color:var(--soft)}.sensor.alert{background:#ffe5e5}.sensor.good{background:#e3fbe9}.sensor>div{flex:1}.ico{font-size:24px}.meter{height:10px;background:#e6eef3;border-radius:10px;overflow:hidden;margin:3px 0}.meter i{display:block;height:100%;background:var(--green);border-radius:10px;transition:width .2s}.meter.big{height:16px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:middle}.code{background:#fffdf5;border:2px solid #f6e6d4;border-radius:14px;padding:12px;font:600 12.5px/1.45 ui-monospace,Menlo,monospace;white-space:pre;overflow:auto;color:#39424e}.hint{color:var(--soft);font-size:14px;line-height:1.4}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.status{padding:6px 12px;border-radius:12px;background:#f1ece7}.status.on{background:#dcf8e5}.warn{background:#fff3cd;padding:16px;border-radius:14px;font-size:16px}.log{background:#2b2d42;color:#c8f7c5;border-radius:12px;padding:10px;font:12px ui-monospace,monospace;max-height:220px;overflow:auto}.check{display:flex;gap:8px;align-items:center;margin:6px 0}.check input{width:22px;height:22px}.help p{font-size:18px;background:#fff8e1;padding:12px 16px;border-radius:14px}.blocklyToolboxDiv{padding-top:6px}.blocklyTreeRow{height:34px!important;line-height:34px!important;border-radius:0 12px 12px 0;margin-bottom:4px!important}.blocklyTreeLabel{font:800 14px Nunito,sans-serif!important}@media (max-width: 1100px){main{grid-template-columns:1fr;grid-template-rows:55vh auto}.side{min-height:600px}}path.blocklyPath[filter*=mboss]{filter:drop-shadow(0 0 5px #ffe066) drop-shadow(0 0 3px #ff8a00)!important}.view-toggles{position:absolute;top:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.view-toggles .seg{font-size:13px}.part-label{background:#fffffff0;border:2px solid #b388ff;color:#4a3b33;padding:3px 8px;border-radius:10px;font:800 12px Nunito,sans-serif;white-space:nowrap;box-shadow:0 2px 6px #0002}.note-ind{font-size:26px;animation:floaty .6s ease-in-out infinite alternate}@keyframes floaty{to{transform:translateY(-8px) rotate(10deg)}}.servos{margin-top:14px}.srow{display:grid;grid-template-columns:26px 150px 1fr 44px;gap:8px;align-items:center;font-size:13px;margin:3px 0}.srow .ch{background:#ede7ff;border-radius:8px;text-align:center}.srow .deg{text-align:right}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3c282859;display:flex;align-items:center;justify-content:center;z-index:1000}.lock-card{background:#fff;border-radius:24px;padding:22px 26px;max-width:380px;text-align:center;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;gap:8px;align-items:center}.lock-card h3{margin:0;color:#ff7a59}.lock-card p{margin:0}.lock-ico{font-size:2.4rem}.lock-card a.btn{text-decoration:none}
