:root{--color-bg: #faf9f7;--color-bg-dark: #1a1a2e;--color-surface: #ffffff;--color-surface-alt: #f5f3ef;--color-border: #e8e4de;--color-border-light: #f0ece6;--color-primary: #2d2d2d;--color-primary-hover: #1a1a1a;--color-accent: #b8860b;--color-accent-light: #d4a843;--color-accent-muted: rgba(184, 134, 11, .08);--color-text: #2d2d2d;--color-text-secondary: #7a7570;--color-text-muted: #b0aaa2;--color-text-inverse: #ffffff;--color-success: #2e7d5b;--color-error: #c04040;--color-warning: #b8860b;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--space-3xl: 96px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);--shadow-xl: 0 24px 64px rgba(0,0,0,.12);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:var(--color-accent);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--color-accent-light)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all .3s var(--ease-out)}input,select,textarea{font-family:var(--font-body);font-size:15px;outline:none;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px;background:var(--color-surface);color:var(--color-text);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}input::placeholder{color:var(--color-text-muted)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:fadeIn .5s var(--ease-out) forwards}
