oficina / home Public

Clone
git clone https://amadan.net/oficina/home

Plain git — no account needed to clone.

Download

Download this file

1/* Home's own Calma rules: the team home's header on the sky, and its
2 grid of apps. The bar, the menus and the door are estilo's (chrome.css),
3 the rest estilo's theme (theme.css) and rastrillo's tokens.css. */
4
5/* tokens.css reserves the scrollbar's gutter on every page, so short and
6 long pages are the same width. Under the sky that reserved strip is a
7 visible pale band down the trailing edge, so Home takes the documented
8 opt-out; its pages have no layout that a scrollbar's arrival could jolt. */
9:root {
10 --rst-scrollbar-gutter: auto;
11}
12
13/* The door (sign-in, id.*'s account pages, signed out) is estilo's:
14 chrome.css draws the card on the sky under the bar. */
15
16/* Your home: the team home's header on the sky, then a grid of every
17 app, each one tile. An app you can open is a link across its whole
18 tile; one you cannot yet is shown quieter, with its status saying why.
19
20 The header spans the page under the bar, as the door does, so the sky
21 is never boxed in; its padding puts the words back on the page's
22 column. The sky fades in and out inside the band (sky.css's mask), so
23 neither edge cuts it. */
24:root:has([home-hub-head]) { overflow-x: clip; }
25[home-hub-head] {
26 box-sizing: border-box;
27 margin: calc(-1 * var(--rst-sp-5)) calc(50% - 50vw) var(--rst-sp-5);
28 padding: 64px calc(50vw - 50%) 48px;
29 min-block-size: 240px;
30 /* A sky's layers overhang its box by 12% above and below and fade out
31 from 58% to 92% (sky.css): 260px placed 50px up has faded out by
32 about 220px, inside the band's 240. */
33 --estilo-sky-top: -50px;
34 --estilo-sky-height: 260px;
35}
36[home-hub-head] h1 {
37 margin: 0 0 8px;
38 font-size: clamp(1.9rem, 4vw, 2.5rem);
39 letter-spacing: -0.03em;
40}
41[home-hub-lede] {
42 margin: 0;
43 color: var(--rst-text-muted);
44}
45[home-apps] {
46 display: grid;
47 grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
48 gap: 12px;
49 margin: 0 0 48px;
50 padding: 0;
51 list-style: none;
52}
53[home-app] {
54 box-sizing: border-box;
55 height: 100%;
56 display: flex;
57 flex-direction: column;
58 align-items: center;
59 gap: 8px;
60 padding: 22px 12px 18px;
61 border-radius: 18px;
62 background: var(--rst-surface);
63 box-shadow: 0 0 0 1px var(--rst-line);
64 color: var(--rst-text);
65 text-align: center;
66 text-decoration: none;
67}
68a[home-app]:hover { box-shadow: 0 0 0 1px var(--rst-line), var(--rst-shadow-lift); }
69[home-app] img { margin-bottom: 4px; filter: drop-shadow(0 5px 9px rgba(20, 24, 33, 0.16)); }
70[home-app] b { font-weight: 620; }
71[home-app] small { color: var(--rst-text-faint); font-size: 0.8rem; }
72div[home-app] img { filter: saturate(0.6); opacity: 0.8; }
73
74/* In dark, the sky runs brighter (estilo's gain) and muted text on its
75 brightest band falls under 4.5:1 (review, discussion 75). So the team
76 home's sky is quieter here, and text that sits on it is full-strength.
77 The door's text sits on its card, so the door keeps estilo's sky. */
78@media (prefers-color-scheme: dark) {
79 :root:not([data-theme="light"]) [home-hub-head] { --estilo-sky-strength: 0.32; }
80 :root:not([data-theme="light"]) [home-hub-lede] { color: var(--rst-text); }
81}
82:root[data-theme="dark"] [home-hub-head] { --estilo-sky-strength: 0.32; }
83:root[data-theme="dark"] [home-hub-lede] { color: var(--rst-text); }
84
85/* The team chooser: one button per team, stacked. */
86[home-teams] { display: grid; justify-items: start; gap: var(--rst-sp-2); }
87