:root{--ngoprex-purple:#6a0dad;--ngoprex-purple-dark:#4b087a;--ngoprex-black:#1c1c1c;--ngoprex-gold:#d9b36c;--ngoprex-warm:#f6e8c3;--ngoprex-bg:#f5f5f7;--ngoprex-green:#00ff88}body{margin:0;font-family:Segoe UI,Arial;background:var(--ngoprex-bg)}#ide{display:flex;flex-direction:column;height:100vh}#topbar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:linear-gradient(90deg,#6a0dad,#9b4dca);color:#fff;box-shadow:0 2px 6px #0003}.logo{font-weight:700;margin-right:20px}button{background:var(--ngoprex-purple);border:none;color:#fff;padding:7px 14px;border-radius:6px;cursor:pointer;font-weight:500;transition:.2s;box-shadow:0 2px 6px #08080833}button:hover{background:var(--ngoprex-purple-dark);transform:translateY(-1px)}#tabs{display:flex;background:#ececec;border-bottom:1px solid #ccc}.tab{padding:10px 18px;cursor:pointer;border-right:1px solid #ddd;font-weight:500}.tab:hover{background:#f2f2f2}.tab.active{background:#fff;border-bottom:3px solid var(--ngoprex-purple)}#mainArea{flex:1;display:flex;overflow:hidden}#editorArea{flex:1;display:flex;flex-direction:column;position:relative}.tabContent{display:none;height:100%}.tabContent.active{display:block}#blocklyDiv{width:100%;height:100%;min-height:500px;background:#fff}#code{height:100%;background:#0e0e0e;color:var(--ngoprex-green);padding:15px;font-family:Consolas,monospace;overflow:auto}#serialConsole{height:100%;background:#111;color:var(--ngoprex-green);font-family:monospace;padding:10px;overflow:auto}#projectPanel{width:220px;background:#fafafa;border-left:1px solid #ddd;padding:10px}#projectPanel h3{margin-top:0}#console{height:28px;background:var(--ngoprex-black);color:var(--ngoprex-green);font-family:monospace;padding-left:10px;display:flex;align-items:center}.blocklyToolboxDiv{background:#f3f0f8;border-right:1px solid #ddd}.blocklyTreeRow{padding:6px 10px;border-radius:6px;margin:3px 4px;transition:.15s}.blocklyTreeRow:hover{background:#e6dbff;cursor:pointer}.blocklyTreeSelected{background:var(--ngoprex-purple)!important;color:#fff!important}.blocklyTreeLabel{font-weight:500;font-size:14px}.blocklyMainBackground{stroke:none}.blocklyBlockBackground{filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}body.dark{background:#121212;color:#fff}body.dark #tabs{background:#1a1a1a}body.dark #blocklyDiv{background:#1e1e1e}body.dark #projectPanel{background:#1a1a1a;color:#fff}body.dark #console{background:#000}body.dark .tab.active{background:#1e1e1e}#logoImage{height:40px;width:auto;display:block;object-fit:contain}.logo{display:flex;align-items:center;margin-right:20px;height:40px}.userMenu{margin-left:auto;position:relative}#userButton{cursor:pointer;padding:6px 10px;border-radius:6px;background:#ffffff26;color:#fff}.userInfo{margin-bottom:10px}#codeEditor{display:flex;background:#000;color:#00ff9c;font-family:monospace;height:100%;overflow:auto}#lineNumbers{padding:10px 8px;text-align:right;color:#666;background:#111;-webkit-user-select:none;user-select:none;white-space:pre;line-height:22px;min-width:65px;border-right:1px solid #222}#code{padding:10px;white-space:pre;flex:1;line-height:22px;margin:0}.blocklyToolboxCategory{height:46px;display:flex;align-items:center;padding-left:10px}.blocklyTreeRowContentContainer{display:flex;align-items:center;gap:10px}.blocklyToolboxCategoryIcon{width:24px;height:24px;background-size:24px;margin-right:6px}.blocklyToolboxCategory:hover{background:#f4f4f4;transition:.2s}.blocklyToolboxCategory[aria-selected=true]{background:#e9e9ff;font-weight:600}.blocklyToolboxCategoryLabel{font-size:18px;font-weight:500}.blocklyToolboxCategory:hover .blocklyToolboxCategoryIcon{transform:scale(1.1);transition:.15s}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:none;align-items:center;justify-content:center;z-index:999}.modalBox{width:420px;background:#fff;border-radius:12px;overflow:visible;box-shadow:0 15px 35px #00000040;position:relative}.modalBox{animation:modalPop .2s ease}@keyframes modalPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modalHeader{height:55px;background:#5708d6e5;border-radius:12px 12px 0 0;position:relative;display:flex;justify-content:flex-end;align-items:center;padding-right:10px}.modalRobot{position:absolute;left:15px;top:-30px;height:70px;pointer-events:none}.modalIcon{height:200px;margin-top:none}.modalClose{width:34px;height:34px;border-radius:50%;border:none;background:#fff;font-size:18px;cursor:pointer}.modalBody{padding:20px}.modalInput{width:90%;padding:10px;border:1px solid #ccc;border-radius:6px;margin-top:2px;margin-bottom:20px}.modalButtons{display:flex;justify-content:space-between}.btnCreate{padding:8px 18px;border:1px solid #333;background:#7c3aed;border-radius:6px;cursor:pointer}.btnCancel{padding:8px 18px;border:1px solid #4203038a;background:#020b23f3;border-radius:6px;cursor:pointer}.modalRobot{position:absolute;left:-9px;top:-29px;height:90px;animation:robotFloat 3s ease-in-out infinite}@keyframes robotFloat{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}.modalLabel{text-align:left;color:#090101e0}#uploadModal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:none;align-items:center;justify-content:center;z-index:9999}.uploadBox{width:420px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 15px 40px #0000004d}.uploadHeader{background:linear-gradient(90deg,#7c3aed,#9333ea);height:50px;display:flex;align-items:center;padding:10px 20px;color:#fff;font-weight:700}.uploadRobot{height:60px;margin-right:15px}.uploadBody{padding:25px;text-align:center}.uploadTrack{width:100%;height:10px;background:#eee;border-radius:10px;overflow:hidden;margin-top:15px}#uploadBar{width:0%;height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7);transition:width .2s}#uploadPercent{margin-top:10px;font-size:13px;color:#555}#serialConsole{height:250px;overflow:auto;background:#000;color:#00ff9c;font-family:monospace;padding:10px}#serialPlotter{width:100%;height:200px;background:#111;border-top:1px solid #333;display:block}.modalRename{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;justify-content:center;align-items:center;z-index:99999}.modalRename-content{background:#fff;padding:20px;border-radius:10px}.menu{position:relative;display:inline-block}.dropdown{display:none;position:absolute;top:100%;left:0;background:#130101;border-radius:2px;box-shadow:0 8px 20px #0003;min-width:180px;padding:5px 0;z-index:99999;margin-top:5px}.dropdown div{padding:10px 15px;cursor:pointer}.dropdown div:hover{background:#8f01dc}.projectName{background:#fff3;border:none;border-radius:20px;padding:6px 15px;color:#fff;font-size:14px;text-align:center;outline:none;min-width:150px}.projectName:focus{background:#ffffff4d}#userDropdown{display:none;position:absolute;top:100%;right:0;background:#090000;border-radius:2px;box-shadow:0 10px 25px #0003;padding:5px 0;min-width:200px;z-index:99999}.userInfo{padding:10px 15px}.userName{font-weight:700}.userLevel{font-size:12px;color:#777}.menuItem{padding:10px 15px;cursor:pointer;transition:.2s}.menuItem:hover{background:#8f01dc}#userDropdown hr{border:none;border-top:1px solid #eee;margin:5px 0}.version{padding:10px 15px;text-align:justify;color:#e7ece9;cursor:pointer;transition:.2s}.version.menuItem:hover{background:#e5f603;color:#000703}.blocklyToolboxDiv{background:#f3f0f8!important;border-right:1px solid #ddd;padding-top:6px}.blocklyTreeRow{display:flex;align-items:center;height:40px;padding:0 14px;margin:4px 6px;border-radius:8px;font-weight:500;position:relative;transition:.15s}.blocklyTreeLabel{font-size:14px;font-weight:500}.blocklyTreeRow:hover{background:#ece5ff;cursor:pointer}.blocklyTreeSelected{background:#6a0dad!important;color:#fff!important}.blocklyTreeSelected .blocklyTreeLabel{color:#fff!important}.blocklyTreeRow:before{content:"";position:absolute;left:-6px;top:4px;width:6px;height:80%;border-radius:4px}.blocklyTreeRow:nth-child(1):before{background:#9c6b4f}.blocklyTreeRow:nth-child(2):before{background:#6a0dad}.blocklyTreeRow:nth-child(3):before{background:#3b82f6}.blocklyTreeRow:nth-child(4):before{background:#22c55e}.blocklyTreeRow:nth-child(5):before{background:#f59e0b}.blocklyTreeRow:nth-child(6):before{background:#f082a7}.blocklyTreeRow:nth-child(7):before{background:#d9b36c}.blocklyFlyout{background:#faf7ff!important;border-left:1px solid #eee}.blocklyBlockBackground{filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}.blocklyScrollbarHandle{fill:#6a0dad!important}.blocklyScrollbarBackground{fill:#eee}.blocklyTrash{opacity:.5}.blocklyTrash:hover{opacity:1}.blocklyTreeRow,.blocklyTreeRowContentContainer{height:40px!important;display:flex!important;align-items:center!important}.blocklyTreeLabel{line-height:40px!important}.blocklyToolboxCategory{height:40px;line-height:22px;margin-bottom:3px;padding-right:8px;white-space:nowrap}.blocklyFlyoutLabelText{fill:#6a0dad!important;font-size:20px!important;font-weight:700!important;letter-spacing:.5px!important}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
