.login-container{align-items:center;background:radial-gradient(ellipse 90% 70% at 30% 20%,#22d3ee2e,#0000 55%),radial-gradient(ellipse 80% 60% at 80% 80%,#a855f729,#0000 55%),linear-gradient(180deg,#06090f,#0a0f1a);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative;transition:background .3s var(--ease);width:100%}:root[data-theme=light] .login-container{background:radial-gradient(ellipse 90% 70% at 30% 20%,#0891b22e,#0000 55%),radial-gradient(ellipse 80% 60% at 80% 80%,#9333ea24,#0000 55%),linear-gradient(180deg,#f8fafc,#e2e8f0)}.login-container:before{background-image:linear-gradient(#94a3b80a 1px,#0000 0),linear-gradient(90deg,#94a3b80a 1px,#0000 0);background-size:48px 48px;content:"";inset:0;mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000,#0000 80%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000,#0000 80%);pointer-events:none;position:absolute}:root[data-theme=light] .login-container:before{background-image:linear-gradient(#0f172a0d 1px,#0000 0),linear-gradient(90deg,#0f172a0d 1px,#0000 0)}.login-form{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(180deg,var(--bg-elevated),var(--bg-surface));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),inset 0 1px 0 #ffffff0a;max-width:420px;padding:2.5rem 2.25rem;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease);width:100%;z-index:1}:root[data-theme=light] .login-form{box-shadow:var(--shadow-lg),inset 0 1px 0 #fff9}.login-form:before{background:linear-gradient(135deg,#22d3ee66,#0000 40%,#0000 60%,#a855f74d);border-radius:inherit;content:"";inset:0;-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;padding:1px;pointer-events:none;position:absolute}.login-language-switch{margin-bottom:1.25rem;margin-left:auto}.login-form h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;text-align:left}.login-form h2:after{background:linear-gradient(90deg,var(--accent),#0000);border-radius:2px;content:"";display:block;height:2px;margin-top:.6rem;width:36px}.form-group{margin-bottom:.9rem}.form-group label{color:var(--text-secondary);display:block;font-size:.78rem;font-weight:600;letter-spacing:.02em;margin-bottom:.4rem}.form-group input{background:#06090f99;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;padding:.78rem .95rem;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease);width:100%}:root[data-theme=light] .form-group input{background:#ffffffb3}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input:hover{background:#06090fcc;border-color:var(--border-strong)}:root[data-theme=light] .form-group input:hover{background:#ffffffd9}.form-group input:focus{background:#06090fe6;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 0 16px var(--accent-glow);outline:none}:root[data-theme=light] .form-group input:focus{background:#fffffff2;box-shadow:0 0 0 3px var(--accent-soft),0 0 16px var(--accent-glow)}.error-message{background:var(--danger-soft);border:1px solid #f43f5e40;border-radius:var(--radius-md);color:var(--danger);font-size:.85rem;font-weight:500;margin-bottom:.85rem;padding:.7rem .85rem;text-align:left}:root[data-theme=light] .error-message{background:#dc262614;border-color:#dc262640;color:#991b1b}.login-button{background:linear-gradient(180deg,var(--accent-2),var(--accent));border:1px solid var(--accent);border-radius:var(--radius-md);box-shadow:0 4px 14px var(--accent-glow),inset 0 1px 0 #ffffff59;color:var(--text-inverse);font-size:.95rem;font-weight:700;letter-spacing:.02em;margin-top:.5rem;padding:.85rem 1rem;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),filter var(--duration) var(--ease);width:100%}.login-button:hover:not(:disabled){box-shadow:0 8px 22px var(--accent-glow),inset 0 1px 0 #fff6;filter:brightness(1.05);transform:translateY(-1px)}.login-button:active:not(:disabled){filter:brightness(.95);transform:translateY(0)}.login-button:disabled{box-shadow:none;cursor:not-allowed;filter:saturate(.6);opacity:.55}@media (max-width:480px){.login-form{margin:1rem;padding:2rem 1.5rem}}.robot-video-container{background:#000}.robot-video-container,.video-placeholder{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative;width:100%}.video-placeholder{background:repeating-linear-gradient(45deg,#22d3ee0a 0 1px,#0000 1px 14px),radial-gradient(ellipse at center,#0a0f1a 0,#000 80%);overflow:hidden}.video-content{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;position:relative;width:100%}.video-feed{animation:video-fade-in .24s var(--ease-out);background:#000;display:block;height:100%;max-height:100%;object-fit:contain;width:100%}@keyframes video-fade-in{0%{opacity:0}to{opacity:1}}.video-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.85rem;justify-content:center;min-height:320px;padding:2rem;text-align:center;width:100%}.video-state:before{animation:video-scan 2.4s ease-in-out infinite;background:radial-gradient(circle at center,#22d3ee2e,#0000 70%);border:1px solid var(--border-strong);border-radius:50%;content:"";height:56px;position:relative;width:56px}.video-state.video-state-error:before{animation:none;background:radial-gradient(circle at center,#f43f5e33,#0000 70%);border-color:#f43f5e59}.video-state.video-state-error{color:var(--danger)}.video-state-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#06090fb3;inset:0;position:absolute;z-index:5}@keyframes video-scan{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.video-debug{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#06090fb3;border:1px solid var(--border);border-radius:var(--radius-pill);bottom:12px;color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:600;gap:.5rem;left:12px;letter-spacing:.04em;padding:.4rem .75rem;position:absolute;text-transform:uppercase;z-index:6}.video-debug:before{animation:pulse-dot 1.6s ease-in-out infinite;background:var(--accent);border-radius:50%;box-shadow:0 0 6px var(--accent-glow);content:"";height:6px;width:6px}.video-stats{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--bg-surface-2);border-bottom:1px solid var(--border);flex-shrink:0;gap:.4rem 1.5rem;justify-content:flex-start;padding:.65rem .95rem;transition:background-color .3s var(--ease),border-color .3s var(--ease)}.robot-data,.video-stats{align-items:center;display:flex;flex-wrap:wrap}.robot-data{flex-direction:row;gap:.6rem 1.4rem;min-width:0}.data-item{align-items:center;display:inline-flex;font-size:.78rem;gap:.5rem;white-space:nowrap}.data-item .label{color:var(--text-tertiary);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.data-item .value{color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem;font-weight:600}.status-indicator{align-items:center;background:#64748b2e;border:1px solid #64748b4d;border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.06em;padding:.2rem .55rem;text-transform:uppercase}.status-indicator:before{background:currentColor;border-radius:50%;box-shadow:0 0 6px currentColor;content:"";height:6px;width:6px}.status-indicator.online,.status-indicator.running{background:var(--success-soft);border-color:#10b98159;color:var(--success)}.status-indicator.online:before{animation:pulse-dot 2s ease-in-out infinite}.status-indicator.error,.status-indicator.stopped{background:var(--danger-soft);border-color:#f43f5e59;color:var(--danger)}.status-indicator.idle{background:var(--info-soft);border-color:#3b82f659;color:#60a5fa}.status-indicator.warning{background:var(--warning-soft);border-color:#f59e0b59;color:var(--warning)}.status-indicator.offline{background:#64748b2e;border-color:#64748b4d;color:var(--text-tertiary)}.status-indicator.ready{background:#14b8a626;border-color:#14b8a659;color:#2dd4bf}.status-indicator.busy{background:var(--warning-soft);border-color:#f59e0b59;color:var(--warning)}@media (max-width:768px){.video-state{min-height:200px}.video-stats{gap:.4rem 1rem;padding:.55rem .75rem}.robot-data{gap:.5rem 1rem}.data-item{font-size:.72rem}.video-debug{bottom:8px;font-size:.65rem;left:8px;padding:.3rem .6rem}}:root[data-theme=light] .video-stats{background:#ffffffeb;border-bottom-color:#0f172a1f}:root[data-theme=light] .video-stats .label{color:var(--text-secondary)}:root[data-theme=light] .video-stats .value{color:var(--text-primary)}.sidebar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0a0f1a80;border-right:1px solid var(--border);flex-shrink:0;overflow-y:auto;padding:1.25rem 1rem;transition:transform .3s var(--ease-out),background-color .3s var(--ease);width:320px;z-index:40}:root[data-theme=light] .sidebar{background:#ffffff8c}.sidebar-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.85rem;padding:0 .25rem .75rem}.sidebar-header h3{color:var(--text-primary);font-size:.78rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.sidebar-subtitle{color:var(--text-tertiary);display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.02em;margin-top:.2rem}.close-sidebar{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;line-height:1;transition:background var(--duration) var(--ease),color var(--duration) var(--ease);width:28px}.close-sidebar:hover{background:var(--bg-surface-3);color:var(--text-primary)}.fleet-summary{grid-gap:.4rem;background:#06090f66;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:.4rem;grid-template-columns:repeat(3,1fr);margin-bottom:.85rem;padding:.65rem;transition:background-color .3s var(--ease),border-color .3s var(--ease)}:root[data-theme=light] .fleet-summary{background:#f8fafcb3}.fleet-stat{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.15rem;justify-content:center;padding:.45rem .3rem}.fleet-stat.fleet-online{background:var(--success-soft);border-color:#10b98133}.fleet-stat.fleet-offline{background:var(--danger-soft);border-color:#f43f5e33}.fleet-num{color:var(--text-primary);font-family:var(--font-mono);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1}.fleet-label{color:var(--text-tertiary);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fleet-stat.fleet-online .fleet-label{color:var(--success)}.fleet-stat.fleet-offline .fleet-label{color:var(--danger)}.robots-list{display:flex;flex-direction:column;gap:.6rem}.robot-item{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:.85rem .95rem;position:relative;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.robot-item:before{background:var(--accent);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity var(--duration) var(--ease);width:3px}.robot-item:hover{background:var(--bg-surface-3);border-color:var(--border-strong);transform:translateX(2px)}.robot-item.selected{background:linear-gradient(135deg,var(--accent-soft),#0000);border-color:var(--border-accent);box-shadow:0 0 0 1px var(--accent-soft),0 4px 16px #0003}:root[data-theme=light] .robot-item.selected{box-shadow:0 0 0 1px var(--accent-soft),0 4px 16px #0891b226}.robot-item.selected:before{opacity:1}.robot-info h4{color:var(--text-primary);font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .45rem}.robot-info p{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.78rem;letter-spacing:-.01em;margin:.15rem 0}.status{align-items:center;background:#64748b26;border:1px solid #64748b40;border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:700;gap:.45rem;letter-spacing:.06em;margin-top:.6rem;padding:.3rem .65rem;text-transform:uppercase}.status:before{background:currentColor;border-radius:50%;box-shadow:0 0 6px currentColor;content:"";flex-shrink:0;height:6px;width:6px}.status.online,.status.running{background:var(--success-soft);border-color:#10b9814d;color:var(--success)}.status.online:before{animation:pulse-dot 2s ease-in-out infinite}.status.error,.status.stopped{background:var(--danger-soft);border-color:#f43f5e4d;color:var(--danger)}.status.idle{background:var(--info-soft);border-color:#3b82f64d;color:#60a5fa}.status.warning{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.status.maintenance{background:#a855f71f;border-color:#a855f74d;color:var(--purple)}.status.offline{background:#64748b1f;border-color:#64748b40;color:var(--text-tertiary)}.status.ready{background:#14b8a61f;border-color:#14b8a64d;color:#2dd4bf}.status.busy{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@media (max-width:768px){.sidebar{background:#0a0f1aeb;box-shadow:var(--shadow-xl);height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);width:300px;z-index:100}:root[data-theme=light] .sidebar{background:#fffffff5}.sidebar.sidebar-open{transform:translateX(0)}.sidebar.sidebar-closed{transform:translateX(-100%)}.sidebar-overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0009;inset:0;position:fixed;z-index:99}}@media (max-width:480px){.fleet-summary{gap:.3rem;padding:.5rem}.fleet-num{font-size:1rem}}.robot-workspace{display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:1320px}.robot-topbar{align-items:center;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:1rem;justify-content:space-between;overflow:hidden;padding:1.1rem 1.35rem;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease)}.robot-topbar:before{background:linear-gradient(90deg,#0000,var(--border-accent),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.robot-topbar-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.robot-kicker{color:var(--text-tertiary);font-size:.7rem;font-weight:700;letter-spacing:.12em;margin:0 0 .25rem;text-transform:uppercase}.robot-topbar h2{color:var(--text-primary);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0}.robot-meta{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.4rem}.robot-meta span{color:var(--text-secondary);font-family:var(--font-mono);font-size:.78rem;letter-spacing:-.01em}.meta-label{color:var(--text-tertiary);font-size:.62rem;letter-spacing:.1em;margin-right:.4rem}.meta-label,.status-badge{font-weight:700;text-transform:uppercase}.status-badge{align-items:center;animation:status-flash .6s var(--ease-out);background:#64748b26;border:1px solid #64748b40;border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-size:.78rem;gap:.5rem;letter-spacing:.04em;padding:.4rem .8rem;white-space:nowrap}.status-badge:before{background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor;content:"";height:7px;width:7px}@keyframes status-flash{0%{filter:brightness(1.5);transform:scale(.95)}60%{filter:brightness(1.2);transform:scale(1.05)}to{filter:brightness(1);transform:scale(1)}}.status-badge.online,.status-badge.running{background:var(--success-soft);border-color:#10b9814d;color:var(--success)}.status-badge.online:before{animation:pulse-dot 2s ease-in-out infinite}.status-badge.error,.status-badge.stopped{background:var(--danger-soft);border-color:#f43f5e4d;color:var(--danger)}.status-badge.idle{background:var(--info-soft);border-color:#3b82f64d;color:#60a5fa}.status-badge.warning{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.status-badge.maintenance{background:#a855f71f;border-color:#a855f74d;color:var(--purple)}.status-badge.offline{background:#64748b1f;border-color:#64748b40;color:var(--text-tertiary)}.status-badge.ready{background:#14b8a61f;border-color:#14b8a64d;color:#2dd4bf}.status-badge.busy{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.submenu-tabs{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;display:flex;gap:.25rem;max-width:100%;padding:.3rem;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease);width:-webkit-fit-content;width:fit-content}.submenu-tab{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.01em;line-height:1.1;min-width:0;padding:.55rem 1.05rem;position:relative;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.submenu-tab:hover{background:var(--bg-surface-3);color:var(--text-primary)}.submenu-tab.active{background:linear-gradient(180deg,var(--accent-soft),#0000);box-shadow:inset 0 0 0 1px var(--border-accent),0 0 12px var(--accent-soft);color:var(--accent)}.submenu-tab.active:after{animation:tab-indicator .3s var(--ease-out);background:var(--accent);border-radius:2px;bottom:.2rem;box-shadow:0 0 8px var(--accent-glow);content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:1.4rem}@keyframes tab-indicator{0%{opacity:0;width:0}to{opacity:1;width:1.4rem}}.submenu-panel{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;padding:1.35rem;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}:root[data-theme=light] .submenu-panel{box-shadow:var(--shadow-sm)}.logs-header,.other-header,.schedule-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.85rem}.logs-header h3,.other-header h3,.schedule-header h3{color:var(--text-primary);font-size:.95rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.schedule-button,.schedule-delete{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.82rem;font-weight:600;letter-spacing:.01em;padding:.5rem .95rem;transition:all .18s var(--ease-out)}.schedule-button:hover:not(:disabled){background:var(--bg-surface-3);border-color:var(--border-strong)}.schedule-button.save{background:linear-gradient(180deg,#34d399,#059669);border-color:#10b98180;box-shadow:0 0 8px var(--success-glow);color:#022c22}.schedule-button.save:hover:not(:disabled){box-shadow:0 0 14px var(--success-glow)}.schedule-button.secondary{background:var(--bg-surface-2);color:var(--text-secondary)}.schedule-delete{background:var(--danger-soft);border-color:#f43f5e4d;color:#fda4af;font-size:.78rem;padding:.4rem .7rem}:root[data-theme=light] .schedule-delete{color:#dc2626}.schedule-delete:hover:not(:disabled){background:#f43f5e33;color:#fecdd3}.schedule-button:disabled,.schedule-delete:disabled{box-shadow:none;cursor:not-allowed;filter:saturate(.5);opacity:.4}.schedule-message{align-items:center;background:var(--success-soft);border:1px solid #10b98140;border-radius:var(--radius-md);color:var(--success);display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.7rem .95rem}.schedule-message:before{background:var(--success);border-radius:50%;box-shadow:0 0 6px var(--success);content:"";flex-shrink:0;height:6px;width:6px}.schedule-empty{background:#06090f66;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;padding:2.5rem 1.5rem;text-align:center}:root[data-theme=light] .schedule-empty{background:#f8fafc99}.no-robot-selected{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.empty-content{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,var(--bg-elevated),var(--bg-surface));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:3rem 2.5rem;text-align:center;transition:background-color .3s var(--ease),border-color .3s var(--ease)}.empty-icon{animation:empty-float 3.5s ease-in-out infinite;color:var(--accent);display:inline-flex;filter:drop-shadow(0 0 12px var(--accent-glow));margin-bottom:1.25rem}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-content h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.5rem}.empty-content p{font-size:.88rem;line-height:1.5}.empty-content p,.loading{color:var(--text-tertiary)}.loading{font-size:.85rem;font-style:italic;padding:1rem;text-align:center}@media (max-width:768px){.robot-workspace{gap:1rem;padding:.75rem}.robot-topbar{align-items:flex-start;flex-direction:column;padding:1rem}.submenu-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.submenu-tab{font-size:.82rem;padding:.6rem .5rem;width:100%}.logs-header,.other-header,.schedule-header{align-items:stretch;flex-direction:column}}@media (max-width:480px){.robot-topbar h2{font-size:1.1rem}}.drive-layout{grid-gap:1.25rem;align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) 340px}.drive-controls,.video-shell{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}:root[data-theme=light] .drive-controls,:root[data-theme=light] .video-shell{box-shadow:var(--shadow-sm)}.video-shell{display:flex;flex-direction:column;min-height:440px;overflow:hidden;position:relative}.video-shell:before{background:linear-gradient(90deg,#0000,var(--border-accent),#0000);content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.drive-controls{align-self:stretch;flex-direction:column;gap:1.25rem;padding:1.35rem}.drive-controls,.drive-controls-header{display:flex;justify-content:space-between}.drive-controls-header{align-items:center;flex-wrap:wrap;gap:.85rem}.drive-controls-header h3{color:var(--text-primary);font-size:.78rem;font-weight:700;letter-spacing:.12em;margin:0;text-transform:uppercase}.velocity-pill{align-items:center;background:#06090f80;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex:1 1 220px;gap:.7rem;max-width:340px;min-width:0;padding:.55rem .85rem;transition:background-color .3s var(--ease),border-color .3s var(--ease)}:root[data-theme=light] .velocity-pill{background:#fff9}.velocity-meta{display:flex;flex:0 0 auto;flex-direction:column;line-height:1.1;min-width:3.5rem}.velocity-meta span{color:var(--text-tertiary);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.velocity-meta strong{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;font-family:var(--font-mono);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-top:.1rem}.velocity-slider{accent-color:var(--accent);-webkit-appearance:none;appearance:none;background:var(--bg-track);border-radius:2px;cursor:pointer;flex:1 1;height:4px;min-width:100px;outline:none;width:auto}.velocity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:2px solid var(--bg-base);border-radius:50%;box-shadow:0 0 8px var(--accent-glow);cursor:pointer;height:16px;-webkit-transition:transform .15s var(--ease-out);transition:transform .15s var(--ease-out);width:16px}.velocity-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.velocity-slider::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-base);border-radius:50%;box-shadow:0 0 8px var(--accent-glow);cursor:pointer;height:16px;-moz-transition:transform .15s var(--ease-out);transition:transform .15s var(--ease-out);width:16px}.velocity-slider::-moz-range-thumb:hover{transform:scale(1.25)}.velocity-slider:focus{border-radius:2px;box-shadow:0 0 0 3px var(--accent-soft)}.velocity-grid{grid-gap:.7rem;background:radial-gradient(circle at center,var(--accent-soft),#0000 70%),#06090f80;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffff08;display:grid;gap:.7rem;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);margin:0 auto;max-width:280px;padding:.95rem;position:relative;transition:background-color .3s var(--ease);width:-webkit-fit-content;width:fit-content}:root[data-theme=light] .velocity-grid{background:radial-gradient(circle at center,var(--accent-soft),#0000 70%),#ffffff80}.velocity-grid:before{background:linear-gradient(90deg,#0000,var(--accent-soft),#0000);height:1px;inset:50% .95rem auto .95rem}.velocity-grid:after,.velocity-grid:before{content:"";pointer-events:none;position:absolute}.velocity-grid:after{background:linear-gradient(180deg,#0000,var(--accent-soft),#0000);inset:.95rem auto .95rem 50%;width:1px}.velocity-button{align-items:center;background:linear-gradient(180deg,var(--bg-surface-3),var(--bg-surface-solid));border:1px solid var(--border-strong);border-radius:50%;box-shadow:inset 0 1px 0 #ffffff0f,0 4px 8px #0000004d;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.3rem;font-weight:600;height:64px;justify-content:center;position:relative;transition:all .18s var(--ease-out);width:64px;z-index:1}:root[data-theme=light] .velocity-button{box-shadow:inset 0 1px 0 #fff9,0 2px 6px #0f172a1a}.velocity-button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow),inset 0 1px 0 #ffffff14;color:var(--accent);transform:translateY(-2px) scale(1.04)}.velocity-button:active:not(:disabled){box-shadow:0 0 6px var(--accent-glow),inset 0 1px 4px #0006;transform:translateY(0) scale(.98)}.velocity-button:disabled{cursor:not-allowed;filter:saturate(.5);opacity:.4}.velocity-button.velocity-down,.velocity-button.velocity-up{background:linear-gradient(180deg,#22d3ee2e,var(--bg-surface-solid));border-color:#22d3ee59;color:var(--accent-2)}.velocity-button.velocity-left,.velocity-button.velocity-right{background:linear-gradient(180deg,#3b82f626,var(--bg-surface-solid));border-color:#3b82f64d;color:#93c5fd}.velocity-button.velocity-down-left,.velocity-button.velocity-down-right,.velocity-button.velocity-up-left,.velocity-button.velocity-up-right{background:linear-gradient(180deg,#64748b33,var(--bg-surface-solid));border-color:#64748b66;color:var(--text-secondary)}.velocity-button.velocity-stop{background:linear-gradient(180deg,var(--danger),#be123c);border-color:#f43f5e99;box-shadow:0 0 16px var(--danger-glow),inset 0 1px 0 #ffffff26;color:#fff;font-size:1.2rem}.velocity-button.velocity-stop:hover:not(:disabled){background:linear-gradient(180deg,#fb7185,var(--danger));border-color:#f43f5ecc;box-shadow:0 0 24px var(--danger-glow);color:#fff}.drive-command-strip{grid-gap:.6rem;border-top:1px solid var(--border);display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr);padding-top:.4rem}.command-button{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:700;letter-spacing:.04em;overflow:hidden;padding:.75rem .5rem;position:relative;text-transform:uppercase;transition:all .18s var(--ease-out)}.command-button:before{background:linear-gradient(180deg,#ffffff14,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.command-button:hover:not(:disabled){background:var(--bg-surface-3);border-color:var(--border-strong);transform:translateY(-1px)}.command-button:active:not(:disabled){transform:translateY(0)}.command-button:disabled{cursor:not-allowed;filter:saturate(.5);opacity:.45}.command-button.start-btn{background:linear-gradient(180deg,#34d399,#059669);border-color:#10b98180;box-shadow:0 0 12px var(--success-glow);color:#022c22}.command-button.start-btn:hover:not(:disabled){background:linear-gradient(180deg,#6ee7b7,#10b981);box-shadow:0 0 20px var(--success-glow)}.command-button.stop-btn{background:linear-gradient(180deg,#fb7185,#be123c);border-color:#f43f5e80;box-shadow:0 0 12px var(--danger-glow);color:#fff1f2}.command-button.stop-btn:hover:not(:disabled){background:linear-gradient(180deg,#fda4af,var(--danger));box-shadow:0 0 20px var(--danger-glow)}.command-button.reset-btn{background:linear-gradient(180deg,#fbbf24,#d97706);border-color:#f59e0b80;box-shadow:0 0 12px var(--warning-glow);color:#451a03}.command-button.reset-btn:hover:not(:disabled){background:linear-gradient(180deg,#fcd34d,#f59e0b);box-shadow:0 0 20px var(--warning-glow)}@media (max-width:1024px){.drive-layout{grid-template-columns:1fr}}@media (max-width:768px){.drive-layout{gap:0}.video-shell{border-bottom:1px solid var(--border);min-height:56vw}.drive-controls,.video-shell{border-left:none;border-radius:0;border-right:none;margin:0 -.75rem}.drive-controls{border-top:none;justify-content:flex-start;padding:1.1rem}.drive-controls-header{align-items:stretch;flex-direction:column;gap:.35rem}.drive-controls-header h3{font-size:.7rem}.velocity-pill{flex:none;max-width:none;min-width:0;padding:.35rem .65rem;width:100%}.velocity-meta{align-items:baseline;flex-direction:row;gap:.4rem}.velocity-meta span{font-size:.6rem}.velocity-meta strong{font-size:.95rem}.velocity-slider{height:3px}.velocity-slider::-webkit-slider-thumb{height:14px;width:14px}.velocity-slider::-moz-range-thumb{height:14px;width:14px}.velocity-grid{gap:.55rem;margin:0 auto;max-width:100%;padding:.75rem}.velocity-button{font-size:1.15rem;height:58px;width:58px}.drive-command-strip{grid-template-columns:1fr}.command-button{padding:.85rem}}@media (max-width:480px){.velocity-grid{gap:.45rem;padding:.5rem}.velocity-button{font-size:1rem;height:50px;width:50px}.drive-command-strip{gap:.4rem}}@media (max-width:380px){.velocity-pill{flex-wrap:wrap}.velocity-slider{flex:1 1 100%;min-width:0}}.schedule-section{display:flex;flex-direction:column;gap:1rem}.schedule-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.schedule-table-wrap{background:#06090f66;border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto;transition:background-color .3s var(--ease),border-color .3s var(--ease)}:root[data-theme=light] .schedule-table-wrap{background:#ffffff80}.schedule-sheet-name{background:var(--bg-surface-2);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-transform:uppercase}.schedule-table{border-collapse:collapse;min-width:560px;width:100%}.schedule-table td,.schedule-table th{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.88rem;padding:.7rem .85rem;text-align:left}.schedule-table th{background:var(--bg-surface-2);color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.schedule-table tbody tr{transition:background var(--duration) var(--ease)}.schedule-table tbody tr:hover{background:var(--bg-surface-2)}.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-input{background:#06090f99;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem;min-width:100px;padding:.45rem .6rem;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease);width:100%}:root[data-theme=light] .schedule-input{background:#ffffffb3}.schedule-input:hover{border-color:var(--border-strong)}.schedule-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}@media (max-width:768px){.schedule-actions{justify-content:flex-start}}.logs-section{display:flex;flex-direction:column;gap:1rem}.logs-live-indicator{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-tertiary);display:inline-flex;font-size:.72rem;font-weight:700;gap:.5rem;letter-spacing:.06em;padding:.35rem .75rem;text-transform:uppercase}.logs-live-indicator:before{animation:pulse-dot 1.5s ease-in-out infinite;background:var(--success);border-radius:50%;box-shadow:0 0 8px var(--success);content:"";height:7px;width:7px}.logs-list{display:flex;flex-direction:column;gap:.5rem;max-height:min(58vh,620px);overflow-y:auto;padding-right:.4rem}.log-row{grid-gap:1rem;background:#06090f80;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:1rem;grid-template-columns:11rem minmax(0,1fr);padding:.75rem .95rem;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}:root[data-theme=light] .log-row{background:#fff9}.log-row:hover{background:var(--bg-surface-2);border-color:var(--border-strong)}.log-row time{align-self:start;color:var(--text-tertiary);font-size:.78rem;font-weight:600;padding-top:.1rem}.log-row p,.log-row time{font-family:var(--font-mono)}.log-row p{color:var(--text-primary);font-size:.85rem;line-height:1.5;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.log-repeat{background:var(--warning-soft);border:1px solid #f59e0b4d;border-radius:var(--radius-pill);color:var(--warning);display:inline-flex;font-family:var(--font-sans);font-size:.72rem;font-weight:700;margin-left:.5rem;padding:.1rem .5rem}@media (max-width:768px){.log-row{gap:.4rem;grid-template-columns:1fr}}.other-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.lidar-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.lidar-distance{color:var(--text-tertiary);display:flex;flex-direction:column;font-size:.7rem;font-weight:700;gap:.3rem;letter-spacing:.08em;text-transform:uppercase}.lidar-distance input{background:#06090f99;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;padding:.5rem .7rem;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease);width:6rem}:root[data-theme=light] .lidar-distance input{background:#ffffffb3}.lidar-distance input:hover{border-color:var(--border-strong)}.lidar-distance input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.lidar-view{background:#06090f80;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;max-width:100%;overflow:hidden;transition:background-color .3s var(--ease);width:-webkit-fit-content;width:fit-content}:root[data-theme=light] .lidar-view{background:#ffffff80}.lidar-view img{background:#000;display:block;max-height:62vh;max-width:min(100%,980px);object-fit:scale-down;width:auto}.lidar-meta{background:var(--bg-surface-2);color:var(--text-tertiary);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.78rem;font-weight:600;gap:1rem;justify-content:space-between;padding:.7rem .95rem}.lidar-meta,.robot-info-grid{border-top:1px solid var(--border)}.robot-info-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-top:1rem}.info-item{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:1rem;justify-content:space-between;padding:.75rem .95rem;transition:background-color .3s var(--ease)}.info-item label{color:var(--text-tertiary);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.info-item span{color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem;font-weight:600}@media (max-width:768px){.lidar-actions{justify-content:flex-start}.lidar-view{width:100%}.lidar-view img{max-width:100%;width:100%}.robot-info-grid{grid-template-columns:1fr}}.control-panel{background:var(--bg-base);background-attachment:fixed;background-image:var(--bg-canvas);display:flex;flex-direction:column;height:100vh}.panel-header{align-items:center;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#0a0f1a8c;border-bottom:1px solid var(--border);box-shadow:0 1px 0 #22d3ee0f;display:flex;flex-shrink:0;padding:.7rem 1.25rem;position:relative;transition:background-color .3s var(--ease),border-color .3s var(--ease);z-index:50}:root[data-theme=light] .panel-header{background:#fff9;box-shadow:0 1px 0 #0891b214}.header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;width:100%}.header-content h1{-webkit-text-fill-color:#0000;align-items:center;background:linear-gradient(90deg,var(--text-primary) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;display:flex;font-size:1.05rem;font-weight:700;gap:.6rem;letter-spacing:-.01em;margin:0}.header-content h1:before{-webkit-text-fill-color:initial;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent-glow);content:"";flex-shrink:0;height:8px;width:8px}.header-actions{align-items:center;display:flex;gap:.6rem}.header-clock{align-items:flex-end;border-right:1px solid var(--border);display:flex;flex-direction:column;line-height:1.15;margin-right:.15rem;padding:.15rem .7rem .15rem 0}.header-clock strong{color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem;font-weight:700;letter-spacing:-.01em}.header-clock span{color:var(--text-tertiary);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ws-indicator{align-items:center;border-radius:50%;cursor:default;display:inline-flex;height:28px;justify-content:center;transition:background var(--duration) var(--ease);width:28px}.ws-indicator:hover{background:#161e2d66}.ws-dot{background:var(--text-tertiary);border-radius:50%;height:8px;transition:background var(--duration) var(--ease),box-shadow var(--duration) var(--ease);width:8px}.ws-connected .ws-dot{animation:ws-pulse 2.4s ease-in-out infinite;background:var(--success);box-shadow:0 0 8px var(--success-glow),0 0 0 3px var(--success-soft)}.ws-disconnected .ws-dot{background:var(--danger);box-shadow:0 0 6px var(--danger-glow)}@keyframes ws-pulse{0%,to{box-shadow:0 0 8px var(--success-glow),0 0 0 3px var(--success-soft)}50%{box-shadow:0 0 12px var(--success-glow),0 0 0 5px var(--success-soft)}}.theme-toggle{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:all var(--duration) var(--ease);width:36px}.theme-toggle:hover{background:var(--bg-surface-3);border-color:var(--border-strong);box-shadow:0 0 12px var(--accent-soft);color:var(--accent);transform:rotate(20deg)}.panel-language-switch{color:var(--text-secondary)}.menu-toggle{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:none;line-height:1;padding:.5rem;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.menu-toggle:hover{background:var(--bg-surface-3);border-color:var(--border-strong)}.logout-button{background:var(--danger-soft);border:1px solid #f43f5e4d;border-radius:var(--radius-sm);color:#fda4af;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.01em;padding:.5rem .95rem;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),color var(--duration) var(--ease)}:root[data-theme=light] .logout-button{background:#dc262614;border-color:#dc262640;color:#dc2626}.logout-button:hover{background:#f43f5e33;border-color:#f43f5e80;color:#fecdd3}:root[data-theme=light] .logout-button:hover{background:#dc262626;border-color:#dc262666;color:#991b1b}.panel-content{display:flex;flex:1 1;min-height:0;overflow:hidden;position:relative}.main-content{background:#0000;flex:1 1;overflow-y:auto;padding:1.5rem}.error-banner{background:var(--danger-soft);border-bottom:1px solid #f43f5e4d;color:#fecdd3;flex-shrink:0;font-size:.88rem;font-weight:500;padding:.65rem 1rem;text-align:center}:root[data-theme=light] .error-banner{color:#991b1b}@media (max-width:768px){.menu-toggle{align-items:center;display:inline-flex;justify-content:center}.main-content{margin-left:0;padding:0}}@media (max-width:480px){.panel-header{padding:.55rem .75rem}.header-content{gap:.5rem}.header-content h1{font-size:.9rem}.header-clock{display:none}.header-actions{gap:.35rem}.theme-toggle,.ws-indicator{height:30px;width:30px}.ws-dot{height:7px;width:7px}.language-switch button{font-size:.7rem;padding:4px 8px}.logout-button{font-size:.75rem;padding:.4rem .6rem}}@media (max-width:380px){.panel-header{padding:.5rem .65rem}.header-content h1{display:none}.header-actions{gap:.3rem;margin-left:auto}.menu-toggle{padding:.4rem}.language-switch{padding:3px}.language-switch button{font-size:.68rem;padding:3px 6px}.theme-toggle,.ws-indicator{height:28px;width:28px}.logout-button{font-size:.7rem;padding:.35rem .5rem}}.App{display:flex;flex-direction:column;height:100vh;min-height:100vh}.language-switch{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f162399;border:1px solid var(--border);border-radius:var(--radius-pill);display:inline-flex;gap:2px;padding:4px}.language-switch button{background:#0000;border:none;border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:6px 12px;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.language-switch button:hover{color:var(--text-primary)}.language-switch button.active{background:var(--accent);box-shadow:0 0 12px var(--accent-glow);color:var(--text-inverse)}@media (max-width:480px){.language-switch button{font-size:.72rem;padding:5px 10px}}:root{--bg-base:#06090f;--bg-canvas:radial-gradient(ellipse 80% 60% at 50% -20%,#22d3ee1f,#0000 60%),radial-gradient(ellipse 60% 50% at 100% 100%,#a855f714,#0000 60%),linear-gradient(180deg,#06090f,#0a0f1a);--bg-surface:#161a2285;--bg-surface-solid:#0f1623;--bg-surface-2:#181c248c;--bg-surface-3:#1f242e80;--bg-elevated:#12161e94;--bg-dots:#94a3b80d;--bg-track:#94a3b82e;--border:#94a3b81f;--border-strong:#94a3b838;--border-accent:#22d3ee66;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#0f172a;--accent:#22d3ee;--accent-2:#67e8f9;--accent-glow:#22d3ee59;--accent-soft:#22d3ee1a;--success:#10b981;--success-glow:#10b98159;--success-soft:#10b9811f;--danger:#f43f5e;--danger-glow:#f43f5e59;--danger-soft:#f43f5e1f;--warning:#f59e0b;--warning-glow:#f59e0b59;--warning-soft:#f59e0b1f;--info:#3b82f6;--info-soft:#3b82f61f;--purple:#a855f7;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 32px #00000059;--shadow-xl:0 24px 60px #0006;--shadow-glow:0 0 24px var(--accent-glow);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Menlo,Monaco,"Courier New",monospace;--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--duration:200ms;color-scheme:dark}:root[data-theme=light]{--bg-base:#eef2f7;--bg-canvas:radial-gradient(ellipse 80% 60% at 50% -20%,#0891b21a,#0000 60%),radial-gradient(ellipse 60% 50% at 100% 100%,#9333ea12,#0000 60%),linear-gradient(180deg,#f8fafc,#e2e8f0);--bg-surface:#ffffff94;--bg-surface-solid:#fff;--bg-surface-2:#f8fafc9e;--bg-surface-3:#f1f5f999;--bg-elevated:#ffffffb3;--bg-dots:#0f172a0f;--bg-track:#0f172a1f;--border:#0f172a1a;--border-strong:#0f172a2e;--border-accent:#0891b266;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--accent:#0891b2;--accent-2:#06b6d4;--accent-glow:#0891b24d;--accent-soft:#0891b21a;--success:#059669;--success-glow:#0596694d;--success-soft:#0596691a;--danger:#dc2626;--danger-glow:#dc26264d;--danger-soft:#dc26261a;--warning:#d97706;--warning-glow:#d977064d;--warning-soft:#d977061a;--info:#2563eb;--info-soft:#2563eb1a;--purple:#9333ea;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a12;--shadow-lg:0 12px 32px #0f172a17;--shadow-xl:0 24px 60px #0f172a1f;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;min-height:100vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";background:#06090f;background:var(--bg-base);background-attachment:fixed;background-image:radial-gradient(ellipse 80% 60% at 50% -20%,#22d3ee1f,#0000 60%),radial-gradient(ellipse 60% 50% at 100% 100%,#a855f714,#0000 60%),linear-gradient(180deg,#06090f,#0a0f1a);background-image:var(--bg-canvas);color:#f1f5f9;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;line-height:1.5;margin:0;overflow:hidden;padding:0;text-rendering:optimizeLegibility;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s var(--ease),color .3s var(--ease)}body:before{background-image:radial-gradient(circle,#94a3b80d 1px,#0000 0);background-image:radial-gradient(circle,var(--bg-dots) 1px,#0000 1px);background-size:28px 28px;content:"";inset:0;mask-image:radial-gradient(ellipse at center,#000 30%,#0000 85%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,#0000 85%);pointer-events:none;position:fixed;transition:background-image .3s cubic-bezier(.4,0,.2,1);transition:background-image .3s var(--ease);z-index:0}#root{position:relative;z-index:1}select{background:#181c248c;background:var(--bg-surface-2);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;padding:8px 12px}img{display:block;max-width:100%}button,input,select,textarea{color:inherit;font-family:inherit}button{background:#0000;border:none;cursor:pointer;font:inherit}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#94a3b82e;background:var(--bg-track);background-clip:padding-box;border:2px solid #0000;border-radius:10px;-webkit-transition:background .2s cubic-bezier(.4,0,.2,1);transition:background .2s cubic-bezier(.4,0,.2,1);-webkit-transition:background .2s var(--ease);transition:background .2s var(--ease)}::-webkit-scrollbar-thumb:hover{background:#94a3b838;background:var(--border-strong);background-clip:padding-box;border:2px solid #0000}::selection{background:#22d3ee1a;background:var(--accent-soft);color:#f1f5f9;color:var(--text-primary)}
/*# sourceMappingURL=main.e78c1033.css.map*/