:root{--bg: #05060F;--surface: #0A0C1A;--surface2: #0F1228;--surface3: #141630;--gold: #C9A84C;--gold-dim: rgba(201,168,76,.12);--gold-border: rgba(201,168,76,.25);--gold-glow: rgba(201,168,76,.15);--teal: #4CC9A8;--teal-dim: rgba(76,201,168,.12);--teal-border: rgba(76,201,168,.25);--teal-glow: rgba(76,201,168,.15);--red: #C94C4C;--red-dim: rgba(201,76,76,.12);--red-border: rgba(201,76,76,.25);--violet: #9B6FD8;--violet-dim: rgba(155,111,216,.12);--text: #E8E6F0;--text-muted: #7A7896;--text-dim: #4A4866;--font-display: "Cormorant Garamond", serif;--font-ui: "Syne", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .4s ease;--z-base: 1;--z-overlay: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font-ui);cursor:pointer}input,select,textarea{font-family:var(--font-ui)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--gold-border);border-radius:3px}.glass{background:#0a0c1ab3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--gold-border);border-radius:var(--radius-lg)}.glass-teal{background:#0a0c1ab3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--teal-border);border-radius:var(--radius-lg)}.page{min-height:100vh;background:radial-gradient(ellipse at center,#0a0f1a,#050508 80%);background-attachment:fixed}@keyframes pulse-dot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fade-in .35s ease forwards}
