aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/style.css
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); }
}