*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"Poppins", "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", "Courier New", monospace;--text-xs:10px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:40px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.08em;--color-bg:#08080c;--color-surface:#111118;--color-surface-alt:#161622;--color-elevated:#1a1a2e;--color-border:#ffffff0f;--color-border-strong:#ffffff1a;--color-accent:#a78bfa;--color-accent-deep:#7c3aed;--color-accent-pink:#f472b6;--color-accent-gold:#f59e0b;--color-accent-green:#34d399;--color-accent-blue:#60a5fa;--color-accent-red:#f87171;--color-neon-blue:#00f0ff;--color-neon-pink:#ff2e63;--color-text:#e2e8f0;--color-text-heading:#f1f5f9;--color-text-muted:#64748b;--color-text-dim:#475569;--color-success:#34d399;--color-warning:#f59e0b;--color-danger:#f87171;--color-info:#60a5fa;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-glow:0 0 30px #7c3aed40;--shadow-glow-pink:0 0 30px #f472b626;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--grad-brand:linear-gradient(135deg, #7c3aed, #a78bfa, #f472b6);--grad-gold:linear-gradient(135deg, #f59e0b, #fbbf24);--grad-surface:linear-gradient(160deg, #111118, #161622);--grad-header:linear-gradient(180deg, #7c3aed14, #f472b608, transparent)}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}input,button,textarea,select{font-family:inherit;font-size:inherit}a{color:var(--color-accent);text-decoration:none}.code,.mono{font-family:var(--font-mono)}.num,.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-global{font-weight:var(--weight-bold);cursor:pointer;border-radius:var(--radius-md);transition:all .2s var(--ease-out);will-change:transform, box-shadow;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:6px;padding:12px 24px;font-size:15px;display:inline-flex;transform:translateZ(0)}.btn-global.btn-primary{color:#08080c;background:linear-gradient(135deg,#00f0ff,#0090cc);box-shadow:0 0 12px #00f0ff59}.btn-global.btn-primary:hover{transform:scale(1.05);box-shadow:0 0 20px #00f0ff80}.btn-global.btn-primary:active{transform:scale(.97);box-shadow:0 0 6px #00f0ff4d}.btn-global.btn-secondary{color:var(--color-neon-pink);border:1.5px solid var(--color-neon-pink);background:0 0;box-shadow:0 0 8px #ff2e6340}.btn-global.btn-secondary:hover{background:#ff2e631a;transform:scale(1.05)}.btn-global.btn-secondary:active{transform:scale(.97)}.btn-global:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes barSweep{0%{background-position:150% 0}to{background-position:-150% 0}}@keyframes dialogIn{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #7b2fff33}50%{box-shadow:0 0 24px #7b2fff66}}.anim-fadeup{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.skeleton{background:linear-gradient(90deg,#ffffff05 25%,#b450ff0a 50%,#ffffff05 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.btn{padding:8px var(--space-lg);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:var(--grad-brand);color:#fff}.btn-accent{background:var(--color-accent);color:var(--color-bg)}.btn-outline{color:var(--color-accent);background:0 0;border:1px solid #b450ff40}.btn-ghost{color:var(--color-text-muted);background:#ffffff0a}.btn-gold{background:var(--grad-gold);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{font-size:var(--text-xs);padding:5px 12px}.btn-lg{padding:12px var(--space-2xl);font-size:var(--text-md)}.btn-block{width:100%}.empty-state{align-items:center;gap:var(--space-sm);padding:var(--space-3xl) var(--space-lg);color:var(--color-text-muted);font-size:var(--text-sm);flex-direction:column;display:flex}.empty-state-icon{opacity:.3;font-size:40px}.badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);letter-spacing:.5px;padding:2px 8px;display:inline-block}.badge-purple{color:var(--color-accent);background:#b09aff1f}.badge-green{color:var(--color-success);background:#4caf841f}.badge-red{color:var(--color-danger);background:#e048481f}.badge-gold{color:var(--color-accent-gold);background:#f0a0301f}.sec-title{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-heading);padding:var(--space-sm) 0 var(--space-md);align-items:center;gap:6px;display:flex}.sec-title-dot{color:var(--color-accent-pink);font-size:8px}
