.svg-icon[data-v-19346ba3]{vertical-align:middle;flex-shrink:0;display:inline-block}.sidebar[data-v-87b492bc]{width:var(--sidebar-width);background:var(--bg-elevated);border-right:1px solid var(--border);height:100dvh;transition:width var(--transition-normal) ease;z-index:100;white-space:nowrap;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed[data-v-87b492bc]{width:var(--sidebar-collapsed-width)}.sidebar-top[data-v-87b492bc]{border-bottom:1px solid var(--border)}.sidebar-header[data-v-87b492bc]{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + constant(safe-area-inset-top));padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0px));flex-shrink:0;justify-content:space-between;align-items:center;min-height:56px;display:flex;overflow:hidden}.sidebar.collapsed .sidebar-header[data-v-87b492bc]{padding:var(--space-sm) 0;justify-content:center}.sidebar.collapsed .toggle-btn[data-v-87b492bc]{display:none}.logo[data-v-87b492bc]{align-items:center;gap:var(--space-sm);white-space:nowrap;display:flex;overflow:hidden}.logo-radar[data-v-87b492bc]{width:38px;height:38px;transition:width var(--transition-normal), height var(--transition-normal);background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #6366f159}.logo-radar[data-v-87b492bc]:before{content:"";background:linear-gradient(#ffffff26 0%,#0000 50%);border-radius:10px;position:absolute;inset:0}.logo-radar-svg[data-v-87b492bc]{z-index:1;width:28px;height:28px;position:relative}.logo-wrap[data-v-87b492bc]{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.1;display:flex}.logo-text[data-v-87b492bc]{background:var(--gradient-primary);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700}.logo-subtitle[data-v-87b492bc]{color:var(--text-muted);letter-spacing:0;white-space:normal;word-break:keep-all;max-width:100%;margin-top:2px;font-size:9px;font-weight:500;line-height:1.25}.logo-version[data-v-87b492bc]{background:var(--primary-dim);color:var(--primary);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.toggle-btn[data-v-87b492bc]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.toggle-btn[data-v-87b492bc]:hover{background:var(--surface);color:var(--text)}.brand-identity[data-v-87b492bc]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:0 var(--space-sm) var(--space-sm);background:var(--primary-dim);border-radius:var(--radius-sm);transition:padding var(--transition-normal), margin var(--transition-normal);border:1px solid #c084fc26;flex-shrink:0;display:flex;overflow:hidden}.brand-identity.collapsed[data-v-87b492bc]{padding:var(--space-xs) 0;margin:0 var(--space-sm) var(--space-sm);justify-content:center}.brand-identity.collapsed .brand-avatar[data-v-87b492bc]{width:24px;height:24px;font-size:11px}.brand-avatar[data-v-87b492bc]{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.brand-avatar-img[data-v-87b492bc]{object-fit:contain;border:1px solid var(--border);background:#fff;padding:3px}.brand-info[data-v-87b492bc]{flex:1;min-width:0;overflow:hidden}.brand-name[data-v-87b492bc]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.brand-role[data-v-87b492bc]{color:var(--text-secondary);font-size:10px}.brand-identity-empty[data-v-87b492bc]{padding:var(--space-sm) var(--space-md);margin:var(--space-md) var(--space-sm) 0}.set-brand-link[data-v-87b492bc]{color:var(--text-muted);font-size:12px;text-decoration:none}.set-brand-link[data-v-87b492bc]:hover{color:var(--primary)}.subsystem-switcher[data-v-87b492bc]{padding:8px var(--space-sm);border-bottom:1px solid var(--border);background:linear-gradient(#c084fc08,#0000);gap:4px;display:flex}.subsystem-switcher.collapsed[data-v-87b492bc]{flex-direction:column;padding:8px 6px}.ss-btn[data-v-87b492bc]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-secondary);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 6px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.ss-btn .ss-label[data-v-87b492bc]{white-space:normal;word-break:keep-all;text-align:center;font-size:11px;line-height:1.2}.ss-btn[data-v-87b492bc]:hover{border-color:var(--primary);color:var(--text)}.ss-btn.active[data-v-87b492bc]{background:var(--gradient-primary);color:#fff;border-color:#0000;box-shadow:0 2px 8px #a78bfa4d}.ss-icon[data-v-87b492bc]{font-size:14px}.ss-label[data-v-87b492bc]{font-size:12px}.subsystem-switcher.collapsed .ss-btn[data-v-87b492bc]{padding:8px 0}.subsystem-switcher.collapsed .ss-label[data-v-87b492bc]{display:none}.ss-badge[data-v-87b492bc]{color:#fff;min-width:14px;height:14px;box-shadow:0 0 0 2px var(--bg-elevated);background:#ef4444;border-radius:7px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:800;animation:2s ease-in-out infinite alert-pulse-87b492bc;display:inline-flex;position:absolute;top:-4px;right:-4px}.sidebar-nav[data-v-87b492bc]{padding:var(--space-sm);flex:1;overflow-y:auto}.nav-group[data-v-87b492bc]{margin-bottom:var(--space-sm)}.nav-group-caret[data-v-87b492bc]{width:14px;height:14px;color:var(--text-muted);opacity:.75;transition:transform var(--transition-fast), opacity var(--transition-fast);vertical-align:-2px;justify-content:center;align-items:center;margin-right:5px;display:inline-flex}.nav-group-caret.open[data-v-87b492bc]{transform:rotate(90deg)}.nav-group-label.is-toggle[data-v-87b492bc]:hover{color:var(--text)}.nav-group-label.is-toggle:hover .nav-group-caret[data-v-87b492bc]{opacity:1}.nav-group-label[data-v-87b492bc]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;padding:var(--space-sm) var(--space-sm);margin-top:var(--space-sm);font-size:11px;font-weight:600}.nav-group-divider[data-v-87b492bc]{background:var(--border);height:1px;margin:var(--space-sm) var(--space-sm);position:relative}.nav-group-divider.has-alert[data-v-87b492bc]:after{content:"";width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-elevated);background:#ef4444;border-radius:50%;animation:2s ease-in-out infinite alert-pulse-87b492bc;position:absolute;top:-3px;right:8px}.alert-badge[data-v-87b492bc]{color:#fff;letter-spacing:0;vertical-align:middle;cursor:pointer;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;text-decoration:none;transition:transform .12s;animation:2s ease-in-out infinite alert-pulse-87b492bc;display:inline-flex}.alert-badge[data-v-87b492bc]:hover{transform:scale(1.15)}@keyframes alert-pulse-87b492bc{0%,to{box-shadow:0 0 #ef44448c}50%{box-shadow:0 0 0 4px #ef444400}}.nav-item[data-v-87b492bc]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;margin-bottom:2px;padding:8px 10px;text-decoration:none;display:flex;position:relative}.nav-item[data-v-87b492bc]:hover{background:var(--surface);color:var(--text)}.nav-item.active[data-v-87b492bc]{background:var(--primary-dim);color:var(--primary)}.nav-icon[data-v-87b492bc]{opacity:.82;width:20px;height:20px;transition:opacity var(--transition-fast);flex-shrink:0}.nav-item:hover .nav-icon[data-v-87b492bc]{opacity:.95}.nav-item.active .nav-icon[data-v-87b492bc]{opacity:1}.nav-label[data-v-87b492bc]{white-space:nowrap;font-size:13px;font-weight:500}.nav-indicator[data-v-87b492bc]{background:var(--primary);border-radius:3px;width:3px;height:16px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.sidebar-footer[data-v-87b492bc]{padding:var(--space-sm);border-top:1px solid var(--border)}.user-section[data-v-87b492bc]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;margin-top:var(--space-xs);display:flex}.user-section.collapsed[data-v-87b492bc]{padding:var(--space-sm) 0;justify-content:center}.user-avatar[data-v-87b492bc]{background:var(--gradient-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.user-info[data-v-87b492bc]{flex:1;min-width:0;overflow:hidden}.user-name[data-v-87b492bc]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.user-role[data-v-87b492bc]{color:var(--text-muted);font-size:10px}.logout-btn[data-v-87b492bc]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logout-btn[data-v-87b492bc]:hover{background:var(--danger-dim);color:var(--danger)}@media (width<=768px){.sidebar[data-v-87b492bc]{z-index:200;transition:transform var(--transition-normal) ease, width var(--transition-normal) ease}.sidebar.mobile-hidden[data-v-87b492bc]{transform:translate(-100%)}.sidebar.mobile-open[data-v-87b492bc]{width:var(--sidebar-width);transform:translate(0)}.sidebar.mobile-open.collapsed[data-v-87b492bc]{width:var(--sidebar-width)}.toggle-btn[data-v-87b492bc]{display:none}}.bottom-tab-bar[data-v-aa37731b]{display:none}@media (width<=768px){.bottom-tab-bar[data-v-aa37731b]{z-index:999;background:var(--bg-elevated);border-top:1px solid var(--border);height:calc(56px + constant(safe-area-inset-bottom));height:calc(56px + max(8px, env(safe-area-inset-bottom,8px)));padding-bottom:0;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}.tab-item[data-v-aa37731b]{padding:6px 0 calc(constant(safe-area-inset-bottom)) 0;padding:6px 0 max(8px, env(safe-area-inset-bottom,8px)) 0;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tab-item.active[data-v-aa37731b]{color:var(--primary)}.tab-icon[data-v-aa37731b]{opacity:.6;transition:opacity var(--transition-fast)}.tab-item.active .tab-icon[data-v-aa37731b]{opacity:1}.tab-label[data-v-aa37731b]{font-size:10px;font-weight:500;line-height:1}}.app-layout[data-v-aebdd993]{height:var(--app-height,100vh);background:var(--bg);height:100dvh;overflow:hidden}.main-content[data-v-aebdd993]{flex-direction:column;height:100%;display:flex;overflow:hidden}.mobile-overlay[data-v-aebdd993]{z-index:150;background:#00000080;position:fixed;inset:0}:root,[data-theme=cyber]{--bg:#0a0a1a;--bg-elevated:#12122a;--surface:#1a1a3e;--surface-hover:#22224a;--text:#e8e8f0;--text-secondary:#a0a0c0;--text-muted:#6a6a90;--border:#ffffff14;--border-hover:#ffffff26;--primary:#c084fc;--primary-hover:#d4a0ff;--primary-dim:#c084fc26;--accent:#22d3ee;--accent-dim:#22d3ee26;--success:#4ade80;--success-dim:#4ade801f;--warning:#fbbf24;--warning-dim:#fbbf241f;--danger:#f87171;--danger-dim:#f871711f;--gradient-primary:linear-gradient(135deg, #c084fc, #818cf8);--gradient-accent:linear-gradient(135deg, #22d3ee, #818cf8);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-glow:0 0 20px #c084fc26;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--sidebar-width:240px;--sidebar-collapsed-width:64px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}[data-theme=latte]{--bg:#faf6f1;--bg-elevated:#f2ece4;--surface:#ebe3d8;--surface-hover:#e0d6c8;--text:#2c2418;--text-secondary:#6b5d4e;--text-muted:#9a8d7e;--border:#00000014;--border-hover:#00000026;--primary:#b8742c;--primary-hover:#d4883a;--primary-dim:#b8742c1f;--accent:#7c6350;--accent-dim:#7c63501f;--success:#5a9e3e;--success-dim:#5a9e3e1a;--warning:#d4943c;--warning-dim:#d4943c1a;--danger:#c45040;--danger-dim:#c450401a;--gradient-primary:linear-gradient(135deg, #b8742c, #9a5e1e);--gradient-accent:linear-gradient(135deg, #7c6350, #5a4838);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--shadow-glow:0 0 20px #b8742c1a}[data-theme=royal]{--bg:#0f0a18;--bg-elevated:#1a1228;--surface:#251a3a;--surface-hover:#2e2248;--text:#f0e8f8;--text-secondary:#c0a8d8;--text-muted:#8068a0;--border:#ffffff14;--border-hover:#ffffff26;--primary:#d4a017;--primary-hover:#eab308;--primary-dim:#d4a01726;--accent:#a78bfa;--accent-dim:#a78bfa26;--gradient-primary:linear-gradient(135deg, #d4a017, #b8860b);--gradient-accent:linear-gradient(135deg, #a78bfa, #8b5cf6);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-glow:0 0 20px #d4a01726}[data-theme=sunset]{--bg:#fdf8f3;--bg-elevated:#f5ede4;--surface:#ede2d5;--surface-hover:#e4d6c6;--text:#2e2520;--text-secondary:#74614e;--text-muted:#a0907e;--border:#00000012;--border-hover:#00000021;--primary:#d06030;--primary-hover:#e07040;--primary-dim:#d060301f;--accent:#8b6e55;--accent-dim:#8b6e551f;--success:#4a9850;--success-dim:#4a98501a;--warning:#c88830;--warning-dim:#c888301a;--danger:#c04040;--danger-dim:#c040401a;--gradient-primary:linear-gradient(135deg, #d06030, #b84820);--gradient-accent:linear-gradient(135deg, #8b6e55, #6a5240);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-glow:0 0 20px #d060301a}[data-theme=carbon]{--bg:#0c0c0c;--bg-elevated:#141414;--surface:#1c1c1c;--surface-hover:#252525;--text:#e4e4e4;--text-secondary:#999;--text-muted:#5c5c5c;--border:#ffffff0f;--border-hover:#ffffff1f;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-dim:#3b82f61f;--accent:#94a3b8;--accent-dim:#94a3b81f;--success:#22c55e;--success-dim:#22c55e1a;--warning:#f59e0b;--warning-dim:#f59e0b1a;--danger:#ef4444;--danger-dim:#ef44441a;--gradient-primary:linear-gradient(135deg, #3b82f6, #2563eb);--gradient-accent:linear-gradient(135deg, #94a3b8, #64748b);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-glow:0 0 20px #3b82f61a}[data-theme=graphite]{--bg:#111115;--bg-elevated:#18181d;--surface:#202028;--surface-hover:#282832;--text:#dcdce0;--text-secondary:#9898a8;--text-muted:#58586a;--border:#ffffff0f;--border-hover:#ffffff1c;--primary:#d4a053;--primary-hover:#e0b46a;--primary-dim:#d4a0531f;--accent:#7c8db5;--accent-dim:#7c8db51f;--success:#5cb85c;--success-dim:#5cb85c1a;--warning:#e8a838;--warning-dim:#e8a8381a;--danger:#d9534f;--danger-dim:#d9534f1a;--gradient-primary:linear-gradient(135deg, #d4a053, #b8862b);--gradient-accent:linear-gradient(135deg, #7c8db5, #5a6a8a);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-glow:0 0 20px #d4a0531a}[data-theme=rosewood]{--bg:#120e0e;--bg-elevated:#1a1414;--surface:#241c1c;--surface-hover:#2e2424;--text:#e8e0e0;--text-secondary:#b09898;--text-muted:#6e5858;--border:#ffffff0f;--border-hover:#ffffff1c;--primary:#e8788a;--primary-hover:#f09aa8;--primary-dim:#e8788a1f;--accent:#c4956a;--accent-dim:#c4956a1f;--success:#6bc77a;--success-dim:#6bc77a1a;--warning:#e8b44c;--warning-dim:#e8b44c1a;--danger:#e85858;--danger-dim:#e858581a;--gradient-primary:linear-gradient(135deg, #e8788a, #c45a6a);--gradient-accent:linear-gradient(135deg, #c4956a, #a07850);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-glow:0 0 20px #e8788a1a}[data-theme=mint]{--bg:#f2faf6;--bg-elevated:#e8f5ee;--surface:#dceee4;--surface-hover:#cfe6d8;--text:#1a2e24;--text-secondary:#4a6e58;--text-muted:#7a9a88;--border:#00000012;--border-hover:#00000021;--primary:#0d9668;--primary-hover:#10b87e;--primary-dim:#0d96681f;--accent:#3a8a6a;--accent-dim:#3a8a6a1f;--success:#1a9e50;--success-dim:#1a9e501a;--warning:#c89030;--warning-dim:#c890301a;--danger:#d04848;--danger-dim:#d048481a;--gradient-primary:linear-gradient(135deg, #0d9668, #08785a);--gradient-accent:linear-gradient(135deg, #3a8a6a, #2a6a50);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-glow:0 0 20px #0d96681a}[data-theme=sky]{--bg:#f4f8fc;--bg-elevated:#eaf1f8;--surface:#dde8f2;--surface-hover:#d0dfec;--text:#1a2536;--text-secondary:#4a6080;--text-muted:#7a90a8;--border:#00000012;--border-hover:#00000021;--primary:#2563eb;--primary-hover:#3b82f6;--primary-dim:#2563eb1a;--accent:#4a80c8;--accent-dim:#4a80c81f;--success:#16a34a;--success-dim:#16a34a1a;--warning:#d97706;--warning-dim:#d977061a;--danger:#dc2626;--danger-dim:#dc26261a;--gradient-primary:linear-gradient(135deg, #2563eb, #1d4ed8);--gradient-accent:linear-gradient(135deg, #4a80c8, #3660a0);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-glow:0 0 20px #2563eb1a}[data-theme=pure]{--bg:#fff;--bg-elevated:#f8f8f8;--surface:#f0f0f0;--surface-hover:#e8e8e8;--text:#1a1a1a;--text-secondary:#555;--text-muted:#999;--border:#00000017;--border-hover:#0000002e;--primary:#1a1a1a;--primary-hover:#333;--primary-dim:#0000000f;--accent:#666;--accent-dim:#0000000d;--success:#16a34a;--success-dim:#16a34a14;--warning:#ca8a04;--warning-dim:#ca8a0414;--danger:#dc2626;--danger-dim:#dc262614;--gradient-primary:linear-gradient(135deg, #333, #1a1a1a);--gradient-accent:linear-gradient(135deg, #888, #555);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000012;--shadow-lg:0 8px 24px #00000017;--shadow-glow:none}[data-theme=titanium]{--bg:#0e1012;--bg-elevated:#151719;--surface:#1d2024;--surface-hover:#25282e;--text:#d8dce0;--text-secondary:#8a9098;--text-muted:#50565e;--border:#ffffff0d;--border-hover:#ffffff1a;--primary:#00d68f;--primary-hover:#2aea9f;--primary-dim:#00d68f1f;--accent:#4dc9f6;--accent-dim:#4dc9f61f;--success:#00d68f;--success-dim:#00d68f1a;--warning:#fa0;--warning-dim:#ffaa001a;--danger:#ff3d71;--danger-dim:#ff3d711a;--gradient-primary:linear-gradient(135deg, #00d68f, #00b887);--gradient-accent:linear-gradient(135deg, #4dc9f6, #0095d5);--gradient-surface:linear-gradient(180deg, var(--surface), var(--bg-elevated));--shadow-glow:0 0 20px #00d68f1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}body{background:var(--bg);overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}#app{width:100%;height:100%;margin:0;overflow:hidden}html{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.5}.page{flex-direction:column;height:100%;display:flex;overflow:hidden}.page-body{flex:1;min-height:0;overflow:hidden auto}a{color:var(--primary);text-decoration:none}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.text-primary{color:var(--primary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.bg-surface{background:var(--surface)}.bg-elevated{background:var(--bg-elevated)}.font-mono{font-family:JetBrains Mono,Fira Code,monospace}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);font-size:13px;font-weight:600}.badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.badge-success{background:var(--success-dim);color:var(--success)}.badge-warning{background:var(--warning-dim);color:var(--warning)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-primary{background:var(--primary-dim);color:var(--primary)}.badge-accent{background:var(--accent-dim);color:var(--accent)}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;touch-action:manipulation;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--border-hover);background:var(--surface-hover)}.btn-primary{background:var(--gradient-primary);color:#fff;border-color:#0000}.btn-primary:hover{opacity:.9;box-shadow:var(--shadow-glow)}.btn-sm{padding:6px 12px;font-size:13px}.btn-refresh{align-items:center;gap:4px;display:inline-flex}.btn-refresh .spinning{animation:1s linear infinite spin}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:12px;font-weight:600}.data-table tr:hover td{background:var(--surface-hover)}.score{font-variant-numeric:tabular-nums;font-weight:700}.score-high{color:var(--success)}.score-mid{color:var(--warning)}.score-low{color:var(--danger)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform var(--transition-normal), opacity var(--transition-normal)}.slide-enter-from{opacity:0;transform:translate(20px)}.slide-leave-to{opacity:0;transform:translate(-20px)}.drawer-overlay,.compare-modal-overlay,.page,[tabindex="-1"]:focus{outline:none}.close-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .15s;display:flex}.close-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.drawer-actions{top:var(--space-md);right:var(--space-md);align-items:center;gap:6px;display:flex;position:absolute}.refresh-detail-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .15s;display:flex}.refresh-detail-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.refresh-detail-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-detail-btn .spinning{animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state,.error-state{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-2xl) var(--space-lg);color:var(--text-muted);flex-direction:column;min-height:400px;display:flex}.error-state p{font-size:15px}.loading-anim{padding-top:var(--space-xl);flex-direction:column;align-items:center;gap:28px;display:flex}.loading-ring{width:72px;height:72px;position:relative}.loading-ring:before,.loading-ring:after{content:"";border:3px solid #0000;border-radius:50%;position:absolute;inset:0}.loading-ring:before{border-top-color:var(--primary);border-right-color:var(--primary);animation:1s cubic-bezier(.6,.15,.35,.85) infinite ring-spin}.loading-ring:after{border-bottom-color:var(--accent,var(--primary));border-left-color:var(--accent,var(--primary));opacity:.4;animation:1.5s cubic-bezier(.6,.15,.35,.85) infinite reverse ring-spin}.loading-ring-icon{color:var(--primary);justify-content:center;align-items:center;animation:2s ease-in-out infinite pulse-icon;display:flex;position:absolute;inset:0}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes pulse-icon{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.loading-text{text-align:center}.loading-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.loading-subtitle{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.loading-dots:after{content:"...";text-align:left;vertical-align:bottom;width:1.5em;animation:1.5s steps(4,end) infinite dot-clip;display:inline-block;overflow:hidden}@keyframes dot-clip{0%{width:0}33%{width:.5em}66%{width:1em}to{width:1.5em}}.loading-steps{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.loading-step{background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 12px;transition:all .4s;display:flex}.loading-step.active{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.loading-step.done{background:var(--success-dim);border-color:var(--success);color:var(--success)}.loading-step-dot{background:var(--border-hover);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .3s}.loading-step.active .loading-step-dot{background:var(--primary);animation:1s ease-in-out infinite step-pulse}.loading-step.done .loading-step-dot{background:var(--success)}@keyframes step-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}.loading-step-line{background:var(--border);width:20px;height:1px}.loading-skeleton{gap:var(--space-md);width:100%;max-width:900px;padding:0 var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);flex-direction:column;gap:12px;display:flex}.skeleton-bar{background:linear-gradient(90deg, var(--border) 25%, var(--border-hover) 50%, var(--border) 75%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.5s ease-in-out infinite shimmer}.skeleton-bar.w60{width:60%}.skeleton-bar.w80{width:80%}.skeleton-bar.w40{width:40%}.skeleton-bar.h20{height:20px}.skeleton-bar.h8{height:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-progress{background:var(--border);border-radius:2px;width:200px;height:3px;overflow:hidden}.loading-progress-bar{background:var(--gradient-primary);border-radius:2px;height:100%;animation:2s ease-in-out infinite progress-indeterminate}@keyframes progress-indeterminate{0%{width:0%;margin-left:0}50%{width:60%;margin-left:20%}to{width:0%;margin-left:100%}}@media (width<=768px){.page-body{padding:var(--space-sm);padding-bottom:calc(56px + var(--space-sm) + constant(safe-area-inset-bottom))!important;padding-bottom:calc(56px + var(--space-sm) + max(8px, env(safe-area-inset-bottom,8px)))!important}.page-detail .page-body{padding-bottom:calc(var(--space-sm) + constant(safe-area-inset-bottom))!important;padding-bottom:calc(var(--space-sm) + max(8px, env(safe-area-inset-bottom,8px)))!important}.page-body>*{margin-bottom:var(--space-sm)}.card{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.card-title{font-size:13px}.close-btn,.refresh-detail-btn{min-width:40px;min-height:40px}.close-btn:hover,.refresh-detail-btn:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:var(--border)}.btn:hover{background:var(--surface);border-color:var(--border)}.btn-sm{padding:6px 12px;font-size:12px}.loading-skeleton{grid-template-columns:1fr}.loading-steps{flex-wrap:wrap;justify-content:center}.loading-step-line{display:none}.data-table th,.data-table td{padding:8px;font-size:12px}.drawer-body{padding:var(--space-sm);padding-bottom:calc(var(--space-sm) + constant(safe-area-inset-bottom));padding-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px))}.page-body>:last-child{margin-bottom:0}}@media (width>=1920px){.page-body{padding-left:var(--space-2xl,48px)!important;padding-right:var(--space-2xl,48px)!important}}@media (width<=768px){.drawer-header,.compare-modal-header{padding-top:calc(var(--space-lg) + constant(safe-area-inset-top))!important;padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px))!important}.drawer-header .drawer-actions,.compare-modal-header .drawer-actions{top:calc(var(--space-md) + constant(safe-area-inset-top))!important;top:calc(var(--space-md) + env(safe-area-inset-top,0px))!important}}html.native{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html.native input,html.native textarea,html.native [contenteditable]{-webkit-user-select:text;user-select:text}html.native .sidebar,html.native .mobile-overlay{display:none!important}html.native .main-content{margin-left:0!important;transition:none!important}html.native .bottom-tab-bar{display:flex!important}html.native .page-body{-webkit-overflow-scrolling:touch}html.native .page-header{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top,0px)}html.native .bottom-tab-bar{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom,0px)}html.native .login-page{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top,0px)}.none-enter-active,.none-leave-active{transition:none}.none-enter-from,.none-leave-to{opacity:1}html.native .slide-native-enter-active{transition:opacity .15s ease-out}html.native .slide-native-leave-active{transition:opacity .1s ease-in}html.native .slide-native-enter-from,html.native .slide-native-leave-to{opacity:0}
