blob: 4f9d49f456afbb9e94b4ab1183ccc92062c69438 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
:root {
/* rendering optimizations */
color-scheme: light dark;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* sizes */
--avatar-size: 48px;
/* colors - light theme */
--bg-primary: #fff;
--bg-secondary: #f5f5f5;
--text-primary: #242424;
--text-secondary: #4b4b4b;
--text-muted: rgba(0, 0, 0, 0.5);
--border: #444;
--accent: #646cff;
--accent-hover: #535bf2;
--error: #ff4444;
}
@media (prefers-color-scheme: dark) {
:root {
/* colors - dark theme */
--bg-primary: #242424;
--bg-secondary: #424242;
--text-primary: #f5f5f5;
--text-secondary: #b0b0b0;
--text-muted: rgba(255, 255, 255, 0.5);
--border: #444;
--accent: #646cff;
--accent-hover: #535bf2;
--error: #ff4444;
}
}
#login-container {
max-width: 400px;
margin: 2rem auto;
padding: 2rem;
}
#handle-input {
width: 100%;
padding: 0.5rem;
margin-bottom: 1rem;
}
#login-error {
color: var(--error);
margin-top: 1rem;
}
a {
font-weight: 500;
color: var(--accent);
text-decoration: inherit;
}
a:hover {
color: var(--accent-hover);
}
body {
background: var(--bg-primary);
color: var(--text-primary);
margin: 0;
display: flex;
min-height: 100vh;
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
}
.note {
display: flex;
gap: 10px;
padding: 15px;
border-bottom: 1px solid var(--border);
}
.note-avatar {
width: var(--avatar-size);
height: var(--avatar-size);
flex-shrink: 0;
}
.note-content {
flex: 1;
}
.note-text {
white-space: pre-wrap;
}
.muted {
color: var(--text-muted);
font-size: 12px;
}
.spinner {
border: 8px solid #f3f3f3;
border-top: 8px solid var(--accent);
border-radius: 50%;
width: 64px;
height: 64px;
animation: spin 2s linear infinite;
margin: 20px auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
|