atagen

malice

public
Star0
Watch0
df3c0f2b3da49cedd2da20209bd76e39695179bc
2
ssh://brewery@pls.lobotomise.me:33/atagen/malice.git

Blame: web/src/app.css

df3c0f2b3da4atagen2026-10-22 13:07 UTC1
:root,
df3c0f2b3da4atagen2026-10-22 13:07 UTC2
:root[data-theme='dark'] {
973f8fbdaf80atagen2026-09-28 09:10 UTC3
  --bg: #14151c;
973f8fbdaf80atagen2026-09-28 09:10 UTC4
  --bg-soft: #1b1d27;
973f8fbdaf80atagen2026-09-28 09:10 UTC5
  --panel: #1e2029;
973f8fbdaf80atagen2026-09-28 09:10 UTC6
  --panel-2: #232634;
df3c0f2b3da4atagen2026-10-22 13:07 UTC7
  --rail-bg: #101117;
973f8fbdaf80atagen2026-09-28 09:10 UTC8
  --border: #2e3142;
973f8fbdaf80atagen2026-09-28 09:10 UTC9
  --text: #e6e8f0;
973f8fbdaf80atagen2026-09-28 09:10 UTC10
  --muted: #9aa0b4;
973f8fbdaf80atagen2026-09-28 09:10 UTC11
  --accent: #5865f2;
df3c0f2b3da4atagen2026-10-22 13:07 UTC12
  --accent-2: #7c5cff;
df3c0f2b3da4atagen2026-10-22 13:07 UTC13
  --glow: #1c2440;
df3c0f2b3da4atagen2026-10-22 13:07 UTC14
  --hover: rgba(255, 255, 255, 0.06);
df3c0f2b3da4atagen2026-10-22 13:07 UTC15
  --hover-faint: rgba(255, 255, 255, 0.018);
df3c0f2b3da4atagen2026-10-22 13:07 UTC16
  --name-lightness: 72%;
df3c0f2b3da4atagen2026-10-22 13:07 UTC17
  --ok: #3fb97f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC18
  --ok-text: #9fe3c3;
973f8fbdaf80atagen2026-09-28 09:10 UTC19
  --danger: #f26d6d;
df3c0f2b3da4atagen2026-10-22 13:07 UTC20
  --danger-bg: #3a1d22;
df3c0f2b3da4atagen2026-10-22 13:07 UTC21
  --danger-border: #6b2a33;
df3c0f2b3da4atagen2026-10-22 13:07 UTC22
  --danger-text: #ffc9ce;
973f8fbdaf80atagen2026-09-28 09:10 UTC23
  --warn: #e8b25a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC24
  --warn-bg: #33300f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC25
  --warn-border: #5c551f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC26
  --warn-text: #ecd98a;
973f8fbdaf80atagen2026-09-28 09:10 UTC27
  color-scheme: dark;
973f8fbdaf80atagen2026-09-28 09:10 UTC28
}
973f8fbdaf80atagen2026-09-28 09:10 UTC29
df3c0f2b3da4atagen2026-10-22 13:07 UTC30
:root[data-theme='black'] {
df3c0f2b3da4atagen2026-10-22 13:07 UTC31
  --bg: #000;
df3c0f2b3da4atagen2026-10-22 13:07 UTC32
  --bg-soft: #0b0b0e;
df3c0f2b3da4atagen2026-10-22 13:07 UTC33
  --panel: #08080a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC34
  --panel-2: #141418;
df3c0f2b3da4atagen2026-10-22 13:07 UTC35
  --rail-bg: #000;
df3c0f2b3da4atagen2026-10-22 13:07 UTC36
  --border: #222228;
df3c0f2b3da4atagen2026-10-22 13:07 UTC37
  --glow: #0d1020;
df3c0f2b3da4atagen2026-10-22 13:07 UTC38
  --hover: rgba(255, 255, 255, 0.07);
df3c0f2b3da4atagen2026-10-22 13:07 UTC39
  --hover-faint: rgba(255, 255, 255, 0.025);
df3c0f2b3da4atagen2026-10-22 13:07 UTC40
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC41
df3c0f2b3da4atagen2026-10-22 13:07 UTC42
:root[data-theme='nord'] {
df3c0f2b3da4atagen2026-10-22 13:07 UTC43
  --bg: #2e3440;
df3c0f2b3da4atagen2026-10-22 13:07 UTC44
  --bg-soft: #353c4a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC45
  --panel: #3b4252;
df3c0f2b3da4atagen2026-10-22 13:07 UTC46
  --panel-2: #434c5e;
df3c0f2b3da4atagen2026-10-22 13:07 UTC47
  --rail-bg: #282d38;
df3c0f2b3da4atagen2026-10-22 13:07 UTC48
  --border: #4c566a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC49
  --text: #eceff4;
df3c0f2b3da4atagen2026-10-22 13:07 UTC50
  --muted: #a3acbf;
df3c0f2b3da4atagen2026-10-22 13:07 UTC51
  --accent: #5e81ac;
df3c0f2b3da4atagen2026-10-22 13:07 UTC52
  --accent-2: #88c0d0;
df3c0f2b3da4atagen2026-10-22 13:07 UTC53
  --glow: #3b4a66;
df3c0f2b3da4atagen2026-10-22 13:07 UTC54
  --ok: #a3be8c;
df3c0f2b3da4atagen2026-10-22 13:07 UTC55
  --ok-text: #d3e5c3;
df3c0f2b3da4atagen2026-10-22 13:07 UTC56
  --danger: #bf616a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC57
  --danger-bg: #4a3439;
df3c0f2b3da4atagen2026-10-22 13:07 UTC58
  --danger-border: #7a4850;
df3c0f2b3da4atagen2026-10-22 13:07 UTC59
  --danger-text: #f2c9cd;
df3c0f2b3da4atagen2026-10-22 13:07 UTC60
  --warn: #ebcb8b;
df3c0f2b3da4atagen2026-10-22 13:07 UTC61
  --warn-bg: #4a4536;
df3c0f2b3da4atagen2026-10-22 13:07 UTC62
  --warn-border: #7a6d4a;
df3c0f2b3da4atagen2026-10-22 13:07 UTC63
  --warn-text: #f3e2bd;
df3c0f2b3da4atagen2026-10-22 13:07 UTC64
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC65
df3c0f2b3da4atagen2026-10-22 13:07 UTC66
:root[data-theme='light'] {
df3c0f2b3da4atagen2026-10-22 13:07 UTC67
  --bg: #f7f7fa;
df3c0f2b3da4atagen2026-10-22 13:07 UTC68
  --bg-soft: #eef0f4;
df3c0f2b3da4atagen2026-10-22 13:07 UTC69
  --panel: #ffffff;
df3c0f2b3da4atagen2026-10-22 13:07 UTC70
  --panel-2: #e9ebf1;
df3c0f2b3da4atagen2026-10-22 13:07 UTC71
  --rail-bg: #e3e5ec;
df3c0f2b3da4atagen2026-10-22 13:07 UTC72
  --border: #d5d8e1;
df3c0f2b3da4atagen2026-10-22 13:07 UTC73
  --text: #1d2030;
df3c0f2b3da4atagen2026-10-22 13:07 UTC74
  --muted: #5e6478;
df3c0f2b3da4atagen2026-10-22 13:07 UTC75
  --accent: #4f5bd5;
df3c0f2b3da4atagen2026-10-22 13:07 UTC76
  --accent-2: #7c5cff;
df3c0f2b3da4atagen2026-10-22 13:07 UTC77
  --glow: #dfe4ff;
df3c0f2b3da4atagen2026-10-22 13:07 UTC78
  --hover: rgba(0, 0, 0, 0.05);
df3c0f2b3da4atagen2026-10-22 13:07 UTC79
  --hover-faint: rgba(0, 0, 0, 0.025);
df3c0f2b3da4atagen2026-10-22 13:07 UTC80
  --name-lightness: 38%;
df3c0f2b3da4atagen2026-10-22 13:07 UTC81
  --ok: #23955f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC82
  --ok-text: #17663f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC83
  --danger: #d43c3c;
df3c0f2b3da4atagen2026-10-22 13:07 UTC84
  --danger-bg: #fde8e9;
df3c0f2b3da4atagen2026-10-22 13:07 UTC85
  --danger-border: #f2b3b8;
df3c0f2b3da4atagen2026-10-22 13:07 UTC86
  --danger-text: #8c1d26;
df3c0f2b3da4atagen2026-10-22 13:07 UTC87
  --warn: #b7791f;
df3c0f2b3da4atagen2026-10-22 13:07 UTC88
  --warn-bg: #fdf3d8;
df3c0f2b3da4atagen2026-10-22 13:07 UTC89
  --warn-border: #ecd28c;
df3c0f2b3da4atagen2026-10-22 13:07 UTC90
  --warn-text: #6b4a0b;
df3c0f2b3da4atagen2026-10-22 13:07 UTC91
  color-scheme: light;
df3c0f2b3da4atagen2026-10-22 13:07 UTC92
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC93
973f8fbdaf80atagen2026-09-28 09:10 UTC94
* { box-sizing: border-box; }
973f8fbdaf80atagen2026-09-28 09:10 UTC95
973f8fbdaf80atagen2026-09-28 09:10 UTC96
html, body, #app {
973f8fbdaf80atagen2026-09-28 09:10 UTC97
  margin: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC98
  min-height: 100dvh;
973f8fbdaf80atagen2026-09-28 09:10 UTC99
}
973f8fbdaf80atagen2026-09-28 09:10 UTC100
973f8fbdaf80atagen2026-09-28 09:10 UTC101
body {
973f8fbdaf80atagen2026-09-28 09:10 UTC102
  background: var(--bg);
973f8fbdaf80atagen2026-09-28 09:10 UTC103
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC104
  font: 14px/1.45 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
973f8fbdaf80atagen2026-09-28 09:10 UTC105
}
973f8fbdaf80atagen2026-09-28 09:10 UTC106
973f8fbdaf80atagen2026-09-28 09:10 UTC107
button { font: inherit; }
973f8fbdaf80atagen2026-09-28 09:10 UTC108
input, textarea { font: inherit; }
973f8fbdaf80atagen2026-09-28 09:10 UTC109
973f8fbdaf80atagen2026-09-28 09:10 UTC110
.visually-hidden {
973f8fbdaf80atagen2026-09-28 09:10 UTC111
  position: absolute;
973f8fbdaf80atagen2026-09-28 09:10 UTC112
  width: 1px; height: 1px;
973f8fbdaf80atagen2026-09-28 09:10 UTC113
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC114
  clip: rect(0 0 0 0);
973f8fbdaf80atagen2026-09-28 09:10 UTC115
  white-space: nowrap;
973f8fbdaf80atagen2026-09-28 09:10 UTC116
}
973f8fbdaf80atagen2026-09-28 09:10 UTC117
973f8fbdaf80atagen2026-09-28 09:10 UTC118
.splash {
973f8fbdaf80atagen2026-09-28 09:10 UTC119
  min-height: 100dvh;
973f8fbdaf80atagen2026-09-28 09:10 UTC120
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC121
  flex-direction: column;
973f8fbdaf80atagen2026-09-28 09:10 UTC122
  gap: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC123
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC124
  justify-content: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC125
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC126
}
973f8fbdaf80atagen2026-09-28 09:10 UTC127
.splash-mark {
973f8fbdaf80atagen2026-09-28 09:10 UTC128
  width: 52px; height: 52px;
973f8fbdaf80atagen2026-09-28 09:10 UTC129
  border-radius: 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC130
  display: grid; place-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC131
  font-size: 26px; font-weight: 800; color: #fff;
df3c0f2b3da4atagen2026-10-22 13:07 UTC132
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
973f8fbdaf80atagen2026-09-28 09:10 UTC133
}
973f8fbdaf80atagen2026-09-28 09:10 UTC134
973f8fbdaf80atagen2026-09-28 09:10 UTC135
.app {
973f8fbdaf80atagen2026-09-28 09:10 UTC136
  display: grid;
973f8fbdaf80atagen2026-09-28 09:10 UTC137
  grid-template-columns: 68px 300px 1fr;
973f8fbdaf80atagen2026-09-28 09:10 UTC138
  height: 100dvh;
973f8fbdaf80atagen2026-09-28 09:10 UTC139
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC140
}
973f8fbdaf80atagen2026-09-28 09:10 UTC141
.app:has(.members) { grid-template-columns: 68px 300px 1fr 260px; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC142
.app.nav-folded { grid-template-columns: 1fr; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC143
.app.nav-folded:has(.members) { grid-template-columns: 1fr 260px; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC144
.app.nav-folded > .rail, .app.nav-folded > .sidebar { display: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC145
973f8fbdaf80atagen2026-09-28 09:10 UTC146
/* ——— Rail ——— */
973f8fbdaf80atagen2026-09-28 09:10 UTC147
.rail {
df3c0f2b3da4atagen2026-10-22 13:07 UTC148
  background: var(--rail-bg);
973f8fbdaf80atagen2026-09-28 09:10 UTC149
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC150
  flex-direction: column;
973f8fbdaf80atagen2026-09-28 09:10 UTC151
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC152
  gap: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC153
  padding: 12px 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC154
  overflow-y: auto;
973f8fbdaf80atagen2026-09-28 09:10 UTC155
}
973f8fbdaf80atagen2026-09-28 09:10 UTC156
.rail-sep { width: 32px; height: 2px; border-radius: 2px; background: var(--border); }
973f8fbdaf80atagen2026-09-28 09:10 UTC157
.rail-btn {
973f8fbdaf80atagen2026-09-28 09:10 UTC158
  width: 46px; height: 46px;
973f8fbdaf80atagen2026-09-28 09:10 UTC159
  border-radius: 50%;
973f8fbdaf80atagen2026-09-28 09:10 UTC160
  border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC161
  background: var(--panel-2);
973f8fbdaf80atagen2026-09-28 09:10 UTC162
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC163
  font-size: 19px;
973f8fbdaf80atagen2026-09-28 09:10 UTC164
  font-weight: 700;
973f8fbdaf80atagen2026-09-28 09:10 UTC165
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC166
  transition: border-radius 0.15s, background 0.15s;
973f8fbdaf80atagen2026-09-28 09:10 UTC167
  display: grid;
973f8fbdaf80atagen2026-09-28 09:10 UTC168
  place-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC169
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC170
  padding: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC171
}
973f8fbdaf80atagen2026-09-28 09:10 UTC172
.rail-btn:hover { border-radius: 16px; background: var(--accent); color: #fff; }
973f8fbdaf80atagen2026-09-28 09:10 UTC173
.rail-btn.active { border-radius: 16px; background: var(--accent); color: #fff; }
973f8fbdaf80atagen2026-09-28 09:10 UTC174
.rail-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC175
.rail-avatar { width: 100%; height: 100%; object-fit: cover; display: block; }
973f8fbdaf80atagen2026-09-28 09:10 UTC176
.rail-add { color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC177
.rail-add:hover { color: #fff; }
973f8fbdaf80atagen2026-09-28 09:10 UTC178
.space-context {
973f8fbdaf80atagen2026-09-28 09:10 UTC179
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC180
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC181
  gap: 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC182
  padding: 10px 8px 4px;
973f8fbdaf80atagen2026-09-28 09:10 UTC183
}
973f8fbdaf80atagen2026-09-28 09:10 UTC184
.space-context-text { display: flex; flex-direction: column; min-width: 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC185
.space-context-text strong { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
973f8fbdaf80atagen2026-09-28 09:10 UTC186
.space-context-text span { font-size: 11.5px; color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC187
.sec-banner {
973f8fbdaf80atagen2026-09-28 09:10 UTC188
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC189
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC190
  gap: 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC191
  margin: 10px 16px 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC192
  padding: 8px 12px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC193
  background: color-mix(in srgb, var(--accent) 14%, transparent);
973f8fbdaf80atagen2026-09-28 09:10 UTC194
  border: 1px solid var(--accent);
973f8fbdaf80atagen2026-09-28 09:10 UTC195
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC196
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC197
  font-size: 12.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC198
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC199
.sec-banner.warn { background: var(--warn-bg); border-color: var(--warn-border); color: var(--warn-text); }
973f8fbdaf80atagen2026-09-28 09:10 UTC200
.sec-banner button {
973f8fbdaf80atagen2026-09-28 09:10 UTC201
  margin-left: auto;
973f8fbdaf80atagen2026-09-28 09:10 UTC202
  flex: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC203
  background: transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC204
  border: 1px solid currentColor;
973f8fbdaf80atagen2026-09-28 09:10 UTC205
  border-radius: 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC206
  color: inherit;
973f8fbdaf80atagen2026-09-28 09:10 UTC207
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC208
  padding: 3px 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC209
  font-size: 12.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC210
}
973f8fbdaf80atagen2026-09-28 09:10 UTC211
.composer-note { margin: 0; padding: 0 16px 10px; font-size: 11.5px; color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC212
.head-room { display: flex; align-items: center; gap: 12px; min-width: 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC213
.head-room-text { min-width: 0; flex: 1; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC214
.conn-banner.error { background: var(--danger-bg); border-color: var(--danger-border); color: var(--danger-text); }
973f8fbdaf80atagen2026-09-28 09:10 UTC215
/* ——— Sidebar ——— */
973f8fbdaf80atagen2026-09-28 09:10 UTC216
.sidebar {
973f8fbdaf80atagen2026-09-28 09:10 UTC217
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC218
  border-right: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC219
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC220
  flex-direction: column;
973f8fbdaf80atagen2026-09-28 09:10 UTC221
  min-height: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC222
}
973f8fbdaf80atagen2026-09-28 09:10 UTC223
.side-search {
973f8fbdaf80atagen2026-09-28 09:10 UTC224
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC225
  gap: 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC226
  padding: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC227
  border-bottom: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC228
}
973f8fbdaf80atagen2026-09-28 09:10 UTC229
.side-search input {
973f8fbdaf80atagen2026-09-28 09:10 UTC230
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC231
  min-width: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC232
  background: var(--bg-soft);
973f8fbdaf80atagen2026-09-28 09:10 UTC233
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC234
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC235
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC236
  padding: 7px 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC237
}
973f8fbdaf80atagen2026-09-28 09:10 UTC238
.side-search input:focus { outline: 2px solid var(--accent); border-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC239
.side-scroll { flex: 1; overflow-y: auto; padding: 8px; min-height: 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC240
.side-h {
973f8fbdaf80atagen2026-09-28 09:10 UTC241
  font-size: 11px;
973f8fbdaf80atagen2026-09-28 09:10 UTC242
  text-transform: uppercase;
973f8fbdaf80atagen2026-09-28 09:10 UTC243
  letter-spacing: 0.08em;
973f8fbdaf80atagen2026-09-28 09:10 UTC244
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC245
  margin: 12px 6px 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC246
}
973f8fbdaf80atagen2026-09-28 09:10 UTC247
.side-h:first-child { margin-top: 4px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC248
.room-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC249
.room-row {
973f8fbdaf80atagen2026-09-28 09:10 UTC250
  width: 100%;
973f8fbdaf80atagen2026-09-28 09:10 UTC251
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC252
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC253
  gap: 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC254
  background: transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC255
  border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC256
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC257
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC258
  padding: 7px 9px;
973f8fbdaf80atagen2026-09-28 09:10 UTC259
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC260
  text-align: left;
973f8fbdaf80atagen2026-09-28 09:10 UTC261
  font-size: 13.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC262
}
973f8fbdaf80atagen2026-09-28 09:10 UTC263
.room-row:hover { background: var(--panel-2); }
df3c0f2b3da4atagen2026-10-22 13:07 UTC264
.room-row.active { background: color-mix(in srgb, var(--accent) 20%, transparent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC265
.room-row:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC266
.room-hash { color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC267
.room-name {
973f8fbdaf80atagen2026-09-28 09:10 UTC268
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC269
  min-width: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC270
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC271
  text-overflow: ellipsis;
973f8fbdaf80atagen2026-09-28 09:10 UTC272
  white-space: nowrap;
973f8fbdaf80atagen2026-09-28 09:10 UTC273
}
973f8fbdaf80atagen2026-09-28 09:10 UTC274
.badge {
973f8fbdaf80atagen2026-09-28 09:10 UTC275
  flex: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC276
  min-width: 20px;
973f8fbdaf80atagen2026-09-28 09:10 UTC277
  height: 20px;
973f8fbdaf80atagen2026-09-28 09:10 UTC278
  padding: 0 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC279
  border-radius: 999px;
973f8fbdaf80atagen2026-09-28 09:10 UTC280
  background: var(--panel-2);
973f8fbdaf80atagen2026-09-28 09:10 UTC281
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC282
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC283
  font-size: 11px;
973f8fbdaf80atagen2026-09-28 09:10 UTC284
  font-weight: 700;
973f8fbdaf80atagen2026-09-28 09:10 UTC285
  display: inline-grid;
973f8fbdaf80atagen2026-09-28 09:10 UTC286
  place-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC287
}
973f8fbdaf80atagen2026-09-28 09:10 UTC288
.badge.mention { background: var(--accent); border-color: var(--accent); color: #fff; }
973f8fbdaf80atagen2026-09-28 09:10 UTC289
.invite-join {
973f8fbdaf80atagen2026-09-28 09:10 UTC290
  flex: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC291
  background: var(--accent);
973f8fbdaf80atagen2026-09-28 09:10 UTC292
  color: #fff;
973f8fbdaf80atagen2026-09-28 09:10 UTC293
  border-radius: 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC294
  padding: 2px 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC295
  font-size: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC296
  font-weight: 600;
973f8fbdaf80atagen2026-09-28 09:10 UTC297
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC298
}
973f8fbdaf80atagen2026-09-28 09:10 UTC299
.side-note { color: var(--muted); font-size: 13px; padding: 8px 6px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC300
.side-cta { display: flex; gap: 8px; padding: 0 6px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC301
.side-cta button {
973f8fbdaf80atagen2026-09-28 09:10 UTC302
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC303
  background: var(--panel-2);
973f8fbdaf80atagen2026-09-28 09:10 UTC304
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC305
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC306
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC307
  padding: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC308
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC309
}
973f8fbdaf80atagen2026-09-28 09:10 UTC310
.side-cta button:hover { border-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC311
.side-footer {
973f8fbdaf80atagen2026-09-28 09:10 UTC312
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC313
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC314
  gap: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC315
  padding: 10px 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC316
  border-top: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC317
  background: var(--bg-soft);
973f8fbdaf80atagen2026-09-28 09:10 UTC318
}
973f8fbdaf80atagen2026-09-28 09:10 UTC319
.me { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC320
.me-avatar {
973f8fbdaf80atagen2026-09-28 09:10 UTC321
  flex: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC322
  width: 30px; height: 30px;
973f8fbdaf80atagen2026-09-28 09:10 UTC323
  border-radius: 50%;
973f8fbdaf80atagen2026-09-28 09:10 UTC324
  background: var(--accent);
973f8fbdaf80atagen2026-09-28 09:10 UTC325
  color: #fff;
973f8fbdaf80atagen2026-09-28 09:10 UTC326
  font-weight: 700;
973f8fbdaf80atagen2026-09-28 09:10 UTC327
  font-size: 13px;
973f8fbdaf80atagen2026-09-28 09:10 UTC328
  display: inline-grid;
973f8fbdaf80atagen2026-09-28 09:10 UTC329
  place-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC330
}
973f8fbdaf80atagen2026-09-28 09:10 UTC331
.me-id {
973f8fbdaf80atagen2026-09-28 09:10 UTC332
  min-width: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC333
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC334
  text-overflow: ellipsis;
973f8fbdaf80atagen2026-09-28 09:10 UTC335
  white-space: nowrap;
973f8fbdaf80atagen2026-09-28 09:10 UTC336
  font-size: 12.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC337
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC338
}
973f8fbdaf80atagen2026-09-28 09:10 UTC339
.icon-btn {
973f8fbdaf80atagen2026-09-28 09:10 UTC340
  flex: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC341
  background: transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC342
  border: 1px solid transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC343
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC344
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC345
  font-size: 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC346
  padding: 5px 9px;
973f8fbdaf80atagen2026-09-28 09:10 UTC347
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC348
}
973f8fbdaf80atagen2026-09-28 09:10 UTC349
.icon-btn:hover:not(:disabled) { background: var(--panel-2); color: var(--text); }
973f8fbdaf80atagen2026-09-28 09:10 UTC350
.icon-btn:disabled { opacity: 0.4; cursor: default; }
973f8fbdaf80atagen2026-09-28 09:10 UTC351
.scrim { display: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC352
973f8fbdaf80atagen2026-09-28 09:10 UTC353
/* ——— Chat ——— */
973f8fbdaf80atagen2026-09-28 09:10 UTC354
.chat { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--bg); }
973f8fbdaf80atagen2026-09-28 09:10 UTC355
.empty {
973f8fbdaf80atagen2026-09-28 09:10 UTC356
  margin: auto;
973f8fbdaf80atagen2026-09-28 09:10 UTC357
  text-align: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC358
  padding: 24px;
973f8fbdaf80atagen2026-09-28 09:10 UTC359
  max-width: 420px;
973f8fbdaf80atagen2026-09-28 09:10 UTC360
}
973f8fbdaf80atagen2026-09-28 09:10 UTC361
.empty-mark { font-size: 44px; color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC362
.empty h1 { font-size: 22px; margin: 8px 0 4px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC363
.empty p { color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC364
.empty-cta { display: flex; gap: 10px; justify-content: center; margin: 16px 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC365
.conn-line { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC366
973f8fbdaf80atagen2026-09-28 09:10 UTC367
.chat-head {
973f8fbdaf80atagen2026-09-28 09:10 UTC368
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC369
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC370
  gap: 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC371
  padding: 10px 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC372
  border-bottom: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC373
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC374
  min-height: 62px;
973f8fbdaf80atagen2026-09-28 09:10 UTC375
}
973f8fbdaf80atagen2026-09-28 09:10 UTC376
.head-title { flex: 1; min-width: 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC377
.head-title h1 {
973f8fbdaf80atagen2026-09-28 09:10 UTC378
  margin: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC379
  font-size: 15.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC380
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC381
  text-overflow: ellipsis;
973f8fbdaf80atagen2026-09-28 09:10 UTC382
  white-space: nowrap;
973f8fbdaf80atagen2026-09-28 09:10 UTC383
}
973f8fbdaf80atagen2026-09-28 09:10 UTC384
.head-meta { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC385
.pill {
973f8fbdaf80atagen2026-09-28 09:10 UTC386
  font-size: 11px;
973f8fbdaf80atagen2026-09-28 09:10 UTC387
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC388
  border-radius: 999px;
973f8fbdaf80atagen2026-09-28 09:10 UTC389
  padding: 0 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC390
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC391
}
973f8fbdaf80atagen2026-09-28 09:10 UTC392
.conn { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
973f8fbdaf80atagen2026-09-28 09:10 UTC393
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); display: inline-block; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC394
.dot-online { background: var(--ok); }
973f8fbdaf80atagen2026-09-28 09:10 UTC395
.dot-busy { background: var(--warn); }
973f8fbdaf80atagen2026-09-28 09:10 UTC396
.dot-off { background: var(--danger); }
973f8fbdaf80atagen2026-09-28 09:10 UTC397
.head-actions { display: flex; align-items: center; gap: 8px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC398
973f8fbdaf80atagen2026-09-28 09:10 UTC399
.primary-btn {
973f8fbdaf80atagen2026-09-28 09:10 UTC400
  background: var(--accent);
973f8fbdaf80atagen2026-09-28 09:10 UTC401
  border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC402
  color: #fff;
973f8fbdaf80atagen2026-09-28 09:10 UTC403
  font-weight: 600;
973f8fbdaf80atagen2026-09-28 09:10 UTC404
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC405
  padding: 8px 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC406
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC407
  font-size: 13.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC408
}
973f8fbdaf80atagen2026-09-28 09:10 UTC409
.primary-btn:hover:not(:disabled) { filter: brightness(1.1); }
973f8fbdaf80atagen2026-09-28 09:10 UTC410
.primary-btn:disabled { opacity: 0.55; cursor: default; }
973f8fbdaf80atagen2026-09-28 09:10 UTC411
.primary-btn.wide { width: 100%; margin-top: 12px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC412
.ghost-btn {
973f8fbdaf80atagen2026-09-28 09:10 UTC413
  background: var(--panel-2);
973f8fbdaf80atagen2026-09-28 09:10 UTC414
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC415
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC416
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC417
  padding: 7px 14px;
973f8fbdaf80atagen2026-09-28 09:10 UTC418
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC419
  font-size: 13px;
973f8fbdaf80atagen2026-09-28 09:10 UTC420
}
973f8fbdaf80atagen2026-09-28 09:10 UTC421
.ghost-btn:hover:not(:disabled) { border-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC422
.ghost-btn:disabled { opacity: 0.55; cursor: wait; }
973f8fbdaf80atagen2026-09-28 09:10 UTC423
.ghost-btn.danger { color: var(--danger); }
973f8fbdaf80atagen2026-09-28 09:10 UTC424
.ghost-btn.danger:hover:not(:disabled) { border-color: var(--danger); }
973f8fbdaf80atagen2026-09-28 09:10 UTC425
973f8fbdaf80atagen2026-09-28 09:10 UTC426
.banners { display: flex; flex-direction: column; gap: 6px; padding: 10px 16px 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC427
.banner {
973f8fbdaf80atagen2026-09-28 09:10 UTC428
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC429
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC430
  gap: 10px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC431
  background: var(--danger-bg);
df3c0f2b3da4atagen2026-10-22 13:07 UTC432
  border: 1px solid var(--danger-border);
df3c0f2b3da4atagen2026-10-22 13:07 UTC433
  color: var(--danger-text);
973f8fbdaf80atagen2026-09-28 09:10 UTC434
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC435
  padding: 8px 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC436
  font-size: 13px;
973f8fbdaf80atagen2026-09-28 09:10 UTC437
}
973f8fbdaf80atagen2026-09-28 09:10 UTC438
.banner span { flex: 1; }
973f8fbdaf80atagen2026-09-28 09:10 UTC439
.banner button {
973f8fbdaf80atagen2026-09-28 09:10 UTC440
  background: transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC441
  border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC442
  color: inherit;
973f8fbdaf80atagen2026-09-28 09:10 UTC443
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC444
  font-size: 13px;
973f8fbdaf80atagen2026-09-28 09:10 UTC445
  padding: 2px 6px;
973f8fbdaf80atagen2026-09-28 09:10 UTC446
}
973f8fbdaf80atagen2026-09-28 09:10 UTC447
.conn-banner {
973f8fbdaf80atagen2026-09-28 09:10 UTC448
  margin: 10px 16px 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC449
  padding: 7px 12px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC450
  background: var(--warn-bg);
df3c0f2b3da4atagen2026-10-22 13:07 UTC451
  border: 1px solid var(--warn-border);
df3c0f2b3da4atagen2026-10-22 13:07 UTC452
  color: var(--warn-text);
973f8fbdaf80atagen2026-09-28 09:10 UTC453
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC454
  font-size: 12.5px;
973f8fbdaf80atagen2026-09-28 09:10 UTC455
}
973f8fbdaf80atagen2026-09-28 09:10 UTC456
973f8fbdaf80atagen2026-09-28 09:10 UTC457
.timeline {
973f8fbdaf80atagen2026-09-28 09:10 UTC458
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC459
  overflow-y: auto;
973f8fbdaf80atagen2026-09-28 09:10 UTC460
  padding: 12px 20px 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC461
  min-height: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC462
}
973f8fbdaf80atagen2026-09-28 09:10 UTC463
.timeline-top { display: flex; justify-content: center; padding: 4px 0 12px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC464
.start-note { text-align: center; color: var(--muted); font-size: 12.5px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC465
.timeline-empty { text-align: center; padding: 32px 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC466
.day-row {
973f8fbdaf80atagen2026-09-28 09:10 UTC467
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC468
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC469
  gap: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC470
  margin: 14px 0 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC471
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC472
  font-size: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC473
}
973f8fbdaf80atagen2026-09-28 09:10 UTC474
.day-row::before, .day-row::after {
973f8fbdaf80atagen2026-09-28 09:10 UTC475
  content: '';
973f8fbdaf80atagen2026-09-28 09:10 UTC476
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC477
  height: 1px;
973f8fbdaf80atagen2026-09-28 09:10 UTC478
  background: var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC479
}
973f8fbdaf80atagen2026-09-28 09:10 UTC480
.new-row {
973f8fbdaf80atagen2026-09-28 09:10 UTC481
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC482
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC483
  gap: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC484
  margin: 8px 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC485
  color: var(--danger);
973f8fbdaf80atagen2026-09-28 09:10 UTC486
  font-size: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC487
  font-weight: 600;
973f8fbdaf80atagen2026-09-28 09:10 UTC488
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC489
.new-row::before, .new-row::after { content: ''; flex: 1; height: 1px; background: var(--danger-border); }
973f8fbdaf80atagen2026-09-28 09:10 UTC490
.unknown-note { color: var(--muted); font-size: 12.5px; font-style: italic; }
973f8fbdaf80atagen2026-09-28 09:10 UTC491
.pending-actions {
973f8fbdaf80atagen2026-09-28 09:10 UTC492
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC493
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC494
  gap: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC495
  margin: -4px 0 6px 44px;
973f8fbdaf80atagen2026-09-28 09:10 UTC496
}
973f8fbdaf80atagen2026-09-28 09:10 UTC497
.pending-error { color: var(--danger); font-size: 12px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
973f8fbdaf80atagen2026-09-28 09:10 UTC498
973f8fbdaf80atagen2026-09-28 09:10 UTC499
.composer {
973f8fbdaf80atagen2026-09-28 09:10 UTC500
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC501
  gap: 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC502
  align-items: flex-end;
973f8fbdaf80atagen2026-09-28 09:10 UTC503
  padding: 12px 16px 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC504
  border-top: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC505
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC506
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC507
.reply-bar {
df3c0f2b3da4atagen2026-10-22 13:07 UTC508
  display: flex;
df3c0f2b3da4atagen2026-10-22 13:07 UTC509
  align-items: center;
df3c0f2b3da4atagen2026-10-22 13:07 UTC510
  gap: 8px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC511
  padding: 6px 16px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC512
  border-top: 1px solid var(--border);
df3c0f2b3da4atagen2026-10-22 13:07 UTC513
  border-left: 3px solid var(--accent);
df3c0f2b3da4atagen2026-10-22 13:07 UTC514
  background: var(--panel);
df3c0f2b3da4atagen2026-10-22 13:07 UTC515
  font-size: 12.5px;
df3c0f2b3da4atagen2026-10-22 13:07 UTC516
  color: var(--muted);
df3c0f2b3da4atagen2026-10-22 13:07 UTC517
}
df3c0f2b3da4atagen2026-10-22 13:07 UTC518
.reply-bar strong { color: var(--text); font-weight: 650; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC519
.reply-bar-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC520
.reply-bar-text { margin-left: 6px; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC521
.composer.replying { border-top: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC522
.composer textarea {
973f8fbdaf80atagen2026-09-28 09:10 UTC523
  flex: 1;
973f8fbdaf80atagen2026-09-28 09:10 UTC524
  resize: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC525
  background: var(--bg-soft);
973f8fbdaf80atagen2026-09-28 09:10 UTC526
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC527
  border-radius: 10px;
973f8fbdaf80atagen2026-09-28 09:10 UTC528
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC529
  padding: 10px 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC530
  min-height: 40px;
973f8fbdaf80atagen2026-09-28 09:10 UTC531
  max-height: 160px;
973f8fbdaf80atagen2026-09-28 09:10 UTC532
  line-height: 1.4;
973f8fbdaf80atagen2026-09-28 09:10 UTC533
}
973f8fbdaf80atagen2026-09-28 09:10 UTC534
.composer textarea:focus { outline: 2px solid var(--accent); border-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC535
.join-bar {
973f8fbdaf80atagen2026-09-28 09:10 UTC536
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC537
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC538
  gap: 12px;
973f8fbdaf80atagen2026-09-28 09:10 UTC539
  padding: 12px 16px 16px;
973f8fbdaf80atagen2026-09-28 09:10 UTC540
  border-top: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC541
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC542
}
973f8fbdaf80atagen2026-09-28 09:10 UTC543
.join-bar p { margin: 0; color: var(--muted); font-size: 13px; flex: 1; }
973f8fbdaf80atagen2026-09-28 09:10 UTC544
973f8fbdaf80atagen2026-09-28 09:10 UTC545
/* ——— Members ——— */
973f8fbdaf80atagen2026-09-28 09:10 UTC546
.members {
973f8fbdaf80atagen2026-09-28 09:10 UTC547
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC548
  border-left: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC549
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC550
  flex-direction: column;
973f8fbdaf80atagen2026-09-28 09:10 UTC551
  min-height: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC552
  overflow: hidden;
973f8fbdaf80atagen2026-09-28 09:10 UTC553
}
973f8fbdaf80atagen2026-09-28 09:10 UTC554
.members-head {
973f8fbdaf80atagen2026-09-28 09:10 UTC555
  display: flex;
973f8fbdaf80atagen2026-09-28 09:10 UTC556
  align-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC557
  justify-content: space-between;
973f8fbdaf80atagen2026-09-28 09:10 UTC558
  padding: 12px 12px 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC559
}
973f8fbdaf80atagen2026-09-28 09:10 UTC560
.members-head h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0; }
973f8fbdaf80atagen2026-09-28 09:10 UTC561
.member-list { list-style: none; margin: 0; padding: 0 8px 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC562
.member { display: flex; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 8px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC563
.member:hover { background: var(--panel-2); }
973f8fbdaf80atagen2026-09-28 09:10 UTC564
.member-names { min-width: 0; display: flex; flex-direction: column; }
973f8fbdaf80atagen2026-09-28 09:10 UTC565
.member-name { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
973f8fbdaf80atagen2026-09-28 09:10 UTC566
.member-id { font-size: 11px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
973f8fbdaf80atagen2026-09-28 09:10 UTC567
973f8fbdaf80atagen2026-09-28 09:10 UTC568
/* ——— Modal ——— */
973f8fbdaf80atagen2026-09-28 09:10 UTC569
.modal-wrap {
973f8fbdaf80atagen2026-09-28 09:10 UTC570
  position: fixed;
973f8fbdaf80atagen2026-09-28 09:10 UTC571
  inset: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC572
  background: rgba(0, 0, 0, 0.6);
973f8fbdaf80atagen2026-09-28 09:10 UTC573
  display: grid;
973f8fbdaf80atagen2026-09-28 09:10 UTC574
  place-items: center;
973f8fbdaf80atagen2026-09-28 09:10 UTC575
  padding: 20px;
973f8fbdaf80atagen2026-09-28 09:10 UTC576
  z-index: 50;
973f8fbdaf80atagen2026-09-28 09:10 UTC577
}
973f8fbdaf80atagen2026-09-28 09:10 UTC578
.modal {
973f8fbdaf80atagen2026-09-28 09:10 UTC579
  width: min(420px, 100%);
973f8fbdaf80atagen2026-09-28 09:10 UTC580
  background: var(--panel);
973f8fbdaf80atagen2026-09-28 09:10 UTC581
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC582
  border-radius: 14px;
973f8fbdaf80atagen2026-09-28 09:10 UTC583
  padding: 18px;
973f8fbdaf80atagen2026-09-28 09:10 UTC584
}
973f8fbdaf80atagen2026-09-28 09:10 UTC585
.modal-tabs { display: flex; gap: 4px; margin-bottom: 14px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC586
.modal-tabs button[role='tab'] {
973f8fbdaf80atagen2026-09-28 09:10 UTC587
  background: transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC588
  border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC589
  border-bottom: 2px solid transparent;
973f8fbdaf80atagen2026-09-28 09:10 UTC590
  color: var(--muted);
973f8fbdaf80atagen2026-09-28 09:10 UTC591
  font-weight: 600;
973f8fbdaf80atagen2026-09-28 09:10 UTC592
  padding: 8px 14px;
973f8fbdaf80atagen2026-09-28 09:10 UTC593
  cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC594
  font-size: 14px;
973f8fbdaf80atagen2026-09-28 09:10 UTC595
}
973f8fbdaf80atagen2026-09-28 09:10 UTC596
.modal-tabs button[role='tab'].active { color: var(--text); border-bottom-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC597
.modal-x { margin-left: auto; }
973f8fbdaf80atagen2026-09-28 09:10 UTC598
.modal .field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); margin-bottom: 12px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC599
.modal .field input {
973f8fbdaf80atagen2026-09-28 09:10 UTC600
  background: var(--bg-soft);
973f8fbdaf80atagen2026-09-28 09:10 UTC601
  border: 1px solid var(--border);
973f8fbdaf80atagen2026-09-28 09:10 UTC602
  border-radius: 8px;
973f8fbdaf80atagen2026-09-28 09:10 UTC603
  color: var(--text);
973f8fbdaf80atagen2026-09-28 09:10 UTC604
  padding: 9px 11px;
973f8fbdaf80atagen2026-09-28 09:10 UTC605
  font-size: 14px;
973f8fbdaf80atagen2026-09-28 09:10 UTC606
}
973f8fbdaf80atagen2026-09-28 09:10 UTC607
.modal .field input:focus { outline: 2px solid var(--accent); border-color: var(--accent); }
973f8fbdaf80atagen2026-09-28 09:10 UTC608
973f8fbdaf80atagen2026-09-28 09:10 UTC609
.only-mobile { display: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC610
973f8fbdaf80atagen2026-09-28 09:10 UTC611
@media (max-width: 1100px) {
df3c0f2b3da4atagen2026-10-22 13:07 UTC612
  .app, .app:has(.members), .app.nav-folded, .app.nav-folded:has(.members) { grid-template-columns: 60px 1fr; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC613
  .app.nav-folded > .rail, .app.nav-folded > .sidebar { display: flex; }
973f8fbdaf80atagen2026-09-28 09:10 UTC614
  .sidebar {
973f8fbdaf80atagen2026-09-28 09:10 UTC615
    position: fixed;
973f8fbdaf80atagen2026-09-28 09:10 UTC616
    top: 0; bottom: 0; left: 60px;
973f8fbdaf80atagen2026-09-28 09:10 UTC617
    width: min(320px, 85vw);
973f8fbdaf80atagen2026-09-28 09:10 UTC618
    z-index: 40;
973f8fbdaf80atagen2026-09-28 09:10 UTC619
    transform: translateX(calc(-100% - 60px));
973f8fbdaf80atagen2026-09-28 09:10 UTC620
    transition: transform 0.18s ease;
973f8fbdaf80atagen2026-09-28 09:10 UTC621
    box-shadow: 8px 0 32px rgba(0, 0, 0, 0.5);
973f8fbdaf80atagen2026-09-28 09:10 UTC622
  }
973f8fbdaf80atagen2026-09-28 09:10 UTC623
  .sidebar.open { transform: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC624
  .scrim {
973f8fbdaf80atagen2026-09-28 09:10 UTC625
    display: block;
973f8fbdaf80atagen2026-09-28 09:10 UTC626
    position: fixed;
973f8fbdaf80atagen2026-09-28 09:10 UTC627
    inset: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC628
    left: 60px;
973f8fbdaf80atagen2026-09-28 09:10 UTC629
    background: rgba(0, 0, 0, 0.55);
973f8fbdaf80atagen2026-09-28 09:10 UTC630
    border: none;
973f8fbdaf80atagen2026-09-28 09:10 UTC631
    z-index: 30;
973f8fbdaf80atagen2026-09-28 09:10 UTC632
    cursor: pointer;
973f8fbdaf80atagen2026-09-28 09:10 UTC633
  }
973f8fbdaf80atagen2026-09-28 09:10 UTC634
  .members {
973f8fbdaf80atagen2026-09-28 09:10 UTC635
    position: fixed;
973f8fbdaf80atagen2026-09-28 09:10 UTC636
    top: 0; bottom: 0; right: 0;
973f8fbdaf80atagen2026-09-28 09:10 UTC637
    width: min(300px, 85vw);
973f8fbdaf80atagen2026-09-28 09:10 UTC638
    z-index: 40;
973f8fbdaf80atagen2026-09-28 09:10 UTC639
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.5);
973f8fbdaf80atagen2026-09-28 09:10 UTC640
  }
973f8fbdaf80atagen2026-09-28 09:10 UTC641
  .only-mobile { display: inline-block; }
df3c0f2b3da4atagen2026-10-22 13:07 UTC642
  .only-desktop { display: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC643
  .head-actions .ghost-btn { display: none; }
973f8fbdaf80atagen2026-09-28 09:10 UTC644
  .timeline { padding: 10px 12px 14px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC645
  .chat-head { padding: 8px 12px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC646
  .composer { padding: 10px 12px 12px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC647
}
973f8fbdaf80atagen2026-09-28 09:10 UTC648
973f8fbdaf80atagen2026-09-28 09:10 UTC649
@media (max-width: 640px) {
df3c0f2b3da4atagen2026-10-22 13:07 UTC650
  .app, .app:has(.members), .app.nav-folded, .app.nav-folded:has(.members) { grid-template-columns: 52px 1fr; }
973f8fbdaf80atagen2026-09-28 09:10 UTC651
  .sidebar { left: 52px; transform: translateX(calc(-100% - 52px)); }
973f8fbdaf80atagen2026-09-28 09:10 UTC652
  .scrim { left: 52px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC653
  .rail-btn { width: 40px; height: 40px; font-size: 16px; }
973f8fbdaf80atagen2026-09-28 09:10 UTC654
  .empty-cta { flex-direction: column; }
973f8fbdaf80atagen2026-09-28 09:10 UTC655
}