forked from
j4ck.xyz/tweets2bsky
A simple tool which lets you scrape twitter accounts and crosspost them to bluesky accounts! Comes with a CLI and a webapp for managing profiles! Works with images/videos/link embeds/threads.
1@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
2
3@tailwind base;
4@tailwind components;
5@tailwind utilities;
6
7@layer base {
8 :root {
9 --background: 0 0% 99%;
10 --foreground: 0 0% 8%;
11 --card: 0 0% 100%;
12 --card-foreground: 0 0% 8%;
13 --primary: 0 0% 10%;
14 --primary-foreground: 0 0% 98%;
15 --secondary: 0 0% 94%;
16 --secondary-foreground: 0 0% 16%;
17 --muted: 0 0% 96%;
18 --muted-foreground: 0 0% 40%;
19 --border: 0 0% 86%;
20 --input: 0 0% 86%;
21 --ring: 0 0% 25%;
22 }
23
24 .dark {
25 --background: 0 0% 6%;
26 --foreground: 0 0% 95%;
27 --card: 0 0% 9%;
28 --card-foreground: 0 0% 95%;
29 --primary: 0 0% 96%;
30 --primary-foreground: 0 0% 8%;
31 --secondary: 0 0% 16%;
32 --secondary-foreground: 0 0% 96%;
33 --muted: 0 0% 14%;
34 --muted-foreground: 0 0% 70%;
35 --border: 0 0% 22%;
36 --input: 0 0% 22%;
37 --ring: 0 0% 70%;
38 }
39
40 * {
41 @apply border-border;
42 }
43
44 html,
45 body,
46 #root {
47 @apply min-h-screen;
48 }
49
50 html {
51 scroll-behavior: smooth;
52 }
53
54 body {
55 @apply bg-background text-foreground antialiased;
56 font-family: 'Space Grotesk', system-ui, sans-serif;
57 background-image:
58 radial-gradient(circle at 12% 18%, rgba(0, 0, 0, 0.06) 0, transparent 24%),
59 radial-gradient(circle at 84% 0%, rgba(0, 0, 0, 0.07) 0, transparent 28%),
60 linear-gradient(140deg, rgba(255, 255, 255, 0.85), rgba(245, 245, 245, 0.5));
61 background-attachment: fixed;
62 }
63
64 .dark body {
65 background-image:
66 radial-gradient(circle at 10% 14%, rgba(255, 255, 255, 0.08) 0, transparent 24%),
67 radial-gradient(circle at 85% 0%, rgba(255, 255, 255, 0.06) 0, transparent 24%),
68 linear-gradient(145deg, rgba(11, 11, 11, 0.95), rgba(18, 18, 18, 0.86));
69 }
70
71 @media (prefers-reduced-motion: reduce) {
72 html {
73 scroll-behavior: auto;
74 }
75
76 *,
77 *::before,
78 *::after {
79 animation-duration: 1ms !important;
80 animation-iteration-count: 1 !important;
81 transition-duration: 1ms !important;
82 }
83 }
84}
85
86@layer components {
87 .panel-grid {
88 @apply grid gap-6 lg:grid-cols-[2fr_1fr];
89 }
90
91 .interactive-row {
92 @apply transition-colors duration-200 motion-reduce:transition-none hover:bg-muted/45;
93 }
94}