:root { --color-primary: #0071e3; --color-primary-hover: #0062c3; --color-secondary: #5b9f8a; --color-accent: #5ac8fa; --color-bg: #f5f5f7; --color-bg-soft: #eef2f6; --color-card: rgba(255, 255, 255, 0.86); --color-card-solid: #ffffff; --color-text: #1d1d1f; --color-text-muted: #6e6e73; --color-border: rgba(29, 29, 31, 0.08); --color-border-strong: rgba(29, 29, 31, 0.12); --color-focus-ring: rgba(0, 113, 227, 0.18); --color-primary-soft: rgba(0, 113, 227, 0.08); --color-danger: #c77468; --color-danger-soft: rgba(199, 116, 104, 0.12); --color-chart-grid: rgba(29, 29, 31, 0.08); --color-line-strong: #0071e3; --color-line-medium: #4f8fdd; --color-line-soft: #7aa7df; --color-line-muted: #a5bddd; --radius: 20px; --radius-sm: 14px; --shadow: 0 24px 48px rgba(15, 23, 42, 0.08), 0 8px 18px rgba(15, 23, 42, 0.04); } * { box-sizing: border-box; } body { margin: 0; font-family: 'Avenir Next', 'Segoe UI', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; min-height: 100vh; background: radial-gradient(circle at top left, rgba(90, 200, 250, 0.16), transparent 28%), radial-gradient(circle at top right, rgba(0, 113, 227, 0.12), transparent 24%), linear-gradient(180deg, #fbfbfd 0%, var(--color-bg) 55%, #eef1f4 100%); color: var(--color-text); }