66073cb32a56

warm dimmed coffee palette — surface, text, border, and interactive tokens (v2.54.0)

time
2026-05-18 01:42 UTC · 5 months ago
machine
koh2
parent
0c5309db4373
5 files manifest.firefox.json+1 −1manifest.json+1 −1src/popup/styles/popup.css+69 −13src/popup/styles/vars.css+17 −15src/popup/views/Entry.tsx+1 −1
manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "2.53.6",4+  "version": "2.54.0",55   "description": "Zero-knowledge password manager",66   "browser_specific_settings": {77     "gecko": {

view file

manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "2.53.6",4+  "version": "2.54.0",55   "description": "Zero-knowledge password manager",66   "action": {77     "default_popup": "src/popup/index.html",

view file

src/popup/styles/popup.css+69 −13
@@ -1597,8 +1597,8 @@15971597 15981598 .light .peach-settings-group,15991599 [data-theme="light"] .peach-settings-group {1600-  background: rgba(253, 248, 244, 0.68);1601-  border-color: rgba(0, 0, 0, 0.07);1600+  background: rgba(205, 191, 164, 0.68);1601+  border-color: rgba(26, 18, 8, 0.10);16021602   backdrop-filter: blur(10px) saturate(1.2);16031603   -webkit-backdrop-filter: blur(10px) saturate(1.2);16041604 }@@ -1606,8 +1606,8 @@16061606 @supports not (backdrop-filter: blur(1px)) {16071607   .light .peach-settings-group,16081608   [data-theme="light"] .peach-settings-group {1609-    background: rgba(253, 248, 244, 0.95);1610-    border-color: rgba(0, 0, 0, 0.09);1609+    background: rgba(205, 191, 164, 0.95);1610+    border-color: rgba(26, 18, 8, 0.12);16111611   }16121612 }16131613 .peach-export-intro {@@ -3519,8 +3519,8 @@35193519 35203520 .light .peach-glass,35213521 [data-theme="light"] .peach-glass {3522-  background: rgba(253, 248, 244, 0.70);3523-  border: 1px solid rgba(0, 0, 0, 0.07);3522+  background: rgba(205, 191, 164, 0.70);3523+  border: 1px solid rgba(26, 18, 8, 0.10);35243524   backdrop-filter: blur(12px) saturate(1.2);35253525   -webkit-backdrop-filter: blur(12px) saturate(1.2);35263526 }@@ -3528,8 +3528,8 @@35283528 @supports not (backdrop-filter: blur(1px)) {35293529   .light .peach-glass,35303530   [data-theme="light"] .peach-glass {3531-    background: rgba(253, 248, 244, 0.95);3532-    border: 1px solid rgba(0, 0, 0, 0.09);3531+    background: rgba(205, 191, 164, 0.95);3532+    border: 1px solid rgba(26, 18, 8, 0.12);35333533   }35343534 }35353535 @@ -3545,11 +3545,11 @@35453545 35463546 .light .peach-lock-panel.peach-glass,35473547 [data-theme="light"] .peach-lock-panel.peach-glass {3548-  background: rgba(238, 227, 204, 0.75);3549-  border: 1px solid rgba(34, 24, 9, 0.10);3548+  background: rgba(200, 185, 154, 0.78);3549+  border: 1px solid rgba(26, 18, 8, 0.12);35503550   box-shadow:3551-    inset 0 1px 0 rgba(255, 255, 255, 0.5),3552-    0 8px 24px rgba(80, 56, 32, 0.15);3551+    inset 0 1px 0 rgba(255, 255, 255, 0.4),3552+    0 8px 24px rgba(80, 56, 32, 0.20);35533553 }35543554 35553555 @supports not (backdrop-filter: blur(1px)) {@@ -3561,7 +3561,7 @@35613561   }35623562   .light .peach-lock-panel.peach-glass,35633563   [data-theme="light"] .peach-lock-panel.peach-glass {3564-    background: rgba(238, 227, 204, 0.96);3564+    background: rgba(200, 185, 154, 0.97);35653565   }35663566 }35673567 @@ -8667,3 +8667,59 @@86678667 }86688668 86698669 /* Flying title — shared element during expansion/collapse */8670+8671+/* ─── Light theme overrides ───────────────────────────────────────────────8672+   Tokens that cannot be expressed as variable substitutions — hardcoded8673+   context-specific values that need separate light-mode rules. */8674+8675+/* Settings section headers: use text-label (#5C4C38) for more presence8676+   than --t2 alone — gives ENTRIES / MAINTENANCE / DATA / VAULT HISTORY8677+   the dark anchor they need against the warmer background. */8678+.light .peach-settings-sub-label,8679+[data-theme="light"] .peach-settings-sub-label,8680+.light .peach-settings-nav-label,8681+[data-theme="light"] .peach-settings-nav-label {8682+  color: #5C4C38;8683+}8684+8685+/* Secondary action buttons (ghost / subtle): filled with the sunken surface8686+   colour so they read as embedded and intentional on the warm background8687+   rather than floating on near-white. */8688+.light .peach-btn--ghost,8689+[data-theme="light"] .peach-btn--ghost {8690+  background: #BCA98C;8691+  border-color: #96806A;8692+  color: #1A1208;8693+}8694+.light .peach-btn--subtle,8695+[data-theme="light"] .peach-btn--subtle {8696+  background: #BCA98C;8697+  border-color: #96806A;8698+}8699+8700+/* Wide secondary action button on the lock screen — override the8701+   hardcoded dark-mode rgba values with warm-surface equivalents. */8702+.light .peach-lock-secondary,8703+[data-theme="light"] .peach-lock-secondary {8704+  background: #BCA98C;8705+  border-color: #96806A;8706+  color: #1A1208;8707+}8708+.light .peach-lock-secondary:hover,8709+[data-theme="light"] .peach-lock-secondary:hover {8710+  background: #C2B193;8711+}8712+8713+/* Entry row hover: replace the near-invisible light-on-light rgba value. */8714+.light .peach-entry-row:hover,8715+[data-theme="light"] .peach-entry-row:hover {8716+  background: rgba(26, 18, 8, 0.05);8717+}8718+.light .peach-entry-row.is-active,8719+[data-theme="light"] .peach-entry-row.is-active {8720+  background: rgba(26, 18, 8, 0.04);8721+}8722+.light .peach-entry-row.is-selected,8723+[data-theme="light"] .peach-entry-row.is-selected {8724+  background: rgba(26, 18, 8, 0.06);8725+}

view file

src/popup/styles/vars.css+17 −15
@@ -154,6 +154,7 @@154154   --peach-dur-600: 600ms;155155   --peach-copy-clear: 1.4s;156156   --peach-rune-idle: rgba(245, 240, 234, 0.16);157+  --peach-ghost-opacity: 0.03;157158   /* Tell the browser engine which color schemes the UI knows how to render —158159      this gets us correct form-control colors and scrollbar tinting in the159160      WebView when the user follows the system theme. */@@ -161,26 +162,27 @@161162 }162163 163164 .light {164-  --bg: #EEE3CC;165-  --s1: #E7DBC0;166-  --s2: #E0D3B4;167-  --s3: #D8CAA7;165+  --bg: #C8B99A;166+  --s1: #CDBFA4;167+  --s2: #D2C4A8;168+  --s3: #BCA98C;168169   --bg-1: var(--s1);169170   --bg-2: var(--s2);170171   --bg-3: var(--s3);171-  --t0: #221809;172-  --t1: rgba(34, 24, 9, 0.82);173-  --t2: rgba(34, 24, 9, 0.58);174-  --t3: rgba(34, 24, 9, 0.12);175-  --t4: rgba(34, 24, 9, 0.06);176-  --surface-card: rgba(34, 24, 9, 0.03);177-  --surface-elevated: rgba(238, 227, 204, 0.97);178-  --shell-top-solid: rgba(238, 227, 204, 0.98);179-  --shell-top-fade: rgba(231, 219, 192, 0.96);172+  --t0: #1A1208;173+  --t1: #3D2E18;174+  --t2: #6B5A42;175+  --t3: #A8967C;176+  --t4: rgba(26, 18, 8, 0.06);177+  --surface-card: rgba(26, 18, 8, 0.03);178+  --surface-elevated: rgba(205, 191, 164, 0.97);179+  --shell-top-solid: rgba(200, 185, 154, 0.98);180+  --shell-top-fade: rgba(205, 191, 164, 0.96);180181   --shell-accent-a: color-mix(in srgb, var(--peach-accent) 6%, transparent);181182   --shell-accent-b: color-mix(in srgb, var(--peach-accent) 3%, transparent);182-  --copy-shadow: 0 2px 8px rgba(80, 56, 32, 0.10), 0 14px 48px rgba(80, 56, 32, 0.10), 0 0 0 1px rgba(28,25,21,0.05);183-  --peach-rune-idle: rgba(34, 24, 9, 0.16);183+  --copy-shadow: 0 2px 8px rgba(80, 56, 32, 0.12), 0 14px 48px rgba(80, 56, 32, 0.12), 0 0 0 1px rgba(26, 18, 8, 0.06);184+  --peach-rune-idle: rgba(26, 18, 8, 0.16);185+  --peach-ghost-opacity: 0.16;184186 }185187 186188 /* ─── Text size scaling ────────────────────────────────────────────────

view file

src/popup/views/Entry.tsx+1 −1
@@ -513,7 +513,7 @@513513       <div514514         class="peach-ghost"515515         aria-hidden="true"516-        style="position:absolute;top:30px;left:12px;right:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:150px;font-style:italic;font-weight:400;color:var(--t0);opacity:0.03;pointer-events:none;line-height:1;overflow:hidden;white-space:nowrap;z-index:0;"516+        style="position:absolute;top:30px;left:12px;right:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:150px;font-style:italic;font-weight:400;color:var(--t0);opacity:var(--peach-ghost-opacity,0.03);pointer-events:none;line-height:1;overflow:hidden;white-space:nowrap;z-index:0;"517517       >518518         {props.entry?.title || "empty"}519519       </div>

view file