Spaces:
Build error
Build error
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&family=JetBrains+Mono:wght@400;500;600&display=swap'); | |
| :root { | |
| --bg: #060b18; | |
| --surface: #0d1525; | |
| --card: rgba(22,33,55,.65); | |
| --card-solid: #162137; | |
| --border: rgba(56,80,130,.35); | |
| --border-hover: rgba(59,130,246,.4); | |
| --text: #e8ecf4; | |
| --muted: #7b8ba8; | |
| --accent: #4f8ff7; | |
| --accent-glow: rgba(79,143,247,.12); | |
| --accent-bright: #6da3ff; | |
| --green: #22c55e; | |
| --green-glow: rgba(34,197,94,.12); | |
| --yellow: #eab308; | |
| --yellow-glow: rgba(234,179,8,.1); | |
| --red: #f43f5e; | |
| --red-glow: rgba(244,63,94,.1); | |
| --orange: #f97316; | |
| --purple: #a855f7; | |
| --purple-glow: rgba(168,85,247,.12); | |
| --cyan: #06b6d4; | |
| /* Shadows */ | |
| --shadow-sm: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2); | |
| --shadow-md: 0 4px 14px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.2); | |
| --shadow-lg: 0 8px 30px rgba(0,0,0,.4), 0 4px 12px rgba(0,0,0,.25); | |
| --shadow-glow: 0 0 20px rgba(79,143,247,.08), 0 4px 14px rgba(0,0,0,.3); | |
| /* Blur */ | |
| --blur: blur(12px); | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Inter', 'Noto Sans SC', system-ui, -apple-system, sans-serif; | |
| background: var(--bg); | |
| color: var(--text); | |
| line-height: 1.6; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| background-image: | |
| radial-gradient(ellipse 80% 60% at 50% 0%, rgba(79,143,247,.04) 0%, transparent 60%), | |
| radial-gradient(ellipse 60% 50% at 80% 100%, rgba(168,85,247,.03) 0%, transparent 50%); | |
| background-attachment: fixed; | |
| } | |
| /* ── Scrollbar ── */ | |
| ::-webkit-scrollbar { width: 5px; } | |
| ::-webkit-scrollbar-track { background: transparent; } | |
| ::-webkit-scrollbar-thumb { | |
| background: linear-gradient(180deg, rgba(79,143,247,.3), rgba(168,85,247,.2)); | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { background: rgba(79,143,247,.5); } | |
| /* ── Recharts tooltip ── */ | |
| .recharts-default-tooltip { | |
| background: var(--card-solid) ; | |
| border: 1px solid var(--border) ; | |
| border-radius: 10px ; | |
| box-shadow: var(--shadow-md) ; | |
| backdrop-filter: var(--blur) ; | |
| } | |
| /* ── Selection ── */ | |
| ::selection { | |
| background: rgba(79,143,247,.28); | |
| color: var(--text); | |
| } | |
| /* ── Stat Card (reusable) ── */ | |
| .stat-card { | |
| background: var(--card); | |
| backdrop-filter: var(--blur); | |
| border: 1px solid var(--border); | |
| border-radius: 14px; | |
| padding: 18px 20px; | |
| transition: all .3s cubic-bezier(.4,0,.2,1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .stat-card::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| background: linear-gradient(135deg, rgba(79,143,247,.04) 0%, transparent 60%); | |
| opacity: 0; | |
| transition: opacity .3s; | |
| } | |
| .stat-card:hover { | |
| border-color: var(--border-hover); | |
| box-shadow: var(--shadow-glow); | |
| transform: translateY(-1px); | |
| } | |
| .stat-card:hover::before { opacity: 1; } | |
| .stat-label { | |
| font-size: .7rem; | |
| text-transform: uppercase; | |
| letter-spacing: 1.5px; | |
| color: var(--muted); | |
| font-weight: 600; | |
| } | |
| .stat-value { | |
| font-size: 1.6rem; | |
| font-weight: 800; | |
| margin: 6px 0 4px; | |
| background: linear-gradient(135deg, var(--text) 30%, var(--accent-bright)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .stat-sub { | |
| font-size: .7rem; | |
| color: var(--muted); | |
| } | |
| /* ── Monospace for code/numbers ── */ | |
| code, .mono { | |
| font-family: 'JetBrains Mono', 'Fira Code', monospace; | |
| } | |