:root{--bg-main: #0f172a;--text-primary: #f8fafc;--text-secondary: #94a3b8;--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .1);--glass-bg-hover: rgba(30, 41, 59, .7);--bg-element: rgba(255, 255, 255, .05);--bg-element-hover: rgba(255, 255, 255, .1);--bg-element-alt: rgba(0, 0, 0, .3);--bg-track: rgba(0, 0, 0, .5);--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(255, 255, 255, .15);--gradient-1: #38bdf8;--gradient-2: #818cf8;--gradient-3: #c084fc;--gradient-4: #2dd4bf;--accent-blue: #38bdf8;--accent-green: #34d399;--accent-orange: #fbbf24;--accent-red: #ef4444;--accent-purple: #c084fc;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;--blur-strong: blur(16px)}body.theme-light{--bg-main: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .05);--glass-bg-hover: rgba(255, 255, 255, .9);--bg-element: rgba(255, 255, 255, .6);--bg-element-hover: rgba(255, 255, 255, .9);--bg-element-alt: rgba(0, 0, 0, .03);--bg-track: rgba(0, 0, 0, .08);--border-subtle: rgba(0, 0, 0, .08);--border-glow: rgba(0, 0, 0, .15);--accent-blue: #0284c7;--accent-green: #059669;--accent-orange: #d97706;--accent-red: #dc2626;--accent-purple: #9333ea}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,Inter,system-ui,sans-serif}body{background-color:var(--bg-main);color:var(--text-primary);min-height:100vh;padding:24px;display:flex;justify-content:center;overflow-x:hidden;position:relative;transition:background-color .3s ease,color .3s ease}.bg-shape{position:fixed;border-radius:50%;filter:blur(100px);z-index:-1;opacity:.5;animation:float 20s infinite ease-in-out alternate;transition:opacity .3s ease,background .3s ease}.shape-1{top:-10%;left:-10%;width:50vw;height:50vw;background:radial-gradient(circle,var(--gradient-2),transparent 70%)}.shape-2{bottom:-20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,var(--gradient-4),transparent 70%);animation-delay:-5s}.shape-3{top:40%;left:50%;width:40vw;height:40vw;background:radial-gradient(circle,var(--gradient-3),transparent 70%);transform:translate(-50%);animation-delay:-10s}body.theme-light .bg-shape{opacity:.3}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(30px,50px) scale(1.1)}}.app-container{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:24px;z-index:1}.vision-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--glass-bg);backdrop-filter:var(--blur-strong);border:1px solid var(--glass-border);border-radius:100px;box-shadow:0 10px 30px -10px #0003;margin-bottom:8px;transition:all .3s ease;flex-wrap:wrap;gap:16px}body.theme-light .vision-header{box-shadow:0 10px 30px -10px #0000000d}.vision-header h1{font-size:20px;font-weight:600;letter-spacing:-.5px}.time-sub{font-size:13px;color:var(--text-secondary);margin-top:2px}.status-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-element-alt);padding:6px 12px;border-radius:20px}.dot{width:10px;height:10px;border-radius:50%;background-color:var(--accent-orange);transition:background-color .3s ease}.dot.online{background-color:var(--accent-green)}.dot.offline{background-color:var(--accent-red)}.pulsing{box-shadow:0 0 rgba(var(--pulse-color, 251, 191, 36),.7);animation:pulse 1.5s infinite}.dot.online.pulsing{--pulse-color: 52, 211, 153}.dot.offline.pulsing{--pulse-color: 239, 68, 68}@keyframes pulse{0%{box-shadow:0 0 rgba(var(--pulse-color, 251, 191, 36),.7)}70%{box-shadow:0 0 0 8px rgba(var(--pulse-color, 251, 191, 36),0)}to{box-shadow:0 0 rgba(var(--pulse-color, 251, 191, 36),0)}}.theme-toggle{display:flex;background:var(--bg-element-alt);border-radius:20px;padding:4px;gap:4px;border:1px solid var(--glass-border)}.theme-btn{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:16px;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:16px;transition:.2s}.theme-btn.active{background:var(--bg-element);color:var(--text-primary);box-shadow:0 2px 4px #0000001a}.theme-btn:hover:not(.active){background:var(--bg-element-hover)}.bento-grid{display:flex;gap:20px;align-items:stretch}.bento-col{flex:1;display:flex;flex-direction:column;gap:20px}.bento-col>:last-child{flex-grow:1}.vision-card,.glass-card{background:var(--glass-bg);backdrop-filter:var(--blur-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.25,1,.5,1);box-shadow:0 20px 40px -15px #00000026}body.theme-light .vision-card,body.theme-light .glass-card{box-shadow:0 20px 40px -15px #0000000d}.vision-card>*:last-child,.glass-card>*:last-child{margin-bottom:0!important}.vision-card:hover,.glass-card:hover{border-color:var(--border-glow);background:var(--glass-bg-hover);transform:translateY(-5px);box-shadow:0 25px 50px -12px #0003}body.theme-light .vision-card:hover,body.theme-light .glass-card:hover{box-shadow:0 25px 50px -12px #00000014}.card-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:20px}.card-header i{font-size:18px}.banner-title{font-size:32px;font-weight:700;letter-spacing:-1px;margin-bottom:8px}.banner-desc{font-size:16px;color:var(--text-secondary);margin-bottom:20px}.status-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{display:flex;align-items:center;gap:6px;background:var(--bg-element);padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid var(--glass-border)}.env-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.env-box{background:var(--bg-element-alt);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px}.env-box i{font-size:24px}.env-val{font-size:24px;font-weight:600;letter-spacing:-1px}.env-lbl{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.batt-row{margin-bottom:16px}.batt-row:last-child{margin-bottom:0}.batt-top{display:flex;justify-content:space-between;font-size:14px;font-weight:500;margin-bottom:8px}.batt-v{color:var(--text-secondary)}.batt-track{height:8px;background:var(--bg-track);border-radius:4px;overflow:hidden;position:relative}.batt-fill{height:100%;border-radius:4px;transition:width .5s ease}.batt-fill.green{background:var(--accent-green);box-shadow:0 0 10px var(--accent-green)}.batt-fill.blue{background:var(--accent-blue);box-shadow:0 0 10px var(--accent-blue)}.batt-bottom{display:flex;justify-content:space-between;font-size:12px;margin-top:8px;color:var(--text-secondary);font-weight:600}.tag-active{background:#30d15826;color:var(--accent-green);padding:2px 6px;border-radius:4px;font-size:10px}.toggles-row{display:flex;justify-content:space-between}.toggle-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}.t-icon{width:50px;height:50px;border-radius:50%;background:var(--bg-element);border:1px solid var(--border-subtle);display:flex;justify-content:center;align-items:center;font-size:22px;transition:all .2s}.t-icon.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 0 12px #38bdf866}.toggle-btn:hover .t-icon{background:var(--bg-element-hover);transform:scale(1.05)}.toggle-btn:hover .t-icon.active{background:var(--accent-blue)}.toggle-btn:active .t-icon{transform:scale(.95)}.toggle-btn span{font-size:12px;font-weight:500;color:var(--text-secondary)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-vision{background:var(--bg-element);border:1px solid var(--glass-border);color:var(--text-primary);padding:16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-vision i{font-size:18px}.btn-vision:hover{background:var(--bg-element-hover);transform:translateY(-2px)}.btn-vision:active{transform:translateY(1px)}.btn-vision.danger{color:var(--accent-red);background:#ef44441a;border-color:#ef444433}.btn-vision.danger:hover{background:#ef444433}.scene-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--bg-element-alt);border:1px solid var(--glass-border);padding:16px;border-radius:var(--radius-md);margin-bottom:12px;cursor:pointer;color:var(--text-primary);transition:all .2s;text-align:left}.scene-btn:last-child{margin-bottom:0}.scene-btn:hover{background:var(--bg-element)}.scene-left{display:flex;align-items:center;gap:12px}.scene-icon{width:40px;height:40px;border-radius:12px;background:var(--bg-element);display:flex;justify-content:center;align-items:center;font-size:20px}.scene-text h4{font-size:14px;font-weight:600;margin-bottom:2px}.scene-text p{font-size:12px;color:var(--text-secondary)}.segment-control{display:flex;background:var(--bg-track);border-radius:var(--radius-sm);padding:4px;gap:4px;margin-bottom:16px}.seg-btn{flex:1;padding:10px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.seg-btn.active{background:var(--bg-element);color:var(--text-primary);box-shadow:0 2px 8px #0000001a}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:.3s;z-index:1000}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-card{width:90%;max-width:320px;text-align:center;transform:scale(.95);transition:.3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.show .modal-card{transform:scale(1)}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions button{flex:1}.text-green{color:var(--accent-green)}.text-blue{color:var(--accent-blue)}.text-orange{color:var(--accent-orange)}.text-purple{color:var(--accent-purple)}.text-red{color:var(--accent-red)}@media(max-width:1024px){.bento-grid{flex-wrap:wrap}.bento-col{min-width:calc(50% - 20px)}.vision-header{flex-direction:column;align-items:center;border-radius:24px}}@media(max-width:768px){body{padding:16px}.bento-col{min-width:100%}}
