/
zxclovly
/
LUME
Обзор
Документация
Войти
/
zxclovly
/
LUME
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/index.css
396 строк
12 KB
lovlygod
feat: glassy multi-image feed with lightbox magic
23 мар 2026, 16:01
23 мар 2026, 16:01
541a37f
Код
Авторство
О чём код?
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 240 10% 3%; --foreground: 0 0% 100%; --card: 0 0% 100% / 0.05; --card-foreground: 0 0% 100%; --popover: 0 0% 100% / 0.06; --popover-foreground: 0 0% 100%; --primary: 0 0% 100%; --primary-foreground: 240 10% 3%; --secondary: 0 0% 100% / 0.06; --secondary-foreground: 0 0% 100%; --muted: 0 0% 100% / 0.04; --muted-foreground: 0 0% 100% / 0.55; --accent: 0 0% 100%; --accent-foreground: 240 10% 3%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 100%; --border: 0 0% 100% / 0.06; --input: 0 0% 100% / 0.08; --ring: 0 0% 100% / 0.35; --radius: 28px; --sidebar-background: 0 0% 100% / 0.04; --sidebar-foreground: 0 0% 100% / 0.7; --sidebar-primary: 0 0% 100%; --sidebar-accent: 0 0% 100% / 0.09; --sidebar-border: 0 0% 100% / 0.06; --bg-main: #0A0A0C; --bg-elevated: rgba(255,255,255,0.04); --glass-surface: rgba(255,255,255,0.06); --glass-hover: rgba(255,255,255,0.09); --border-soft: rgba(255,255,255,0.06); --text-primary: #FFFFFF; --text-secondary: rgba(255,255,255,0.55); --text-muted: rgba(255,255,255,0.35); --text-primary-rgb: 255 255 255; --text-secondary-rgb: 255 255 255; --text-muted-rgb: 255 255 255; --surface-rgb: 255 255 255; --glass-blur: 24px; --glass-radius: 28px; --glass-shadow: 0 12px 40px rgba(0,0,0,0.35); --glass-transition: 0.4s cubic-bezier(.4,0,.2,1); --mobile-safe-bottom: env(safe-area-inset-bottom, 0px); --chat-bg-default: #0E0E11; } .light { --background: 0 0% 100%; --foreground: 240 10% 10%; --card: 0 0% 100% / 0.9; --card-foreground: 240 10% 10%; --popover: 0 0% 100% / 0.9; --popover-foreground: 240 10% 10%; --primary: 0 0% 10%; --primary-foreground: 0 0% 100%; --secondary: 240 10% 96%; --secondary-foreground: 240 10% 10%; --muted: 240 10% 96%; --muted-foreground: 240 10% 45%; --accent: 0 0% 10%; --accent-foreground: 0 0% 100%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 100%; --border: 240 10% 90%; --input: 240 10% 90%; --ring: 240 10% 40%; --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 10% 10%; --sidebar-primary: 0 0% 10%; --sidebar-accent: 0 0% 96%; --sidebar-border: 240 10% 90%; --bg-main: #f7f7fb; --bg-elevated: rgba(15,23,42,0.04); --glass-surface: rgba(15,23,42,0.06); --glass-hover: rgba(15,23,42,0.1); --border-soft: rgba(15,23,42,0.18); --text-primary: #0f172a; --text-secondary: rgba(15,23,42,0.78); --text-muted: rgba(15,23,42,0.6); --text-primary-rgb: 15 23 42; --text-secondary-rgb: 15 23 42; --text-muted-rgb: 15 23 42; --surface-rgb: 15 23 42; --glass-shadow: 0 12px 30px rgba(15,23,42,0.16); --chat-bg-default: #f2f4f8; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground antialiased; font-family: "SF Pro Text", "SF Pro Display", "Inter", system-ui, sans-serif; background-color: var(--bg-main); } h1, h2, h3 { letter-spacing: -0.02em; } /* Smooth scrolling */ html { scroll-behavior: smooth; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: rgba(255,255,255,0.03); } ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 999px; } ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); } .light ::-webkit-scrollbar-track { background: rgba(15,23,42,0.06); } .light ::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.2); } .light ::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.28); } /* Selection */ ::selection { background: rgba(255,255,255,0.12); color: #ffffff; } .light ::selection { background: rgba(15,23,42,0.16); color: #0f172a; } } @layer utilities { .font-mono { font-family: "JetBrains Mono", monospace; } .no-scrollbar { scrollbar-width: none; } .no-scrollbar::-webkit-scrollbar { display: none; } .transition-smooth { transition: all var(--glass-transition); } .glass-panel { background: var(--glass-surface); backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--border-soft); border-radius: var(--glass-radius); box-shadow: var(--glass-shadow); transition: all var(--glass-transition); } .glass-panel:hover { background: var(--glass-hover); transform: translateY(-2px); } .glass-input { background: var(--glass-surface); backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--border-soft); border-radius: 999px; transition: all var(--glass-transition); } .glass-input:focus { outline: none; background: var(--glass-hover); } .text-muted { color: var(--text-muted); } .text-secondary { color: var(--text-secondary); } .pb-safe { padding-bottom: calc(1rem + var(--mobile-safe-bottom)); } .light .text-white { color: rgb(var(--text-primary-rgb)); } .light .text-white\/20 { color: rgb(var(--text-primary-rgb) / 0.45); } .light .text-white\/30 { color: rgb(var(--text-primary-rgb) / 0.55); } .light .text-white\/35 { color: rgb(var(--text-primary-rgb) / 0.6); } .light .text-white\/40 { color: rgb(var(--text-primary-rgb) / 0.65); } .light .text-white\/45 { color: rgb(var(--text-primary-rgb) / 0.7); } .light .text-white\/50 { color: rgb(var(--text-primary-rgb) / 0.75); } .light .text-white\/55 { color: rgb(var(--text-primary-rgb) / 0.78); } .light .text-white\/60 { color: rgb(var(--text-primary-rgb) / 0.82); } .light .text-white\/65 { color: rgb(var(--text-primary-rgb) / 0.85); } .light .text-white\/70 { color: rgb(var(--text-primary-rgb) / 0.88); } .light .text-white\/80 { color: rgb(var(--text-primary-rgb) / 0.92); } .light .text-white\/85 { color: rgb(var(--text-primary-rgb) / 0.95); } .light .text-white\/90 { color: rgb(var(--text-primary-rgb) / 0.98); } .light .bg-white\/3 { background-color: rgb(var(--surface-rgb) / 0.05); } .light .bg-white\/4 { background-color: rgb(var(--surface-rgb) / 0.06); } .light .bg-white\/5 { background-color: rgb(var(--surface-rgb) / 0.07); } .light .bg-white\/6 { background-color: rgb(var(--surface-rgb) / 0.08); } .light .bg-white\/8 { background-color: rgb(var(--surface-rgb) / 0.1); } .light .bg-white\/10 { background-color: rgb(var(--surface-rgb) / 0.12); } .light .bg-white\/12 { background-color: rgb(var(--surface-rgb) / 0.14); } .light .bg-white\/15 { background-color: rgb(var(--surface-rgb) / 0.18); } .light .bg-white\/20 { background-color: rgb(var(--surface-rgb) / 0.24); } .light .bg-white\/30 { background-color: rgb(var(--surface-rgb) / 0.32); } .light .bg-white\/40 { background-color: rgb(var(--surface-rgb) / 0.4); } .light .bg-white\/50 { background-color: rgb(var(--surface-rgb) / 0.48); } .light .bg-white\/80 { background-color: rgb(255 255 255 / 0.8); } .light .bg-white\/85 { background-color: rgb(255 255 255 / 0.85); } .light .bg-white\/90 { background-color: rgb(255 255 255 / 0.9); } .light .border-white\/5 { border-color: rgb(var(--surface-rgb) / 0.08); } .light .border-white\/6 { border-color: rgb(var(--surface-rgb) / 0.1); } .light .border-white\/8 { border-color: rgb(var(--surface-rgb) / 0.12); } .light .border-white\/10 { border-color: rgb(var(--surface-rgb) / 0.12); } .light .border-white\/12 { border-color: rgb(var(--surface-rgb) / 0.14); } .light .border-white\/15 { border-color: rgb(var(--surface-rgb) / 0.16); } .light .border-white\/20 { border-color: rgb(var(--surface-rgb) / 0.22); } .light .border-white\/25 { border-color: rgb(var(--surface-rgb) / 0.26); } .light .border-white\/30 { border-color: rgb(var(--surface-rgb) / 0.32); } .light .border-white\/40 { border-color: rgb(var(--surface-rgb) / 0.42); } .light .border-white\/70 { border-color: rgb(var(--surface-rgb) / 0.7); } .light .bg-black\/40 { background-color: rgb(var(--surface-rgb) / 0.08); } .light .bg-black\/45 { background-color: rgb(var(--surface-rgb) / 0.1); } .light .bg-black\/60 { background-color: rgb(var(--surface-rgb) / 0.16); } .light .bg-black\/70 { background-color: rgb(var(--surface-rgb) / 0.2); } .light .bg-black\/80 { background-color: rgb(var(--surface-rgb) / 0.24); } .light .bg-black\/85 { background-color: rgb(var(--surface-rgb) / 0.26); } .light .bg-black\/90 { background-color: rgb(var(--surface-rgb) / 0.3); } .light .bg-black\/95 { background-color: rgb(var(--surface-rgb) / 0.36); } .light .text-black { color: rgb(var(--text-primary-rgb)); } .light .message-bubble { background-color: rgba(255,255,255,0.85) !important; border-color: rgba(15,23,42,0.12) !important; box-shadow: 0 8px 24px rgba(15,23,42,0.08); } .light .placeholder-white\/35::placeholder { color: rgb(var(--text-primary-rgb) / 0.55); } .light .placeholder-white\/40::placeholder { color: rgb(var(--text-primary-rgb) / 0.6); } .light .message-search-dropdown { background-color: rgba(255,255,255,0.92) !important; border-color: rgba(15,23,42,0.12) !important; box-shadow: 0 12px 30px rgba(15,23,42,0.12); } .light .message-search .text-white\/60, .light .message-search .text-white\/50, .light .message-search .text-white\/40 { color: rgb(var(--text-primary-rgb)) !important; opacity: 0.7; } .light .message-bubble .text-white\/90, .light .message-bubble .text-white\/85, .light .message-bubble .text-white\/80, .light .message-bubble .text-white\/70, .light .message-bubble .text-white\/65, .light .message-bubble .text-white\/60, .light .message-bubble .text-white\/55, .light .message-bubble .text-white\/50, .light .message-bubble .text-white\/45, .light .message-bubble .text-white\/40, .light .message-bubble .text-white\/35, .light .message-bubble .text-white\/30, .light .message-bubble .text-white\/20 { color: rgb(var(--text-primary-rgb)) !important; } .light .message-bubble .text-white\/70, .light .message-bubble .text-white\/65, .light .message-bubble .text-white\/60, .light .message-bubble .text-white\/55, .light .message-bubble .text-white\/50, .light .message-bubble .text-white\/45, .light .message-bubble .text-white\/40, .light .message-bubble .text-white\/35, .light .message-bubble .text-white\/30, .light .message-bubble .text-white\/20 { opacity: 0.72; } .light .message-bubble .text-white\/90, .light .message-bubble .text-white\/85, .light .message-bubble .text-white\/80 { opacity: 1; } } /* Component specific styles */ @layer components { .btn-glass { @apply inline-flex items-center justify-center gap-2 px-5 py-2.5 text-sm font-medium text-white; background: var(--glass-surface); border: 1px solid var(--border-soft); border-radius: 999px; box-shadow: var(--glass-shadow); transition: all var(--glass-transition); } .btn-glass:hover { background: var(--glass-hover); transform: translateY(-2px); } .mention { color: #60a5fa; font-weight: 500; cursor: pointer; } .mention:hover { text-decoration: underline; filter: brightness(1.2); } .card-glass { @apply p-6; background: var(--glass-surface); backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--border-soft); border-radius: var(--glass-radius); box-shadow: var(--glass-shadow); transition: all var(--glass-transition); } }