:root{--color-bg-primary: #000000;--color-bg-secondary: #0a0a0a;--color-bg-tertiary: #1a1a1a;--color-bg-elevated: #2a2a2a;--color-text-primary: #ffffff;--color-text-secondary: #a1a1a1;--color-text-tertiary: #6e6e6e;--color-text-quaternary: #3a3a3a;--color-accent: #ffffff;--color-accent-hover: #f5f5f5;--color-success: #30d158;--color-info: #0a84ff;--color-border-subtle: rgba(255, 255, 255, .06);--color-border-medium: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .2);--color-surface: rgba(255, 255, 255, .03);--color-surface-hover: rgba(255, 255, 255, .06);--color-surface-active: rgba(255, 255, 255, .09);--font-family-base: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;--font-family-mono: "SF Mono", ui-monospace, monospace;--font-size-display: clamp(48px, 8vw, 72px);--font-size-title: clamp(32px, 5vw, 48px);--font-size-headline: 24px;--font-size-body: 16px;--font-size-callout: 14px;--font-size-subheadline: 13px;--font-size-footnote: 12px;--font-size-caption: 11px;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--letter-spacing-tight: -.8px;--letter-spacing-normal: -.2px;--letter-spacing-wide: .5px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .6);--transition-fast: .2s cubic-bezier(.2, 0, 0, 1);--transition-base: .3s cubic-bezier(.2, 0, 0, 1);--transition-slow: .4s cubic-bezier(.2, 0, 0, 1);--z-base: 1;--z-elevated: 10;--z-modal: 100;--z-toast: 1000}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary);overflow-x:hidden}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::selection{background:var(--color-accent-green);color:#fff}:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-base) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-base) ease-out}.glass{background:var(--color-surface-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--color-border-subtle)}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
