:root { --color-bg: #eef4ff; --color-bg-accent: #dfe9ff; --color-surface: rgba(255, 255, 255, 0.92); --color-panel-soft: rgba(15, 93, 216, 0.06); --color-text: #152238; --color-muted: #5f708a; --color-accent: #0f5dd8; --color-border: rgba(20, 47, 95, 0.08); --font-sans: 'PingFang SC', 'SF Pro Display', 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', 'SFMono-Regular', ui-monospace, monospace; color: var(--color-text); background: radial-gradient(circle at top left, rgba(44, 133, 247, 0.22), transparent 32%), radial-gradient(circle at top right, rgba(114, 184, 255, 0.18), transparent 26%), linear-gradient(180deg, var(--color-bg) 0%, #f7fbff 100%); font-family: var(--font-sans); line-height: 1.5; font-weight: 400; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } *, *::before, *::after { box-sizing: border-box; } html, body, #app { min-height: 100%; } body { margin: 0; } body::before { content: ''; position: fixed; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(20, 47, 95, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 47, 95, 0.02) 1px, transparent 1px); background-size: 24px 24px; mask-image: radial-gradient(circle at center, black, transparent 75%); } img { max-width: 100%; } button, input, select, textarea { font: inherit; } a { color: inherit; }