oficina / estilo Public

Calma: the suite's theme, marks and sky

Estilo's theme is no longer day. Paul chose Calma after six rounds of
design directions (2026-09-28/29): "Grain and filaments. No cores, no
rim lights. Then go." Recorded as decisions-table row 8.

- theme: Calma's tokens; one colour ring for every app (apps.go), with
  theme.ForApp(slug) giving each app its own accent; Onest served by
  theme.FontHandler. The day byte gate is replaced by day's token-set,
  rastrillo's contrast pairs for the suite and every app in both
  schemes, and per-app accent goldens.
- brand: Calma's marks, generated for web, iPhone and Mac from
  icons.json, whose hues must equal the ring. Calls' art is calls.svg
  (meet stays as an alias); Fichas, Mail and Files have icons.
- sky: the seeded nebula (haze, grained clouds, filaments) for the
  sign-in, the team's home and the front page; never inside an app.
- credits: Onest's OFL notice, with provenance, behind -onest.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev 1e668042b3155b754e1fbe8dc9c5ce70dbbbcdce parent 2ea9e8c
153 files changed, +465 −558
  • AGENTS.md +64 −50
  • README.md +6 −2
  • brand/README.md +41 −62
  • brand/brand.css +2 −2
  • brand/brand.go +8 −5
  • brand/brand_test.go +45 −4
  • brand/distribute.py +21 −7
  • brand/generate-native.mjs +0 −89
  • brand/generate.mjs +185 −37
  • brand/icons.json +61 −8
  • brand/mac/calendar.svg +1 −0
  • brand/mac/calls.svg +1 −0
  • brand/mac/docs.svg +1 −0
  • brand/mac/fichas.svg +1 −0
  • brand/mac/files.svg +1 −0
  • brand/mac/mail.svg +1 −0
  • brand/mac/memoria.svg +1 −0
  • brand/mac/oficina.svg +1 −0
  • brand/mac/sheets.svg +1 −0
  • brand/mac/slides.svg +1 −0
  • brand/native/calendar/AppIcon.icns binary
  • brand/native/calendar/ios-1024.png binary
  • brand/native/calendar/macos-1024.png binary
  • brand/native/calls/AppIcon.icns binary
  • brand/native/calls/ios-1024.png binary
  • brand/native/calls/macos-1024.png binary
  • brand/native/docs/AppIcon.icns binary
  • brand/native/docs/ios-1024.png binary
  • brand/native/docs/macos-1024.png binary
  • brand/native/meet/ios-1024.png binary
  • brand/native/meet/ios.svg +0 −24
  • brand/native/meet/macos-1024.png binary
  • brand/native/meet/macos-128.png binary
  • brand/native/meet/macos-16.png binary
  • brand/native/meet/macos-256.png binary
  • brand/native/meet/macos-32.png binary
  • brand/native/meet/macos-512.png binary
  • brand/native/meet/macos-64.png binary
  • brand/native/meet/macos.svg +0 −24
  • brand/native/memoria/AppIcon.icns binary
  • brand/native/memoria/ios-1024.png binary
  • brand/native/memoria/macos-1024.png binary
  • brand/native/sheets/AppIcon.icns binary
  • brand/native/sheets/ios-1024.png binary
  • brand/native/sheets/macos-1024.png binary
  • brand/png/calendar-1024.png binary
  • brand/png/calendar-16.png binary
  • brand/png/calendar-180.png binary
  • brand/png/calendar-192.png binary
  • brand/png/calendar-32.png binary
  • brand/png/calendar-48.png binary
  • brand/png/calendar-512.png binary
  • brand/png/calls-1024.png binary
  • brand/png/calls-16.png binary
  • brand/png/calls-180.png binary
  • brand/png/calls-192.png binary
  • brand/png/calls-32.png binary
  • brand/png/calls-48.png binary
  • brand/png/calls-512.png binary
  • brand/png/docs-1024.png binary
  • brand/png/docs-16.png binary
  • brand/png/docs-180.png binary
  • brand/png/docs-192.png binary
  • brand/png/docs-32.png binary
  • brand/png/docs-48.png binary
  • brand/png/docs-512.png binary
  • brand/png/fichas-1024.png binary
  • brand/png/fichas-16.png binary
  • brand/png/fichas-180.png binary
  • brand/png/fichas-192.png binary
  • brand/png/fichas-32.png binary
  • brand/png/fichas-48.png binary
  • brand/png/fichas-512.png binary
  • brand/png/files-1024.png binary
  • brand/png/files-16.png binary
  • brand/png/files-180.png binary
  • brand/png/files-192.png binary
  • brand/png/files-32.png binary
  • brand/png/files-48.png binary
  • brand/png/files-512.png binary
  • brand/png/mail-1024.png binary
  • brand/png/mail-16.png binary
  • brand/png/mail-180.png binary
  • brand/png/mail-192.png binary
  • brand/png/mail-32.png binary
  • brand/png/mail-48.png binary
  • brand/png/mail-512.png binary
  • brand/png/meet-1024.png binary
  • brand/png/meet-16.png binary
  • brand/png/meet-180.png binary
  • brand/png/meet-192.png binary
  • brand/png/meet-32.png binary
  • brand/png/meet-48.png binary
  • brand/png/meet-512.png binary
  • brand/png/memoria-1024.png binary
  • brand/png/memoria-16.png binary
  • brand/png/memoria-180.png binary
  • brand/png/memoria-192.png binary
  • brand/png/memoria-32.png binary
  • brand/png/memoria-48.png binary
  • brand/png/memoria-512.png binary
  • brand/png/oficina-1024.png binary
  • brand/png/oficina-16.png binary
  • brand/png/oficina-180.png binary
  • brand/png/oficina-192.png binary
  • brand/png/oficina-32.png binary
  • brand/png/oficina-48.png binary
  • brand/png/oficina-512.png binary
  • brand/png/sheets-1024.png binary
  • brand/png/sheets-16.png binary
  • brand/png/sheets-180.png binary
  • brand/png/sheets-192.png binary
  • brand/png/sheets-32.png binary
  • brand/png/sheets-48.png binary
  • brand/png/sheets-512.png binary
  • brand/png/slides-1024.png binary
  • brand/png/slides-16.png binary
  • brand/png/slides-180.png binary
  • brand/png/slides-192.png binary
  • brand/png/slides-32.png binary
  • brand/png/slides-48.png binary
  • brand/png/slides-512.png binary
  • brand/preview.png binary
  • brand/preview.svg +1 −97
  • brand/square/calendar.svg +1 −0
  • brand/square/calls.svg +1 −0
  • brand/square/docs.svg +1 −0
  • brand/square/fichas.svg +1 −0
  • brand/square/files.svg +1 −0
  • brand/square/mail.svg +1 −0
  • brand/square/memoria.svg +1 −0
  • brand/square/oficina.svg +1 −0
  • brand/square/sheets.svg +1 −0
  • brand/square/slides.svg +1 −0
  • brand/svg/calendar.svg +1 −10
  • brand/svg/calls.svg +1 −0
  • brand/svg/docs.svg +1 −5
  • brand/svg/fichas.svg +1 −0
  • brand/svg/files.svg +1 −0
  • brand/svg/mail.svg +1 −0
  • brand/svg/meet.svg +0 −2
  • brand/svg/memoria.svg +1 −4
  • brand/svg/oficina.svg +1 −3
  • brand/svg/sheets.svg +1 −4
  • brand/svg/slides.svg +1 −3
  • brand/upstream/book-search.svg +0 −16
  • brand/upstream/calendar-days.svg +0 −22
  • brand/upstream/file-text.svg +0 −17
  • brand/upstream/panels-top-left.svg +0 −15
  • brand/upstream/presentation.svg +0 −15
  • brand/upstream/table.svg +0 −16
  • brand/upstream/video.svg +0 −14
  • homeconnect/README.md +1 −1

