Spaces:
Running
Running
| /* ============================================================ | |
| GLASSGRID — BASE STYLES | |
| Resets, typography foundation, global defaults. | |
| No component-specific styles. No colors (use tokens). | |
| ============================================================ */ | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| -webkit-tap-highlight-color: transparent; | |
| } | |
| html { | |
| font-size: 16px; | |
| scroll-behavior: smooth; | |
| -webkit-text-size-adjust: 100%; | |
| height: 100%; | |
| } | |
| body { | |
| font: var(--text-body); | |
| font-family: var(--font-family-base); | |
| background-color: var(--color-bg-base); | |
| color: var(--color-text-primary); | |
| min-height: 100vh; | |
| overscroll-behavior-y: none; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| /* Background ambient glow effect */ | |
| body::before { | |
| content: ''; | |
| position: fixed; | |
| top: -30%; | |
| left: -20%; | |
| width: 60%; | |
| height: 60%; | |
| background: radial-gradient(circle, var(--color-accent-primary) 0%, transparent 70%); | |
| opacity: 0.06; | |
| pointer-events: none; | |
| z-index: var(--z-base); | |
| filter: blur(var(--blur-2xl)); | |
| } | |
| body::after { | |
| content: ''; | |
| position: fixed; | |
| bottom: -20%; | |
| right: -20%; | |
| width: 50%; | |
| height: 50%; | |
| background: radial-gradient(circle, var(--color-accent-secondary) 0%, transparent 70%); | |
| opacity: 0.05; | |
| pointer-events: none; | |
| z-index: var(--z-base); | |
| filter: blur(var(--blur-2xl)); | |
| } | |
| img, video { | |
| max-width: 100%; | |
| height: auto; | |
| display: block; | |
| } | |
| button, input, textarea, select { | |
| font: inherit; | |
| color: inherit; | |
| border: none; | |
| background: none; | |
| outline: none; | |
| appearance: none; | |
| } | |
| button { | |
| cursor: pointer; | |
| user-select: none; | |
| } | |
| a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| ul, ol { | |
| list-style: none; | |
| } | |
| /* Scrollbar */ | |
| ::-webkit-scrollbar { width: 4px; height: 4px; } | |
| ::-webkit-scrollbar-track { background: transparent; } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--color-glass-border-md); | |
| border-radius: var(--radius-full); | |
| } | |
| /* Focus visible */ | |
| :focus-visible { | |
| outline: 2px solid var(--color-interactive-focus); | |
| outline-offset: 2px; | |
| border-radius: var(--radius-sm); | |
| } | |
| /* Selection */ | |
| ::selection { | |
| background: rgba(168, 85, 247, 0.3); | |
| color: var(--color-text-primary); | |
| } | |
| /* Typography utilities */ | |
| .text-display { font: var(--text-display); letter-spacing: var(--letter-spacing-tight); } | |
| .text-heading { font: var(--text-heading); letter-spacing: var(--letter-spacing-tight); } | |
| .text-subheading { font: var(--text-subheading); } | |
| .text-body { font: var(--text-body); } | |
| .text-caption { font: var(--text-caption); } | |
| .text-micro { font: var(--text-micro); } | |
| .text-primary { color: var(--color-text-primary); } | |
| .text-secondary { color: var(--color-text-secondary); } | |
| .text-tertiary { color: var(--color-text-tertiary); } | |
| .text-muted { color: var(--color-text-muted); } | |
| .text-accent { color: var(--color-text-accent); } | |
| .text-gradient { | |
| background: var(--color-accent-gradient); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| /* Spacing utilities */ | |
| .mt-auto { margin-top: auto; } | |
| .mb-auto { margin-bottom: auto; } | |
| .ml-auto { margin-left: auto; } | |
| .mr-auto { margin-right: auto; } | |
| .mx-auto { margin-left: auto; margin-right: auto; } | |
| /* Display utilities */ | |
| .hidden { display: none ; } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; height: 1px; | |
| overflow: hidden; | |
| clip: rect(0,0,0,0); | |
| white-space: nowrap; | |
| } | |