:root{--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-dark: #7c3aed;--color-secondary: #06b6d4;--color-secondary-light: #22d3ee;--color-secondary-dark: #0891b2;--color-accent: #f59e0b;--color-accent-light: #fbbf24;--color-accent-dark: #d97706;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-surface: #0f172a;--color-surface-light: #1e293b;--color-surface-lighter: #334155;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--color-text-disabled: #475569;--bg-primary: var(--color-surface);--bg-secondary: var(--color-surface-light);--bg-tertiary: var(--color-surface-lighter);--bg-overlay: rgba(255, 255, 255, .08);--bg-overlay-light: rgba(255, 255, 255, .12);--bg-overlay-dark: rgba(0, 0, 0, .3);--border-color: rgba(255, 255, 255, .1);--border-color-light: rgba(255, 255, 255, .15);--border-radius-sm: 6px;--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-2xl: 20px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glow: 0 0 20px rgba(139, 92, 246, .3);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--button-height: 44px;--button-padding: .75rem 1.25rem;--button-min-width: 100px}.gradient-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}.gradient-secondary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-primary) 100%)}.gradient-surface{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-light) 100%)}.gradient-glow{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 50%,var(--color-accent) 100%);background-size:200% 200%;animation:gradientShift 8s ease infinite}.gradient-dark{background:linear-gradient(135deg,#0f172a,#1e293b,#334155)}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-glow)}50%{box-shadow:0 0 30px #8b5cf680}}.glass{background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.glass-light{background:#ffffff1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--button-padding);border:none;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;min-height:var(--button-height);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--color-secondary);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary:hover{background:var(--color-secondary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md)}.btn-accent:hover{background:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background:transparent;color:var(--color-text-primary);border:2px solid var(--border-color-light)}.btn-outline:hover{background:var(--bg-overlay);border-color:var(--color-primary);transform:translateY(-2px)}.card{background:var(--bg-secondary);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--border-color-light)}.card-glass{composes:glass;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.input{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:.75rem 1rem;color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf61a}.input::placeholder{color:var(--color-text-muted)}*{margin:0;padding:0;box-sizing:border-box;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body,#app{height:100vh;width:100vw;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;touch-action:none;overscroll-behavior:none;-webkit-overflow-scrolling:touch}
