oficina / meet Public

Calls web: the call window takes Calma's surface and Calls' accent

The popovers, menu and sheet use --rst-surface (dark, as the window is),
and the unread badge and a lifted tile's edge use Calls' accent instead
of fixed violet and the old teal. Onest reaches the window through body.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 5e6fd9b79d13f319ac853b5b55203f038c24881a parent 47f2cd8
1 file changed, +9 −6
  • internal/calls/static/calls.css +9 −6

CI passed — run details

CI log
=== vet ===
go vet ./...
=== fmt ===
=== test ===
go test ./...
ok  	amadan.net/oficina/calls/callscore	6.831s
?   	amadan.net/oficina/calls/cmd/calls	[no test files]
ok  	amadan.net/oficina/calls/internal/calls	1.451s
ok  	amadan.net/oficina/calls/internal/calls/apns	0.008s
ok  	amadan.net/oficina/calls/internal/calls/hub	0.305s
?   	amadan.net/oficina/calls/internal/calls/icons	[no test files]
ok  	amadan.net/oficina/calls/internal/calls/relay	0.004s
ok  	amadan.net/oficina/calls/internal/calls/seal	0.003s
ok  	amadan.net/oficina/calls/internal/callstest	8.471s
?   	amadan.net/oficina/calls/protocol	[no test files]
?   	amadan.net/oficina/calls/scripts/writetheme	[no test files]
=== migration-check ===
go run amadan.net/rastrillo/rastrillo/cmd/rastrillo migration check
rastrillo migration check: models and migrations agree
=== race ===
CGO_ENABLED=1 go test -race ./internal/...
ok  	amadan.net/oficina/calls/internal/calls	9.918s
ok  	amadan.net/oficina/calls/internal/calls/apns	1.040s
ok  	amadan.net/oficina/calls/internal/calls/hub	4.523s
?   	amadan.net/oficina/calls/internal/calls/icons	[no test files]
ok  	amadan.net/oficina/calls/internal/calls/relay	1.034s
ok  	amadan.net/oficina/calls/internal/calls/seal	1.018s
ok  	amadan.net/oficina/calls/internal/callstest	25.743s
diff --git a/internal/calls/static/calls.css b/internal/calls/static/calls.css
index 84691fb..d79e399 100644
--- a/internal/calls/static/calls.css
+++ b/internal/calls/static/calls.css
@@ -211,7 +211,9 @@ body:has(> .calls-window) { background: var(--rst-bg); }
--calls-lift: 0px;
--calls-title-h: 52px;
--calls-glass: rgb(0 0 0 / 0.62);
- --calls-panel: #1f1f1f;
+ /* Panels read rather than glanced at (the popovers, the title's menu,
+ chat): Calma's own surface, in its dark half, as the window is. */
+ --calls-panel: var(--rst-surface);
--calls-fade-out: 0.35s;
--calls-fade-in: 0.2s;
position: fixed;
@@ -951,7 +953,7 @@ body:has(> .calls-window) { background: var(--rst-bg); }
and no easing back. */
.calls-tile-lifted {
z-index: 3;
- box-shadow: 0 10px 30px #0009, 0 0 0 3px rgb(46, 204, 219);
+ box-shadow: 0 10px 30px #0009, 0 0 0 3px var(--rst-accent);
cursor: grabbing;
}
@media (prefers-reduced-motion: no-preference) {
@@ -1048,7 +1050,8 @@ body:has(> .calls-window) { background: var(--rst-bg); }
.calls-window #controls #leave:hover { background: #c42420; }
.calls-window #controls #leave:active { background: #b3201c; }
.calls-window #controls button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
-/* The unread count on Chat: white on violet, 6.0:1. */
+/* The unread count on Chat: Calls' accent (Calma's hue 220, in its dark
+ half here) with its own on-accent text. */
.calls-badge:empty { display: none; }
.calls-badge {
position: absolute;
@@ -1059,8 +1062,8 @@ body:has(> .calls-window) { background: var(--rst-bg); }
padding: 0 5px;
box-sizing: border-box;
border-radius: 999px;
- background: #7d3bd9;
- color: #fff;
+ background: var(--rst-accent);
+ color: var(--rst-on-accent);
font-size: 11px;
font-weight: 700;
line-height: 18px;
@@ -1261,7 +1264,7 @@ body:has(> .calls-window) { background: var(--rst-bg); }
gap: 8px;
padding: 12px;
border-radius: 22px;
- background: rgb(28 28 28 / 0.96);
+ background: color-mix(in srgb, var(--rst-surface) 96%, transparent);
box-shadow: 0 8px 28px rgb(0 0 0 / 0.4);
}
.calls-window #controls .calls-sheet[data-open] > button,