:root{--lss-primary: #1a1a2e;--lss-secondary: #16213e;--lss-accent: #0f3460;--lss-highlight: #e94560;--lss-text: #eaeaea;--lss-muted: #9090a8;--lss-success: #2ecc71;--lss-warning: #f39c12;--lss-danger: #e74c3c;--lss-card-bg: #1e2040;--lss-border: #32325a;--lss-input-bg: #252745;--lss-input-text: #f0f0fa}html,body{height:100%;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--lss-primary);color:var(--lss-text)}.lss-navbar{background:linear-gradient(135deg,#0d1117,#1a1a2e);border-bottom:2px solid var(--lss-highlight);padding:.6rem 1.5rem;position:sticky;top:0;z-index:1000}.lss-brand{font-size:1.3rem;font-weight:700;color:#fff!important;letter-spacing:1px;display:flex;align-items:center;gap:.5rem}.lss-brand .brand-dot{width:10px;height:10px;background:var(--lss-highlight);border-radius:50%;display:inline-block;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.btn-lss-support{background:linear-gradient(135deg,#e94560,#c0392b);color:#fff!important;border:none;font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:filter .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 2px 8px #e9456066}.btn-lss-support:hover,.btn-lss-support:focus{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 4px 14px #e945608c;color:#fff!important}.btn-lss-support:after{margin-left:.4em}.lss-support-menu{background:#1a1a2e;border:1px solid #32325a;border-radius:6px;box-shadow:0 8px 24px #00000080;min-width:200px;padding:.35rem 0}.lss-support-menu .dropdown-item{color:#c8c8e8;font-size:.85rem;padding:.55rem 1rem;display:flex;align-items:center;transition:background .15s ease,color .15s ease}.lss-support-menu .dropdown-item:hover,.lss-support-menu .dropdown-item:focus{background:#2a2a4a;color:#fff}.lss-support-menu .dropdown-item i{color:#e94560;font-size:.9rem}.lss-support-menu .dropdown-divider{border-color:#32325a;margin:.25rem 0}.lss-tabs{background:var(--lss-secondary);border-bottom:1px solid var(--lss-border);padding:0 1rem;display:flex;gap:.2rem;overflow-x:auto}.lss-tab-btn{background:none;border:none;border-bottom:3px solid transparent;color:var(--lss-muted);padding:.85rem 1.4rem;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s;display:flex;align-items:center;gap:.5rem}.lss-tab-btn:hover{color:var(--lss-text);border-bottom-color:var(--lss-accent)}.lss-tab-btn.active{color:var(--lss-highlight);border-bottom-color:var(--lss-highlight)}.lss-tab-badge{background:var(--lss-accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:.75rem}.lss-tab-btn.active .lss-tab-badge{background:var(--lss-highlight)}.lss-content{padding:1.5rem;min-height:calc(100vh - 120px)}.lss-card{background:var(--lss-card-bg);border:1px solid var(--lss-border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.lss-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.lss-card-title{font-size:1.1rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.5rem}.btn-lss-primary{background:var(--lss-highlight);border-color:var(--lss-highlight);color:#fff;font-weight:500}.btn-lss-primary:hover{background:#c73652;border-color:#c73652;color:#fff}.btn-lss-secondary{background:var(--lss-accent);border-color:var(--lss-accent);color:#fff}.btn-lss-secondary:hover{background:#0a2a50;border-color:#0a2a50;color:#fff}.btn-lss-outline{background:transparent;border:1px solid var(--lss-border);color:var(--lss-text)}.btn-lss-outline:hover{background:var(--lss-accent);color:#fff;border-color:var(--lss-accent)}.mode-toggle{display:flex;align-items:center;background:#0d0f1f;border:1px solid var(--lss-border);border-radius:20px;padding:2px;gap:0}.mode-btn{background:transparent;border:none;border-radius:18px;color:var(--lss-muted);font-size:.78rem;font-weight:500;padding:.2rem .7rem;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.mode-btn:hover:not(:disabled){color:var(--lss-text)}.mode-btn.active{background:var(--lss-accent);color:#fff;box-shadow:0 1px 4px #0006}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.form-control,.form-select{background-color:var(--lss-input-bg)!important;color:var(--lss-input-text)!important;border-color:var(--lss-border)!important}.form-control::placeholder{color:#6a6a8a!important}.form-control:focus,.form-select:focus{background-color:#2c2f5a!important;border-color:var(--lss-highlight)!important;box-shadow:0 0 0 .2rem #e9456040!important;color:var(--lss-input-text)!important;outline:none}.form-select option{background:#252745;color:var(--lss-input-text)}input[type=number].form-control{background-color:var(--lss-input-bg)!important;color:var(--lss-input-text)!important}input[type=range].form-range::-webkit-slider-runnable-track{background:var(--lss-border)}.form-check-input{background-color:var(--lss-input-bg);border-color:var(--lss-border)}.form-check-input:checked{background-color:var(--lss-highlight)!important;border-color:var(--lss-highlight)!important}.form-check-label{color:var(--lss-text)}.modal-dark .modal-content{background:var(--lss-secondary);border:1px solid var(--lss-border);color:var(--lss-text)}.modal-dark .modal-header{background:var(--lss-primary);border-bottom:1px solid var(--lss-border);padding:1rem 1.25rem}.modal-dark .modal-footer{background:var(--lss-primary);border-top:1px solid var(--lss-border)}.modal-dark .modal-title{color:#fff;font-weight:600}.modal-dark .modal-body{padding:1.25rem}.modal-dark .form-label,.form-label{color:var(--lss-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem}.modal-dark.modal-fullheight .modal-dialog{height:calc(100vh - 3.5rem);max-height:calc(100vh - 3.5rem);margin-top:1.75rem;margin-bottom:1.75rem;display:flex;flex-direction:column}.modal-dark.modal-fullheight .modal-content{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;height:100%}.modal-dark.modal-fullheight .modal-body{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column;min-height:0}.ag-theme-alpine-dark{--ag-background-color: var(--lss-card-bg);--ag-header-background-color: #141630;--ag-odd-row-background-color: #1a1c3a;--ag-row-hover-color: #26294e;--ag-selected-row-background-color: #3a3f70;--ag-border-color: var(--lss-border);--ag-cell-horizontal-border: none;--ag-font-size: 14px;--ag-foreground-color: #d8d8ee;--ag-secondary-foreground-color: #b0b0c8;border-radius:8px;overflow:hidden}.ag-theme-alpine-dark .ag-header-cell-label{color:#c8c8e0!important;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.ag-theme-alpine-dark .ag-cell{color:#d8d8ee!important;display:flex;align-items:center}.ag-theme-alpine-dark .ag-row{cursor:pointer;transition:background .12s;color:#d8d8ee}.ag-theme-alpine-dark .ag-overlay-no-rows-wrapper,.ag-theme-alpine-dark .ag-overlay-no-rows-center{color:#6a6a8a;font-size:.9rem}.ag-theme-alpine-dark .ag-filter-toolpanel-search-input,.ag-theme-alpine-dark .ag-input-field-input{background:var(--lss-input-bg)!important;color:var(--lss-input-text)!important;border-color:var(--lss-border)!important}.badge-enabled{background:#2ecc7126;color:#2ecc71;border:1px solid rgba(46,204,113,.35);border-radius:20px;padding:2px 10px;font-size:.78rem;font-weight:600}.badge-disabled{background:#e74c3c26;color:#e74c3c;border:1px solid rgba(231,76,60,.35);border-radius:20px;padding:2px 10px;font-size:.78rem;font-weight:600}.seg-box{width:16px;height:16px;border-radius:3px;border:1px solid rgba(255,255,255,.15);display:inline-block;vertical-align:middle;margin-right:2px}.pcr-button{visibility:hidden}.eeprom-bar-wrap{background:var(--lss-card-bg);border:1px solid var(--lss-border);border-radius:8px;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.eeprom-label{font-size:.78rem;color:var(--lss-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.eeprom-progress{flex:1;min-width:120px;height:8px;background:var(--lss-border);border-radius:4px;overflow:hidden}.eeprom-fill{height:100%;border-radius:4px;transition:width .4s ease,background .4s ease}.eeprom-pct{font-size:.85rem;font-weight:600;color:var(--lss-text);white-space:nowrap}.lss-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.section-desc{color:var(--lss-muted);font-size:.88rem;margin-bottom:.75rem}.input-chip{background:var(--lss-accent);border-radius:20px;padding:2px 10px;font-size:.8rem;color:#e0e0f0;display:inline-flex;align-items:center;gap:.25rem}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem}.palette-cell{display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer}.palette-color-box{width:56px;height:56px;border-radius:6px;border:2px solid transparent;transition:border-color .15s,transform .15s}.palette-color-box:hover{transform:scale(1.08);border-color:#fff6}.palette-color-box.selected{border-color:var(--lss-highlight)!important;box-shadow:0 0 0 3px #e9456066}.palette-name{font-size:.72rem;color:var(--lss-muted);text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lss-user-pill{display:inline-flex;align-items:center;gap:.4rem;background:#2ecc711a;border:1px solid rgba(46,204,113,.3);border-radius:20px;padding:.2rem .75rem;font-size:.82rem;font-weight:500;color:#2ecc71;white-space:nowrap}.btn-lss-cloud{background:#5dade21a;border:1px solid rgba(93,173,226,.35);color:#5dade2;font-weight:500;font-size:.82rem;transition:background .2s,border-color .2s}.btn-lss-cloud:hover{background:#5dade238;border-color:#5dade2;color:#fff}.btn-lss-signin{background:transparent;border:1px solid var(--lss-highlight);color:var(--lss-highlight)!important;font-weight:600;font-size:.82rem;border-radius:20px;padding:.2rem .85rem;white-space:nowrap;text-decoration:none;transition:background .2s,color .2s}.btn-lss-signin:hover{background:var(--lss-highlight);color:#fff!important}.arduino-connect-btn{background:transparent;border:1px solid #32325a;color:#9090a8;font-weight:500;transition:all .2s}.arduino-connect-btn:hover:not(:disabled){border-color:#2ecc71;color:#2ecc71;background:#2ecc7114}.arduino-connect-btn.connected{border-color:#2ecc7180;color:#2ecc71;background:#2ecc711a}.arduino-connect-btn.connected:hover:not(:disabled){border-color:#e74c3c;color:#e74c3c;background:#e74c3c1a}.btn-arduino-program{background:linear-gradient(135deg,#0f3460,#1a5276);border:1px solid #2980b9;color:#5dade2;font-weight:600;transition:all .2s}.btn-arduino-program:hover:not(:disabled){background:linear-gradient(135deg,#1a5276,#1f618d);border-color:#5dade2;color:#fff;box-shadow:0 0 12px #5dade259}.btn-arduino-program:disabled{opacity:.5;cursor:not-allowed}.btn-arduino-upload{background:linear-gradient(135deg,#1a3a1a,#1e5c1e);border:1px solid #27ae60;color:#58d68d;font-weight:600;transition:all .2s;cursor:pointer;display:inline-flex;align-items:center}.btn-arduino-upload:hover:not(.disabled){background:linear-gradient(135deg,#1e5c1e,#1e6b22);border-color:#58d68d;color:#fff;box-shadow:0 0 12px #58d68d59}.btn-arduino-upload.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.arduino-status-bar{padding:.4rem 1.5rem;font-size:.82rem;border-bottom:1px solid #32325a;transition:background .3s}.arduino-status-bar.status-connecting{background:#f39c1214}.arduino-status-bar.status-connected{background:#2ecc7112}.arduino-status-bar.status-programming{background:#3498db1a}.arduino-status-bar.status-uploading{background:#27ae601a}.arduino-status-bar.status-success{background:#2ecc711f}.arduino-status-bar.status-error{background:#e74c3c1a}.arduino-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.arduino-msg{color:#d0d0e8;font-weight:500}.arduino-meta{color:#7070a0;font-size:.78rem}.arduino-prog-wrap{flex:1;min-width:80px;max-width:200px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.arduino-prog-fill{height:100%;background:linear-gradient(90deg,#2980b9,#5dade2);border-radius:3px;transition:width .2s ease}.arduino-status-bar.status-uploading .arduino-prog-fill{background:linear-gradient(90deg,#27ae60,#58d68d)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .9s linear infinite}.inputs-panel{background:#13152a;border:1px solid var(--lss-border);border-radius:8px;padding:.75rem 1rem}.inputs-panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.inputs-panel-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#c0c0d8}.inputs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem}.input-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:5px;border:1px solid transparent;transition:background .12s}.input-row:hover{background:#ffffff0a}.input-row-active{background:#e9456014;border-color:#e9456033}.input-name{font-size:.85rem;color:var(--lss-text);flex:1;cursor:pointer;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-state-sel{width:80px!important;flex-shrink:0;font-size:.78rem!important;padding:.15rem .3rem!important}.rule-check-list{max-height:140px;overflow-y:auto;background:#13152a;border:1px solid var(--lss-border);border-radius:6px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}@media(max-width:768px){.lss-content{padding:.75rem}.lss-tabs{padding:0 .5rem}.lss-tab-btn{padding:.75rem .9rem;font-size:.85rem}.modal-dark .modal-dialog{margin:.5rem}.arduino-status-bar{padding:.4rem .75rem}.inputs-grid{grid-template-columns:1fr}}
