/
githubmirror
/
screenshot-to-code
Обзор
Документация
Войти
/
githubmirror
/
screenshot-to-code
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
frontend/src/index.css
237 строк
5 KB
Flightdeck
Add image scanning preview before generation
11 июл 2026, 21:22
11 июл 2026, 21:22
b04c1b8
Код
Авторство
О чём код?
@tailwind base; @tailwind components; @tailwind utilities; @keyframes scan-sweep { 0% { top: -7rem; opacity: 0.55; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { top: calc(100% - 7rem); opacity: 0.55; } } .scan-sweep { animation: scan-sweep 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate; will-change: top, opacity; } @media (prefers-reduced-motion: reduce) { .scan-sweep { animation: none; opacity: 0.7; top: calc(50% - 3.5rem); } } /* Image Scanning animation */ .scanning::after { content: ""; position: absolute; top: 0px; left: 0px; width: 5px; height: 100%; background-image: linear-gradient( to right, rgba(19, 161, 14, 0.2), /* Darker matrix green with full transparency */ rgba(19, 161, 14, 0.8) /* The same green with 80% opacity */ ); animation: scanning 3s ease-in-out infinite; } @keyframes scanning { 0%, 100% { transform: translateX(0px); } 50% { transform: translateX(340px); } } @layer base { :root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; --card: 0 0% 100%; --card-foreground: 222.2 84% 4.9%; --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; --primary: 222.2 47.4% 11.2%; --primary-foreground: 210 40% 98%; --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --ring: 222.2 84% 4.9%; --radius: 0.5rem; } .dark body, body.dark { background-color: black; } .dark div[role="presentation"], div[role="presentation"].dark { background-color: #09090b !important; } iframe[srcdoc] { background-color: white !important; } .dark { color-scheme: dark; --background: 222.2 0% 0%; --foreground: 210 40% 98%; --card: 222.2 84% 4.9%; --card-foreground: 210 40% 98%; --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; --primary: 210 40% 98%; --primary-foreground: 222.2 47.4% 11.2%; --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; --muted: 217.2 32.6% 17.5%; --muted-foreground: 215 20.2% 65.1%; --accent: 217.2 32.6% 17.5%; --accent-foreground: 210 40% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; --ring: 212.7 26.8% 83.9%; } } .sidebar-scrollbar-stable { scrollbar-gutter: stable; } .active-step-shimmer { background: linear-gradient( 90deg, #374151 0%, #374151 27%, #6b7280 29%, #f3f4f6 30%, #6b7280 31%, #374151 33%, #374151 67%, #6b7280 69%, #f3f4f6 70%, #6b7280 71%, #374151 73%, #374151 100% ); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: searchlight 5.5s linear infinite; } :is(.dark) .active-step-shimmer { background: linear-gradient( 90deg, #94a3b8 0%, #94a3b8 27%, #cbd5e1 29%, #ffffff 30%, #cbd5e1 31%, #94a3b8 33%, #94a3b8 67%, #cbd5e1 69%, #ffffff 70%, #cbd5e1 71%, #94a3b8 73%, #94a3b8 100% ); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: searchlight 5.5s linear infinite; } /* Working indicator background motion */ .working-indicator-bg { background: linear-gradient( 90deg, #f5f3ff 0%, #ffffff 45%, #ede9fe 55%, #ffffff 100% ); background-size: 220% 100%; animation: workingGradientSlide 4s ease-in-out infinite; } :is(.dark) .working-indicator-bg { background: linear-gradient( 90deg, rgba(76, 29, 149, 0.2) 0%, rgba(24, 24, 27, 1) 45%, rgba(76, 29, 149, 0.28) 55%, rgba(24, 24, 27, 1) 100% ); background-size: 220% 100%; } @keyframes workingGradientSlide { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes searchlight { 0% { background-position: 140% center; } 100% { background-position: -40% center; } } @layer base { * { @apply border-border; } html, body, #root { @apply h-full; } body { @apply bg-background text-foreground m-0; } }