:root{--color-background: #FAFAFF;--color-surface: #FFFFFF;--color-surface-soft: #F6F4FF;--color-primary: #7C6CF6;--color-primary-soft: #EAE7FF;--color-secondary: #FF87B2;--color-secondary-soft: #FFE2EC;--color-accent: #62D6C6;--color-accent-soft: #DFFAF6;--color-warning: #FFB74D;--color-warning-soft: #FFF1DC;--color-text-primary: #1D1B2A;--color-text-secondary: #5C5A72;--color-text-muted: #8E8BAA;--color-border: #E6E3F5;--color-shadow: rgba(36, 30, 75, .08);--gradient-hero: linear-gradient(135deg, #EAE7FF, #FFE2EC, #DFFAF6);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 22px;--spacing-xl: 28px;--spacing-xxl: 36px;--shadow-soft: 0 8px 24px 0 rgba(36, 30, 75, .08);--shadow-card: 0 6px 18px 0 rgba(36, 30, 75, .1);--font-primary: "Poppins", sans-serif;--font-secondary: "Nunito", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-secondary);-webkit-font-smoothing:antialiased;line-height:1.55;font-size:15px}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-text-primary)}.text-h1{font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1.2}.text-h2{font-size:clamp(20px,4vw,24px);font-weight:700;line-height:1.25}.text-h3{font-size:18px;font-weight:600;line-height:1.3}.text-body{font-size:15px;font-weight:400;line-height:1.55}.text-small{font-size:13px;font-weight:400;line-height:1.4}.text-caption{font-size:12px;font-weight:400;line-height:1.3}.container{max-width:980px;margin:0 auto;padding:0 16px}@media (max-width: 480px){.container{padding:0 12px}}@media (min-width: 1024px){.container{padding:0 22px}}.grid-cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.zodiac-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (min-width: 768px){.zodiac-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.zodiac-grid{grid-template-columns:repeat(4,1fr)}}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:var(--font-primary)}
