*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #e94560;--color-secondary: #1a1a2e;--color-accent: #f5a623;--color-background: #f8f9fa;--color-surface: #ffffff;--color-text: #1a1a2e;--color-text-light: #6b7280;--font-display: "Playfair Display", Georgia, serif;--font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .15)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.3}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary)}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body);font-size:1rem}img{max-width:100%;height:auto}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner:after{content:"";width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:60px 20px}.error-state h1{font-size:1.5rem;margin-bottom:12px;color:var(--color-text)}.error-state p{color:var(--color-text-light);margin-bottom:24px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}
