Spaces:
Running
Running
Download style.css from KurniaKadir/Web3Coders: direct link, hf CLI and curl.
- Browser
- Download file 19.4 kB
-
https://huggingface.co/spaces/KurniaKadir/Web3Coders/resolve/main/style.css
- Command line
-
hf download hf://spaces/KurniaKadir/Web3Coders/style.css
-
curl -L -o style.css https://huggingface.co/spaces/KurniaKadir/Web3Coders/resolve/main/style.css
19.4 kB
| :root { | |
| /* Glass Base */ | |
| --glass-bg: rgba(255, 255, 255, 0.04); | |
| --glass-border: rgba(255, 255, 255, 0.08); | |
| --glass-shadow: rgba(0, 0, 0, 0.6); | |
| --glass-highlight: rgba(255, 255, 255, 0.05); | |
| --glass-blur: 24px; | |
| /* Accent – Cool Blue‑Violet → Cyan */ | |
| --accent-start: #6C5CE7; | |
| --accent-mid: #A29BFE; | |
| --accent-end: #00CEC9; | |
| --accent-gradient: linear-gradient(135deg, var(--accent-start), var(--accent-mid), var(--accent-end)); | |
| --accent-glow: rgba(108, 92, 231, 0.15); | |
| --accent-soft: rgba(108, 92, 231, 0.08); | |
| /* Text */ | |
| --text-primary: #f1f5f9; | |
| --text-secondary: #94a3b8; | |
| --text-muted: #64748b; | |
| /* Backgrounds */ | |
| --bg-base: #0a0a0a; | |
| --bg-surface: #111111; | |
| --bg-elevated: #1a1a1a; | |
| /* Radii */ | |
| --radius-sm: 0.5rem; | |
| --radius-md: 0.75rem; | |
| --radius-lg: 1rem; | |
| --radius-xl: 1.5rem; | |
| --radius-full: 9999px; | |
| /* Easing (spring-like) */ | |
| --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); | |
| --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1); | |
| --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); | |
| /* Durations */ | |
| --duration-fast: 150ms; | |
| --duration-base: 300ms; | |
| --duration-slow: 500ms; | |
| } | |
| /* ---------- Reset & Base ---------- */ | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html { | |
| font-size: 16px; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| background: var(--bg-base); | |
| color: var(--text-primary); | |
| min-height: 100vh; | |
| min-height: 100dvh; | |
| overflow-x: hidden; | |
| } | |
| /* ---------- Scrollbar ---------- */ | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: rgba(255, 255, 255, 0.12); | |
| border-radius: var(--radius-full); | |
| transition: background var(--duration-fast) var(--ease-smooth); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(255, 255, 255, 0.2); | |
| } | |
| /* ---------- Glassmorphism Base ---------- */ | |
| .glass { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(var(--glass-blur)); | |
| -webkit-backdrop-filter: blur(var(--glass-blur)); | |
| border: 1px solid var(--glass-border); | |
| box-shadow: 0 8px 32px var(--glass-shadow), inset 0 1px 0 var(--glass-highlight); | |
| border-radius: var(--radius-lg); | |
| } | |
| /* Glass Variants */ | |
| .glass-light { | |
| background: rgba(255, 255, 255, 0.06); | |
| backdrop-filter: blur(16px); | |
| -webkit-backdrop-filter: blur(16px); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4); | |
| } | |
| .glass-dark { | |
| background: rgba(0, 0, 0, 0.6); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| box-shadow: 0 8px 40px rgba(0, 0, 0, 0.7); | |
| } | |
| .glass-accent { | |
| background: var(--accent-soft); | |
| backdrop-filter: blur(16px); | |
| -webkit-backdrop-filter: blur(16px); | |
| border: 1px solid rgba(108, 92, 231, 0.15); | |
| box-shadow: 0 4px 32px var(--accent-glow); | |
| } | |
| .glass-card { | |
| background: rgba(255, 255, 255, 0.03); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-md); | |
| box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3); | |
| transition: all var(--duration-base) var(--ease-smooth); | |
| } | |
| .glass-card:hover { | |
| background: rgba(255, 255, 255, 0.06); | |
| border-color: rgba(255, 255, 255, 0.12); | |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5); | |
| transform: translateY(-2px); | |
| } | |
| /* ---------- Background Gradients (Animated Mesh) ---------- */ | |
| .bg-gradient-dark { | |
| background: | |
| radial-gradient(ellipse at 20% 50%, rgba(108, 92, 231, 0.08) 0%, transparent 60%), | |
| radial-gradient(ellipse at 80% 20%, rgba(0, 206, 201, 0.06) 0%, transparent 50%), | |
| var(--bg-base); | |
| } | |
| .bg-gradient-radial { | |
| background: | |
| radial-gradient(circle at 30% 40%, rgba(108, 92, 231, 0.06) 0%, transparent 50%), | |
| radial-gradient(circle at 70% 80%, rgba(0, 206, 201, 0.04) 0%, transparent 40%), | |
| var(--bg-base); | |
| } | |
| .bg-gradient-subtle { | |
| background: | |
| linear-gradient(180deg, rgba(108, 92, 231, 0.03) 0%, transparent 50%), | |
| var(--bg-base); | |
| } | |
| /* Animated gradient mesh (2026 trend) */ | |
| @keyframes gradientShift { | |
| 0% { | |
| background-position: 0% 50%; | |
| } | |
| 50% { | |
| background-position: 100% 50%; | |
| } | |
| 100% { | |
| background-position: 0% 50%; | |
| } | |
| } | |
| .animate-gradient-mesh { | |
| background: linear-gradient(-45deg, #0a0a0a, #1a1a2e, #16213e, #0a0a0a); | |
| background-size: 400% 400%; | |
| animation: gradientShift 12s ease-in-out infinite; | |
| } | |
| /* ---------- Glow Effects ---------- */ | |
| .glow-accent { | |
| box-shadow: | |
| 0 0 40px var(--accent-glow), | |
| 0 0 80px rgba(108, 92, 231, 0.04), | |
| inset 0 0 40px rgba(108, 92, 231, 0.02); | |
| } | |
| .glow-hover { | |
| transition: box-shadow var(--duration-base) var(--ease-smooth); | |
| } | |
| .glow-hover:hover { | |
| box-shadow: | |
| 0 0 60px var(--accent-glow), | |
| 0 0 120px rgba(108, 92, 231, 0.06), | |
| inset 0 0 60px rgba(108, 92, 231, 0.03); | |
| } | |
| /* ---------- Text Styles ---------- */ | |
| .text-gradient { | |
| background: var(--accent-gradient); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .text-gradient-white { | |
| background: linear-gradient(135deg, #f1f5f9, #94a3b8); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| /* ---------- Buttons ---------- */ | |
| .btn-glass { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| padding: 0.6rem 1.4rem; | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| color: var(--text-primary); | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid var(--glass-border); | |
| border-radius: var(--radius-full); | |
| cursor: pointer; | |
| transition: all var(--duration-base) var(--ease-spring); | |
| user-select: none; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .btn-glass::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| background: var(--glass-highlight); | |
| opacity: 0; | |
| transition: opacity var(--duration-fast) var(--ease-smooth); | |
| } | |
| .btn-glass:hover { | |
| background: rgba(255, 255, 255, 0.08); | |
| border-color: rgba(255, 255, 255, 0.15); | |
| transform: translateY(-2px); | |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); | |
| } | |
| .btn-glass:hover::before { | |
| opacity: 1; | |
| } | |
| .btn-glass:active { | |
| transform: scale(0.95); | |
| } | |
| .btn-glass-primary { | |
| background: var(--accent-soft); | |
| border-color: rgba(108, 92, 231, 0.2); | |
| color: var(--accent-mid); | |
| } | |
| .btn-glass-primary:hover { | |
| background: rgba(108, 92, 231, 0.18); | |
| border-color: rgba(108, 92, 231, 0.3); | |
| box-shadow: 0 8px 32px var(--accent-glow); | |
| } | |
| .btn-glass-accent { | |
| background: var(--accent-gradient); | |
| border: none; | |
| color: #0a0a0a; | |
| font-weight: 600; | |
| } | |
| .btn-glass-accent:hover { | |
| transform: translateY(-2px) scale(1.02); | |
| box-shadow: 0 12px 40px var(--accent-glow); | |
| } | |
| .btn-glass-accent:active { | |
| transform: scale(0.95); | |
| } | |
| .btn-icon { | |
| width: 2.5rem; | |
| height: 2.5rem; | |
| padding: 0; | |
| border-radius: var(--radius-full); | |
| } | |
| /* ---------- Inputs ---------- */ | |
| .input-glass { | |
| width: 100%; | |
| padding: 0.75rem 1rem; | |
| font-size: 0.875rem; | |
| font-family: inherit; | |
| color: var(--text-primary); | |
| background: rgba(255, 255, 255, 0.04); | |
| backdrop-filter: blur(8px); | |
| -webkit-backdrop-filter: blur(8px); | |
| border: 1px solid var(--glass-border); | |
| border-radius: var(--radius-md); | |
| outline: none; | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .input-glass::placeholder { | |
| color: var(--text-muted); | |
| } | |
| .input-glass:focus { | |
| border-color: rgba(108, 92, 231, 0.3); | |
| background: rgba(255, 255, 255, 0.06); | |
| box-shadow: 0 0 0 4px rgba(108, 92, 231, 0.04); | |
| } | |
| .input-glass:hover { | |
| border-color: rgba(255, 255, 255, 0.12); | |
| } | |
| /* ---------- Code Blocks ---------- */ | |
| .code-block-glass { | |
| background: rgba(0, 0, 0, 0.6); | |
| backdrop-filter: blur(8px); | |
| -webkit-backdrop-filter: blur(8px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-md); | |
| padding: 1.25rem; | |
| font-family: 'JetBrains Mono', 'Fira Code', monospace; | |
| font-size: 0.85rem; | |
| line-height: 1.6; | |
| color: #e2e8f0; | |
| overflow-x: auto; | |
| position: relative; | |
| } | |
| .code-block-glass .copy-btn { | |
| position: absolute; | |
| top: 0.6rem; | |
| right: 0.6rem; | |
| padding: 0.2rem 0.6rem; | |
| font-size: 0.7rem; | |
| font-weight: 500; | |
| color: var(--text-muted); | |
| background: rgba(255, 255, 255, 0.06); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .code-block-glass .copy-btn:hover { | |
| background: rgba(255, 255, 255, 0.1); | |
| color: var(--text-primary); | |
| } | |
| /* ---------- Animations (Framer Motion inspired) ---------- */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| .animate-fade-in { | |
| animation: fadeIn var(--duration-base) var(--ease-smooth) forwards; | |
| } | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(16px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .animate-fade-in-up { | |
| animation: fadeInUp var(--duration-slow) var(--ease-spring) forwards; | |
| } | |
| @keyframes fadeInDown { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-16px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .animate-fade-in-down { | |
| animation: fadeInDown var(--duration-slow) var(--ease-spring) forwards; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| .animate-slide-in { | |
| animation: slideIn var(--duration-slow) var(--ease-spring) forwards; | |
| } | |
| @keyframes slideInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| .animate-slide-in-right { | |
| animation: slideInRight var(--duration-slow) var(--ease-spring) forwards; | |
| } | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.92); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| .animate-scale-in { | |
| animation: scaleIn var(--duration-base) var(--ease-spring) forwards; | |
| } | |
| @keyframes pulseGlow { | |
| 0%, | |
| 100% { | |
| box-shadow: 0 0 20px var(--accent-glow); | |
| } | |
| 50% { | |
| box-shadow: 0 0 40px rgba(108, 92, 231, 0.2); | |
| } | |
| } | |
| .animate-pulse-glow { | |
| animation: pulseGlow 2.5s ease-in-out infinite; | |
| } | |
| /* Shimmer (light streak) */ | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% center; | |
| } | |
| 100% { | |
| background-position: 200% center; | |
| } | |
| } | |
| .animate-shimmer { | |
| background: linear-gradient( | |
| 90deg, | |
| transparent 0%, | |
| rgba(255, 255, 255, 0.04) 25%, | |
| rgba(255, 255, 255, 0.08) 50%, | |
| rgba(255, 255, 255, 0.04) 75%, | |
| transparent 100% | |
| ); | |
| background-size: 200% 100%; | |
| animation: shimmer 3s ease-in-out infinite; | |
| } | |
| @keyframes float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-6px); | |
| } | |
| } | |
| .animate-float { | |
| animation: float 3s ease-in-out infinite; | |
| } | |
| @keyframes floatSlow { | |
| 0%, | |
| 100% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-10px); | |
| } | |
| } | |
| .animate-float-slow { | |
| animation: floatSlow 5s ease-in-out infinite; | |
| } | |
| @keyframes spinSlow { | |
| from { | |
| transform: rotate(0deg); | |
| } | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| .animate-spin-slow { | |
| animation: spinSlow 4s linear infinite; | |
| } | |
| /* ---------- Stagger Children ---------- */ | |
| .stagger-children>* { | |
| opacity: 0; | |
| animation: fadeInUp var(--duration-slow) var(--ease-spring) forwards; | |
| } | |
| .stagger-children>*:nth-child(1) { | |
| animation-delay: 0.05s; | |
| } | |
| .stagger-children>*:nth-child(2) { | |
| animation-delay: 0.10s; | |
| } | |
| .stagger-children>*:nth-child(3) { | |
| animation-delay: 0.15s; | |
| } | |
| .stagger-children>*:nth-child(4) { | |
| animation-delay: 0.20s; | |
| } | |
| .stagger-children>*:nth-child(5) { | |
| animation-delay: 0.25s; | |
| } | |
| .stagger-children>*:nth-child(6) { | |
| animation-delay: 0.30s; | |
| } | |
| .stagger-children>*:nth-child(7) { | |
| animation-delay: 0.35s; | |
| } | |
| .stagger-children>*:nth-child(8) { | |
| animation-delay: 0.40s; | |
| } | |
| .stagger-children>*:nth-child(9) { | |
| animation-delay: 0.45s; | |
| } | |
| .stagger-children>*:nth-child(10) { | |
| animation-delay: 0.50s; | |
| } | |
| /* ---------- Utility Animation Classes ---------- */ | |
| .hover-lift { | |
| transition: transform var(--duration-base) var(--ease-spring), | |
| box-shadow var(--duration-base) var(--ease-smooth); | |
| } | |
| .hover-lift:hover { | |
| transform: translateY(-4px); | |
| box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); | |
| } | |
| .hover-glow { | |
| transition: box-shadow var(--duration-base) var(--ease-smooth); | |
| } | |
| .hover-glow:hover { | |
| box-shadow: 0 0 60px var(--accent-glow); | |
| } | |
| .hover-scale { | |
| transition: transform var(--duration-fast) var(--ease-spring); | |
| } | |
| .hover-scale:hover { | |
| transform: scale(1.04); | |
| } | |
| .hover-scale:active { | |
| transform: scale(0.96); | |
| } | |
| /* ---------- Glass Components ---------- */ | |
| /* Chat Bubble */ | |
| .chat-bubble-glass { | |
| background: rgba(255, 255, 255, 0.04); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-lg); | |
| padding: 1rem; | |
| transition: all var(--duration-base) var(--ease-smooth); | |
| } | |
| .chat-bubble-glass.user { | |
| background: var(--accent-soft); | |
| border-color: rgba(108, 92, 231, 0.12); | |
| } | |
| /* Sidebar Glass */ | |
| .sidebar-glass { | |
| background: rgba(0, 0, 0, 0.4); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| border-right: 1px solid rgba(255, 255, 255, 0.04); | |
| } | |
| /* Header Glass */ | |
| .header-glass { | |
| background: rgba(0, 0, 0, 0.5); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| border-bottom: 1px solid rgba(255, 255, 255, 0.04); | |
| } | |
| /* Dropdown Glass */ | |
| .dropdown-glass { | |
| background: rgba(20, 20, 20, 0.85); | |
| backdrop-filter: blur(24px); | |
| -webkit-backdrop-filter: blur(24px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-md); | |
| box-shadow: 0 16px 64px rgba(0, 0, 0, 0.6); | |
| } | |
| .dropdown-glass .dropdown-item { | |
| padding: 0.5rem 1rem; | |
| color: var(--text-secondary); | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| cursor: pointer; | |
| border-radius: var(--radius-sm); | |
| } | |
| .dropdown-glass .dropdown-item:hover { | |
| background: rgba(255, 255, 255, 0.06); | |
| color: var(--text-primary); | |
| } | |
| /* Chain of Thought */ | |
| .cot-step-glass { | |
| border-left: 2px solid rgba(255, 255, 255, 0.06); | |
| padding-left: 0.75rem; | |
| margin-left: 0.5rem; | |
| transition: border-color var(--duration-fast) var(--ease-smooth); | |
| } | |
| .cot-step-glass.active { | |
| border-left-color: var(--accent-mid); | |
| } | |
| .cot-step-glass .step-number { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 1.5rem; | |
| height: 1.5rem; | |
| font-size: 0.65rem; | |
| font-weight: 600; | |
| border-radius: var(--radius-full); | |
| background: var(--accent-soft); | |
| color: var(--accent-mid); | |
| flex-shrink: 0; | |
| } | |
| .cot-step-glass .step-number.done { | |
| background: rgba(108, 92, 231, 0.15); | |
| color: var(--accent-mid); | |
| } | |
| .cot-step-glass .step-number.pending { | |
| background: rgba(255, 255, 255, 0.04); | |
| color: var(--text-muted); | |
| } | |
| /* File Tree */ | |
| .file-tree-glass .file-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| padding: 0.3rem 0.6rem; | |
| border-radius: var(--radius-sm); | |
| cursor: pointer; | |
| color: var(--text-secondary); | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .file-tree-glass .file-item:hover { | |
| background: rgba(255, 255, 255, 0.04); | |
| color: var(--text-primary); | |
| } | |
| .file-tree-glass .file-item.selected { | |
| background: rgba(255, 255, 255, 0.06); | |
| color: var(--text-primary); | |
| } | |
| .file-tree-glass .file-item .folder-chevron { | |
| transition: transform var(--duration-fast) var(--ease-smooth); | |
| margin-left: auto; | |
| } | |
| .file-tree-glass .file-item .folder-chevron.open { | |
| transform: rotate(90deg); | |
| } | |
| /* Web Preview Frame */ | |
| .preview-frame-glass { | |
| background: rgba(0, 0, 0, 0.4); | |
| backdrop-filter: blur(8px); | |
| -webkit-backdrop-filter: blur(8px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-md); | |
| overflow: hidden; | |
| } | |
| .preview-frame-glass iframe { | |
| width: 100%; | |
| height: 200px; | |
| border: none; | |
| background: var(--bg-base); | |
| } | |
| /* Prompt Input */ | |
| .prompt-input-glass { | |
| display: flex; | |
| align-items: flex-end; | |
| gap: 0.5rem; | |
| padding: 0.5rem; | |
| background: rgba(255, 255, 255, 0.03); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-lg); | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .prompt-input-glass:focus-within { | |
| border-color: rgba(108, 92, 231, 0.2); | |
| background: rgba(255, 255, 255, 0.05); | |
| box-shadow: 0 0 0 4px rgba(108, 92, 231, 0.03); | |
| } | |
| .prompt-input-glass textarea { | |
| flex: 1; | |
| border: none; | |
| resize: none; | |
| outline: none; | |
| font-size: 0.9rem; | |
| font-family: inherit; | |
| color: var(--text-primary); | |
| background: transparent; | |
| min-height: 2.5rem; | |
| max-height: 8rem; | |
| padding: 0.25rem 0; | |
| } | |
| .prompt-input-glass textarea::placeholder { | |
| color: var(--text-muted); | |
| } | |
| /* Badge / Tag */ | |
| .badge-glass { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.25rem; | |
| padding: 0.15rem 0.6rem; | |
| font-size: 0.7rem; | |
| font-weight: 500; | |
| letter-spacing: 0.02em; | |
| border-radius: var(--radius-full); | |
| background: rgba(255, 255, 255, 0.04); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| color: var(--text-secondary); | |
| text-transform: uppercase; | |
| } | |
| .badge-glass.accent { | |
| background: var(--accent-soft); | |
| border-color: rgba(108, 92, 231, 0.15); | |
| color: var(--accent-mid); | |
| } | |
| /* Divider */ | |
| .divider-glass { | |
| height: 1px; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent); | |
| border: none; | |
| margin: 0.5rem 0; | |
| } | |
| /* Tooltip */ | |
| .tooltip-glass { | |
| position: relative; | |
| } | |
| .tooltip-glass .tooltip-text { | |
| position: absolute; | |
| bottom: calc(100% + 0.5rem); | |
| left: 50%; | |
| transform: translateX(-50%) scale(0.9); | |
| padding: 0.3rem 0.8rem; | |
| font-size: 0.75rem; | |
| color: var(--text-primary); | |
| background: rgba(20, 20, 20, 0.9); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: var(--radius-sm); | |
| white-space: nowrap; | |
| opacity: 0; | |
| pointer-events: none; | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .tooltip-glass:hover .tooltip-text { | |
| opacity: 1; | |
| transform: translateX(-50%) scale(1); | |
| } | |
| /* Loading Spinner */ | |
| .spinner-glass { | |
| width: 2rem; | |
| height: 2rem; | |
| border: 2px solid rgba(255, 255, 255, 0.04); | |
| border-top-color: var(--accent-mid); | |
| border-radius: var(--radius-full); | |
| animation: spinSlow 0.8s linear infinite; | |
| } | |
| /* ---------- Responsive ---------- */ | |
| @media (max-width: 768px) { | |
| :root { | |
| --glass-blur: 16px; | |
| --radius-lg: 0.75rem; | |
| --radius-xl: 1rem; | |
| } | |
| .glass { | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| } | |
| .glass-card:hover { | |
| transform: translateY(-1px); | |
| } | |
| .code-block-glass { | |
| font-size: 0.75rem; | |
| padding: 0.75rem; | |
| } | |
| .btn-glass { | |
| padding: 0.5rem 1rem; | |
| font-size: 0.8rem; | |
| } | |
| } | |
| /* ---------- Utilities ---------- */ | |
| .relative { | |
| position: relative; | |
| } | |
| .overflow-hidden { | |
| overflow: hidden; | |
| } | |
| .select-none { | |
| user-select: none; | |
| } | |
| .transition-all { | |
| transition: all var(--duration-base) var(--ease-smooth); | |
| } | |
| .transition-fast { | |
| transition: all var(--duration-fast) var(--ease-smooth); | |
| } | |
| .transition-slow { | |
| transition: all var(--duration-slow) var(--ease-smooth); | |
| } |