feat(theme): Archipelago — synthwave sunset sea from reference art
Teal-navy dusk, coral scanline sun (subtle repeating-linear horizon stripes + low-center sun glow + pink cloud banks, fixed attachment), glassmorphic cards/sidebar (blur, translucent surfaces), coral primary accent, white logo filter on the dark canvas. Parsed as 'archipelago' in settings; Settings -> Appearance option 'Archipelago - Sunset Sea'. Verified tokens + all 6 rules compute in the built bundle; 221+6 Rust, 139 frontend tests, clippy 0, electron:build green.
This commit is contained in:
parent
f905cbcdad
commit
4d0df31726
4 changed files with 89 additions and 1 deletions
|
|
@ -7,7 +7,8 @@ export type Theme =
|
|||
| 'impeccable-dark'
|
||||
| 'cosmic'
|
||||
| 'workshop'
|
||||
| 'workshop-dark';
|
||||
| 'workshop-dark'
|
||||
| 'archipelago';
|
||||
|
||||
/** Active signer mode. */
|
||||
export type SignerMode = 'embedded' | 'nip46_bunker' | 'nip46_client';
|
||||
|
|
|
|||
|
|
@ -148,6 +148,7 @@ export function SettingsScreen() {
|
|||
<option value="cosmic">Cosmic — Stardust</option>
|
||||
<option value="workshop">Workshop — Cybernetic</option>
|
||||
<option value="workshop-dark">Workshop — Dark</option>
|
||||
<option value="archipelago">Archipelago — Sunset Sea</option>
|
||||
</select>
|
||||
<div
|
||||
aria-hidden="true"
|
||||
|
|
|
|||
|
|
@ -706,6 +706,87 @@ html[data-theme='workshop'] .card {
|
|||
border-color: var(--border);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
Archipelago — synthwave sunset sea, from the reference artwork:
|
||||
a coral scanline sun sinking into a teal dusk, pink cloud banks,
|
||||
and glassmorphic panels floating over the horizon like islands.
|
||||
------------------------------------------------------------------ */
|
||||
:root[data-theme='archipelago'] {
|
||||
--bg: #0c1418;
|
||||
--surface: rgba(19, 36, 41, 0.78);
|
||||
--surface-2: #17303a;
|
||||
--surface-hover: rgba(26, 46, 52, 0.85);
|
||||
--border: #27464e;
|
||||
--border-strong: #35606a;
|
||||
--text: #e9f3f1;
|
||||
--text-muted: #92aeb2;
|
||||
--primary: #f0685c;
|
||||
--primary-hover: #ff8578;
|
||||
--primary-soft: #40232a;
|
||||
--on-primary: #ffffff;
|
||||
--danger: #e2554f;
|
||||
--danger-soft: #3a2026;
|
||||
--warning: #e8b26a;
|
||||
--warning-soft: #37291d;
|
||||
--success: #5fc9b2;
|
||||
--success-soft: #173630;
|
||||
--info: #6f9fc4;
|
||||
--info-soft: #1c2c38;
|
||||
--focus: #f0685c;
|
||||
--shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 10px 28px rgba(0, 0, 0, 0.4);
|
||||
--shadow-modal: 0 14px 44px rgba(0, 0, 0, 0.65);
|
||||
--radius: 16px;
|
||||
--radius-sm: 10px;
|
||||
--arch-coral: rgba(240, 104, 92, 0.16);
|
||||
--arch-cloud: rgba(232, 130, 160, 0.1);
|
||||
--arch-teal: rgba(60, 150, 155, 0.14);
|
||||
}
|
||||
|
||||
/* The horizon: sun glow low-center, cloud banks left/right, teal dusk
|
||||
above. Fixed so the vista stays put while content scrolls over it. */
|
||||
html[data-theme='archipelago'] .main {
|
||||
background-image:
|
||||
repeating-linear-gradient(
|
||||
0deg,
|
||||
rgba(255, 255, 255, 0.014) 0px,
|
||||
rgba(255, 255, 255, 0.014) 1px,
|
||||
transparent 1px,
|
||||
transparent 3px
|
||||
),
|
||||
radial-gradient(70% 42% at 50% 108%, var(--arch-coral), transparent 72%),
|
||||
radial-gradient(45% 34% at 8% 16%, var(--arch-cloud), transparent 70%),
|
||||
radial-gradient(45% 34% at 92% 10%, var(--arch-teal), transparent 70%);
|
||||
background-attachment: fixed;
|
||||
}
|
||||
|
||||
/* Glass panels: let the sunset read through the cards, like the
|
||||
reference dashboard. */
|
||||
html[data-theme='archipelago'] .card,
|
||||
html[data-theme='archipelago'] .profile-card,
|
||||
html[data-theme='archipelago'] .relay-row {
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
html[data-theme='archipelago'] .sidebar {
|
||||
background: linear-gradient(180deg, rgba(13, 24, 29, 0.92), rgba(13, 24, 29, 0.82));
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border-right-color: var(--border);
|
||||
}
|
||||
|
||||
/* Dark artwork theme: the ink logo needs the same treatment as the
|
||||
other dark themes. */
|
||||
html[data-theme='archipelago'] .sidebar-logo img {
|
||||
filter: invert(1) grayscale(1) brightness(1.4);
|
||||
}
|
||||
|
||||
html[data-theme='archipelago'] code,
|
||||
html[data-theme='archipelago'] .mono {
|
||||
background: rgba(23, 48, 58, 0.9);
|
||||
border: 1px solid var(--border);
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue