popup.css

253.7 KB · raw

1html,2body,3#app,4.popup-root {5  width: 320px;6  min-height: 520px;7  height: 520px;8  margin: 0;9}1011body {12  overflow: hidden;13  background: var(--bg);14  color: var(--t0);15  font-family: var(--font-ui);16  font-weight: 300;17  position: relative;18}1920* {21  box-sizing: border-box;22}2324button,25input,26textarea,27select {28  font: inherit;29}3031button {32  border: 0;33}3435.popup-root {36  position: relative;37  overflow: hidden;38}3940.peach-theme {41  color: var(--peach-t0);42  font-family: var(--font-ui);43  font-weight: 300;44  box-sizing: border-box;45  text-align: left;46}47.peach-theme, .peach-theme * { box-sizing: inherit; }4849.peach-brand-mark {50  width: 14px;51  height: 14px;52  flex-shrink: 0;53}5455.peach-status-pip.is-hidden {56  display: none;57}5859.peach-status-pip.unlocked {60  background: var(--peach-health-ok);61  box-shadow: 0 0 6px rgba(100, 210, 100, 0.6);62}6364.peach-status-pip.pulse {65  animation: pip-pulse 400ms var(--peach-curve-settle) both;66}6768/* Shell */69.peach-shell, .peach-screen {70  background:71    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),72    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),73    var(--peach-bg);74  border: 1px solid var(--peach-t3);75  box-shadow:76    0 2px 8px rgba(0,0,0,0.55),77    0 14px 48px rgba(0,0,0,0.7),78    0 0 0 1px rgba(240,232,216,0.04);79  overflow: hidden;80}81.peach-shell {82  display: grid;83  grid-template-rows: auto 1fr;84  min-height: 520px;85  position: relative;86  isolation: isolate;87}8889.peach-shell[data-surface="extension"] {90  width: min(320px, 100vw);91  border-radius: 0;92  height: 520px;93  max-height: 520px;94  overflow: hidden;95}9697/* ── Lock screen – full-window lock/create stage ── */98.lock-screen--vault-stage {99  display: flex;100  flex-direction: column;101  gap: 18px;102  padding: 20px 18px 18px;103  justify-content: flex-start;104}105.lock-screen--vault-stage .peach-lock-panel {106  margin-top: auto;107}108.peach-lock-headline--unlock {109  max-width: 220px;110  text-align: center;111  margin: 0 auto;112  padding: 0;113}114.peach-lock-hero--unlock {115  flex: 1 1 auto;116  padding-top: 0;117}118.peach-lock-panel--unlock {119  gap: 10px;120}121122.peach-lock-restore-link {123  background: transparent;124  border: none;125  cursor: pointer;126  font-family: var(--font-mono);127  font-size: 0.625rem;128  letter-spacing: 0.08em;129  color: var(--t1);130  padding: 5px 0;131  text-align: left;132  transition: color 150ms ease;133}134135.peach-lock-restore-link:hover {136  color: var(--t0);137}138.peach-shell[data-surface="extension"] .peach-stage {139  min-height: 250px;140}141142/* Screen (unlock) */143.peach-screen {144  width: min(320px, 100vw);145  min-height: 100%;146  height: 100%;147  border-radius: 0;148  padding: 16px 20px 18px;149  display: grid;150  gap: 14px;151}152.peach-screen[data-motion-phase="enter"] {153  animation: peach-screen-enter var(--peach-dur-600) var(--peach-curve-arrival) both;154}155.peach-screen-header { min-height: 20px; }156157/* Wordmark */158.peach-wordmark {159  margin: 0;160  font-family: var(--font-display);161  font-size: 0.9375rem;162  font-style: italic;163  letter-spacing: 0.03em;164  color: var(--peach-t0);165  display: inline-flex;166  min-height: 1em;167}168169/* Motion text / char animation */170.peach-motion-text { display: inline-flex; min-height: 1em; }171.peach-motion-char {172  display: inline-block;173  white-space: pre;174  opacity: 0;175  transform: translateY(0.22em);176  animation: peach-char-enter var(--peach-motion-duration, 380ms) var(--peach-curve-arrival) forwards;177  animation-delay: calc(var(--peach-char-index, 0) * 20ms);178}179180/* Chrome */181.peach-chrome {182  position: relative;183  z-index: 10;184  padding: 16px 20px 0;185  display: flex;186  justify-content: space-between;187  align-items: center;188  /* z-index:10 keeps the header icons above `.peach-loading` (Suspense189     fallback) per §15 regression guard. Without pointer-events:none, the190     empty header strip also sits above `.peach-overlay-view` (z-index:2)191     and swallows clicks meant for an overlay's back button / top search. */192  pointer-events: none;193}194.peach-chrome .peach-btn { pointer-events: auto; }195.peach-chrome.is-hidden-for-overlay,196.peach-search-wrap.is-hidden-for-overlay {197  opacity: 0;198  visibility: hidden;199  pointer-events: none;200}201/* The pair-device surface owns its own header and header — fully collapse the global202   chrome row so the warm gradient reaches the popup edge. */203.peach-chrome.is-collapsed,204.peach-search-wrap.is-collapsed {205  display: none;206}207.peach-wordmark-wrap { display: flex; align-items: center; gap: 5px; }208.peach-status-pip {209  width: 5px;210  height: 5px;211  border-radius: 50%;212  background: var(--peach-t3);213  display: inline-flex;214  flex-shrink: 0;215  transition: background 400ms ease, box-shadow 400ms ease;216}217.peach-chrome-actions { display: flex; gap: 6px; }218219/* Shell body */220.peach-shell-body {221  position: relative;222  display: grid;223  grid-template-rows: 1fr auto;224  min-height: 0;225  min-width: 0;226  width: 100%;227  overflow: hidden;228  height: 100%;229}230.peach-shell-veil {231  position: absolute; inset: 0;232  background: #000; opacity: 0;233  pointer-events: none; z-index: 1;234}235.peach-shell[data-motion-phase="enter"] .peach-shell-body {236  animation: peach-shell-fade-in var(--peach-dur-600) var(--peach-curve-arrival) both;237}238.peach-shell[data-motion-phase="exit"] .peach-shell-veil {239  animation: peach-veil-in 300ms var(--peach-curve-departure) forwards;240}241242/* Content frame */243.peach-content-frame {244  display: grid;245  grid-template-rows: 1fr auto;246  grid-template-columns: minmax(0, 1fr);247  align-content: start;248  min-height: 0;249  min-width: 0;250  overflow: hidden;251  transition: opacity 80ms ease, transform 80ms ease;252}253.peach-content-frame.navigating {254  opacity: 0.93;255  transform: translateX(2px);256}257.peach-content-frame[data-content-phase="enter"] {258  animation: peach-content-enter 135ms ease-out both;259}260.peach-content-frame[data-content-phase="exit"] {261  animation: peach-content-exit 95ms ease-in forwards;262}263.peach-content-frame[data-content-phase="idle"] { opacity: 1; transform: none; }264265/* Stage */266.peach-stage {267  padding: 10px 20px 12px;268  display: grid;269  gap: 12px;270  align-content: start;271  min-width: 0;272  min-height: 0;273  max-width: 100%;274  overflow-y: auto;275  overflow-x: hidden;276  scrollbar-width: none;277  -ms-overflow-style: none;278  overscroll-behavior: contain;279}280.peach-stage::-webkit-scrollbar { display: none; }281282/* Entry name */283.peach-entry-name-wrap { position: relative; overflow: hidden; max-width: 100%; }284.peach-entry-header {285  position: relative;286  z-index: 1;287  display: flex;288  align-items: flex-start;289  gap: 6px;290  min-width: 0;291}292.peach-entry-header-name {293  flex: 1;294  min-width: 0;295}296.peach-entry-name {297  margin: 0;298  padding-bottom: 0.12em;299  font-family: var(--font-display);300  font-style: italic; font-weight: 400;301  font-size: 44px; line-height: 0.95;302  color: var(--peach-t0);303  display: -webkit-box;304  -webkit-line-clamp: 2;305  -webkit-box-orient: vertical;306  overflow: hidden;307  text-wrap: balance;308}309.peach-entry-name--lg { font-size: 40px; }310.peach-entry-name--xl { font-size: 34px; line-height: 0.98; }311.peach-entry-name--xxl { font-size: 30px; line-height: 1.02; }312.peach-entry-name-text { display: block; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; padding-bottom: 0.12em; }313314/* Trash icon in entry header */315.peach-entry-trash-btn {316  flex-shrink: 0;317  padding: 4px;318  margin-top: 4px;319  background: transparent;320  border: none;321  cursor: pointer;322  color: var(--peach-t2);323  border-radius: 4px;324  transition: color 140ms ease, background 140ms ease;325  display: flex;326  align-items: center;327  justify-content: center;328}329.peach-entry-trash-btn:hover {330  color: var(--peach-t1);331  background: var(--peach-t3);332}333.peach-entry-trash-confirm {334  display: flex;335  align-items: center;336  gap: 6px;337  flex-shrink: 0;338  margin-top: 6px;339  flex-wrap: nowrap;340}341.peach-entry-trash-confirm-label {342  font-family: var(--font-mono);343  font-size: 0.5625rem;344  letter-spacing: 0.1em;345  color: var(--peach-t2);346  white-space: nowrap;347}348.peach-entry-name-button {349  padding: 0;350  background: transparent;351  text-align: left;352  cursor: pointer;353  max-width: 100%;354  overflow: hidden;355  display: block;356}357.peach-entry-name-char {358  display: inline-block;359  white-space: pre;360  opacity: 0;361  transform: translateY(0.22em);362  animation: peach-char-enter 380ms var(--peach-curve-arrival) forwards;363  animation-delay: calc(var(--char-index, 0) * 20ms);364}365366/* Domain */367.peach-domain { border-top: 1px solid var(--peach-t3); padding-top: 9px; }368.peach-domain-row {369  width: 100%; border: 0; background: transparent; color: inherit;370  padding: 0; display: flex; justify-content: space-between; align-items: baseline;371  cursor: default;372}373.peach-domain-value {374  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;375  font-size: 0.625rem; font-style: italic;376  letter-spacing: 0.12em; color: var(--peach-t1);377}378379/* Fields */380.peach-fields { display: grid; gap: 10px; }381.peach-field-card { display: grid; gap: 7px; }382.peach-label {383  font-family: Inter, system-ui, sans-serif;384  text-transform: uppercase; letter-spacing: 0.2em;385  font-size: 0.5rem; color: var(--peach-t2);386}387.peach-add-field-btn {388  align-self: flex-start;389  background: none; border: none; padding: 2px 0;390  font-family: Inter, system-ui, sans-serif;391  font-size: 0.6875rem; color: var(--peach-accent);392  cursor: pointer; opacity: 0.75;393  letter-spacing: 0.02em;394}395.peach-add-field-btn:hover { opacity: 1; }396.peach-field-value-row {397  display: flex; justify-content: space-between;398  align-items: center; gap: 8px;399  min-width: 0;400}401.peach-field-value {402  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;403  font-size: 0.8125rem; color: var(--peach-t1);404  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;405  flex: 1;406  min-width: 0;407}408.peach-password-value {409  display: inline-flex;410  align-items: center;411  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;412  font-size: 1rem; letter-spacing: 0.3em; color: var(--peach-t0);413  overflow: hidden;414  text-overflow: ellipsis;415  white-space: nowrap;416  flex: 1;417  min-width: 0;418  max-width: 100%;419}420.peach-password-value.is-revealed {421  font-size: 0.875rem;422  letter-spacing: 0.08em;423}424.peach-password-text,425.peach-password-mask {426  display: block;427  width: 100%;428  overflow: hidden;429  white-space: nowrap;430  /* Render as uniform mid-line bullets, not baseline periods */431  font-family: Inter, system-ui, sans-serif;432  font-size: 0.625rem;433  letter-spacing: 3px;434  user-select: none;435}436.peach-field-actions { display: flex; gap: 4px; align-items: center; }437.peach-password-strength { display: flex; align-items: center; gap: 8px; }438.peach-strength-bar { display: flex; gap: 3px; }439.peach-strength-seg { width: 28px; height: 4px; border-radius: 2px; background: #eee; }440.peach-strength-label {441  font-family: "IBM Plex Mono", monospace;442  font-style: italic;443  font-size: 0.5625rem;444  font-weight: 300;445  min-width: 36px;446  text-align: right;447  color: var(--peach-t2);448  letter-spacing: 0.06em;449}450451.peach-strength-hairline {452  display: flex;453  align-items: center;454  gap: 10px;455  margin-top: -2px;456}457458.peach-strength-hairline-track {459  flex: 1;460  height: 3px;461  border-radius: 2px;462  background: var(--peach-s2);463  overflow: hidden;464}465466.peach-strength-hairline-fill {467  height: 100%;468  border-radius: 2px;469  transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1),470    background 400ms ease;471}472473/* Note content (display) */474.peach-note-content {475  border-top: 1px solid var(--peach-t3);476  padding-top: 10px;477  font-family: var(--font-display);478  font-size: 0.9375rem;479  line-height: 1.75;480  color: var(--peach-t1);481}482483/* ── Inline editing ─────────────────────────────────────────────────── */484485/* Clickable display values */486.peach-inline-clickable {487  cursor: text;488  border-radius: 3px;489  transition: background 150ms ease;490}491.peach-inline-clickable:hover {492  background: rgba(240, 232, 216, 0.05);493}494495/* Subtle "edit" hint that appears on hover */496.peach-inline-edit-hint {497  font-family: Inter, system-ui, sans-serif;498  font-size: 0.5625rem;499  text-transform: uppercase;500  letter-spacing: 0.14em;501  color: var(--peach-t2);502  opacity: 0;503  transition: opacity 120ms ease;504  pointer-events: none;505  margin-left: 6px;506  flex-shrink: 0;507}508.peach-domain-row:hover .peach-inline-edit-hint {509  opacity: 1;510}511512/* Title editing */513.peach-inline-title-wrap {514  display: flex;515  flex-direction: column;516  gap: 6px;517}518.peach-inline-title-input {519  font-family: var(--font-display);520  font-style: italic;521  font-weight: 400;522  font-size: 40px;523  line-height: 0.95;524  color: var(--peach-t0);525  background: transparent;526  border: none;527  border-bottom: 1px solid var(--peach-accent);528  outline: none;529  width: 100%;530  padding: 2px 0;531}532533/* Generic inline field */534.peach-inline-field-wrap {535  display: flex;536  flex-direction: column;537  gap: 6px;538}539.peach-inline-input {540  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;541  font-size: 0.8125rem;542  color: var(--peach-t0);543  background: transparent;544  border: none;545  border-bottom: 1px solid var(--peach-accent);546  outline: none;547  width: 100%;548  padding: 3px 0;549}550.peach-inline-textarea {551  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;552  font-size: 0.6875rem;553  line-height: 1.7;554  color: var(--peach-t0);555  background: rgba(240, 232, 216, 0.04);556  border: 1px solid var(--peach-accent);557  border-radius: 4px;558  outline: none;559  width: 100%;560  padding: 8px;561  resize: vertical;562  min-height: 80px;563}564565/* Save / cancel row */566.peach-inline-actions {567  display: flex;568  gap: 6px;569  align-items: center;570}571.peach-inline-save-btn,572.peach-inline-cancel-btn {573  display: inline-flex;574  align-items: center;575  justify-content: center;576  width: 26px;577  height: 26px;578  border-radius: 4px;579  border: none;580  cursor: pointer;581  transition: background 140ms ease, opacity 140ms ease;582  flex-shrink: 0;583}584.peach-inline-save-btn {585  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);586  color: var(--peach-accent);587}588.peach-inline-save-btn:hover:not(:disabled) {589  background: color-mix(in srgb, var(--peach-accent) 30%, transparent);590}591.peach-inline-cancel-btn {592  background: rgba(240, 232, 216, 0.06);593  color: var(--peach-t2);594}595.peach-inline-cancel-btn:hover:not(:disabled) {596  background: rgba(240, 232, 216, 0.12);597  color: var(--peach-t1);598}599.peach-inline-save-btn:disabled,600.peach-inline-cancel-btn:disabled {601  opacity: 0.4;602  cursor: not-allowed;603}604605/* Inline password generator wrapper */606.peach-inline-generator-wrap {607  margin-top: 10px;608  padding-top: 10px;609  border-top: 1px solid var(--peach-t3);610  display: flex;611  flex-direction: column;612  gap: 8px;613}614.peach-inline-generator-cancel {615  align-self: flex-start;616  font-size: 0.6875rem;617  color: var(--peach-t2);618}619620/* "is-editing" card state */621.peach-field-card.is-editing {622  background: rgba(240, 232, 216, 0.02);623  border-radius: 6px;624  padding: 8px;625  margin: -8px;626}627628/* Inline tag editor on Entry detail view */629.peach-inline-tag-editor {630  display: flex;631  flex-direction: column;632  gap: 6px;633}634635/* Quiet inline "+ add X" link in the entry detail body */636.peach-entry-add-link {637  justify-self: start;638  margin-top: 8px;639}640641/* Additional URLs editor revealed by clicking the URL field */642.peach-additional-urls {643  display: flex;644  flex-direction: column;645  gap: 6px;646  margin-top: 8px;647}648.peach-additional-urls-label {649  font-size: 0.5625rem;650  letter-spacing: 0.1em;651  text-transform: uppercase;652  color: var(--peach-t2);653  margin-bottom: 2px;654}655/* UI-5 / LV-4: recovery words grid in the view-words reveal. */656.peach-recovery-words-grid {657  display: grid;658  grid-template-columns: 1fr 1fr;659  gap: 4px 10px;660}661.peach-recovery-word {662  font-family: "IBM Plex Mono", "SFMono-Regular", monospace;663  font-size: 11px;664  color: var(--peach-t0);665}666.peach-recovery-word b {667  color: var(--peach-t2);668  font-weight: 400;669  margin-right: 4px;670}671672/* UI-1 / HV-1b: dismissible sync alert banners at the top of the vault view. */673.peach-sync-alerts {674  display: flex;675  flex-direction: column;676  gap: 6px;677  padding: 8px 12px 0;678  /* Grid item of .peach-shell: without a zero min-width the nowrap alert text679     sizes this item to its min-content, blowing the fixed-width shell past680     320px and clipping/distorting everything else in it. */681  min-width: 0;682}683.peach-sync-alert {684  display: flex;685  align-items: center;686  gap: 8px;687  padding: 8px 10px;688  border-radius: 7px;689  min-width: 0;690  max-width: 100%;691  background: color-mix(in srgb, #C8A840 14%, transparent);692  border: 1px solid color-mix(in srgb, #C8A840 38%, transparent);693}694.peach-sync-alert-text {695  flex: 1;696  min-width: 0;697  font-family: "IBM Plex Mono", "SFMono-Regular", monospace;698  font-size: 10px;699  line-height: 1.45;700  color: var(--peach-t0);701  overflow: hidden;702  text-overflow: ellipsis;703  white-space: nowrap;704}705.peach-sync-alert-flip {706  flex-shrink: 0;707  background: none;708  border: none;709  color: var(--peach-t2);710  font-size: 14px;711  line-height: 1;712  cursor: pointer;713  padding: 0 2px;714}715.peach-sync-alert-flip:hover { color: var(--peach-t0); }716.peach-sync-alert-count {717  flex-shrink: 0;718  font-family: "IBM Plex Mono", "SFMono-Regular", monospace;719  font-size: 9px;720  color: var(--peach-t2);721  min-width: 24px;722  text-align: center;723}724.peach-sync-alert-dismiss {725  flex-shrink: 0;726  background: none;727  border: none;728  color: var(--peach-t2);729  font-size: 14px;730  line-height: 1;731  cursor: pointer;732  padding: 0 2px;733}734.peach-sync-alert-dismiss:hover { color: var(--peach-t0); }735736/* UI-8 / LV-2: non-blocking homograph warning under the URL editor. */737.peach-homograph-warning {738  margin: 4px 0 2px;739  padding: 6px 8px;740  border-radius: 6px;741  background: color-mix(in srgb, var(--peach-breach) 12%, transparent);742  border: 1px solid color-mix(in srgb, var(--peach-breach) 36%, transparent);743  color: var(--peach-t1);744  font-size: 0.6875rem;745  line-height: 1.4;746}747.peach-additional-url-row {748  display: flex;749  align-items: center;750  gap: 6px;751}752.peach-additional-url-row .peach-inline-input { flex: 1; min-width: 0; }753.peach-additional-url-remove {754  background: transparent;755  border: 1px solid var(--peach-t3);756  color: var(--peach-t2);757  width: 22px;758  height: 22px;759  border-radius: 4px;760  cursor: pointer;761  font-size: 0.875rem;762  line-height: 1;763  display: inline-flex;764  align-items: center;765  justify-content: center;766  flex-shrink: 0;767  transition: color 120ms ease, border-color 120ms ease;768}769.peach-additional-url-remove:hover:not(:disabled) {770  color: var(--peach-accent);771  border-color: var(--peach-border-accent);772}773.peach-additional-urls-add { align-self: flex-start; }774775/* Delete row */776.peach-entry-delete-row {777  display: flex;778  align-items: center;779  gap: 8px;780  padding-top: 18px;781  margin-top: 8px;782  border-top: 1px solid var(--peach-t3);783}784.peach-delete-btn {785  font-size: 0.6875rem;786  color: var(--peach-t2);787  padding: 4px 0;788}789.peach-delete-confirm-text {790  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;791  font-size: 0.6875rem;792  font-style: italic;793  color: var(--peach-t2);794  flex-shrink: 0;795}796797/* TOTP band */798.peach-totp-band {799  border-top: 1px solid var(--peach-t3);800  padding: 12px 20px 14px;801  position: relative;802  display: grid;803  grid-template-columns: 1fr auto;804  gap: 10px;805}806.peach-totp-main {807  min-width: 0;808  cursor: pointer;809  user-select: none;810}811.peach-totp-code.is-copied { opacity: 0.55; transition: opacity 140ms ease; }812.peach-totp-code-row {813  display: flex;814  align-items: flex-end;815  gap: 10px;816  min-width: 0;817}818.peach-totp-code {819  margin: 2px 0 0;820  font-family: var(--font-display);821  font-style: italic;822  font-weight: 300;823  font-size: 38px; color: var(--peach-accent);824  line-height: 0.95; min-height: 1em;825  min-width: 0;826}827.peach-totp-code-text {828  display: inline-flex;829  overflow: hidden;830  text-overflow: ellipsis;831  white-space: nowrap;832}833.peach-totp-copy-btn {834  margin-bottom: 2px;835  flex-shrink: 0;836  border-color: transparent;837}838.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }839.peach-totp-countdown {840  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;841  font-size: 22px; color: var(--peach-t1);842}843.peach-totp-ring { transform: rotate(-90deg); }844.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }845.peach-totp-ring-progress {846  fill: none; stroke: var(--peach-accent); stroke-width: 2;847  stroke-linecap: round;848  transition: stroke-dashoffset 1s linear, stroke 500ms ease;849}850/* Search bar */851.peach-search-wrap {852  border-top: 1px solid var(--peach-t3);853  background: var(--peach-s1);854  min-height: 54px; position: relative;855  box-shadow: inset 0 6px 18px transparent;856  transition: box-shadow 700ms ease;857}858.peach-search-wrap::before {859  content: "";860  position: absolute;861  left: 0;862  top: 0;863  height: 2px;864  width: var(--peach-totp-progress, 0%);865  background: var(--peach-accent);866  opacity: 0;867  transition: width 1s linear, opacity 180ms ease;868  pointer-events: none;869}870.peach-shell[data-totp-active="true"] .peach-search-wrap::before {871  opacity: 0.9;872}873.peach-shell[data-totp-active="true"] .peach-search-wrap {874  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);875}876877@keyframes peach-totp-code-flare {878  0%   { filter: brightness(1); }879  25%  { filter: brightness(1.3); }880  100% { filter: brightness(1); }881}882.peach-totp-code.is-hot {883  animation: peach-totp-code-flare 3000ms ease-in-out both;884}885.peach-search-bar {886  min-height: 54px;887  display: grid;888  grid-template-columns: auto minmax(0, 1fr) auto;889  align-items: center;890  gap: 8px; padding: 0 9px 0 12px;891}892.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }893.peach-search-input {894  border: 0; background: transparent; color: var(--peach-t0);895  font-family: var(--font-display);896  font-style: italic; font-size: 18px;897  outline: none; width: 100%; min-width: 0; padding: 0;898  caret-color: var(--peach-accent);899}900.peach-search-input::placeholder { color: var(--peach-t2); }901.peach-search-meta {902  display: grid;903  grid-auto-flow: column;904  align-items: center;905  justify-content: end;906  gap: 6px;907  min-width: max-content;908}909.peach-search-counter {910  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;911  font-size: 0.625rem; color: var(--peach-t2);912  display: inline-flex;913  align-items: center;914  line-height: 1;915}916.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }917918/* Buttons */919.peach-btn {920  border: 1px solid transparent; border-radius: 12px;921  background: transparent; color: var(--peach-t0);922  font-family: Inter, system-ui, sans-serif;923  font-size: 0.75rem; letter-spacing: 0.02em; padding: 8px 12px;924  cursor: pointer;925  transition:926    background-color var(--peach-dur-80) var(--peach-curve-arrival),927    color var(--peach-dur-80) var(--peach-curve-arrival),928    border-color var(--peach-dur-150) var(--peach-curve-arrival);929}930.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }931.peach-btn:disabled {932  opacity: 0.45;933  cursor: not-allowed;934}935.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 0.6875rem; }936.peach-btn--md { min-height: 38px; }937.peach-btn--accent {938  background: var(--peach-accent);939  color: rgba(0,0,0,0.92);940  font-weight: 500;941  box-shadow:942    0 1px 0 rgba(255,255,255,0.08) inset,943    0 0 0 1px color-mix(in srgb, var(--peach-accent) 21%, transparent),944    0 3px 16px var(--peach-glow),945    0 0 24px color-mix(in srgb, var(--peach-accent) 10%, transparent);946}947.peach-btn--accent:hover:not(:disabled) {948  background: var(--peach-accent);949  filter: brightness(1.10) saturate(1.05);950  box-shadow:951    0 1px 0 rgba(255,255,255,0.10) inset,952    0 0 0 1px color-mix(in srgb, var(--peach-accent) 25%, transparent),953    0 4px 20px color-mix(in srgb, var(--peach-accent) 21%, transparent),954    0 0 30px color-mix(in srgb, var(--peach-accent) 14%, transparent);955}956.peach-btn--ghost:not(.peach-icon-btn) { border-color: var(--peach-t3); color: var(--peach-t1); }957.peach-btn--ghost.peach-icon-btn { color: var(--peach-t1); }958.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }959.peach-icon-btn {960  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;961  display: inline-flex; align-items: center; justify-content: center;962  border-color: transparent;963  transition:964    color var(--peach-dur-80) var(--peach-curve-arrival),965    box-shadow var(--peach-dur-150) var(--peach-curve-arrival),966    background-color var(--peach-dur-80) var(--peach-curve-arrival);967}968.peach-icon-btn:hover:not(:disabled) {969  background: transparent;970  color: var(--peach-accent);971  box-shadow: 0 0 12px color-mix(in srgb, var(--peach-accent) 28%, transparent),972              0 0 4px color-mix(in srgb, var(--peach-accent) 16%, transparent);973}974975/* Topbar sync. Only rendered when a device is paired, so it never sits there976   as a control that cannot do anything. */977.peach-sync-btn.is-syncing { color: var(--peach-accent); }978.peach-sync-btn.is-syncing .peach-sync-icon {979  animation: peach-sync-spin 900ms linear infinite;980  transform-origin: 50% 50%;981}982.peach-sync-btn.is-ok { color: var(--peach-accent); }983.peach-sync-btn.is-error { color: var(--peach-breach, #d66); }984@keyframes peach-sync-spin { to { transform: rotate(360deg); } }985986/* Sync indicator light — same taxonomy as the Settings pip, sized for the987   14px topbar icon. Unlit when nothing has happened yet; never green when988   sync is not actually working. */989.peach-sync-btn { position: relative; }990.peach-sync-pip {991  position: absolute;992  top: 2px;993  right: 2px;994  width: 5px;995  height: 5px;996  border-radius: 50%;997  background: transparent;998}999.peach-sync-pip.is-ok,1000.peach-sync-pip.is-busy {1001  background: var(--peach-health-ok);1002  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-health-ok) 60%, transparent);1003}1004.peach-sync-pip.is-busy { animation: peach-sync-pip-pulse 1600ms ease-in-out infinite; }1005/* Yellow — the dial did not reach the peer, but the alarm will retry. Distinct1006   from is-error (red) so a transient network miss does not look like a real1007   fault. */1008.peach-sync-pip.is-warn {1009  background: var(--peach-health-warn);1010  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-health-warn) 60%, transparent);1011}1012.peach-sync-pip.is-error {1013  background: var(--peach-breach);1014  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-breach) 60%, transparent);1015}1016@keyframes peach-sync-pip-pulse {1017  0%, 100% { opacity: 1; }1018  50% { opacity: 0.35; }1019}1020@media (prefers-reduced-motion: reduce) {1021  .peach-sync-btn.is-syncing .peach-sync-icon { animation: none; opacity: 0.6; }1022  .peach-sync-pip.is-busy { animation: none; }1023}10241025.peach-btn:focus-visible {1026  outline: none;1027  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);1028}10291030/* Lock button */1031.peach-lock-icon { transform-origin: center; }1032/* Beat .peach-btn--ghost.peach-icon-btn (rest) and .peach-icon-btn:hover1033   (hover) so the lock reads accent in both states. */1034.peach-btn--ghost.peach-icon-btn.peach-lock-btn { color: var(--peach-accent); }1035.peach-lock-btn.is-locking .peach-lock-icon {1036  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);1037}10381039/* Biometric unlock button */1040.peach-biometric-btn {1041  display: flex;1042  align-items: center;1043  justify-content: center;1044  gap: 6px;1045  margin-top: 8px;1046  width: 100%;1047}10481049/* Copy button */1050.peach-copy-btn {1051  position: relative; overflow: hidden;1052  color: var(--peach-t2); border-color: var(--peach-t3);1053}1054.peach-copy-icon {1055  display: inline-flex; align-items: center; justify-content: center;1056  position: relative; z-index: 1;1057}1058.peach-copy-icon-svg { display: block; }1059.peach-copy-sheen {1060  position: absolute; inset: 0;1061  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--peach-accent) 18%, transparent) 30%, color-mix(in srgb, var(--peach-accent) 8%, transparent) 100%);1062  opacity: 0; transform: scaleX(0.15); transform-origin: left center;1063}1064.peach-copy-btn.is-copied {1065  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;1066  box-shadow:1067    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),1068    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),1069    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);1070}1071.peach-copy-btn.is-copied .peach-copy-icon {1072  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;1073}1074.peach-copy-btn.is-copied .peach-copy-sheen {1075  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;1076}1077.peach-copy-btn.is-retreat {1078  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;1079}1080.peach-copy-btn.is-retreat .peach-copy-sheen {1081  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;1082}1083.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }1084.peach-copy-drain-bar {1085  display: block; width: 100%; height: 100%;1086  background: var(--peach-accent); opacity: 0.7;1087  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;1088}10891090/* Unlock screen elements */1091.peach-underline-input {1092  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);1093  padding: 6px 0; background: transparent; color: var(--peach-t0);1094  outline: none;1095  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1096  font-size: 0.8125rem;1097  caret-color: var(--peach-accent);1098}1099.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }1100.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }1101.peach-hint {1102  margin: 0;1103  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1104  font-size: 0.625rem; color: var(--peach-t2);1105}1106.peach-unlock-footer {1107  margin-top: 4px; display: flex; align-items: center; gap: 7px;1108  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1109  font-size: 0.625rem; color: var(--peach-t2);1110}1111.peach-unlock-footer--lock {1112  padding-top: 2px;1113}11141115/* Desktop helper (peach-sync) code pairing — additive hooks. The shared pairing1116   classes (peach-pair-*) carry the shared layout; these only style the parts1117   unique to the typed-code path. Inline styles cover the SAS/confirm gate. */1118.peach-desktop-pair { display: flex; flex-direction: column; }1119.peach-desktop-enter,1120.peach-desktop-searching,1121.peach-desktop-paired,1122.peach-desktop-error {1123  display: flex; flex-direction: column; gap: 8px;1124  padding: 4px 18px 16px; text-align: center; align-items: center;1125}1126.peach-desktop-enter .peach-label { align-self: flex-start; }1127/* Sized for a full 19-character pairing code (A74H-48J3-KI32-OEP4) in a1128   320px popup — a 6-digit legacy helper code still reads fine at this size. */1129.peach-code-input {1130  text-align: center; letter-spacing: 0.12em; padding-left: 0.12em;1131  font-size: 15px;1132}1133.peach-code-input::placeholder { letter-spacing: 0.12em; }11341135/* Sync card "pair a device" options — bordered, raised tappable rows that read1136   as buttons on any card hue (theme-neutral light overlay, not the peach accent). */1137.peach-sync-pair-option {1138  display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;1139  width: 100%; text-align: left; cursor: pointer; font-family: inherit;1140  padding: 11px 12px; border-radius: 10px;1141  background: color-mix(in srgb, var(--peach-t0) 6%, transparent);1142  border: 1px solid color-mix(in srgb, var(--peach-t0) 16%, transparent);1143  color: var(--peach-t0);1144  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;1145}1146.peach-sync-pair-option + .peach-sync-pair-option { margin-top: 8px; }1147.peach-sync-pair-option:hover {1148  background: color-mix(in srgb, var(--peach-t0) 10%, transparent);1149  border-color: color-mix(in srgb, var(--peach-t0) 28%, transparent);1150}1151.peach-sync-pair-option:active { transform: translateY(1px); }1152.peach-sync-pair-option:disabled { opacity: 0.5; cursor: default; }1153.peach-sync-pair-option-icon { flex-shrink: 0; display: flex; align-items: center; color: var(--peach-t1); margin-top: 1px; }1154.peach-sync-pair-option-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }1155.peach-sync-pair-option-title { font-size: 0.8125rem; font-weight: 600; }1156.peach-sync-pair-option-sub { font-size: 0.6875rem; line-height: 1.45; color: var(--peach-t2); }1157.peach-sync-pair-option-chevron { flex-shrink: 0; color: var(--peach-t2); font-size: 1.05rem; line-height: 1.3; }11581159/* Breach badge */1160.peach-breach-badge {1161  display: flex;1162  position: relative;1163  z-index: 1;1164  align-items: center;1165  gap: 7px;1166  font-size: 0.5625rem;1167  color: var(--peach-breach);1168  padding: 5px 10px;1169  margin-bottom: 4px;1170  border-radius: 8px;1171  background: rgba(220, 80, 60, 0.07);1172  border: 1px solid rgba(220, 80, 60, 0.18);1173  letter-spacing: 0.04em;1174}11751176.peach-password-value.is-breached {1177  color: rgba(220, 80, 60, 0.75);1178  border-bottom: 1px solid rgba(220, 80, 60, 0.22);1179}11801181/* ── Overlay views ─────────────────────────────────────────────────── */1182.peach-overlay-view {1183  position: absolute;1184  inset: 0;1185  display: flex;1186  flex-direction: column;1187  background:1188    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),1189    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),1190    var(--peach-bg);1191  z-index: 2;1192  overflow: hidden;1193  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;1194}11951196.peach-overlay-view:has(.stk-shell) {1197  background: var(--peach-bg);1198}1199@keyframes overlay-in {1200  from { opacity: 0; transform: translateY(8px); }1201  to   { opacity: 1; transform: translateY(0); }1202}1203.peach-overlay-view.ov-enter-up {1204  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1205}1206.peach-overlay-view.ov-exit-up {1207  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;1208}1209.peach-overlay-view.ov-enter-right {1210  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1211}1212.peach-overlay-view.ov-exit-right {1213  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;1214}12151216@keyframes ov-enter-up {1217  from { opacity: 0; transform: translateY(18px); }1218  to   { opacity: 1; transform: translateY(0); }1219}1220@keyframes ov-exit-up {1221  from { opacity: 1; transform: translateY(0); }1222  to   { opacity: 0; transform: translateY(-12px); }1223}1224@keyframes ov-enter-right {1225  from { opacity: 0; transform: translateX(20px); }1226  to   { opacity: 1; transform: translateX(0); }1227}1228@keyframes ov-exit-right {1229  from { opacity: 1; transform: translateX(0); }1230  to   { opacity: 0; transform: translateX(20px); }1231}12321233/* Overlay shared header */1234.peach-overlay-header {1235  padding: 10px 12px 8px;1236  display: flex;1237  align-items: center;1238  gap: 10px;1239  flex-shrink: 0;1240}1241/* Back button — circular pill matching the settings stack masthead (.stk-back) */1242.peach-overlay-header .peach-btn--ghost.peach-icon-btn {1243  width: 28px;1244  height: 28px;1245  flex: 0 0 28px;1246  border-radius: 999px;1247  border: 1px solid var(--peach-border);1248  background: color-mix(in srgb, var(--peach-t0) 4%, transparent);1249  color: var(--peach-t1);1250  padding: 0;1251}1252.peach-overlay-header .peach-btn--ghost.peach-icon-btn:hover {1253  color: var(--peach-t0);1254  border-color: color-mix(in srgb, var(--peach-accent) 34%, transparent);1255  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1256}1257.peach-overlay-title {1258  font-family: var(--font-display);1259  font-style: italic;1260  font-weight: 400;1261  font-size: 20px;1262  line-height: 1;1263  color: var(--peach-t0);1264  flex: 1;1265  text-align: center;1266}1267/* Balances the 28px back button so the title stays visually centred */1268.peach-overlay-spacer {1269  width: 28px;1270  flex: 0 0 28px;1271}12721273.peach-overlay-card {1274  background: var(--peach-s1);1275  border: 1px solid var(--peach-t3);1276  border-radius: 12px;1277  overflow: hidden;1278  width: 100%;1279}12801281.peach-onboarding-alt-actions {1282  display: flex;1283  flex-direction: column;1284  gap: 4px;1285  padding: 0;1286}12871288.peach-settings-copy {1289  margin: 0 0 10px;1290  font-size: 0.6875rem;1291  line-height: 1.5;1292  color: var(--peach-t2);1293}12941295.peach-settings-copy strong {1296  color: var(--peach-t0);1297}12981299.peach-settings-copy--spacious {1300  margin-bottom: 12px;1301}13021303.peach-settings-copy--result {1304  color: var(--peach-accent);1305  font-size: 0.8125rem;1306  text-align: center;1307  padding: 8px 0;1308}13091310.peach-settings-copy--danger {1311  color: var(--peach-breach);1312}13131314.peach-settings-copy--success {1315  color: var(--peach-accent);1316}13171318.peach-inline-feedback {1319  font-size: 0.6875rem;1320  margin: 10px 0 0;1321}13221323.peach-inline-feedback--ok {1324  color: var(--peach-accent);1325}13261327.peach-inline-feedback--error {1328  color: var(--peach-breach);1329}13301331.peach-inline-feedback--muted {1332  color: var(--peach-t2);1333  font-size: 0.625rem;1334  margin: 4px 0;1335}13361337.peach-inline-feedback--spaced {1338  margin-top: 12px;1339}13401341.peach-settings-actions--row {1342  display: flex;1343  gap: 6px;1344}13451346.peach-settings-actions--end {1347  margin-top: 14px;1348  justify-content: flex-end;1349}13501351.peach-settings-stack {1352  display: flex;1353  flex-direction: column;1354  gap: 6px;1355}13561357.peach-settings-stack--tight {1358  gap: 4px;1359}13601361.peach-settings-stack--spacious {1362  gap: 8px;1363}13641365.peach-settings-input {1366  width: 100%;1367  box-sizing: border-box;1368  padding: 8px 10px;1369  background: rgba(0, 0, 0, 0.22);1370  border: 1px solid transparent;1371  border-radius: 6px;1372  color: var(--peach-t0);1373  font-family: var(--font-ui);1374  font-size: 0.75rem;1375  outline: none;1376  transition: border-color 120ms ease, background 120ms ease;1377}13781379.peach-settings-input:focus {1380  border-color: color-mix(in srgb, var(--peach-accent) 55%, transparent);1381  background: rgba(0, 0, 0, 0.28);1382}13831384.peach-settings-input[type="password"] {1385  font-family: var(--font-mono);1386  letter-spacing: 0.04em;1387}13881389.peach-hidden-file-input {1390  display: none;1391}13921393.peach-checkbox-note {1394  display: flex;1395  align-items: flex-start;1396  gap: 8px;1397  font-size: 0.6875rem;1398  color: var(--peach-t1);1399  cursor: pointer;1400  margin: 12px 0;1401}14021403.peach-checkbox-note input {1404  margin-top: 1px;1405}14061407.peach-danger-notice {1408  background: rgba(220, 80, 60, 0.08);1409  border: 1px solid rgba(220, 80, 60, 0.2);1410  border-radius: 6px;1411  padding: 9px 11px;1412  font-size: 0.6875rem;1413  color: var(--peach-t1);1414  line-height: 1.5;1415}14161417.peach-info-notice {1418  font-size: 0.6875rem;1419  color: var(--peach-t1);1420  line-height: 1.5;1421  background: var(--surface-card);1422  border: 1px solid var(--peach-t3);1423  border-radius: 6px;1424  padding: 8px 10px;1425}14261427.peach-info-notice--warn {1428  border-color: rgba(220, 38, 38, 0.4);1429  background: rgba(220, 38, 38, 0.06);1430  color: rgba(220, 38, 38, 0.92);1431  margin-bottom: 8px;1432}14331434/* Warm helpful-context note — reads as a soft aside, not an alert. */1435.peach-info-notice--note {1436  background: color-mix(in srgb, var(--peach-bg-elevated, var(--peach-bg)) 88%, var(--peach-accent) 12%);1437  border-color: color-mix(in srgb, var(--peach-accent) 18%, transparent);1438  color: var(--peach-t2);1439}14401441.peach-strength-row {1442  display: flex;1443  align-items: center;1444  gap: 8px;1445  margin-bottom: 10px;1446}14471448.peach-strength-track {1449  flex: 1;1450  height: 4px;1451  background: var(--peach-s2);1452  border-radius: 2px;1453  overflow: hidden;1454}14551456.peach-strength-fill {1457  height: 100%;1458  border-radius: 2px;1459  transition: width 120ms ease, background 120ms ease;1460}14611462/* ── Type selector tabs ── */1463.peach-type-tabs {1464  display: flex;1465  gap: 0;1466  background: var(--peach-t4);1467  border-radius: 8px;1468  padding: 3px;1469}14701471.peach-type-tab {1472  flex: 1;1473  display: flex;1474  align-items: center;1475  justify-content: center;1476  gap: 6px;1477  padding: 6px 10px;1478  border-radius: 6px;1479  border: none;1480  background: transparent;1481  cursor: pointer;1482  font-family: Inter, system-ui, sans-serif;1483  font-size: 0.6875rem;1484  font-weight: 400;1485  letter-spacing: 0.04em;1486  color: var(--peach-t1);1487  transition: background 150ms ease, color 150ms ease;1488}14891490.peach-type-tab.is-active {1491  background: var(--peach-s2);1492  color: var(--peach-t0);1493  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1494}14951496.peach-type-tab:not(.is-active):hover {1497  color: var(--peach-t0);1498}14991500.peach-type-tab svg {1501  opacity: 0.7;1502  flex-shrink: 0;1503}15041505.peach-type-tab.is-active svg {1506  opacity: 1;1507}15081509/* ── List view ───────────────────────────────────────────────────────── */1510.peach-list-top {1511  padding: 0 10px;1512  min-height: 46px;1513  display: flex;1514  align-items: center;1515  gap: 6px;1516  border-bottom: 1px solid var(--peach-t3);1517  flex-shrink: 0;1518  background: var(--peach-s1);1519}15201521.peach-vault-list {1522  flex: 1;1523  overflow-y: auto;1524  scrollbar-width: none;1525}1526.peach-vault-list::-webkit-scrollbar { display: none; }15271528/* Scrollbar — vault list */1529.peach-vault-list {1530  scrollbar-width: thin;1531  scrollbar-color: var(--peach-t3) transparent;1532}15331534.peach-vault-list::-webkit-scrollbar {1535  width: 3px;1536}15371538.peach-vault-list::-webkit-scrollbar-thumb {1539  background: var(--peach-t3);1540  border-radius: 2px;1541}15421543.peach-entry-row {1544  width: 100%;1545  display: flex;1546  align-items: center;1547  gap: 10px;1548  padding: 9px 16px;1549  background: transparent;1550  border: none;1551  border-bottom: 1px solid var(--peach-t3);1552  cursor: pointer;1553  color: inherit;1554  text-align: left;1555  transition: background 80ms ease;1556}1557.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1558.peach-entry-row:last-child { border-bottom: none; }1559.peach-entry-row.is-active {1560  box-shadow: inset 2px 0 0 var(--peach-accent);1561  background: rgba(240,232,216,0.03);1562}1563.peach-entry-row:focus-visible {1564  outline: none;1565  box-shadow: 0 0 0 1px var(--peach-border-accent);1566  background: rgba(240,232,216,0.03);1567}1568.peach-entry-row-icon {1569  width: 26px; height: 26px;1570  border-radius: 7px;1571  border: 1px solid var(--peach-t3);1572  display: flex; align-items: center; justify-content: center;1573  color: var(--peach-t2);1574  flex-shrink: 0;1575}1576.peach-entry-row-icon.is-breach {1577  border-color: rgba(220,80,60,0.3);1578  color: rgba(220,80,60,0.7);1579}15801581/* Title-initials chip used as the favicon fallback for login entries whose1582 * real favicon hasn't been cached by the browser yet (freshly-imported,1583 * never-visited domains). Background colour is hashed from the title so1584 * the same entry always shows the same chip. The chip fits the same1585 * 26×26 row icon slot the favicon would take. */1586.peach-favicon-initials {1587  display: inline-flex;1588  align-items: center;1589  justify-content: center;1590  width: 100%;1591  height: 100%;1592  border-radius: 4px;1593  font-family: "IBM Plex Mono", monospace;1594  font-size: 0.5625rem;1595  font-weight: 600;1596  letter-spacing: 0.04em;1597  color: rgba(240, 232, 216, 0.92);1598  text-transform: uppercase;1599  user-select: none;1600}1601.peach-entry-row-info { flex: 1; min-width: 0; }1602.peach-entry-row-name {1603  display: block;1604  font-family: var(--font-display);1605  font-size: 1.0625rem;1606  font-style: italic;1607  font-weight: 400;1608  color: var(--peach-t0);1609  line-height: 1.2;1610  white-space: nowrap;1611  overflow: hidden;1612  text-overflow: ellipsis;1613}1614.peach-entry-row-meta {1615  display: block;1616  font-family: "IBM Plex Mono", monospace;1617  font-size: 0.5625rem;1618  color: var(--peach-t2);1619  margin-top: 1px;1620  letter-spacing: 0.05em;1621}1622.peach-entry-row-dot {1623  width: 5px; height: 5px;1624  border-radius: 50%;1625  background: rgba(220,80,60,0.7);1626  flex-shrink: 0;1627}1628.peach-new-entry-row {1629  display: flex;1630  align-items: center;1631  justify-content: center;1632  gap: 6px;1633  width: 100%;1634  padding: 11px;1635  background: transparent;1636  border: none;1637  border-top: 1px solid var(--peach-t3);1638  color: var(--peach-t2);1639  font-family: "IBM Plex Mono", monospace;1640  font-size: 0.5625rem;1641  text-transform: uppercase;1642  letter-spacing: 0.14em;1643  cursor: pointer;1644  flex-shrink: 0;1645  transition: color 120ms ease, background 120ms ease;1646}1647.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }16481649/* ── Multi-select mode ─────────────────────────────────────────────── */16501651/* Select-mode trigger button in sort bar — same shape as trash btn */1652.peach-sort-select-btn {1653  display: flex;1654  align-items: center;1655  justify-content: center;1656  padding: 3px 5px;1657  background: transparent;1658  border: none;1659  cursor: pointer;1660  color: var(--peach-t2);1661  border-radius: 4px;1662  transition: color 140ms ease, background 140ms ease;1663}1664.peach-sort-select-btn:hover {1665  color: var(--peach-t1);1666  background: var(--peach-t3);1667}16681669/* Sort bar in select mode */1670.peach-select-cancel-btn {1671  background: transparent;1672  border: none;1673  padding: 0 4px;1674  cursor: pointer;1675  font-family: "IBM Plex Mono", monospace;1676  font-size: 0.5625rem;1677  letter-spacing: 0.12em;1678  text-transform: uppercase;1679  color: var(--peach-t2);1680  transition: color 140ms ease;1681  flex-shrink: 0;1682}1683.peach-select-cancel-btn:hover { color: var(--peach-t0); }16841685.peach-select-count-label {1686  flex: 1;1687  text-align: center;1688  font-family: "IBM Plex Mono", monospace;1689  font-size: 0.5625rem;1690  letter-spacing: 0.14em;1691  text-transform: uppercase;1692  color: var(--peach-t1);1693}16941695.peach-select-all-btn {1696  background: transparent;1697  border: none;1698  padding: 0 4px;1699  cursor: pointer;1700  font-family: "IBM Plex Mono", monospace;1701  font-size: 0.5625rem;1702  letter-spacing: 0.12em;1703  text-transform: uppercase;1704  color: var(--peach-t2);1705  transition: color 140ms ease;1706  flex-shrink: 0;1707}1708.peach-select-all-btn:hover { color: var(--peach-accent); }17091710/* List in select mode */1711.peach-vault-list.is-selecting .peach-entry-row {1712  cursor: default;1713}1714.peach-vault-list.is-selecting .peach-entry-row:hover {1715  background: rgba(240,232,216,0.02);1716}1717.peach-vault-list.is-selecting .peach-entry-row.is-selected {1718  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1719}1720.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1721  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1722}17231724/* Select indicator circles in icon slot */1725.peach-entry-row-icon.is-select-icon {1726  color: var(--peach-t2);1727}1728.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1729  color: var(--peach-accent);1730}17311732/* Delete action bar at bottom (replaces new-entry row) */1733.peach-select-action-bar {1734  display: flex;1735  align-items: center;1736  justify-content: center;1737  gap: 7px;1738  width: 100%;1739  padding: 11px;1740  background: transparent;1741  border: none;1742  border-top: 1px solid var(--peach-t3);1743  color: var(--peach-t1);1744  font-family: "IBM Plex Mono", monospace;1745  font-size: 0.5625rem;1746  text-transform: uppercase;1747  letter-spacing: 0.14em;1748  cursor: pointer;1749  flex-shrink: 0;1750  transition: color 120ms ease, background 120ms ease;1751}1752.peach-select-action-bar:not(:disabled):hover {1753  color: var(--peach-t0);1754  background: rgba(220,80,60,0.06);1755}1756.peach-select-action-bar:not(:disabled):hover svg {1757  stroke: rgba(220,80,60,0.8);1758}1759.peach-select-action-bar:disabled,1760.peach-select-action-bar.is-empty {1761  color: var(--peach-t2);1762  cursor: default;1763  opacity: 0.5;1764}1765.peach-search-counter-list {1766  white-space: nowrap;1767  flex-shrink: 0;1768}1769.peach-list-empty {1770  min-height: 180px;1771  display: grid;1772  place-items: center;1773  color: var(--peach-t2);1774  font-family: "IBM Plex Mono", monospace;1775  font-size: 0.6875rem;1776}17771778/* ── Settings view ───────────────────────────────────────────────────── */1779.peach-settings-body {1780  flex: 1;1781  overflow-y: auto;1782  min-height: 0;1783  display: flex;1784  flex-direction: column;1785  padding: 2px 0 10px;1786}1787.peach-settings-group {1788  margin: 4px 10px;1789  padding: 9px 14px 11px;1790  border-radius: 12px;1791  border: 1px solid rgba(255, 255, 255, 0.07);1792  background: rgba(26, 20, 16, 0.60);1793  backdrop-filter: blur(10px) saturate(1.3);1794  -webkit-backdrop-filter: blur(10px) saturate(1.3);1795}17961797.peach-settings-group + .peach-settings-group {1798  margin-top: 6px;1799}18001801@supports not (backdrop-filter: blur(1px)) {1802  .peach-settings-group {1803    background: rgba(26, 20, 16, 0.90);1804    border-color: rgba(255, 255, 255, 0.09);1805    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 20px rgba(0, 0, 0, 0.35);1806  }1807}18081809.light .peach-settings-group,1810[data-theme="light"] .peach-settings-group {1811  background: rgba(245, 237, 226, 0.70);1812  border-color: rgba(26, 18, 8, 0.08);1813  backdrop-filter: blur(10px) saturate(1.2);1814  -webkit-backdrop-filter: blur(10px) saturate(1.2);1815}18161817@supports not (backdrop-filter: blur(1px)) {1818  .light .peach-settings-group,1819  [data-theme="light"] .peach-settings-group {1820    background: rgba(245, 237, 226, 0.97);1821    border-color: rgba(26, 18, 8, 0.10);1822  }1823}1824.peach-export-intro {1825  padding-bottom: 8px;1826}1827.peach-export-card {1828  display: grid;1829  gap: 10px;1830}1831.peach-rune-canvas {1832  border: 1px solid color-mix(in srgb, var(--peach-t0) 22%, transparent);1833  border-radius: 8px;1834  background: rgba(0, 0, 0, 0.22);1835  flex: 1;1836  align-self: center;1837}1838.peach-script-input {1839  font-family: "PeachScript", monospace;1840  font-size: 0.6875rem;1841  line-height: 1.9;1842  letter-spacing: 0.06em;1843  color: var(--peach-t0);1844  background: rgba(0, 0, 0, 0.22);1845  border: none;1846  border-radius: 6px;1847  padding: 12px;1848  width: 100%;1849  min-height: 96px;1850  resize: vertical;1851  word-break: break-all;1852  scrollbar-width: none;1853  -ms-overflow-style: none;1854}18551856.peach-script-input::-webkit-scrollbar { display: none; }1857.peach-csv-warning {1858  background: color-mix(in srgb, var(--peach-breach) 14%, transparent);1859  border: 1px solid color-mix(in srgb, var(--peach-breach) 40%, transparent);1860  color: var(--peach-t0);1861  border-radius: 6px;1862  padding: 10px 12px;1863  margin-bottom: 8px;1864  font-size: 0.75rem;1865  line-height: 1.45;1866}1867.peach-export-card--primary {1868  background:1869    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1870}18711872/* Export menu — distribute the three format cards across the popup. */1873.peach-export-menu {1874  display: flex;1875  flex-direction: column;1876  flex: 1;1877  min-height: 0;1878}1879.peach-export-menu .peach-settings-group {1880  flex: 1;1881  display: flex;1882  flex-direction: column;1883  justify-content: center;1884  gap: 10px;1885}18861887/* Result view — the script-string fills the remaining vertical surface. */1888.peach-export-result-group {1889  flex: 1;1890  display: flex;1891  flex-direction: column;1892  min-height: 0;1893  border-bottom: none;1894}1895.peach-export-result-group .peach-export-card {1896  flex: 1;1897  min-height: 0;1898  display: flex;1899  flex-direction: column;1900  gap: 10px;1901}1902.peach-export-result-group .peach-export-card-copy {1903  flex-shrink: 0;1904}1905.peach-export-result-group .peach-settings-label {1906  flex-shrink: 0;1907}1908.peach-export-result-group button {1909  flex-shrink: 0;1910}1911.peach-export-card-head {1912  display: flex;1913  align-items: center;1914  justify-content: space-between;1915  gap: 10px;1916}1917.peach-export-card-copy {1918  margin: 0;1919  font-size: 0.75rem;1920  line-height: 1.55;1921  color: var(--peach-t1);1922}1923.peach-export-note {1924  margin: 0;1925  font-size: 0.625rem;1926  line-height: 1.5;1927  color: var(--peach-t2);1928}1929.peach-export-strength-track {1930  height: 3px;1931  background: var(--peach-border);1932  border-radius: 2px;1933  margin: 4px 0 2px;1934  overflow: hidden;1935}1936.peach-export-strength-fill {1937  height: 100%;1938  border-radius: 2px;1939  transition: width 250ms ease, background 250ms ease;1940}1941.peach-export-strength-warn {1942  margin: 0;1943  font-size: 0.625rem;1944  line-height: 1.5;1945  color: #e84040;1946  font-family: "IBM Plex Mono", monospace;1947}1948.peach-export-strength-hint {1949  margin: 0;1950  font-size: 0.625rem;1951  line-height: 1.5;1952  color: var(--peach-t2);1953  font-family: "IBM Plex Mono", monospace;1954}1955.peach-export-pill {1956  display: inline-flex;1957  align-items: center;1958  padding: 4px 8px;1959  border-radius: 999px;1960  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1961  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1962  color: var(--peach-accent);1963  font-family: "IBM Plex Mono", monospace;1964  font-size: 0.5rem;1965  letter-spacing: 0.12em;1966  text-transform: uppercase;1967  white-space: nowrap;1968}1969.peach-export-pill--danger {1970  border-color: rgba(220,80,60,0.22);1971  background: rgba(220,80,60,0.08);1972  color: var(--peach-breach);1973}1974.peach-settings-label {1975  margin: 0 0 6px;1976  font-family: "IBM Plex Mono", monospace;1977  font-size: 0.5rem;1978  text-transform: uppercase;1979  letter-spacing: 0.18em;1980  color: var(--peach-t2);1981}1982.peach-settings-row {1983  display: flex;1984  align-items: center;1985  justify-content: space-between;1986  gap: 12px;1987  min-height: 34px;1988  padding: 6px 0;1989  font-size: 0.8125rem;1990  color: var(--peach-t1);1991}1992.peach-settings-row--meta { color: var(--peach-t2); font-size: 0.75rem; }1993.peach-settings-value {1994  font-family: "IBM Plex Mono", monospace;1995  font-size: 0.625rem;1996  color: var(--peach-t2);1997}19981999.peach-settings-value--status {2000  display: flex;2001  align-items: center;2002  gap: 6px;2003}20042005.peach-settings-link {2006  font-family: "IBM Plex Mono", monospace;2007  font-size: 0.625rem;2008  color: var(--peach-accent);2009  text-decoration: none;2010  cursor: pointer;2011}2012.peach-settings-link:hover {2013  text-decoration: underline;2014}20152016.peach-settings-row--stack {2017  flex-direction: column;2018  align-items: stretch;2019  gap: 6px;2020}20212022.peach-settings-row--top {2023  align-items: flex-start;2024}20252026.peach-settings-row-main {2027  display: flex;2028  flex-direction: column;2029  gap: 4px;2030  flex: 1;2031}2032.peach-toggle {2033  width: 28px; height: 16px;2034  border-radius: 999px;2035  background: var(--peach-t3);2036  border: 1px solid var(--peach-t3);2037  display: flex; align-items: center; justify-content: flex-start; padding: 2px;2038  flex-shrink: 0;2039  transition: background 200ms ease, border-color 200ms ease;2040  cursor: pointer;2041}2042.peach-toggle.is-on {2043  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);2044  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);2045}2046.peach-toggle-knob {2047  width: 10px; height: 10px;2048  border-radius: 50%;2049  background: var(--peach-t2);2050  flex-shrink: 0;2051  transform: translateX(0px);2052  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);2053}2054.peach-toggle.is-on .peach-toggle-knob {2055  background: var(--peach-accent);2056  transform: translateX(12px);2057}2058.peach-settings-footer {2059  display: flex;2060  align-items: center;2061  gap: 8px;2062  margin-top: auto;2063  padding: 14px 16px 8px;2064  font-family: "IBM Plex Mono", monospace;2065  font-size: 0.5625rem;2066  color: var(--peach-t2);2067}20682069/* ── Settings home navigation ──────────────────────────────────────────── */2070.peach-settings-nav-label {2071  margin: 0 0 2px;2072  padding: 12px 16px 4px;2073  font-family: "IBM Plex Mono", monospace;2074  font-size: 0.5rem;2075  text-transform: uppercase;2076  letter-spacing: 0.18em;2077  color: var(--peach-t2);2078}20792080.peach-settings-cat-row {2081  display: flex;2082  align-items: center;2083  gap: 10px;2084  width: 100%;2085  padding: 9px 16px;2086  background: none;2087  border: none;2088  border-bottom: 1px solid var(--peach-t3);2089  cursor: pointer;2090  text-align: left;2091  color: inherit;2092  transition: background var(--peach-dur-80) ease;2093}2094.peach-settings-cat-row:hover {2095  background: var(--peach-t3);2096}2097.peach-settings-cat-row:last-child {2098  border-bottom: none;2099}21002101.peach-settings-cat-icon {2102  width: 28px;2103  height: 28px;2104  border-radius: 7px;2105  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2106  color: var(--peach-accent);2107  display: flex;2108  align-items: center;2109  justify-content: center;2110  flex-shrink: 0;2111}2112/* Light theme: peach-on-cream is too low-contrast — both colors are warm.2113   Darken the icon stroke to ink and bump the bg tint so the icon reads2114   sharply while the cell still feels accent-tinted. */2115.light .peach-settings-cat-icon {2116  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);2117  color: color-mix(in srgb, var(--peach-accent) 50%, var(--peach-t0));2118}21192120.peach-settings-cat-content {2121  flex: 1;2122  display: flex;2123  flex-direction: column;2124  gap: 2px;2125  min-width: 0;2126}21272128.peach-settings-cat-name {2129  font-size: 0.8125rem;2130  font-weight: 450;2131  color: var(--peach-t0);2132  line-height: 1.2;2133}21342135.peach-settings-cat-desc {2136  font-size: 0.625rem;2137  color: var(--peach-t2);2138  line-height: 1.3;2139  white-space: nowrap;2140  overflow: hidden;2141  text-overflow: ellipsis;2142}21432144.peach-settings-cat-chevron {2145  color: var(--peach-t2);2146  flex-shrink: 0;2147  opacity: 0.5;2148}21492150/* ── Settings sub-view section labels ──────────────────────────────────── */2151.peach-settings-sub-label {2152  margin: 12px 0 4px;2153  font-family: "IBM Plex Mono", monospace;2154  font-size: 0.5rem;2155  text-transform: uppercase;2156  letter-spacing: 0.18em;2157  color: var(--peach-t2);2158}2159.peach-settings-sub-label:first-child {2160  margin-top: 4px;2161}21622163/* ── Settings: collapsible Advanced section ─────────────────────────────── */2164.peach-settings-advanced-toggle {2165  display: flex;2166  align-items: center;2167  justify-content: space-between;2168  width: 100%;2169  background: none;2170  border: none;2171  cursor: pointer;2172  padding: 12px 0 4px;2173  margin: 0;2174  color: inherit;2175}2176.peach-settings-advanced-toggle:hover .peach-settings-advanced-chevron {2177  color: var(--peach-t1);2178}2179.peach-settings-advanced-chevron {2180  font-size: 0.5625rem;2181  color: var(--peach-t3);2182  letter-spacing: 0;2183  transition: color 120ms ease;2184}21852186.peach-sync-disclosure-toggle {2187  min-height: 48px;2188  padding: 10px 0;2189  text-align: left;2190}21912192.peach-sync-disclosure-toggle > span:first-child {2193  display: flex;2194  flex-direction: column;2195  gap: 3px;2196}21972198.peach-sync-disclosure-summary {2199  color: var(--peach-t2);2200  font-size: 0.6875rem;2201  line-height: 1.35;2202}22032204.peach-sync-disclosure-content {2205  padding-bottom: 4px;2206}22072208/* ── Feedback form ──────────────────────────────────────────────────────── */2209.peach-feedback-group {2210  flex: 1;2211  display: flex;2212  flex-direction: column;2213  border-bottom: none;2214}22152216.peach-feedback-intro {2217  margin: 4px 0 14px;2218  font-size: 0.75rem;2219  line-height: 1.55;2220  color: var(--peach-t1);2221}22222223.peach-feedback-chips {2224  display: flex;2225  flex-wrap: wrap;2226  gap: 6px;2227  margin-bottom: 14px;2228}22292230.peach-feedback-chip {2231  padding: 4px 10px;2232  border-radius: 999px;2233  border: 1px solid var(--peach-t3);2234  background: none;2235  color: var(--peach-t2);2236  font-size: 0.6875rem;2237  font-family: var(--font-ui);2238  cursor: pointer;2239  transition: border-color var(--peach-dur-80) ease, color var(--peach-dur-80) ease,2240    background var(--peach-dur-80) ease;2241}2242.peach-feedback-chip:hover {2243  border-color: var(--peach-t2);2244  color: var(--peach-t1);2245}2246.peach-feedback-chip.is-active {2247  border-color: color-mix(in srgb, var(--peach-accent) 82%, white 18%);2248  background: color-mix(in srgb, var(--peach-accent) 22%, rgba(255, 255, 255, 0.08));2249  color: color-mix(in srgb, var(--peach-accent) 86%, white 14%);2250  box-shadow:2251    0 0 0 1px color-mix(in srgb, var(--peach-accent) 42%, transparent),2252    0 0 14px color-mix(in srgb, var(--peach-accent) 22%, transparent);2253  font-weight: 700;2254}22552256.peach-feedback-textarea {2257  flex: 1;2258  width: 100%;2259  min-height: 120px;2260  box-sizing: border-box;2261  background: rgba(0, 0, 0, 0.22);2262  border: 1px solid transparent;2263  border-radius: 6px;2264  color: var(--peach-t0);2265  font-size: 0.75rem;2266  font-family: var(--font-ui);2267  line-height: 1.5;2268  padding: 8px 10px;2269  resize: none;2270  outline: none;2271  transition: border-color var(--peach-dur-150) ease, background var(--peach-dur-150) ease;2272}2273.peach-feedback-textarea:focus {2274  border-color: color-mix(in srgb, var(--peach-accent) 55%, transparent);2275  background: rgba(0, 0, 0, 0.28);2276}2277.peach-feedback-textarea:focus {2278  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);2279}2280.peach-feedback-textarea::placeholder {2281  color: var(--peach-t2);2282}22832284.peach-feedback-meta {2285  margin: 6px 0 0;2286  font-size: 0.625rem;2287  color: var(--peach-t2);2288  font-family: "IBM Plex Mono", monospace;2289}22902291.peach-feedback-result {2292  margin: 8px 0 0;2293  font-size: 0.6875rem;2294  font-family: "IBM Plex Mono", monospace;2295}2296.peach-feedback-result--ok { color: var(--peach-sync-ok); }2297.peach-feedback-result--err { color: var(--peach-breach); }22982299.peach-feedback-submit {2300  width: 100%;2301  margin-top: 12px;2302  justify-content: center;2303}23042305.peach-feedback-anon {2306  margin: 8px 0 0;2307  font-size: 0.625rem;2308  color: var(--peach-t2);2309  text-align: center;2310}23112312.peach-feedback-thanks {2313  margin: auto 0;2314  padding: 18px 14px;2315  border: 1px solid color-mix(in srgb, var(--peach-accent) 42%, transparent);2316  border-radius: 8px;2317  background:2318    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 16%, transparent), transparent),2319    rgba(0, 0, 0, 0.18);2320  color: var(--peach-t1);2321  text-align: center;2322}23232324.peach-feedback-thanks p {2325  margin: 0;2326  font-size: 0.75rem;2327  line-height: 1.5;2328}23292330.peach-feedback-thanks-title {2331  color: var(--peach-t0);2332  font-family: "Cormorant Garamond", serif;2333  font-size: 1.375rem !important;2334  line-height: 1.1 !important;2335  margin-bottom: 8px !important;2336}23372338.peach-passkey-badge {2339  margin-left: 8px;2340  font-size: 0.625rem;2341  letter-spacing: 0.06em;2342  text-transform: uppercase;2343  color: var(--peach-t2);2344  font-family: var(--font-ui);2345  vertical-align: middle;2346}23472348.peach-passkey-delete-btn {2349  color: var(--peach-breach);2350  border-color: rgba(229, 85, 85, 0.25);2351}23522353.peach-passkey-delete-confirm {2354  display: flex;2355  align-items: center;2356  gap: 8px;2357  padding: 8px 10px;2358  background: rgba(229, 85, 85, 0.06);2359  border: 1px solid rgba(229, 85, 85, 0.2);2360  border-radius: 6px;2361}23622363.peach-passkey-delete-confirm-copy {2364  flex: 1;2365  font-size: 0.6875rem;2366  color: var(--peach-t1);2367}23682369.peach-passkey-delete-btn--confirm {2370  color: var(--peach-breach);2371  border-color: rgba(229, 85, 85, 0.4);2372}23732374.peach-passkey-activity {2375  flex-direction: column;2376  align-items: flex-start;2377  gap: 4px;2378}23792380.peach-passkey-meta {2381  font-size: 0.6875rem;2382  color: var(--peach-t2);2383}23842385.peach-passkey-actions {2386  position: relative;2387  z-index: 1;2388  margin-top: 14px;2389  display: flex;2390  flex-direction: column;2391  gap: 8px;2392}23932394.peach-passkey-approval {2395  display: flex;2396  flex-direction: column;2397  align-items: center;2398  padding: 16px 20px 14px;2399  gap: 8px;2400  text-align: center;2401}24022403.peach-passkey-approval-icon {2404  width: 36px;2405  height: 36px;2406  border-radius: 10px;2407  background: var(--peach-s2);2408  border: 1px solid var(--peach-t3);2409  display: flex;2410  align-items: center;2411  justify-content: center;2412  flex-shrink: 0;2413  color: var(--peach-accent);2414}24152416.peach-passkey-approval-icon img,2417.peach-passkey-approval-icon svg {2418  width: 22px;2419  height: 22px;2420  border-radius: 5px;2421}24222423.peach-passkey-approval-rp {2424  font-family: var(--font-ui);2425  font-size: 0.75rem;2426  color: var(--peach-t2);2427  letter-spacing: 0.03em;2428}24292430.peach-passkey-approval-action {2431  font-family: var(--font-display);2432  font-style: italic;2433  font-weight: 300;2434  font-size: 18px;2435  color: var(--peach-t0);2436  line-height: 1.1;2437  margin: 1px 0;2438}24392440.peach-passkey-approval-user {2441  font-family: var(--font-mono);2442  font-size: 0.6875rem;2443  color: var(--peach-t1);2444  background: var(--peach-s2);2445  border: 1px solid var(--peach-t3);2446  border-radius: 4px;2447  padding: 3px 8px;2448}24492450.peach-passkey-approval-notice {2451  font-size: 0.625rem;2452  color: var(--peach-t2);2453  line-height: 1.5;2454  max-width: 220px;2455}24562457.peach-passkey-approval-actions {2458  display: flex;2459  gap: 8px;2460  width: 100%;2461  margin-top: 6px;2462}24632464.peach-passkey-approval-actions .peach-btn {2465  flex: 1;2466}24672468/* ── Inline generator drawer ── */2469.peach-generator-drawer {2470  display: grid;2471  grid-template-rows: 0fr;2472  transition: grid-template-rows 320ms var(--peach-curve-arrival);2473  overflow: hidden;2474}2475.peach-generator-drawer.is-open {2476  grid-template-rows: 1fr;2477}2478.peach-generator-drawer-inner {2479  min-height: 0;2480  overflow: hidden;2481}2482.peach-generator-drawer-content {2483  border-top: 1px solid var(--peach-t3);2484  padding: 8px 0 4px;2485  display: flex;2486  flex-direction: column;2487  gap: 8px;2488}24892490/* ── Compact generator (inside entry edit) ── */2491.peach-generator-drawer-content--compact {2492  border-top: 1px solid var(--peach-t3);2493  padding: 8px 0 2px;2494  gap: 7px;2495}2496.peach-pwgen-compact-display-row {2497  display: flex;2498  align-items: center;2499  gap: 6px;2500}2501.peach-pwgen-compact-output {2502  flex: 1;2503  min-width: 0;2504  font-family: "IBM Plex Mono", monospace;2505  font-size: 0.6875rem;2506  font-weight: 400;2507  letter-spacing: 0.04em;2508  color: var(--peach-t0);2509  background: rgba(240, 232, 216, 0.04);2510  border: 1px solid var(--peach-t3);2511  border-radius: 5px;2512  padding: 5px 8px;2513  line-height: 1.5;2514  outline: none;2515  transition: border-color 120ms ease;2516}25172518.peach-pwgen-compact-output:focus {2519  border-color: var(--peach-t1);2520}2521.peach-pwgen-compact-controls {2522  display: flex;2523  align-items: center;2524  gap: 6px;2525}2526.peach-pwgen-compact-slider {2527  flex: 1;2528  min-width: 0;2529  height: 2px !important;2530}2531.peach-pwgen-compact-controls .peach-pwgen-len-num {2532  flex-shrink: 0;2533  min-width: 18px;2534  text-align: right;2535}2536.peach-pwgen-compact-pills {2537  display: flex;2538  gap: 3px;2539  flex-shrink: 0;2540}2541.peach-pwgen-compact-pills .peach-pwgen-pill {2542  padding: 2px 7px;2543  font-size: 0.5rem;2544}2545.peach-pwgen-compact-use {2546  flex-shrink: 0;2547  font-size: 0.625rem !important;2548  padding: 3px 9px !important;2549  min-height: 22px !important;2550  border-radius: 5px !important;2551}25522553/* ── Password edit row (input + eye toggle side-by-side) ── */2554.peach-password-edit-row {2555  display: flex;2556  align-items: center;2557  gap: 6px;2558}2559.peach-password-edit-row .peach-inline-input {2560  flex: 1;2561  min-width: 0;2562}25632564/* ── Generate toggle link ── */2565.peach-generate-toggle-link {2566  display: inline-flex;2567  align-items: center;2568  gap: 5px;2569  background: none;2570  border: none;2571  padding: 0;2572  cursor: pointer;2573  font-family: "IBM Plex Mono", monospace;2574  font-size: 0.625rem;2575  color: var(--peach-t2);2576  letter-spacing: 0.04em;2577  transition: color 120ms ease;2578  align-self: flex-start;2579}2580.peach-generate-toggle-link:hover {2581  color: var(--peach-accent);2582}25832584/* Holds the generate + history toggle links on one row under the editor. */2585.peach-password-edit-links {2586  display: flex;2587  align-items: center;2588  gap: 14px;2589  flex-wrap: wrap;2590}25912592/* ── Past-password history list ── */2593.peach-password-history {2594  display: grid;2595  gap: 4px;2596  margin-top: 2px;2597  max-height: 168px;2598  overflow-y: auto;2599  scrollbar-width: thin;2600}2601.peach-history-row {2602  display: flex;2603  align-items: center;2604  justify-content: space-between;2605  gap: 8px;2606  padding: 5px 7px;2607  border-radius: 7px;2608  background: color-mix(in srgb, var(--peach-accent) 5%, transparent);2609  border: 1px solid color-mix(in srgb, var(--peach-accent) 9%, transparent);2610}2611.peach-history-main {2612  display: flex;2613  flex-direction: column;2614  gap: 1px;2615  min-width: 0;2616  flex: 1;2617}2618.peach-history-pw {2619  font-family: "IBM Plex Mono", monospace;2620  font-size: 0.6875rem;2621  color: var(--peach-t1);2622  white-space: nowrap;2623  overflow: hidden;2624  text-overflow: ellipsis;2625}2626.peach-history-pw .peach-password-mask {2627  letter-spacing: 0.08em;2628  color: var(--peach-t2);2629}2630.peach-history-age {2631  font-family: "IBM Plex Mono", monospace;2632  font-size: 0.5625rem;2633  color: var(--peach-t3, var(--peach-t2));2634  letter-spacing: 0.03em;2635}2636.peach-history-actions {2637  display: flex;2638  align-items: center;2639  gap: 2px;2640  flex-shrink: 0;2641}2642.peach-history-use {2643  font-family: "IBM Plex Mono", monospace;2644  font-size: 0.5625rem;2645  letter-spacing: 0.05em;2646  padding: 3px 7px;2647}2648.peach-history-empty {2649  font-family: "IBM Plex Mono", monospace;2650  font-size: 0.625rem;2651  line-height: 1.45;2652  color: var(--peach-t2);2653  padding: 6px 8px;2654  border-radius: 7px;2655  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);2656  border: 1px solid color-mix(in srgb, var(--peach-accent) 8%, transparent);2657}26582659/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */2660.peach-entry-body {2661  flex: 1;2662  overflow-y: auto;2663  overflow-x: hidden;2664  scrollbar-width: none;2665  -ms-overflow-style: none;2666  overscroll-behavior: contain;2667  display: grid;2668  gap: 10px;2669  align-content: start;2670  padding: 10px 20px 14px;2671  min-width: 0;2672  min-height: 0;2673}2674.peach-entry-body::-webkit-scrollbar { display: none; }26752676/* Type-toggle pills + inline note toolbar */2677.peach-new-type-row {2678  display: flex;2679  align-items: center;2680  gap: 6px;2681  margin-bottom: 2px;2682}2683.peach-new-type-btn {2684  background: transparent;2685  border: 1px solid var(--peach-t3);2686  border-radius: 12px;2687  padding: 3px 10px;2688  font-family: "IBM Plex Mono", monospace;2689  font-size: 0.5625rem;2690  letter-spacing: 0.12em;2691  text-transform: uppercase;2692  color: var(--peach-t2);2693  cursor: pointer;2694  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;2695}2696.peach-new-type-btn.is-active {2697  color: var(--peach-t0);2698  border-color: var(--peach-accent);2699  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2700}2701.peach-new-type-btn:not(.is-active):hover {2702  color: var(--peach-t1);2703  border-color: var(--peach-t2);2704}27052706/* Editable title */2707.peach-new-title-wrap { margin: 0 0 2px; }2708.peach-new-title-input {2709  background: transparent;2710  border: none;2711  outline: none;2712  width: 100%;2713  color: var(--peach-t0);2714  font-family: var(--font-display);2715  font-style: italic;2716  font-weight: 400;2717  font-size: 40px;2718  line-height: 0.95;2719  caret-color: var(--peach-accent);2720}2721.peach-new-title-input::placeholder { color: var(--peach-t2); }27222723/* Editable domain field */2724.peach-domain-edit-row {2725  display: flex;2726  align-items: center;2727  gap: 6px;2728}27292730.peach-domain-edit-row .peach-domain-value--edit {2731  flex: 1;2732  width: 0;2733}27342735.peach-domain-url-btn {2736  flex-shrink: 0;2737  background: transparent;2738  border: none;2739  cursor: pointer;2740  color: var(--peach-t3);2741  padding: 2px 3px;2742  display: flex;2743  align-items: center;2744  line-height: 0;2745  border-radius: 3px;2746  transition: color 120ms ease;2747}27482749.peach-domain-url-btn:hover {2750  color: var(--peach-accent);2751}27522753.peach-domain-value--edit {2754  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2755  font-size: 0.625rem;2756  font-style: italic;2757  letter-spacing: 0.12em;2758  color: var(--peach-t1);2759  background: transparent;2760  border: none;2761  border-bottom: 1px solid var(--peach-t3);2762  outline: none;2763  width: 100%;2764  padding: 2px 0;2765  caret-color: var(--peach-accent);2766  transition: border-color 140ms ease, color 140ms ease;2767}2768.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2769.peach-domain-value--edit:focus {2770  border-bottom-color: rgba(240, 232, 216, 0.28);2771  color: var(--peach-t0);2772}27732774/* Editable field values (username, password, totp) */2775.peach-field-value--edit {2776  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2777  font-size: 0.8125rem;2778  color: var(--peach-t0);2779  background: transparent;2780  border: none;2781  border-bottom: 1px solid var(--peach-t3);2782  outline: none;2783  flex: 1;2784  min-width: 0;2785  padding: 3px 0;2786  caret-color: var(--peach-accent);2787  transition: border-color 140ms ease, color 140ms ease;2788}2789.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2790.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2791.peach-field-value--edit:focus {2792  border-bottom-color: rgba(240, 232, 216, 0.28);2793  color: var(--peach-t0);2794}27952796/* "+ add optional field" links */2797.peach-entry-add-links {2798  display: flex;2799  gap: 12px;2800  flex-wrap: wrap;2801  margin-top: -2px;2802}2803.peach-add-field-link {2804  background: transparent;2805  border: none;2806  padding: 0;2807  cursor: pointer;2808  font-family: "IBM Plex Mono", monospace;2809  font-size: 0.5625rem;2810  letter-spacing: 0.1em;2811  text-transform: uppercase;2812  color: var(--peach-t2);2813  transition: color 140ms ease;2814}2815.peach-add-field-link:hover { color: var(--peach-accent); }28162817/* ── New entry form (legacy classes) ────────────────────────────────── */2818.peach-new-body {2819  flex: 1;2820  overflow-y: auto;2821  padding: 10px 20px 14px;2822}2823.peach-new-name-input {2824  background: transparent;2825  border: none;2826  outline: none;2827  width: 100%;2828  color: var(--peach-t0);2829  font-family: var(--font-display);2830  font-style: italic;2831  font-weight: 400;2832  font-size: 40px;2833  line-height: 0.95;2834  caret-color: var(--peach-accent);2835}2836.peach-new-name-input::placeholder { color: var(--peach-t2); }2837.peach-new-field-input {2838  background: transparent;2839  border: none;2840  outline: none;2841  flex: 1;2842  min-width: 0;2843  caret-color: var(--peach-accent);2844}2845.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }28462847/* ── Canary card ── */2848.peach-canary-card {2849  border: 1px solid rgba(217, 160, 48, 0.2);2850  background: rgba(217, 160, 48, 0.03);2851  border-radius: 8px;2852  padding: 12px;2853}28542855.peach-canary-settings-header {2856  display: flex;2857  align-items: center;2858  justify-content: space-between;2859  cursor: pointer;2860  user-select: none;2861}28622863.peach-canary-card .peach-label {2864  color: rgba(217, 160, 48, 0.85);2865}28662867.peach-canary-card .peach-new-field-input {2868  border-color: rgba(217, 160, 48, 0.25);2869}28702871.peach-canary-card .peach-new-field-input:focus {2872  border-color: rgba(217, 160, 48, 0.5);2873}28742875.peach-canary-body {2876  margin-top: 12px;2877  display: flex;2878  flex-direction: column;2879  gap: 10px;2880}28812882.peach-canary-explainer {2883  display: flex;2884  gap: 10px;2885  padding: 10px 12px;2886  border-radius: 10px;2887  background: rgba(217, 160, 48, 0.06);2888  border: 1px solid rgba(217, 160, 48, 0.22);2889  margin-bottom: 4px;2890}28912892.peach-canary-explainer-icon {2893  font-size: 1rem;2894  flex-shrink: 0;2895  line-height: 1.2;2896}28972898.peach-canary-explainer-title {2899  font-family: var(--font-ui);2900  font-size: 0.6875rem;2901  font-weight: 500;2902  color: rgba(217, 160, 48, 0.9);2903  margin: 0 0 3px;2904}29052906.peach-canary-explainer-copy {2907  font-family: var(--font-ui);2908  font-size: 0.625rem;2909  color: var(--peach-t2);2910  line-height: 1.55;2911  margin: 0;2912}29132914.peach-canary-hint {2915  font-size: 0.625rem;2916  color: var(--peach-t2);2917  font-family: Inter, system-ui, sans-serif;2918  line-height: 1.5;2919  margin-top: 4px;2920}29212922.peach-canary-actions-row {2923  display: flex;2924  align-items: center;2925  gap: 8px;2926}29272928.peach-canary-test-btn {2929  border-color: rgba(217, 160, 48, 0.3);2930  color: rgba(217, 160, 48, 0.85);2931}29322933.peach-canary-test-result {2934  font-size: 0.625rem;2935  font-family: Inter, system-ui, sans-serif;2936}29372938.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2939.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }29402941.peach-canary-badge {2942  display: flex;2943  position: relative;2944  z-index: 1;2945  align-items: center;2946  gap: 5px;2947  padding: 4px 10px;2948  background: rgba(217, 160, 48, 0.12);2949  border: 1px solid rgba(217, 160, 48, 0.35);2950  border-radius: 6px;2951  margin-bottom: 6px;2952  width: fit-content;2953}29542955.peach-canary-badge-label {2956  font-size: 0.625rem;2957  letter-spacing: 0.06em;2958  color: rgba(217, 160, 48, 0.9);2959  font-family: var(--font-ui);2960  text-transform: uppercase;2961}29622963.peach-canary-badge-icon {2964  font-size: 0.6875rem;2965}29662967.peach-canary-suppress-row {2968  display: flex;2969  align-items: center;2970  gap: 8px;2971  padding: 6px 10px;2972  background: rgba(217, 160, 48, 0.08);2973  border-radius: 6px;2974  margin-bottom: 8px;2975}29762977.peach-canary-suppress-label {2978  font-size: 0.6875rem;2979  color: rgba(217, 160, 48, 0.85);2980  cursor: pointer;2981  font-family: var(--font-ui);2982  letter-spacing: 0.04em;2983}29842985.peach-regen-panel {2986  position: relative;2987  z-index: 1;2988  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2989  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2990  border-radius: 8px;2991  padding: 12px;2992  margin-bottom: 8px;2993}29942995.peach-regen-panel-header {2996  display: flex;2997  align-items: center;2998  justify-content: space-between;2999  margin-bottom: 10px;3000}30013002.peach-regen-panel-title {3003  font-size: 0.6875rem;3004  font-weight: 600;3005  letter-spacing: 0.06em;3006  text-transform: uppercase;3007  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);3008}30093010.peach-regen-output {3011  background: rgba(0, 0, 0, 0.2);3012  border-radius: 6px;3013  padding: 10px;3014  margin-bottom: 10px;3015  font-family: var(--font-mono);3016  font-size: 0.8125rem;3017  word-break: break-all;3018  color: var(--peach-t1);3019}30203021.peach-regen-actions {3022  display: flex;3023  gap: 6px;3024}30253026.peach-regen-actions--spaced {3027  margin-bottom: 8px;3028}30293030.peach-regen-action-grow {3031  flex: 1;3032}30333034.peach-regen-copy-btn {3035  padding: 0 8px;3036}30373038.peach-regen-success {3039  position: relative;3040  z-index: 1;3041  background: rgba(40, 180, 80, 0.1);3042  border: 1px solid rgba(40, 180, 80, 0.3);3043  border-radius: 8px;3044  padding: 10px 12px;3045  margin-bottom: 8px;3046  display: flex;3047  align-items: center;3048  gap: 8px;3049  font-size: 0.6875rem;3050  color: rgba(40, 180, 80, 0.9);3051}30523053/* ── Note editor overlay ── */3054.peach-note-editor {3055  position: absolute;3056  inset: 0;3057  z-index: 200;3058  display: flex;3059  flex-direction: column;3060  background:3061    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),3062    var(--peach-bg);3063  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;3064}30653066.peach-note-editor-header {3067  display: flex;3068  align-items: center;3069  gap: 10px;3070  padding: 14px 16px 10px;3071  border-bottom: 1px solid var(--peach-t3);3072  flex-shrink: 0;3073}30743075.peach-note-editor-back {3076  background: transparent;3077  border: none;3078  cursor: pointer;3079  color: var(--peach-t2);3080  padding: 4px 6px;3081  border-radius: 6px;3082  display: flex;3083  align-items: center;3084  transition: color 120ms ease, background 120ms ease;3085  flex-shrink: 0;3086}3087.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }30883089.peach-note-editor-label {3090  flex: 1;3091  font-family: var(--font-display);3092  font-style: italic;3093  font-size: 0.9375rem;3094  color: var(--peach-t1);3095  letter-spacing: 0.02em;3096}30973098.peach-note-editor-save-btn {3099  background: transparent;3100  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);3101  border-radius: 8px;3102  color: var(--peach-accent);3103  font-family: "IBM Plex Mono", monospace;3104  font-size: 0.625rem;3105  letter-spacing: 0.06em;3106  text-transform: uppercase;3107  padding: 3px 10px;3108  cursor: pointer;3109  transition: background 120ms ease, border-color 120ms ease;3110}3111.peach-note-editor-save-btn:hover:not(:disabled) {3112  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3113  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3114}3115.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }31163117.peach-note-toolbar {3118  display: flex;3119  align-items: center;3120  gap: 3px;3121  padding: 6px 14px 5px;3122  border-bottom: 1px solid var(--peach-t3);3123  flex-shrink: 0;3124}31253126.peach-note-tool-btn {3127  background: transparent;3128  border: 1px solid transparent;3129  border-radius: 5px;3130  color: var(--peach-t2);3131  font-family: "IBM Plex Mono", monospace;3132  font-size: 0.625rem;3133  letter-spacing: 0.04em;3134  padding: 2px 8px;3135  cursor: pointer;3136  line-height: 1.6;3137  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;3138}3139.peach-note-tool-btn:hover {3140  background: var(--peach-t4);3141  color: var(--peach-t0);3142  border-color: var(--peach-t3);3143}31443145.peach-note-tool-icon {3146  padding: 3px 7px;3147  display: inline-flex;3148  align-items: center;3149  justify-content: center;3150}31513152.peach-note-tool-divider {3153  width: 1px;3154  height: 14px;3155  background: var(--peach-t3);3156  margin: 0 4px;3157  flex-shrink: 0;3158}31593160.peach-note-editor-body {3161  flex: 1;3162  overflow-y: auto;3163  padding: 16px 20px 20px;3164  outline: none;3165  font-family: var(--font-display);3166  font-size: 1rem;3167  line-height: 1.75;3168  color: var(--peach-t0);3169  scrollbar-width: none;3170  word-break: break-word;3171}3172.peach-note-editor-body:empty::before {3173  content: "write your note…";3174  color: var(--peach-t3);3175  font-style: italic;3176  pointer-events: none;3177}31783179/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */3180.peach-note-editor-inline {3181  display: flex;3182  flex-direction: column;3183  flex: 1;3184  min-height: 0;3185}3186.peach-note-editor-body--inline {3187  flex: 1;3188  min-height: 0;3189  font-size: 0.9375rem;3190  padding: 10px 20px 14px;3191}31923193/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)3194   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn3195   and .peach-note-tool-divider button-level styles. */3196.peach-note-toolbar-inline {3197  display: flex;3198  align-items: center;3199  gap: 3px;3200  margin-left: auto;3201  padding-left: 10px;3202  border-left: 1px solid var(--peach-t3);3203  min-height: 22px;3204}32053206/* Entry.tsx toolbar row (no tabs, toolbar only) */3207.peach-entry-note-toolbar-row {3208  display: flex;3209  align-items: center;3210  margin: 4px 0 6px;3211  position: relative;3212  z-index: 1;3213}3214.peach-entry-note-toolbar-row .peach-note-toolbar-inline {3215  border-left: none;3216  padding-left: 0;3217  margin-left: 0;3218}32193220/* Note body — fills available vertical space in Add.tsx and Entry.tsx */3221.peach-note-body {3222  display: flex;3223  flex-direction: column;3224  flex: 1;3225  min-height: 0;3226  margin: 4px 0 0;3227}3228/* Rich content element styles (editor + display) */3229.peach-note-editor-body h2,3230.peach-note-content h2 {3231  font-family: var(--font-display);3232  font-size: 20px;3233  font-weight: 600;3234  font-style: italic;3235  color: var(--peach-t0);3236  margin: 6px 0 2px;3237  line-height: 1.3;3238}3239.peach-note-editor-body ul,3240.peach-note-content ul {3241  padding-left: 18px;3242  margin: 3px 0;3243  list-style: disc;3244}3245.peach-note-editor-body ol,3246.peach-note-content ol {3247  padding-left: 18px;3248  margin: 3px 0;3249  list-style: decimal;3250}3251.peach-note-editor-body li,3252.peach-note-content li { margin: 2px 0; }3253.peach-note-editor-body hr,3254.peach-note-content hr {3255  border: none;3256  border-top: 1px solid var(--peach-t3);3257  margin: 10px 0;3258}32593260/* font size elements from execCommand */3261.peach-note-editor-body font[size="1"],3262.peach-note-content font[size="1"] { font-size: 0.6875rem; line-height: 1.6; }3263.peach-note-editor-body font[size="2"],3264.peach-note-content font[size="2"] { font-size: 0.8125rem; }3265.peach-note-editor-body font[size="3"],3266.peach-note-content font[size="3"] { font-size: 1rem; }3267.peach-note-editor-body font[size="4"],3268.peach-note-content font[size="4"] { font-size: 20px; }3269.peach-note-editor-body font[size="5"],3270.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }32713272/* bold / italic inside the editor and note display */3273.peach-note-editor-body b, .peach-note-editor-body strong,3274.peach-note-content b, .peach-note-content strong { font-weight: 700; }3275.peach-note-editor-body em, .peach-note-editor-body i,3276.peach-note-content em, .peach-note-content i { font-style: italic; }3277.peach-note-content blockquote {3278  border-left: 2px solid var(--peach-accent);3279  margin: 12px 0;3280  padding-left: 16px;3281  color: var(--peach-t1);3282  font-style: italic;3283}32843285/* note display — rendered HTML, no pre-wrap */3286.peach-note-content {3287  overflow: auto;3288  max-height: 340px;3289  word-break: break-word;3290}32913292/* ── Note textarea ── */3293.peach-note-textarea {3294  width: 100%;3295  min-height: 180px;3296  max-height: 280px;3297  resize: vertical;3298  background: var(--peach-t4);3299  border: 1px solid var(--peach-t3);3300  border-radius: 8px;3301  padding: 10px 12px;3302  font-family: "IBM Plex Mono", monospace;3303  font-size: 0.75rem;3304  line-height: 1.7;3305  color: var(--peach-t1);3306  outline: none;3307  transition: border-color 150ms ease;3308}33093310.peach-note-textarea:focus {3311  border-color: var(--peach-t2);3312}33133314.peach-note-char-count {3315  font-family: "IBM Plex Mono", monospace;3316  font-size: 0.5625rem;3317  color: var(--peach-t3);3318  text-align: right;3319  margin-top: 4px;3320  letter-spacing: 0.1em;3321}33223323/* ── Field input baseline ── */3324.peach-new-field-input {3325  width: 100%;3326  background: transparent;3327  border: none;3328  border-bottom: 1px solid var(--peach-t3);3329  padding: 4px 0;3330  color: var(--peach-t1);3331  font-family: "IBM Plex Mono", monospace;3332  font-size: 0.8125rem;3333  outline: none;3334  transition: border-color 150ms ease;3335}33363337.peach-new-field-input:focus {3338  border-bottom-color: var(--peach-t0);3339  color: var(--peach-t0);3340}33413342.peach-new-name-input {3343  width: 100%;3344  background: transparent;3345  border: none;3346  border-bottom: 1px solid var(--peach-t3);3347  padding: 6px 0;3348  font-family: var(--font-display);3349  font-style: italic;3350  font-size: 28px;3351  color: var(--peach-t0);3352  outline: none;3353  transition: border-color 150ms ease;3354}33553356.peach-new-name-input:focus {3357  border-bottom-color: var(--peach-t1);3358}33593360.peach-new-name-input::placeholder {3361  color: var(--peach-t2);3362  font-style: italic;3363}33643365.peach-new-field-input::placeholder {3366  color: var(--peach-t3);3367}33683369/* ── Demo entrance animation ── */3370#hd-shell {3371  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;3372}3373@keyframes hd-shell-enter {3374  from { opacity: 0; transform: scale(0.96) translateY(16px); }3375  to   { opacity: 1; transform: scale(1) translateY(0); }3376}33773378/* ── Keyframes ── */3379@keyframes peach-char-enter {3380  from { opacity: 0; transform: translateY(0.22em); }3381  to   { opacity: 1; transform: translateY(0); }3382}3383@keyframes peach-content-enter {3384  from { opacity: 0.96; transform: translateY(4px); }3385  to   { opacity: 1; transform: translateY(0); }3386}3387@keyframes peach-content-exit {3388  from { opacity: 1; transform: translateY(0); }3389  to   { opacity: 0.92; transform: translateY(-3px); }3390}3391@keyframes peach-screen-enter {3392  from { opacity: 0; transform: translateY(14px); }3393  to   { opacity: 1; transform: translateY(0); }3394}3395@keyframes peach-shell-fade-in {3396  from { opacity: 0; }3397  to   { opacity: 1; }3398}3399@keyframes peach-veil-in {3400  from { opacity: 0; }3401  to   { opacity: 1; }3402}3403@keyframes peach-lock-settle {3404  0%   { transform: scale(0.9); }3405  65%  { transform: scale(1.08); }3406  100% { transform: scale(1); }3407}3408@keyframes peach-copy-confirm {3409  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }3410  to   { color: var(--peach-accent); border-color: color-mix(in srgb, var(--peach-accent) 42%, transparent); background-color: color-mix(in srgb, var(--peach-accent) 9%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--peach-accent) 22%, transparent), inset 0 0 18px color-mix(in srgb, var(--peach-accent) 12%, transparent); }3411}3412@keyframes peach-copy-retreat {3413  from { color: var(--peach-accent); border-color: color-mix(in srgb, var(--peach-accent) 42%, transparent); background-color: color-mix(in srgb, var(--peach-accent) 9%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--peach-accent) 22%, transparent), inset 0 0 18px color-mix(in srgb, var(--peach-accent) 12%, transparent); }3414  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }3415}3416@keyframes peach-copy-flood {3417  from { opacity: 0; transform: scaleX(0.15); }3418  to   { opacity: 1; transform: scaleX(1); }3419}3420@keyframes peach-copy-icon-settle {3421  from  { transform: scale(0.84); }3422  70%   { transform: scale(1.08); }3423  to    { transform: scale(1); }3424}3425@keyframes peach-copy-sheen-retreat {3426  from { opacity: 1; transform: scaleX(1); }3427  to   { opacity: 0; transform: scaleX(0.15); }3428}3429@keyframes peach-copy-drain {3430  from { width: 100%; }3431  to   { width: 0; }3432}3433@keyframes peach-shake {3434  0%, 100% { transform: translateX(0); }3435  20%      { transform: translateX(-6px); }3436  40%      { transform: translateX(6px); }3437  60%      { transform: translateX(-4px); }3438  80%      { transform: translateX(4px); }3439}34403441@keyframes pip-pulse {3442  0% { transform: scale(1); }3443  40% { transform: scale(2.2); }3444  100% { transform: scale(1); }3445}344634473448/* ── Password generator ── */3449.peach-pwgen-body {3450  flex: 1; overflow-y: auto;3451  display: flex; flex-direction: column;3452}3453.peach-policy-badge {3454  display: flex; align-items: center;3455  padding: 6px 20px 0;3456  font-size: 0.625rem; font-family: Inter, sans-serif;3457  color: var(--peach-t2); letter-spacing: 0.04em;3458}3459.peach-pwgen-display {3460  padding: 14px 20px 12px;3461  border-bottom: 1px solid var(--peach-t3);3462  display: flex; align-items: flex-start; gap: 10px;3463}3464.peach-pwgen-display-row {3465  display: flex;3466  align-items: flex-start;3467  gap: 8px;3468  padding-bottom: 8px;3469  border-bottom: 1px solid var(--peach-t3);3470}3471.peach-pwgen-output {3472  flex: 1; min-width: 0; margin: 0;3473  font-family: "IBM Plex Mono", monospace;3474  font-size: 0.8125rem; color: var(--peach-t0);3475  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;3476  white-space: normal;3477  padding: 10px 12px;3478  background: var(--peach-t4);3479  border-radius: 6px;3480  min-height: 36px;3481}3482.peach-pwgen-output-display {3483  flex: 1;3484  min-width: 0;3485  margin: 0;3486  font-family: var(--font-display);3487  font-style: italic;3488  font-weight: 300;3489  font-size: 32px;3490  line-height: 1.05;3491  color: var(--peach-t0);3492  word-break: break-all;3493  overflow-wrap: break-word;3494  white-space: normal;3495  letter-spacing: 0.02em;3496}3497.peach-pwgen-display-actions {3498  display: flex;3499  flex-direction: column;3500  gap: 4px;3501  flex-shrink: 0;3502  margin-top: 2px;3503}3504.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }3505.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }3506.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }3507.peach-pwgen-len-num {3508  font-family: "IBM Plex Mono", monospace;3509  font-size: 0.75rem; color: var(--peach-accent);3510}3511.peach-pwgen-len-num--edit {3512  cursor: text;3513  border-bottom: 1px dotted color-mix(in srgb, var(--peach-accent) 50%, transparent);3514}3515.peach-pwgen-len-input {3516  font-family: "IBM Plex Mono", monospace;3517  font-size: 0.75rem;3518  color: var(--peach-accent);3519  background: transparent;3520  border: none;3521  border-bottom: 1px solid var(--peach-accent);3522  outline: none;3523  width: 32px;3524  text-align: right;3525  padding: 0;3526}3527.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }3528.peach-pwgen-toggles { display: flex; flex-direction: column; }3529.peach-pwgen-charset-pills {3530  display: flex;3531  gap: 6px;3532  flex-wrap: wrap;3533}3534.peach-pwgen-pill {3535  padding: 4px 11px;3536  border-radius: 999px;3537  border: 1px solid var(--peach-t3);3538  background: transparent;3539  color: var(--peach-t2);3540  font-family: "IBM Plex Mono", monospace;3541  font-size: 0.5625rem;3542  letter-spacing: 0.08em;3543  cursor: pointer;3544  transition: all 150ms ease;3545}3546.peach-pwgen-pill.is-on {3547  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3548  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3549  color: var(--peach-accent);3550}3551.peach-pwgen-pill:not(.is-on):hover {3552  color: var(--peach-t1);3553  border-color: var(--peach-t2);3554}3555.peach-pwgen-use-btn {3556  width: 100%;3557  min-height: 34px;3558  border-radius: 8px;3559  margin-top: 2px;3560}3561.peach-generator-constraint-note {3562  font-family: 'IBM Plex Mono', monospace;3563  font-size: 10px;3564  color: var(--peach-t3);3565  letter-spacing: 0.04em;3566  margin: 0;3567  transition: opacity 200ms ease;3568}3569.peach-pwgen-toggle-row {3570  display: flex; align-items: center; justify-content: space-between;3571  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);3572}3573.peach-pwgen-toggle-row:last-child { border-bottom: none; }3574.peach-pwgen-toggle-label { font-size: 0.8125rem; color: var(--peach-t1); }35753576/* Peach popup should not expose native scrollbars on internal panels. */3577.peach-settings-body,3578.peach-new-body,3579.peach-pwgen-body,3580.lock-screen,3581.peach-import-preview {3582  scrollbar-width: none;3583  -ms-overflow-style: none;3584  overscroll-behavior: contain;3585}3586.peach-settings-body::-webkit-scrollbar,3587.peach-new-body::-webkit-scrollbar,3588.peach-pwgen-body::-webkit-scrollbar,3589.lock-screen::-webkit-scrollbar,3590.peach-import-preview::-webkit-scrollbar {3591  width: 0;3592  height: 0;3593  display: none;3594}35953596.lock-screen {3597  height: 100%;3598  min-height: 100%;3599  overflow-y: auto;3600  padding: 18px 18px 16px;3601  gap: 14px;3602  grid-template-rows: auto auto auto 1fr auto;3603  align-content: stretch;3604  position: relative;3605  isolation: isolate;3606}3607.peach-screen.lock-screen--vault-stage {3608  display: flex;3609  flex-direction: column;3610  justify-content: flex-start;3611  gap: 18px;3612  padding: 20px 18px 18px;3613  overflow: hidden;3614}3615.peach-screen.lock-screen--vault-stage .peach-lock-panel {3616  margin-top: 0;3617}3618.lock-screen--onboarding {3619  display: flex;3620  flex-direction: column;3621  gap: 12px;3622  justify-content: flex-start;3623}36243625.lock-screen::before {3626  content: "";3627  position: absolute;3628  inset: 12px 18px auto auto;3629  width: 160px;3630  height: 160px;3631  border-radius: 999px;3632  background:3633    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--peach-accent) 18%, transparent) 0%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 42%, transparent 72%);3634  filter: blur(6px);3635  opacity: 0.7;3636  pointer-events: none;3637  z-index: 0;3638}36393640.peach-lock-rune-string {3641  flex: 1;3642  display: flex;3643  align-items: center;3644  justify-content: center;3645  gap: 6px;3646  font-family: PeachScript, monospace;3647  font-size: 0.8125rem;3648  letter-spacing: 0.05em;3649  pointer-events: none;3650  user-select: none;3651  position: relative;3652  z-index: 1;3653}36543655.peach-lock-rune-string span {3656  color: color-mix(in srgb, var(--peach-t0) 12%, transparent);3657  text-shadow:3658    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent),3659    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent);3660  transition: color 0.9s ease, text-shadow 0.9s ease;3661}36623663.peach-lock-rune-string span.is-glowing {3664  color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3665  text-shadow:3666    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3667    0 0 20px color-mix(in srgb, var(--peach-accent) 22%, transparent);3668}36693670.lock-screen-header {3671  display: flex;3672  align-items: center;3673  justify-content: space-between;3674  position: relative;3675  z-index: 1;3676}36773678.lock-password-input.shake {3679  animation: peach-shake 300ms ease-in-out;3680}36813682.peach-hint-error {3683  color: rgba(220, 80, 60, 0.92);3684}36853686.peach-onboarding-headline {3687  margin: 0;3688  font-family: var(--font-display);3689  font-size: 35px;3690  line-height: 0.88;3691  font-style: italic;3692  font-weight: 400;3693  max-width: 252px;3694}36953696.peach-lock-copy {3697  display: grid;3698  gap: 8px;3699  position: relative;3700  z-index: 1;3701}37023703.peach-lock-copy--onboarding {3704  gap: 10px;3705}37063707.peach-lock-hero {3708  position: relative;3709  z-index: 1;3710  display: flex;3711  flex-direction: column;3712  align-items: center;3713  justify-content: center;3714  text-align: center;3715  gap: 10px;3716  min-height: 0;3717  padding: 4px 2px 0;3718  border: none;3719  border-radius: 0;3720  background: transparent;3721  box-shadow: none;3722}3723.peach-lock-hero > * {3724  position: relative;3725  z-index: 1;3726}37273728.peach-lock-mark {3729  width: 40px;3730  height: 40px;3731  margin: 0 auto 6px;3732  display: block;3733}37343735.peach-lock-eyebrow {3736  display: inline-flex;3737  align-items: center;3738  width: fit-content;3739  margin: 0 auto;3740  padding: 4px 9px;3741  border-radius: 999px;3742  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);3743  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3744  color: var(--peach-t0);3745  font-family: "IBM Plex Mono", monospace;3746  font-weight: 600;3747  font-size: 0.55rem;3748  letter-spacing: 0.14em;3749  text-transform: uppercase;3750}37513752.peach-lock-label-row {3753  display: flex;3754  align-items: center;3755  justify-content: space-between;3756  margin-bottom: 0;3757}37583759.peach-lock-reveal-btn {3760  display: inline-flex;3761  align-items: center;3762  gap: 4px;3763  background: none;3764  border: none;3765  cursor: pointer;3766  font-family: "IBM Plex Mono", monospace;3767  font-size: 0.5625rem;3768  letter-spacing: 0.06em;3769  color: var(--peach-t2);3770  padding: 2px 0;3771  transition: color 150ms ease;3772}37733774.peach-lock-reveal-btn:hover {3775  color: var(--peach-t1);3776}37773778.peach-lock-warning {3779  color: rgba(220, 80, 60, 0.85) !important;3780  line-height: 1.5;3781}37823783.peach-onboarding-cards {3784  display: grid;3785  gap: 8px;3786  position: relative;3787  z-index: 1;3788}37893790.peach-lock-panel {3791  position: relative;3792  z-index: 1;3793  display: grid;3794  gap: 9px;3795  padding: 14px 16px 15px;3796  border-radius: 18px;3797  border: 1px solid var(--peach-t3);3798  background:3799    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3800  box-shadow:3801    inset 0 1px 0 rgba(240, 232, 216, 0.04),3802    0 12px 28px rgba(0, 0, 0, 0.12);3803}38043805/* Glass surface — lock panel and settings groups */3806.peach-glass {3807  background: rgba(26, 20, 16, 0.65);3808  border: 1px solid rgba(255, 255, 255, 0.08);3809  border-radius: 12px;3810  backdrop-filter: blur(12px) saturate(1.4);3811  -webkit-backdrop-filter: blur(12px) saturate(1.4);3812}38133814@supports not (backdrop-filter: blur(1px)) {3815  .peach-glass {3816    background: rgba(26, 20, 16, 0.92);3817    border: 1px solid rgba(255, 255, 255, 0.10);3818    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 24px rgba(0, 0, 0, 0.4);3819  }3820}38213822.light .peach-glass,3823[data-theme="light"] .peach-glass {3824  background: rgba(240, 233, 223, 0.72);3825  border: 1px solid rgba(26, 18, 8, 0.08);3826  backdrop-filter: blur(12px) saturate(1.2);3827  -webkit-backdrop-filter: blur(12px) saturate(1.2);3828}38293830@supports not (backdrop-filter: blur(1px)) {3831  .light .peach-glass,3832  [data-theme="light"] .peach-glass {3833    background: rgba(240, 233, 223, 0.97);3834    border: 1px solid rgba(26, 18, 8, 0.10);3835  }3836}38373838/* Lock panel keeps its own border-radius over the generic glass token */3839.peach-lock-panel.peach-glass {3840  border-radius: 18px;3841  background: rgba(26, 20, 16, 0.65);3842  border: 1px solid rgba(255, 255, 255, 0.08);3843  box-shadow:3844    inset 0 1px 0 rgba(255, 255, 255, 0.05),3845    0 12px 28px rgba(0, 0, 0, 0.3);3846}38473848.light .peach-lock-panel.peach-glass,3849[data-theme="light"] .peach-lock-panel.peach-glass {3850  background: rgba(240, 233, 223, 0.82);3851  border: 1px solid rgba(26, 18, 8, 0.08);3852  box-shadow:3853    inset 0 1px 0 rgba(255, 255, 255, 0.4),3854    0 8px 24px rgba(80, 56, 32, 0.15);3855}38563857@supports not (backdrop-filter: blur(1px)) {3858  .peach-lock-panel.peach-glass {3859    background: rgba(26, 20, 16, 0.92);3860    box-shadow:3861      inset 0 1px 0 rgba(255, 255, 255, 0.05),3862      0 12px 28px rgba(0, 0, 0, 0.4);3863  }3864  .light .peach-lock-panel.peach-glass,3865  [data-theme="light"] .peach-lock-panel.peach-glass {3866    background: rgba(240, 233, 223, 0.98);3867  }3868}38693870.peach-lock-panel--secondary {3871  gap: 12px;3872}38733874.peach-lock-panel-header {3875  display: flex;3876  align-items: baseline;3877  justify-content: space-between;3878  gap: 12px;3879}38803881.peach-lock-option-grid {3882  display: grid;3883  gap: 10px;3884}38853886.peach-lock-option {3887  width: 100%;3888  display: grid;3889  gap: 6px;3890  padding: 14px 15px;3891  border-radius: 16px;3892  border: 1px solid rgba(240, 232, 216, 0.08);3893  background: rgba(240, 232, 216, 0.02);3894  color: var(--peach-t0);3895  text-align: left;3896  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3897}38983899.peach-lock-option:hover {3900  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3901  background: rgba(240, 232, 216, 0.04);3902  transform: translateY(-1px);3903}39043905.peach-lock-option-title {3906  font-size: 0.75rem;3907  color: var(--peach-t0);3908}39093910.peach-lock-option-copy {3911  font-size: 0.6875rem;3912  line-height: 1.55;3913  color: var(--peach-t1);3914}39153916.peach-onboarding-stack {3917  margin-top: 2px;3918}3919.peach-lock-panel-footer {3920  display: grid;3921  gap: 6px;3922  margin-top: 2px;3923  padding-top: 10px;3924  border-top: 1px solid rgba(240, 232, 216, 0.06);3925}39263927/* ── Restore surface ────────────────────────────────────────────────────3928   The onboarding restore screen. Shares the create-vault screen's glass3929   card language: Cormorant headline, hairline divider, choice rows. The3930   card lists the backup sources; picking one swaps the card body to that3931   source's form. */39323933/* Content centers in the tall card (mirrors the onboarding cards) and3934   scrolls as a fallback on shorter viewports. */3935.peach-restore-card {3936  justify-content: center;3937  overflow-y: auto;3938  scrollbar-width: none;3939}3940.peach-restore-card::-webkit-scrollbar { display: none; }39413942.peach-restore-sources {3943  display: grid;3944  gap: 6px;3945  margin-top: 4px;3946}39473948/* Choice rows reuse .peach-onboarding-choice; tighten them to the same3949   compactness as the final onboarding card's rows. */3950.peach-restore-source {3951  min-height: 40px;3952  padding: 6px 10px;3953  cursor: pointer;3954  transition: border-color 140ms ease, background 140ms ease;3955}3956.peach-restore-source:hover {3957  border-color: color-mix(in srgb, var(--peach-accent) 34%, transparent);3958  background: color-mix(in srgb, var(--peach-accent) 9%, transparent);3959}39603961/* In-card header shown once a source is picked */3962.peach-restore-source-head {3963  display: flex;3964  align-items: baseline;3965  justify-content: space-between;3966  gap: 10px;3967}39683969.peach-restore-source-title {3970  margin: 0;3971  font-family: var(--font-display);3972  font-style: italic;3973  font-weight: 400;3974  font-size: 18px;3975  line-height: 1.1;3976  color: var(--peach-t0);3977}39783979.peach-restore-picker-back {3980  background: none;3981  border: none;3982  cursor: pointer;3983  padding: 2px 0;3984  font-family: var(--font-mono);3985  font-size: 0.625rem;3986  letter-spacing: 0.06em;3987  color: var(--peach-t2);3988  transition: color 150ms ease;3989}3990.peach-restore-picker-back:hover {3991  color: var(--peach-t0);3992}39933994/* Shared inner form layout */3995.peach-restore-form {3996  display: flex;3997  flex-direction: column;3998  gap: 8px;3999}40004001/* Drag-and-drop import — the one file path that survives the action popup4002   (the popup dismisses itself when the OS file picker steals focus). */4003.peach-restore-form.is-dragover {4004  outline: 2px dashed color-mix(in srgb, var(--peach-accent) 55%, transparent);4005  outline-offset: 6px;4006  border-radius: 8px;4007}40084009.peach-restore-drop-hint {4010  margin: -2px 0 0;4011  text-align: center;4012  font-family: var(--font-mono);4013  font-size: 0.5625rem;4014  letter-spacing: 0.06em;4015  color: var(--peach-t2);4016}40174018.peach-restore-submit {4019  width: 100%;4020}40214022.peach-restore-file-btn {4023  display: inline-flex;4024  align-items: center;4025  justify-content: center;4026  width: 100%;4027}40284029/* ── PeachScript source ───────────────────────────────────────────────── */40304031/* Rune textarea styled as an underline input to match the card's other4032   fields. */4033.peach-restore-script {4034  width: 100%;4035  box-sizing: border-box;4036  min-height: 56px;4037  max-height: 72px;4038  padding: 6px 0;4039  resize: none;4040  overflow: hidden;4041  scrollbar-width: none;4042  -ms-overflow-style: none;4043  border: 0;4044  border-bottom: 1px solid var(--peach-t3);4045  border-radius: 0;4046  background: transparent;4047  color: var(--peach-t0);4048  outline: none;4049  caret-color: var(--peach-accent);4050  font-family: "PeachScript", monospace;4051  font-size: 13px;4052  line-height: 1.9;4053  letter-spacing: 0.1em;4054  word-break: break-all;4055}4056.peach-restore-script::-webkit-scrollbar { display: none; }4057.peach-restore-script::placeholder { color: var(--peach-t2); }4058.peach-restore-script:focus {4059  border-bottom-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4060}40614062.peach-restore-or {4063  display: flex;4064  align-items: center;4065  gap: 8px;4066  font-family: var(--font-mono);4067  font-size: 0.5625rem;4068  letter-spacing: 0.14em;4069  text-transform: uppercase;4070  color: var(--peach-t2);4071}4072.peach-restore-or::before,4073.peach-restore-or::after {4074  content: "";4075  flex: 1;4076  border-top: 1px solid var(--peach-t3);4077}40784079.peach-restore-anim-canvas {4080  width: 100%;4081  height: 180px;4082  border-radius: 10px;4083  overflow: hidden;4084  display: block;4085}40864087/* Animated rune preview shown once valid PeachScript is pasted — mirrors the4088   export screen's RuneCanvas. */4089.peach-restore-rune-preview {4090  overflow: hidden;4091  border: 1px solid color-mix(in srgb, var(--peach-t0) 22%, transparent);4092  border-radius: 8px;4093}40944095/* ── Codex source ─────────────────────────────────────────────────────── */40964097.peach-restore-codex-copy {4098  margin: 0;4099  font-size: 0.75rem;4100  line-height: 1.55;4101  color: var(--peach-t1);4102}41034104/* ── CSV source ───────────────────────────────────────────────────────── */41054106.peach-restore-csv-sources {4107  margin: 0;4108  text-align: center;4109}41104111/* ── Intro popup ──────────────────────────────────────────────────────── */41124113.peach-restore-intro-overlay {4114  position: absolute;4115  inset: 0;4116  z-index: 100;4117  display: flex;4118  align-items: center;4119  justify-content: center;4120  padding: 20px;4121  background: rgba(12, 10, 6, 0.7);4122  backdrop-filter: blur(4px);4123  animation: peach-card-in 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4124}41254126.peach-restore-intro-card {4127  width: 100%;4128  display: flex;4129  flex-direction: column;4130  gap: 12px;4131  padding: 22px 20px 20px;4132  border-radius: 16px;4133  border: 1px solid var(--peach-t3);4134  background: linear-gradient(180deg, rgba(240, 232, 216, 0.05), rgba(240, 232, 216, 0.02));4135  backdrop-filter: blur(4px);4136  -webkit-backdrop-filter: blur(4px);4137  box-shadow: inset 0 1px 0 rgba(240, 232, 216, 0.06), 0 16px 36px rgba(0, 0, 0, 0.3);4138}41394140.peach-restore-intro-headline {4141  margin: 0;4142  font-family: var(--font-display);4143  font-style: italic;4144  font-size: 20px;4145  font-weight: 400;4146  color: var(--peach-t0);4147}41484149.peach-restore-intro-body {4150  display: flex;4151  flex-direction: column;4152  gap: 8px;4153}4154.peach-restore-intro-body p {4155  margin: 0;4156  font-size: 0.75rem;4157  color: var(--peach-t1);4158  line-height: 1.5;4159}41604161.peach-restore-intro-btn {4162  width: 100%;4163  margin-top: 4px;4164}41654166/* Snapshot restore panel */4167.peach-snapshot-panel {4168  gap: 10px;4169  overflow-y: auto;4170  max-height: 340px;4171}4172.peach-snapshot-list {4173  display: flex;4174  flex-direction: column;4175  gap: 4px;4176}4177.peach-snapshot-row {4178  display: flex;4179  align-items: center;4180  justify-content: space-between;4181  width: 100%;4182  padding: 8px 10px;4183  border-radius: 8px;4184  border: 1px solid rgba(240, 232, 216, 0.07);4185  background: transparent;4186  cursor: pointer;4187  transition: border-color 120ms, background 120ms;4188  text-align: left;4189  gap: 8px;4190}4191.peach-snapshot-row:hover {4192  border-color: rgba(240, 232, 216, 0.14);4193  background: rgba(240, 232, 216, 0.03);4194}4195.peach-snapshot-row.is-selected {4196  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4197  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);4198}4199.peach-snapshot-time {4200  font-size: 11.5px;4201  color: var(--peach-t0);4202  flex: 1;4203}4204.peach-snapshot-count {4205  font-family: "IBM Plex Mono", monospace;4206  font-size: 0.625rem;4207  color: var(--peach-t2);4208  flex-shrink: 0;4209}4210.peach-snapshot-confirm {4211  display: flex;4212  flex-direction: column;4213  gap: 8px;4214  padding-top: 10px;4215  border-top: 1px solid rgba(240, 232, 216, 0.06);4216}4217.peach-snapshot-warning {4218  display: flex;4219  align-items: flex-start;4220  gap: 6px;4221  font-size: 10.5px;4222  color: rgba(220, 80, 60, 0.85);4223  line-height: 1.55;4224}4225.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }4226.peach-snapshot-confirm-row {4227  display: flex;4228  gap: 6px;4229  align-items: center;4230}4231.peach-snapshot-restore-btn {4232  width: 100%;4233}4234.peach-lock-hero--unlock .peach-lock-hero-art {4235  display: none;4236}42374238.peach-card {4239  border: 1px solid var(--peach-t3);4240  border-radius: 18px;4241  background:4242    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);4243  box-shadow:4244    inset 0 0 0 1px var(--peach-border-accent),4245    inset 0 1px 0 rgba(240, 232, 216, 0.04),4246    0 12px 32px rgba(0, 0, 0, 0.14);4247  overflow: hidden;4248}42494250.peach-card-active {4251  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);4252  box-shadow:4253    inset 0 1px 0 rgba(240, 232, 216, 0.05),4254    0 16px 38px rgba(0, 0, 0, 0.18),4255    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);4256}42574258.peach-card-disabled {4259  opacity: 0.72;4260}42614262.peach-card-header {4263  width: 100%;4264  padding: 13px 16px 11px;4265  background: transparent;4266  color: var(--peach-t0);4267  display: flex;4268  justify-content: space-between;4269  align-items: center;4270  text-align: left;4271  font-size: 0.75rem;4272}42734274.peach-card-body {4275  padding: 0 16px 16px;4276  display: grid;4277  gap: 9px;4278}42794280.peach-card-tag {4281  color: var(--peach-t2);4282  font-family: "IBM Plex Mono", monospace;4283  font-size: 0.5625rem;4284  letter-spacing: 0.12em;4285  text-transform: uppercase;4286}42874288.peach-empty-copy {4289  display: grid;4290  gap: 6px;4291  color: var(--peach-t1);4292  font-size: 0.8125rem;4293}42944295.peach-lock-submit {4296  width: 100%;4297  box-shadow:4298    0 1px 0 rgba(255,255,255,0.10) inset,4299    0 0 0 1px color-mix(in srgb, var(--peach-accent) 19%, transparent),4300    0 12px 32px color-mix(in srgb, var(--peach-accent) 19%, transparent),4301    0 0 48px color-mix(in srgb, var(--peach-accent) 10%, transparent);4302}43034304.peach-lock-secondary {4305  width: 100%;4306  border-color: var(--peach-t3);4307  background: rgba(240, 232, 216, 0.02);4308}43094310.peach-lock-secondary:hover {4311  background: rgba(240, 232, 216, 0.04);4312}43134314.peach-lock-note {4315  max-width: none;4316  line-height: 1.55;4317  margin: 0;4318}43194320.peach-overlay-action {4321  font-size: 0.625rem;4322  padding: 4px 8px;4323  letter-spacing: 0.06em;4324  min-width: 44px;4325  text-align: center;4326}43274328.peach-inline-action {4329  flex-shrink: 0;4330  font-size: 0.5625rem;4331  letter-spacing: 0.1em;4332  text-transform: uppercase;4333  padding: 4px 7px;4334}4335.peach-password-toggle-btn {4336  display: inline-flex;4337  align-items: center;4338  justify-content: center;4339  min-width: 30px;4340  min-height: 26px;4341  padding: 0 7px;4342  border: 1px solid var(--peach-t3);4343  border-radius: 999px;4344  background: rgba(240, 232, 216, 0.04);4345  color: var(--peach-t2);4346  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;4347}4348.peach-password-toggle-btn:hover {4349  border-color: var(--peach-t2);4350  color: var(--peach-t0);4351  background: rgba(240, 232, 216, 0.06);4352}43534354.peach-new-textarea {4355  width: 100%;4356  min-height: 88px;4357  resize: vertical;4358  border: 0;4359  outline: none;4360  background: transparent;4361  color: var(--peach-t1);4362  font-family: "IBM Plex Mono", monospace;4363  font-size: 0.75rem;4364  line-height: 1.65;4365  caret-color: var(--peach-accent);4366}43674368.peach-new-textarea::placeholder {4369  color: var(--peach-t2);4370  opacity: 0.7;4371}43724373.peach-settings-actions {4374  display: grid;4375  gap: 8px;4376}43774378.peach-sync-section-label {4379  font-size: 0.6875rem;4380  color: var(--peach-t2);4381  text-transform: uppercase;4382  letter-spacing: 0.05em;4383}43844385.peach-sync-network-note {4386  margin: 0 0 6px;4387  font-size: 0.75rem;4388  color: var(--peach-t2);4389  line-height: 1.4;4390}43914392.peach-settings-row--tappable {4393  background: none;4394  border: none;4395  width: 100%;4396  text-align: left;4397  cursor: pointer;4398  color: var(--peach-t1);4399  font-size: 0.8125rem;4400}4401.peach-settings-row--tappable:hover {4402  color: var(--peach-t0);4403}44044405.peach-sync-pro-hint {4406  display: flex;4407  flex-direction: column;4408  align-items: flex-start;4409  gap: 8px;4410  padding: 12px 0 4px;4411}44124413.peach-sync-device-row {4414  display: flex;4415  justify-content: space-between;4416  align-items: center;4417  padding: 6px 0;4418  border-bottom: 1px solid var(--peach-t3);4419}44204421.peach-sync-device-info {4422  display: flex;4423  flex-direction: column;4424  gap: 2px;4425}44264427.peach-sync-device-name {4428  font-size: 0.8125rem;4429  color: var(--peach-t0);4430}44314432.peach-sync-device-meta {4433  font-size: 0.6875rem;4434  color: var(--peach-t2);4435}44364437.peach-sync-status-dot {4438  display: inline-block;4439  width: 8px;4440  height: 8px;4441  border-radius: 50%;4442  vertical-align: middle;4443}44444445.peach-sync-remove-btn {4446  color: var(--peach-breach);4447}44484449.peach-sync-advanced-row {4450  display: flex;4451  justify-content: space-between;4452  align-items: center;4453  padding: 6px 0;4454  gap: 12px;4455}44564457.peach-sync-advanced-info {4458  display: flex;4459  flex-direction: column;4460  gap: 2px;4461  flex: 1;4462}44634464.peach-sync-advanced-name {4465  font-size: 0.8125rem;4466  color: var(--peach-t0);4467}44684469.peach-sync-reset-confirm {4470  display: flex;4471  flex-direction: column;4472  gap: 8px;4473  padding: 10px;4474  border: 1px solid var(--peach-breach);4475  border-radius: 10px;4476  background: color-mix(in srgb, var(--peach-breach) 6%, transparent);4477}44784479.peach-sync-reset-confirm-headline {4480  font-size: 0.8125rem;4481  font-weight: 600;4482  color: var(--peach-t0);4483  margin: 0;4484}44854486.peach-sync-reset-confirm-body {4487  font-size: 0.75rem;4488  color: var(--peach-t1);4489  margin: 0;4490  line-height: 1.4;4491}44924493.peach-btn--danger {4494  background: var(--peach-breach);4495  color: #fff;4496  border-color: var(--peach-breach);4497}4498.peach-btn--danger:hover:not(:disabled) {4499  background: color-mix(in srgb, var(--peach-breach) 88%, #000);4500}4501.peach-btn--danger:disabled {4502  opacity: 0.55;4503  cursor: not-allowed;4504}45054506.peach-sync-hero-icon {4507  color: var(--peach-t1);4508  opacity: 0.85;4509}45104511.peach-import-preview {4512  margin-bottom: 12px;4513  max-height: 152px;4514  overflow-y: auto;4515  border: 1px solid var(--peach-t3);4516  border-radius: 10px;4517  padding: 8px 10px;4518  display: grid;4519  gap: 8px;4520  background: rgba(240, 232, 216, 0.02);4521}45224523.peach-import-preview-row {4524  display: flex;4525  justify-content: space-between;4526  gap: 10px;4527  font-size: 0.6875rem;4528  color: var(--peach-t1);4529}45304531.peach-import-preview-title {4532  color: var(--peach-t0);4533  flex: 1;4534  min-width: 0;4535  overflow: hidden;4536  text-overflow: ellipsis;4537  white-space: nowrap;4538}45394540.peach-import-preview-meta {4541  color: var(--peach-t2);4542  flex-shrink: 0;4543  max-width: 42%;4544  overflow: hidden;4545  text-overflow: ellipsis;4546  white-space: nowrap;4547}45484549.peach-import-preview-more {4550  color: var(--peach-t2);4551  font-size: 0.625rem;4552}45534554.peach-restore-copy {4555  margin: 0;4556  color: var(--peach-t1);4557  font-size: 0.6875rem;4558  line-height: 1.6;4559}45604561.peach-restore-warning {4562  padding: 10px 12px;4563  border-radius: 12px;4564  border: 1px solid color-mix(in srgb, var(--peach-breach) 35%, transparent);4565  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);4566  color: var(--peach-t0);4567  font-size: 0.6875rem;4568  line-height: 1.55;4569}45704571.peach-provider-chips {4572  display: flex;4573  flex-wrap: wrap;4574  gap: 6px;4575}45764577.peach-provider-chip {4578  display: inline-flex;4579  align-items: center;4580  padding: 5px 8px;4581  border-radius: 999px;4582  border: 1px solid var(--peach-t3);4583  background: rgba(240, 232, 216, 0.02);4584  color: var(--peach-t1);4585  font-family: "IBM Plex Mono", monospace;4586  font-size: 0.5rem;4587  letter-spacing: 0.08em;4588  text-transform: uppercase;4589}45904591.peach-restore-file,4592.peach-restore-input {4593  width: 100%;4594  border-radius: 10px;4595  border: 1px solid var(--peach-t3);4596  background: var(--peach-s2);4597  color: var(--peach-t0);4598  font-size: 0.75rem;4599}46004601.peach-restore-file {4602  padding: 9px 10px;4603}46044605.peach-restore-file::file-selector-button {4606  margin-right: 10px;4607  padding: 7px 10px;4608  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);4609  border-radius: 999px;4610  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4611  color: var(--peach-t0);4612  font-size: 0.625rem;4613  letter-spacing: 0.08em;4614  text-transform: uppercase;4615  cursor: pointer;4616}46174618.peach-restore-input {4619  padding: 10px 12px;4620}46214622.peach-auth-grid {4623  display: grid;4624  gap: 10px;4625}46264627.peach-import-summary {4628  color: var(--peach-t1);4629  font-size: 0.75rem;4630  line-height: 1.6;4631  margin-bottom: 12px;4632}46334634.peach-restore-error {4635  color: rgba(220, 80, 60, 0.95);4636  font-size: 0.75rem;4637  line-height: 1.55;4638}46394640.peach-passkey-card {4641  max-width: 400px;4642  margin: auto 16px;4643  align-self: center;4644  width: calc(100% - 32px);4645}46464647/* Center the approval card vertically inside the overlay-view (which sets4648 * flex-direction: column without justify-content). Without this, the card4649 * sits at the top with a tall empty band below — looks unfinished on the4650 * 320px popup. */4651.peach-overlay-view:has(.peach-passkey-card) {4652  justify-content: center;4653}46544655.peach-pro-badge {4656  padding: 2px 6px;4657  border-radius: 999px;4658  font-family: var(--font-ui);4659  font-size: 0.625rem;4660  letter-spacing: 0.08em;4661  text-transform: uppercase;4662  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);4663  color: var(--peach-accent);4664}46654666/* ── Shortcuts rebind table ─────────────────────────────────── */4667.peach-shortcuts-group { display: flex; flex-direction: column; gap: 6px; }4668.peach-shortcut-row {4669  display: flex;4670  align-items: center;4671  gap: 10px;4672  padding: 6px 0;4673}4674.peach-shortcut-row-label {4675  flex: 1;4676  font-size: 0.75rem;4677  color: var(--peach-t0);4678}4679.peach-shortcut-chip {4680  min-width: 64px;4681  padding: 4px 10px;4682  border-radius: 6px;4683  border: 1px solid var(--peach-t3);4684  background: var(--peach-input-bg, var(--surface-card));4685  color: var(--peach-t0);4686  font-family: var(--font-mono);4687  font-size: 0.6875rem;4688  letter-spacing: 0.04em;4689  cursor: pointer;4690  text-align: center;4691  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;4692}4693.peach-shortcut-chip:hover { border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent); }4694.peach-shortcut-chip.is-custom {4695  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4696  color: var(--peach-accent);4697}4698.peach-shortcut-chip.is-capturing {4699  border-color: var(--peach-accent);4700  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);4701  color: var(--peach-accent);4702  animation: peach-shortcut-capture-pulse 1.4s ease-in-out infinite;4703}4704@keyframes peach-shortcut-capture-pulse {4705  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--peach-accent) 30%, transparent); }4706  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--peach-accent) 12%, transparent); }4707}4708.peach-shortcut-reset {4709  background: transparent;4710  border: none;4711  cursor: pointer;4712  color: var(--peach-t2);4713  padding: 4px 6px;4714  border-radius: 5px;4715  font-size: 0.875rem;4716  line-height: 1;4717  transition: color 120ms ease, background 120ms ease;4718}4719.peach-shortcut-reset:hover {4720  color: var(--peach-t0);4721  background: color-mix(in srgb, var(--peach-text, var(--peach-t0)) 6%, transparent);4722}4723.peach-shortcuts-conflict {4724  margin: 4px 0 0;4725  padding: 8px 10px;4726  border-radius: 7px;4727  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);4728  border: 1px solid color-mix(in srgb, var(--peach-breach) 30%, transparent);4729  font-family: var(--font-mono);4730  font-size: 0.6875rem;4731  color: var(--peach-t0);4732}47334734/* ── Help dialog overlay (? to open) ────────────────────────── */4735.peach-shortcuts-help-backdrop {4736  position: fixed;4737  inset: 0;4738  background: rgba(0, 0, 0, 0.55);4739  backdrop-filter: blur(2px);4740  display: flex;4741  align-items: center;4742  justify-content: center;4743  z-index: 1000;4744  animation: peach-help-fade-in 140ms ease forwards;4745}4746@keyframes peach-help-fade-in { from { opacity: 0 } to { opacity: 1 } }4747.peach-shortcuts-help-card {4748  width: min(320px, 92vw);4749  max-height: 80vh;4750  overflow-y: auto;4751  border-radius: 14px;4752  border: 1px solid var(--peach-t3);4753  background: var(--peach-bg);4754  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);4755  padding: 16px 18px 18px;4756  display: flex;4757  flex-direction: column;4758  gap: 12px;4759}4760.peach-shortcuts-help-head {4761  display: flex; align-items: center; justify-content: space-between;4762}4763.peach-shortcuts-help-head h3 {4764  margin: 0;4765  font-family: var(--font-display);4766  font-style: italic;4767  font-weight: 400;4768  font-size: 22px;4769  color: var(--peach-t0);4770}4771.peach-shortcuts-help-close {4772  background: transparent;4773  border: none;4774  color: var(--peach-t2);4775  cursor: pointer;4776  font-size: 0.875rem;4777  padding: 4px 8px;4778  border-radius: 5px;4779}4780.peach-shortcuts-help-close:hover { color: var(--peach-t0); background: var(--surface-card); }4781.peach-shortcuts-help-body ul {4782  list-style: none; padding: 0; margin: 4px 0 12px;4783  display: grid; gap: 8px;4784}4785.peach-shortcuts-help-body li {4786  display: flex; align-items: center; justify-content: space-between; gap: 12px;4787  font-size: 0.75rem; color: var(--peach-t0);4788}4789.peach-shortcuts-help-body kbd {4790  font-family: var(--font-mono);4791  font-size: 0.6875rem;4792  padding: 3px 8px;4793  border-radius: 6px;4794  background: var(--surface-card);4795  border: 1px solid var(--peach-t3);4796  color: var(--peach-accent);4797  letter-spacing: 0.04em;4798}47994800/* ── Pro promo on Account screen ────────────────────────────── */4801.peach-pro-promo {4802  position: relative;4803  border-radius: 14px;4804  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);4805  background:4806    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent) 0%, transparent 60%),4807    radial-gradient(85% 100% at 100% 100%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 0%, transparent 65%),4808    var(--surface-card);4809  overflow: hidden;4810  margin-bottom: 14px;4811}4812.peach-pro-promo-glow {4813  position: absolute;4814  inset: -40% -20% auto auto;4815  width: 220px; height: 220px;4816  background: radial-gradient(closest-side, var(--peach-glow), transparent 70%);4817  pointer-events: none;4818  filter: blur(8px);4819}4820.peach-pro-promo-inner {4821  position: relative;4822  padding: 18px 18px 16px;4823}4824.peach-pro-promo-title {4825  font-family: var(--font-display);4826  font-style: italic;4827  font-weight: 400;4828  font-size: 28px;4829  line-height: 1;4830  letter-spacing: -0.005em;4831  color: var(--peach-t0);4832  margin: 0 0 4px;4833}4834.peach-pro-promo-tagline {4835  font-family: var(--font-mono);4836  font-size: 0.625rem;4837  letter-spacing: 0.06em;4838  color: var(--peach-t2);4839  margin: 0 0 14px;4840}4841.peach-pro-promo-list {4842  list-style: none;4843  margin: 0 0 16px;4844  padding: 0;4845  display: grid;4846  gap: 9px;4847}4848.peach-pro-promo-list li {4849  display: flex;4850  align-items: flex-start;4851  gap: 9px;4852  font-size: 0.75rem;4853  color: var(--peach-t1);4854  line-height: 1.4;4855}4856.peach-pro-promo-list svg {4857  width: 14px;4858  height: 14px;4859  flex-shrink: 0;4860  color: var(--peach-accent);4861  margin-top: 2px;4862}4863.peach-pro-promo-list span {4864  color: var(--peach-t0);4865}4866.peach-pro-promo-cta {4867  width: 100%;4868  background: var(--peach-accent);4869  color: #fff;4870  border: none;4871  padding: 9px 12px;4872  border-radius: 9px;4873  font-size: 0.75rem;4874  font-weight: 500;4875  font-family: var(--font-ui);4876  letter-spacing: 0.02em;4877  text-decoration: none;4878  display: inline-flex;4879  align-items: center;4880  justify-content: center;4881  cursor: pointer;4882  transition: filter 120ms ease, box-shadow 120ms ease, transform 80ms ease;4883  box-shadow: 0 2px 16px var(--peach-glow);4884}4885.peach-pro-promo-cta:hover {4886  filter: brightness(1.07);4887  box-shadow: 0 4px 24px var(--peach-glow);4888  transform: translateY(-1px);4889}4890.peach-pro-promo-cta:active { transform: translateY(0); filter: brightness(0.96); }48914892.peach-pro-or-divider {4893  display: flex;4894  align-items: center;4895  gap: 10px;4896  margin: 4px 0 12px;4897  font-family: var(--font-mono);4898  font-size: 0.625rem;4899  letter-spacing: 0.06em;4900  color: var(--peach-t2);4901  text-transform: uppercase;4902}4903.peach-pro-or-divider::before,4904.peach-pro-or-divider::after {4905  content: "";4906  flex: 1;4907  height: 1px;4908  background: var(--peach-t3);4909}49104911.peach-loading {4912  position: absolute;4913  inset: 0;4914  display: flex;4915  align-items: center;4916  justify-content: center;4917  background: var(--bg);4918  animation: peach-loading-pulse 1.2s ease-in-out infinite;4919}49204921@keyframes peach-loading-pulse {4922  0%, 100% { opacity: 0.6; }4923  50% { opacity: 1; }4924}49254926/* ── Health Dashboard ─────────────────────────────────────────────────── */4927.peach-health-body {4928  flex: 1;4929  overflow-y: auto;4930  display: flex;4931  flex-direction: column;4932  /* Hide the platform scrollbar — every other scrollable surface in the4933   * popup hides it; the Health view was the one outlier and it ruined the4934   * polish. Behavior unchanged, just no rail rendered. */4935  scrollbar-width: none;4936  -ms-overflow-style: none;4937}4938.peach-health-body::-webkit-scrollbar { display: none; }49394940/* Loading screen for the Vault Health view. The advanced report computation4941 * can run for a few seconds on a large vault — without a clear loading4942 * screen the surface looked broken (the entry view bleeds through the4943 * empty body). Centered glyph + title + copy + indeterminate progress bar. */4944.peach-health-loading-screen {4945  flex: 1;4946  display: flex;4947  flex-direction: column;4948  align-items: center;4949  justify-content: center;4950  gap: 14px;4951  padding: 32px 28px;4952  text-align: center;4953}49544955.peach-health-loading-glyph {4956  width: 48px;4957  height: 48px;4958  display: flex;4959  align-items: center;4960  justify-content: center;4961  border-radius: 14px;4962  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4963  color: var(--peach-accent);4964}49654966.peach-health-loading-title {4967  margin: 0;4968  font-family: var(--font-display);4969  font-style: italic;4970  font-weight: 300;4971  font-size: 19px;4972  line-height: 1.2;4973  color: var(--peach-t0);4974}49754976.peach-health-loading-copy {4977  margin: 0;4978  max-width: 240px;4979  font-size: 0.75rem;4980  line-height: 1.55;4981  color: var(--peach-t2);4982}49834984.peach-health-loading-track {4985  width: 200px;4986  height: 3px;4987  margin-top: 6px;4988  border-radius: 999px;4989  background: rgba(240, 232, 216, 0.06);4990  overflow: hidden;4991}49924993.peach-health-loading-fill {4994  width: 40%;4995  height: 100%;4996  border-radius: inherit;4997  background: linear-gradient(4998    90deg,4999    transparent 0%,5000    var(--peach-accent) 50%,5001    transparent 100%5002  );5003  animation: peach-health-loading-sweep 1.4s ease-in-out infinite;5004}50055006@keyframes peach-health-loading-sweep {5007  0%   { transform: translateX(-100%); }5008  100% { transform: translateX(350%); }5009}50105011[data-motion="reduce"] .peach-health-loading-fill,5012[data-motion="reduce"] .peach-health-loading-glyph svg path {5013  animation: none;5014}50155016.peach-health-summary {5017  padding: 10px 16px 6px;5018  font-family: "IBM Plex Mono", monospace;5019  font-size: 0.6875rem;5020}5021.peach-health-summary-warn { color: rgba(220,80,60,0.9); }5022.peach-health-summary-ok { color: var(--peach-t2); }50235024.peach-health-check-row {5025  padding: 0 16px 10px;5026}5027.peach-health-check-btn {5028  width: 100%;5029  display: flex;5030  align-items: center;5031  justify-content: center;5032}50335034.peach-health-sections {5035  flex: 1;5036  display: flex;5037  flex-direction: column;5038}50395040.peach-health-section {5041  border-bottom: 1px solid var(--peach-t3);5042}50435044.peach-health-section-header {5045  width: 100%;5046  display: flex;5047  align-items: center;5048  justify-content: space-between;5049  padding: 9px 16px;5050  background: transparent;5051  cursor: pointer;5052  color: var(--peach-t0);5053}50545055.peach-health-section-title-row {5056  display: flex;5057  align-items: center;5058  gap: 8px;5059}50605061.peach-health-count-badge {5062  display: inline-flex;5063  align-items: center;5064  justify-content: center;5065  min-width: 20px;5066  height: 18px;5067  padding: 0 5px;5068  border-radius: 999px;5069  background: rgba(220,80,60,0.15);5070  border: 1px solid rgba(220,80,60,0.25);5071  font-family: "IBM Plex Mono", monospace;5072  font-size: 0.5625rem;5073  color: rgba(220,80,60,0.9);5074}50755076.peach-health-section-title {5077  font-family: "IBM Plex Mono", monospace;5078  font-size: 0.6875rem;5079  text-transform: uppercase;5080  letter-spacing: 0.1em;5081  color: var(--peach-t1);5082}50835084.peach-health-chevron {5085  color: var(--peach-t2);5086  transition: transform 200ms ease;5087  flex-shrink: 0;5088}5089.peach-health-chevron.is-expanded {5090  transform: rotate(180deg);5091}50925093.peach-health-section-body {5094  padding: 0 16px 10px;5095  display: flex;5096  flex-direction: column;5097  gap: 4px;5098}50995100.peach-health-row {5101  display: flex;5102  align-items: flex-start;5103  justify-content: space-between;5104  gap: 8px;5105  padding: 6px 8px;5106  border-radius: 8px;5107  background: rgba(240,232,216,0.02);5108}51095110.peach-health-row-info {5111  flex: 1;5112  min-width: 0;5113  display: flex;5114  flex-direction: column;5115  gap: 2px;5116}51175118.peach-health-row-name {5119  font-family: var(--font-display);5120  font-size: 0.9375rem;5121  font-style: italic;5122  font-weight: 400;5123  color: var(--peach-t0);5124  white-space: nowrap;5125  overflow: hidden;5126  text-overflow: ellipsis;5127}51285129.peach-health-row-meta {5130  font-family: "IBM Plex Mono", monospace;5131  font-size: 0.5625rem;5132  color: var(--peach-t2);5133  letter-spacing: 0.05em;5134}51355136.peach-health-fix-btn {5137  font-size: 0.5625rem;5138  letter-spacing: 0.08em;5139  text-transform: uppercase;5140  padding: 4px 7px;5141  flex-shrink: 0;5142  display: flex;5143  align-items: center;5144}51455146.peach-health-empty {5147  font-family: "IBM Plex Mono", monospace;5148  font-size: 0.625rem;5149  color: var(--peach-t2);5150  padding: 6px 0;5151}51525153.peach-health-loading {5154  font-family: "IBM Plex Mono", monospace;5155  font-size: 0.625rem;5156  color: var(--peach-t2);5157  padding: 6px 0;5158  display: flex;5159  align-items: center;5160  gap: 6px;5161}51625163.peach-health-loading::before {5164  content: "";5165  width: 10px;5166  height: 10px;5167  border: 1.5px solid var(--peach-t3);5168  border-top-color: var(--peach-accent);5169  border-radius: 50%;5170  animation: peach-spin 600ms linear infinite;5171}51725173@keyframes peach-spin {5174  to { transform: rotate(360deg); }5175}51765177.peach-spinner {5178  width: 32px;5179  height: 32px;5180  border: 2px solid var(--peach-s2);5181  border-top-color: var(--peach-accent);5182  border-radius: 50%;5183  margin: 0 auto 16px;5184  animation: peach-spin 0.8s linear infinite;5185}51865187.peach-progress-screen {5188  text-align: center;5189  padding: 32px 16px;5190}51915192.peach-progress-screen-title {5193  font-size: 0.8125rem;5194  color: var(--peach-t0);5195  margin-bottom: 16px;5196}51975198.peach-progress-screen-stage {5199  font-size: 0.6875rem;5200  color: var(--peach-t2);5201  min-height: 14px;5202}52035204.peach-progress-screen-note {5205  font-size: 0.625rem;5206  color: var(--peach-t2);5207  margin-top: 8px;5208}52095210/* Pairing commits the vault key before the first entry sync. Keep that5211   implementation detail off-screen until the paired source records a real,5212   durable sync completion. */5213.peach-initial-sync {5214  position: relative;5215  display: flex;5216  align-items: center;5217  justify-content: center;5218  overflow: hidden;5219}52205221.peach-initial-sync-card {5222  position: relative;5223  z-index: 1;5224  width: min(100%, 320px);5225  display: flex;5226  flex-direction: column;5227  align-items: center;5228  gap: 10px;5229  padding: 36px 26px;5230  text-align: center;5231}52325233.peach-initial-sync-mark {5234  width: 54px;5235  height: 54px;5236  display: flex;5237  align-items: center;5238  justify-content: center;5239  border-radius: 18px;5240  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);5241  margin-bottom: 4px;5242}52435244.peach-initial-sync-mark svg {5245  width: 34px;5246  height: 34px;5247}52485249.peach-initial-sync-card h1 {5250  margin: 0;5251  color: var(--peach-t0);5252  font-family: var(--font-display);5253  font-size: 1.55rem;5254  font-style: italic;5255  font-weight: 400;5256}52575258.peach-initial-sync-card > p {5259  margin: 0;5260}52615262.peach-initial-sync-card #initial-sync-copy {5263  color: var(--peach-t1);5264  font-size: 0.78rem;5265  line-height: 1.55;5266}52675268.peach-initial-sync-progress {5269  width: 100%;5270  height: 3px;5271  overflow: hidden;5272  border-radius: 999px;5273  background: color-mix(in srgb, var(--peach-t0) 8%, transparent);5274  margin: 8px 0 2px;5275}52765277.peach-initial-sync-progress span {5278  display: block;5279  width: 42%;5280  height: 100%;5281  border-radius: inherit;5282  background: var(--peach-accent);5283  animation: peach-initial-sync-progress 1.4s cubic-bezier(0.2, 0, 0, 1) infinite;5284}52855286@keyframes peach-initial-sync-progress {5287  from { transform: translateX(-115%); }5288  to { transform: translateX(340%); }5289}52905291.peach-initial-sync-note {5292  color: var(--peach-t2);5293  font-size: 0.625rem;5294  line-height: 1.45;5295}52965297.peach-initial-sync-slow {5298  width: 100%;5299  display: flex;5300  flex-direction: column;5301  gap: 10px;5302  padding-top: 10px;5303  border-top: 1px solid var(--peach-border);5304}53055306.peach-initial-sync-slow p {5307  margin: 0;5308  color: var(--peach-t2);5309  font-size: 0.6875rem;5310  line-height: 1.45;5311}53125313.peach-initial-sync-slow .peach-btn {5314  width: 100%;5315}53165317@media (prefers-reduced-motion: reduce) {5318  .peach-initial-sync-progress span {5319    width: 100%;5320    opacity: 0.7;5321    animation: none;5322  }5323}53245325/* Tag chips */5326.peach-tag-chip {5327  display: inline-flex;5328  align-items: center;5329  gap: 4px;5330  padding: 3px 8px;5331  border-radius: 999px;5332  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);5333  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5334  color: var(--peach-t0);5335  font-family: "IBM Plex Mono", monospace;5336  font-size: 0.625rem;5337  letter-spacing: 0.04em;5338}53395340.peach-tag-chip-remove {5341  background: transparent;5342  border: none;5343  color: inherit;5344  opacity: 0.6;5345  cursor: pointer;5346  padding: 0;5347  font-size: 0.75rem;5348  line-height: 1;5349}53505351.peach-tag-chip-remove:hover {5352  opacity: 1;5353}53545355/* Tag input */5356.peach-tag-input-wrap {5357  border-bottom: 1px solid var(--peach-t3);5358}53595360.peach-tag-suggestions {5361  display: flex;5362  flex-wrap: wrap;5363  gap: 4px;5364  padding: 6px 0;5365}53665367.peach-tag-suggestion {5368  padding: 2px 8px;5369  border-radius: 999px;5370  border: 1px solid var(--peach-t3);5371  background: var(--peach-s2);5372  color: var(--peach-t1);5373  font-family: "IBM Plex Mono", monospace;5374  font-size: 0.625rem;5375  cursor: pointer;5376  transition: border-color 80ms ease, background 80ms ease;5377}53785379.peach-tag-suggestion:hover {5380  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);5381  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5382}53835384/* Identity suggestions — shown below username/email inputs in new-entry form */5385@keyframes peach-suggest-in {5386  from { opacity: 0; transform: translateY(-4px); }5387  to   { opacity: 1; transform: none; }5388}53895390.peach-identity-suggestions {5391  display: flex;5392  flex-direction: column;5393  gap: 1px;5394  margin-top: 4px;5395  animation: peach-suggest-in 180ms cubic-bezier(0.16, 1, 0.3, 1) both;5396}53975398.peach-identity-filter-row {5399  display: flex;5400  align-items: center;5401  gap: 4px;5402  padding: 2px 0 5px;5403}54045405.peach-identity-collapse-btn {5406  margin-left: auto;5407  background: transparent;5408  border: none;5409  cursor: pointer;5410  color: var(--peach-t3);5411  padding: 2px 4px;5412  display: flex;5413  align-items: center;5414  line-height: 0;5415  border-radius: 3px;5416  transition: color 100ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);5417}54185419.peach-identity-collapse-btn:hover {5420  color: var(--peach-t1);5421}54225423.peach-identity-collapse-btn.is-collapsed {5424  transform: rotate(-90deg);5425}54265427.peach-identity-rows {5428  display: grid;5429  grid-template-rows: 1fr;5430  transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1);5431}54325433.peach-identity-rows.is-collapsed {5434  grid-template-rows: 0fr;5435}54365437.peach-identity-rows-inner {5438  overflow-y: auto;5439  min-height: 0;5440  max-height: 148px;5441  scrollbar-width: thin;5442  scrollbar-color: var(--peach-t3) transparent;5443  mask-image: linear-gradient(to bottom, black calc(100% - 18px), transparent 100%);5444  -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 18px), transparent 100%);5445}54465447.peach-identity-rows-inner::-webkit-scrollbar {5448  width: 4px;5449}54505451.peach-identity-rows-inner::-webkit-scrollbar-track {5452  background: transparent;5453}54545455.peach-identity-rows-inner::-webkit-scrollbar-thumb {5456  background: var(--peach-t3);5457  border-radius: 2px;5458}54595460.peach-identity-filter-pill {5461  padding: 2px 7px;5462  border-radius: 999px;5463  border: 1px solid var(--peach-t3);5464  background: transparent;5465  color: var(--peach-t2);5466  font-family: "IBM Plex Mono", monospace;5467  font-size: 0.6rem;5468  cursor: pointer;5469  transition: border-color 80ms, background 80ms, color 80ms;5470}54715472.peach-identity-filter-pill.is-on {5473  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5474  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5475  color: var(--peach-accent);5476}54775478.peach-identity-suggestion {5479  display: flex;5480  align-items: center;5481  gap: 6px;5482  width: 100%;5483  padding: 4px 6px;5484  border-radius: 5px;5485  border: none;5486  background: transparent;5487  cursor: pointer;5488  text-align: left;5489  transition: background 80ms ease;5490}54915492.peach-identity-suggestion:hover,5493.peach-identity-suggestion:focus {5494  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5495  outline: none;5496}54975498.peach-identity-suggestion-value {5499  font-family: "IBM Plex Mono", monospace;5500  font-size: 0.7rem;5501  color: var(--peach-t1);5502  overflow: hidden;5503  text-overflow: ellipsis;5504  white-space: nowrap;5505  flex: 1;5506  min-width: 0;5507}55085509.peach-identity-suggestion-type {5510  font-family: "IBM Plex Mono", monospace;5511  font-size: 0.55rem;5512  font-weight: 600;5513  flex-shrink: 0;5514  padding: 1px 4px;5515  border-radius: 3px;5516}55175518.peach-identity-suggestion-type--email {5519  color: color-mix(in srgb, var(--peach-accent) 70%, transparent);5520  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5521}55225523.peach-identity-suggestion-type--username {5524  color: color-mix(in srgb, var(--peach-t1) 60%, transparent);5525  background: color-mix(in srgb, var(--peach-t3) 40%, transparent);5526}55275528.peach-identity-suggestion-meta {5529  font-family: "IBM Plex Mono", monospace;5530  font-size: 0.6rem;5531  color: var(--peach-t3);5532  flex-shrink: 0;5533}55345535/* Tag filter strip */5536.peach-tag-filter-strip {5537  border-bottom: 1px solid var(--peach-t3);5538  flex-shrink: 0;5539}55405541.peach-tag-filter-chip {5542  display: inline-flex;5543  align-items: center;5544  padding: 4px 10px;5545  border-radius: 999px;5546  border: 1px solid var(--peach-t3);5547  background: transparent;5548  color: var(--peach-t2);5549  font-family: "IBM Plex Mono", monospace;5550  font-size: 0.5625rem;5551  letter-spacing: 0.06em;5552  text-transform: uppercase;5553  cursor: pointer;5554  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;5555  white-space: nowrap;5556}55575558.peach-tag-filter-chip:hover {5559  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);5560  color: var(--peach-t1);5561}55625563.peach-tag-filter-chip.is-selected {5564  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5565  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);5566  color: var(--peach-t0);5567}55685569/* ─────────────────────────────────────────────────────────────────────────5570   v1.4.12 additions5571   ─────────────────────────────────────────────────────────────────────── */55725573/* Sort bar */5574.peach-sort-bar {5575  display: flex;5576  align-items: center;5577  gap: 4px;5578  padding: 5px 12px;5579  border-bottom: 1px solid var(--peach-t3);5580  flex-shrink: 0;5581  overflow-x: auto;5582  scrollbar-width: none;5583}55845585.peach-sort-btn {5586  padding: 2px 9px;5587  border-radius: 999px;5588  border: 1px solid transparent;5589  background: transparent;5590  color: var(--peach-t2);5591  font-family: "IBM Plex Mono", monospace;5592  font-size: 0.5625rem;5593  letter-spacing: 0.07em;5594  text-transform: uppercase;5595  cursor: pointer;5596  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;5597  white-space: nowrap;5598}55995600.peach-sort-btn:hover {5601  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);5602  color: var(--peach-t1);5603}56045605.peach-sort-btn.is-active {5606  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5607  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);5608  color: var(--peach-t0);5609}56105611.peach-sort-scope-btn {5612  padding-inline: 8px;5613  font-size: 0.53125rem;5614  letter-spacing: 0.05em;5615}56165617.peach-sort-domain-hint {5618  margin-left: auto;5619  font-family: "IBM Plex Mono", monospace;5620  font-size: 0.5625rem;5621  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);5622  white-space: nowrap;5623  overflow: hidden;5624  text-overflow: ellipsis;5625  max-width: 110px;5626}56275628/* Tab-match badge on entry rows */5629.peach-tab-match-badge {5630  display: inline-block;5631  width: 6px;5632  height: 6px;5633  border-radius: 50%;5634  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);5635  margin-left: 5px;5636  vertical-align: middle;5637  flex-shrink: 0;5638  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);5639}56405641.peach-entry-row.is-tab-match {5642  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5643  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);5644}56455646.peach-entry-row.is-tab-match:hover {5647  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5648}56495650/* Entry list stagger entrance */5651@keyframes peach-entry-fadein {5652  from { opacity: 0; transform: translateY(4px); }5653  to   { opacity: 1; transform: translateY(0); }5654}56555656.peach-vault-list .peach-entry-row {5657  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;5658}56595660/* Button press micro-interaction */5661.peach-btn:active {5662  transform: scale(0.95);5663  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);5664}56655666.peach-sort-btn:active,5667.peach-tag-filter-chip:active {5668  transform: scale(0.93);5669  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);5670}56715672/* Password strength bar (Lock view + shared) */5673.peach-password-strength {5674  display: flex;5675  align-items: center;5676  gap: 8px;5677  margin-top: 6px;5678}56795680.peach-strength-bar {5681  flex: 1;5682  height: 3px;5683  border-radius: 2px;5684  background: var(--peach-t3);5685  overflow: hidden;5686}56875688.peach-strength-fill {5689  height: 100%;5690  border-radius: 2px;5691  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),5692              background 300ms ease;5693}56945695.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }5696.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }5697.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }5698.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }56995700.peach-strength-label {5701  font-family: "IBM Plex Mono", monospace;5702  font-style: italic;5703  font-size: 0.5625rem;5704  font-weight: 300;5705  letter-spacing: 0.06em;5706  color: var(--peach-t2);5707  min-width: 36px;5708  text-align: right;5709}57105711.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }5712.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }5713.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }5714.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }57155716/* Duress form */5717.peach-duress-status {5718  padding: 2px 8px;5719  border-radius: 999px;5720  border: 1px solid var(--peach-t3);5721  font-family: "IBM Plex Mono", monospace;5722  font-size: 0.5625rem;5723  letter-spacing: 0.07em;5724  text-transform: uppercase;5725  color: var(--peach-t2);5726  flex-shrink: 0;5727}57285729.peach-duress-status.is-active {5730  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);5731  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5732  color: var(--peach-t0);5733}57345735.peach-duress-form {5736  padding: 8px 0 4px;5737  display: flex;5738  flex-direction: column;5739  gap: 6px;5740}57415742.peach-duress-form .peach-label {5743  margin-top: 4px;5744}57455746.peach-duress-actions {5747  display: flex;5748  gap: 6px;5749  align-items: center;5750  margin-top: 4px;5751}57525753.peach-duress-actions .peach-btn:first-child {5754  margin-right: auto;5755}57565757/* Improved overlay spring entrance */5758.peach-overlay-view.ov-enter-up {5759  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;5760}57615762@keyframes ov-enter-up-spring {5763  from { opacity: 0; transform: translateY(16px) scale(0.98); }5764  to   { opacity: 1; transform: translateY(0) scale(1); }5765}57665767.peach-overlay-view.ov-enter-right {5768  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;5769}57705771@keyframes ov-enter-right-spring {5772  from { opacity: 0; transform: translateX(18px) scale(0.98); }5773  to   { opacity: 1; transform: translateX(0) scale(1); }5774}57755776/* ── Onboarding-mode restore screens (file import) ── */5777/* Used when MainImportView renders during onboarding (no vault yet).5778   Animates like a lock-screen transition. */5779.peach-lock-view {5780  position: absolute;5781  inset: 0;5782  display: flex;5783  flex-direction: column;5784  background:5785    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),5786    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),5787    var(--peach-bg);5788  z-index: 2;5789  overflow: hidden;5790  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;5791}57925793.peach-lock-view-header {5794  display: flex;5795  align-items: center;5796  justify-content: space-between;5797  padding: 16px 18px 12px;5798  flex-shrink: 0;5799}58005801/* ───────── Settings: auto-lock select ───────── */5802.peach-settings-select {5803  font-family: "IBM Plex Mono", monospace;5804  font-size: 0.6875rem;5805  background: transparent;5806  border: 1px solid var(--peach-t3);5807  border-radius: 4px;5808  color: var(--peach-t1);5809  padding: 3px 6px;5810  cursor: pointer;5811  outline: none;5812}5813.peach-settings-select:focus {5814  border-color: var(--peach-accent);5815}58165817/* ───────── Duress status pill (new polished) ───────── */5818.peach-duress-status-pill {5819  font-family: "IBM Plex Mono", monospace;5820  font-size: 0.5625rem;5821  text-transform: uppercase;5822  letter-spacing: 0.12em;5823  padding: 2px 8px;5824  border-radius: 12px;5825  background: var(--peach-t3);5826  color: var(--peach-t2);5827  flex-shrink: 0;5828}5829.peach-duress-status-pill.is-active {5830  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);5831  color: var(--peach-accent);5832}58335834/* ───────── Entry advanced disclosure (canary) ───────── */5835.peach-entry-advanced {5836  margin-top: 12px;5837  border-top: 1px solid var(--peach-t3);5838  padding-top: 10px;5839  position: relative;5840  z-index: 1;5841}5842.peach-entry-advanced-toggle {5843  display: flex;5844  align-items: center;5845  justify-content: space-between;5846  width: 100%;5847  background: transparent;5848  border: none;5849  cursor: pointer;5850  padding: 0;5851  color: var(--peach-t2);5852}5853.peach-canary-section {5854  margin-top: 10px;5855  display: grid;5856  gap: 6px;5857}58585859/* ───────── Import: merge/replace radio choices ───────── */5860.peach-import-choice {5861  display: flex;5862  align-items: flex-start;5863  gap: 10px;5864  padding: 8px 10px;5865  border: 1px solid var(--peach-t3);5866  border-radius: 10px;5867  cursor: pointer;5868  margin-bottom: 6px;5869  transition: border-color 120ms ease, background 120ms ease;5870}5871.peach-import-choice:hover {5872  border-color: var(--peach-accent);5873}5874.peach-import-choice input[type="radio"] {5875  margin-top: 3px;5876  accent-color: var(--peach-accent);5877  flex-shrink: 0;5878}5879.peach-import-choice-main {5880  display: flex;5881  flex-direction: column;5882  gap: 2px;5883  min-width: 0;5884}5885.peach-import-choice-label {5886  font-size: 0.75rem;5887  color: var(--peach-t0);5888}5889.peach-import-choice-sub {5890  font-size: 0.6875rem;5891  color: var(--peach-t2);5892  line-height: 1.5;5893}58945895/* ───────── Export: success confirmation strip ───────── */5896.peach-export-success {5897  display: flex;5898  align-items: flex-start;5899  gap: 10px;5900  padding: 12px;5901  border-radius: 12px;5902  border: 1px solid rgba(150, 175, 110, 0.3);5903  background: rgba(150, 175, 110, 0.08);5904  color: var(--peach-t0);5905  font-size: 0.75rem;5906  line-height: 1.55;5907}5908.peach-export-success-check {5909  color: rgba(150, 175, 110, 0.9);5910  font-size: 0.875rem;5911  flex-shrink: 0;5912}59135914/* ── Trash view ──────────────────────────────────────────────────────── */5915.peach-trash-entry-row {5916  display: flex;5917  align-items: center;5918  justify-content: space-between;5919  gap: 8px;5920  padding: 8px 0;5921  border-bottom: 1px solid var(--peach-border);5922}5923.peach-trash-entry-info {5924  flex: 1;5925  min-width: 0;5926  display: flex;5927  flex-direction: column;5928  gap: 2px;5929}5930.peach-trash-entry-title {5931  font-size: 0.8125rem;5932  color: var(--peach-t0);5933  overflow: hidden;5934  text-overflow: ellipsis;5935  white-space: nowrap;5936}5937.peach-trash-entry-meta {5938  font-family: var(--font-mono);5939  font-size: 0.5625rem;5940  color: var(--peach-t2);5941  letter-spacing: 0.04em;5942}5943.peach-trash-entry-actions {5944  display: flex;5945  align-items: center;5946  gap: 4px;5947  flex-shrink: 0;5948}5949.peach-trash-delete-btn {5950  background: transparent;5951  border: 0;5952  color: var(--peach-t3);5953  font-size: 1rem;5954  line-height: 1;5955  cursor: pointer;5956  padding: 2px 5px;5957  transition: color 0.15s;5958}5959.peach-trash-delete-btn:hover { color: var(--peach-breach); }5960.peach-trash-list {5961  overflow-y: auto;5962}5963.peach-trash-footer {5964  display: flex;5965  align-items: center;5966  gap: 8px;5967  padding: 8px 0 0;5968  border-top: 1px solid var(--peach-border);5969  margin-top: 4px;5970}5971.peach-trash-purge-all {5972  background: transparent;5973  border: 0;5974  color: var(--peach-t3);5975  font-size: 0.625rem;5976  cursor: pointer;5977  padding: 4px 0;5978  letter-spacing: 0.03em;5979  transition: color 0.2s;5980}5981.peach-trash-purge-all:hover { color: var(--peach-breach); }5982.peach-trash-purge-confirm-label {5983  font-size: 0.625rem;5984  color: var(--peach-t1);5985  flex: 1;5986}59875988/* ── Settings shortcuts grid ─────────────────────────────────────────── */5989.peach-shortcuts-grid {5990  display: grid;5991  grid-template-columns: auto 1fr;5992  gap: 6px 12px;5993  align-items: center;5994  padding: 4px 0;5995}5996.peach-shortcut-key {5997  font-family: var(--font-mono);5998  font-size: 0.625rem;5999  color: var(--peach-t0);6000  background: var(--peach-t3);6001  border-radius: 4px;6002  padding: 2px 6px;6003  white-space: nowrap;6004  text-align: center;6005}6006.peach-shortcut-desc {6007  font-size: 0.6875rem;6008  color: var(--peach-t1);6009}60106011/* ── Sort bar trash button ───────────────────────────────────────────── */6012.peach-sort-trash-btn {6013  display: flex;6014  align-items: center;6015  justify-content: center;6016  padding: 3px 5px;6017  background: transparent;6018  border: none;6019  cursor: pointer;6020  color: var(--peach-t2);6021  border-radius: 4px;6022  transition: color 140ms ease, background 140ms ease;6023}6024.peach-sort-trash-btn:hover {6025  color: var(--peach-t1);6026  background: var(--peach-t3);6027}6028.peach-sort-trash-btn.is-active {6029  color: var(--peach-accent);6030}60316032/* Accent color picker */6033.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }6034.peach-accent-picker {6035  display: flex;6036  flex-wrap: wrap;6037  gap: 7px;6038  padding: 2px 0;6039}6040.peach-accent-swatch {6041  width: 22px;6042  height: 22px;6043  border-radius: 50%;6044  border: 2px solid transparent;6045  cursor: pointer;6046  padding: 0;6047  transition: transform 100ms;6048  outline-offset: 2px;6049}6050.peach-accent-swatch:hover { transform: scale(1.15); }6051.peach-accent-swatch.is-active {6052  border-color: var(--peach-t0);6053  transform: scale(1.1);6054}60556056.peach-pill-group {6057  display: flex;6058  gap: 6px;6059}6060.peach-pill-group .peach-btn.is-active {6061  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);6062  border-color: var(--peach-accent);6063  color: var(--peach-t0);6064}60656066/* ── Card entry styles ───────────────────────────────────────── */6067.peach-card-number {6068  font-family: var(--peach-mono);6069  letter-spacing: 0.08em;6070}60716072.peach-card-network-badge {6073  font-size: 0.625rem;6074  padding: 1px 5px;6075  border-radius: 4px;6076  border: 0.5px solid var(--peach-border);6077  color: var(--peach-text-dim);6078  margin-left: 6px;6079  vertical-align: middle;6080}60816082.peach-card-expiry-row {6083  display: flex;6084  align-items: center;6085  gap: 8px;6086}60876088.peach-card-expiry-sep {6089  color: var(--peach-text-dim);6090}60916092/* ── Pro tier — upgrade screen ──────────────────────────────── */6093.peach-pro-mark {6094  font-size: 0.5625rem;6095  color: var(--peach-accent);6096  margin-left: 6px;6097  vertical-align: super;6098  opacity: 0.7;6099}61006101.peach-pro-mini-badge {6102  display: block;6103  font-size: 0.625rem;6104  font-style: italic;6105  color: var(--peach-accent);6106  letter-spacing: 0.04em;6107  margin-top: -2px;6108  padding-left: 2px;6109  opacity: 0.85;6110  text-align: center;6111}61126113.peach-wordmark-stack {6114  display: inline-flex;6115  flex-direction: column;6116  align-items: center;6117}61186119/* ── Pro tier — upgrade page ─────────────────────────────────── */6120/* ── Pro upgrade — redesigned editorial layout ─────────────────── */61216122.peach-pro-upgrade {6123  display: flex;6124  flex-direction: column;6125  align-items: stretch;6126  gap: 10px;6127  padding: 2px 2px 12px;6128}61296130.peach-pro-eyebrow {6131  margin: 0;6132  font-family: var(--font-ui);6133  font-size: 0.625rem;6134  font-weight: 500;6135  letter-spacing: 0.12em;6136  color: var(--peach-accent);6137}61386139.peach-pro-headline {6140  margin: 0;6141  font-family: var(--font-display, "Cormorant Garamond", serif);6142  font-size: 30px;6143  font-weight: 700;6144  font-style: normal;6145  line-height: 1.05;6146  color: var(--peach-t0);6147  letter-spacing: -0.01em;6148}6149.peach-pro-headline em {6150  font-style: italic;6151  font-weight: 400;6152  color: var(--peach-accent);6153}61546155.peach-pro-subtitle {6156  margin: 0;6157  font-size: 0.6875rem;6158  line-height: 1.5;6159  color: var(--peach-t1);6160}61616162/* Group header for the Pro feature grid (e.g. "ADVANCED SECURITY"). */6163.peach-pro-section-label {6164  margin: 6px 0 0;6165  font-family: var(--font-ui);6166  font-size: 0.5625rem;6167  font-weight: 500;6168  letter-spacing: 0.12em;6169  text-transform: uppercase;6170  color: var(--peach-t2);6171}61726173/* 2-column numbered feature grid */6174.peach-pro-grid {6175  display: grid;6176  grid-template-columns: 1fr 1fr;6177  border-top: 1px solid var(--peach-border);6178  border-left: 1px solid var(--peach-border);6179}61806181.peach-pro-grid-item {6182  display: flex;6183  flex-direction: column;6184  gap: 2px;6185  padding: 8px 9px;6186  border-right: 1px solid var(--peach-border);6187  border-bottom: 1px solid var(--peach-border);6188}61896190.peach-pro-grid-item--wide {6191  grid-column: 1 / -1;6192}61936194.peach-pro-grid-num {6195  font-family: var(--font-mono);6196  font-size: 0.5625rem;6197  color: var(--peach-accent);6198  letter-spacing: 0.06em;6199  opacity: 0.85;6200}62016202.peach-pro-grid-name {6203  font-size: 0.8125rem;6204  font-weight: 500;6205  color: var(--peach-t0);6206  line-height: 1.2;6207}62086209.peach-pro-grid-desc {6210  font-size: 0.625rem;6211  color: var(--peach-t1);6212  line-height: 1.4;6213}62146215.peach-pro-grid-item.is-highlighted .peach-pro-grid-num {6216  animation: peach-pulse-accent 600ms ease-out forwards;6217}62186219@keyframes peach-pulse-accent {6220  0%   { opacity: 1; transform: scale(1.2); }6221  100% { opacity: 0.85; transform: scale(1); }6222}62236224/* Actions */6225.peach-pro-upgrade-actions {6226  display: flex;6227  flex-direction: column;6228  align-items: stretch;6229  gap: 10px;6230}62316232.peach-pro-pricing {6233  margin: 0;6234  font-size: 1rem;6235  font-weight: 600;6236  color: var(--peach-t0);6237  letter-spacing: 0.01em;6238}6239.peach-pro-pricing-sub {6240  font-size: 0.75rem;6241  font-weight: 400;6242  color: var(--peach-t1);6243  letter-spacing: 0.02em;6244}62456246.peach-pro-upgrade-cta {6247  display: flex;6248  align-items: center;6249  justify-content: center;6250  text-decoration: none;6251  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);6252  border: 1px solid var(--peach-accent);6253  border-radius: 10px;6254  color: var(--peach-accent);6255  font-family: var(--font-ui);6256  font-size: 0.8125rem;6257  font-weight: 600;6258  letter-spacing: 0.06em;6259  padding: 11px 16px;6260  transition: background 0.15s ease, color 0.15s ease;6261}6262.peach-pro-upgrade-cta:hover {6263  background: color-mix(in srgb, var(--peach-accent) 28%, transparent);6264}62656266/* Pairing's terminal entitlement fallback reuses the Peach Pro card's6267   editorial hierarchy without embedding the settings deck itself. */6268.peach-pair-pro-required {6269  width: 100%;6270  display: flex;6271  flex-direction: column;6272  align-items: stretch;6273  gap: 10px;6274  text-align: left;6275}6276.peach-pair-pro-required .peach-pro-headline {6277  font-size: 1.75rem;6278}6279.peach-pair-pro-required .peach-pro-subtitle {6280  font-size: 0.6875rem;6281}6282.peach-pair-pro-grid {6283  grid-template-columns: 1fr;6284}6285.peach-pair-pro-button {6286  width: 100%;6287  cursor: pointer;6288}6289.peach-desktop-error--pro {6290  width: min(100%, 320px);6291  overflow-y: auto;6292}62936294.peach-pro-key-divider {6295  display: flex;6296  align-items: center;6297  gap: 8px;6298  color: var(--peach-t2);6299  font-size: 0.5625rem;6300  letter-spacing: 0.1em;6301}6302.peach-pro-key-divider::before,6303.peach-pro-key-divider::after {6304  content: "";6305  flex: 1;6306  height: 1px;6307  background: var(--peach-border);6308}63096310/* Inline key entry row */6311.peach-pro-key-inline {6312  display: flex;6313  align-items: center;6314  background: color-mix(in srgb, var(--peach-t0) 4%, transparent);6315  border: 1px solid var(--peach-border);6316  border-radius: 8px;6317  overflow: hidden;6318}6319.peach-pro-key-inline-input {6320  flex: 1;6321  background: transparent;6322  border: none;6323  outline: none;6324  color: var(--peach-t1);6325  font-family: var(--font-mono);6326  font-size: 0.625rem;6327  letter-spacing: 0.06em;6328  padding: 9px 10px;6329}6330.peach-pro-key-inline-input::placeholder {6331  color: var(--peach-t2);6332}6333.peach-pro-key-apply {6334  background: transparent;6335  border: none;6336  border-left: 1px solid var(--peach-border);6337  color: var(--peach-t2);6338  font-family: var(--font-ui);6339  font-size: 0.5625rem;6340  font-weight: 600;6341  letter-spacing: 0.08em;6342  padding: 9px 10px;6343  cursor: pointer;6344  transition: color 0.15s ease;6345  flex-shrink: 0;6346}6347.peach-pro-key-apply:not(:disabled):hover {6348  color: var(--peach-accent);6349}6350.peach-pro-key-apply:disabled {6351  opacity: 0.35;6352  cursor: not-allowed;6353}63546355/* ── Pro tier — key ceremony ─────────────────────────────────── */6356.peach-pro-key-ceremony {6357  display: flex;6358  flex-direction: column;6359  align-items: center;6360  gap: 12px;6361  padding: 20px 4px 16px;6362}63636364.peach-pro-key-ceremony .peach-lock-rune-string {6365  font-size: 1rem;6366  gap: 12px;6367  flex: 0;6368  justify-content: center;6369}63706371.peach-pro-key-ceremony-label {6372  margin: 0;6373  font-size: 0.6875rem;6374  color: var(--peach-t2);6375  font-style: italic;6376  letter-spacing: 0.04em;6377}63786379.peach-pro-key-input {6380  font-family: var(--font-mono, monospace);6381  letter-spacing: 0.06em;6382  text-align: center;6383  width: 100%;6384  box-sizing: border-box;6385}63866387.peach-pro-key-error {6388  margin: 0;6389  font-size: 0.75rem;6390  text-align: center;6391  color: var(--peach-breach, #e55);6392  padding: 0;6393}63946395.peach-pro-key-activate {6396  width: 100%;6397  text-align: center;6398  box-sizing: border-box;6399  padding: 10px 20px;6400  font-size: 0.8125rem;6401}64026403.peach-pro-key-cancel {6404  background: transparent;6405  border: 0;6406  color: var(--peach-t2);6407  font-size: 0.6875rem;6408  cursor: pointer;6409  padding: 2px 8px;6410  transition: color 0.2s;6411}64126413.peach-pro-key-cancel:hover { color: var(--peach-accent); }64146415/* ── Pro tier — active state ─────────────────────────────────── */6416.peach-pro-active {6417  display: flex;6418  flex-direction: column;6419  align-items: center;6420  gap: 0;6421  padding: 8px 4px 16px;6422  min-height: 280px;6423}64246425.peach-pro-active-hero {6426  display: flex;6427  flex-direction: column;6428  align-items: center;6429  gap: 6px;6430  padding: 20px 0 8px;6431}64326433.peach-pro-active-mark-wrap {6434  display: flex;6435  align-items: center;6436  justify-content: center;6437  margin-bottom: 4px;6438}64396440.peach-pro-active-mark {6441  width: 60px;6442  height: 60px;6443}64446445.peach-pro-active-title {6446  font-family: var(--font-display, var(--font-ui));6447  font-size: 26px;6448  margin: 0;6449  color: var(--peach-t0);6450  letter-spacing: 0.01em;6451}64526453.peach-pro-active-since {6454  margin: 0;6455  font-size: 0.6875rem;6456  color: var(--peach-t2);6457  font-style: italic;6458}64596460.peach-pro-active-features {6461  display: flex;6462  flex-direction: column;6463  gap: 8px;6464  width: 100%;6465  padding: 14px 8px 0;6466  border-top: 1px solid var(--peach-border);6467  flex: 1;6468}64696470.peach-pro-active-feature {6471  display: flex;6472  align-items: center;6473  gap: 9px;6474}64756476.peach-pro-active-feature-mark {6477  color: var(--peach-accent);6478  font-size: 0.625rem;6479  opacity: 0.65;6480  flex-shrink: 0;6481}64826483.peach-pro-active-feature-name {6484  font-size: 0.75rem;6485  color: var(--peach-t1);6486}64876488.peach-pro-deactivate {6489  align-self: center;6490  background: transparent;6491  border: 0;6492  color: var(--peach-t3);6493  font-size: 0.625rem;6494  cursor: pointer;6495  padding: 8px 0 0;6496  margin-top: 16px;6497  letter-spacing: 0.03em;6498  transition: color 0.2s;6499}65006501.peach-pro-deactivate:hover { color: var(--peach-t2); }65026503.peach-pro-deactivate:disabled {6504  opacity: 0.5;6505  cursor: default;6506}65076508/* ── Pro card activation sparkles & thank-you ── */6509button.peach-pro-active-mark-wrap {6510  background: transparent;6511  border: 0;6512  padding: 0;6513  cursor: pointer;6514  position: relative;6515  overflow: visible;6516}65176518.peach-pro-sparks {6519  position: absolute;6520  inset: 0;6521  pointer-events: none;6522  overflow: visible;6523}65246525.peach-pro-spark {6526  position: absolute;6527  top: 50%;6528  left: 50%;6529  font-size: 9px;6530  line-height: 1;6531  opacity: 0;6532  transform: translate(-50%, -50%);6533  animation: peach-pro-spark-fly 1.4s ease-out var(--spark-delay, 0ms) both;6534}65356536@keyframes peach-pro-spark-fly {6537  0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }6538  25%  { opacity: 1; }6539  100% {6540    opacity: 0;6541    transform: translate(6542      calc(-50% + var(--spark-x, 0px)),6543      calc(-50% + var(--spark-y, -40px))6544    ) scale(0.8);6545  }6546}65476548.peach-pro-thankyou-text {6549  margin: 4px 0 0;6550  font-size: 0.6875rem;6551  font-style: italic;6552  color: currentColor;6553  opacity: 0;6554  animation: peach-pro-thankyou-flash 2.5s ease both;6555}65566557@keyframes peach-pro-thankyou-flash {6558  0%   { opacity: 0; transform: translateY(4px); }6559  15%  { opacity: 0.75; transform: translateY(0); }6560  75%  { opacity: 0.75; }6561  100% { opacity: 0; }6562}65636564/* ── Pro advanced health remediation queue ──────────────────── */6565.peach-health-pro-queue {6566  display: flex;6567  flex-direction: column;6568  gap: 10px;6569  padding: 12px;6570  margin: 0 0 12px;6571  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);6572  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);6573  border-radius: 10px;6574}65756576.peach-health-pro-queue-head {6577  display: flex;6578  justify-content: space-between;6579  align-items: baseline;6580}65816582.peach-health-pro-queue-title {6583  font-size: 0.75rem;6584  font-weight: 500;6585  letter-spacing: 0.04em;6586  text-transform: uppercase;6587  color: var(--peach-accent);6588}65896590.peach-health-pro-queue-score {6591  font-size: 0.6875rem;6592  color: var(--peach-t2);6593}65946595.peach-health-pro-row {6596  display: flex;6597  gap: 10px;6598  align-items: center;6599  padding: 8px 0;6600  border-top: 1px solid var(--peach-border);6601}66026603.peach-health-pro-row-info {6604  flex: 1;6605  display: flex;6606  flex-direction: column;6607  gap: 4px;6608  min-width: 0;6609}66106611.peach-health-pro-action {6612  flex: 0 0 auto;6613  padding: 4px 8px;6614  font-size: 0.5625rem;6615  letter-spacing: 0.08em;6616  text-transform: uppercase;6617}66186619.peach-health-pro-row-name {6620  font-size: 0.8125rem;6621  color: var(--peach-t0);6622  overflow: hidden;6623  text-overflow: ellipsis;6624  white-space: nowrap;6625}66266627.peach-health-pro-row-meta {6628  font-size: 0.6875rem;6629  color: var(--peach-t2);6630}66316632.peach-health-pro-bar {6633  height: 2px;6634  background: var(--peach-border);6635  border-radius: 2px;6636  overflow: hidden;6637  margin-top: 2px;6638}66396640.peach-health-pro-bar-fill {6641  height: 100%;6642  background: var(--peach-accent);6643  transition: width 200ms ease-out;6644}66456646/* ── Pro activation celebration ── */6647@keyframes peach-pro-bloom {6648  0%   { filter: drop-shadow(0 0 0px var(--peach-glow)); }6649  40%  { filter: drop-shadow(0 0 24px var(--peach-accent))6650                 drop-shadow(0 0 48px var(--peach-glow)); }6651  100% { filter: drop-shadow(0 0 0px var(--peach-glow)); }6652}66536654@keyframes peach-pro-wordmark-in {6655  from { opacity: 0; transform: translateY(4px); }6656  to   { opacity: 1; transform: translateY(0); }6657}66586659@keyframes peach-pro-fade-out {6660  from { opacity: 1; }6661  to   { opacity: 0; }6662}66636664.peach-pro-celebration {6665  background:6666    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),6667    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),6668    var(--peach-bg);6669  border: 1px solid var(--peach-t3);6670  box-shadow:6671    0 2px 8px rgba(0,0,0,0.55),6672    0 14px 48px rgba(0,0,0,0.7),6673    0 0 0 1px rgba(240,232,216,0.04);6674  overflow: hidden;6675  width: 320px;6676  height: 520px;6677  display: flex;6678  flex-direction: column;6679  align-items: center;6680  justify-content: center;6681  gap: 8px;6682  padding: 32px 24px;6683  text-align: center;6684}66856686.peach-pro-celebration.is-leaving {6687  animation: peach-pro-fade-out 400ms ease forwards;6688}66896690.peach-pro-bloom-target {6691  display: flex;6692  align-items: center;6693  justify-content: center;6694  animation: peach-pro-bloom 600ms cubic-bezier(0.16, 1, 0.3, 1) forwards;6695  margin-bottom: 12px;6696}66976698.peach-pro-bloom-icon {6699  width: 48px;6700  height: 48px;6701}67026703.peach-pro-wordmark {6704  font-family: var(--font-display);6705  font-size: 22px;6706  font-style: italic;6707  font-weight: 400;6708  color: var(--peach-accent);6709  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;6710}67116712.peach-pro-thankyou {6713  font-size: 0.75rem;6714  font-style: italic;6715  color: var(--peach-t2);6716  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 800ms both;6717}671867196720/* ── Pending Pro notice banner (shown after background sync gate fires) ── */6721.peach-pro-notice-banner {6722  display: flex;6723  align-items: center;6724  gap: 8px;6725  padding: 7px 12px;6726  background: color-mix(in srgb, var(--peach-accent) 12%, var(--peach-bg-card));6727  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);6728  font-size: 0.6875rem;6729  color: var(--peach-t2);6730  font-family: "IBM Plex Mono", monospace;6731  flex-shrink: 0;6732}67336734.peach-pro-notice-link {6735  background: none;6736  border: none;6737  padding: 0;6738  cursor: pointer;6739  font-size: 0.6875rem;6740  color: var(--peach-accent);6741  font-family: "IBM Plex Mono", monospace;6742  margin-left: auto;6743  white-space: nowrap;6744}67456746.peach-pro-notice-close {6747  background: none;6748  border: none;6749  padding: 0 0 0 4px;6750  cursor: pointer;6751  font-size: 0.625rem;6752  color: var(--peach-t3);6753  line-height: 1;6754}67556756/* ── Incoming pairing request overlay banner (Phase 7) ──────────────────6757   Renders over whatever view is showing. 60-second expiry; the popup ticks6758   the countdown each second and clears the banner when it hits zero. */6759.peach-pair-request-banner {6760  display: flex;6761  flex-direction: column;6762  gap: 8px;6763  padding: 10px 12px;6764  background: color-mix(in srgb, var(--peach-accent) 14%, var(--peach-bg-card));6765  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 32%, transparent);6766  font-family: "IBM Plex Mono", monospace;6767  flex-shrink: 0;6768}67696770.peach-pair-toast {6771  padding: 8px 12px;6772  font-family: "IBM Plex Mono", monospace;6773  font-size: 0.75rem;6774  color: var(--peach-t1);6775  background: color-mix(in srgb, var(--peach-accent) 10%, var(--peach-bg-card));6776  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);6777  flex-shrink: 0;6778  text-align: center;6779}67806781.peach-pair-toast strong {6782  color: var(--peach-t0);6783  font-weight: 500;6784}67856786.peach-pair-request-header {6787  display: flex;6788  align-items: center;6789  gap: 8px;6790  font-size: 0.75rem;6791  color: var(--peach-t1);6792}67936794.peach-pair-request-mark {6795  font-size: 0.875rem;6796  display: inline-flex;6797  align-items: center;6798}67996800.peach-pair-request-icon {6801  width: 1em;6802  height: 1em;6803}68046805.peach-pair-request-title {6806  font-weight: 600;6807  color: var(--peach-t0);6808}68096810.peach-pair-request-countdown {6811  margin-left: auto;6812  font-variant-numeric: tabular-nums;6813  color: var(--peach-t2);6814  font-size: 0.6875rem;6815}68166817.peach-pair-request-body {6818  margin: 0;6819  font-size: 0.75rem;6820  color: var(--peach-t1);6821  line-height: 1.4;6822}68236824.peach-pair-request-body strong {6825  color: var(--peach-t0);6826  font-weight: 600;6827}68286829.peach-pair-request-actions {6830  display: flex;6831  gap: 8px;6832  justify-content: flex-end;6833}68346835/* ─── First-run onboarding ──────────────────────────────────────────────6836   Three-card welcome shown once before vault creation. The PeachScript6837   rune background drifts behind everything at very low opacity — it's6838   atmosphere, not focus. The cards themselves use the same panel6839   language as the rest of the popup so the transition into NewVault is6840   continuous, not a jarring switch of visual register. */68416842.peach-onboarding {6843  position: relative;6844  display: flex;6845  flex-direction: column;6846  width: 100%;6847  height: 100%;6848  padding: 16px 16px 18px;6849  box-sizing: border-box;6850  overflow: hidden;6851  animation: peach-onboard-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both;6852}68536854.peach-onboarding.is-completing {6855  animation: peach-onboard-exit 200ms ease-out forwards;6856}68576858.peach-rune-background {6859  position: absolute;6860  inset: 0;6861  width: 100%;6862  height: 100%;6863  pointer-events: none;6864  z-index: 0;6865  transition: opacity 500ms ease-out;6866}68676868.peach-onboarding.is-completing .peach-rune-background {6869  opacity: 0;6870}68716872.peach-onboarding-header {6873  position: relative;6874  z-index: 1;6875  display: flex;6876  align-items: center;6877  margin-bottom: 14px;6878}68796880.peach-onboarding-card {6881  position: relative;6882  z-index: 1;6883  flex: 1;6884  min-height: 0;6885  display: flex;6886  flex-direction: column;6887  gap: 10px;6888  padding: 22px 20px;6889  justify-content: center;6890  border-radius: 16px;6891  border: 1px solid var(--peach-t3);6892  background:6893    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));6894  backdrop-filter: blur(3px);6895  -webkit-backdrop-filter: blur(3px);6896  box-shadow:6897    inset 0 1px 0 rgba(240, 232, 216, 0.04),6898    0 12px 28px rgba(0, 0, 0, 0.12);6899  cursor: pointer;6900  user-select: none;6901  overflow-y: auto;6902  scrollbar-width: none;6903  animation: peach-card-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;6904}69056906.peach-onboarding-card::-webkit-scrollbar {6907  display: none;6908}69096910.peach-onboarding-card.is-exiting {6911  animation: peach-card-out 120ms ease-in forwards;6912  pointer-events: none;6913}69146915/* The final card carries the choice rows on top of the full intro copy.6916 * The "Already using Peach?" block is a separate decision section — float it6917 * toward the bottom so the copy breathes and no dead gap pools under it6918 * (scroll stays available as a fallback on shorter viewports). */6919.peach-onboarding-card--final {6920  gap: 8px;6921  padding-top: 20px;6922  padding-bottom: 16px;6923  justify-content: flex-start;6924}69256926.peach-onboarding-card--final .peach-onboarding-body {6927  font-size: 0.75rem;6928  line-height: 1.5;6929}69306931.peach-onboarding-card--final .peach-onboarding-choice {6932  min-height: 40px;6933  padding: 6px 10px;6934}69356936.peach-onboarding-card--final .peach-onboarding-choice-row {6937  gap: 6px;6938}69396940.peach-onboarding-card--final .peach-onboarding-choice-heading {6941  margin: auto 0 -2px;6942}69436944.peach-onboarding-card-headline {6945  margin: 0;6946  font-family: var(--font-display);6947  font-style: italic;6948  font-weight: 400;6949  font-size: 22px;6950  line-height: 1.05;6951  color: var(--peach-t0);6952  white-space: pre-line;6953}69546955.peach-onboarding-divider {6956  margin: 4px 0 6px;6957  border: 0;6958  border-top: 1px solid var(--peach-t3);6959  width: 100%;6960}69616962.peach-onboarding-body {6963  margin: 0;6964  font-size: 0.8125rem;6965  line-height: 1.6;6966  color: var(--peach-t1);6967}69686969.peach-onboarding-warning {6970  display: flex;6971  align-items: flex-start;6972  gap: 8px;6973  margin: 6px 0 0;6974  padding-top: 8px;6975  border-top: 1px dashed var(--peach-t3);6976  font-size: 0.8125rem;6977  line-height: 1.5;6978  color: var(--peach-t1);6979}69806981.peach-onboarding-warning-icon {6982  color: var(--peach-accent);6983  font-size: 0.8125rem;6984  line-height: 1.5;6985  flex: 0 0 auto;6986}69876988.peach-onboarding-nav {6989  position: relative;6990  z-index: 1;6991  display: grid;6992  grid-template-columns: 1fr auto 1fr;6993  align-items: center;6994  margin-top: 12px;6995  padding: 0 4px;6996}69976998.peach-onboarding-next {6999  justify-self: end;7000}70017002.peach-onboarding-back {7003  justify-self: start;7004}70057006.peach-onboarding-dots {7007  display: flex;7008  align-items: center;7009  gap: 6px;7010}70117012.peach-onboarding-dot {7013  width: 6px;7014  height: 6px;7015  border-radius: 50%;7016  background: var(--peach-t2);7017  transition: width 200ms ease, height 200ms ease, background 200ms ease;7018}70197020.peach-onboarding-dot.is-active {7021  width: 8px;7022  height: 8px;7023  background: var(--peach-accent);7024}70257026.peach-onboarding-next {7027  background: none;7028  border: none;7029  padding: 4px 0;7030  cursor: pointer;7031  font-family: "IBM Plex Mono", monospace;7032  font-size: 0.6875rem;7033  letter-spacing: 0.04em;7034  color: var(--peach-t1);7035  transition: color 150ms ease;7036}70377038.peach-onboarding-next:hover {7039  color: var(--peach-t0);7040}70417042.peach-onboarding-next:disabled {7043  opacity: 0.5;7044  cursor: default;7045}70467047.peach-onboarding-back {7048  background: none;7049  border: none;7050  padding: 4px 0;7051  cursor: pointer;7052  font-family: "IBM Plex Mono", monospace;7053  font-size: 0.6875rem;7054  letter-spacing: 0.04em;7055  color: var(--peach-t2);7056  transition: color 150ms ease;7057}70587059.peach-onboarding-back:hover {7060  color: var(--peach-t0);7061}70627063.peach-onboarding-back:disabled {7064  opacity: 0.5;7065  cursor: default;7066}70677068/* Reserve back-button width on the first card so the dots stay centred */7069.peach-onboarding-back-spacer {7070  width: 44px;7071}70727073.peach-onboarding-choice-row {7074  display: grid;7075  grid-template-columns: 1fr;7076  gap: 8px;7077}70787079.peach-onboarding-choice-heading {7080  margin: 8px 0 -2px;7081  color: var(--peach-t1);7082  font-family: "IBM Plex Mono", monospace;7083  font-size: 0.6875rem;7084  letter-spacing: 0.04em;7085  text-transform: uppercase;7086}70877088.peach-onboarding-choice {7089  min-height: 48px;7090  border: 1px solid color-mix(in srgb, var(--peach-t0) 16%, transparent);7091  border-radius: 8px;7092  padding: 8px 10px;7093  background: color-mix(in srgb, var(--peach-t0) 7%, transparent);7094  color: var(--peach-t0);7095  font-size: 0.76rem;7096  font-weight: 700;7097  text-align: left;7098}70997100.peach-onboarding-choice-label {7101  display: flex;7102  align-items: center;7103  gap: 6px;7104}71057106.peach-onboarding-choice-detail {7107  display: block;7108}71097110.peach-onboarding-choice-detail {7111  margin-top: 2px;7112  color: var(--peach-t1);7113  font-size: 0.625rem;7114  font-weight: 400;7115  line-height: 1.35;7116}71177118.peach-onboarding-choice--adopt {7119  border-color: color-mix(in srgb, var(--peach-accent) 34%, transparent);7120  background: color-mix(in srgb, var(--peach-accent) 13%, transparent);7121}71227123.peach-adopt-vault {7124  position: relative;7125  min-height: 100%;7126  padding: 22px;7127  display: grid;7128  place-items: center;7129}71307131.peach-adopt-vault--pair {7132  padding: 10px;7133  overflow-y: auto;7134  scrollbar-width: none;7135}71367137.peach-adopt-vault--pair::-webkit-scrollbar {7138  display: none;7139}71407141.peach-adopt-card {7142  position: relative;7143  z-index: 1;7144  width: min(100%, 330px);7145  padding: 20px;7146  border-radius: 8px;7147  border: 1px solid color-mix(in srgb, var(--peach-t0) 13%, transparent);7148  background: color-mix(in srgb, var(--peach-surface) 90%, transparent);7149  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);7150}71517152.peach-adopt-card--pair {7153  width: 100%;7154  max-height: 500px;7155  margin: auto;7156  padding: 14px 16px 12px;7157  overflow-y: auto;7158  scrollbar-width: none;7159  border: 0;7160  border-radius: 16px;7161  background:7162    radial-gradient(7163      circle at 50% -10%,7164      color-mix(in srgb, var(--peach-accent) 14%, transparent),7165      transparent 38%7166    ),7167    color-mix(in srgb, var(--peach-surface) 94%, transparent);7168}71697170.peach-adopt-card--pair::-webkit-scrollbar {7171  display: none;7172}71737174.peach-adopt-card h1 {7175  margin: 0 0 10px;7176  font-family: var(--font-display);7177  font-style: italic;7178  font-weight: 400;7179  font-size: 1.42rem;7180  line-height: 1.15;7181}71827183.peach-adopt-card p {7184  margin: 0 0 14px;7185  color: var(--peach-t1);7186  line-height: 1.35;7187}71887189.peach-adopt-card .peach-hint-relay {7190  margin: 12px 0 0;7191  font-size: 11px;7192  line-height: 1.4;7193  color: var(--peach-t2);7194  opacity: 0.85;7195}71967197.peach-adopt-input {7198  margin-bottom: 12px;7199}72007201.peach-adopt-card textarea.peach-adopt-input {7202  width: 100%;7203  resize: vertical;7204  overflow-wrap: anywhere;7205  font-family: "IBM Plex Mono", monospace;7206  font-size: 0.64rem;7207}72087209.peach-adopt-qr-video {7210  display: block;7211  width: 100%;7212  max-height: 220px;7213  margin: 0 0 12px;7214  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);7215  border-radius: 8px;7216  background: #000;7217  object-fit: cover;7218}72197220.peach-adoption-source-invitation {7221  display: flex;7222  flex-direction: column;7223  align-items: center;7224  gap: 10px;7225  padding: 4px 18px 16px;7226  text-align: center;7227}72287229.peach-pair-qr {7230  display: block;7231  margin-inline: auto;7232  max-width: min(224px, 100%);7233  height: auto;7234  padding: 8px;7235  border-radius: 10px;7236  background: #fff;7237}72387239.peach-adopt-card > .peach-btn + .peach-btn {7240  margin-top: 8px;7241}72427243.peach-adopt-actions {7244  display: flex;7245  gap: 10px;7246  margin-top: 14px;7247}72487249.peach-adopt-actions > button {7250  flex: 1;7251}72527253.peach-adopt-sas {7254  margin: 18px 0;7255  padding: 14px;7256  border-radius: 8px;7257  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);7258  color: var(--peach-t0);7259  font-size: 1.35rem;7260  font-weight: 800;7261  font-variant-numeric: tabular-nums;7262  text-align: center;7263}72647265.peach-adopt-pairing {7266  text-align: center;7267}72687269.peach-adopt-pairing h1 {7270  max-width: 260px;7271  margin: 0 auto 6px;7272  color: var(--peach-t0);7273  font-family: var(--font-display, Georgia, serif);7274  font-size: 1.42rem;7275  font-style: italic;7276  font-weight: 500;7277  line-height: 1.12;7278  text-wrap: balance;7279}72807281.peach-adopt-pairing .peach-adopt-pair-lede {7282  max-width: 258px;7283  margin: 0 auto;7284  color: color-mix(in srgb, var(--peach-t0) 82%, var(--peach-bg));7285  font-size: 0.73rem;7286  line-height: 1.42;7287  text-wrap: pretty;7288}72897290.peach-pair-stage.peach-adopt-bird-stage {7291  width: min(100%, 260px);7292  height: 102px;7293  margin: -6px auto 2px;7294}72957296.peach-adopt-bird-stage .peach-pair-bird-slot,7297.peach-adopt-bird-stage .peach-pair-bird {7298  width: 90px;7299  height: 90px;7300}73017302.peach-adopt-bird-stage .peach-pair-bird-slot-desktop {7303  left: 12px;7304}73057306.peach-adopt-bird-stage .peach-pair-bird-slot-mobile {7307  right: 12px;7308}73097310.peach-pair-stage.peach-adopt-bird-stage.act-paired .peach-pair-bird-slot-desktop {7311  --bb-x: 12px;7312  transform: translateX(12px);7313}73147315.peach-pair-stage.peach-adopt-bird-stage.act-paired .peach-pair-bird-slot-mobile {7316  --bb-x: -12px;7317  transform: translateX(-12px);7318}73197320.peach-pair-stage.peach-adopt-bird-stage.act-paired .peach-pair-bird-slot {7321  animation: peach-adopt-happy-bob 0.8s ease-in-out infinite;7322}73237324.peach-pair-stage.peach-adopt-bird-stage.act-paired .peach-pair-bird-slot-mobile {7325  animation-delay: 0.18s;7326  animation-direction: reverse;7327}73287329.peach-adopt-pairing.is-complete .peach-pair-stage.peach-adopt-bird-stage {7330  width: 100%;7331  height: 135px;7332  margin: -8px auto 6px;7333}73347335.peach-adopt-pairing.is-complete .peach-adopt-bird-stage .peach-pair-bird-slot,7336.peach-adopt-pairing.is-complete .peach-adopt-bird-stage .peach-pair-bird {7337  width: 112px;7338  height: 112px;7339}73407341.peach-adopt-pairing.is-complete .peach-adopt-bird-stage .peach-pair-bird-slot-desktop {7342  left: 0;7343  --bb-x: 0;7344  transform: translateX(0);7345}73467347.peach-adopt-pairing.is-complete .peach-adopt-bird-stage .peach-pair-bird-slot-mobile {7348  right: 0;7349  --bb-x: 0;7350  transform: translateX(0);7351}73527353.peach-adopt-pairing.is-complete h1 {7354  font-size: 1.6rem;7355}73567357.peach-adopt-pairing.is-complete .peach-adopt-pair-lede {7358  font-size: 0.78rem;7359}73607361@keyframes peach-adopt-happy-bob {7362  0%, 100% {7363    transform: translateX(var(--bb-x, 0)) translateY(0) rotate(0deg);7364  }7365  35% {7366    transform: translateX(var(--bb-x, 0)) translateY(-8px) rotate(-3deg);7367  }7368  70% {7369    transform: translateX(var(--bb-x, 0)) translateY(-3px) rotate(2deg);7370  }7371}73727373.peach-adopt-connection {7374  position: absolute;7375  left: 50%;7376  bottom: 38px;7377  width: 78px;7378  height: 1px;7379  translate: -50% 0;7380  background: color-mix(in srgb, var(--peach-accent) 62%, transparent);7381  box-shadow: 0 0 10px color-mix(in srgb, var(--peach-accent) 56%, transparent);7382}73837384.peach-adopt-pairing.is-complete .peach-adopt-connection {7385  bottom: 49px;7386  width: 92px;7387}73887389.peach-adopt-connection::after {7390  content: "";7391  position: absolute;7392  left: 50%;7393  top: 50%;7394  width: 7px;7395  height: 7px;7396  border-radius: 50%;7397  translate: -50% -50%;7398  background: var(--peach-accent);7399  box-shadow:7400    0 0 0 4px color-mix(in srgb, var(--peach-accent) 17%, transparent),7401    0 0 14px color-mix(in srgb, var(--peach-accent) 74%, transparent);7402  animation: peach-adopt-connection-pulse 1.1s ease-in-out infinite;7403}74047405@keyframes peach-adopt-connection-pulse {7406  0%, 100% { scale: 0.8; opacity: 0.72; }7407  50% { scale: 1.14; opacity: 1; }7408}74097410.peach-adopt-qr-wrap {7411  min-height: 160px;7412  display: grid;7413  place-items: center;7414}74157416.peach-adopt-qr-wrap .peach-hint-error {7417  margin: 12px 0;7418}74197420.peach-adopt-pairing .peach-adopt-pair-status {7421  margin: 0;7422  color: var(--peach-t0);7423  font-size: 0.75rem;7424}74257426.peach-adopt-confirmation {7427  margin-top: 18px;7428  padding: 8px 0 4px;7429}74307431.peach-adopt-confirmation .peach-adopt-confirmation-label {7432  margin: 0 0 7px;7433  color: color-mix(in srgb, var(--peach-accent) 72%, var(--peach-t0));7434  font-family: var(--peach-mono, "IBM Plex Mono", monospace);7435  font-size: 0.625rem;7436  font-weight: 700;7437  letter-spacing: 0.14em;7438}74397440.peach-adopt-confirmation .peach-adoption-sas {7441  margin: 0 auto;7442  padding: 12px 14px;7443  border-color: color-mix(in srgb, var(--peach-accent) 36%, transparent);7444  background: color-mix(in srgb, var(--peach-accent) 13%, transparent);7445}74467447.peach-adopt-confirmation .peach-adoption-sas strong {7448  color: color-mix(in srgb, var(--peach-accent) 84%, var(--peach-t0));7449  font-size: 1.58rem;7450  text-shadow: 0 0 16px color-mix(in srgb, var(--peach-accent) 30%, transparent);7451}74527453.peach-adopt-confirmation .peach-adopt-confirmation-help {7454  max-width: 270px;7455  margin: 8px auto 0;7456  color: color-mix(in srgb, var(--peach-t0) 78%, var(--peach-bg));7457  font-size: 0.7rem;7458  line-height: 1.45;7459}74607461.peach-adopt-privacy {7462  display: flex;7463  align-items: flex-start;7464  gap: 9px;7465  margin-top: 10px;7466  padding: 8px 9px;7467  border: 1px solid color-mix(in srgb, var(--peach-t0) 13%, transparent);7468  border-radius: 10px;7469  background: color-mix(in srgb, var(--peach-t0) 6%, transparent);7470  text-align: left;7471}74727473.peach-adopt-privacy svg {7474  width: 16px;7475  height: 16px;7476  flex: 0 0 auto;7477  margin-top: 1px;7478  fill: none;7479  stroke: color-mix(in srgb, var(--peach-accent) 74%, var(--peach-t0));7480  stroke-linecap: round;7481  stroke-linejoin: round;7482  stroke-width: 1.7;7483}74847485.peach-adopt-pairing .peach-adopt-privacy p {7486  margin: 0;7487  color: color-mix(in srgb, var(--peach-t0) 76%, var(--peach-bg));7488  font-size: 0.62rem;7489  line-height: 1.4;7490}74917492.peach-adopt-privacy strong {7493  color: var(--peach-t0);7494  font-weight: 700;7495}74967497.peach-adopt-pair-actions {7498  margin-top: 9px;7499}75007501.peach-adopt-pair-actions > button {7502  width: 100%;7503}75047505.peach-adopt-paired-status {7506  display: inline-flex;7507  align-items: center;7508  gap: 8px;7509  margin: 22px auto 18px;7510  padding: 9px 13px;7511  border: 1px solid color-mix(in srgb, var(--peach-accent) 30%, transparent);7512  border-radius: 999px;7513  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);7514  color: color-mix(in srgb, var(--peach-accent) 78%, var(--peach-t0));7515  font-family: var(--peach-mono, "IBM Plex Mono", monospace);7516  font-size: 0.66rem;7517  font-weight: 700;7518  letter-spacing: 0.04em;7519}75207521.peach-adopt-paired-status span {7522  width: 7px;7523  height: 7px;7524  border-radius: 50%;7525  background: var(--peach-accent);7526  box-shadow: 0 0 8px color-mix(in srgb, var(--peach-accent) 68%, transparent);7527}75287529@media (prefers-reduced-motion: reduce) {7530  .peach-adopt-connection::after {7531    animation: none;7532  }7533}75347535.peach-onboarding-mobile-card-buttons {7536  display: flex;7537  flex-direction: column;7538  gap: 8px;7539  margin-top: 16px;7540}75417542@keyframes peach-onboard-enter {7543  from { opacity: 0; transform: translateY(20px); }7544  to   { opacity: 1; transform: translateY(0); }7545}75467547@keyframes peach-onboard-exit {7548  from { opacity: 1; }7549  to   { opacity: 0; }7550}75517552@keyframes peach-card-in {7553  from { opacity: 0; transform: translateX(12px); }7554  to   { opacity: 1; transform: translateX(0); }7555}75567557@keyframes peach-card-out {7558  from { opacity: 1; transform: translateX(0); }7559  to   { opacity: 0; transform: translateX(-12px); }7560}75617562/* ─── New vault screen — matched to onboarding card language ─────────── */75637564/* Two classes so this beats the shared .peach-screen.lock-screen--vault-stage7565   rule (same element) without loosening the unlock/restore screens. The7566   create-vault screen is the only vault-stage view tall enough to overflow7567   the 520px popup, so its spacing is tuned to fit header → card → restore →7568   recovery warning with nothing clipped. */7569.peach-screen.peach-newvault {7570  position: relative;7571  display: flex;7572  flex-direction: column;7573  gap: 12px;7574  padding: 16px 16px 12px;7575  overflow: hidden;7576}75777578/* Suppress the warm-blob ambient art inherited from .lock-screen — the7579   new vault card now carries the visual weight. */7580.peach-newvault::before {7581  content: none;7582}75837584/* Wordmark sits in the exact same spot as on the onboarding cards; the7585   back button takes the right side so the wordmark never shifts. */7586.peach-newvault-header {7587  position: relative;7588  z-index: 2;7589  display: flex;7590  align-items: center;7591  justify-content: space-between;7592  gap: 10px;7593  margin-bottom: 2px;7594}75957596.peach-newvault-back {7597  display: inline-flex;7598  align-items: center;7599  gap: 4px;7600  background: transparent;7601  border: none;7602  color: var(--peach-t2);7603  font-family: "IBM Plex Mono", monospace;7604  font-size: 0.625rem;7605  letter-spacing: 0.06em;7606  cursor: pointer;7607  padding: 4px 6px;7608  border-radius: 6px;7609  transition: color 120ms ease, background 120ms ease;7610}76117612.peach-newvault-back:hover {7613  color: var(--peach-t0);7614  background: rgba(240, 232, 216, 0.04);7615}76167617.peach-newvault-mark {7618  position: absolute;7619  right: -12px;7620  top: 44px;7621  width: 110px;7622  height: 110px;7623  pointer-events: none;7624  opacity: 0.10;7625  filter: saturate(0.9);7626  z-index: 0;7627}7628.peach-newvault-mark-art {7629  width: 100%;7630  height: 100%;7631}7632.peach-newvault-mark-art path:nth-child(1) {7633  fill: rgba(123, 144, 96, 0.88);7634}7635.peach-newvault-mark-art path:nth-child(2) {7636  stroke: rgba(94, 122, 66, 0.95);7637}76387639.peach-newvault-card {7640  position: relative;7641  z-index: 1;7642  flex: 1;7643  display: flex;7644  flex-direction: column;7645  gap: 8px;7646  padding: 16px 20px 14px;7647  border-radius: 16px;7648  border: 1px solid var(--peach-t3);7649  background:7650    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));7651  backdrop-filter: blur(3px);7652  -webkit-backdrop-filter: blur(3px);7653  box-shadow:7654    inset 0 1px 0 rgba(240, 232, 216, 0.04),7655    0 12px 28px rgba(0, 0, 0, 0.12);7656  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;7657}76587659/* Create-vault card only (the restore card lays out differently — see7660   .peach-restore-card). The warning hugs the glass edge with a small7661   margin; leftover height distributes between elements so they breathe7662   instead of leaving one dead gap. Scroll stays available as a fallback7663   on shorter viewports. */7664.peach-newvault-card:not(.peach-restore-card) {7665  min-height: 0;7666  gap: 10px;7667  padding: 14px 22px 16px;7668  justify-content: space-between;7669  overflow-y: auto;7670  scrollbar-width: none;7671}76727673.peach-newvault-card:not(.peach-restore-card)::-webkit-scrollbar {7674  display: none;7675}76767677.peach-newvault-headline {7678  margin: 0;7679  font-family: var(--font-display);7680  font-style: italic;7681  font-weight: 400;7682  font-size: 24px;7683  line-height: 1.05;7684  color: var(--peach-t0);7685  white-space: pre-line;7686}76877688.peach-newvault-divider {7689  margin: 2px 0 4px;7690  border: 0;7691  border-top: 1px solid var(--peach-t3);7692  width: 100%;7693}76947695.peach-newvault-field {7696  display: flex;7697  flex-direction: column;7698  gap: 4px;7699}77007701.peach-newvault-label-row {7702  display: flex;7703  align-items: center;7704  justify-content: space-between;7705}77067707/* Monospace input scaled to the card. Replaces the 22px unlock-input7708   so the placeholder no longer overflows and the field reads as part7709   of the same surface as the body copy. */7710.peach-newvault-input {7711  font-size: 0.875rem;7712  letter-spacing: 0.18em;7713  padding: 8px 0;7714}7715.peach-newvault-input::placeholder {7716  letter-spacing: 0.18em;7717  color: var(--peach-t2);7718}77197720.peach-newvault-hint {7721  margin: 2px 0 0;7722  font-family: "IBM Plex Mono", monospace;7723  font-size: 0.625rem;7724  color: var(--peach-t2);7725  letter-spacing: 0.04em;7726}77277728.peach-newvault-submit {7729  margin-top: 4px;7730}77317732.peach-newvault-warning {7733  display: flex;7734  align-items: flex-start;7735  gap: 8px;7736  margin: 0;7737  padding-top: 8px;7738  border-top: 1px dashed var(--peach-t3);7739  font-size: 0.75rem;7740  line-height: 1.45;7741  color: var(--peach-t1);7742}77437744.peach-newvault-warning-icon {7745  color: var(--peach-accent);7746  font-size: 0.8125rem;7747  line-height: 1.4;7748  flex: 0 0 auto;7749}77507751/* Restore options sit inside the card, directly under "create vault", so7752   they are always reachable without scrolling. The top divider mirrors the7753   warning's so the choice reads as a deliberate fork, not a footnote. */7754.peach-newvault-restore {7755  position: relative;7756  z-index: 1;7757  display: flex;7758  flex-direction: column;7759  gap: 4px;7760  margin-top: 4px;7761  padding-top: 10px;7762  border-top: 1px dashed var(--peach-t3);7763}77647765/* Settings body — warm accent gradient gives the glass something to blur against */7766.peach-settings-body {7767  background:7768    radial-gradient(7769      ellipse at 30% 20%,7770      color-mix(in srgb, var(--peach-accent) 8%, transparent) 0%,7771      transparent 60%7772    );7773}77747775/* ── Danger zone (Settings home → Panic flow) ──────────────────────────── */7776/* ── Danger cards (Replace + Destroy) ────────────────────────────────────7777 * Two severity levels: "warn" for actions that are dangerous-but-recoverable7778 * (replacing the vault from a backup file) and "hazard" for actions that7779 * are absolutely irreversible (Panic). Both use the same card scaffold so7780 * they read as a pair, but the colour family signals the severity at a7781 * glance — yellow for caution, red for don't.7782 */7783.peach-danger-card {7784  --danger-tint: 235, 158, 52; /* amber */7785  display: flex;7786  flex-direction: column;7787  gap: 8px;7788  padding: 14px;7789  margin-top: 10px;7790  border-radius: 12px;7791  border: 1px solid rgba(var(--danger-tint), 0.32);7792  background:7793    radial-gradient(120% 120% at 0% 0%, rgba(var(--danger-tint), 0.10) 0%, transparent 60%),7794    rgba(var(--danger-tint), 0.04);7795  box-shadow:7796    inset 0 1px 0 rgba(var(--danger-tint), 0.08),7797    0 0 24px rgba(var(--danger-tint), 0.04);7798  transition: box-shadow 220ms ease, border-color 220ms ease, transform 180ms ease;7799}78007801.peach-danger-card:hover {7802  border-color: rgba(var(--danger-tint), 0.55);7803  box-shadow:7804    inset 0 1px 0 rgba(var(--danger-tint), 0.12),7805    0 0 36px rgba(var(--danger-tint), 0.10);7806}78077808.peach-danger-card--hazard {7809  --danger-tint: 220, 38, 38; /* red */7810}78117812.peach-danger-card-head {7813  display: flex;7814  align-items: center;7815  gap: 10px;7816}78177818.peach-danger-card-glyph {7819  width: 28px;7820  height: 28px;7821  flex-shrink: 0;7822  display: flex;7823  align-items: center;7824  justify-content: center;7825  border-radius: 8px;7826  background: rgba(var(--danger-tint), 0.12);7827  color: rgba(var(--danger-tint), 0.95);7828  font-size: 1rem;7829  line-height: 1;7830}78317832.peach-danger-card-title {7833  margin: 0;7834  font-size: 0.8125rem;7835  font-weight: 600;7836  color: rgba(var(--danger-tint), 0.92);7837  letter-spacing: 0.01em;7838}78397840.peach-danger-card-copy {7841  margin: 0;7842  font-size: 0.6875rem;7843  line-height: 1.5;7844  color: var(--peach-t2);7845}78467847.peach-danger-card-button {7848  width: 100%;7849  padding: 9px;7850  margin-top: 4px;7851  background: transparent;7852  border: 1px solid rgba(var(--danger-tint), 0.45);7853  border-radius: 8px;7854  color: rgba(var(--danger-tint), 0.9);7855  font-size: 0.75rem;7856  font-weight: 500;7857  letter-spacing: 0.02em;7858  cursor: pointer;7859  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;7860}78617862.peach-danger-card-button:hover {7863  background: rgba(var(--danger-tint), 0.10);7864  border-color: rgba(var(--danger-tint), 0.75);7865  color: rgb(var(--danger-tint));7866}78677868.peach-adoption-sas {7869  margin: 16px auto 0;7870  padding: 12px 16px;7871  border: 1px solid color-mix(in srgb, var(--peach-t0) 18%, transparent);7872  border-radius: 10px;7873  background: color-mix(in srgb, var(--peach-t0) 7%, transparent);7874  color: var(--peach-t0);7875  text-align: center;7876}78777878.peach-adoption-sas strong {7879  font-size: 1.65rem;7880  font-variant-numeric: tabular-nums;7881  letter-spacing: 0.18em;7882  white-space: nowrap;7883}78847885/* ── Panic flow (three-step destruction) ───────────────────────────────── */7886.peach-panic {7887  display: flex;7888  flex-direction: column;7889  flex: 1;7890  min-height: 0;7891  padding: 28px 20px 20px;7892  gap: 18px;7893  overflow-y: auto;7894  scrollbar-width: none;7895  -ms-overflow-style: none;7896}78977898.peach-panic::-webkit-scrollbar { display: none; }78997900.peach-panic-step2 {7901  background: rgba(220, 38, 38, 0.04);7902}79037904.peach-panic-step3 {7905  position: relative;7906  background: #0f0505;7907  color: #ffffff;7908  overflow: hidden;7909}79107911.peach-panic-rune-bg {7912  position: absolute;7913  inset: 0;7914  opacity: 0.22;7915  pointer-events: none;7916  overflow: hidden;7917}79187919.peach-panic-rune-bg canvas {7920  width: 100% !important;7921  height: 100% !important;7922}79237924.peach-panic-icon {7925  font-size: 32px;7926  color: rgb(220, 38, 38);7927  line-height: 1;7928}79297930.peach-panic-title {7931  margin: 0;7932  font-size: 18px;7933  font-weight: 500;7934  color: var(--peach-t1);7935}79367937.peach-panic-title--severe {7938  font-size: 20px;7939  font-weight: 700;7940  color: rgb(220, 38, 38);7941}79427943.peach-panic-body {7944  margin: 0;7945  font-size: 0.8125rem;7946  line-height: 1.55;7947  color: var(--peach-t2);7948}79497950.peach-panic-body--severe {7951  color: rgba(220, 38, 38, 0.85);7952}79537954.peach-panic-body--final {7955  font-size: 1rem;7956  font-weight: 700;7957  color: rgb(255, 80, 80);7958  line-height: 1.4;7959}79607961.peach-panic-body--final-intro {7962  font-size: 1rem;7963  color: #ffffff;7964  font-weight: 400;7965}79667967.peach-panic-divider {7968  height: 1px;7969  background: rgba(255, 255, 255, 0.08);7970  margin: 4px 0;7971}79727973.peach-panic-confirm-input {7974  width: 100%;7975  padding: 10px 12px;7976  background: rgba(255, 255, 255, 0.02);7977  border: 1px solid rgba(220, 38, 38, 0.4);7978  border-radius: 8px;7979  color: var(--peach-t1);7980  font-family: "IBM Plex Mono", monospace;7981  font-size: 0.875rem;7982  letter-spacing: 0.12em;7983  text-transform: uppercase;7984}79857986.peach-panic-confirm-input:focus {7987  outline: none;7988  border-color: rgb(220, 38, 38);7989}79907991.peach-panic-confirm-input--match {7992  border-color: rgb(220, 38, 38);7993  color: rgb(220, 38, 38);7994}79957996.peach-panic-confirm-label {7997  font-size: 0.6875rem;7998  color: var(--peach-t2);7999  margin: 0 0 -8px;8000  letter-spacing: 0.06em;8001}80028003.peach-panic-actions {8004  display: flex;8005  flex-direction: column;8006  gap: 10px;8007  margin-top: auto;8008}80098010.peach-panic-button {8011  width: 100%;8012  padding: 12px;8013  border-radius: 8px;8014  font-size: 0.8125rem;8015  cursor: pointer;8016  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;8017}80188019.peach-panic-button--primary {8020  background: var(--peach-accent);8021  border: 1px solid var(--peach-accent);8022  color: #ffffff;8023  font-weight: 600;8024}80258026.peach-panic-button--primary:hover {8027  background: color-mix(in srgb, var(--peach-accent) 88%, white);8028}80298030.peach-panic-button--danger {8031  background: rgb(220, 38, 38);8032  border: 1px solid rgb(220, 38, 38);8033  color: #ffffff;8034  font-weight: 600;8035}80368037.peach-panic-button--danger:disabled {8038  opacity: 0.35;8039  cursor: not-allowed;8040}80418042.peach-panic-button--ghost {8043  background: transparent;8044  border: 1px solid rgba(255, 255, 255, 0.18);8045  color: var(--peach-t2);8046}80478048.peach-panic-button--ghost:hover {8049  border-color: rgba(255, 255, 255, 0.32);8050  color: var(--peach-t1);8051}80528053.peach-panic-link {8054  background: transparent;8055  border: none;8056  padding: 4px 0;8057  color: rgba(220, 38, 38, 0.65);8058  font-size: 0.75rem;8059  cursor: pointer;8060  text-align: left;8061  text-decoration: underline;8062  text-underline-offset: 3px;8063}80648065.peach-panic-link:hover {8066  color: rgb(220, 38, 38);8067}80688069.peach-panic-bar {8070  background: rgb(220, 38, 38);8071  padding: 16px 20px;8072  margin: -28px -20px 0;8073  text-align: center;8074  font-size: 0.8125rem;8075  font-weight: 700;8076  letter-spacing: 0.12em;8077  color: #ffffff;8078}80798080.peach-panic-final-button {8081  width: 100%;8082  padding: 14px;8083  background: rgb(220, 38, 38);8084  border: none;8085  border-radius: 8px;8086  color: #ffffff;8087  font-size: 0.875rem;8088  font-weight: 700;8089  letter-spacing: 0.08em;8090  text-transform: uppercase;8091  cursor: pointer;8092  animation: peach-panic-pulse 2s ease-in-out infinite;8093}80948095.peach-settings-license {8096  margin-top: 10px;8097  padding-top: 10px;8098  border-top: 1px solid var(--peach-t3);8099}81008101.peach-settings-label {8102  font-size: 0.625rem;8103  letter-spacing: 0.08em;8104  color: var(--peach-t2);8105  display: block;8106  margin-bottom: 6px;8107}81088109.peach-settings-license-row {8110  display: flex;8111  align-items: center;8112  justify-content: space-between;8113  gap: 8px;8114}81158116.peach-settings-license-key {8117  font-family: 'IBM Plex Mono', monospace;8118  font-size: 0.75rem;8119  color: var(--peach-t0);8120  letter-spacing: 0.04em;8121  word-break: break-all;8122  flex: 1;8123  min-width: 0;8124}81258126.peach-settings-license-key--masked {8127  font-family: 'IBM Plex Mono', monospace;8128  font-size: 0.6rem;8129  color: var(--peach-t1);8130  letter-spacing: 0.18em;8131  user-select: none;8132}81338134.peach-settings-license-actions {8135  display: flex;8136  align-items: center;8137  gap: 2px;8138  flex-shrink: 0;8139}81408141.peach-settings-license-copy {8142  font-size: 0.6875rem;8143  color: var(--peach-accent);8144  background: transparent;8145  border: none;8146  cursor: pointer;8147  padding: 4px 8px;8148  border-radius: 4px;8149  flex-shrink: 0;8150  transition: opacity 150ms ease;8151}81528153.peach-settings-license-copy:hover {8154  opacity: 0.75;8155}81568157.peach-settings-license-toggle {8158  display: flex;8159  align-items: center;8160  justify-content: center;8161  background: transparent;8162  border: none;8163  cursor: pointer;8164  padding: 4px 6px;8165  border-radius: 4px;8166  color: var(--peach-t2);8167  transition: color 150ms ease;8168}81698170.peach-settings-license-toggle:hover {8171  color: var(--peach-t1);8172}81738174@keyframes peach-panic-pulse {8175  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }8176  50%      { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }8177}81788179[data-motion="reduce"] .peach-panic-final-button {8180  animation: none;8181}81828183/* Vault History — Settings → Vault sub-view */81848185.peach-history-list {8186  border: 1px solid var(--peach-border);8187  border-radius: 8px;8188  overflow: hidden;8189  margin: 8px 0 4px;8190}81918192.peach-history-row {8193  display: flex;8194  align-items: center;8195  justify-content: space-between;8196  padding: 9px 12px;8197  gap: 10px;8198  border-bottom: 1px solid var(--peach-border);8199}82008201.peach-history-row:last-child {8202  border-bottom: none;8203}82048205.peach-history-meta {8206  display: flex;8207  flex-direction: column;8208  gap: 2px;8209  min-width: 0;8210  flex: 1;8211}82128213.peach-history-time {8214  font-size: 0.75rem;8215  font-family: 'IBM Plex Mono', ui-monospace, monospace;8216  color: var(--peach-t0);8217  white-space: nowrap;8218  overflow: hidden;8219  text-overflow: ellipsis;8220}82218222.peach-history-sub {8223  font-size: 0.625rem;8224  color: var(--peach-t2);8225  letter-spacing: 0.06em;8226  text-transform: uppercase;8227  white-space: nowrap;8228  overflow: hidden;8229  text-overflow: ellipsis;8230}82318232.peach-history-btn {8233  flex-shrink: 0;8234  white-space: nowrap;8235  min-width: 56px;8236  text-align: center;8237}82388239.peach-history-btn.is-busy {8240  opacity: 0.65;8241}82428243.peach-history-footer {8244  font-size: 0.625rem;8245  color: var(--peach-t3);8246  letter-spacing: 0.05em;8247  text-align: right;8248  margin: 0;8249  padding: 2px 0 0;8250}82518252/* ── Context menu + swipe-copy flash ─────────────────────── */8253.peach-context-menu-backdrop {8254  position: fixed;8255  inset: 0;8256  background: rgba(0, 0, 0, 0.45);8257  z-index: 100;8258  display: flex;8259  align-items: flex-end;8260  justify-content: center;8261  animation: peach-ctx-fade 140ms ease both;8262}8263.peach-context-menu {8264  width: min(360px, calc(100vw - 24px));8265  margin-bottom: max(env(safe-area-inset-bottom), 12px);8266  background: var(--peach-bg);8267  border: 1px solid var(--peach-t3);8268  border-radius: 14px;8269  padding: 6px;8270  display: flex;8271  flex-direction: column;8272  gap: 2px;8273  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);8274  animation: peach-ctx-rise 200ms cubic-bezier(0.16, 1, 0.3, 1) both;8275}8276@keyframes peach-ctx-fade { from { opacity: 0; } to { opacity: 1; } }8277@keyframes peach-ctx-rise {8278  from { transform: translateY(16px); opacity: 0; }8279  to   { transform: translateY(0);    opacity: 1; }8280}8281.peach-context-menu-item {8282  background: transparent;8283  color: var(--peach-t0);8284  border: 0;8285  border-radius: 10px;8286  padding: 12px 14px;8287  text-align: left;8288  font: inherit;8289  cursor: pointer;8290}8291.peach-context-menu-item:hover,8292.peach-context-menu-item:focus-visible {8293  background: var(--peach-t3);8294}8295.peach-context-menu-item--danger {8296  color: var(--peach-health-bad, #d96868);8297}8298.peach-context-menu-item--cancel {8299  color: var(--peach-t2);8300  margin-top: 4px;8301  border-top: 1px solid var(--peach-t3);8302  border-radius: 0 0 10px 10px;8303}83048305/* Swipe-to-copy flash */8306.peach-entry-row.is-copy-flash {8307  animation: peach-copy-flash 600ms ease both;8308}8309@keyframes peach-copy-flash {8310  0%   { background: transparent; }8311  20%  { background: rgba(217, 153, 51, 0.32); }8312  100% { background: transparent; }8313}83148315html { font-size: 16px; }83168317/* ── Recovery word entry ─────────────────────────────────────────── */8318.peach-lock-recover-link {8319  display: block;8320  width: 100%;8321  margin-top: 12px;8322  background: none;8323  border: none;8324  font-family: "IBM Plex Mono", monospace;8325  font-size: 0.625rem;8326  letter-spacing: 0.06em;8327  color: var(--peach-t2);8328  cursor: pointer;8329  text-align: center;8330  padding: 4px;8331  transition: color 120ms ease;8332}8333.peach-lock-recover-link:hover {8334  color: var(--peach-t0);8335}83368337.lock-screen--recovery {8338  display: flex;8339  flex-direction: column;8340  align-items: stretch;8341  padding: 12px 20px 24px;8342  overflow: hidden;8343}83448345.peach-recovery-nav {8346  display: flex;8347  align-items: center;8348  position: relative;8349  z-index: 1;8350  margin-bottom: 4px;8351}83528353/* Mask runes to the top decorative band only — keep inputs and the8354   bottom CTA button clear. The bottom of the popup is reserved for8355   submit buttons; rendering runes there overlaps the button glyph. */8356.peach-rune-background--recovery {8357  -webkit-mask-image: linear-gradient(8358    to bottom,8359    black 0px, black 85px,8360    transparent 110px,8361    transparent 100%8362  );8363  mask-image: linear-gradient(8364    to bottom,8365    black 0px, black 85px,8366    transparent 110px,8367    transparent 100%8368  );8369}83708371.peach-recovery-header {8372  text-align: center;8373  margin-bottom: 0;8374  margin-top: 2px;8375}8376.peach-recovery-header .peach-onboarding-headline {8377  font-size: 1.25rem;8378  font-weight: 300;8379  letter-spacing: 0.02em;8380  /* max-width:252px inherited above is narrower than the section — without8381     auto margins the text box sits left-of-center. */8382  margin: 0 auto 4px;8383}8384.peach-recovery-header .peach-hint {8385  font-family: "IBM Plex Mono", monospace;8386  font-size: 0.625rem;8387  color: var(--peach-t1);8388  letter-spacing: 0.04em;8389  margin: 0;8390}8391.peach-recovery-header .peach-hint--warning {8392  color: var(--peach-accent);8393}83948395/* 12-word grid: 2 columns × 6 rows */8396.peach-recovery-grid {8397  display: grid;8398  grid-template-columns: repeat(2, 1fr);8399  gap: 12px 20px;8400  width: 100%;8401  margin-bottom: 0;8402}84038404.peach-recovery-word-slot {8405  display: flex;8406  align-items: center;8407  gap: 6px;8408  min-width: 0;8409}84108411.peach-recovery-word-index {8412  font-family: "IBM Plex Mono", monospace;8413  font-size: 0.5rem;8414  color: rgba(255, 255, 255, 0.35);8415  min-width: 14px;8416  flex-shrink: 0;8417  text-align: right;8418  letter-spacing: 0.04em;8419}84208421.peach-recovery-word-input {8422  flex: 1;8423  min-width: 0;8424  background: transparent;8425  border: none;8426  border-bottom: 1px solid rgba(255, 255, 255, 0.22);8427  color: var(--peach-t0);8428  font-family: "IBM Plex Mono", monospace;8429  font-size: 0.6875rem;8430  letter-spacing: 0.06em;8431  padding: 5px 2px 4px;8432  outline: none;8433  text-transform: lowercase;8434  transition: border-color 120ms ease;8435}8436.peach-recovery-word-input::placeholder {8437  color: rgba(255, 255, 255, 0.18);8438}8439.peach-recovery-word-input:focus {8440  border-bottom-color: var(--peach-accent);8441}84428443.peach-recovery-submit {8444  width: 100%;8445  margin-top: auto;8446}84478448.peach-recovery-new-password-form {8449  width: 100%;8450  display: flex;8451  flex-direction: column;8452  gap: 16px;8453  margin-bottom: 8px;8454}8455.peach-recovery-new-password-form .peach-newvault-field {8456  display: flex;8457  flex-direction: column;8458  gap: 4px;8459}84608461/* ── Recovery words display (post-create) ──────────────────────────8462   Condensed so word list + confirmation fit the 520px popup with no8463   scroll — the confirm button must never be clipped. */8464.lock-screen--recovery-display {8465  display: flex;8466  flex-direction: column;8467  align-items: stretch;8468  padding: 10px 16px 12px;8469  gap: 8px;8470  min-height: 0;8471  overflow-y: auto;8472}84738474.peach-recovery-words-display {8475  width: 100%;8476  margin-bottom: 0;8477  border: 1px solid var(--peach-t3);8478  border-radius: 8px;8479  padding: 10px 14px;8480  background: rgba(245, 240, 234, 0.04);8481}84828483.peach-recovery-words-label {8484  font-family: "IBM Plex Mono", monospace;8485  font-size: 0.5rem;8486  letter-spacing: 0.08em;8487  color: var(--peach-t2);8488  text-transform: uppercase;8489  margin-bottom: 8px;8490  text-align: center;8491}84928493.peach-recovery-word-list {8494  list-style: none;8495  margin: 0;8496  padding: 0;8497  display: grid;8498  grid-template-columns: repeat(2, 1fr);8499  gap: 5px 16px;8500}85018502.peach-recovery-word-item {8503  display: flex;8504  align-items: baseline;8505  justify-content: center;8506  gap: 5px;8507}85088509.peach-recovery-word-num {8510  font-family: "IBM Plex Mono", monospace;8511  font-size: 0.5rem;8512  color: var(--peach-accent);8513  width: 14px;8514  flex: 0 0 14px;8515  text-align: right;8516  letter-spacing: 0.04em;8517  font-variant-numeric: tabular-nums;8518}85198520.peach-recovery-download-btn {8521  display: block;8522  margin: 8px auto 0;8523  padding: 4px 10px;8524  background: transparent;8525  border: 1px solid var(--peach-border);8526  border-radius: 6px;8527  color: var(--peach-t2);8528  font-family: "IBM Plex Mono", monospace;8529  font-size: 0.5625rem;8530  letter-spacing: 0.06em;8531  text-transform: lowercase;8532  cursor: pointer;8533  transition: border-color 0.15s, color 0.15s;8534}85358536.peach-recovery-download-btn:hover {8537  border-color: var(--peach-accent);8538  color: var(--peach-t0);8539}85408541.peach-recovery-word-text {8542  font-family: "IBM Plex Mono", monospace;8543  font-size: 0.6875rem;8544  letter-spacing: 0.06em;8545  color: var(--peach-t0);8546  text-transform: lowercase;8547}85488549.peach-hint--warning {8550  color: var(--peach-accent);8551  font-style: italic;8552}8553.peach-hint--success {8554  color: var(--peach-t2);8555  font-family: "IBM Plex Mono", monospace;8556  font-size: 0.625rem;8557  letter-spacing: 0.06em;8558}85598560/* Confirmation step */8561.peach-recovery-confirm {8562  width: 100%;8563  flex: 1;8564  display: flex;8565  flex-direction: column;8566}8567.peach-recovery-confirm-label {8568  font-family: "IBM Plex Mono", monospace;8569  font-size: 0.5625rem;8570  letter-spacing: 0.04em;8571  color: var(--peach-t1);8572  text-align: center;8573  margin: 0 0 8px;8574}8575.peach-recovery-confirm-fields {8576  flex: 1;8577  display: flex;8578  flex-direction: column;8579  /* Spread the three inputs through the available height instead of pooling8580     one dead gap under them. */8581  justify-content: space-evenly;8582  gap: 8px;8583  margin-bottom: 0;8584}8585.peach-recovery-confirm-field {8586  display: flex;8587  align-items: center;8588  gap: 8px;8589}8590.peach-recovery-confirm-num {8591  font-family: "IBM Plex Mono", monospace;8592  font-size: 0.5rem;8593  color: var(--peach-accent);8594  min-width: 44px;8595  letter-spacing: 0.04em;8596}8597.peach-recovery-confirm-input {8598  flex: 1;8599  background: transparent;8600  border: none;8601  border-bottom: 1px solid var(--peach-t3);8602  color: var(--peach-t0);8603  font-family: "IBM Plex Mono", monospace;8604  font-size: 0.6875rem;8605  letter-spacing: 0.06em;8606  padding: 4px 2px 3px;8607  outline: none;8608  text-transform: lowercase;8609  transition: border-color 120ms ease;8610}8611.peach-recovery-confirm-input:focus {8612  border-bottom-color: var(--peach-accent);8613}8614.peach-recovery-confirm-input:disabled {8615  opacity: 0.4;8616  cursor: not-allowed;8617}8618.peach-recovery-confirm-btn {8619  width: 100%;8620  margin-top: 12px;8621}86228623/* ============================================================8624   Sync info sheet8625   ============================================================ */86268627.peach-sync-info-backdrop {8628  position: fixed;8629  inset: 0;8630  z-index: 200;8631  background: rgba(0, 0, 0, 0.55);8632  display: flex;8633  align-items: flex-end;8634  animation: peach-fade-in 200ms ease forwards;8635}86368637@keyframes peach-fade-in {8638  from { opacity: 0; }8639  to   { opacity: 1; }8640}86418642.peach-sync-info-sheet {8643  width: 100%;8644  background: var(--peach-bg-card, var(--peach-bg));8645  border-top-left-radius: 20px;8646  border-top-right-radius: 20px;8647  padding: 12px 24px 32px;8648  display: flex;8649  flex-direction: column;8650  gap: 20px;8651  animation: peach-sheet-up 280ms cubic-bezier(0, 0, 0, 1) forwards;8652}86538654@keyframes peach-sheet-up {8655  from { transform: translateY(100%); }8656  to   { transform: translateY(0); }8657}86588659.peach-sync-info-handle {8660  width: 36px;8661  height: 4px;8662  border-radius: 2px;8663  background: var(--peach-border);8664  margin: 0 auto 4px;8665  flex-shrink: 0;8666}86678668.peach-sync-info-title {8669  font-family: 'Cormorant Garamond', serif;8670  font-style: italic;8671  font-size: 26px;8672  font-weight: 600;8673  color: var(--peach-t0);8674  margin: 0;8675  line-height: 1.2;8676}86778678.peach-sync-info-body {8679  display: flex;8680  flex-direction: column;8681  gap: 14px;8682}86838684.peach-sync-info-point {8685  display: flex;8686  gap: 12px;8687  align-items: flex-start;8688  font-size: 14px;8689  color: var(--peach-t2);8690  line-height: 1.6;8691  margin: 0;8692}86938694.peach-sync-info-icon {8695  color: var(--peach-accent);8696  font-size: 16px;8697  flex-shrink: 0;8698  margin-top: 1px;8699}87008701.peach-sync-info-actions {8702  display: flex;8703  flex-direction: column;8704  gap: 12px;8705  margin-top: 4px;8706}87078708.peach-sync-info-pro-link {8709  background: none;8710  border: none;8711  font-size: 13px;8712  color: var(--peach-t3);8713  cursor: pointer;8714  padding: 0;8715  font-family: inherit;8716  text-align: center;8717  transition: color 150ms ease;8718}87198720.peach-sync-info-pro-link:hover {8721  color: var(--peach-accent);8722}87238724.peach-btn--full {8725  width: 100%;8726}87278728/* ── Sync screen ── */87298730.peach-sync-coming-soon {8731  display: flex;8732  align-items: flex-start;8733  gap: 10px;8734  padding: 12px 14px;8735  background: var(--peach-s1);8736  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);8737  border-radius: 10px;8738}8739.peach-sync-coming-soon__icon {8740  flex-shrink: 0;8741  color: var(--peach-accent);8742  margin-top: 1px;8743  line-height: 0;8744}8745.peach-sync-coming-soon__title {8746  font-family: 'Cormorant Garamond', serif;8747  font-weight: 500;8748  font-size: 13px;8749  color: var(--peach-accent);8750  margin: 0 0 5px;8751  line-height: 1.3;8752}8753.peach-sync-coming-soon__body {8754  font-size: 12px;8755  color: var(--peach-t1);8756  line-height: 1.55;8757  margin: 0;8758}87598760.peach-sync-screen {8761  display: flex;8762  flex-direction: column;8763  height: 100%;8764}87658766.peach-sync-content {8767  flex: 1;8768  overflow-y: auto;8769  padding: 24px 20px 40px;8770  display: flex;8771  flex-direction: column;8772  gap: 24px;8773}87748775/* Intro (State A) */8776.peach-sync-headline {8777  font-family: 'Cormorant Garamond', serif;8778  font-style: italic;8779  font-size: 28px;8780  font-weight: 600;8781  color: var(--peach-t0);8782  margin: 0 0 10px;8783  line-height: 1.2;8784}87858786.peach-sync-intro-body {8787  font-size: 14px;8788  color: var(--peach-t1);8789  line-height: 1.6;8790  margin: 0;8791}87928793.peach-sync-pro-note {8794  display: flex;8795  flex-direction: column;8796  gap: 8px;8797  background: var(--peach-t3);8798  border-radius: 10px;8799  padding: 12px 14px;8800}88018802.peach-sync-pro-note-text {8803  font-size: 12px;8804  color: var(--peach-t2);8805  line-height: 1.5;8806  margin: 0;8807}88088809.peach-sync-pro-link {8810  background: none;8811  border: none;8812  font-size: 12px;8813  color: var(--peach-accent);8814  cursor: pointer;8815  padding: 0;8816  font-family: inherit;8817  text-align: left;8818}88198820/* Status (State C) */8821.peach-sync-status {8822  padding: 12px 0;8823  border-bottom: 1px solid var(--peach-border);8824}88258826.peach-sync-status-row {8827  display: flex;8828  align-items: center;8829  gap: 8px;8830}88318832.peach-sync-dot {8833  width: 7px;8834  height: 7px;8835  border-radius: 50%;8836  flex-shrink: 0;8837}88388839.peach-sync-dot--green { background: var(--peach-health-ok); }8840.peach-sync-dot--amber { background: var(--peach-accent); }88418842.peach-sync-status-text {8843  font-family: 'IBM Plex Mono', monospace;8844  font-size: 11px;8845  color: var(--peach-t2);8846}88478848/* Paired devices */8849.peach-sync-section {8850  display: flex;8851  flex-direction: column;8852  gap: 2px;8853}88548855.peach-sync-section-label {8856  font-family: 'IBM Plex Mono', monospace;8857  font-size: 10px;8858  letter-spacing: 0.1em;8859  color: var(--peach-t3);8860  margin: 0 0 10px;8861}88628863.peach-sync-device-row {8864  display: flex;8865  justify-content: space-between;8866  align-items: baseline;8867  padding: 10px 0;8868  border-bottom: 1px solid var(--peach-border);8869  gap: 12px;8870}88718872.peach-sync-device-name {8873  font-size: 14px;8874  color: var(--peach-t1);8875}88768877.peach-sync-device-meta {8878  font-family: 'IBM Plex Mono', monospace;8879  font-size: 11px;8880  color: var(--peach-t3);8881  white-space: nowrap;8882}88838884.peach-sync-hub-note {8885  padding: 14px 16px;8886  border: 1px solid var(--peach-border);8887  border-radius: 10px;8888  display: flex;8889  flex-direction: column;8890  gap: 6px;8891  background: rgba(var(--peach-accent-rgb, 201, 137, 58), 0.04);8892}88938894.peach-sync-hub-note-title {8895  font-size: 13px;8896  font-weight: 600;8897  color: var(--peach-t0);8898  margin: 0;8899}89008901.peach-sync-hub-note-body {8902  font-size: 12px;8903  color: var(--peach-t2);8904  line-height: 1.6;8905  margin: 0;8906}89078908/* Action buttons */8909.peach-sync-actions {8910  display: flex;8911  gap: 10px;8912  flex-wrap: wrap;8913}89148915/* Upgrade prompt (State B) */8916.peach-sync-upgrade {8917  display: flex;8918  flex-direction: column;8919  gap: 12px;8920  padding: 16px;8921  border: 1px solid var(--peach-border);8922  border-radius: 10px;8923}89248925.peach-sync-upgrade-text {8926  font-size: 13px;8927  color: var(--peach-t2);8928  line-height: 1.6;8929  margin: 0;8930}89318932/* Network note */8933.peach-sync-network-note {8934  font-size: 12px;8935  color: var(--peach-t3);8936  line-height: 1.6;8937  margin: 0;8938}89398940/* Advanced */8941.peach-sync-advanced {8942  margin-top: auto;8943  padding-top: 16px;8944  border-top: 1px solid var(--peach-border);8945}89468947.peach-sync-advanced-toggle {8948  display: flex;8949  align-items: center;8950  gap: 8px;8951  background: none;8952  border: none;8953  font-family: 'IBM Plex Mono', monospace;8954  font-size: 11px;8955  letter-spacing: 0.08em;8956  color: var(--peach-t3);8957  cursor: pointer;8958  padding: 0;8959  text-transform: uppercase;8960}89618962.peach-sync-advanced-chevron {8963  display: inline-block;8964  transition: transform 200ms ease;8965  font-size: 10px;8966}89678968.peach-sync-advanced-chevron.is-open {8969  transform: rotate(90deg);8970}89718972.peach-sync-advanced-content {8973  margin-top: 14px;8974}89758976.peach-sync-advanced-row {8977  display: flex;8978  justify-content: space-between;8979  align-items: center;8980  gap: 16px;8981}89828983.peach-sync-advanced-title {8984  font-size: 14px;8985  color: var(--peach-t1);8986  margin: 0 0 2px;8987}89888989.peach-sync-advanced-subtitle {8990  font-size: 12px;8991  color: var(--peach-t3);8992  margin: 0;8993  line-height: 1.5;8994}89958996/* ── Notes Mode ── */89978998/* Overlay that crossfades over the vault */8999.peach-notes-overlay {9000  position: fixed;9001  inset: 0;9002  z-index: 90;9003  opacity: 0;9004  pointer-events: none;9005  animation: peach-mode-in 220ms ease-in forwards;9006}90079008.peach-notes-overlay.is-visible {9009  opacity: 1;9010  pointer-events: auto;9011}90129013@keyframes peach-mode-in {9014  from { opacity: 0; }9015  to   { opacity: 1; }9016}90179018/* Top-level notes surface */9019.peach-notes-mode {9020  position: absolute;9021  inset: 0;9022  background:9023    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 5%, transparent) 0%, transparent 62%),9024    var(--peach-bg);9025  display: flex;9026  flex-direction: column;9027}90289029/* Rune canvas positioned behind content */9030.peach-note-rune-canvas {9031  position: absolute;9032  inset: 0;9033  width: 100%;9034  height: 100%;9035  pointer-events: none;9036  z-index: 0;9037}90389039/* TOC wrapper */9040.peach-notes-toc-wrapper {9041  position: absolute;9042  inset: 0;9043  z-index: 1;9044  opacity: 1;9045  pointer-events: auto;9046  transition: opacity 200ms ease;9047}90489049.peach-notes-toc-wrapper.is-hidden {9050  opacity: 0;9051  pointer-events: none;9052}90539054/* Editor wrapper */9055.peach-notes-editor-wrapper {9056  position: absolute;9057  inset: 0;9058  z-index: 2;9059  opacity: 0;9060  pointer-events: none;9061  transition: opacity 200ms ease;9062}90639064.peach-notes-editor-wrapper.is-visible {9065  opacity: 1;9066  pointer-events: auto;9067}90689069/* TOC inner */9070.peach-notes-toc {9071  position: relative;9072  display: flex;9073  flex-direction: column;9074  height: 100%;9075  padding-top: env(safe-area-inset-top, 0px);9076  padding-bottom: env(safe-area-inset-bottom, 0px);9077}90789079/* Shared header */9080.peach-notes-header {9081  display: flex;9082  align-items: center;9083  padding: 12px 16px;9084  gap: 12px;9085  flex-shrink: 0;9086  min-height: 52px;9087  position: relative;9088  z-index: 2;9089}90909091.peach-notes-back {9092  font-size: 22px;9093  color: var(--peach-t2);9094  background: none;9095  border: none;9096  padding: 4px;9097  cursor: pointer;9098  line-height: 1;9099  flex-shrink: 0;9100  transition: color 150ms ease;9101  -webkit-tap-highlight-color: transparent;9102}91039104.peach-notes-back:active { color: var(--peach-t0); }91059106.peach-notes-header-title {9107  flex: 1;9108  font-family: 'Cormorant Garamond', serif;9109  font-style: italic;9110  font-size: 22px;9111  color: var(--peach-t0);9112  text-align: center;9113}91149115.peach-notes-header--editor {9116  display: grid;9117  grid-template-columns: 36px minmax(0, 1fr) 36px;9118}91199120.peach-notes-header--editor .peach-notes-back,9121.peach-notes-header--editor .peach-notes-header-actions {9122  width: 36px;9123}91249125.peach-notes-header--editor .peach-notes-header-title {9126  cursor: pointer;9127}91289129.peach-notes-header-actions {9130  display: flex;9131  gap: 8px;9132  flex-shrink: 0;9133}91349135.peach-notes-header-btn {9136  width: 36px;9137  height: 36px;9138  display: flex;9139  align-items: center;9140  justify-content: center;9141  background: none;9142  border: none;9143  color: var(--peach-t2);9144  cursor: pointer;9145  border-radius: 8px;9146  font-size: 16px;9147  transition: color 150ms ease, background 150ms ease;9148  -webkit-tap-highlight-color: transparent;9149}91509151.peach-notes-header-btn:active {9152  background: rgba(255,255,255,0.06);9153  color: var(--peach-t0);9154}91559156/* The header + glyph is larger than the search svg so the two right-side9157 * buttons feel visually balanced. The base .peach-notes-header-btn caps font9158 * at 16px which would render the + too small. */9159.peach-notes-new-btn-icon {9160  font-size: 22px;9161  font-weight: 300;9162  line-height: 1;9163}91649165.peach-notes-search-btn svg {9166  display: block;9167  transform: translate(0.5px, 2.5px);9168}91699170/* Inline search bar */9171.peach-notes-search-input {9172  flex: 1;9173  background: none;9174  border: none;9175  outline: none;9176  font-family: 'IBM Plex Mono', monospace;9177  font-size: 13px;9178  color: var(--peach-t0);9179  padding: 4px 0;9180  letter-spacing: 0.02em;9181}91829183.peach-notes-search-input::placeholder {9184  color: var(--peach-t3);9185}91869187/* TOC list */9188.peach-notes-list-container {9189  flex: 1;9190  overflow-y: auto;9191  overflow-x: hidden;9192  scrollbar-width: none;9193  -webkit-overflow-scrolling: touch;9194  overscroll-behavior: contain;9195  position: relative;9196  z-index: 1;9197}91989199.peach-notes-list-container::-webkit-scrollbar { display: none; }92009201/* Note row */9202.peach-note-row {9203  position: relative;9204  display: grid;9205  grid-template-columns: 44px 8px 1fr 8px auto;9206  align-items: center;9207  min-height: 72px;9208  padding: 16px 20px;9209  border-bottom: 0.5px solid var(--peach-border);9210  cursor: pointer;9211  overflow: hidden;9212  touch-action: pan-y;9213  user-select: none;9214  -webkit-user-select: none;9215  -webkit-tap-highlight-color: transparent;9216}92179218.peach-note-row:first-child {9219  border-top: 0.5px solid var(--peach-border);9220}92219222.peach-note-row:active {9223  background: rgba(255,255,255,0.02);9224}92259226.peach-note-numeral {9227  font-family: 'Cormorant Garamond', serif;9228  font-style: italic;9229  font-size: 15px;9230  color: var(--peach-accent);9231  text-align: right;9232  line-height: 1;9233  flex-shrink: 0;9234}92359236.peach-note-title-gap { /* grid spacer */ }92379238.peach-note-title {9239  font-family: 'Cormorant Garamond', serif;9240  font-style: italic;9241  font-size: 18px;9242  color: var(--peach-t0);9243  line-height: 1.3;9244  min-width: 0;9245  overflow-wrap: break-word;9246}92479248.peach-note-title-match {9249  color: var(--peach-accent);9250}92519252.peach-note-date {9253  font-family: 'IBM Plex Mono', monospace;9254  font-size: 11px;9255  color: var(--peach-t1);9256  opacity: 0.62;9257  white-space: nowrap;9258  text-align: right;9259  flex-shrink: 0;9260  grid-column: 5;9261}92629263/* Swipe underlays */9264.peach-note-row-underlay {9265  position: absolute;9266  inset: 0;9267  display: flex;9268  align-items: center;9269  padding: 0 24px;9270  font-family: 'IBM Plex Mono', monospace;9271  font-size: 11px;9272  letter-spacing: 0.1em;9273  pointer-events: none;9274  z-index: 0;9275}92769277.peach-note-row-underlay--delete {9278  background: #8B2020;9279  color: rgba(255,255,255,0.9);9280  justify-content: flex-end;9281}92829283.peach-note-row-underlay--archive {9284  background: var(--peach-accent);9285  color: #0C0A06;9286  justify-content: flex-start;9287}92889289/* Delete confirm strip */9290.peach-note-delete-confirm {9291  position: absolute;9292  inset: 0;9293  background: var(--peach-bg);9294  display: flex;9295  align-items: center;9296  gap: 12px;9297  padding: 0 20px;9298  font-family: 'IBM Plex Mono', monospace;9299  font-size: 11px;9300  color: var(--peach-t1);9301  letter-spacing: 0.04em;9302  animation: peach-delete-confirm-in 150ms ease both;9303  z-index: 10;9304}93059306@keyframes peach-delete-confirm-in {9307  from { opacity: 0; }9308  to   { opacity: 1; }9309}93109311.peach-note-delete-confirm-btn {9312  background: #8B2020;9313  color: rgba(255,255,255,0.9);9314  border: none;9315  border-radius: 6px;9316  padding: 4px 10px;9317  font-family: 'IBM Plex Mono', monospace;9318  font-size: 10px;9319  cursor: pointer;9320  letter-spacing: 0.06em;9321}93229323.peach-note-delete-cancel-btn {9324  background: none;9325  border: none;9326  color: var(--peach-t3);9327  font-family: 'IBM Plex Mono', monospace;9328  font-size: 10px;9329  cursor: pointer;9330  letter-spacing: 0.06em;9331  padding: 4px 6px;9332}93339334/* + New note button */9335.peach-notes-new-btn {9336  font-family: 'IBM Plex Mono', monospace;9337  font-size: 12px;9338  color: var(--peach-t3);9339  text-align: center;9340  padding: 28px 20px calc(28px + env(safe-area-inset-bottom, 0px));9341  background: none;9342  border: none;9343  width: 100%;9344  cursor: pointer;9345  letter-spacing: 0.04em;9346  transition: color 150ms ease;9347  -webkit-tap-highlight-color: transparent;9348}93499350.peach-notes-new-btn:active { color: var(--peach-accent); }93519352/* Empty state */9353.peach-notes-empty {9354  display: flex;9355  flex-direction: column;9356  align-items: center;9357  justify-content: center;9358  flex: 1;9359  padding: 48px 32px;9360  gap: 16px;9361}93629363.peach-notes-empty-text {9364  font-family: 'Cormorant Garamond', serif;9365  font-style: italic;9366  font-size: 20px;9367  color: var(--peach-t3);9368  text-align: center;9369  margin: 0;9370  line-height: 1.4;9371  white-space: pre-line;9372}93739374/* ── Editor surface ── */93759376.peach-note-editor-surface {9377  position: absolute;9378  inset: 0;9379  background:9380    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 5%, transparent) 0%, transparent 62%),9381    var(--peach-bg);9382  display: flex;9383  flex-direction: column;9384  padding-top: env(safe-area-inset-top, 0px);9385}93869387.peach-note-editor-scroll {9388  flex: 1;9389  overflow-y: auto;9390  overflow-x: hidden;9391  scrollbar-width: none;9392  -webkit-overflow-scrolling: touch;9393  padding: 0 20px 120px;9394  position: relative;9395  z-index: 1;9396}93979398.peach-note-editor-scroll::-webkit-scrollbar { display: none; }93999400/* Desktop toolbar (always visible above body) */9401.peach-note-toolbar-desktop-inline {9402  display: grid;9403  grid-template-columns: repeat(4, minmax(0, 1fr)) auto repeat(5, minmax(0, 1fr));9404  align-items: center;9405  gap: 0;9406  padding: 5px 0 10px;9407  margin-bottom: 10px;9408  border-bottom: 0.5px solid var(--peach-border);9409}94109411/* Title field */9412.peach-note-title-field {9413  font-family: var(--font-display);9414  font-style: italic;9415  font-size: clamp(34px, 13vw, 44px);9416  font-weight: 400;9417  color: var(--peach-t0);9418  line-height: 0.98;9419  letter-spacing: -0.015em;9420  padding: 10px 0 2px;9421  outline: none;9422  min-height: 52px;9423  word-break: break-word;9424  position: relative;9425  z-index: 1;9426}94279428.peach-note-title-field:empty::before {9429  content: attr(data-placeholder);9430  color: var(--peach-t1);9431  opacity: 0.58;9432  pointer-events: none;9433}94349435/* Hairline separator */9436.peach-note-hairline {9437  height: 0.5px;9438  background: var(--peach-border);9439  margin: 14px 0 18px;9440  position: relative;9441  z-index: 1;9442}94439444/* Body field */9445.peach-note-body-field {9446  font-family: var(--font-display);9447  font-size: 17px;9448  color: var(--peach-t1);9449  line-height: 1.72;9450  padding: 0;9451  outline: none;9452  min-height: 240px;9453  word-break: break-word;9454  position: relative;9455  z-index: 1;9456}94579458.peach-note-body-field:empty::before {9459  content: attr(data-placeholder);9460  color: var(--peach-t1);9461  opacity: 0.56;9462  font-style: italic;9463  pointer-events: none;9464}94659466.peach-note-body-field h2 {9467  font-family: var(--font-display);9468  font-style: italic;9469  font-size: 22px;9470  font-weight: 600;9471  color: var(--peach-t0);9472  margin: 20px 0 8px;9473}94749475.peach-note-body-field blockquote {9476  border-left: 2px solid var(--peach-accent);9477  margin: 12px 0;9478  padding-left: 16px;9479  color: var(--peach-t1);9480  font-style: italic;9481}94829483.peach-note-body-field ul,9484.peach-note-body-field ol {9485  padding-left: 20px;9486  margin: 8px 0;9487}94889489.peach-note-body-field li {9490  margin: 4px 0;9491}94929493.peach-note-body-field hr {9494  border: none;9495  border-top: 0.5px solid var(--peach-border);9496  margin: 16px 0;9497}94989499/* Saved indicator */9500.peach-note-saved-indicator {9501  font-family: var(--font-mono);9502  font-size: 11px;9503  color: var(--peach-t3);9504  letter-spacing: 0.04em;9505  text-align: right;9506  padding: 6px 24px;9507  flex-shrink: 0;9508  transition: opacity 300ms ease;9509  pointer-events: none;9510  position: relative;9511  z-index: 1;9512}95139514/* Mobile keyboard toolbar */9515.peach-note-toolbar-mobile {9516  display: flex;9517  align-items: center;9518  padding: 8px 16px;9519  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));9520  background: var(--peach-bg);9521  border-top: 0.5px solid var(--peach-border);9522  gap: 0;9523  flex-shrink: 0;9524  position: relative;9525  z-index: 10;9526}95279528.peach-note-toolbar-btn {9529  min-width: 0;9530  width: auto;9531  height: 30px;9532  display: flex;9533  align-items: center;9534  justify-content: center;9535  background: none;9536  border: none;9537  border-radius: 4px;9538  cursor: pointer;9539  color: var(--peach-t1);9540  transition: background 100ms ease, color 100ms ease;9541  -webkit-tap-highlight-color: transparent;9542}95439544.peach-note-toolbar-btn svg {9545  width: 14px;9546  height: 14px;9547  fill: none;9548  stroke: currentColor;9549  stroke-width: 1.15;9550  stroke-linecap: round;9551  stroke-linejoin: round;9552  pointer-events: none;9553}95549555.peach-note-toolbar-mobile .peach-note-toolbar-btn {9556  flex: 1 1 0;9557  height: 36px;9558}95599560.peach-note-toolbar-btn.is-active { color: var(--peach-accent); }9561.peach-note-toolbar-btn:hover,9562.peach-note-toolbar-btn:active {9563  background: var(--peach-t4);9564  color: var(--peach-t0);9565}95669567.peach-note-toolbar-divider {9568  width: 0.5px;9569  height: 20px;9570  background: var(--peach-border);9571  margin: 0 4px;9572  flex-shrink: 0;9573}95749575.peach-note-toolbar-spacer { display: none; }95769577/* Desktop: larger headline in TOC */9578@media (min-width: 400px) {9579  .peach-notes-header-title:not(.is-breadcrumb) {9580    font-size: 32px;9581  }95829583  .peach-note-row {9584    min-height: 64px;9585    padding: 14px 16px;9586  }9587}95889589/* Flying title — shared element during expansion/collapse */95909591/* ─── Light theme overrides ───────────────────────────────────────────────9592   Tokens that cannot be expressed as variable substitutions — hardcoded9593   context-specific values that need separate light-mode rules. */95949595/* Settings section headers: use text-label (#79766F) per restoration brief —9596   muted gray-warm gives ENTRIES / MAINTENANCE / DATA / VAULT HISTORY9597   presence without fighting the light parchment background. */9598.light .peach-settings-sub-label,9599[data-theme="light"] .peach-settings-sub-label,9600.light .peach-settings-nav-label,9601[data-theme="light"] .peach-settings-nav-label {9602  color: #79766F;9603}96049605/* Secondary action buttons (ghost / subtle): filled with input-well surface9606   so they read as recessed against the parchment card background. */9607.light .peach-btn--ghost:not(.peach-icon-btn),9608[data-theme="light"] .peach-btn--ghost:not(.peach-icon-btn) {9609  background: #EEE7DD;9610  border-color: #DDD5CB;9611  color: #1A1208;9612}9613.light .peach-icon-btn,9614[data-theme="light"] .peach-icon-btn {9615  background: transparent;9616  border-color: transparent;9617}9618.light .peach-btn--subtle,9619[data-theme="light"] .peach-btn--subtle {9620  background: #EEE7DD;9621  border-color: #DDD5CB;9622}96239624/* Wide secondary action button on the lock screen — override the9625   hardcoded dark-mode rgba values with warm parchment equivalents. */9626.light .peach-lock-secondary,9627[data-theme="light"] .peach-lock-secondary {9628  background: #EEE7DD;9629  border-color: #DDD5CB;9630  color: #1A1208;9631}9632.light .peach-lock-secondary:hover,9633[data-theme="light"] .peach-lock-secondary:hover {9634  background: #F0E9DF;9635}96369637/* Entry row hover: bg-row lifts the row above the card surface. */9638.light .peach-entry-row:hover,9639[data-theme="light"] .peach-entry-row:hover {9640  background: #F2EBE1;9641}9642.light .peach-entry-row.is-active,9643[data-theme="light"] .peach-entry-row.is-active {9644  background: #F2EBE1;9645}9646.light .peach-entry-row.is-selected,9647[data-theme="light"] .peach-entry-row.is-selected {9648  background: #F5EDE2;9649}96509651/* ──────────────────────────────────────────────────────────────────────────9652   Pair-device flow — bird-stage animation (Phase 1)9653   See src/popup/components/PairingBirds.tsx and the brief §6.2.9654   Three-act animation gated on the [data-phase] attribute of9655   .peach-pair-pair; child layers (birds, sound arcs, flight wave, dot)9656   each react via either pose class or visibility flag.9657   Tokens: accent surfaces use var(--peach-accent); bird illustration9658   colours are baked into the SVG per the brand-peach exception in §3.1.9659   ────────────────────────────────────────────────────────────────────── */96609661.peach-pair-pair {9662  position: absolute;9663  inset: 0;9664  z-index: 3;9665  display: flex;9666  flex-direction: column;9667  padding: 14px 12px 12px;9668  width: 100%;9669  box-sizing: border-box;9670  gap: 0;9671  background:9672    radial-gradient(ellipse 70% 50% at 30% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent), transparent 70%),9673    var(--peach-bg);9674  color: var(--peach-t0);9675  overflow-y: auto;9676  overflow-x: hidden;9677  scrollbar-width: none;9678  isolation: isolate;9679  animation: peach-pair-overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;9680}9681@keyframes peach-pair-overlay-in {9682  from { opacity: 0; transform: translateY(8px); }9683  to   { opacity: 1; transform: translateY(0); }9684}9685.peach-pair-pair::-webkit-scrollbar { width: 0; height: 0; display: none; }9686.peach-pair-pair::before {9687  content: '';9688  position: absolute;9689  inset: 0;9690  border-radius: inherit;9691  pointer-events: none;9692  background: radial-gradient(ellipse 90% 30% at 50% 0%, color-mix(in srgb, var(--peach-accent) 6%, transparent), transparent 70%);9693  z-index: 0;9694}9695.peach-pair-pair > * { position: relative; z-index: 1; }96969697/* Header --------------------------------------------------------------- */9698.peach-pair-head {9699  display: flex; align-items: center; gap: 10px;9700}9701.peach-pair-back {9702  width: 32px; height: 32px;9703  display: inline-flex; align-items: center; justify-content: center;9704  background: transparent;9705  border: none;9706  border-radius: 8px;9707  color: var(--peach-t1);9708  cursor: pointer;9709  transition: color 0.15s ease, box-shadow 0.15s ease;9710}9711.peach-pair-back:hover {9712  color: var(--peach-accent);9713  box-shadow: 0 0 10px color-mix(in srgb, var(--peach-accent) 24%, transparent);9714}9715.peach-pair-title {9716  font-family: var(--font-display, Georgia, serif);9717  font-style: italic;9718  font-size: 24px;9719  font-weight: 500;9720  letter-spacing: 0.005em;9721  color: var(--peach-t0);9722  line-height: 1;9723}9724.peach-pair-head-spacer { flex: 1; }97259726/* Chip row ------------------------------------------------------------- */9727.peach-pair-chip-row {9728  display: flex;9729  align-items: center;9730  justify-content: flex-start;9731  margin-top: 12px;9732}9733.peach-pair-chip {9734  display: inline-flex; align-items: center; gap: 8px;9735  padding: 5px 10px 5px 8px;9736  background: color-mix(in srgb, var(--peach-accent) 16%, transparent);9737  border: 1px solid color-mix(in srgb, var(--peach-accent) 32%, transparent);9738  border-radius: 999px;9739  font-family: var(--peach-mono, ui-monospace, monospace);9740  font-size: 11px;9741  letter-spacing: 0.04em;9742  color: color-mix(in srgb, var(--peach-accent) 70%, var(--peach-t0));9743}9744.peach-pair-chip-dot {9745  width: 6px; height: 6px; border-radius: 50%;9746  background: var(--peach-accent);9747  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-accent) 50%, transparent);9748}9749.peach-pair-chip[data-phase="paired"] {9750  background: color-mix(in srgb, #4f9eda 12%, transparent);9751  border-color: color-mix(in srgb, #4f9eda 28%, transparent);9752  color: #76b6e8;9753}9754.peach-pair-chip[data-phase="paired"] .peach-pair-chip-dot {9755  background: #76b6e8;9756  box-shadow: 0 0 6px rgba(118, 182, 232, 0.55);9757}9758.peach-pair-chip[data-phase="timeout"],9759.peach-pair-chip[data-phase="mic_denied"],9760.peach-pair-chip[data-phase="version_mismatch"],9761.peach-pair-chip[data-phase="handshake_failed"] {9762  background: color-mix(in srgb, var(--peach-warn, #d29257) 14%, transparent);9763  border-color: color-mix(in srgb, var(--peach-warn, #d29257) 28%, transparent);9764  color: var(--peach-warn, #d29257);9765}9766.peach-pair-chip[data-phase="timeout"] .peach-pair-chip-dot,9767.peach-pair-chip[data-phase="mic_denied"] .peach-pair-chip-dot,9768.peach-pair-chip[data-phase="version_mismatch"] .peach-pair-chip-dot,9769.peach-pair-chip[data-phase="handshake_failed"] .peach-pair-chip-dot {9770  background: var(--peach-warn, #d29257);9771  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-warn, #d29257) 55%, transparent);9772}977397749775/* Bird stage ----------------------------------------------------------- */9776.peach-pair-stage {9777  position: relative;9778  height: 180px;9779  margin: 8px auto 18px;9780  width: 300px;9781  display: flex;9782  align-items: flex-end;9783  justify-content: center;9784}9785.peach-pair-bird-slot {9786  position: absolute;9787  bottom: 0;9788  width: 108px;9789  height: 108px;9790  transform-origin: 50% 95%;9791}9792.peach-pair-bird-slot-desktop { left: 12px; }9793.peach-pair-bird-slot-mobile { right: 12px; }9794.peach-pair-stage.act-handshake .peach-pair-bird-slot-desktop,9795.peach-pair-stage.act-paired .peach-pair-bird-slot-desktop {9796  transform: translateX(6px);9797  transition: transform 0.5s cubic-bezier(.4, 1.4, .4, 1);9798}9799.peach-pair-stage.act-paired .peach-pair-bird-slot-desktop { --bb-x: 6px; }9800.peach-pair-stage.act-paired .peach-pair-bird-slot-mobile { --bb-x: -6px; }9801.peach-pair-stage.act-paired .peach-pair-bird-slot {9802  animation: peach-pair-happy-bob 1.2s ease-in-out infinite;9803}9804.peach-pair-stage.act-paired .peach-pair-bird-slot-mobile { animation-delay: 0.2s; }9805@keyframes peach-pair-happy-bob {9806  0%, 100% { transform: translateX(var(--bb-x, 0)) translateY(0); }9807  50%      { transform: translateX(var(--bb-x, 0)) translateY(-3px); }9808}98099810/* Bird internal -------------------------------------------------------- */9811.peach-pair-bird {9812  width: 108px;9813  height: 108px;9814  transform-origin: 50% 95%;9815}9816.peach-pair-bird svg { width: 100%; height: 100%; overflow: visible; }98179818.peach-pair-bird-body {9819  transform-origin: 50% 80%;9820  animation: peach-pair-bird-bob 2.4s ease-in-out infinite;9821}9822.peach-pair-bird-pose-chirping .peach-pair-bird-body { animation-duration: 1.4s; }9823.peach-pair-bird-pose-happy .peach-pair-bird-body   { animation: peach-pair-bird-celebrate 0.9s ease-in-out infinite; }9824.peach-pair-bird-pose-attentive .peach-pair-bird-body { animation-duration: 2.0s; }98259826@keyframes peach-pair-bird-bob {9827  0%, 100% { transform: translateY(0) rotate(0deg); }9828  50%      { transform: translateY(-2px) rotate(-1deg); }9829}9830@keyframes peach-pair-bird-celebrate {9831  0%, 100% { transform: translateY(0) rotate(0deg); }9832  25%      { transform: translateY(-4px) rotate(-2deg); }9833  75%      { transform: translateY(-4px) rotate(2deg); }9834}98359836.peach-pair-bird-wing {9837  transform-origin: 50% 50%;9838  animation: peach-pair-bird-flap 0.9s ease-in-out infinite;9839}9840.peach-pair-bird-pose-happy .peach-pair-bird-wing { animation-duration: 0.35s; }9841.peach-pair-bird-pose-attentive .peach-pair-bird-wing { animation-duration: 1.4s; }9842@keyframes peach-pair-bird-flap {9843  0%, 100% { transform: scaleY(1); }9844  50%      { transform: scaleY(0.85); }9845}98469847.peach-pair-bird-head-group {9848  transform-origin: 95px 52px;9849  animation: peach-pair-bird-bob-head 2.6s ease-in-out infinite;9850}9851.peach-pair-bird-pose-chirping .peach-pair-bird-head-group { animation-duration: 0.45s; }9852.peach-pair-bird-pose-attentive .peach-pair-bird-head-group { animation: none; }9853@keyframes peach-pair-bird-bob-head {9854  0%, 100% { transform: rotate(0deg); }9855  50%      { transform: rotate(3deg); }9856}98579858.peach-pair-bird-eye-group { transform-origin: center; }9859.peach-pair-bird-blink { animation: peach-pair-bird-blink 4s ease-in-out infinite; }9860@keyframes peach-pair-bird-blink {9861  0%, 92%, 100% { transform: scaleY(1); }9862  95%           { transform: scaleY(0.1); }9863}98649865.peach-pair-bird-aura {9866  animation: peach-pair-bird-aura 2.6s ease-in-out infinite;9867}9868.peach-pair-bird-pose-happy .peach-pair-bird-aura { animation-duration: 1.4s; }9869@keyframes peach-pair-bird-aura {9870  0%, 100% { opacity: 0; }9871  50%      { opacity: 0.18; }9872}98739874.peach-pair-bird-tail {9875  transform-origin: 50% 100%;9876  animation: peach-pair-bird-tail-wag 3s ease-in-out infinite;9877}9878@keyframes peach-pair-bird-tail-wag {9879  0%, 100% { transform: rotate(0deg); }9880  50%      { transform: rotate(2deg); }9881}98829883.peach-pair-bird-pose-happy .peach-pair-bird-shadow { animation: peach-pair-bird-shadow-pulse 0.9s ease-in-out infinite; }9884@keyframes peach-pair-bird-shadow-pulse {9885  0%, 100% { transform: scaleX(1); opacity: 0.45; }9886  50%      { transform: scaleX(0.92); opacity: 0.3; }9887}98889889/* Per-pose variants --------------------------------------------------- */9890.peach-pair-bird-pose-sad .peach-pair-bird-head-group { transform: translateY(4px) rotate(8deg); }9891.peach-pair-bird-pose-sad .peach-pair-bird-tuft { transform: rotate(15deg) translateY(2px); }9892.peach-pair-bird-pose-sad .peach-pair-bird-tail { transform: rotate(8deg) translateY(2px); }9893.peach-pair-bird-pose-hidden { opacity: 0; }98949895/* Rest state — bird stage at idle pose, primary CTA + paired list */9896.peach-pair-pair[data-phase="idle"] .peach-pair-stage {9897  height: 160px;9898}98999900/* Sound arcs ----------------------------------------------------------- */9901.peach-pair-arcs {9902  position: absolute;9903  top: 18px;9904  width: 96px;9905  height: 70px;9906  pointer-events: none;9907}9908.peach-pair-arcs-right { right: -60px; }9909.peach-pair-arcs-left  { left: -60px; transform: scaleX(-1); }9910.peach-pair-arc {9911  position: absolute;9912  top: 50%;9913  left: 0;9914  width: 40px;9915  height: 40px;9916  margin-top: -20px;9917  border: 1.2px solid #f4d5a8;9918  border-color: transparent #f4d5a8 transparent transparent;9919  border-radius: 50%;9920  opacity: 0;9921  animation: peach-pair-arc-expand 1.7s cubic-bezier(.2, .6, .2, 1) infinite;9922}9923@keyframes peach-pair-arc-expand {9924  0%   { transform: scale(0.4); opacity: 0; }9925  20%  { opacity: 0.9; }9926  100% { transform: scale(1.6); opacity: 0; }9927}99289929/* Flight wave ---------------------------------------------------------- */9930.peach-pair-flight-track {9931  position: absolute;9932  inset: 32px 36px 38px 36px;9933  pointer-events: none;9934}9935.peach-pair-flight-wave {9936  position: absolute;9937  top: 8px;9938  left: 76px;9939  right: 76px;9940  height: 60px;9941  width: auto;9942  opacity: 0;9943  transition: opacity 0.15s ease;9944  stroke: #f4d5a8;9945  fill: none;9946}9947.peach-pair-flight-wave[data-from="mobile"] { transform: scaleX(-1); }9948.peach-pair-flight-wave.is-visible { opacity: 1; }9949.peach-pair-flight-path,9950.peach-pair-flight-path-2 {9951  stroke-dasharray: 240;9952  stroke-dashoffset: 240;9953  stroke-linecap: round;9954  fill: none;9955}9956.peach-pair-flight-path   { stroke-width: 1.6; stroke: #f4d5a8; }9957.peach-pair-flight-path-2 { stroke-width: 1; stroke: #f4d5a8; opacity: 0.55; }9958.peach-pair-flight-wave.is-visible .peach-pair-flight-path {9959  animation: peach-pair-fly 700ms cubic-bezier(.2,.6,.2,1) forwards;9960}9961.peach-pair-flight-wave.is-visible .peach-pair-flight-path-2 {9962  animation: peach-pair-fly 700ms cubic-bezier(.2,.6,.2,1) 80ms forwards;9963}9964@keyframes peach-pair-fly {9965  0%   { stroke-dashoffset: 240; opacity: 0; }9966  20%  { opacity: 1; }9967  100% { stroke-dashoffset: -120; opacity: 0; }9968}99699970/* Connection dot ------------------------------------------------------- */9971.peach-pair-dot {9972  position: absolute;9973  top: 50%; left: 50%;9974  transform: translate(-50%, -50%);9975  width: 40px; height: 40px;9976  opacity: 0;9977  pointer-events: none;9978  transition: opacity 0.3s ease;9979  color: var(--peach-accent);9980}9981.peach-pair-dot.is-visible { opacity: 1; }9982.peach-pair-dot-glow {9983  position: absolute; top: 50%; left: 50%;9984  transform: translate(-50%, -50%);9985  width: 38px; height: 38px;9986  border-radius: 50%;9987  filter: blur(10px);9988  opacity: 0.55;9989  background: var(--peach-accent);9990  animation: peach-pair-dot-bloom 1.4s ease-out;9991}9992.peach-pair-dot-core {9993  position: absolute; top: 50%; left: 50%;9994  transform: translate(-50%, -50%);9995  width: 8px; height: 8px;9996  border-radius: 50%;9997  background: var(--peach-accent);9998  box-shadow: 0 0 12px currentColor;9999  animation: peach-pair-dot-core 1.4s ease-out;10000}10001.peach-pair-dot-ring {10002  position: absolute; top: 50%; left: 50%;10003  width: 60px; height: 60px;10004  transform: translate(-50%, -50%);10005  animation: peach-pair-dot-ring 1.4s linear;10006  stroke: var(--peach-accent);10007}10008@keyframes peach-pair-dot-bloom {10009  0%   { width: 4px; height: 4px; opacity: 0; }10010  35%  { width: 60px; height: 60px; opacity: 0.7; }10011  100% { width: 38px; height: 38px; opacity: 0.55; }10012}10013@keyframes peach-pair-dot-core {10014  0%   { width: 0; height: 0; }10015  35%  { width: 12px; height: 12px; }10016  100% { width: 8px; height: 8px; }10017}10018@keyframes peach-pair-dot-ring {10019  0%   { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }10020  35%  { transform: translate(-50%, -50%) scale(1.0); opacity: 0.6; }10021  100% { transform: translate(-50%, -50%) scale(1.4); opacity: 0; }10022}1002310024/* Motes — drift upward across the stage */10025.peach-pair-motes {10026  position: absolute;10027  inset: 0;10028  pointer-events: none;10029}10030.peach-pair-mote {10031  position: absolute;10032  width: 2px; height: 2px;10033  background: color-mix(in srgb, var(--peach-text) 35%, transparent);10034  border-radius: 50%;10035  bottom: 32px;10036  left: calc(50% + (var(--mote-i, 0) - 4) * 24px);10037  opacity: 0;10038  animation: peach-pair-mote-drift 6s linear infinite;10039  animation-delay: calc(var(--mote-i, 0) * 0.7s);10040}10041@keyframes peach-pair-mote-drift {10042  0%   { transform: translateY(0); opacity: 0; }10043  10%  { opacity: 0.6; }10044  90%  { opacity: 0.1; }10045  100% { transform: translateY(-120px) translateX(8px); opacity: 0; }10046}1004710048/* Status copy ---------------------------------------------------------- */10049.peach-pair-copy-host {10050  margin: 4px 4px 10px;10051  text-align: center;10052  min-height: 50px;10053}10054.peach-pair-copy {10055  animation: peach-pair-copy-in 0.35s ease both;10056}10057@keyframes peach-pair-copy-in {10058  from { opacity: 0; transform: translateY(4px); }10059  to   { opacity: 1; transform: translateY(0); }10060}10061.peach-pair-headline {10062  font-family: var(--font-display, Georgia, serif);10063  font-style: italic;10064  font-size: 20px;10065  font-weight: 500;10066  line-height: 1.2;10067  letter-spacing: 0.005em;10068  color: var(--peach-t0);10069  margin-bottom: 6px;10070}10071.peach-pair-copy-listening .peach-pair-headline,10072.peach-pair-copy-chirping .peach-pair-headline,10073.peach-pair-copy-idle .peach-pair-headline {10074  font-family: inherit;10075  font-style: normal;10076  font-weight: 500;10077  font-size: 15px;10078  color: var(--peach-t0);10079  letter-spacing: 0;10080}10081.peach-pair-copy-paired .peach-pair-headline {10082  color: var(--peach-t0);10083  font-weight: 600;10084}10085.peach-pair-sub {10086  font-size: 12.5px;10087  line-height: 1.45;10088  color: var(--peach-t1);10089  max-width: 280px;10090  margin: 0 auto;10091  text-wrap: pretty;10092}1009310094/* Status action -------------------------------------------------------- */10095.peach-pair-action {10096  margin: 2px 4px 10px;10097  margin-top: auto;10098  display: flex;10099  flex-direction: column;10100  gap: 8px;10101}10102.peach-pair-action-waiting {10103  display: flex;10104  align-items: center;10105  justify-content: space-between;10106  gap: 12px;10107}10108.peach-pair-cancel {10109  min-width: 96px;10110}10111.peach-pair-listening {10112  display: inline-flex; align-items: center; gap: 4px;10113  font-family: var(--peach-mono, ui-monospace, monospace);10114  font-size: 9.5px;10115  text-transform: uppercase;10116  letter-spacing: 0.12em;10117  color: var(--peach-t1);10118  padding: 8px 10px;10119}10120.peach-pair-listen-dot {10121  width: 4px; height: 4px;10122  border-radius: 50%;10123  background: color-mix(in srgb, var(--peach-accent) 55%, transparent);10124  animation: peach-pair-listen-pulse 1.2s ease-in-out infinite;10125}10126.peach-pair-listen-dot:nth-child(2) { animation-delay: 0.2s; }10127.peach-pair-listen-dot:nth-child(3) { animation-delay: 0.4s; }10128.peach-pair-listen-label { margin-left: 6px; }10129@keyframes peach-pair-listen-pulse {10130  0%, 100% { opacity: 0.25; transform: scale(0.9); }10131  50%      { opacity: 1;     transform: scale(1.15); }10132}1013310134.peach-pair-action-handshake {10135  display: flex;10136  flex-direction: column;10137  align-items: center;10138  gap: 8px;10139  padding: 8px 4px;10140}10141.peach-pair-meter {10142  width: 100%;10143  max-width: 280px;10144  height: 2px;10145  background: color-mix(in srgb, var(--peach-t0) 10%, transparent);10146  border-radius: 2px;10147  position: relative;10148  overflow: hidden;10149}10150.peach-pair-meter-bar {10151  position: absolute;10152  top: 0; bottom: 0;10153  width: 30%;10154  left: -30%;10155  background: linear-gradient(90deg, transparent, var(--peach-accent), transparent);10156  animation: peach-pair-meter-sweep 1.4s ease-in-out infinite;10157}10158@keyframes peach-pair-meter-sweep {10159  0%   { left: -30%; }10160  100% { left: 100%; }10161}10162.peach-pair-meter-label {10163  font-family: var(--peach-mono, ui-monospace, monospace);10164  font-size: 9.5px;10165  text-transform: uppercase;10166  letter-spacing: 0.14em;10167  color: var(--peach-t1);10168}1016910170.peach-pair-action-paired {10171  display: flex;10172  align-items: center;10173  gap: 10px;10174}10175.peach-pair-device-confirm {10176  flex: 1;10177  display: inline-flex;10178  align-items: center;10179  gap: 8px;10180  padding: 9px 10px 9px 12px;10181  border-radius: 10px;10182  background: color-mix(in srgb, #76b6e8 12%, transparent);10183  border: 1px solid color-mix(in srgb, #76b6e8 30%, transparent);10184  font-size: 12.5px;10185  color: var(--peach-t0);10186  min-width: 0;10187}10188.peach-pair-device-confirm-glyph {10189  display: inline-flex;10190  color: #76b6e8;10191}10192.peach-pair-device-confirm-name {10193  flex: 1;10194  overflow: hidden;10195  text-overflow: ellipsis;10196  white-space: nowrap;10197}10198.peach-pair-device-confirm-trust {10199  font-family: var(--peach-mono, ui-monospace, monospace);10200  font-size: 9.5px;10201  text-transform: uppercase;10202  letter-spacing: 0.1em;10203  color: #76b6e8;10204  padding: 2px 6px;10205  border-radius: 4px;10206  background: color-mix(in srgb, #76b6e8 14%, transparent);10207}10208.peach-pair-done {10209  min-width: 80px;10210}10211.peach-pair-retry {10212  align-self: center;10213  display: block;10214  margin: 6px auto 0;10215  min-width: 120px;10216}10217.peach-pair-mic-help {10218  font-size: 12px;10219  color: var(--peach-t1);10220  text-align: center;10221  max-width: 320px;10222  margin: 0 auto;10223}1022410225/* Rest state — bird stage at idle pose, primary CTA + paired list */10226.peach-pair-pair[data-phase="idle"] .peach-pair-stage {10227  /* Slightly shorter stage when at rest — no flight wave or motes to fill it */10228  height: 160px;10229}10230.peach-pair-pair-start {10231  width: 100%;10232  display: inline-flex;10233  align-items: center;10234  justify-content: center;10235  gap: 8px;10236  padding: 11px 14px;10237  border-radius: 10px;10238  background: var(--peach-accent);10239  border: 1px solid color-mix(in srgb, var(--peach-accent) 80%, #000);10240  color: #1a0905;10241  font-family: inherit;10242  font-size: 13px;10243  font-weight: 600;10244  letter-spacing: 0.01em;10245  cursor: pointer;10246  transition: filter 0.15s ease, transform 0.1s ease;10247}10248.peach-pair-pair-start:hover { filter: brightness(1.08); }10249.peach-pair-pair-start:active { transform: translateY(1px); }1025010251.peach-pair-paired-section {10252  margin-top: 14px;10253  display: flex;10254  flex-direction: column;10255  gap: 8px;10256}10257.peach-pair-paired-heading {10258  margin: 0;10259  font-family: var(--peach-mono, ui-monospace, monospace);10260  font-size: 10px;10261  font-weight: 500;10262  letter-spacing: 0.14em;10263  text-transform: uppercase;10264  color: var(--peach-t1);10265}1026610267/* Footer --------------------------------------------------------------- */10268.peach-pair-foot {10269  margin: 10px -4px -2px;10270  margin-top: auto;10271}10272.peach-pair-foot-divider {10273  height: 1px;10274  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--peach-t0) 18%, transparent), transparent);10275  margin-bottom: 10px;10276}10277.peach-pair-foot-text {10278  font-size: 11px;10279  line-height: 1.5;10280  color: var(--peach-t1);10281  text-align: center;10282  padding: 0 4px;10283  text-wrap: pretty;10284}1028510286/* Screen-reader-only live region. Kept off the visual flow but read by10287   assistive tech as the pairing phase advances. */10288.peach-sr-only {10289  position: absolute;10290  width: 1px; height: 1px;10291  padding: 0; margin: -1px;10292  overflow: hidden;10293  clip: rect(0, 0, 0, 0);10294  white-space: nowrap;10295  border: 0;10296}1029710298/* Reduced motion — stage simplifies to opacity transitions only */10299@media (prefers-reduced-motion: reduce) {10300  .peach-pair-bird-body,10301  .peach-pair-bird-head-group,10302  .peach-pair-bird-beak,10303  .peach-pair-bird-wing,10304  .peach-pair-bird-tuft,10305  .peach-pair-bird-tail,10306  .peach-pair-bird-eye-group,10307  .peach-pair-bird-aura,10308  .peach-pair-arc,10309  .peach-pair-flight-path,10310  .peach-pair-flight-path-2,10311  .peach-pair-dot-glow,10312  .peach-pair-dot-core,10313  .peach-pair-dot-ring,10314  .peach-pair-mote,10315  .peach-pair-meter-bar,10316  .peach-pair-listen-dot,10317  .peach-pair-bird-slot,10318  .peach-pair-bird-slot-mobile {10319    animation: none !important;10320    transition: opacity 0.2s linear !important;10321  }10322}1032310324/* ─────────────────────────────────────────────────────────────────10325   Settings → Sync surface. Wraps the same bird10326   animation used by the pairing flow with a paired-devices list and10327   the "Pair a device" CTA.10328   ───────────────────────────────────────────────────────────────── */10329.peach-pair-settings {10330  position: absolute;10331  inset: 0;10332  z-index: 3;10333  display: flex;10334  flex-direction: column;10335  gap: 18px;10336  padding: 14px 12px 12px;10337  width: 100%;10338  box-sizing: border-box;10339  overflow-y: auto;10340  overflow-x: hidden;10341  /* Same warm surface as the pairing screen — unifies the two views. */10342  background:10343    radial-gradient(ellipse 70% 50% at 30% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent), transparent 70%),10344    var(--peach-bg);10345  color: var(--peach-t0);10346  isolation: isolate;10347  /* Hide native scrollbar — content fits 99% of the time and a chunky10348     gutter ruins the surface. */10349  scrollbar-width: none;10350  animation: peach-pair-overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;10351}10352.peach-pair-settings::-webkit-scrollbar { width: 0; height: 0; display: none; }10353.peach-pair-settings::before {10354  content: '';10355  position: absolute;10356  inset: 0;10357  pointer-events: none;10358  background: radial-gradient(ellipse 90% 30% at 50% 0%, color-mix(in srgb, var(--peach-accent) 6%, transparent), transparent 70%);10359  z-index: 0;10360}10361.peach-pair-settings > * { position: relative; z-index: 1; }1036210363.peach-pair-settings--pairing {10364  padding: 0;10365  align-items: stretch;10366  justify-content: stretch;10367  background: none;10368  isolation: auto;10369}10370.peach-pair-settings--pairing::before { display: none; }1037110372.peach-pair-settings-header {10373  display: flex;10374  align-items: center;10375  gap: 10px;10376}10377.peach-pair-settings-title {10378  margin: 0;10379  font-family: var(--font-display, Georgia, serif);10380  font-style: italic;10381  font-size: 24px;10382  font-weight: 500;10383  line-height: 1;10384  color: var(--peach-t0);10385  letter-spacing: 0.005em;10386}10387.peach-pair-settings-section {10388  margin: 6px 0 -4px;10389  font-size: 11px;10390  font-weight: 600;10391  letter-spacing: 0.08em;10392  text-transform: uppercase;10393  color: var(--peach-text-muted);10394}10395.peach-pair-settings-error {10396  font-size: 12px;10397  padding: 8px 10px;10398  border-radius: 8px;10399  background: color-mix(in srgb, var(--peach-danger, #c25b4a) 18%, transparent);10400  color: var(--peach-text);10401}10402.peach-pair-settings-footer {10403  margin-top: auto;10404  padding-top: 18px;10405  font-size: 11.5px;10406  line-height: 1.5;10407  color: var(--peach-text-muted);10408  text-align: center;10409}1041010411/* Hero card shown when no devices are paired yet. */10412.peach-pair-hero {10413  display: flex;10414  flex-direction: column;10415  align-items: center;10416  gap: 12px;10417  padding: 20px 12px 8px;10418  text-align: center;10419}10420.peach-pair-hero-svg {10421  display: block;10422  max-width: 100%;10423  filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--peach-accent) 25%, transparent));10424}10425.peach-pair-hero-headline {10426  margin: 0;10427  font-family: var(--font-display, Georgia, serif);10428  font-style: italic;10429  font-size: 20px;10430  font-weight: 500;10431  line-height: 1.2;10432  letter-spacing: 0.005em;10433  color: var(--peach-t0);10434}10435.peach-pair-hero-sub {10436  margin: 0;10437  font-size: 13px;10438  line-height: 1.5;10439  color: var(--peach-t1);10440  max-width: 320px;10441  text-wrap: pretty;10442}1044310444.peach-pair-pair-cta {10445  display: flex;10446  justify-content: center;10447  padding: 4px 0 6px;10448}10449.peach-pair-pair-button {10450  display: inline-flex;10451  align-items: center;10452  gap: 8px;10453  min-width: 220px;10454  justify-content: center;10455}10456.peach-pair-pair-button-icon {10457  flex: 0 0 auto;10458}1045910460/* Paired devices list. Roomy rows that look at home next to the rest10461   of Settings; stale rows get a soft warm-warning border tint. */10462.peach-pair-device-list {10463  list-style: none;10464  margin: 0;10465  padding: 0;10466  display: flex;10467  flex-direction: column;10468  gap: 8px;10469}10470.peach-pair-device-row {10471  display: flex;10472  align-items: center;10473  gap: 12px;10474  padding: 12px;10475  border-radius: 10px;10476  background: color-mix(in srgb, var(--peach-bg-elevated, var(--peach-bg)) 88%, var(--peach-accent) 12%);10477  border: 1px solid color-mix(in srgb, var(--peach-accent) 12%, transparent);10478}10479.peach-pair-device-row[data-stale="true"] {10480  border-color: color-mix(in srgb, var(--peach-warn, #d29257) 36%, transparent);10481}10482.peach-pair-device-icon {10483  width: 32px;10484  height: 32px;10485  display: flex;10486  align-items: center;10487  justify-content: center;10488  border-radius: 8px;10489  color: var(--peach-text);10490  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);10491}10492.peach-pair-device-info {10493  flex: 1;10494  display: flex;10495  flex-direction: column;10496  gap: 2px;10497  min-width: 0;10498}10499.peach-pair-device-name {10500  font-size: 14px;10501  font-weight: 600;10502  color: var(--peach-text);10503  overflow: hidden;10504  text-overflow: ellipsis;10505  white-space: nowrap;10506}10507.peach-pair-device-meta {10508  font-size: 11.5px;10509  color: var(--peach-text-muted);10510  display: flex;10511  flex-wrap: wrap;10512  align-items: center;10513  gap: 8px;10514}10515.peach-pair-device-badge {10516  font-size: 10.5px;10517  font-weight: 500;10518  letter-spacing: 0.02em;10519  padding: 2px 6px;10520  border-radius: 999px;10521  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);10522  color: var(--peach-text);10523}10524.peach-pair-device-stale {10525  font-size: 10.5px;10526  font-weight: 500;10527  color: var(--peach-warn, #d29257);10528}10529.peach-pair-device-remove {10530  flex: 0 0 auto;10531  color: var(--peach-text-muted);10532}10533.peach-pair-device-remove:hover {10534  color: var(--peach-danger, #c25b4a);10535}10536.peach-pair-unpair-confirm {10537  display: flex;10538  gap: 6px;10539  align-items: center;10540}1054110542/* Pro-gate card — soft upsell with the mobile bird perched, chirping. */10543.peach-pair-pro-card {10544  position: relative;10545  margin: 18px 12px;10546  padding: 18px 20px 22px;10547  border-radius: 22px;10548  background:10549    radial-gradient(140% 90% at 50% 0%,10550      color-mix(in srgb, var(--peach-accent) 18%, transparent) 0%,10551      transparent 60%),10552    color-mix(in srgb, var(--peach-bg-elevated, var(--peach-bg)) 88%, var(--peach-accent) 12%);10553  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);10554  box-shadow:10555    0 1px 0 color-mix(in srgb, var(--peach-accent) 8%, transparent) inset,10556    0 18px 40px -24px rgba(0, 0, 0, 0.45);10557  display: flex;10558  flex-direction: column;10559  align-items: center;10560  gap: 10px;10561  text-align: center;10562  overflow: hidden;10563}10564.peach-pair-pro-stage {10565  position: relative;10566  width: 220px;10567  height: 140px;10568  display: flex;10569  align-items: flex-end;10570  justify-content: center;10571  margin-bottom: 2px;10572}10573.peach-pair-pro-bird-slot {10574  width: 140px;10575  height: 132px;10576  display: flex;10577  align-items: flex-end;10578  justify-content: center;10579  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.35));10580}10581.peach-pair-pro-bird-slot .peach-pair-bird {10582  width: 100%;10583  height: 100%;10584}10585.peach-pair-pro-bird-slot .peach-pair-bird svg {10586  width: 100%;10587  height: 100%;10588  overflow: visible;10589}10590.peach-pair-pro-headline {10591  margin: 4px 0 0;10592  font-family: var(--font-display, "Cormorant Garamond", serif);10593  font-style: italic;10594  font-size: 19px;10595  font-weight: 500;10596  letter-spacing: 0.01em;10597  color: var(--peach-t0);10598  max-width: 280px;10599  line-height: 1.25;10600}10601.peach-pair-pro-body {10602  margin: 0;10603  font-size: 13px;10604  line-height: 1.55;10605  color: var(--peach-t1);10606  max-width: 300px;10607}10608.peach-pair-pro-cta {10609  margin-top: 4px;10610}10611.peach-pair-pro-foot {10612  margin: 2px 0 0;10613  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;10614  font-size: 0.625rem;10615  letter-spacing: 0.08em;10616  text-transform: uppercase;10617  color: var(--peach-t2);10618  opacity: 0.75;10619}1062010621/* Shell border and shadow in light mode: match dark mode's near-invisible10622   border weight so the popup frame looks the same in both themes. */10623.light .peach-shell,10624.light .peach-screen {10625  border-color: rgba(26, 18, 8, 0.07);10626  box-shadow:10627    0 2px 8px rgba(80, 56, 32, 0.08),10628    0 14px 48px rgba(80, 56, 32, 0.10),10629    0 0 0 1px rgba(26, 18, 8, 0.04);10630}1063110632/* HOLE 4: the revoke confirmation carries its own disclosure, so it needs the10633   full row width rather than sitting inline beside the device name. */10634.peach-settings-row:has(> .peach-unpair-confirm) { flex-wrap: wrap; }10635.peach-unpair-confirm {10636  display: flex;10637  flex-direction: column;10638  gap: 8px;10639  width: 100%;10640}10641.peach-unpair-confirm-note {10642  margin: 0;10643  font-size: 0.6875rem;10644  line-height: 1.5;10645  color: var(--peach-t2);10646}1064710648/* Sync mode selector — three named choices (public / private / off). Replaces10649   the old binary "local network only" toggle; see docs/sync-lan-retirement.md. */10650.peach-sync-mode {10651  display: flex;10652  align-items: flex-start;10653  gap: 10px;10654  width: 100%;10655  text-align: left;10656  padding: 10px 12px;10657  margin-top: 8px;10658  border-radius: 10px;10659  border: 1px solid var(--peach-border);10660  background: color-mix(in srgb, var(--peach-t0) 3%, transparent);10661  color: var(--peach-t1);10662  cursor: pointer;10663  transition: border-color var(--peach-dur-80) var(--peach-curve-arrival),10664              background-color var(--peach-dur-80) var(--peach-curve-arrival);10665}10666.peach-sync-mode:hover:not(:disabled) {10667  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);10668}10669.peach-sync-mode.is-active {10670  border-color: var(--peach-accent);10671  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);10672}10673.peach-sync-mode:disabled { opacity: 0.6; cursor: default; }10674.peach-sync-mode-main { display: flex; flex-direction: column; gap: 3px; flex: 1; }10675.peach-sync-mode-title { font-size: 12px; }10676.peach-sync-mode-sub {10677  font-size: 11px;10678  line-height: 1.5;10679  color: var(--peach-t2);10680}10681.peach-sync-mode-pip {10682  flex: none;10683  margin-top: 3px;10684  width: 12px; height: 12px;10685  border-radius: 50%;10686  border: 1px solid var(--peach-t3);10687}10688.peach-sync-mode.is-active .peach-sync-mode-pip {10689  border-color: var(--peach-accent);10690  background:10691    radial-gradient(circle at 50% 50%, var(--peach-accent) 0 42%, transparent 44%);10692}10693.peach-sync-mode-disclosure {10694  margin: 10px 2px 0;10695  font-size: 11px;10696  line-height: 1.5;10697  color: var(--peach-t2);10698}10699.peach-sync-mode-warn { color: var(--peach-breach); }1070010701/* Compact form, used mid-pairing: a quiet line, not a decision to make. */10702.peach-sync-mode-summary {10703  margin: 8px 2px 0;10704  font-size: 11px;10705  color: var(--peach-t2);10706  text-align: center;10707}10708.peach-sync-mode-change {10709  background: none;10710  border: none;10711  padding: 0;10712  font: inherit;10713  color: var(--peach-accent);10714  text-decoration: underline;10715  cursor: pointer;10716}