De opfrisbeurt uit het designsysteem: Gate 0.0.25, Relay 0.5.2
Beide pagina's volgen nu HomeGit/Docs/website-design-system.html, in dezelfde ronde als AssetApp. Drie dingen, en de volgorde is niet willekeurig: - een accentgloed achter de pagina, uit de linkerbovenhoek. Dit is de VOORWAARDE voor de rest en niet de finishing touch: een backdrop-filter op een egale ondergrond levert per definitie niets op, dus er moet eerst iets achter de vlakken staan; - kaarten doorschijnend, met een randlicht bovenlangs en een schaduw uit een token; - één hoek voor elk buitenste kader. De kaart van --radius-xl naar --radius-lg, gelijk aan het logkader, dat zijn geneste hoek daarvan afleidt. Het volle accentpalet van AssetApp (vijf kleuren, licht en donker) staat erin; beide apps blijven op oranje en krijgen bewust geen knop. Om dezelfde reden staat de diepte hier vast aan, terwijl het in AssetApp een instelling is: dit zijn statuspagina's met licht/donker en verder geen bediening. --pos is groen geworden in plaats van oranje. Hij volgde het accent, en dat las als merkkleur in plaats van als betekenis; zichtbaar gevolg is dat de badge "Running" nu groen is. Meegevonden en meteen gerepareerd: prefers-reduced-motion en prefers-reduced-transparency mogen niet in één media-query. Windows heeft een schakelaar "Animatie-effecten" die bij veel mensen uit staat en die zet reduced-motion op reduce; samen in één query bleef er van de hele opmaak niets over. Ze staan apart, en reduced-motion haalt alleen de overgang weg. Alleen de pagina's, dus geen nieuwe images: VERSION in tools/evolu-relay/build.sh blijft staan en alleen de manifesten gaan omhoog. Suite groen: 22 + 43 + 54 + 22 + 65 + 39 + 115. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
is.
|
||||
═══════════════════════════════════════════════════════════════════════════════
|
||||
-->
|
||||
<html lang="en" data-theme="dark" data-accent="orange">
|
||||
<html lang="en" data-theme="dark" data-accent="orange" data-depth="deep">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
@@ -54,43 +54,152 @@
|
||||
}
|
||||
|
||||
[data-theme="dark"][data-accent="orange"] {
|
||||
--bg: #080808;
|
||||
--bg-elevated: #181818;
|
||||
--bg-raised: #242424;
|
||||
--border: rgba(255,255,255,0.18);
|
||||
--border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2;
|
||||
--text-sec: #a3a3a3;
|
||||
--text-ter: #6a6a6a;
|
||||
--accent: #FF6B00;
|
||||
--accent-soft: rgba(255,107,0,0.16);
|
||||
--accent-text: #FF8124;
|
||||
--pos: #FF8124;
|
||||
--pos-bg: rgba(255,107,0,0.18);
|
||||
--neg: #ff5a5a;
|
||||
--neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08);
|
||||
--scrollbar: #2c2c2c;
|
||||
--bg: #080808; --bg-elevated: #181818; --bg-raised: #242424; --bg-overlay: #303030;
|
||||
--border: rgba(255,255,255,0.18); --border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2; --text-sec: #a3a3a3; --text-ter: #6a6a6a;
|
||||
--accent: #FF6B00; --accent-soft: rgba(255,107,0,0.16); --accent-mid: rgba(255,107,0,0.26);
|
||||
--accent-glow: rgba(255,107,0,0.30); --accent-text: #FF8124;
|
||||
--pos: #39FF8A; --pos-bg: rgba(57,255,138,0.16); --neg: #ff5a5a; --neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08); --input-bg: #1c1c1c; --scrollbar: #2c2c2c;
|
||||
}
|
||||
[data-theme="light"][data-accent="orange"] {
|
||||
--bg: #ffffff; --bg-elevated: #f7f7f7; --bg-raised: #f0f0f0; --bg-overlay: #e8e8e8;
|
||||
--border: rgba(0,0,0,0.12); --border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a; --text-sec: #888888; --text-ter: #bbbbbb;
|
||||
--accent: #E05500; --accent-soft: rgba(224,85,0,0.08); --accent-mid: rgba(224,85,0,0.16);
|
||||
--accent-glow: rgba(224,85,0,0.22); --accent-text: #E05500;
|
||||
--pos: #007a48; --pos-bg: rgba(0,149,90,0.08); --neg: #cc2222; --neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04); --input-bg: #f5f5f5; --scrollbar: #ddd;
|
||||
}
|
||||
[data-theme="dark"][data-accent="blue"] {
|
||||
--bg: #080808; --bg-elevated: #181818; --bg-raised: #242424; --bg-overlay: #303030;
|
||||
--border: rgba(255,255,255,0.18); --border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2; --text-sec: #a3a3a3; --text-ter: #6a6a6a;
|
||||
--accent: #3B82F6; --accent-soft: rgba(59,130,246,0.16); --accent-mid: rgba(59,130,246,0.26);
|
||||
--accent-glow: rgba(59,130,246,0.30); --accent-text: #6AA1FF;
|
||||
--pos: #39FF8A; --pos-bg: rgba(57,255,138,0.16); --neg: #ff5a5a; --neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08); --input-bg: #1c1c1c; --scrollbar: #2c2c2c;
|
||||
}
|
||||
[data-theme="light"][data-accent="blue"] {
|
||||
--bg: #ffffff; --bg-elevated: #f7f7f7; --bg-raised: #f0f0f0; --bg-overlay: #e8e8e8;
|
||||
--border: rgba(0,0,0,0.12); --border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a; --text-sec: #888888; --text-ter: #bbbbbb;
|
||||
--accent: #2563EB; --accent-soft: rgba(37,99,235,0.08); --accent-mid: rgba(37,99,235,0.16);
|
||||
--accent-glow: rgba(37,99,235,0.22); --accent-text: #2563EB;
|
||||
--pos: #007a48; --pos-bg: rgba(0,149,90,0.08); --neg: #cc2222; --neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04); --input-bg: #f5f5f5; --scrollbar: #ddd;
|
||||
}
|
||||
[data-theme="dark"][data-accent="lila"] {
|
||||
--bg: #080808; --bg-elevated: #181818; --bg-raised: #242424; --bg-overlay: #303030;
|
||||
--border: rgba(255,255,255,0.18); --border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2; --text-sec: #a3a3a3; --text-ter: #6a6a6a;
|
||||
--accent: #B388FF; --accent-soft: rgba(179,136,255,0.16); --accent-mid: rgba(179,136,255,0.26);
|
||||
--accent-glow: rgba(179,136,255,0.30); --accent-text: #C7A6FF;
|
||||
--pos: #39FF8A; --pos-bg: rgba(57,255,138,0.16); --neg: #ff5a5a; --neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08); --input-bg: #1c1c1c; --scrollbar: #2c2c2c;
|
||||
}
|
||||
[data-theme="light"][data-accent="lila"] {
|
||||
--bg: #ffffff; --bg-elevated: #f7f7f7; --bg-raised: #f0f0f0; --bg-overlay: #e8e8e8;
|
||||
--border: rgba(0,0,0,0.12); --border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a; --text-sec: #888888; --text-ter: #bbbbbb;
|
||||
--accent: #7C3AED; --accent-soft: rgba(124,58,237,0.08); --accent-mid: rgba(124,58,237,0.16);
|
||||
--accent-glow: rgba(124,58,237,0.22); --accent-text: #7C3AED;
|
||||
--pos: #007a48; --pos-bg: rgba(0,149,90,0.08); --neg: #cc2222; --neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04); --input-bg: #f5f5f5; --scrollbar: #ddd;
|
||||
}
|
||||
[data-theme="dark"][data-accent="teal"] {
|
||||
--bg: #080808; --bg-elevated: #181818; --bg-raised: #242424; --bg-overlay: #303030;
|
||||
--border: rgba(255,255,255,0.18); --border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2; --text-sec: #a3a3a3; --text-ter: #6a6a6a;
|
||||
--accent: #14B8A6; --accent-soft: rgba(20,184,166,0.16); --accent-mid: rgba(20,184,166,0.26);
|
||||
--accent-glow: rgba(20,184,166,0.30); --accent-text: #2DD4BF;
|
||||
--pos: #39FF8A; --pos-bg: rgba(57,255,138,0.16); --neg: #ff5a5a; --neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08); --input-bg: #1c1c1c; --scrollbar: #2c2c2c;
|
||||
}
|
||||
[data-theme="light"][data-accent="teal"] {
|
||||
--bg: #ffffff; --bg-elevated: #f7f7f7; --bg-raised: #f0f0f0; --bg-overlay: #e8e8e8;
|
||||
--border: rgba(0,0,0,0.12); --border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a; --text-sec: #888888; --text-ter: #bbbbbb;
|
||||
--accent: #0D9488; --accent-soft: rgba(13,148,136,0.08); --accent-mid: rgba(13,148,136,0.16);
|
||||
--accent-glow: rgba(13,148,136,0.22); --accent-text: #0D9488;
|
||||
--pos: #007a48; --pos-bg: rgba(0,149,90,0.08); --neg: #cc2222; --neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04); --input-bg: #f5f5f5; --scrollbar: #ddd;
|
||||
}
|
||||
[data-theme="dark"][data-accent="magenta"] {
|
||||
--bg: #080808; --bg-elevated: #181818; --bg-raised: #242424; --bg-overlay: #303030;
|
||||
--border: rgba(255,255,255,0.18); --border-mid: rgba(255,255,255,0.28);
|
||||
--text-primary: #f2f2f2; --text-sec: #a3a3a3; --text-ter: #6a6a6a;
|
||||
--accent: #E24DAE; --accent-soft: rgba(226,77,174,0.16); --accent-mid: rgba(226,77,174,0.26);
|
||||
--accent-glow: rgba(226,77,174,0.30); --accent-text: #F072C4;
|
||||
--pos: #39FF8A; --pos-bg: rgba(57,255,138,0.16); --neg: #ff5a5a; --neg-bg: rgba(255,69,69,0.18);
|
||||
--neutral-bg: rgba(255,255,255,0.08); --input-bg: #1c1c1c; --scrollbar: #2c2c2c;
|
||||
}
|
||||
[data-theme="light"][data-accent="magenta"] {
|
||||
--bg: #ffffff; --bg-elevated: #f7f7f7; --bg-raised: #f0f0f0; --bg-overlay: #e8e8e8;
|
||||
--border: rgba(0,0,0,0.12); --border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a; --text-sec: #888888; --text-ter: #bbbbbb;
|
||||
--accent: #BE2A86; --accent-soft: rgba(190,42,134,0.08); --accent-mid: rgba(190,42,134,0.16);
|
||||
--accent-glow: rgba(190,42,134,0.22); --accent-text: #BE2A86;
|
||||
--pos: #007a48; --pos-bg: rgba(0,149,90,0.08); --neg: #cc2222; --neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04); --input-bg: #f5f5f5; --scrollbar: #ddd;
|
||||
}
|
||||
|
||||
[data-theme="light"][data-accent="orange"] {
|
||||
--bg: #ffffff;
|
||||
--bg-elevated: #f7f7f7;
|
||||
--bg-raised: #f0f0f0;
|
||||
--border: rgba(0,0,0,0.12);
|
||||
--border-mid: rgba(0,0,0,0.18);
|
||||
--text-primary: #0a0a0a;
|
||||
--text-sec: #888888;
|
||||
--text-ter: #bbbbbb;
|
||||
--accent: #E05500;
|
||||
--accent-soft: rgba(224,85,0,0.08);
|
||||
--accent-text: #E05500;
|
||||
--pos: #D04800;
|
||||
--pos-bg: rgba(224,85,0,0.08);
|
||||
--neg: #cc2222;
|
||||
--neg-bg: rgba(204,34,34,0.08);
|
||||
--neutral-bg: rgba(0,0,0,0.04);
|
||||
--scrollbar: #ddd;
|
||||
/* -- Diepte ------------------------------------------------------------------
|
||||
Overgenomen uit HomeGit/Docs/website-design-system.html (31-08-2026). In
|
||||
AssetApp is dit een instelling; hier staat hij vast aan, want dit is een
|
||||
statuspagina met dark/light en verder geen knoppen, en een schuif erbij zou
|
||||
meer bediening zijn dan de pagina zelf.
|
||||
|
||||
Het werkt omdat er iets ACHTER de vlakken komt te staan: een accentgloed uit
|
||||
de linkerbovenhoek. Een backdrop-filter op een egale ondergrond levert per
|
||||
definitie niets op, dus de gloed is het eerste deel en het glas het tweede. */
|
||||
:root {
|
||||
--surface: var(--bg-elevated);
|
||||
--surface-inset: var(--bg-raised);
|
||||
--surface-blur: 16px;
|
||||
--surface-sat: 135%;
|
||||
--edge: none;
|
||||
--ambient: none;
|
||||
--shadow-1: 0 1px 2px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.05);
|
||||
}
|
||||
[data-theme="dark"] {
|
||||
--surface: color-mix(in srgb, #1c1c1c 78%, transparent);
|
||||
--surface-inset: color-mix(in srgb, #262626 76%, transparent);
|
||||
--edge: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0) 42%);
|
||||
--shadow-1: 0 1px 2px rgba(0,0,0,0.35), 0 10px 30px -18px rgba(0,0,0,0.9);
|
||||
}
|
||||
[data-theme="light"] {
|
||||
--surface: color-mix(in srgb, #ffffff 72%, transparent);
|
||||
--surface-inset: color-mix(in srgb, #f2f2f2 74%, transparent);
|
||||
--edge: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0) 46%);
|
||||
}
|
||||
[data-depth="deep"] {
|
||||
--ambient: radial-gradient(58rem 34rem at 8% -8%, var(--accent-glow), transparent 62%),
|
||||
radial-gradient(46rem 30rem at 102% 4%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 66%);
|
||||
}
|
||||
|
||||
/* De twee toegankelijkheidswensen horen NIET in een gedeelde media-query, en dat
|
||||
is een les die een ronde kostte: Windows heeft een schakelaar "Animatie-
|
||||
effecten" die bij veel mensen uit staat, en die zet prefers-reduced-motion op
|
||||
reduce. Samen in een query deed de hele stand dan niets. Ze zeggen ook echt
|
||||
iets anders: de ene gaat over doorschijnende vlakken, de andere over
|
||||
beweging. */
|
||||
@media (prefers-reduced-transparency: reduce) {
|
||||
:root {
|
||||
--surface: var(--bg-elevated); --surface-inset: var(--bg-raised);
|
||||
--surface-blur: 0px; --surface-sat: 100%;
|
||||
}
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
body::before, .card { transition: none; }
|
||||
}
|
||||
|
||||
/* De gloed ligt achter alles en vangt geen klikken. z-index 0 hier en 1 op .wrap:
|
||||
zonder stapelcontext kan een fixed pseudo-element van body over de inhoud heen
|
||||
komen te liggen. */
|
||||
body::before {
|
||||
content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
|
||||
background: var(--ambient); transition: background 0.3s;
|
||||
}
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
@@ -105,7 +214,7 @@ body {
|
||||
|
||||
/* Dezelfde maat als Electrum Gate. Breed, maar niet oneindig: op een ultrawide
|
||||
monitor zou een kader van 2500px regels opleveren die niemand leest. */
|
||||
.wrap { max-width: 1760px; margin: 0 auto; }
|
||||
.wrap { position: relative; z-index: 1; max-width: 1760px; margin: 0 auto; }
|
||||
|
||||
/* ── Het raster ─────────────────────────────────────────────────────────────
|
||||
Twaalf kolommen, en de kaders vullen ze in de volgorde waarin ze in de HTML
|
||||
@@ -164,19 +273,35 @@ body {
|
||||
|
||||
/* ── Kaarten ────────────────────────────────────────────────────────────── */
|
||||
.card {
|
||||
background: var(--bg-elevated);
|
||||
--radius: var(--radius-xl);
|
||||
position: relative;
|
||||
background: var(--surface);
|
||||
/* --radius-lg en niet --radius-xl (31-08-2026): elk buitenste kader heeft
|
||||
dezelfde hoek, want ze staan in beeld naast en om elkaar heen en twee radii
|
||||
lezen dan als een fout. Het logkader leidt zijn hoek hiervan af. */
|
||||
--radius: var(--radius-lg);
|
||||
--padding: 1.8rem;
|
||||
border-radius: var(--radius);
|
||||
padding: var(--padding);
|
||||
margin-bottom: 1rem;
|
||||
box-shadow: var(--shadow-1);
|
||||
backdrop-filter: blur(var(--surface-blur)) saturate(var(--surface-sat));
|
||||
-webkit-backdrop-filter: blur(var(--surface-blur)) saturate(var(--surface-sat));
|
||||
transition: background 0.25s, box-shadow 0.25s;
|
||||
}
|
||||
/* Het randlicht: een verloop van licht naar niets over de bovenste 40 procent.
|
||||
Dit is het verschil tussen doorzichtig en glas; zonder deze laag ziet een
|
||||
halftransparante kaart er alleen bleek uit. De inhoud moet erbovenop blijven,
|
||||
anders ligt er een waas over de tekst in plaats van erachter. */
|
||||
.card::before {
|
||||
content: ''; position: absolute; inset: 0; border-radius: inherit;
|
||||
background: var(--edge); pointer-events: none;
|
||||
}
|
||||
.card > * { position: relative; }
|
||||
[data-theme="dark"] .card { border: 1px solid var(--border); }
|
||||
/* Rand én schaduw in het lichte thema: een zachte schaduw op wit geeft wel diepte
|
||||
maar geen begrenzing. Dezelfde waarden als Electrum Gate. */
|
||||
[data-theme="light"] .card {
|
||||
border: 1px solid var(--border);
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.05);
|
||||
}
|
||||
.card-head {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
@@ -247,7 +372,7 @@ body {
|
||||
font-size: 0.9rem;
|
||||
background: var(--bg-raised);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: max(4px, calc(var(--radius-xl) - 1.8rem));
|
||||
border-radius: max(4px, calc(var(--radius-lg) - 1.8rem));
|
||||
padding: 0.9rem 1.1rem;
|
||||
overflow-wrap: anywhere;
|
||||
color: var(--accent);
|
||||
|
||||
Reference in New Issue
Block a user