Download app/globals.css from Etiya/d2l-ui: direct link, hf CLI and curl.
- Browser
- Download file 10.5 kB
-
https://huggingface.co/spaces/Etiya/d2l-ui/resolve/main/app/globals.css
- Command line
-
hf download hf://spaces/Etiya/d2l-ui/app/globals.css
-
curl -L -o globals.css https://huggingface.co/spaces/Etiya/d2l-ui/resolve/main/app/globals.css
10.5 kB
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| Twilight Atelier β base canvas | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @layer base { | |
| :root { | |
| color-scheme: dark; | |
| } | |
| html, | |
| body { | |
| background: #06070a; | |
| color: #f5f3ec; | |
| font-family: var(--font-manrope), system-ui, -apple-system, sans-serif; | |
| font-size: 15px; | |
| line-height: 1.6; | |
| font-weight: 400; | |
| font-feature-settings: "ss01", "cv11", "calt"; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| text-rendering: optimizeLegibility; | |
| } | |
| body { | |
| /* Layered: deep canvas + warm aurora + subtle grain */ | |
| background: | |
| radial-gradient(1100px 700px at 78% -10%, rgba(255, 181, 69, 0.12), transparent 65%), | |
| radial-gradient(900px 800px at 8% 110%, rgba(98, 70, 255, 0.10), transparent 60%), | |
| radial-gradient(1400px 900px at 50% 50%, rgba(20, 24, 40, 0.6), transparent 70%), | |
| #06070a; | |
| background-attachment: fixed; | |
| min-height: 100vh; | |
| overflow-x: hidden; | |
| } | |
| /* Subtle grain overlay (doesn't capture pointer events) */ | |
| body::before { | |
| content: ""; | |
| position: fixed; | |
| inset: 0; | |
| pointer-events: none; | |
| z-index: 0; | |
| background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1, 0 0 0 0 1, 0 0 0 0 1, 0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); | |
| opacity: 0.65; | |
| mix-blend-mode: overlay; | |
| } | |
| ::selection { | |
| background: rgba(255, 181, 69, 0.32); | |
| color: #fff8e7; | |
| } | |
| /* Custom scrollbar β barely there */ | |
| ::-webkit-scrollbar { | |
| width: 10px; | |
| height: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background-color: rgba(255, 255, 255, 0.08); | |
| border-radius: 9999px; | |
| border: 2px solid transparent; | |
| background-clip: content-box; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background-color: rgba(255, 255, 255, 0.16); | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| /* Focus ring β luminous amber */ | |
| :focus-visible { | |
| outline: 2px solid rgba(255, 181, 69, 0.75); | |
| outline-offset: 2px; | |
| border-radius: 4px; | |
| } | |
| button:focus-visible, | |
| a:focus-visible, | |
| input:focus-visible, | |
| textarea:focus-visible { | |
| outline-offset: 3px; | |
| } | |
| /* Default kerning for headlines */ | |
| h1, | |
| h2, | |
| h3, | |
| h4 { | |
| letter-spacing: -0.02em; | |
| } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| Component grammars | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @layer components { | |
| /* ββ Glass surfaces βββββββββββββββββββββββββββββββββββββββββββ */ | |
| .glass { | |
| background: rgba(255, 255, 255, 0.04); | |
| box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, | |
| 0 0 0 1px rgba(255, 255, 255, 0.08), | |
| 0 16px 40px -16px rgba(0, 0, 0, 0.6); | |
| backdrop-filter: blur(16px) saturate(140%); | |
| -webkit-backdrop-filter: blur(16px) saturate(140%); | |
| } | |
| .glass-strong { | |
| background: rgba(255, 255, 255, 0.06); | |
| box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) inset, | |
| 0 0 0 1px rgba(255, 255, 255, 0.14), | |
| 0 28px 80px -24px rgba(0, 0, 0, 0.7); | |
| backdrop-filter: blur(20px) saturate(160%); | |
| -webkit-backdrop-filter: blur(20px) saturate(160%); | |
| } | |
| .glass-elev { | |
| background: linear-gradient( | |
| 180deg, | |
| rgba(255, 255, 255, 0.06) 0%, | |
| rgba(255, 255, 255, 0.02) 100% | |
| ); | |
| box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) inset, | |
| 0 0 0 1px rgba(255, 255, 255, 0.10), | |
| 0 32px 80px -24px rgba(0, 0, 0, 0.7); | |
| } | |
| /* ββ Buttons ββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .btn-primary { | |
| @apply inline-flex items-center justify-center | |
| px-5 py-2.5 rounded-pill | |
| text-body-strong text-canvas | |
| bg-amber | |
| transition-all duration-200 ease-atelier | |
| active:scale-[0.97] | |
| disabled:opacity-40 disabled:cursor-not-allowed disabled:active:scale-100 | |
| hover:bg-amber-soft hover:shadow-amber; | |
| } | |
| .btn-secondary { | |
| @apply inline-flex items-center justify-center | |
| px-5 py-2.5 rounded-pill | |
| text-body text-ink | |
| bg-glass | |
| transition-all duration-200 ease-atelier | |
| active:scale-[0.97] | |
| hover:bg-glass-stronger; | |
| box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.10); | |
| } | |
| .btn-ghost { | |
| @apply inline-flex items-center justify-center | |
| px-3 py-1.5 rounded-md | |
| text-caption text-ink-70 | |
| transition-colors duration-200 | |
| hover:text-ink hover:bg-glass; | |
| } | |
| .btn-danger { | |
| @apply inline-flex items-center justify-center | |
| px-5 py-2.5 rounded-pill | |
| text-body-strong text-status-err | |
| transition-colors duration-200 | |
| hover:bg-status-err-glow; | |
| box-shadow: 0 0 0 1px rgba(255, 122, 122, 0.4); | |
| } | |
| /* ββ Inputs βββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .input-glass { | |
| @apply w-full bg-glass text-ink | |
| rounded-md px-4 py-3 | |
| text-body | |
| outline-none | |
| transition-all duration-200; | |
| box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.10); | |
| } | |
| .input-glass:focus { | |
| background: rgba(255, 255, 255, 0.07); | |
| box-shadow: 0 0 0 1px rgba(255, 181, 69, 0.55), | |
| 0 0 24px -6px rgba(255, 181, 69, 0.35); | |
| } | |
| .input-glass::placeholder { | |
| color: rgba(245, 243, 236, 0.36); | |
| } | |
| /* ββ Cards ββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .card { | |
| @apply rounded-lg p-6 glass; | |
| } | |
| /* ββ Editorial italic moments βββββββββββββββββββββββββββββββββ */ | |
| .serif-italic { | |
| font-family: var(--font-instrument), ui-serif, Georgia, serif; | |
| font-style: italic; | |
| font-weight: 400; | |
| letter-spacing: -0.01em; | |
| } | |
| /* ββ Containers βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .container-app { | |
| @apply max-w-[1480px] mx-auto px-6 md:px-10; | |
| } | |
| .container-narrow { | |
| @apply max-w-[920px] mx-auto px-6 md:px-10; | |
| } | |
| .container-prose { | |
| @apply max-w-[760px] mx-auto px-6 md:px-10; | |
| } | |
| /* ββ Chat-specific helpers ββββββββββββββββββββββββββββββββββββ */ | |
| .chat-bubble-user { | |
| @apply rounded-2xl rounded-tr-sm px-5 py-3 text-body text-ink; | |
| background: linear-gradient( | |
| 135deg, | |
| rgba(255, 181, 69, 0.16) 0%, | |
| rgba(255, 181, 69, 0.08) 100% | |
| ); | |
| box-shadow: 0 0 0 1px rgba(255, 181, 69, 0.22), | |
| 0 8px 24px -8px rgba(255, 181, 69, 0.18); | |
| } | |
| .chat-bubble-assistant { | |
| @apply rounded-2xl rounded-tl-sm px-5 py-4 text-body text-ink; | |
| background: linear-gradient( | |
| 180deg, | |
| rgba(255, 255, 255, 0.05) 0%, | |
| rgba(255, 255, 255, 0.025) 100% | |
| ); | |
| box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.10), | |
| 0 16px 48px -16px rgba(0, 0, 0, 0.5); | |
| backdrop-filter: blur(16px); | |
| -webkit-backdrop-filter: blur(16px); | |
| } | |
| /* Hairline divider β for sectioning inside cards */ | |
| .hairline { | |
| height: 1px; | |
| background: linear-gradient( | |
| 90deg, | |
| transparent, | |
| rgba(255, 255, 255, 0.12), | |
| transparent | |
| ); | |
| } | |
| .hairline-vert { | |
| width: 1px; | |
| background: linear-gradient( | |
| 180deg, | |
| transparent, | |
| rgba(255, 255, 255, 0.10), | |
| transparent | |
| ); | |
| } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| Utilities | |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @layer utilities { | |
| .text-shimmer { | |
| background: linear-gradient( | |
| 110deg, | |
| rgba(245, 243, 236, 0.4) 30%, | |
| rgba(245, 243, 236, 1) 50%, | |
| rgba(245, 243, 236, 0.4) 70% | |
| ); | |
| background-size: 200% 100%; | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| animation: shimmerBg 2.4s linear infinite; | |
| } | |
| @keyframes shimmerBg { | |
| 0% { | |
| background-position: 200% 0; | |
| } | |
| 100% { | |
| background-position: -200% 0; | |
| } | |
| } | |
| /* Aurora gradient orbs (used decoratively behind hero) */ | |
| .aurora-amber { | |
| position: absolute; | |
| border-radius: 9999px; | |
| background: radial-gradient( | |
| circle, | |
| rgba(255, 181, 69, 0.32) 0%, | |
| rgba(255, 181, 69, 0) 65% | |
| ); | |
| filter: blur(80px); | |
| pointer-events: none; | |
| } | |
| .aurora-violet { | |
| position: absolute; | |
| border-radius: 9999px; | |
| background: radial-gradient( | |
| circle, | |
| rgba(120, 90, 240, 0.22) 0%, | |
| rgba(120, 90, 240, 0) 65% | |
| ); | |
| filter: blur(90px); | |
| pointer-events: none; | |
| } | |
| .aurora-teal { | |
| position: absolute; | |
| border-radius: 9999px; | |
| background: radial-gradient( | |
| circle, | |
| rgba(80, 200, 200, 0.18) 0%, | |
| rgba(80, 200, 200, 0) 65% | |
| ); | |
| filter: blur(80px); | |
| pointer-events: none; | |
| } | |
| /* No-scrollbar utility */ | |
| .scrollbar-none { | |
| scrollbar-width: none; | |
| } | |
| .scrollbar-none::-webkit-scrollbar { | |
| display: none; | |
| } | |
| .text-balance { | |
| text-wrap: balance; | |
| } | |
| } | |