Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| :root { | |
| color-scheme: light dark; | |
| font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, | |
| sans-serif; | |
| --b2v-fg: #111; | |
| --b2v-fg-muted: #555; | |
| --b2v-bg: #fff; | |
| --b2v-border: #e6e6ea; | |
| --b2v-accent: #7c3aed; | |
| --b2v-card-bg: #fff; | |
| } | |
| @media (prefers-color-scheme: dark) { | |
| :root { | |
| --b2v-fg: #f5f5f7; | |
| --b2v-fg-muted: #a8a8af; | |
| --b2v-bg: #0f0f12; | |
| --b2v-border: #2a2a30; | |
| --b2v-card-bg: #16161a; | |
| } | |
| } | |
| * { box-sizing: border-box; } | |
| html, body, #root { | |
| margin: 0; | |
| padding: 0; | |
| background: var(--b2v-bg); | |
| color: var(--b2v-fg); | |
| } | |
| body { | |
| padding: 16px; | |
| } | |
| .loading { | |
| padding: 32px; | |
| text-align: center; | |
| color: var(--b2v-fg-muted); | |
| font-size: 14px; | |
| } | |
| .grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); | |
| gap: 14px; | |
| } | |
| .card { | |
| background: var(--b2v-card-bg); | |
| border: 1px solid var(--b2v-border); | |
| border-radius: 12px; | |
| overflow: hidden; | |
| display: flex; | |
| flex-direction: column; | |
| transition: border-color 0.15s ease, transform 0.15s ease; | |
| } | |
| .card:hover { | |
| border-color: var(--b2v-accent); | |
| transform: translateY(-2px); | |
| } | |
| .preview { | |
| aspect-ratio: 16 / 9; | |
| background: #000; | |
| overflow: hidden; | |
| position: relative; | |
| } | |
| .preview-fallback { | |
| width: 100%; | |
| height: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-weight: 600; | |
| font-size: 18px; | |
| letter-spacing: 0.5px; | |
| text-transform: uppercase; | |
| color: rgba(255, 255, 255, 0.92); | |
| background-size: cover; | |
| background-position: center; | |
| } | |
| .meta { | |
| padding: 12px 14px 14px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| } | |
| .meta h3 { | |
| margin: 0; | |
| font-size: 13px; | |
| font-weight: 600; | |
| text-transform: lowercase; | |
| letter-spacing: 0.3px; | |
| color: var(--b2v-accent); | |
| } | |
| .meta .name { | |
| margin: 0; | |
| font-size: 14px; | |
| font-weight: 600; | |
| color: var(--b2v-fg); | |
| } | |
| .meta .desc { | |
| margin: 2px 0 6px; | |
| font-size: 12px; | |
| line-height: 1.35; | |
| color: var(--b2v-fg-muted); | |
| display: -webkit-box; | |
| -webkit-line-clamp: 2; | |
| -webkit-box-orient: vertical; | |
| overflow: hidden; | |
| } | |
| .actions { | |
| display: flex; | |
| gap: 6px; | |
| margin-top: 6px; | |
| } | |
| .actions button { | |
| flex: 1; | |
| font: inherit; | |
| font-size: 12px; | |
| padding: 7px 10px; | |
| border-radius: 8px; | |
| border: 1px solid transparent; | |
| cursor: pointer; | |
| font-weight: 500; | |
| transition: background 0.12s ease, border-color 0.12s ease; | |
| } | |
| .actions button:first-child { | |
| background: var(--b2v-accent); | |
| color: #fff; | |
| } | |
| .actions button:first-child:hover { | |
| filter: brightness(1.1); | |
| } | |
| .actions button.ghost { | |
| background: transparent; | |
| border-color: var(--b2v-border); | |
| color: var(--b2v-fg-muted); | |
| } | |
| .actions button.ghost:hover { | |
| border-color: var(--b2v-accent); | |
| color: var(--b2v-fg); | |
| } | |