@import"https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap";:root{--font-sans: "Roboto", sans-serif;--font-mono: "Roboto Mono", monospace;--ericsson-blue: #0078D4;--ericsson-blue-hover: #1085E0;--bg-dark: #111827;--panel-dark: #1F2937;--border-dark: #374151;--text-light: #F9FAFB;--text-mid: #9CA3AF;--text-dark: #1F2937;--white: #FFFFFF}body,html{margin:0;font-family:var(--font-sans);height:100vh;overflow:hidden;background-color:var(--bg-dark);color:var(--text-light)}.header-bar{display:flex;justify-content:space-between;align-items:center;background-color:var(--panel-dark);padding:10px 24px;border-bottom:1px solid var(--border-dark);z-index:10;gap:16px}.app-title{margin:0;font-size:20px;font-weight:700;color:var(--text-light)}.toolbar{display:flex;align-items:center;gap:10px}.toolbar button,.toolbar .load-label{display:flex;align-items:center;gap:8px;background:transparent;color:var(--text-mid);border:1px solid var(--border-dark);padding:8px 16px;font-weight:500;font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s ease}.toolbar button:hover,.toolbar .load-label:hover{color:var(--text-light);border-color:var(--ericsson-blue);background-color:var(--ericsson-blue)}.user-info{display:flex;align-items:center;gap:16px}.user-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background-color:var(--border-dark);font-size:20px}.user-name{font-weight:500;color:var(--text-light)}.logout-btn{background:transparent;border:none;color:var(--text-mid);font-size:24px;cursor:pointer;transition:color .2s ease}.logout-btn:hover{color:var(--text-light)}.main-layout{display:flex;height:calc(100vh - 65px);overflow:hidden;width:100%}.blockly-container{flex-grow:1;height:100%;position:relative}.blocklyToolboxDiv{background-color:var(--panel-dark)!important;border-right:1px solid var(--border-dark)!important;padding:4px!important}.blocklyTreeRow{padding:10px 16px!important;border-radius:6px!important;margin:4px 8px!important;font-weight:500;color:var(--text-mid)!important;transition:all .2s ease;border-left:3px solid transparent!important}.blocklyTreeRow:hover{background-color:var(--bg-dark)!important;color:var(--text-light)!important}.blocklyTreeSelected{background-color:var(--ericsson-blue)!important;color:var(--white)!important;font-weight:600!important;border-left:3px solid var(--ericsson-blue)!important}.blocklyTreeLabel{gap:12px!important;font-family:var(--font-sans);display:flex!important;align-items:center!important}.toolbox-icon-wrapper{display:flex;align-items:center;justify-content:center}.blocklyToolboxDiv .blocklyTreeSeparator{height:1px;border-bottom:1px solid var(--border-dark);margin:8px 16px!important}.toolbox-search-label input{background-color:var(--bg-dark);border:1px solid var(--border-dark);color:var(--text-light);padding:8px 12px;border-radius:6px;width:calc(100% - 16px);margin:4px 8px;transition:border-color .2s ease,box-shadow .2s ease}.toolbox-search-label input:focus{outline:none;border-color:var(--ericsson-blue);box-shadow:0 0 0 3px #0078d44d}.floating-code-panel{position:absolute;top:16px;right:16px;width:400px;background:var(--panel-dark);border:1px solid var(--border-dark);border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:50;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - 32px);transition:transform .4s cubic-bezier(.23,1,.32,1),opacity .4s ease;transform:translate(0);opacity:1}.floating-code-panel.collapsed{transform:translate(calc(100% + 32px));opacity:0;pointer-events:none}.code-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-dark)}.code-header h3{margin:0;font-size:16px;font-weight:500;color:var(--text-light)}.code-header-actions{display:flex;align-items:center;gap:8px}.code-download-btn{background:var(--ericsson-blue);color:var(--white);border:none;border-radius:6px;padding:6px 10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease}.code-download-btn:hover{background-color:var(--ericsson-blue-hover)}.collapse-btn{background:transparent;border:none;font-size:20px;cursor:pointer;color:var(--text-mid);padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease}.collapse-btn:hover{background-color:var(--border-dark);color:var(--text-light)}pre#arduinoCode{padding:16px;margin:0;font-size:14px;font-family:var(--font-mono);background:var(--bg-dark);color:var(--text-light);height:100%;overflow:auto;white-space:pre-wrap}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 0 2px var(--ericsson-blue)) drop-shadow(0 0 4px var(--ericsson-blue));opacity:.8}50%{filter:drop-shadow(0 0 4px var(--ericsson-blue)) drop-shadow(0 0 8px var(--ericsson-blue));opacity:1}}.blocklyConnectionMarker{stroke:var(--ericsson-blue);stroke-width:3px;animation:pulseGlow 1s ease-in-out infinite}.board-selector-wrapper{position:relative}.board-selector{background-color:transparent;color:var(--text-mid);border:1px solid var(--border-dark);padding:8px 32px 8px 16px;font-weight:500;font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.board-selector:hover,.board-selector:focus{border-color:var(--ericsson-blue);color:var(--text-light);outline:none}.board-selector option{background-color:var(--panel-dark);color:var(--text-light)}.board-selector-wrapper:after{content:"▼";position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:12px;color:var(--text-mid);pointer-events:none;transition:color .2s ease}.board-selector-wrapper:hover:after{color:var(--text-light)}
