Spaces:
Sleeping
Sleeping
Download artifacts/app/src/index.css from Shaurya2020/unstable-nodev2: direct link, hf CLI and curl.
- Browser
- Download file 28.4 kB
-
https://huggingface.co/spaces/Shaurya2020/unstable-nodev2/resolve/main/artifacts/app/src/index.css
- Command line
-
hf download hf://spaces/Shaurya2020/unstable-nodev2/artifacts/app/src/index.css
-
curl -L -o index.css https://huggingface.co/spaces/Shaurya2020/unstable-nodev2/resolve/main/artifacts/app/src/index.css
28.4 kB
| @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap'); | |
| @import "tailwindcss"; | |
| @import "tw-animate-css"; | |
| @custom-variant dark (&:is(.dark *)); | |
| @theme inline { | |
| --color-background: hsl(var(--background)); | |
| --color-foreground: hsl(var(--foreground)); | |
| --color-border: hsl(var(--border)); | |
| --color-input: hsl(var(--input)); | |
| --color-ring: hsl(var(--ring)); | |
| --color-card: hsl(var(--card)); | |
| --color-card-foreground: hsl(var(--card-foreground)); | |
| --color-card-border: hsl(var(--card-border)); | |
| --color-popover: hsl(var(--popover)); | |
| --color-popover-foreground: hsl(var(--popover-foreground)); | |
| --color-popover-border: hsl(var(--popover-border)); | |
| --color-primary: hsl(var(--primary)); | |
| --color-primary-foreground: hsl(var(--primary-foreground)); | |
| --color-primary-border: var(--primary-border); | |
| --color-secondary: hsl(var(--secondary)); | |
| --color-secondary-foreground: hsl(var(--secondary-foreground)); | |
| --color-secondary-border: var(--secondary-border); | |
| --color-muted: hsl(var(--muted)); | |
| --color-muted-foreground: hsl(var(--muted-foreground)); | |
| --color-muted-border: var(--muted-border); | |
| --color-accent: hsl(var(--accent)); | |
| --color-accent-foreground: hsl(var(--accent-foreground)); | |
| --color-accent-border: var(--accent-border); | |
| --color-destructive: hsl(var(--destructive)); | |
| --color-destructive-foreground: hsl(var(--destructive-foreground)); | |
| --color-destructive-border: var(--destructive-border); | |
| --font-sans: var(--app-font-sans); | |
| --font-serif: var(--app-font-serif); | |
| --font-mono: var(--app-font-mono); | |
| --radius-sm: calc(var(--radius) - 4px); | |
| --radius-md: calc(var(--radius) - 2px); | |
| --radius-lg: var(--radius); | |
| --radius-xl: calc(var(--radius) + 4px); | |
| } | |
| :root { | |
| --button-outline: rgba(255,255,255, .10); | |
| --badge-outline: rgba(255,255,255, .05); | |
| --opaque-button-border-intensity: 9; | |
| --elevate-1: rgba(255,255,255, .04); | |
| --elevate-2: rgba(255,255,255, .09); | |
| --background: 0 0% 5%; | |
| --foreground: 0 0% 92%; | |
| --border: 0 0% 14%; | |
| --card: 0 0% 8%; | |
| --card-foreground: 0 0% 90%; | |
| --card-border: 0 0% 14%; | |
| --sidebar: 0 0% 6%; | |
| --sidebar-foreground: 0 0% 88%; | |
| --sidebar-border: 0 0% 13%; | |
| --sidebar-primary: 0 0% 90%; | |
| --sidebar-primary-foreground: 0 0% 5%; | |
| --sidebar-accent: 0 0% 12%; | |
| --sidebar-accent-foreground: 0 0% 88%; | |
| --sidebar-ring: 0 0% 40%; | |
| --popover: 0 0% 8%; | |
| --popover-foreground: 0 0% 90%; | |
| --popover-border: 0 0% 14%; | |
| --primary: 0 0% 90%; | |
| --primary-foreground: 0 0% 5%; | |
| --secondary: 0 0% 12%; | |
| --secondary-foreground: 0 0% 88%; | |
| --muted: 0 0% 11%; | |
| --muted-foreground: 0 0% 52%; | |
| --accent: 0 0% 14%; | |
| --accent-foreground: 0 0% 88%; | |
| --destructive: 0 62% 45%; | |
| --destructive-foreground: 0 0% 95%; | |
| --input: 0 0% 18%; | |
| --ring: 0 0% 40%; | |
| --app-font-sans: 'Space Grotesk', sans-serif; | |
| --app-font-serif: Georgia, serif; | |
| --app-font-mono: 'Space Mono', monospace; | |
| --radius: 0.25rem; | |
| --primary-border: hsl(var(--primary)); | |
| --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --secondary-border: hsl(var(--secondary)); | |
| --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --muted-border: hsl(var(--muted)); | |
| --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --accent-border: hsl(var(--accent)); | |
| --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --destructive-border: hsl(var(--destructive)); | |
| --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --sidebar-primary-border: hsl(var(--sidebar-primary)); | |
| --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| --sidebar-accent-border: hsl(var(--sidebar-accent)); | |
| --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha); | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border; | |
| } | |
| body { | |
| @apply font-sans antialiased bg-background text-foreground; | |
| } | |
| } | |
| /* ─── Unstable motion layers (toggled via html.unstable-anim-*) ─────────────── */ | |
| @keyframes unstable-float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0) scale(1); | |
| opacity: 0.35; | |
| } | |
| 50% { | |
| transform: translateY(-12px) scale(1.02); | |
| opacity: 0.55; | |
| } | |
| } | |
| @keyframes unstable-shimmer { | |
| 0% { | |
| background-position: 200% 0; | |
| } | |
| 100% { | |
| background-position: -200% 0; | |
| } | |
| } | |
| @keyframes unstable-glow-pulse { | |
| 0%, | |
| 100% { | |
| box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.04); | |
| } | |
| 50% { | |
| box-shadow: 0 0 28px 2px rgba(255, 255, 255, 0.07); | |
| } | |
| } | |
| @keyframes unstable-border-flow { | |
| 0% { | |
| background-position: 0% 50%; | |
| } | |
| 100% { | |
| background-position: 200% 50%; | |
| } | |
| } | |
| @keyframes unstable-tab-glow { | |
| 0%, | |
| 100% { | |
| border-color: rgba(255, 255, 255, 0.06); | |
| } | |
| 50% { | |
| border-color: rgba(255, 255, 255, 0.14); | |
| } | |
| } | |
| @keyframes unstable-drift { | |
| 0% { | |
| transform: translate(0, 0); | |
| } | |
| 33% { | |
| transform: translate(2%, -1%); | |
| } | |
| 66% { | |
| transform: translate(-1%, 1.5%); | |
| } | |
| 100% { | |
| transform: translate(0, 0); | |
| } | |
| } | |
| @keyframes unstable-fade-up { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes unstable-scale-in { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.96); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| @keyframes unstable-slide-down { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-8px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes unstable-slide-up { | |
| from { | |
| opacity: 0; | |
| transform: translateY(12px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes unstable-fade-in { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes unstable-opacity-breathe { | |
| 0%, | |
| 100% { | |
| opacity: 1; | |
| } | |
| 50% { | |
| opacity: 0.72; | |
| } | |
| } | |
| @keyframes unstable-soft-blink { | |
| 0%, | |
| 100% { | |
| opacity: 0.35; | |
| } | |
| 50% { | |
| opacity: 0.85; | |
| } | |
| } | |
| @keyframes unstable-rotate-glow { | |
| 0% { | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @keyframes unstable-iframe-ring { | |
| 0%, | |
| 100% { | |
| box-shadow: | |
| inset 0 0 0 1px rgba(255, 255, 255, 0.04), | |
| 0 0 0 0 rgba(120, 160, 255, 0); | |
| } | |
| 50% { | |
| box-shadow: | |
| inset 0 0 0 1px rgba(255, 255, 255, 0.09), | |
| 0 0 24px -6px rgba(140, 180, 255, 0.12); | |
| } | |
| } | |
| @keyframes unstable-link-glow { | |
| 0%, | |
| 100% { | |
| text-shadow: 0 0 0 transparent; | |
| } | |
| 50% { | |
| text-shadow: 0 0 12px rgba(255, 255, 255, 0.12); | |
| } | |
| } | |
| @keyframes unstable-tab-inactive-pulse { | |
| 0%, | |
| 100% { | |
| opacity: 0.38; | |
| } | |
| 50% { | |
| opacity: 0.55; | |
| } | |
| } | |
| @keyframes unstable-reload-spin { | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @keyframes unstable-games-skeleton-shimmer { | |
| 0% { | |
| background-position: 200% 0; | |
| } | |
| 100% { | |
| background-position: -200% 0; | |
| } | |
| } | |
| @keyframes unstable-games-skeleton-pulse { | |
| 0%, | |
| 100% { | |
| opacity: 0.55; | |
| } | |
| 50% { | |
| opacity: 0.95; | |
| } | |
| } | |
| html.unstable-anim-full .unstable-ambient-blobs, | |
| html.unstable-anim-subtle .unstable-ambient-blobs { | |
| position: absolute; | |
| inset: -20%; | |
| pointer-events: none; | |
| background: | |
| radial-gradient(ellipse 42% 38% at 22% 28%, rgba(120, 140, 255, 0.09), transparent 55%), | |
| radial-gradient(ellipse 50% 40% at 78% 72%, rgba(255, 120, 180, 0.06), transparent 50%), | |
| radial-gradient(ellipse 35% 30% at 55% 18%, rgba(80, 220, 200, 0.05), transparent 45%); | |
| animation: unstable-drift 22s ease-in-out infinite; | |
| z-index: 0; | |
| } | |
| html.unstable-anim-subtle .unstable-ambient-blobs { | |
| animation-duration: 48s; | |
| opacity: 0.65; | |
| } | |
| html.unstable-anim-full .unstable-ambient-grid { | |
| position: absolute; | |
| inset: 0; | |
| background-image: | |
| linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px); | |
| background-size: 56px 56px; | |
| mask-image: radial-gradient(ellipse 70% 55% at 50% 45%, black 10%, transparent 72%); | |
| pointer-events: none; | |
| animation: unstable-drift 38s ease-in-out infinite reverse; | |
| z-index: 0; | |
| } | |
| html.unstable-anim-subtle .unstable-ambient-grid { | |
| opacity: 0.55; | |
| animation-duration: 55s; | |
| } | |
| html.unstable-chrome-fx .unstable-url-bar-wrap { | |
| position: relative; | |
| border-radius: 12px; | |
| background: linear-gradient(90deg, #141414, #1a1a1a, #141414); | |
| background-size: 200% 100%; | |
| animation: unstable-border-flow 10s linear infinite; | |
| padding: 1px; | |
| } | |
| html.unstable-chrome-fx .unstable-url-bar-wrap > form { | |
| border-radius: 11px; | |
| overflow: hidden; | |
| } | |
| html.unstable-chrome-fx .unstable-toolbar-row { | |
| animation: unstable-glow-pulse 5s ease-in-out infinite; | |
| } | |
| html.unstable-anim-full .unstable-tab-active { | |
| animation: unstable-tab-glow 4s ease-in-out infinite; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-btn { | |
| transition: | |
| transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), | |
| background 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-btn:hover { | |
| transform: translateY(-3px) scale(1.03); | |
| } | |
| html.unstable-anim-subtle .unstable-shortcut-btn { | |
| transition: background 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-settings-section { | |
| animation: unstable-fade-up 0.55s ease both; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(1) { | |
| animation-delay: 0.05s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(2) { | |
| animation-delay: 0.1s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(3) { | |
| animation-delay: 0.15s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(4) { | |
| animation-delay: 0.2s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(5) { | |
| animation-delay: 0.25s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(6) { | |
| animation-delay: 0.3s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(7) { | |
| animation-delay: 0.35s; | |
| } | |
| html.unstable-anim-full .unstable-settings-section:nth-child(8) { | |
| animation-delay: 0.4s; | |
| } | |
| html.unstable-anim-full .unstable-game-card { | |
| animation: unstable-scale-in 0.45s ease both; | |
| transition: | |
| transform 0.2s ease, | |
| border-color 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-game-card:hover { | |
| transform: translateY(-4px); | |
| } | |
| html.unstable-anim-subtle .unstable-game-card { | |
| transition: border-color 0.2s ease; | |
| } | |
| html.unstable-anim-minimal .unstable-ambient-blobs, | |
| html.unstable-anim-minimal .unstable-ambient-grid { | |
| display: none; | |
| } | |
| html.unstable-anim-minimal .unstable-shortcut-btn:hover { | |
| transform: none; | |
| } | |
| html.unstable-anim-minimal .unstable-game-card:hover { | |
| transform: none; | |
| } | |
| html.unstable-anim-full .unstable-login-badge { | |
| animation: unstable-float 5s ease-in-out infinite; | |
| } | |
| /* Login stack */ | |
| html.unstable-anim-full .unstable-login-page .unstable-login-card { | |
| animation: unstable-scale-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both; | |
| } | |
| html.unstable-anim-full .unstable-login-form > * { | |
| animation: unstable-fade-up 0.5s ease both; | |
| } | |
| html.unstable-anim-full .unstable-login-form > *:nth-child(1) { | |
| animation-delay: 0.08s; | |
| } | |
| html.unstable-anim-full .unstable-login-form > *:nth-child(2) { | |
| animation-delay: 0.16s; | |
| } | |
| html.unstable-anim-full .unstable-login-form > *:nth-child(3) { | |
| animation-delay: 0.24s; | |
| } | |
| html.unstable-anim-full .unstable-login-submit:not(:disabled) { | |
| transition: | |
| transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), | |
| background 0.15s ease, | |
| box-shadow 0.3s ease; | |
| } | |
| html.unstable-anim-full .unstable-login-submit:not(:disabled):hover { | |
| transform: translateY(-2px) scale(1.02); | |
| box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45); | |
| } | |
| html.unstable-anim-subtle .unstable-login-page .unstable-login-card { | |
| animation: unstable-fade-in 0.45s ease both; | |
| } | |
| /* Tab strip */ | |
| html.unstable-anim-full .unstable-tab-strip { | |
| animation: unstable-slide-down 0.45s ease both; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill { | |
| animation: unstable-fade-up 0.35s ease both; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(1) { | |
| animation-delay: 0.02s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(2) { | |
| animation-delay: 0.05s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(3) { | |
| animation-delay: 0.08s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(4) { | |
| animation-delay: 0.11s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(5) { | |
| animation-delay: 0.14s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill:nth-child(6) { | |
| animation-delay: 0.17s; | |
| } | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-scroll-btn { | |
| animation: unstable-fade-in 0.4s ease 0.12s both; | |
| } | |
| html.unstable-anim-full .unstable-tab-pill:not(.unstable-tab-active) .unstable-tab-label { | |
| animation: unstable-tab-inactive-pulse 5s ease-in-out infinite; | |
| } | |
| /* Toolbar icon buttons */ | |
| html.unstable-anim-full .unstable-toolbar-row > button:not(:disabled) { | |
| transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1); | |
| } | |
| html.unstable-anim-full .unstable-toolbar-row > button:not(:disabled):active { | |
| transform: scale(0.92); | |
| } | |
| html.unstable-anim-full .unstable-toolbar-row > button:not(:disabled):hover { | |
| transform: scale(1.12); | |
| } | |
| /* Reload: spin glyph while hovered (inner span avoids fighting button scale) */ | |
| .unstable-toolbar-reload-icon { | |
| display: inline-block; | |
| line-height: 1; | |
| transform-origin: 50% 55%; | |
| } | |
| html:not(.unstable-anim-minimal) .unstable-toolbar-reload:hover:not(:disabled) .unstable-toolbar-reload-icon { | |
| animation: unstable-reload-spin 0.72s linear infinite; | |
| } | |
| html.unstable-anim-minimal .unstable-toolbar-reload:hover:not(:disabled) .unstable-toolbar-reload-icon { | |
| animation: unstable-reload-spin 1.1s linear infinite; | |
| } | |
| /* New tab */ | |
| html.unstable-anim-full .unstable-newtab-badge { | |
| animation: unstable-fade-up 0.55s ease both; | |
| } | |
| html.unstable-anim-full .unstable-newtab-search { | |
| animation: unstable-fade-up 0.55s ease 0.08s both; | |
| } | |
| html.unstable-anim-full .unstable-newtab-go { | |
| transition: | |
| transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), | |
| filter 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-newtab-go:hover { | |
| transform: scale(1.04); | |
| filter: brightness(1.05); | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row { | |
| animation: unstable-fade-up 0.55s ease 0.14s both; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap { | |
| animation: unstable-scale-in 0.4s ease both; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(1) { | |
| animation-delay: 0.18s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(2) { | |
| animation-delay: 0.2s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(3) { | |
| animation-delay: 0.22s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(4) { | |
| animation-delay: 0.24s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(5) { | |
| animation-delay: 0.26s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(6) { | |
| animation-delay: 0.28s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(7) { | |
| animation-delay: 0.3s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(8) { | |
| animation-delay: 0.32s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(9) { | |
| animation-delay: 0.34s; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap:nth-child(10) { | |
| animation-delay: 0.36s; | |
| } | |
| html.unstable-anim-full .unstable-newtab-footer { | |
| animation: unstable-fade-up 0.55s ease 0.22s both; | |
| } | |
| html.unstable-anim-full .unstable-footer-link { | |
| transition: | |
| color 0.15s ease, | |
| transform 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-footer-link:hover { | |
| transform: translateY(-2px); | |
| animation: unstable-link-glow 2.2s ease-in-out infinite; | |
| } | |
| html.unstable-anim-subtle .unstable-newtab-badge, | |
| html.unstable-anim-subtle .unstable-newtab-search, | |
| html.unstable-anim-subtle .unstable-shortcut-row, | |
| html.unstable-anim-subtle .unstable-newtab-footer { | |
| animation: unstable-fade-in 0.5s ease both; | |
| } | |
| /* Credits / legal */ | |
| html.unstable-anim-full .unstable-credits-page > p:first-child { | |
| animation: unstable-fade-up 0.5s ease both; | |
| } | |
| html.unstable-anim-full .unstable-credit-row { | |
| animation: unstable-fade-up 0.45s ease both; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(1) { | |
| animation-delay: 0.06s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(2) { | |
| animation-delay: 0.1s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(3) { | |
| animation-delay: 0.14s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(4) { | |
| animation-delay: 0.18s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(5) { | |
| animation-delay: 0.22s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(6) { | |
| animation-delay: 0.26s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(7) { | |
| animation-delay: 0.3s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(8) { | |
| animation-delay: 0.34s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(9) { | |
| animation-delay: 0.38s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(10) { | |
| animation-delay: 0.42s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(11) { | |
| animation-delay: 0.46s; | |
| } | |
| html.unstable-anim-full .unstable-credit-row:nth-child(12) { | |
| animation-delay: 0.5s; | |
| } | |
| html.unstable-anim-full .unstable-legal-page > p:first-child { | |
| animation: unstable-slide-down 0.5s ease both; | |
| } | |
| html.unstable-anim-full .unstable-legal-block { | |
| animation: unstable-fade-up 0.48s ease both; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(1) { | |
| animation-delay: 0.05s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(2) { | |
| animation-delay: 0.1s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(3) { | |
| animation-delay: 0.15s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(4) { | |
| animation-delay: 0.2s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(5) { | |
| animation-delay: 0.25s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(6) { | |
| animation-delay: 0.3s; | |
| } | |
| html.unstable-anim-full .unstable-legal-block:nth-of-type(7) { | |
| animation-delay: 0.35s; | |
| } | |
| /* Games */ | |
| html.unstable-anim-full .unstable-games-header { | |
| animation: unstable-slide-down 0.45s ease both; | |
| } | |
| html.unstable-anim-full .unstable-games-search { | |
| animation: unstable-fade-up 0.45s ease 0.06s both; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(1) { | |
| animation-delay: 0.04s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(2) { | |
| animation-delay: 0.07s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(3) { | |
| animation-delay: 0.1s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(4) { | |
| animation-delay: 0.13s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(5) { | |
| animation-delay: 0.16s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(6) { | |
| animation-delay: 0.19s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(7) { | |
| animation-delay: 0.22s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(8) { | |
| animation-delay: 0.25s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(9) { | |
| animation-delay: 0.28s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(10) { | |
| animation-delay: 0.31s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(11) { | |
| animation-delay: 0.34s; | |
| } | |
| html.unstable-anim-full .unstable-games-grid .unstable-game-card:nth-child(12) { | |
| animation-delay: 0.37s; | |
| } | |
| /* Games list loading skeleton */ | |
| .unstable-games-skeleton-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); | |
| gap: 0.8rem; | |
| } | |
| .unstable-games-skeleton-card { | |
| background: #111; | |
| border: 1px solid #1c1c1c; | |
| border-radius: 8px; | |
| padding: 0.55rem; | |
| animation: unstable-games-skeleton-pulse 1.35s ease-in-out infinite; | |
| } | |
| .unstable-games-skeleton-card:nth-child(odd) { | |
| animation-delay: 0.12s; | |
| } | |
| .unstable-games-skeleton-cover { | |
| width: 100%; | |
| aspect-ratio: 16 / 10; | |
| border-radius: 6px; | |
| margin-bottom: 0.55rem; | |
| background: linear-gradient( | |
| 105deg, | |
| #141414 0%, | |
| #1e1e1e 22%, | |
| #2a2a2a 40%, | |
| #1e1e1e 58%, | |
| #141414 100% | |
| ); | |
| background-size: 220% 100%; | |
| animation: unstable-games-skeleton-shimmer 1.4s ease-in-out infinite; | |
| } | |
| .unstable-games-skeleton-line { | |
| height: 0.55rem; | |
| border-radius: 4px; | |
| background: linear-gradient( | |
| 105deg, | |
| #161616 0%, | |
| #222 35%, | |
| #2c2c2c 50%, | |
| #222 65%, | |
| #161616 100% | |
| ); | |
| background-size: 220% 100%; | |
| animation: unstable-games-skeleton-shimmer 1.4s ease-in-out infinite; | |
| } | |
| .unstable-games-skeleton-line--title { | |
| width: 88%; | |
| margin-bottom: 0.35rem; | |
| } | |
| .unstable-games-skeleton-line--meta { | |
| width: 52%; | |
| animation-delay: 0.15s; | |
| } | |
| html.unstable-anim-subtle .unstable-games-skeleton-card { | |
| animation-duration: 1.8s; | |
| } | |
| html.unstable-anim-subtle .unstable-games-skeleton-cover, | |
| html.unstable-anim-subtle .unstable-games-skeleton-line { | |
| animation-duration: 1.9s; | |
| } | |
| html.unstable-anim-minimal .unstable-games-skeleton-card { | |
| animation: none; | |
| opacity: 0.75; | |
| } | |
| html.unstable-anim-minimal .unstable-games-skeleton-cover, | |
| html.unstable-anim-minimal .unstable-games-skeleton-line { | |
| animation: none; | |
| background: #181818; | |
| } | |
| /* Settings page chrome */ | |
| html.unstable-anim-full .unstable-settings-page > p:first-child { | |
| animation: unstable-slide-down 0.5s ease both; | |
| } | |
| /* Proxy iframe shell while loading */ | |
| html.unstable-anim-full .unstable-iframe-shell.unstable-iframe-loading { | |
| animation: unstable-iframe-ring 1.8s ease-in-out infinite; | |
| } | |
| html.unstable-anim-full .unstable-iframe-shell.unstable-iframe-loading::after { | |
| content: ""; | |
| position: absolute; | |
| inset: -2px; | |
| border-radius: 2px; | |
| background: conic-gradient(from 0deg, transparent 0%, rgba(255, 255, 255, 0.06) 40%, transparent 65%); | |
| animation: unstable-rotate-glow 4s linear infinite; | |
| pointer-events: none; | |
| z-index: 2; | |
| opacity: 0.5; | |
| } | |
| html.unstable-anim-subtle .unstable-iframe-shell.unstable-iframe-loading { | |
| animation: unstable-iframe-ring 2.8s ease-in-out infinite; | |
| } | |
| /* Status bar */ | |
| html.unstable-anim-full .unstable-status-bar { | |
| animation: unstable-slide-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both; | |
| } | |
| html.unstable-anim-full .unstable-status-label { | |
| animation: unstable-opacity-breathe 3.5s ease-in-out infinite; | |
| } | |
| html.unstable-anim-full .unstable-status-bar button { | |
| transition: transform 0.18s ease; | |
| } | |
| html.unstable-anim-full .unstable-status-bar button:hover { | |
| transform: scale(1.15); | |
| } | |
| /* Fullscreen exit */ | |
| html.unstable-anim-full .unstable-fs-exit { | |
| animation: unstable-fade-in 0.4s ease 0.15s both; | |
| transition: | |
| transform 0.2s ease, | |
| box-shadow 0.25s ease, | |
| border-color 0.2s ease; | |
| } | |
| html.unstable-anim-full .unstable-fs-exit:hover { | |
| transform: scale(1.04); | |
| box-shadow: 0 0 20px rgba(255, 255, 255, 0.08); | |
| } | |
| /* Tab loading dot */ | |
| html:not(.unstable-anim-minimal) .unstable-tab-loading-dot { | |
| animation: unstable-soft-blink 1.05s ease-in-out infinite; | |
| } | |
| html.unstable-anim-minimal .unstable-tab-loading-dot { | |
| animation: unstable-soft-blink 1.35s ease-in-out infinite; | |
| } | |
| /* Cloak / search preset buttons in settings — micro lift */ | |
| html.unstable-anim-full .unstable-settings-section button { | |
| transition: | |
| transform 0.18s ease, | |
| border-color 0.15s ease, | |
| background 0.15s ease; | |
| } | |
| html.unstable-anim-full .unstable-settings-section button:hover { | |
| transform: translateY(-1px); | |
| } | |
| html.unstable-anim-minimal .unstable-toolbar-row > button:not(:disabled):hover, | |
| html.unstable-anim-minimal .unstable-login-submit:not(:disabled):hover, | |
| html.unstable-anim-minimal .unstable-footer-link:hover, | |
| html.unstable-anim-minimal .unstable-status-bar button:hover, | |
| html.unstable-anim-minimal .unstable-fs-exit:hover { | |
| transform: none; | |
| } | |
| html.unstable-anim-minimal .unstable-tab-strip, | |
| html.unstable-anim-minimal .unstable-tab-scroll > .unstable-tab-pill, | |
| html.unstable-anim-minimal .unstable-tab-scroll > .unstable-tab-scroll-btn, | |
| html.unstable-anim-minimal .unstable-tab-pill:not(.unstable-tab-active) .unstable-tab-label, | |
| html.unstable-anim-minimal .unstable-newtab-badge, | |
| html.unstable-anim-minimal .unstable-newtab-search, | |
| html.unstable-anim-minimal .unstable-shortcut-row, | |
| html.unstable-anim-minimal .unstable-shortcut-row .sc-wrap, | |
| html.unstable-anim-minimal .unstable-newtab-footer, | |
| html.unstable-anim-minimal .unstable-login-page .unstable-login-card, | |
| html.unstable-anim-minimal .unstable-login-form > *, | |
| html.unstable-anim-minimal .unstable-credit-row, | |
| html.unstable-anim-minimal .unstable-legal-block, | |
| html.unstable-anim-minimal .unstable-games-header, | |
| html.unstable-anim-minimal .unstable-games-search, | |
| html.unstable-anim-minimal .unstable-settings-page > p:first-child, | |
| html.unstable-anim-minimal .unstable-iframe-shell.unstable-iframe-loading, | |
| html.unstable-anim-minimal .unstable-iframe-shell.unstable-iframe-loading::after, | |
| html.unstable-anim-minimal .unstable-status-bar, | |
| html.unstable-anim-minimal .unstable-status-label { | |
| animation: none ; | |
| } | |
| html.unstable-anim-minimal .unstable-footer-link:hover { | |
| animation: none ; | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| html.unstable-anim-full .unstable-ambient-blobs, | |
| html.unstable-anim-full .unstable-ambient-grid, | |
| html.unstable-anim-subtle .unstable-ambient-blobs, | |
| html.unstable-anim-subtle .unstable-ambient-grid, | |
| html.unstable-chrome-fx .unstable-url-bar-wrap, | |
| html.unstable-chrome-fx .unstable-toolbar-row, | |
| html.unstable-anim-full .unstable-tab-active, | |
| html.unstable-anim-full .unstable-login-badge, | |
| html.unstable-anim-full .unstable-settings-section, | |
| html.unstable-anim-full .unstable-game-card, | |
| html.unstable-anim-full .unstable-login-page .unstable-login-card, | |
| html.unstable-anim-full .unstable-login-form > *, | |
| html.unstable-anim-full .unstable-tab-strip, | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-pill, | |
| html.unstable-anim-full .unstable-tab-scroll > .unstable-tab-scroll-btn, | |
| html.unstable-anim-full .unstable-tab-pill:not(.unstable-tab-active) .unstable-tab-label, | |
| html.unstable-anim-full .unstable-newtab-badge, | |
| html.unstable-anim-full .unstable-newtab-search, | |
| html.unstable-anim-full .unstable-shortcut-row, | |
| html.unstable-anim-full .unstable-shortcut-row .sc-wrap, | |
| html.unstable-anim-full .unstable-newtab-footer, | |
| html.unstable-anim-full .unstable-footer-link, | |
| html.unstable-anim-full .unstable-credits-page > p:first-child, | |
| html.unstable-anim-full .unstable-credit-row, | |
| html.unstable-anim-full .unstable-legal-page > p:first-child, | |
| html.unstable-anim-full .unstable-legal-block, | |
| html.unstable-anim-full .unstable-games-header, | |
| html.unstable-anim-full .unstable-games-search, | |
| html.unstable-anim-full .unstable-settings-page > p:first-child, | |
| html.unstable-anim-full .unstable-iframe-shell.unstable-iframe-loading, | |
| html.unstable-anim-full .unstable-iframe-shell.unstable-iframe-loading::after, | |
| html.unstable-anim-full .unstable-status-bar, | |
| html.unstable-anim-full .unstable-status-label, | |
| html.unstable-anim-full .unstable-fs-exit, | |
| html.unstable-anim-full .unstable-tab-loading-dot, | |
| html:not(.unstable-anim-minimal) .unstable-toolbar-reload:hover:not(:disabled) .unstable-toolbar-reload-icon, | |
| html.unstable-anim-minimal .unstable-toolbar-reload:hover:not(:disabled) .unstable-toolbar-reload-icon, | |
| .unstable-games-skeleton-card, | |
| .unstable-games-skeleton-cover, | |
| .unstable-games-skeleton-line, | |
| html.unstable-anim-subtle .unstable-tab-loading-dot, | |
| html.unstable-anim-minimal .unstable-tab-loading-dot, | |
| html.unstable-anim-subtle .unstable-newtab-badge, | |
| html.unstable-anim-subtle .unstable-newtab-search, | |
| html.unstable-anim-subtle .unstable-shortcut-row, | |
| html.unstable-anim-subtle .unstable-newtab-footer { | |
| animation: none ; | |
| } | |
| html.unstable-anim-full .unstable-shortcut-btn:hover, | |
| html.unstable-anim-full .unstable-game-card:hover, | |
| html.unstable-anim-full .unstable-footer-link:hover { | |
| transform: none ; | |
| } | |
| } | |