CI failed — run details

CI log
=== vet ===
CGO_ENABLED=0 go vet ./...
../../cache/go-mod/github.com/carlosframework/rastrillo@v0.23.0/sessions/sessions.go:72:12: pattern migrations/*.sql: no matching files found
make: *** [Makefile:22: test-vet] Error 1

amadan: step vet failed: exit status 2

amadan: job failed at step vet — its output is above, not at the tail of this log
AGENTS.md

Loading diff…

README.md

Loading diff…

brand/README.md

Loading diff…

brand/brand.css

Loading diff…

brand/brand.go

Loading diff…

brand/brand_test.go

Loading diff…

brand/distribute.py

Loading diff…

brand/generate-native.mjs

Loading diff…

brand/generate.mjs

Loading diff…

brand/icons.json

Loading diff…

brand/mac/calendar.svg

Loading diff…

brand/mac/calls.svg

Loading diff…

brand/mac/docs.svg

Loading diff…

brand/mac/fichas.svg

Loading diff…

brand/mac/files.svg

Loading diff…

brand/mac/mail.svg

Loading diff…

brand/mac/memoria.svg

Loading diff…

brand/mac/oficina.svg

Loading diff…

brand/mac/sheets.svg

Loading diff…

brand/mac/slides.svg

Loading diff…

brand/native/calendar/AppIcon.icns

Loading diff…

brand/native/calendar/ios-1024.png

Loading diff…

brand/native/calendar/macos-1024.png

Loading diff…

brand/native/calls/AppIcon.icns

Loading diff…

brand/native/calls/ios-1024.png

Loading diff…

brand/native/calls/macos-1024.png

Loading diff…

brand/native/docs/AppIcon.icns

Loading diff…

brand/native/docs/ios-1024.png

Loading diff…

brand/native/docs/macos-1024.png

Loading diff…

brand/native/meet/ios-1024.png

Loading diff…

brand/native/meet/ios.svg

Loading diff…

brand/native/meet/macos-1024.png

Loading diff…

brand/native/meet/macos-128.png

Loading diff…

brand/native/meet/macos-16.png

Loading diff…

brand/native/meet/macos-256.png

Loading diff…

brand/native/meet/macos-32.png

Loading diff…

brand/native/meet/macos-512.png

Loading diff…

brand/native/meet/macos-64.png

Loading diff…

brand/native/meet/macos.svg

Loading diff…

brand/native/memoria/AppIcon.icns

Loading diff…

brand/native/memoria/ios-1024.png

Loading diff…

brand/native/memoria/macos-1024.png

Loading diff…

brand/native/sheets/AppIcon.icns

Loading diff…

brand/native/sheets/ios-1024.png

Loading diff…

brand/native/sheets/macos-1024.png

Loading diff…

brand/png/calendar-1024.png

Loading diff…

brand/png/calendar-16.png

Loading diff…

brand/png/calendar-180.png

Loading diff…

brand/png/calendar-192.png

Loading diff…

brand/png/calendar-32.png

Loading diff…

brand/png/calendar-48.png

Loading diff…

brand/png/calendar-512.png

Loading diff…

brand/png/calls-1024.png

Loading diff…

brand/png/calls-16.png

Loading diff…

brand/png/calls-180.png

Loading diff…

brand/png/calls-192.png

Loading diff…

brand/png/calls-32.png

Loading diff…

brand/png/calls-48.png

Loading diff…

brand/png/calls-512.png

Loading diff…

brand/png/docs-1024.png

Loading diff…

brand/png/docs-16.png

Loading diff…

brand/png/docs-180.png

Loading diff…

brand/png/docs-192.png

Loading diff…

brand/png/docs-32.png

Loading diff…

brand/png/docs-48.png

Loading diff…

brand/png/docs-512.png

Loading diff…

brand/png/fichas-1024.png

Loading diff…

brand/png/fichas-16.png

Loading diff…

brand/png/fichas-180.png

Loading diff…

brand/png/fichas-192.png

Loading diff…

brand/png/fichas-32.png

Loading diff…

brand/png/fichas-48.png

Loading diff…

brand/png/fichas-512.png

Loading diff…

brand/png/files-1024.png

Loading diff…

brand/png/files-16.png

Loading diff…

brand/png/files-180.png

Loading diff…

brand/png/files-192.png

Loading diff…

brand/png/files-32.png

Loading diff…

brand/png/files-48.png

Loading diff…

brand/png/files-512.png

Loading diff…

brand/png/mail-1024.png

Loading diff…

brand/png/mail-16.png

Loading diff…

brand/png/mail-180.png

Loading diff…

brand/png/mail-192.png

Loading diff…

brand/png/mail-32.png

Loading diff…

brand/png/mail-48.png

Loading diff…

brand/png/mail-512.png

Loading diff…

brand/png/meet-1024.png

Loading diff…

brand/png/meet-16.png

Loading diff…

brand/png/meet-180.png

Loading diff…

brand/png/meet-192.png

Loading diff…

brand/png/meet-32.png

Loading diff…

brand/png/meet-48.png

Loading diff…

brand/png/meet-512.png

Loading diff…

brand/png/memoria-1024.png

Loading diff…

brand/png/memoria-16.png

Loading diff…

brand/png/memoria-180.png

Loading diff…

brand/png/memoria-192.png

Loading diff…

brand/png/memoria-32.png

Loading diff…

brand/png/memoria-48.png

Loading diff…

brand/png/memoria-512.png

Loading diff…

brand/png/oficina-1024.png

Loading diff…

brand/png/oficina-16.png

Loading diff…

brand/png/oficina-180.png

Loading diff…

brand/png/oficina-192.png

Loading diff…

brand/png/oficina-32.png

Loading diff…

brand/png/oficina-48.png

Loading diff…

brand/png/oficina-512.png

Loading diff…

brand/png/sheets-1024.png

Loading diff…

brand/png/sheets-16.png

Loading diff…

brand/png/sheets-180.png

Loading diff…

brand/png/sheets-192.png

Loading diff…

brand/png/sheets-32.png

Loading diff…

brand/png/sheets-48.png

Loading diff…

brand/png/sheets-512.png

Loading diff…

brand/png/slides-1024.png

Loading diff…

brand/png/slides-16.png

Loading diff…

brand/png/slides-180.png

Loading diff…

brand/png/slides-192.png

Loading diff…

brand/png/slides-32.png

Loading diff…

brand/png/slides-48.png

Loading diff…

brand/png/slides-512.png

Loading diff…

brand/preview.png

Loading diff…

brand/preview.svg

Loading diff…

brand/square/calendar.svg

Loading diff…

brand/square/calls.svg

Loading diff…

brand/square/docs.svg

Loading diff…

brand/square/fichas.svg

Loading diff…

brand/square/files.svg

Loading diff…

brand/square/mail.svg

Loading diff…

brand/square/memoria.svg

Loading diff…

brand/square/oficina.svg

Loading diff…

brand/square/sheets.svg

Loading diff…

brand/square/slides.svg

Loading diff…

brand/svg/calendar.svg

Loading diff…

brand/svg/calls.svg

Loading diff…

brand/svg/docs.svg

Loading diff…

brand/svg/fichas.svg

Loading diff…

brand/svg/files.svg

Loading diff…

brand/svg/mail.svg

Loading diff…

brand/svg/meet.svg

Loading diff…

brand/svg/memoria.svg

Loading diff…

brand/svg/oficina.svg

Loading diff…

brand/svg/sheets.svg

Loading diff…

brand/svg/slides.svg

Loading diff…

brand/upstream/book-search.svg

Loading diff…

brand/upstream/calendar-days.svg

Loading diff…

brand/upstream/file-text.svg

Loading diff…

brand/upstream/panels-top-left.svg

Loading diff…

brand/upstream/presentation.svg

Loading diff…

brand/upstream/table.svg

Loading diff…

brand/upstream/video.svg

Loading diff…

homeconnect/README.md

Loading diff…