popup.css

235.6 KB · raw

1html,2body,3#app,4#pre-lock,5.popup-root {6  width: 320px;7  min-height: 520px;8  height: 520px;9  margin: 0;10}1112body {13  overflow: hidden;14  background: var(--bg);15  color: var(--t0);16  font-family: var(--font-ui);17  font-weight: 300;18  position: relative;19}2021* {22  box-sizing: border-box;23}2425button,26input,27textarea,28select {29  font: inherit;30}3132button {33  border: 0;34}3536#pre-lock {37  position: absolute;38  inset: 0;39  z-index: 10;40}4142#pre-lock[hidden] {43  display: none;44}4546.popup-root {47  position: relative;48  overflow: hidden;49}5051.peach-theme {52  color: var(--peach-t0);53  font-family: var(--font-ui);54  font-weight: 300;55  box-sizing: border-box;56  text-align: left;57}58.peach-theme, .peach-theme * { box-sizing: inherit; }5960.peach-brand-mark {61  width: 14px;62  height: 14px;63  flex-shrink: 0;64}6566.peach-status-pip.is-hidden {67  display: none;68}6970.peach-status-pip.unlocked {71  background: var(--peach-health-ok);72  box-shadow: 0 0 6px rgba(100, 210, 100, 0.6);73}7475.peach-status-pip.pulse {76  animation: pip-pulse 400ms var(--peach-curve-settle) both;77}7879/* Shell */80.peach-shell, .peach-screen {81  background:82    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),83    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),84    var(--peach-bg);85  border: 1px solid var(--peach-t3);86  box-shadow:87    0 2px 8px rgba(0,0,0,0.55),88    0 14px 48px rgba(0,0,0,0.7),89    0 0 0 1px rgba(240,232,216,0.04);90  overflow: hidden;91}92.peach-shell {93  display: grid;94  grid-template-rows: auto 1fr;95  min-height: 520px;96  position: relative;97  isolation: isolate;98}99100.peach-shell[data-surface="extension"] {101  width: min(320px, 100vw);102  border-radius: 0;103  height: 520px;104  max-height: 520px;105  overflow: hidden;106}107108/* ── Lock screen – full-window lock/create stage ── */109.lock-screen--vault-stage {110  display: flex;111  flex-direction: column;112  gap: 18px;113  padding: 20px 18px 18px;114  justify-content: flex-start;115}116.lock-screen--vault-stage .peach-lock-panel {117  margin-top: auto;118}119.peach-lock-headline--unlock {120  max-width: 220px;121}122.peach-lock-hero--unlock {123  padding-top: 14px;124}125.peach-lock-panel--unlock {126  gap: 10px;127}128129.peach-lock-restore-link {130  background: transparent;131  border: none;132  cursor: pointer;133  font-family: var(--font-mono);134  font-size: 0.625rem;135  letter-spacing: 0.08em;136  color: var(--t1);137  padding: 5px 0;138  text-align: left;139  transition: color 150ms ease;140}141142.peach-lock-restore-link:hover {143  color: var(--t0);144}145.peach-shell[data-surface="extension"] .peach-stage {146  min-height: 250px;147}148149/* Screen (unlock) */150.peach-screen {151  width: min(320px, 100vw);152  min-height: 100%;153  height: 100%;154  border-radius: 0;155  padding: 16px 20px 18px;156  display: grid;157  gap: 14px;158}159.peach-screen[data-motion-phase="enter"] {160  animation: peach-screen-enter var(--peach-dur-600) var(--peach-curve-arrival) both;161}162.peach-screen-header { min-height: 20px; }163164/* Wordmark */165.peach-wordmark {166  margin: 0;167  font-family: var(--font-display);168  font-size: 0.9375rem;169  font-style: italic;170  letter-spacing: 0.03em;171  color: var(--peach-t0);172  display: inline-flex;173  min-height: 1em;174}175176/* Motion text / char animation */177.peach-motion-text { display: inline-flex; min-height: 1em; }178.peach-motion-char {179  display: inline-block;180  white-space: pre;181  opacity: 0;182  transform: translateY(0.22em);183  animation: peach-char-enter var(--peach-motion-duration, 380ms) var(--peach-curve-arrival) forwards;184  animation-delay: calc(var(--peach-char-index, 0) * 20ms);185}186187/* Chrome */188.peach-chrome {189  position: relative;190  z-index: 10;191  padding: 16px 20px 0;192  display: flex;193  justify-content: space-between;194  align-items: center;195  /* z-index:10 keeps the header icons above `.peach-loading` (Suspense196     fallback) per §15 regression guard. Without pointer-events:none, the197     empty header strip also sits above `.peach-overlay-view` (z-index:2)198     and swallows clicks meant for an overlay's back button / top search. */199  pointer-events: none;200}201.peach-chrome .peach-btn { pointer-events: auto; }202.peach-chrome.is-hidden-for-overlay,203.peach-search-wrap.is-hidden-for-overlay {204  opacity: 0;205  visibility: hidden;206  pointer-events: none;207}208/* Chirp-sync owns its own surface and header — fully collapse the global209   chrome row so the warm gradient reaches the popup edge. */210.peach-chrome.is-collapsed,211.peach-search-wrap.is-collapsed {212  display: none;213}214.peach-wordmark-wrap { display: flex; align-items: center; gap: 5px; }215.peach-status-pip {216  width: 5px;217  height: 5px;218  border-radius: 50%;219  background: var(--peach-t3);220  display: inline-flex;221  flex-shrink: 0;222  transition: background 400ms ease, box-shadow 400ms ease;223}224.peach-chrome-actions { display: flex; gap: 6px; }225226/* Shell body */227.peach-shell-body {228  position: relative;229  display: grid;230  grid-template-rows: 1fr auto;231  min-height: 0;232  min-width: 0;233  width: 100%;234  overflow: hidden;235  height: 100%;236}237.peach-shell-veil {238  position: absolute; inset: 0;239  background: #000; opacity: 0;240  pointer-events: none; z-index: 1;241}242.peach-shell[data-motion-phase="enter"] .peach-shell-body {243  animation: peach-shell-fade-in var(--peach-dur-600) var(--peach-curve-arrival) both;244}245.peach-shell[data-motion-phase="exit"] .peach-shell-veil {246  animation: peach-veil-in 300ms var(--peach-curve-departure) forwards;247}248249/* Content frame */250.peach-content-frame {251  display: grid;252  grid-template-rows: 1fr auto;253  grid-template-columns: minmax(0, 1fr);254  align-content: start;255  min-height: 0;256  min-width: 0;257  overflow: hidden;258  transition: opacity 80ms ease, transform 80ms ease;259}260.peach-content-frame.navigating {261  opacity: 0.93;262  transform: translateX(2px);263}264.peach-content-frame[data-content-phase="enter"] {265  animation: peach-content-enter 135ms ease-out both;266}267.peach-content-frame[data-content-phase="exit"] {268  animation: peach-content-exit 95ms ease-in forwards;269}270.peach-content-frame[data-content-phase="idle"] { opacity: 1; transform: none; }271272/* Stage */273.peach-stage {274  padding: 10px 20px 12px;275  display: grid;276  gap: 12px;277  align-content: start;278  min-width: 0;279  min-height: 0;280  max-width: 100%;281  overflow-y: auto;282  overflow-x: hidden;283  scrollbar-width: none;284  -ms-overflow-style: none;285  overscroll-behavior: contain;286}287.peach-stage::-webkit-scrollbar { display: none; }288289/* Entry name */290.peach-entry-name-wrap { position: relative; overflow: hidden; max-width: 100%; }291.peach-entry-header {292  position: relative;293  z-index: 1;294  display: flex;295  align-items: flex-start;296  gap: 6px;297  min-width: 0;298}299.peach-entry-header-name {300  flex: 1;301  min-width: 0;302}303.peach-entry-name {304  margin: 0;305  padding-bottom: 0.12em;306  font-family: var(--font-display);307  font-style: italic; font-weight: 400;308  font-size: 44px; line-height: 0.95;309  color: var(--peach-t0);310  display: -webkit-box;311  -webkit-line-clamp: 2;312  -webkit-box-orient: vertical;313  overflow: hidden;314  text-wrap: balance;315}316.peach-entry-name--lg { font-size: 40px; }317.peach-entry-name--xl { font-size: 34px; line-height: 0.98; }318.peach-entry-name--xxl { font-size: 30px; line-height: 1.02; }319.peach-entry-name-text { display: block; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; padding-bottom: 0.12em; }320321/* Trash icon in entry header */322.peach-entry-trash-btn {323  flex-shrink: 0;324  padding: 4px;325  margin-top: 4px;326  background: transparent;327  border: none;328  cursor: pointer;329  color: var(--peach-t2);330  border-radius: 4px;331  transition: color 140ms ease, background 140ms ease;332  display: flex;333  align-items: center;334  justify-content: center;335}336.peach-entry-trash-btn:hover {337  color: var(--peach-t1);338  background: var(--peach-t3);339}340.peach-entry-trash-confirm {341  display: flex;342  align-items: center;343  gap: 6px;344  flex-shrink: 0;345  margin-top: 6px;346  flex-wrap: nowrap;347}348.peach-entry-trash-confirm-label {349  font-family: var(--font-mono);350  font-size: 0.5625rem;351  letter-spacing: 0.1em;352  color: var(--peach-t2);353  white-space: nowrap;354}355.peach-entry-name-button {356  padding: 0;357  background: transparent;358  text-align: left;359  cursor: pointer;360  max-width: 100%;361  overflow: hidden;362  display: block;363}364.peach-entry-name-char {365  display: inline-block;366  white-space: pre;367  opacity: 0;368  transform: translateY(0.22em);369  animation: peach-char-enter 380ms var(--peach-curve-arrival) forwards;370  animation-delay: calc(var(--char-index, 0) * 20ms);371}372373/* Domain */374.peach-domain { border-top: 1px solid var(--peach-t3); padding-top: 9px; }375.peach-domain-row {376  width: 100%; border: 0; background: transparent; color: inherit;377  padding: 0; display: flex; justify-content: space-between; align-items: baseline;378  cursor: default;379}380.peach-domain-value {381  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;382  font-size: 0.625rem; font-style: italic;383  letter-spacing: 0.12em; color: var(--peach-t1);384}385386/* Fields */387.peach-fields { display: grid; gap: 10px; }388.peach-field-card { display: grid; gap: 7px; }389.peach-label {390  font-family: Inter, system-ui, sans-serif;391  text-transform: uppercase; letter-spacing: 0.2em;392  font-size: 0.5rem; color: var(--peach-t2);393}394.peach-add-field-btn {395  align-self: flex-start;396  background: none; border: none; padding: 2px 0;397  font-family: Inter, system-ui, sans-serif;398  font-size: 0.6875rem; color: var(--peach-accent);399  cursor: pointer; opacity: 0.75;400  letter-spacing: 0.02em;401}402.peach-add-field-btn:hover { opacity: 1; }403.peach-field-value-row {404  display: flex; justify-content: space-between;405  align-items: center; gap: 8px;406  min-width: 0;407}408.peach-field-value {409  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;410  font-size: 0.8125rem; color: var(--peach-t1);411  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;412  flex: 1;413  min-width: 0;414}415.peach-password-value {416  display: inline-flex;417  align-items: center;418  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;419  font-size: 1rem; letter-spacing: 0.3em; color: var(--peach-t0);420  overflow: hidden;421  text-overflow: ellipsis;422  white-space: nowrap;423  flex: 1;424  min-width: 0;425  max-width: 100%;426}427.peach-password-value.is-revealed {428  font-size: 0.875rem;429  letter-spacing: 0.08em;430}431.peach-password-text,432.peach-password-mask {433  display: block;434  width: 100%;435  overflow: hidden;436  white-space: nowrap;437  /* Render as uniform mid-line bullets, not baseline periods */438  font-family: Inter, system-ui, sans-serif;439  font-size: 0.625rem;440  letter-spacing: 3px;441  user-select: none;442}443.peach-field-actions { display: flex; gap: 4px; align-items: center; }444.peach-password-strength { display: flex; align-items: center; gap: 8px; }445.peach-strength-bar { display: flex; gap: 3px; }446.peach-strength-seg { width: 28px; height: 4px; border-radius: 2px; background: #eee; }447.peach-strength-label {448  font-family: "IBM Plex Mono", monospace;449  font-style: italic;450  font-size: 0.5625rem;451  font-weight: 300;452  min-width: 36px;453  text-align: right;454  color: var(--peach-t2);455  letter-spacing: 0.06em;456}457458.peach-strength-hairline {459  display: flex;460  align-items: center;461  gap: 10px;462  margin-top: -2px;463}464465.peach-strength-hairline-track {466  flex: 1;467  height: 3px;468  border-radius: 2px;469  background: var(--peach-s2);470  overflow: hidden;471}472473.peach-strength-hairline-fill {474  height: 100%;475  border-radius: 2px;476  transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1),477    background 400ms ease;478}479480/* Note content (display) */481.peach-note-content {482  border-top: 1px solid var(--peach-t3);483  padding-top: 10px;484  font-family: var(--font-display);485  font-size: 0.9375rem;486  line-height: 1.75;487  color: var(--peach-t1);488}489490/* ── Inline editing ─────────────────────────────────────────────────── */491492/* Clickable display values */493.peach-inline-clickable {494  cursor: text;495  border-radius: 3px;496  transition: background 150ms ease;497}498.peach-inline-clickable:hover {499  background: rgba(240, 232, 216, 0.05);500}501502/* Subtle "edit" hint that appears on hover */503.peach-inline-edit-hint {504  font-family: Inter, system-ui, sans-serif;505  font-size: 0.5625rem;506  text-transform: uppercase;507  letter-spacing: 0.14em;508  color: var(--peach-t2);509  opacity: 0;510  transition: opacity 120ms ease;511  pointer-events: none;512  margin-left: 6px;513  flex-shrink: 0;514}515.peach-domain-row:hover .peach-inline-edit-hint {516  opacity: 1;517}518519/* Title editing */520.peach-inline-title-wrap {521  display: flex;522  flex-direction: column;523  gap: 6px;524}525.peach-inline-title-input {526  font-family: var(--font-display);527  font-style: italic;528  font-weight: 400;529  font-size: 40px;530  line-height: 0.95;531  color: var(--peach-t0);532  background: transparent;533  border: none;534  border-bottom: 1px solid var(--peach-accent);535  outline: none;536  width: 100%;537  padding: 2px 0;538}539540/* Generic inline field */541.peach-inline-field-wrap {542  display: flex;543  flex-direction: column;544  gap: 6px;545}546.peach-inline-input {547  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;548  font-size: 0.8125rem;549  color: var(--peach-t0);550  background: transparent;551  border: none;552  border-bottom: 1px solid var(--peach-accent);553  outline: none;554  width: 100%;555  padding: 3px 0;556}557.peach-inline-textarea {558  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;559  font-size: 0.6875rem;560  line-height: 1.7;561  color: var(--peach-t0);562  background: rgba(240, 232, 216, 0.04);563  border: 1px solid var(--peach-accent);564  border-radius: 4px;565  outline: none;566  width: 100%;567  padding: 8px;568  resize: vertical;569  min-height: 80px;570}571572/* Save / cancel row */573.peach-inline-actions {574  display: flex;575  gap: 6px;576  align-items: center;577}578.peach-inline-save-btn,579.peach-inline-cancel-btn {580  display: inline-flex;581  align-items: center;582  justify-content: center;583  width: 26px;584  height: 26px;585  border-radius: 4px;586  border: none;587  cursor: pointer;588  transition: background 140ms ease, opacity 140ms ease;589  flex-shrink: 0;590}591.peach-inline-save-btn {592  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);593  color: var(--peach-accent);594}595.peach-inline-save-btn:hover:not(:disabled) {596  background: color-mix(in srgb, var(--peach-accent) 30%, transparent);597}598.peach-inline-cancel-btn {599  background: rgba(240, 232, 216, 0.06);600  color: var(--peach-t2);601}602.peach-inline-cancel-btn:hover:not(:disabled) {603  background: rgba(240, 232, 216, 0.12);604  color: var(--peach-t1);605}606.peach-inline-save-btn:disabled,607.peach-inline-cancel-btn:disabled {608  opacity: 0.4;609  cursor: not-allowed;610}611612/* Inline password generator wrapper */613.peach-inline-generator-wrap {614  margin-top: 10px;615  padding-top: 10px;616  border-top: 1px solid var(--peach-t3);617  display: flex;618  flex-direction: column;619  gap: 8px;620}621.peach-inline-generator-cancel {622  align-self: flex-start;623  font-size: 0.6875rem;624  color: var(--peach-t2);625}626627/* "is-editing" card state */628.peach-field-card.is-editing {629  background: rgba(240, 232, 216, 0.02);630  border-radius: 6px;631  padding: 8px;632  margin: -8px;633}634635/* Inline tag editor on Entry detail view */636.peach-inline-tag-editor {637  display: flex;638  flex-direction: column;639  gap: 6px;640}641642/* Quiet inline "+ add X" link in the entry detail body */643.peach-entry-add-link {644  justify-self: start;645  margin-top: 8px;646}647648/* Additional URLs editor revealed by clicking the URL field */649.peach-additional-urls {650  display: flex;651  flex-direction: column;652  gap: 6px;653  margin-top: 8px;654}655.peach-additional-urls-label {656  font-size: 0.5625rem;657  letter-spacing: 0.1em;658  text-transform: uppercase;659  color: var(--peach-t2);660  margin-bottom: 2px;661}662.peach-additional-url-row {663  display: flex;664  align-items: center;665  gap: 6px;666}667.peach-additional-url-row .peach-inline-input { flex: 1; min-width: 0; }668.peach-additional-url-remove {669  background: transparent;670  border: 1px solid var(--peach-t3);671  color: var(--peach-t2);672  width: 22px;673  height: 22px;674  border-radius: 4px;675  cursor: pointer;676  font-size: 0.875rem;677  line-height: 1;678  display: inline-flex;679  align-items: center;680  justify-content: center;681  flex-shrink: 0;682  transition: color 120ms ease, border-color 120ms ease;683}684.peach-additional-url-remove:hover:not(:disabled) {685  color: var(--peach-accent);686  border-color: var(--peach-border-accent);687}688.peach-additional-urls-add { align-self: flex-start; }689690/* Delete row */691.peach-entry-delete-row {692  display: flex;693  align-items: center;694  gap: 8px;695  padding-top: 18px;696  margin-top: 8px;697  border-top: 1px solid var(--peach-t3);698}699.peach-delete-btn {700  font-size: 0.6875rem;701  color: var(--peach-t2);702  padding: 4px 0;703}704.peach-delete-confirm-text {705  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;706  font-size: 0.6875rem;707  font-style: italic;708  color: var(--peach-t2);709  flex-shrink: 0;710}711712/* TOTP band */713.peach-totp-band {714  border-top: 1px solid var(--peach-t3);715  padding: 12px 20px 14px;716  position: relative;717  display: grid;718  grid-template-columns: 1fr auto;719  gap: 10px;720}721.peach-totp-main {722  min-width: 0;723  cursor: pointer;724  user-select: none;725}726.peach-totp-code.is-copied { opacity: 0.55; transition: opacity 140ms ease; }727.peach-totp-code-row {728  display: flex;729  align-items: flex-end;730  gap: 10px;731  min-width: 0;732}733.peach-totp-code {734  margin: 2px 0 0;735  font-family: var(--font-display);736  font-style: italic;737  font-weight: 300;738  font-size: 38px; color: var(--peach-accent);739  line-height: 0.95; min-height: 1em;740  min-width: 0;741}742.peach-totp-code-text {743  display: inline-flex;744  overflow: hidden;745  text-overflow: ellipsis;746  white-space: nowrap;747}748.peach-totp-copy-btn {749  margin-bottom: 2px;750  flex-shrink: 0;751  border-color: transparent;752}753.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }754.peach-totp-countdown {755  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;756  font-size: 22px; color: var(--peach-t1);757}758.peach-totp-ring { transform: rotate(-90deg); }759.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }760.peach-totp-ring-progress {761  fill: none; stroke: var(--peach-accent); stroke-width: 2;762  stroke-linecap: round;763  transition: stroke-dashoffset 1s linear, stroke 500ms ease;764}765/* Search bar */766.peach-search-wrap {767  border-top: 1px solid var(--peach-t3);768  background: var(--peach-s1);769  min-height: 54px; position: relative;770  box-shadow: inset 0 6px 18px transparent;771  transition: box-shadow 700ms ease;772}773.peach-search-wrap::before {774  content: "";775  position: absolute;776  left: 0;777  top: 0;778  height: 2px;779  width: var(--peach-totp-progress, 0%);780  background: var(--peach-accent);781  opacity: 0;782  transition: width 1s linear, opacity 180ms ease;783  pointer-events: none;784}785.peach-shell[data-totp-active="true"] .peach-search-wrap::before {786  opacity: 0.9;787}788.peach-shell[data-totp-active="true"] .peach-search-wrap {789  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);790}791792@keyframes peach-totp-code-flare {793  0%   { filter: brightness(1); }794  25%  { filter: brightness(1.3); }795  100% { filter: brightness(1); }796}797.peach-totp-code.is-hot {798  animation: peach-totp-code-flare 3000ms ease-in-out both;799}800.peach-search-bar {801  min-height: 54px;802  display: grid;803  grid-template-columns: auto minmax(0, 1fr) auto;804  align-items: center;805  gap: 8px; padding: 0 9px 0 12px;806}807.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }808.peach-search-input {809  border: 0; background: transparent; color: var(--peach-t0);810  font-family: var(--font-display);811  font-style: italic; font-size: 18px;812  outline: none; width: 100%; min-width: 0; padding: 0;813  caret-color: var(--peach-accent);814}815.peach-search-input::placeholder { color: var(--peach-t2); }816.peach-search-meta {817  display: grid;818  grid-auto-flow: column;819  align-items: center;820  justify-content: end;821  gap: 6px;822  min-width: max-content;823}824.peach-search-counter {825  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;826  font-size: 0.625rem; color: var(--peach-t2);827  display: inline-flex;828  align-items: center;829  line-height: 1;830}831.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }832833/* Buttons */834.peach-btn {835  border: 1px solid transparent; border-radius: 12px;836  background: transparent; color: var(--peach-t0);837  font-family: Inter, system-ui, sans-serif;838  font-size: 0.75rem; letter-spacing: 0.02em; padding: 8px 12px;839  cursor: pointer;840  transition:841    background-color var(--peach-dur-80) var(--peach-curve-arrival),842    color var(--peach-dur-80) var(--peach-curve-arrival),843    border-color var(--peach-dur-150) var(--peach-curve-arrival);844}845.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }846.peach-btn:disabled {847  opacity: 0.45;848  cursor: not-allowed;849}850.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 0.6875rem; }851.peach-btn--md { min-height: 38px; }852.peach-btn--accent {853  background: var(--peach-accent);854  color: rgba(0,0,0,0.92);855  font-weight: 500;856  box-shadow:857    0 1px 0 rgba(255,255,255,0.08) inset,858    0 0 0 1px color-mix(in srgb, var(--peach-accent) 21%, transparent),859    0 3px 16px var(--peach-glow),860    0 0 24px color-mix(in srgb, var(--peach-accent) 10%, transparent);861}862.peach-btn--accent:hover:not(:disabled) {863  background: var(--peach-accent);864  filter: brightness(1.10) saturate(1.05);865  box-shadow:866    0 1px 0 rgba(255,255,255,0.10) inset,867    0 0 0 1px color-mix(in srgb, var(--peach-accent) 25%, transparent),868    0 4px 20px color-mix(in srgb, var(--peach-accent) 21%, transparent),869    0 0 30px color-mix(in srgb, var(--peach-accent) 14%, transparent);870}871.peach-btn--ghost:not(.peach-icon-btn) { border-color: var(--peach-t3); color: var(--peach-t1); }872.peach-btn--ghost.peach-icon-btn { color: var(--peach-t1); }873.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }874.peach-icon-btn {875  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;876  display: inline-flex; align-items: center; justify-content: center;877  border-color: transparent;878  transition:879    color var(--peach-dur-80) var(--peach-curve-arrival),880    box-shadow var(--peach-dur-150) var(--peach-curve-arrival),881    background-color var(--peach-dur-80) var(--peach-curve-arrival);882}883.peach-icon-btn:hover:not(:disabled) {884  background: transparent;885  color: var(--peach-accent);886  box-shadow: 0 0 12px color-mix(in srgb, var(--peach-accent) 28%, transparent),887              0 0 4px color-mix(in srgb, var(--peach-accent) 16%, transparent);888}889890.peach-btn:focus-visible {891  outline: none;892  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);893}894895/* Lock button */896.peach-lock-icon { transform-origin: center; }897.peach-lock-btn { color: var(--peach-accent); }898.peach-lock-btn.is-locking .peach-lock-icon {899  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);900}901902/* Biometric unlock button */903.peach-biometric-btn {904  display: flex;905  align-items: center;906  justify-content: center;907  gap: 6px;908  margin-top: 8px;909  width: 100%;910}911912/* Copy button */913.peach-copy-btn {914  position: relative; overflow: hidden;915  color: var(--peach-t2); border-color: var(--peach-t3);916}917.peach-copy-icon {918  display: inline-flex; align-items: center; justify-content: center;919  position: relative; z-index: 1;920}921.peach-copy-icon-svg { display: block; }922.peach-copy-sheen {923  position: absolute; inset: 0;924  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%);925  opacity: 0; transform: scaleX(0.15); transform-origin: left center;926}927.peach-copy-btn.is-copied {928  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;929  box-shadow:930    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),931    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),932    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);933}934.peach-copy-btn.is-copied .peach-copy-icon {935  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;936}937.peach-copy-btn.is-copied .peach-copy-sheen {938  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;939}940.peach-copy-btn.is-retreat {941  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;942}943.peach-copy-btn.is-retreat .peach-copy-sheen {944  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;945}946.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }947.peach-copy-drain-bar {948  display: block; width: 100%; height: 100%;949  background: var(--peach-accent); opacity: 0.7;950  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;951}952953/* Unlock screen elements */954.peach-unlock-headline {955  margin: 2px 0 0;956  font-family: var(--font-display);957  font-size: 52px; line-height: 0.95;958  font-style: italic; font-weight: 400;959}960.peach-subline {961  margin: 0;962  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;963  font-size: 0.625rem; color: var(--peach-t2); font-style: italic;964}965.peach-subline--lock {966  max-width: 248px;967  line-height: 1.5;968}969.peach-underline-input {970  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);971  padding: 6px 0; background: transparent; color: var(--peach-t0);972  outline: none;973  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;974  font-size: 0.8125rem;975  caret-color: var(--peach-accent);976}977.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }978.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }979.peach-hint {980  margin: 0;981  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;982  font-size: 0.625rem; color: var(--peach-t2);983}984.peach-unlock-footer {985  margin-top: 4px; display: flex; align-items: center; gap: 7px;986  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;987  font-size: 0.625rem; color: var(--peach-t2);988}989.peach-unlock-footer--lock {990  padding-top: 2px;991}992993/* Breach badge */994.peach-breach-badge {995  display: flex;996  position: relative;997  z-index: 1;998  align-items: center;999  gap: 7px;1000  font-size: 0.5625rem;1001  color: var(--peach-breach);1002  padding: 5px 10px;1003  margin-bottom: 4px;1004  border-radius: 8px;1005  background: rgba(220, 80, 60, 0.07);1006  border: 1px solid rgba(220, 80, 60, 0.18);1007  letter-spacing: 0.04em;1008}10091010.peach-password-value.is-breached {1011  color: rgba(220, 80, 60, 0.75);1012  border-bottom: 1px solid rgba(220, 80, 60, 0.22);1013}10141015/* ── Overlay views ─────────────────────────────────────────────────── */1016.peach-overlay-view {1017  position: absolute;1018  inset: 0;1019  display: flex;1020  flex-direction: column;1021  background:1022    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),1023    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),1024    var(--peach-bg);1025  z-index: 2;1026  overflow: hidden;1027  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;1028}10291030.peach-overlay-view:has(.stk-shell) {1031  background: var(--peach-bg);1032}1033@keyframes overlay-in {1034  from { opacity: 0; transform: translateY(8px); }1035  to   { opacity: 1; transform: translateY(0); }1036}1037.peach-overlay-view.ov-enter-up {1038  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1039}1040.peach-overlay-view.ov-exit-up {1041  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;1042}1043.peach-overlay-view.ov-enter-right {1044  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1045}1046.peach-overlay-view.ov-exit-right {1047  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;1048}10491050@keyframes ov-enter-up {1051  from { opacity: 0; transform: translateY(18px); }1052  to   { opacity: 1; transform: translateY(0); }1053}1054@keyframes ov-exit-up {1055  from { opacity: 1; transform: translateY(0); }1056  to   { opacity: 0; transform: translateY(-12px); }1057}1058@keyframes ov-enter-right {1059  from { opacity: 0; transform: translateX(20px); }1060  to   { opacity: 1; transform: translateX(0); }1061}1062@keyframes ov-exit-right {1063  from { opacity: 1; transform: translateX(0); }1064  to   { opacity: 0; transform: translateX(20px); }1065}10661067/* Overlay shared header */1068.peach-overlay-header {1069  padding: 10px 12px 8px;1070  display: flex;1071  align-items: center;1072  gap: 10px;1073  flex-shrink: 0;1074}1075/* Back button — circular pill matching the settings stack masthead (.stk-back) */1076.peach-overlay-header .peach-btn--ghost.peach-icon-btn {1077  width: 28px;1078  height: 28px;1079  flex: 0 0 28px;1080  border-radius: 999px;1081  border: 1px solid var(--peach-border);1082  background: color-mix(in srgb, var(--peach-t0) 4%, transparent);1083  color: var(--peach-t1);1084  padding: 0;1085}1086.peach-overlay-header .peach-btn--ghost.peach-icon-btn:hover {1087  color: var(--peach-t0);1088  border-color: color-mix(in srgb, var(--peach-accent) 34%, transparent);1089  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1090}1091.peach-overlay-title {1092  font-family: var(--font-display);1093  font-style: italic;1094  font-weight: 400;1095  font-size: 20px;1096  line-height: 1;1097  color: var(--peach-t0);1098  flex: 1;1099  text-align: center;1100}1101/* Balances the 28px back button so the title stays visually centred */1102.peach-overlay-spacer {1103  width: 28px;1104  flex: 0 0 28px;1105}11061107.peach-overlay-card {1108  background: var(--peach-s1);1109  border: 1px solid var(--peach-t3);1110  border-radius: 12px;1111  overflow: hidden;1112  width: 100%;1113}11141115.peach-onboarding-alt-actions {1116  display: flex;1117  flex-direction: column;1118  gap: 4px;1119  padding: 0;1120}11211122.peach-settings-copy {1123  margin: 0 0 10px;1124  font-size: 0.6875rem;1125  line-height: 1.5;1126  color: var(--peach-t2);1127}11281129.peach-settings-copy strong {1130  color: var(--peach-t0);1131}11321133.peach-settings-copy--spacious {1134  margin-bottom: 12px;1135}11361137.peach-settings-copy--result {1138  color: var(--peach-accent);1139  font-size: 0.8125rem;1140  text-align: center;1141  padding: 8px 0;1142}11431144.peach-settings-copy--danger {1145  color: var(--peach-breach);1146}11471148.peach-settings-copy--success {1149  color: var(--peach-accent);1150}11511152.peach-inline-feedback {1153  font-size: 0.6875rem;1154  margin: 10px 0 0;1155}11561157.peach-inline-feedback--ok {1158  color: var(--peach-accent);1159}11601161.peach-inline-feedback--error {1162  color: var(--peach-breach);1163}11641165.peach-inline-feedback--muted {1166  color: var(--peach-t2);1167  font-size: 0.625rem;1168  margin: 4px 0;1169}11701171.peach-inline-feedback--spaced {1172  margin-top: 12px;1173}11741175.peach-settings-actions--row {1176  display: flex;1177  gap: 6px;1178}11791180.peach-settings-actions--end {1181  margin-top: 14px;1182  justify-content: flex-end;1183}11841185.peach-settings-stack {1186  display: flex;1187  flex-direction: column;1188  gap: 6px;1189}11901191.peach-settings-stack--tight {1192  gap: 4px;1193}11941195.peach-settings-stack--spacious {1196  gap: 8px;1197}11981199.peach-settings-input {1200  width: 100%;1201  box-sizing: border-box;1202  padding: 8px 10px;1203  background: rgba(0, 0, 0, 0.22);1204  border: 1px solid transparent;1205  border-radius: 6px;1206  color: var(--peach-t0);1207  font-family: var(--font-ui);1208  font-size: 0.75rem;1209  outline: none;1210  transition: border-color 120ms ease, background 120ms ease;1211}12121213.peach-settings-input:focus {1214  border-color: color-mix(in srgb, var(--peach-accent) 55%, transparent);1215  background: rgba(0, 0, 0, 0.28);1216}12171218.peach-settings-input[type="password"] {1219  font-family: var(--font-mono);1220  letter-spacing: 0.04em;1221}12221223.peach-hidden-file-input {1224  display: none;1225}12261227.peach-checkbox-note {1228  display: flex;1229  align-items: flex-start;1230  gap: 8px;1231  font-size: 0.6875rem;1232  color: var(--peach-t1);1233  cursor: pointer;1234  margin: 12px 0;1235}12361237.peach-checkbox-note input {1238  margin-top: 1px;1239}12401241.peach-danger-notice {1242  background: rgba(220, 80, 60, 0.08);1243  border: 1px solid rgba(220, 80, 60, 0.2);1244  border-radius: 6px;1245  padding: 9px 11px;1246  font-size: 0.6875rem;1247  color: var(--peach-t1);1248  line-height: 1.5;1249}12501251.peach-info-notice {1252  font-size: 0.6875rem;1253  color: var(--peach-t1);1254  line-height: 1.5;1255  background: var(--surface-card);1256  border: 1px solid var(--peach-t3);1257  border-radius: 6px;1258  padding: 8px 10px;1259}12601261.peach-info-notice--warn {1262  border-color: rgba(220, 38, 38, 0.4);1263  background: rgba(220, 38, 38, 0.06);1264  color: rgba(220, 38, 38, 0.92);1265  margin-bottom: 8px;1266}12671268.peach-strength-row {1269  display: flex;1270  align-items: center;1271  gap: 8px;1272  margin-bottom: 10px;1273}12741275.peach-strength-track {1276  flex: 1;1277  height: 4px;1278  background: var(--peach-s2);1279  border-radius: 2px;1280  overflow: hidden;1281}12821283.peach-strength-fill {1284  height: 100%;1285  border-radius: 2px;1286  transition: width 120ms ease, background 120ms ease;1287}12881289/* ── Type selector tabs ── */1290.peach-type-tabs {1291  display: flex;1292  gap: 0;1293  background: var(--peach-t4);1294  border-radius: 8px;1295  padding: 3px;1296}12971298.peach-type-tab {1299  flex: 1;1300  display: flex;1301  align-items: center;1302  justify-content: center;1303  gap: 6px;1304  padding: 6px 10px;1305  border-radius: 6px;1306  border: none;1307  background: transparent;1308  cursor: pointer;1309  font-family: Inter, system-ui, sans-serif;1310  font-size: 0.6875rem;1311  font-weight: 400;1312  letter-spacing: 0.04em;1313  color: var(--peach-t1);1314  transition: background 150ms ease, color 150ms ease;1315}13161317.peach-type-tab.is-active {1318  background: var(--peach-s2);1319  color: var(--peach-t0);1320  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1321}13221323.peach-type-tab:not(.is-active):hover {1324  color: var(--peach-t0);1325}13261327.peach-type-tab svg {1328  opacity: 0.7;1329  flex-shrink: 0;1330}13311332.peach-type-tab.is-active svg {1333  opacity: 1;1334}13351336/* ── List view ───────────────────────────────────────────────────────── */1337.peach-list-top {1338  padding: 0 10px;1339  min-height: 46px;1340  display: flex;1341  align-items: center;1342  gap: 6px;1343  border-bottom: 1px solid var(--peach-t3);1344  flex-shrink: 0;1345  background: var(--peach-s1);1346}13471348.peach-vault-list {1349  flex: 1;1350  overflow-y: auto;1351  scrollbar-width: none;1352}1353.peach-vault-list::-webkit-scrollbar { display: none; }13541355/* Scrollbar — vault list */1356.peach-vault-list {1357  scrollbar-width: thin;1358  scrollbar-color: var(--peach-t3) transparent;1359}13601361.peach-vault-list::-webkit-scrollbar {1362  width: 3px;1363}13641365.peach-vault-list::-webkit-scrollbar-thumb {1366  background: var(--peach-t3);1367  border-radius: 2px;1368}13691370.peach-entry-row {1371  width: 100%;1372  display: flex;1373  align-items: center;1374  gap: 10px;1375  padding: 9px 16px;1376  background: transparent;1377  border: none;1378  border-bottom: 1px solid var(--peach-t3);1379  cursor: pointer;1380  color: inherit;1381  text-align: left;1382  transition: background 80ms ease;1383}1384.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1385.peach-entry-row:last-child { border-bottom: none; }1386.peach-entry-row.is-active {1387  box-shadow: inset 2px 0 0 var(--peach-accent);1388  background: rgba(240,232,216,0.03);1389}1390.peach-entry-row:focus-visible {1391  outline: none;1392  box-shadow: 0 0 0 1px var(--peach-border-accent);1393  background: rgba(240,232,216,0.03);1394}1395.peach-entry-row-icon {1396  width: 26px; height: 26px;1397  border-radius: 7px;1398  border: 1px solid var(--peach-t3);1399  display: flex; align-items: center; justify-content: center;1400  color: var(--peach-t2);1401  flex-shrink: 0;1402}1403.peach-entry-row-icon.is-breach {1404  border-color: rgba(220,80,60,0.3);1405  color: rgba(220,80,60,0.7);1406}14071408/* Title-initials chip used as the favicon fallback for login entries whose1409 * real favicon hasn't been cached by the browser yet (freshly-imported,1410 * never-visited domains). Background colour is hashed from the title so1411 * the same entry always shows the same chip. The chip fits the same1412 * 26×26 row icon slot the favicon would take. */1413.peach-favicon-initials {1414  display: inline-flex;1415  align-items: center;1416  justify-content: center;1417  width: 100%;1418  height: 100%;1419  border-radius: 4px;1420  font-family: "IBM Plex Mono", monospace;1421  font-size: 0.5625rem;1422  font-weight: 600;1423  letter-spacing: 0.04em;1424  color: rgba(240, 232, 216, 0.92);1425  text-transform: uppercase;1426  user-select: none;1427}1428.peach-entry-row-info { flex: 1; min-width: 0; }1429.peach-entry-row-name {1430  display: block;1431  font-family: var(--font-display);1432  font-size: 1.0625rem;1433  font-style: italic;1434  font-weight: 400;1435  color: var(--peach-t0);1436  line-height: 1.2;1437  white-space: nowrap;1438  overflow: hidden;1439  text-overflow: ellipsis;1440}1441.peach-entry-row-meta {1442  display: block;1443  font-family: "IBM Plex Mono", monospace;1444  font-size: 0.5625rem;1445  color: var(--peach-t2);1446  margin-top: 1px;1447  letter-spacing: 0.05em;1448}1449.peach-entry-row-dot {1450  width: 5px; height: 5px;1451  border-radius: 50%;1452  background: rgba(220,80,60,0.7);1453  flex-shrink: 0;1454}1455.peach-new-entry-row {1456  display: flex;1457  align-items: center;1458  justify-content: center;1459  gap: 6px;1460  width: 100%;1461  padding: 11px;1462  background: transparent;1463  border: none;1464  border-top: 1px solid var(--peach-t3);1465  color: var(--peach-t2);1466  font-family: "IBM Plex Mono", monospace;1467  font-size: 0.5625rem;1468  text-transform: uppercase;1469  letter-spacing: 0.14em;1470  cursor: pointer;1471  flex-shrink: 0;1472  transition: color 120ms ease, background 120ms ease;1473}1474.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }14751476/* ── Multi-select mode ─────────────────────────────────────────────── */14771478/* Select-mode trigger button in sort bar — same shape as trash btn */1479.peach-sort-select-btn {1480  display: flex;1481  align-items: center;1482  justify-content: center;1483  padding: 3px 5px;1484  background: transparent;1485  border: none;1486  cursor: pointer;1487  color: var(--peach-t2);1488  border-radius: 4px;1489  transition: color 140ms ease, background 140ms ease;1490}1491.peach-sort-select-btn:hover {1492  color: var(--peach-t1);1493  background: var(--peach-t3);1494}14951496/* Sort bar in select mode */1497.peach-select-cancel-btn {1498  background: transparent;1499  border: none;1500  padding: 0 4px;1501  cursor: pointer;1502  font-family: "IBM Plex Mono", monospace;1503  font-size: 0.5625rem;1504  letter-spacing: 0.12em;1505  text-transform: uppercase;1506  color: var(--peach-t2);1507  transition: color 140ms ease;1508  flex-shrink: 0;1509}1510.peach-select-cancel-btn:hover { color: var(--peach-t0); }15111512.peach-select-count-label {1513  flex: 1;1514  text-align: center;1515  font-family: "IBM Plex Mono", monospace;1516  font-size: 0.5625rem;1517  letter-spacing: 0.14em;1518  text-transform: uppercase;1519  color: var(--peach-t1);1520}15211522.peach-select-all-btn {1523  background: transparent;1524  border: none;1525  padding: 0 4px;1526  cursor: pointer;1527  font-family: "IBM Plex Mono", monospace;1528  font-size: 0.5625rem;1529  letter-spacing: 0.12em;1530  text-transform: uppercase;1531  color: var(--peach-t2);1532  transition: color 140ms ease;1533  flex-shrink: 0;1534}1535.peach-select-all-btn:hover { color: var(--peach-accent); }15361537/* List in select mode */1538.peach-vault-list.is-selecting .peach-entry-row {1539  cursor: default;1540}1541.peach-vault-list.is-selecting .peach-entry-row:hover {1542  background: rgba(240,232,216,0.02);1543}1544.peach-vault-list.is-selecting .peach-entry-row.is-selected {1545  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1546}1547.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1548  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1549}15501551/* Select indicator circles in icon slot */1552.peach-entry-row-icon.is-select-icon {1553  color: var(--peach-t2);1554}1555.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1556  color: var(--peach-accent);1557}15581559/* Delete action bar at bottom (replaces new-entry row) */1560.peach-select-action-bar {1561  display: flex;1562  align-items: center;1563  justify-content: center;1564  gap: 7px;1565  width: 100%;1566  padding: 11px;1567  background: transparent;1568  border: none;1569  border-top: 1px solid var(--peach-t3);1570  color: var(--peach-t1);1571  font-family: "IBM Plex Mono", monospace;1572  font-size: 0.5625rem;1573  text-transform: uppercase;1574  letter-spacing: 0.14em;1575  cursor: pointer;1576  flex-shrink: 0;1577  transition: color 120ms ease, background 120ms ease;1578}1579.peach-select-action-bar:not(:disabled):hover {1580  color: var(--peach-t0);1581  background: rgba(220,80,60,0.06);1582}1583.peach-select-action-bar:not(:disabled):hover svg {1584  stroke: rgba(220,80,60,0.8);1585}1586.peach-select-action-bar:disabled,1587.peach-select-action-bar.is-empty {1588  color: var(--peach-t2);1589  cursor: default;1590  opacity: 0.5;1591}1592.peach-search-counter-list {1593  white-space: nowrap;1594  flex-shrink: 0;1595}1596.peach-list-empty {1597  min-height: 180px;1598  display: grid;1599  place-items: center;1600  color: var(--peach-t2);1601  font-family: "IBM Plex Mono", monospace;1602  font-size: 0.6875rem;1603}16041605/* ── Settings view ───────────────────────────────────────────────────── */1606.peach-settings-body {1607  flex: 1;1608  overflow-y: auto;1609  min-height: 0;1610  display: flex;1611  flex-direction: column;1612  padding: 2px 0 10px;1613}1614.peach-settings-group {1615  margin: 4px 10px;1616  padding: 9px 14px 11px;1617  border-radius: 12px;1618  border: 1px solid rgba(255, 255, 255, 0.07);1619  background: rgba(26, 20, 16, 0.60);1620  backdrop-filter: blur(10px) saturate(1.3);1621  -webkit-backdrop-filter: blur(10px) saturate(1.3);1622}16231624.peach-settings-group + .peach-settings-group {1625  margin-top: 6px;1626}16271628@supports not (backdrop-filter: blur(1px)) {1629  .peach-settings-group {1630    background: rgba(26, 20, 16, 0.90);1631    border-color: rgba(255, 255, 255, 0.09);1632    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 20px rgba(0, 0, 0, 0.35);1633  }1634}16351636.light .peach-settings-group,1637[data-theme="light"] .peach-settings-group {1638  background: rgba(245, 237, 226, 0.70);1639  border-color: rgba(26, 18, 8, 0.08);1640  backdrop-filter: blur(10px) saturate(1.2);1641  -webkit-backdrop-filter: blur(10px) saturate(1.2);1642}16431644@supports not (backdrop-filter: blur(1px)) {1645  .light .peach-settings-group,1646  [data-theme="light"] .peach-settings-group {1647    background: rgba(245, 237, 226, 0.97);1648    border-color: rgba(26, 18, 8, 0.10);1649  }1650}1651.peach-export-intro {1652  padding-bottom: 8px;1653}1654.peach-export-card {1655  display: grid;1656  gap: 10px;1657}1658.peach-rune-canvas {1659  border-radius: 8px;1660  background: rgba(0, 0, 0, 0.22);1661  flex: 1;1662  align-self: center;1663}1664.peach-script-input {1665  font-family: "PeachScript", monospace;1666  font-size: 0.6875rem;1667  line-height: 1.9;1668  letter-spacing: 0.06em;1669  color: var(--peach-t0);1670  background: rgba(0, 0, 0, 0.22);1671  border: none;1672  border-radius: 6px;1673  padding: 12px;1674  width: 100%;1675  min-height: 96px;1676  resize: vertical;1677  word-break: break-all;1678  scrollbar-width: none;1679  -ms-overflow-style: none;1680}16811682.peach-script-input::-webkit-scrollbar { display: none; }1683.peach-csv-warning {1684  background: color-mix(in srgb, var(--peach-breach) 14%, transparent);1685  border: 1px solid color-mix(in srgb, var(--peach-breach) 40%, transparent);1686  color: var(--peach-t0);1687  border-radius: 6px;1688  padding: 10px 12px;1689  margin-bottom: 8px;1690  font-size: 0.75rem;1691  line-height: 1.45;1692}1693.peach-export-card--primary {1694  background:1695    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1696}16971698/* Export menu — distribute the three format cards across the popup. */1699.peach-export-menu {1700  display: flex;1701  flex-direction: column;1702  flex: 1;1703  min-height: 0;1704}1705.peach-export-menu .peach-settings-group {1706  flex: 1;1707  display: flex;1708  flex-direction: column;1709  justify-content: center;1710  gap: 10px;1711}17121713/* Result view — the script-string fills the remaining vertical surface. */1714.peach-export-result-group {1715  flex: 1;1716  display: flex;1717  flex-direction: column;1718  min-height: 0;1719  border-bottom: none;1720}1721.peach-export-result-group .peach-export-card {1722  flex: 1;1723  min-height: 0;1724  display: flex;1725  flex-direction: column;1726  gap: 10px;1727}1728.peach-export-result-group .peach-export-card-copy {1729  flex-shrink: 0;1730}1731.peach-export-result-group .peach-settings-label {1732  flex-shrink: 0;1733}1734.peach-export-result-group button {1735  flex-shrink: 0;1736}1737.peach-export-card-head {1738  display: flex;1739  align-items: center;1740  justify-content: space-between;1741  gap: 10px;1742}1743.peach-export-card-copy {1744  margin: 0;1745  font-size: 0.75rem;1746  line-height: 1.55;1747  color: var(--peach-t1);1748}1749.peach-export-note {1750  margin: 0;1751  font-size: 0.625rem;1752  line-height: 1.5;1753  color: var(--peach-t2);1754}1755.peach-export-strength-track {1756  height: 3px;1757  background: var(--peach-border);1758  border-radius: 2px;1759  margin: 4px 0 2px;1760  overflow: hidden;1761}1762.peach-export-strength-fill {1763  height: 100%;1764  border-radius: 2px;1765  transition: width 250ms ease, background 250ms ease;1766}1767.peach-export-strength-warn {1768  margin: 0;1769  font-size: 0.625rem;1770  line-height: 1.5;1771  color: #e84040;1772  font-family: "IBM Plex Mono", monospace;1773}1774.peach-export-strength-hint {1775  margin: 0;1776  font-size: 0.625rem;1777  line-height: 1.5;1778  color: var(--peach-t2);1779  font-family: "IBM Plex Mono", monospace;1780}1781.peach-export-pill {1782  display: inline-flex;1783  align-items: center;1784  padding: 4px 8px;1785  border-radius: 999px;1786  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1787  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1788  color: var(--peach-accent);1789  font-family: "IBM Plex Mono", monospace;1790  font-size: 0.5rem;1791  letter-spacing: 0.12em;1792  text-transform: uppercase;1793  white-space: nowrap;1794}1795.peach-export-pill--danger {1796  border-color: rgba(220,80,60,0.22);1797  background: rgba(220,80,60,0.08);1798  color: var(--peach-breach);1799}1800.peach-settings-label {1801  margin: 0 0 6px;1802  font-family: "IBM Plex Mono", monospace;1803  font-size: 0.5rem;1804  text-transform: uppercase;1805  letter-spacing: 0.18em;1806  color: var(--peach-t2);1807}1808.peach-settings-row {1809  display: flex;1810  align-items: center;1811  justify-content: space-between;1812  gap: 12px;1813  min-height: 34px;1814  padding: 6px 0;1815  font-size: 0.8125rem;1816  color: var(--peach-t1);1817}1818.peach-settings-row--meta { color: var(--peach-t2); font-size: 0.75rem; }1819.peach-settings-value {1820  font-family: "IBM Plex Mono", monospace;1821  font-size: 0.625rem;1822  color: var(--peach-t2);1823}18241825.peach-settings-value--status {1826  display: flex;1827  align-items: center;1828  gap: 6px;1829}18301831.peach-settings-link {1832  font-family: "IBM Plex Mono", monospace;1833  font-size: 0.625rem;1834  color: var(--peach-accent);1835  text-decoration: none;1836  cursor: pointer;1837}1838.peach-settings-link:hover {1839  text-decoration: underline;1840}18411842.peach-settings-row--stack {1843  flex-direction: column;1844  align-items: stretch;1845  gap: 6px;1846}18471848.peach-settings-row--top {1849  align-items: flex-start;1850}18511852.peach-settings-row-main {1853  display: flex;1854  flex-direction: column;1855  gap: 4px;1856  flex: 1;1857}1858.peach-toggle {1859  width: 28px; height: 16px;1860  border-radius: 999px;1861  background: var(--peach-t3);1862  border: 1px solid var(--peach-t3);1863  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1864  flex-shrink: 0;1865  transition: background 200ms ease, border-color 200ms ease;1866  cursor: pointer;1867}1868.peach-toggle.is-on {1869  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1870  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1871}1872.peach-toggle-knob {1873  width: 10px; height: 10px;1874  border-radius: 50%;1875  background: var(--peach-t2);1876  flex-shrink: 0;1877  transform: translateX(0px);1878  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1879}1880.peach-toggle.is-on .peach-toggle-knob {1881  background: var(--peach-accent);1882  transform: translateX(12px);1883}1884.peach-settings-footer {1885  display: flex;1886  align-items: center;1887  gap: 8px;1888  margin-top: auto;1889  padding: 14px 16px 8px;1890  font-family: "IBM Plex Mono", monospace;1891  font-size: 0.5625rem;1892  color: var(--peach-t2);1893}18941895/* ── Settings home navigation ──────────────────────────────────────────── */1896.peach-settings-nav-label {1897  margin: 0 0 2px;1898  padding: 12px 16px 4px;1899  font-family: "IBM Plex Mono", monospace;1900  font-size: 0.5rem;1901  text-transform: uppercase;1902  letter-spacing: 0.18em;1903  color: var(--peach-t2);1904}19051906.peach-settings-cat-row {1907  display: flex;1908  align-items: center;1909  gap: 10px;1910  width: 100%;1911  padding: 9px 16px;1912  background: none;1913  border: none;1914  border-bottom: 1px solid var(--peach-t3);1915  cursor: pointer;1916  text-align: left;1917  color: inherit;1918  transition: background var(--peach-dur-80) ease;1919}1920.peach-settings-cat-row:hover {1921  background: var(--peach-t3);1922}1923.peach-settings-cat-row:last-child {1924  border-bottom: none;1925}19261927.peach-settings-cat-icon {1928  width: 28px;1929  height: 28px;1930  border-radius: 7px;1931  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1932  color: var(--peach-accent);1933  display: flex;1934  align-items: center;1935  justify-content: center;1936  flex-shrink: 0;1937}1938/* Light theme: peach-on-cream is too low-contrast — both colors are warm.1939   Darken the icon stroke to ink and bump the bg tint so the icon reads1940   sharply while the cell still feels accent-tinted. */1941.light .peach-settings-cat-icon {1942  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);1943  color: color-mix(in srgb, var(--peach-accent) 50%, var(--peach-t0));1944}19451946.peach-settings-cat-content {1947  flex: 1;1948  display: flex;1949  flex-direction: column;1950  gap: 2px;1951  min-width: 0;1952}19531954.peach-settings-cat-name {1955  font-size: 0.8125rem;1956  font-weight: 450;1957  color: var(--peach-t0);1958  line-height: 1.2;1959}19601961.peach-settings-cat-desc {1962  font-size: 0.625rem;1963  color: var(--peach-t2);1964  line-height: 1.3;1965  white-space: nowrap;1966  overflow: hidden;1967  text-overflow: ellipsis;1968}19691970.peach-settings-cat-chevron {1971  color: var(--peach-t2);1972  flex-shrink: 0;1973  opacity: 0.5;1974}19751976/* ── Settings sub-view section labels ──────────────────────────────────── */1977.peach-settings-sub-label {1978  margin: 12px 0 4px;1979  font-family: "IBM Plex Mono", monospace;1980  font-size: 0.5rem;1981  text-transform: uppercase;1982  letter-spacing: 0.18em;1983  color: var(--peach-t2);1984}1985.peach-settings-sub-label:first-child {1986  margin-top: 4px;1987}19881989/* ── Settings: collapsible Advanced section ─────────────────────────────── */1990.peach-settings-advanced-toggle {1991  display: flex;1992  align-items: center;1993  justify-content: space-between;1994  width: 100%;1995  background: none;1996  border: none;1997  cursor: pointer;1998  padding: 12px 0 4px;1999  margin: 0;2000  color: inherit;2001}2002.peach-settings-advanced-toggle:hover .peach-settings-advanced-chevron {2003  color: var(--peach-t1);2004}2005.peach-settings-advanced-chevron {2006  font-size: 0.5625rem;2007  color: var(--peach-t3);2008  letter-spacing: 0;2009  transition: color 120ms ease;2010}20112012/* ── Feedback form ──────────────────────────────────────────────────────── */2013.peach-feedback-group {2014  flex: 1;2015  display: flex;2016  flex-direction: column;2017  border-bottom: none;2018}20192020.peach-feedback-intro {2021  margin: 4px 0 14px;2022  font-size: 0.75rem;2023  line-height: 1.55;2024  color: var(--peach-t1);2025}20262027.peach-feedback-chips {2028  display: flex;2029  flex-wrap: wrap;2030  gap: 6px;2031  margin-bottom: 14px;2032}20332034.peach-feedback-chip {2035  padding: 4px 10px;2036  border-radius: 999px;2037  border: 1px solid var(--peach-t3);2038  background: none;2039  color: var(--peach-t2);2040  font-size: 0.6875rem;2041  font-family: var(--font-ui);2042  cursor: pointer;2043  transition: border-color var(--peach-dur-80) ease, color var(--peach-dur-80) ease,2044    background var(--peach-dur-80) ease;2045}2046.peach-feedback-chip:hover {2047  border-color: var(--peach-t2);2048  color: var(--peach-t1);2049}2050.peach-feedback-chip.is-active {2051  border-color: color-mix(in srgb, var(--peach-accent) 82%, white 18%);2052  background: color-mix(in srgb, var(--peach-accent) 22%, rgba(255, 255, 255, 0.08));2053  color: color-mix(in srgb, var(--peach-accent) 86%, white 14%);2054  box-shadow:2055    0 0 0 1px color-mix(in srgb, var(--peach-accent) 42%, transparent),2056    0 0 14px color-mix(in srgb, var(--peach-accent) 22%, transparent);2057  font-weight: 700;2058}20592060.peach-feedback-textarea {2061  flex: 1;2062  width: 100%;2063  min-height: 120px;2064  box-sizing: border-box;2065  background: rgba(0, 0, 0, 0.22);2066  border: 1px solid transparent;2067  border-radius: 6px;2068  color: var(--peach-t0);2069  font-size: 0.75rem;2070  font-family: var(--font-ui);2071  line-height: 1.5;2072  padding: 8px 10px;2073  resize: none;2074  outline: none;2075  transition: border-color var(--peach-dur-150) ease, background var(--peach-dur-150) ease;2076}2077.peach-feedback-textarea:focus {2078  border-color: color-mix(in srgb, var(--peach-accent) 55%, transparent);2079  background: rgba(0, 0, 0, 0.28);2080}2081.peach-feedback-textarea:focus {2082  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);2083}2084.peach-feedback-textarea::placeholder {2085  color: var(--peach-t2);2086}20872088.peach-feedback-meta {2089  margin: 6px 0 0;2090  font-size: 0.625rem;2091  color: var(--peach-t2);2092  font-family: "IBM Plex Mono", monospace;2093}20942095.peach-feedback-result {2096  margin: 8px 0 0;2097  font-size: 0.6875rem;2098  font-family: "IBM Plex Mono", monospace;2099}2100.peach-feedback-result--ok { color: var(--peach-sync-ok); }2101.peach-feedback-result--err { color: var(--peach-breach); }21022103.peach-feedback-submit {2104  width: 100%;2105  margin-top: 12px;2106  justify-content: center;2107}21082109.peach-feedback-anon {2110  margin: 8px 0 0;2111  font-size: 0.625rem;2112  color: var(--peach-t2);2113  text-align: center;2114}21152116.peach-feedback-thanks {2117  margin: auto 0;2118  padding: 18px 14px;2119  border: 1px solid color-mix(in srgb, var(--peach-accent) 42%, transparent);2120  border-radius: 8px;2121  background:2122    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 16%, transparent), transparent),2123    rgba(0, 0, 0, 0.18);2124  color: var(--peach-t1);2125  text-align: center;2126}21272128.peach-feedback-thanks p {2129  margin: 0;2130  font-size: 0.75rem;2131  line-height: 1.5;2132}21332134.peach-feedback-thanks-title {2135  color: var(--peach-t0);2136  font-family: "Cormorant Garamond", serif;2137  font-size: 1.375rem !important;2138  line-height: 1.1 !important;2139  margin-bottom: 8px !important;2140}21412142.peach-passkey-badge {2143  margin-left: 8px;2144  font-size: 0.625rem;2145  letter-spacing: 0.06em;2146  text-transform: uppercase;2147  color: var(--peach-t2);2148  font-family: var(--font-ui);2149  vertical-align: middle;2150}21512152.peach-passkey-delete-btn {2153  color: var(--peach-breach);2154  border-color: rgba(229, 85, 85, 0.25);2155}21562157.peach-passkey-delete-confirm {2158  display: flex;2159  align-items: center;2160  gap: 8px;2161  padding: 8px 10px;2162  background: rgba(229, 85, 85, 0.06);2163  border: 1px solid rgba(229, 85, 85, 0.2);2164  border-radius: 6px;2165}21662167.peach-passkey-delete-confirm-copy {2168  flex: 1;2169  font-size: 0.6875rem;2170  color: var(--peach-t1);2171}21722173.peach-passkey-delete-btn--confirm {2174  color: var(--peach-breach);2175  border-color: rgba(229, 85, 85, 0.4);2176}21772178.peach-passkey-activity {2179  flex-direction: column;2180  align-items: flex-start;2181  gap: 4px;2182}21832184.peach-passkey-meta {2185  font-size: 0.6875rem;2186  color: var(--peach-t2);2187}21882189.peach-passkey-actions {2190  position: relative;2191  z-index: 1;2192  margin-top: 14px;2193  display: flex;2194  flex-direction: column;2195  gap: 8px;2196}21972198.peach-passkey-approval {2199  display: flex;2200  flex-direction: column;2201  align-items: center;2202  padding: 16px 20px 14px;2203  gap: 8px;2204  text-align: center;2205}22062207.peach-passkey-approval-icon {2208  width: 36px;2209  height: 36px;2210  border-radius: 10px;2211  background: var(--peach-s2);2212  border: 1px solid var(--peach-t3);2213  display: flex;2214  align-items: center;2215  justify-content: center;2216  flex-shrink: 0;2217  color: var(--peach-accent);2218}22192220.peach-passkey-approval-icon img,2221.peach-passkey-approval-icon svg {2222  width: 22px;2223  height: 22px;2224  border-radius: 5px;2225}22262227.peach-passkey-approval-rp {2228  font-family: var(--font-ui);2229  font-size: 0.75rem;2230  color: var(--peach-t2);2231  letter-spacing: 0.03em;2232}22332234.peach-passkey-approval-action {2235  font-family: var(--font-display);2236  font-style: italic;2237  font-weight: 300;2238  font-size: 18px;2239  color: var(--peach-t0);2240  line-height: 1.1;2241  margin: 1px 0;2242}22432244.peach-passkey-approval-user {2245  font-family: var(--font-mono);2246  font-size: 0.6875rem;2247  color: var(--peach-t1);2248  background: var(--peach-s2);2249  border: 1px solid var(--peach-t3);2250  border-radius: 4px;2251  padding: 3px 8px;2252}22532254.peach-passkey-approval-notice {2255  font-size: 0.625rem;2256  color: var(--peach-t2);2257  line-height: 1.5;2258  max-width: 220px;2259}22602261.peach-passkey-approval-actions {2262  display: flex;2263  gap: 8px;2264  width: 100%;2265  margin-top: 6px;2266}22672268.peach-passkey-approval-actions .peach-btn {2269  flex: 1;2270}22712272/* ── Inline generator drawer ── */2273.peach-generator-drawer {2274  display: grid;2275  grid-template-rows: 0fr;2276  transition: grid-template-rows 320ms var(--peach-curve-arrival);2277  overflow: hidden;2278}2279.peach-generator-drawer.is-open {2280  grid-template-rows: 1fr;2281}2282.peach-generator-drawer-inner {2283  min-height: 0;2284  overflow: hidden;2285}2286.peach-generator-drawer-content {2287  border-top: 1px solid var(--peach-t3);2288  padding: 8px 0 4px;2289  display: flex;2290  flex-direction: column;2291  gap: 8px;2292}22932294/* ── Compact generator (inside entry edit) ── */2295.peach-generator-drawer-content--compact {2296  border-top: 1px solid var(--peach-t3);2297  padding: 8px 0 2px;2298  gap: 7px;2299}2300.peach-pwgen-compact-display-row {2301  display: flex;2302  align-items: center;2303  gap: 6px;2304}2305.peach-pwgen-compact-output {2306  flex: 1;2307  min-width: 0;2308  font-family: "IBM Plex Mono", monospace;2309  font-size: 0.6875rem;2310  font-weight: 400;2311  letter-spacing: 0.04em;2312  color: var(--peach-t0);2313  background: rgba(240, 232, 216, 0.04);2314  border: 1px solid var(--peach-t3);2315  border-radius: 5px;2316  padding: 5px 8px;2317  line-height: 1.5;2318  outline: none;2319  transition: border-color 120ms ease;2320}23212322.peach-pwgen-compact-output:focus {2323  border-color: var(--peach-t1);2324}2325.peach-pwgen-compact-controls {2326  display: flex;2327  align-items: center;2328  gap: 6px;2329}2330.peach-pwgen-compact-slider {2331  flex: 1;2332  min-width: 0;2333  height: 2px !important;2334}2335.peach-pwgen-compact-controls .peach-pwgen-len-num {2336  flex-shrink: 0;2337  min-width: 18px;2338  text-align: right;2339}2340.peach-pwgen-compact-pills {2341  display: flex;2342  gap: 3px;2343  flex-shrink: 0;2344}2345.peach-pwgen-compact-pills .peach-pwgen-pill {2346  padding: 2px 7px;2347  font-size: 0.5rem;2348}2349.peach-pwgen-compact-use {2350  flex-shrink: 0;2351  font-size: 0.625rem !important;2352  padding: 3px 9px !important;2353  min-height: 22px !important;2354  border-radius: 5px !important;2355}23562357/* ── Password edit row (input + eye toggle side-by-side) ── */2358.peach-password-edit-row {2359  display: flex;2360  align-items: center;2361  gap: 6px;2362}2363.peach-password-edit-row .peach-inline-input {2364  flex: 1;2365  min-width: 0;2366}23672368/* ── Generate toggle link ── */2369.peach-generate-toggle-link {2370  display: inline-flex;2371  align-items: center;2372  gap: 5px;2373  background: none;2374  border: none;2375  padding: 0;2376  cursor: pointer;2377  font-family: "IBM Plex Mono", monospace;2378  font-size: 0.625rem;2379  color: var(--peach-t2);2380  letter-spacing: 0.04em;2381  transition: color 120ms ease;2382  align-self: flex-start;2383}2384.peach-generate-toggle-link:hover {2385  color: var(--peach-accent);2386}23872388/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */2389.peach-entry-body {2390  flex: 1;2391  overflow-y: auto;2392  overflow-x: hidden;2393  scrollbar-width: none;2394  -ms-overflow-style: none;2395  overscroll-behavior: contain;2396  display: grid;2397  gap: 10px;2398  align-content: start;2399  padding: 10px 20px 14px;2400  min-width: 0;2401  min-height: 0;2402}2403.peach-entry-body::-webkit-scrollbar { display: none; }24042405/* Type-toggle pills + inline note toolbar */2406.peach-new-type-row {2407  display: flex;2408  align-items: center;2409  gap: 6px;2410  margin-bottom: 2px;2411}2412.peach-new-type-btn {2413  background: transparent;2414  border: 1px solid var(--peach-t3);2415  border-radius: 12px;2416  padding: 3px 10px;2417  font-family: "IBM Plex Mono", monospace;2418  font-size: 0.5625rem;2419  letter-spacing: 0.12em;2420  text-transform: uppercase;2421  color: var(--peach-t2);2422  cursor: pointer;2423  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;2424}2425.peach-new-type-btn.is-active {2426  color: var(--peach-t0);2427  border-color: var(--peach-accent);2428  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2429}2430.peach-new-type-btn:not(.is-active):hover {2431  color: var(--peach-t1);2432  border-color: var(--peach-t2);2433}24342435/* Editable title */2436.peach-new-title-wrap { margin: 0 0 2px; }2437.peach-new-title-input {2438  background: transparent;2439  border: none;2440  outline: none;2441  width: 100%;2442  color: var(--peach-t0);2443  font-family: var(--font-display);2444  font-style: italic;2445  font-weight: 400;2446  font-size: 40px;2447  line-height: 0.95;2448  caret-color: var(--peach-accent);2449}2450.peach-new-title-input::placeholder { color: var(--peach-t2); }24512452/* Editable domain field */2453.peach-domain-edit-row {2454  display: flex;2455  align-items: center;2456  gap: 6px;2457}24582459.peach-domain-edit-row .peach-domain-value--edit {2460  flex: 1;2461  width: 0;2462}24632464.peach-domain-url-btn {2465  flex-shrink: 0;2466  background: transparent;2467  border: none;2468  cursor: pointer;2469  color: var(--peach-t3);2470  padding: 2px 3px;2471  display: flex;2472  align-items: center;2473  line-height: 0;2474  border-radius: 3px;2475  transition: color 120ms ease;2476}24772478.peach-domain-url-btn:hover {2479  color: var(--peach-accent);2480}24812482.peach-domain-value--edit {2483  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2484  font-size: 0.625rem;2485  font-style: italic;2486  letter-spacing: 0.12em;2487  color: var(--peach-t1);2488  background: transparent;2489  border: none;2490  border-bottom: 1px solid var(--peach-t3);2491  outline: none;2492  width: 100%;2493  padding: 2px 0;2494  caret-color: var(--peach-accent);2495  transition: border-color 140ms ease, color 140ms ease;2496}2497.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2498.peach-domain-value--edit:focus {2499  border-bottom-color: rgba(240, 232, 216, 0.28);2500  color: var(--peach-t0);2501}25022503/* Editable field values (username, password, totp) */2504.peach-field-value--edit {2505  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2506  font-size: 0.8125rem;2507  color: var(--peach-t0);2508  background: transparent;2509  border: none;2510  border-bottom: 1px solid var(--peach-t3);2511  outline: none;2512  flex: 1;2513  min-width: 0;2514  padding: 3px 0;2515  caret-color: var(--peach-accent);2516  transition: border-color 140ms ease, color 140ms ease;2517}2518.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2519.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2520.peach-field-value--edit:focus {2521  border-bottom-color: rgba(240, 232, 216, 0.28);2522  color: var(--peach-t0);2523}25242525/* "+ add optional field" links */2526.peach-entry-add-links {2527  display: flex;2528  gap: 12px;2529  flex-wrap: wrap;2530  margin-top: -2px;2531}2532.peach-add-field-link {2533  background: transparent;2534  border: none;2535  padding: 0;2536  cursor: pointer;2537  font-family: "IBM Plex Mono", monospace;2538  font-size: 0.5625rem;2539  letter-spacing: 0.1em;2540  text-transform: uppercase;2541  color: var(--peach-t2);2542  transition: color 140ms ease;2543}2544.peach-add-field-link:hover { color: var(--peach-accent); }25452546/* ── New entry form (legacy classes) ────────────────────────────────── */2547.peach-new-body {2548  flex: 1;2549  overflow-y: auto;2550  padding: 10px 20px 14px;2551}2552.peach-new-name-input {2553  background: transparent;2554  border: none;2555  outline: none;2556  width: 100%;2557  color: var(--peach-t0);2558  font-family: var(--font-display);2559  font-style: italic;2560  font-weight: 400;2561  font-size: 40px;2562  line-height: 0.95;2563  caret-color: var(--peach-accent);2564}2565.peach-new-name-input::placeholder { color: var(--peach-t2); }2566.peach-new-field-input {2567  background: transparent;2568  border: none;2569  outline: none;2570  flex: 1;2571  min-width: 0;2572  caret-color: var(--peach-accent);2573}2574.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }25752576/* ── Canary card ── */2577.peach-canary-card {2578  border: 1px solid rgba(217, 160, 48, 0.2);2579  background: rgba(217, 160, 48, 0.03);2580  border-radius: 8px;2581  padding: 12px;2582}25832584.peach-canary-settings-header {2585  display: flex;2586  align-items: center;2587  justify-content: space-between;2588  cursor: pointer;2589  user-select: none;2590}25912592.peach-canary-card .peach-label {2593  color: rgba(217, 160, 48, 0.85);2594}25952596.peach-canary-card .peach-new-field-input {2597  border-color: rgba(217, 160, 48, 0.25);2598}25992600.peach-canary-card .peach-new-field-input:focus {2601  border-color: rgba(217, 160, 48, 0.5);2602}26032604.peach-canary-body {2605  margin-top: 12px;2606  display: flex;2607  flex-direction: column;2608  gap: 10px;2609}26102611.peach-canary-explainer {2612  display: flex;2613  gap: 10px;2614  padding: 10px 12px;2615  border-radius: 10px;2616  background: rgba(217, 160, 48, 0.06);2617  border: 1px solid rgba(217, 160, 48, 0.22);2618  margin-bottom: 4px;2619}26202621.peach-canary-explainer-icon {2622  font-size: 1rem;2623  flex-shrink: 0;2624  line-height: 1.2;2625}26262627.peach-canary-explainer-title {2628  font-family: var(--font-ui);2629  font-size: 0.6875rem;2630  font-weight: 500;2631  color: rgba(217, 160, 48, 0.9);2632  margin: 0 0 3px;2633}26342635.peach-canary-explainer-copy {2636  font-family: var(--font-ui);2637  font-size: 0.625rem;2638  color: var(--peach-t2);2639  line-height: 1.55;2640  margin: 0;2641}26422643.peach-canary-hint {2644  font-size: 0.625rem;2645  color: var(--peach-t2);2646  font-family: Inter, system-ui, sans-serif;2647  line-height: 1.5;2648  margin-top: 4px;2649}26502651.peach-canary-actions-row {2652  display: flex;2653  align-items: center;2654  gap: 8px;2655}26562657.peach-canary-test-btn {2658  border-color: rgba(217, 160, 48, 0.3);2659  color: rgba(217, 160, 48, 0.85);2660}26612662.peach-canary-test-result {2663  font-size: 0.625rem;2664  font-family: Inter, system-ui, sans-serif;2665}26662667.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2668.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }26692670.peach-canary-badge {2671  display: flex;2672  position: relative;2673  z-index: 1;2674  align-items: center;2675  gap: 5px;2676  padding: 4px 10px;2677  background: rgba(217, 160, 48, 0.12);2678  border: 1px solid rgba(217, 160, 48, 0.35);2679  border-radius: 6px;2680  margin-bottom: 6px;2681  width: fit-content;2682}26832684.peach-canary-badge-label {2685  font-size: 0.625rem;2686  letter-spacing: 0.06em;2687  color: rgba(217, 160, 48, 0.9);2688  font-family: var(--font-ui);2689  text-transform: uppercase;2690}26912692.peach-canary-badge-icon {2693  font-size: 0.6875rem;2694}26952696.peach-canary-suppress-row {2697  display: flex;2698  align-items: center;2699  gap: 8px;2700  padding: 6px 10px;2701  background: rgba(217, 160, 48, 0.08);2702  border-radius: 6px;2703  margin-bottom: 8px;2704}27052706.peach-canary-suppress-label {2707  font-size: 0.6875rem;2708  color: rgba(217, 160, 48, 0.85);2709  cursor: pointer;2710  font-family: var(--font-ui);2711  letter-spacing: 0.04em;2712}27132714.peach-regen-panel {2715  position: relative;2716  z-index: 1;2717  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2718  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2719  border-radius: 8px;2720  padding: 12px;2721  margin-bottom: 8px;2722}27232724.peach-regen-panel-header {2725  display: flex;2726  align-items: center;2727  justify-content: space-between;2728  margin-bottom: 10px;2729}27302731.peach-regen-panel-title {2732  font-size: 0.6875rem;2733  font-weight: 600;2734  letter-spacing: 0.06em;2735  text-transform: uppercase;2736  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2737}27382739.peach-regen-output {2740  background: rgba(0, 0, 0, 0.2);2741  border-radius: 6px;2742  padding: 10px;2743  margin-bottom: 10px;2744  font-family: var(--font-mono);2745  font-size: 0.8125rem;2746  word-break: break-all;2747  color: var(--peach-t1);2748}27492750.peach-regen-actions {2751  display: flex;2752  gap: 6px;2753}27542755.peach-regen-actions--spaced {2756  margin-bottom: 8px;2757}27582759.peach-regen-action-grow {2760  flex: 1;2761}27622763.peach-regen-copy-btn {2764  padding: 0 8px;2765}27662767.peach-regen-success {2768  position: relative;2769  z-index: 1;2770  background: rgba(40, 180, 80, 0.1);2771  border: 1px solid rgba(40, 180, 80, 0.3);2772  border-radius: 8px;2773  padding: 10px 12px;2774  margin-bottom: 8px;2775  display: flex;2776  align-items: center;2777  gap: 8px;2778  font-size: 0.6875rem;2779  color: rgba(40, 180, 80, 0.9);2780}27812782/* ── Note editor overlay ── */2783.peach-note-editor {2784  position: absolute;2785  inset: 0;2786  z-index: 200;2787  display: flex;2788  flex-direction: column;2789  background:2790    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2791    var(--peach-bg);2792  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2793}27942795.peach-note-editor-header {2796  display: flex;2797  align-items: center;2798  gap: 10px;2799  padding: 14px 16px 10px;2800  border-bottom: 1px solid var(--peach-t3);2801  flex-shrink: 0;2802}28032804.peach-note-editor-back {2805  background: transparent;2806  border: none;2807  cursor: pointer;2808  color: var(--peach-t2);2809  padding: 4px 6px;2810  border-radius: 6px;2811  display: flex;2812  align-items: center;2813  transition: color 120ms ease, background 120ms ease;2814  flex-shrink: 0;2815}2816.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }28172818.peach-note-editor-label {2819  flex: 1;2820  font-family: var(--font-display);2821  font-style: italic;2822  font-size: 0.9375rem;2823  color: var(--peach-t1);2824  letter-spacing: 0.02em;2825}28262827.peach-note-editor-save-btn {2828  background: transparent;2829  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2830  border-radius: 8px;2831  color: var(--peach-accent);2832  font-family: "IBM Plex Mono", monospace;2833  font-size: 0.625rem;2834  letter-spacing: 0.06em;2835  text-transform: uppercase;2836  padding: 3px 10px;2837  cursor: pointer;2838  transition: background 120ms ease, border-color 120ms ease;2839}2840.peach-note-editor-save-btn:hover:not(:disabled) {2841  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2842  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2843}2844.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }28452846.peach-note-toolbar {2847  display: flex;2848  align-items: center;2849  gap: 3px;2850  padding: 6px 14px 5px;2851  border-bottom: 1px solid var(--peach-t3);2852  flex-shrink: 0;2853}28542855.peach-note-tool-btn {2856  background: transparent;2857  border: 1px solid transparent;2858  border-radius: 5px;2859  color: var(--peach-t2);2860  font-family: "IBM Plex Mono", monospace;2861  font-size: 0.625rem;2862  letter-spacing: 0.04em;2863  padding: 2px 8px;2864  cursor: pointer;2865  line-height: 1.6;2866  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2867}2868.peach-note-tool-btn:hover {2869  background: var(--peach-t4);2870  color: var(--peach-t0);2871  border-color: var(--peach-t3);2872}28732874.peach-note-tool-icon {2875  padding: 3px 7px;2876  display: inline-flex;2877  align-items: center;2878  justify-content: center;2879}28802881.peach-note-tool-divider {2882  width: 1px;2883  height: 14px;2884  background: var(--peach-t3);2885  margin: 0 4px;2886  flex-shrink: 0;2887}28882889.peach-note-editor-body {2890  flex: 1;2891  overflow-y: auto;2892  padding: 16px 20px 20px;2893  outline: none;2894  font-family: var(--font-display);2895  font-size: 1rem;2896  line-height: 1.75;2897  color: var(--peach-t0);2898  scrollbar-width: none;2899  word-break: break-word;2900}2901.peach-note-editor-body:empty::before {2902  content: "write your note…";2903  color: var(--peach-t3);2904  font-style: italic;2905  pointer-events: none;2906}29072908/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2909.peach-note-editor-inline {2910  display: flex;2911  flex-direction: column;2912  flex: 1;2913  min-height: 0;2914}2915.peach-note-editor-body--inline {2916  flex: 1;2917  min-height: 0;2918  font-size: 0.9375rem;2919  padding: 10px 20px 14px;2920}29212922/* Full-width toolbar row inside the body (Add.tsx note type).2923   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2924.peach-note-toolbar-body {2925  display: flex;2926  align-items: center;2927  gap: 3px;2928  padding: 5px 20px 4px;2929  margin: 2px -20px 0;2930  border-bottom: 1px solid var(--peach-t3);2931  flex-shrink: 0;2932}29332934/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2935   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2936   and .peach-note-tool-divider button-level styles. */2937.peach-note-toolbar-inline {2938  display: flex;2939  align-items: center;2940  gap: 3px;2941  margin-left: auto;2942  padding-left: 10px;2943  border-left: 1px solid var(--peach-t3);2944  min-height: 22px;2945}29462947/* Entry.tsx toolbar row (no tabs, toolbar only) */2948.peach-entry-note-toolbar-row {2949  display: flex;2950  align-items: center;2951  margin: 4px 0 6px;2952  position: relative;2953  z-index: 1;2954}2955.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2956  border-left: none;2957  padding-left: 0;2958  margin-left: 0;2959}29602961/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2962.peach-note-body {2963  display: flex;2964  flex-direction: column;2965  flex: 1;2966  min-height: 0;2967  margin: 4px 0 0;2968}2969.peach-entry-body--new .peach-note-body {2970  margin: 8px -20px 0;2971}29722973/* Add.tsx body is a grid by default; swap to a flex column when a note is2974   active so the note body can stretch and pin the tags row to the bottom. */2975.peach-entry-body--new:has(.peach-note-body) {2976  display: flex;2977  flex-direction: column;2978}29792980/* Rich content element styles (editor + display) */2981.peach-note-editor-body h2,2982.peach-note-content h2 {2983  font-family: var(--font-display);2984  font-size: 20px;2985  font-weight: 600;2986  font-style: italic;2987  color: var(--peach-t0);2988  margin: 6px 0 2px;2989  line-height: 1.3;2990}2991.peach-note-editor-body ul,2992.peach-note-content ul {2993  padding-left: 18px;2994  margin: 3px 0;2995  list-style: disc;2996}2997.peach-note-editor-body ol,2998.peach-note-content ol {2999  padding-left: 18px;3000  margin: 3px 0;3001  list-style: decimal;3002}3003.peach-note-editor-body li,3004.peach-note-content li { margin: 2px 0; }3005.peach-note-editor-body hr,3006.peach-note-content hr {3007  border: none;3008  border-top: 1px solid var(--peach-t3);3009  margin: 10px 0;3010}30113012/* font size elements from execCommand */3013.peach-note-editor-body font[size="1"],3014.peach-note-content font[size="1"] { font-size: 0.6875rem; line-height: 1.6; }3015.peach-note-editor-body font[size="2"],3016.peach-note-content font[size="2"] { font-size: 0.8125rem; }3017.peach-note-editor-body font[size="3"],3018.peach-note-content font[size="3"] { font-size: 1rem; }3019.peach-note-editor-body font[size="4"],3020.peach-note-content font[size="4"] { font-size: 20px; }3021.peach-note-editor-body font[size="5"],3022.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }30233024/* bold / italic inside the editor and note display */3025.peach-note-editor-body b, .peach-note-editor-body strong,3026.peach-note-content b, .peach-note-content strong { font-weight: 700; }3027.peach-note-editor-body em, .peach-note-editor-body i,3028.peach-note-content em, .peach-note-content i { font-style: italic; }30293030/* note display — rendered HTML, no pre-wrap */3031.peach-note-content {3032  overflow: auto;3033  max-height: 340px;3034  word-break: break-word;3035}30363037/* ── Note textarea ── */3038.peach-note-textarea {3039  width: 100%;3040  min-height: 180px;3041  max-height: 280px;3042  resize: vertical;3043  background: var(--peach-t4);3044  border: 1px solid var(--peach-t3);3045  border-radius: 8px;3046  padding: 10px 12px;3047  font-family: "IBM Plex Mono", monospace;3048  font-size: 0.75rem;3049  line-height: 1.7;3050  color: var(--peach-t1);3051  outline: none;3052  transition: border-color 150ms ease;3053}30543055.peach-note-textarea:focus {3056  border-color: var(--peach-t2);3057}30583059.peach-note-char-count {3060  font-family: "IBM Plex Mono", monospace;3061  font-size: 0.5625rem;3062  color: var(--peach-t3);3063  text-align: right;3064  margin-top: 4px;3065  letter-spacing: 0.1em;3066}30673068/* ── Field input baseline ── */3069.peach-new-field-input {3070  width: 100%;3071  background: transparent;3072  border: none;3073  border-bottom: 1px solid var(--peach-t3);3074  padding: 4px 0;3075  color: var(--peach-t1);3076  font-family: "IBM Plex Mono", monospace;3077  font-size: 0.8125rem;3078  outline: none;3079  transition: border-color 150ms ease;3080}30813082.peach-new-field-input:focus {3083  border-bottom-color: var(--peach-t0);3084  color: var(--peach-t0);3085}30863087.peach-new-name-input {3088  width: 100%;3089  background: transparent;3090  border: none;3091  border-bottom: 1px solid var(--peach-t3);3092  padding: 6px 0;3093  font-family: var(--font-display);3094  font-style: italic;3095  font-size: 28px;3096  color: var(--peach-t0);3097  outline: none;3098  transition: border-color 150ms ease;3099}31003101.peach-new-name-input:focus {3102  border-bottom-color: var(--peach-t1);3103}31043105.peach-new-name-input::placeholder {3106  color: var(--peach-t2);3107  font-style: italic;3108}31093110.peach-new-field-input::placeholder {3111  color: var(--peach-t3);3112}31133114/* ── Demo entrance animation ── */3115#hd-shell {3116  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;3117}3118@keyframes hd-shell-enter {3119  from { opacity: 0; transform: scale(0.96) translateY(16px); }3120  to   { opacity: 1; transform: scale(1) translateY(0); }3121}31223123/* ── Keyframes ── */3124@keyframes peach-char-enter {3125  from { opacity: 0; transform: translateY(0.22em); }3126  to   { opacity: 1; transform: translateY(0); }3127}3128@keyframes peach-content-enter {3129  from { opacity: 0.96; transform: translateY(4px); }3130  to   { opacity: 1; transform: translateY(0); }3131}3132@keyframes peach-content-exit {3133  from { opacity: 1; transform: translateY(0); }3134  to   { opacity: 0.92; transform: translateY(-3px); }3135}3136@keyframes peach-screen-enter {3137  from { opacity: 0; transform: translateY(14px); }3138  to   { opacity: 1; transform: translateY(0); }3139}3140@keyframes peach-shell-fade-in {3141  from { opacity: 0; }3142  to   { opacity: 1; }3143}3144@keyframes peach-veil-in {3145  from { opacity: 0; }3146  to   { opacity: 1; }3147}3148@keyframes peach-lock-settle {3149  0%   { transform: scale(0.9); }3150  65%  { transform: scale(1.08); }3151  100% { transform: scale(1); }3152}3153@keyframes peach-copy-confirm {3154  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }3155  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); }3156}3157@keyframes peach-copy-retreat {3158  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); }3159  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }3160}3161@keyframes peach-copy-flood {3162  from { opacity: 0; transform: scaleX(0.15); }3163  to   { opacity: 1; transform: scaleX(1); }3164}3165@keyframes peach-copy-icon-settle {3166  from  { transform: scale(0.84); }3167  70%   { transform: scale(1.08); }3168  to    { transform: scale(1); }3169}3170@keyframes peach-copy-sheen-retreat {3171  from { opacity: 1; transform: scaleX(1); }3172  to   { opacity: 0; transform: scaleX(0.15); }3173}3174@keyframes peach-copy-drain {3175  from { width: 100%; }3176  to   { width: 0; }3177}3178@keyframes peach-shake {3179  0%, 100% { transform: translateX(0); }3180  20%      { transform: translateX(-6px); }3181  40%      { transform: translateX(6px); }3182  60%      { transform: translateX(-4px); }3183  80%      { transform: translateX(4px); }3184}31853186@keyframes pip-pulse {3187  0% { transform: scale(1); }3188  40% { transform: scale(2.2); }3189  100% { transform: scale(1); }3190}319131923193/* ── Password generator ── */3194.peach-pwgen-body {3195  flex: 1; overflow-y: auto;3196  display: flex; flex-direction: column;3197}3198.peach-policy-badge {3199  display: flex; align-items: center;3200  padding: 6px 20px 0;3201  font-size: 0.625rem; font-family: Inter, sans-serif;3202  color: var(--peach-t2); letter-spacing: 0.04em;3203}3204.peach-pwgen-display {3205  padding: 14px 20px 12px;3206  border-bottom: 1px solid var(--peach-t3);3207  display: flex; align-items: flex-start; gap: 10px;3208}3209.peach-pwgen-display-row {3210  display: flex;3211  align-items: flex-start;3212  gap: 8px;3213  padding-bottom: 8px;3214  border-bottom: 1px solid var(--peach-t3);3215}3216.peach-pwgen-output {3217  flex: 1; min-width: 0; margin: 0;3218  font-family: "IBM Plex Mono", monospace;3219  font-size: 0.8125rem; color: var(--peach-t0);3220  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;3221  white-space: normal;3222  padding: 10px 12px;3223  background: var(--peach-t4);3224  border-radius: 6px;3225  min-height: 36px;3226}3227.peach-pwgen-output-display {3228  flex: 1;3229  min-width: 0;3230  margin: 0;3231  font-family: var(--font-display);3232  font-style: italic;3233  font-weight: 300;3234  font-size: 32px;3235  line-height: 1.05;3236  color: var(--peach-t0);3237  word-break: break-all;3238  overflow-wrap: break-word;3239  white-space: normal;3240  letter-spacing: 0.02em;3241}3242.peach-pwgen-display-actions {3243  display: flex;3244  flex-direction: column;3245  gap: 4px;3246  flex-shrink: 0;3247  margin-top: 2px;3248}3249.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }3250.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }3251.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }3252.peach-pwgen-len-num {3253  font-family: "IBM Plex Mono", monospace;3254  font-size: 0.75rem; color: var(--peach-accent);3255}3256.peach-pwgen-len-num--edit {3257  cursor: text;3258  border-bottom: 1px dotted color-mix(in srgb, var(--peach-accent) 50%, transparent);3259}3260.peach-pwgen-len-input {3261  font-family: "IBM Plex Mono", monospace;3262  font-size: 0.75rem;3263  color: var(--peach-accent);3264  background: transparent;3265  border: none;3266  border-bottom: 1px solid var(--peach-accent);3267  outline: none;3268  width: 32px;3269  text-align: right;3270  padding: 0;3271}3272.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }3273.peach-pwgen-toggles { display: flex; flex-direction: column; }3274.peach-pwgen-charset-pills {3275  display: flex;3276  gap: 6px;3277  flex-wrap: wrap;3278}3279.peach-pwgen-pill {3280  padding: 4px 11px;3281  border-radius: 999px;3282  border: 1px solid var(--peach-t3);3283  background: transparent;3284  color: var(--peach-t2);3285  font-family: "IBM Plex Mono", monospace;3286  font-size: 0.5625rem;3287  letter-spacing: 0.08em;3288  cursor: pointer;3289  transition: all 150ms ease;3290}3291.peach-pwgen-pill.is-on {3292  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3293  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3294  color: var(--peach-accent);3295}3296.peach-pwgen-pill:not(.is-on):hover {3297  color: var(--peach-t1);3298  border-color: var(--peach-t2);3299}3300.peach-pwgen-use-btn {3301  width: 100%;3302  min-height: 34px;3303  border-radius: 8px;3304  margin-top: 2px;3305}3306.peach-generator-constraint-note {3307  font-family: 'IBM Plex Mono', monospace;3308  font-size: 10px;3309  color: var(--peach-t3);3310  letter-spacing: 0.04em;3311  margin: 0;3312  transition: opacity 200ms ease;3313}3314.peach-pwgen-toggle-row {3315  display: flex; align-items: center; justify-content: space-between;3316  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);3317}3318.peach-pwgen-toggle-row:last-child { border-bottom: none; }3319.peach-pwgen-toggle-label { font-size: 0.8125rem; color: var(--peach-t1); }33203321.peach-screen-prelock {3322  z-index: 10;3323}33243325.prelock-form {3326  display: grid;3327  gap: 12px;3328}33293330/* Peach popup should not expose native scrollbars on internal panels. */3331.peach-settings-body,3332.peach-new-body,3333.peach-pwgen-body,3334.lock-screen,3335.peach-import-preview {3336  scrollbar-width: none;3337  -ms-overflow-style: none;3338  overscroll-behavior: contain;3339}3340.peach-settings-body::-webkit-scrollbar,3341.peach-new-body::-webkit-scrollbar,3342.peach-pwgen-body::-webkit-scrollbar,3343.lock-screen::-webkit-scrollbar,3344.peach-import-preview::-webkit-scrollbar {3345  width: 0;3346  height: 0;3347  display: none;3348}33493350.lock-screen {3351  height: 100%;3352  min-height: 100%;3353  overflow-y: auto;3354  padding: 18px 18px 16px;3355  gap: 14px;3356  grid-template-rows: auto auto auto 1fr auto;3357  align-content: stretch;3358  position: relative;3359  isolation: isolate;3360}3361.peach-screen.lock-screen--vault-stage {3362  display: flex;3363  flex-direction: column;3364  justify-content: flex-start;3365  gap: 18px;3366  padding: 20px 18px 18px;3367  overflow: hidden;3368}3369.peach-screen.lock-screen--vault-stage .peach-lock-panel {3370  margin-top: 0;3371}3372.lock-screen--onboarding {3373  display: flex;3374  flex-direction: column;3375  gap: 12px;3376  justify-content: flex-start;3377}33783379.lock-screen::before {3380  content: "";3381  position: absolute;3382  inset: 12px 18px auto auto;3383  width: 160px;3384  height: 160px;3385  border-radius: 999px;3386  background:3387    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%);3388  filter: blur(6px);3389  opacity: 0.7;3390  pointer-events: none;3391  z-index: 0;3392}33933394.peach-lock-rune-string {3395  flex: 1;3396  display: flex;3397  align-items: center;3398  justify-content: center;3399  gap: 6px;3400  font-family: PeachScript, monospace;3401  font-size: 0.8125rem;3402  letter-spacing: 0.05em;3403  pointer-events: none;3404  user-select: none;3405  position: relative;3406  z-index: 1;3407}34083409.peach-lock-rune-string span {3410  color: color-mix(in srgb, var(--peach-t0) 12%, transparent);3411  text-shadow:3412    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent),3413    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent);3414  transition: color 0.9s ease, text-shadow 0.9s ease;3415}34163417.peach-lock-rune-string span.is-glowing {3418  color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3419  text-shadow:3420    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3421    0 0 20px color-mix(in srgb, var(--peach-accent) 22%, transparent);3422}34233424.lock-screen-header {3425  display: flex;3426  align-items: center;3427  justify-content: space-between;3428  position: relative;3429  z-index: 1;3430}34313432.lock-password-input.shake {3433  animation: peach-shake 300ms ease-in-out;3434}34353436.peach-hint-error {3437  color: rgba(220, 80, 60, 0.92);3438}34393440.peach-onboarding-headline {3441  margin: 0;3442  font-family: var(--font-display);3443  font-size: 35px;3444  line-height: 0.88;3445  font-style: italic;3446  font-weight: 400;3447  max-width: 252px;3448}34493450.peach-lock-copy {3451  display: grid;3452  gap: 8px;3453  position: relative;3454  z-index: 1;3455}34563457.peach-lock-copy--onboarding {3458  gap: 10px;3459}34603461.peach-lock-hero {3462  position: relative;3463  z-index: 1;3464  display: grid;3465  gap: 8px;3466  min-height: 0;3467  padding: 4px 2px 0;3468  border: none;3469  border-radius: 0;3470  background: transparent;3471  box-shadow: none;3472}3473.peach-lock-hero-art {3474  position: absolute;3475  right: -8px;3476  top: -6px;3477  width: 120px;3478  height: 120px;3479  display: flex;3480  align-items: center;3481  justify-content: center;3482  pointer-events: none;3483  opacity: 0.12;3484  filter: saturate(0.9);3485}3486.peach-lock-hero-mark {3487  width: 100%;3488  height: 100%;3489}3490/* Peach body stays brand-peach across every accent — we don't want a3491   green or blue peach when sage/sky is selected. Leaf + vein keep the3492   sage tint because a real peach has a sage leaf. In the new brand-kit3493   mark the leaf is path 1 and the vein stroke is path 2; the body and3494   back-lobe (paths 3 + 4) must stay untouched. */3495.peach-lock-hero-mark path:nth-child(1) {3496  fill: rgba(123, 144, 96, 0.88);3497}3498.peach-lock-hero-mark path:nth-child(2) {3499  stroke: rgba(94, 122, 66, 0.95);3500}3501.peach-lock-hero > *:not(.peach-lock-hero-art) {3502  position: relative;3503  z-index: 1;3504}35053506.peach-lock-eyebrow {3507  display: inline-flex;3508  align-items: center;3509  width: fit-content;3510  padding: 4px 9px;3511  border-radius: 999px;3512  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);3513  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3514  color: var(--peach-t0);3515  font-family: "IBM Plex Mono", monospace;3516  font-size: 0.5rem;3517  letter-spacing: 0.18em;3518  text-transform: uppercase;3519}35203521.peach-lock-label-row {3522  display: flex;3523  align-items: center;3524  justify-content: space-between;3525  margin-bottom: 0;3526}35273528.peach-lock-reveal-btn {3529  display: inline-flex;3530  align-items: center;3531  gap: 4px;3532  background: none;3533  border: none;3534  cursor: pointer;3535  font-family: "IBM Plex Mono", monospace;3536  font-size: 0.5625rem;3537  letter-spacing: 0.06em;3538  color: var(--peach-t2);3539  padding: 2px 0;3540  transition: color 150ms ease;3541}35423543.peach-lock-reveal-btn:hover {3544  color: var(--peach-t1);3545}35463547.peach-lock-warning {3548  color: rgba(220, 80, 60, 0.85) !important;3549  line-height: 1.5;3550}35513552.peach-onboarding-cards {3553  display: grid;3554  gap: 8px;3555  position: relative;3556  z-index: 1;3557}35583559.peach-lock-panel {3560  position: relative;3561  z-index: 1;3562  display: grid;3563  gap: 9px;3564  padding: 14px 16px 15px;3565  border-radius: 18px;3566  border: 1px solid var(--peach-t3);3567  background:3568    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3569  box-shadow:3570    inset 0 1px 0 rgba(240, 232, 216, 0.04),3571    0 12px 28px rgba(0, 0, 0, 0.12);3572}35733574/* Glass surface — lock panel and settings groups */3575.peach-glass {3576  background: rgba(26, 20, 16, 0.65);3577  border: 1px solid rgba(255, 255, 255, 0.08);3578  border-radius: 12px;3579  backdrop-filter: blur(12px) saturate(1.4);3580  -webkit-backdrop-filter: blur(12px) saturate(1.4);3581}35823583@supports not (backdrop-filter: blur(1px)) {3584  .peach-glass {3585    background: rgba(26, 20, 16, 0.92);3586    border: 1px solid rgba(255, 255, 255, 0.10);3587    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 24px rgba(0, 0, 0, 0.4);3588  }3589}35903591.light .peach-glass,3592[data-theme="light"] .peach-glass {3593  background: rgba(240, 233, 223, 0.72);3594  border: 1px solid rgba(26, 18, 8, 0.08);3595  backdrop-filter: blur(12px) saturate(1.2);3596  -webkit-backdrop-filter: blur(12px) saturate(1.2);3597}35983599@supports not (backdrop-filter: blur(1px)) {3600  .light .peach-glass,3601  [data-theme="light"] .peach-glass {3602    background: rgba(240, 233, 223, 0.97);3603    border: 1px solid rgba(26, 18, 8, 0.10);3604  }3605}36063607/* Lock panel keeps its own border-radius over the generic glass token */3608.peach-lock-panel.peach-glass {3609  border-radius: 18px;3610  background: rgba(26, 20, 16, 0.65);3611  border: 1px solid rgba(255, 255, 255, 0.08);3612  box-shadow:3613    inset 0 1px 0 rgba(255, 255, 255, 0.05),3614    0 12px 28px rgba(0, 0, 0, 0.3);3615}36163617.light .peach-lock-panel.peach-glass,3618[data-theme="light"] .peach-lock-panel.peach-glass {3619  background: rgba(240, 233, 223, 0.82);3620  border: 1px solid rgba(26, 18, 8, 0.08);3621  box-shadow:3622    inset 0 1px 0 rgba(255, 255, 255, 0.4),3623    0 8px 24px rgba(80, 56, 32, 0.15);3624}36253626@supports not (backdrop-filter: blur(1px)) {3627  .peach-lock-panel.peach-glass {3628    background: rgba(26, 20, 16, 0.92);3629    box-shadow:3630      inset 0 1px 0 rgba(255, 255, 255, 0.05),3631      0 12px 28px rgba(0, 0, 0, 0.4);3632  }3633  .light .peach-lock-panel.peach-glass,3634  [data-theme="light"] .peach-lock-panel.peach-glass {3635    background: rgba(240, 233, 223, 0.98);3636  }3637}36383639.peach-lock-panel--secondary {3640  gap: 12px;3641}36423643.peach-lock-panel-header {3644  display: flex;3645  align-items: baseline;3646  justify-content: space-between;3647  gap: 12px;3648}36493650.peach-lock-option-grid {3651  display: grid;3652  gap: 10px;3653}36543655.peach-lock-option {3656  width: 100%;3657  display: grid;3658  gap: 6px;3659  padding: 14px 15px;3660  border-radius: 16px;3661  border: 1px solid rgba(240, 232, 216, 0.08);3662  background: rgba(240, 232, 216, 0.02);3663  color: var(--peach-t0);3664  text-align: left;3665  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3666}36673668.peach-lock-option:hover {3669  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3670  background: rgba(240, 232, 216, 0.04);3671  transform: translateY(-1px);3672}36733674.peach-lock-option-title {3675  font-size: 0.75rem;3676  color: var(--peach-t0);3677}36783679.peach-lock-option-copy {3680  font-size: 0.6875rem;3681  line-height: 1.55;3682  color: var(--peach-t1);3683}36843685.peach-onboarding-stack {3686  margin-top: 2px;3687}3688.peach-lock-panel-footer {3689  display: grid;3690  gap: 6px;3691  margin-top: 2px;3692  padding-top: 10px;3693  border-top: 1px solid rgba(240, 232, 216, 0.06);3694}36953696/* ── Restore tab view ─────────────────────────────────────────────────────3697   Tab-based restore screen replacing the old three-card picker. */36983699.peach-restore-tabview {3700  overflow: hidden;3701}37023703.peach-restore-tabcard {3704  flex: 1;3705  display: flex;3706  flex-direction: column;3707  gap: 0;3708  padding: 0;3709  overflow: hidden;3710  cursor: default;3711  user-select: none;3712  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;3713}37143715/* ── Tab selector ─────────────────────────────────────────────────────── */37163717.peach-restore-tabs {3718  display: flex;3719  justify-content: space-around;3720  padding: 14px 10px 10px;3721  border-bottom: 1px solid var(--peach-t3);3722  gap: 2px;3723  overflow: hidden;3724  scrollbar-width: none;3725}3726.peach-restore-tabs::-webkit-scrollbar { display: none; }37273728.peach-restore-tab {3729  background: none;3730  border: none;3731  cursor: pointer;3732  padding: 3px 2px;3733  font-family: 'Cormorant Garamond', Georgia, serif;3734  font-style: italic;3735  font-size: 11px;3736  color: var(--peach-t2);3737  transition: color 150ms ease, text-shadow 150ms ease;3738  flex: 1;3739  min-width: 0;3740  text-align: center;3741  white-space: nowrap;3742  overflow: hidden;3743  text-overflow: ellipsis;3744}3745.peach-restore-tab:hover {3746  color: var(--peach-accent);3747  text-shadow:3748    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3749    0 0 18px color-mix(in srgb, var(--peach-accent) 25%, transparent);3750}3751.peach-restore-tab.is-active {3752  color: var(--peach-accent);3753  text-shadow:3754    0 0 10px color-mix(in srgb, var(--peach-accent) 60%, transparent),3755    0 0 22px color-mix(in srgb, var(--peach-accent) 30%, transparent);3756}37573758/* ── Content area ─────────────────────────────────────────────────────── */37593760.peach-restore-content {3761  padding: 16px 16px 14px;3762  display: flex;3763  flex-direction: column;3764  gap: 8px;3765  overflow: hidden;3766  scrollbar-width: none;3767  flex: 1;3768}3769.peach-restore-content::-webkit-scrollbar { display: none; }3770.peach-restore-content > * {3771  overflow: hidden;3772  scrollbar-width: none;3773}3774.peach-restore-content > *::-webkit-scrollbar { display: none; }37753776/* ── Shared tab inner layout ──────────────────────────────────────────── */37773778.peach-rt-symbols,3779.peach-rt-csv,3780.peach-rt-phone,3781.peach-restore-codex {3782  display: flex;3783  flex-direction: column;3784  gap: 8px;3785  overflow: hidden;3786}37873788.peach-restore-codex {3789  min-height: 0;3790  justify-content: center;3791}37923793.peach-restore-codex-title {3794  margin: 0;3795  font-family: var(--font-display);3796  font-size: 1rem;3797  font-style: italic;3798  color: var(--peach-t0);3799}38003801.peach-restore-codex-copy {3802  margin: 0;3803  font-size: 0.75rem;3804  line-height: 1.5;3805  color: var(--peach-t1);3806}38073808.peach-restore-codex-button {3809  width: 100%;3810  justify-content: center;3811}38123813.peach-rt-submit {3814  width: 100%;3815}38163817.peach-rt-error {3818  margin: 0;3819  font-size: 0.6875rem;3820  color: var(--peach-breach);3821  line-height: 1.4;3822}38233824/* ── PeachScript tab ──────────────────────────────────────────────────── */38253826.peach-restore-symbols-textarea {3827  font-family: 'PeachScript', monospace;3828  font-size: 13px;3829  line-height: 1.9;3830  letter-spacing: 0.1em;3831  word-break: break-all;3832  resize: none;3833  width: 100%;3834  min-height: 56px;3835  max-height: 72px;3836  overflow: hidden;3837  scrollbar-width: none;3838  -ms-overflow-style: none;3839  box-sizing: border-box;3840  padding: 6px 8px;3841  border-radius: 8px;3842  border: 1px solid var(--peach-t3);3843  background: rgba(240, 232, 216, 0.03);3844  color: var(--peach-t0);3845}3846.peach-restore-symbols-textarea::-webkit-scrollbar { display: none; }3847.peach-restore-symbols-textarea:focus { outline: none; border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent); }38483849.peach-restore-symbols-pass {3850  width: 100%;3851  box-sizing: border-box;3852  padding: 7px 10px;3853  border-radius: 8px;3854  border: 1px solid var(--peach-t3);3855  background: rgba(240, 232, 216, 0.03);3856  color: var(--peach-t0);3857  font-size: 0.8125rem;3858}3859.peach-restore-symbols-pass::placeholder { color: var(--peach-t2); }3860.peach-restore-symbols-pass:focus { outline: none; border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent); }38613862.peach-rt-divider {3863  text-align: center;3864  font-size: 0.6875rem;3865  color: var(--peach-t2);3866  font-style: italic;3867}38683869.peach-rt-file-label {3870  width: 100%;3871  justify-content: center;3872}38733874.peach-rt-anim-canvas {3875  width: 100%;3876  height: 180px;3877  border-radius: 10px;3878  overflow: hidden;3879  display: block;3880}38813882/* ── CSV tab ──────────────────────────────────────────────────────────── */38833884.peach-rt-csv-sources {3885  margin: 0;3886  font-size: 0.6875rem;3887  color: var(--peach-t2);3888  line-height: 1.5;3889  text-align: center;3890}38913892.peach-rt-csv-warning {3893  margin: 0;3894  font-family: "IBM Plex Mono", monospace;3895  font-size: 0.5625rem;3896  letter-spacing: 0.12em;3897  color: var(--peach-breach);3898  text-align: center;3899}39003901/* ── From Phone tab ───────────────────────────────────────────────────── */39023903.peach-rt-phone-code {3904  margin: 0;3905  text-align: center;3906  font-family: "IBM Plex Mono", monospace;3907  font-size: 22px;3908  letter-spacing: 0.18em;3909  color: var(--peach-t0);3910}39113912.peach-rt-phone-qr {3913  display: block;3914  width: 96px;3915  height: 96px;3916  margin: 0 auto;3917  border-radius: 6px;3918  image-rendering: pixelated;3919  overflow: hidden;3920}39213922.peach-rt-phone-hint {3923  margin: 0;3924  font-size: 0.6875rem;3925  color: var(--peach-t2);3926  line-height: 1.55;3927  text-align: center;3928}39293930/* ── Intro popup ──────────────────────────────────────────────────────── */39313932.peach-restore-intro-overlay {3933  position: absolute;3934  inset: 0;3935  z-index: 100;3936  display: flex;3937  align-items: center;3938  justify-content: center;3939  padding: 20px;3940  background: rgba(12, 10, 6, 0.7);3941  backdrop-filter: blur(4px);3942  animation: peach-card-in 280ms cubic-bezier(0.16, 1, 0.3, 1) both;3943}39443945.peach-restore-intro-card {3946  width: 100%;3947  display: flex;3948  flex-direction: column;3949  gap: 12px;3950  padding: 22px 20px 20px;3951  border-radius: 16px;3952  border: 1px solid var(--peach-t3);3953  background: linear-gradient(180deg, rgba(240, 232, 216, 0.05), rgba(240, 232, 216, 0.02));3954  backdrop-filter: blur(4px);3955  -webkit-backdrop-filter: blur(4px);3956  box-shadow: inset 0 1px 0 rgba(240, 232, 216, 0.06), 0 16px 36px rgba(0, 0, 0, 0.3);3957}39583959.peach-restore-intro-headline {3960  margin: 0;3961  font-family: var(--font-display);3962  font-style: italic;3963  font-size: 20px;3964  font-weight: 400;3965  color: var(--peach-t0);3966}39673968.peach-restore-intro-body {3969  display: flex;3970  flex-direction: column;3971  gap: 8px;3972}3973.peach-restore-intro-body p {3974  margin: 0;3975  font-size: 0.75rem;3976  color: var(--peach-t1);3977  line-height: 1.5;3978}39793980.peach-restore-intro-btn {3981  width: 100%;3982  margin-top: 4px;3983}39843985/* Snapshot restore panel */3986.peach-snapshot-panel {3987  gap: 10px;3988  overflow-y: auto;3989  max-height: 340px;3990}3991.peach-snapshot-list {3992  display: flex;3993  flex-direction: column;3994  gap: 4px;3995}3996.peach-snapshot-row {3997  display: flex;3998  align-items: center;3999  justify-content: space-between;4000  width: 100%;4001  padding: 8px 10px;4002  border-radius: 8px;4003  border: 1px solid rgba(240, 232, 216, 0.07);4004  background: transparent;4005  cursor: pointer;4006  transition: border-color 120ms, background 120ms;4007  text-align: left;4008  gap: 8px;4009}4010.peach-snapshot-row:hover {4011  border-color: rgba(240, 232, 216, 0.14);4012  background: rgba(240, 232, 216, 0.03);4013}4014.peach-snapshot-row.is-selected {4015  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4016  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);4017}4018.peach-snapshot-time {4019  font-size: 11.5px;4020  color: var(--peach-t0);4021  flex: 1;4022}4023.peach-snapshot-count {4024  font-family: "IBM Plex Mono", monospace;4025  font-size: 0.625rem;4026  color: var(--peach-t2);4027  flex-shrink: 0;4028}4029.peach-snapshot-confirm {4030  display: flex;4031  flex-direction: column;4032  gap: 8px;4033  padding-top: 10px;4034  border-top: 1px solid rgba(240, 232, 216, 0.06);4035}4036.peach-snapshot-warning {4037  display: flex;4038  align-items: flex-start;4039  gap: 6px;4040  font-size: 10.5px;4041  color: rgba(220, 80, 60, 0.85);4042  line-height: 1.55;4043}4044.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }4045.peach-snapshot-confirm-row {4046  display: flex;4047  gap: 6px;4048  align-items: center;4049}4050.peach-snapshot-restore-btn {4051  width: 100%;4052}4053.peach-lock-hero--unlock .peach-lock-hero-art {4054  width: 112px;4055  height: 112px;4056  right: 0;4057  top: 2px;4058  opacity: 0.1;4059}40604061.peach-card {4062  border: 1px solid var(--peach-t3);4063  border-radius: 18px;4064  background:4065    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);4066  box-shadow:4067    inset 0 0 0 1px var(--peach-border-accent),4068    inset 0 1px 0 rgba(240, 232, 216, 0.04),4069    0 12px 32px rgba(0, 0, 0, 0.14);4070  overflow: hidden;4071}40724073.peach-card-active {4074  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);4075  box-shadow:4076    inset 0 1px 0 rgba(240, 232, 216, 0.05),4077    0 16px 38px rgba(0, 0, 0, 0.18),4078    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);4079}40804081.peach-card-disabled {4082  opacity: 0.72;4083}40844085.peach-card-header {4086  width: 100%;4087  padding: 13px 16px 11px;4088  background: transparent;4089  color: var(--peach-t0);4090  display: flex;4091  justify-content: space-between;4092  align-items: center;4093  text-align: left;4094  font-size: 0.75rem;4095}40964097.peach-card-body {4098  padding: 0 16px 16px;4099  display: grid;4100  gap: 9px;4101}41024103.peach-card-tag {4104  color: var(--peach-t2);4105  font-family: "IBM Plex Mono", monospace;4106  font-size: 0.5625rem;4107  letter-spacing: 0.12em;4108  text-transform: uppercase;4109}41104111.peach-empty-copy {4112  display: grid;4113  gap: 6px;4114  color: var(--peach-t1);4115  font-size: 0.8125rem;4116}41174118.peach-lock-submit {4119  width: 100%;4120  box-shadow:4121    0 1px 0 rgba(255,255,255,0.10) inset,4122    0 0 0 1px color-mix(in srgb, var(--peach-accent) 19%, transparent),4123    0 12px 32px color-mix(in srgb, var(--peach-accent) 19%, transparent),4124    0 0 48px color-mix(in srgb, var(--peach-accent) 10%, transparent);4125}41264127.peach-lock-secondary {4128  width: 100%;4129  border-color: var(--peach-t3);4130  background: rgba(240, 232, 216, 0.02);4131}41324133.peach-lock-secondary:hover {4134  background: rgba(240, 232, 216, 0.04);4135}41364137.peach-lock-note {4138  max-width: none;4139  line-height: 1.55;4140  margin: 0;4141}41424143.peach-overlay-action {4144  font-size: 0.625rem;4145  padding: 4px 8px;4146  letter-spacing: 0.06em;4147  min-width: 44px;4148  text-align: center;4149}41504151.peach-inline-action {4152  flex-shrink: 0;4153  font-size: 0.5625rem;4154  letter-spacing: 0.1em;4155  text-transform: uppercase;4156  padding: 4px 7px;4157}4158.peach-password-toggle-btn {4159  display: inline-flex;4160  align-items: center;4161  justify-content: center;4162  min-width: 30px;4163  min-height: 26px;4164  padding: 0 7px;4165  border: 1px solid var(--peach-t3);4166  border-radius: 999px;4167  background: rgba(240, 232, 216, 0.04);4168  color: var(--peach-t2);4169  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;4170}4171.peach-password-toggle-btn:hover {4172  border-color: var(--peach-t2);4173  color: var(--peach-t0);4174  background: rgba(240, 232, 216, 0.06);4175}41764177.peach-new-textarea {4178  width: 100%;4179  min-height: 88px;4180  resize: vertical;4181  border: 0;4182  outline: none;4183  background: transparent;4184  color: var(--peach-t1);4185  font-family: "IBM Plex Mono", monospace;4186  font-size: 0.75rem;4187  line-height: 1.65;4188  caret-color: var(--peach-accent);4189}41904191.peach-new-textarea::placeholder {4192  color: var(--peach-t2);4193  opacity: 0.7;4194}41954196.peach-settings-actions {4197  display: grid;4198  gap: 8px;4199}42004201.peach-sync-section-label {4202  font-size: 0.6875rem;4203  color: var(--peach-t2);4204  text-transform: uppercase;4205  letter-spacing: 0.05em;4206}42074208.peach-sync-network-note {4209  margin: 0 0 6px;4210  font-size: 0.75rem;4211  color: var(--peach-t2);4212  line-height: 1.4;4213}42144215.peach-settings-row--tappable {4216  background: none;4217  border: none;4218  width: 100%;4219  text-align: left;4220  cursor: pointer;4221  color: var(--peach-t1);4222  font-size: 0.8125rem;4223}4224.peach-settings-row--tappable:hover {4225  color: var(--peach-t0);4226}42274228.peach-sync-pro-hint {4229  display: flex;4230  flex-direction: column;4231  align-items: flex-start;4232  gap: 8px;4233  padding: 12px 0 4px;4234}42354236.peach-sync-device-row {4237  display: flex;4238  justify-content: space-between;4239  align-items: center;4240  padding: 6px 0;4241  border-bottom: 1px solid var(--peach-t3);4242}42434244.peach-sync-device-info {4245  display: flex;4246  flex-direction: column;4247  gap: 2px;4248}42494250.peach-sync-device-name {4251  font-size: 0.8125rem;4252  color: var(--peach-t0);4253}42544255.peach-sync-device-meta {4256  font-size: 0.6875rem;4257  color: var(--peach-t2);4258}42594260.peach-sync-status-dot {4261  display: inline-block;4262  width: 8px;4263  height: 8px;4264  border-radius: 50%;4265  vertical-align: middle;4266}42674268.peach-sync-remove-btn {4269  color: var(--peach-breach);4270}42714272.peach-sync-advanced-row {4273  display: flex;4274  justify-content: space-between;4275  align-items: center;4276  padding: 6px 0;4277  gap: 12px;4278}42794280.peach-sync-advanced-info {4281  display: flex;4282  flex-direction: column;4283  gap: 2px;4284  flex: 1;4285}42864287.peach-sync-advanced-name {4288  font-size: 0.8125rem;4289  color: var(--peach-t0);4290}42914292.peach-sync-reset-confirm {4293  display: flex;4294  flex-direction: column;4295  gap: 8px;4296  padding: 10px;4297  border: 1px solid var(--peach-breach);4298  border-radius: 10px;4299  background: color-mix(in srgb, var(--peach-breach) 6%, transparent);4300}43014302.peach-sync-reset-confirm-headline {4303  font-size: 0.8125rem;4304  font-weight: 600;4305  color: var(--peach-t0);4306  margin: 0;4307}43084309.peach-sync-reset-confirm-body {4310  font-size: 0.75rem;4311  color: var(--peach-t1);4312  margin: 0;4313  line-height: 1.4;4314}43154316.peach-btn--danger {4317  background: var(--peach-breach);4318  color: #fff;4319  border-color: var(--peach-breach);4320}4321.peach-btn--danger:hover:not(:disabled) {4322  background: color-mix(in srgb, var(--peach-breach) 88%, #000);4323}4324.peach-btn--danger:disabled {4325  opacity: 0.55;4326  cursor: not-allowed;4327}43284329.peach-sync-hero-icon {4330  color: var(--peach-t1);4331  opacity: 0.85;4332}43334334.peach-import-preview {4335  margin-bottom: 12px;4336  max-height: 152px;4337  overflow-y: auto;4338  border: 1px solid var(--peach-t3);4339  border-radius: 10px;4340  padding: 8px 10px;4341  display: grid;4342  gap: 8px;4343  background: rgba(240, 232, 216, 0.02);4344}43454346.peach-import-preview-row {4347  display: flex;4348  justify-content: space-between;4349  gap: 10px;4350  font-size: 0.6875rem;4351  color: var(--peach-t1);4352}43534354.peach-import-preview-title {4355  color: var(--peach-t0);4356  flex: 1;4357  min-width: 0;4358  overflow: hidden;4359  text-overflow: ellipsis;4360  white-space: nowrap;4361}43624363.peach-import-preview-meta {4364  color: var(--peach-t2);4365  flex-shrink: 0;4366  max-width: 42%;4367  overflow: hidden;4368  text-overflow: ellipsis;4369  white-space: nowrap;4370}43714372.peach-import-preview-more {4373  color: var(--peach-t2);4374  font-size: 0.625rem;4375}43764377.peach-restore-copy {4378  margin: 0;4379  color: var(--peach-t1);4380  font-size: 0.6875rem;4381  line-height: 1.6;4382}43834384.peach-restore-warning {4385  padding: 10px 12px;4386  border-radius: 12px;4387  border: 1px solid color-mix(in srgb, var(--peach-breach) 35%, transparent);4388  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);4389  color: var(--peach-t0);4390  font-size: 0.6875rem;4391  line-height: 1.55;4392}43934394.peach-provider-chips {4395  display: flex;4396  flex-wrap: wrap;4397  gap: 6px;4398}43994400.peach-provider-chip {4401  display: inline-flex;4402  align-items: center;4403  padding: 5px 8px;4404  border-radius: 999px;4405  border: 1px solid var(--peach-t3);4406  background: rgba(240, 232, 216, 0.02);4407  color: var(--peach-t1);4408  font-family: "IBM Plex Mono", monospace;4409  font-size: 0.5rem;4410  letter-spacing: 0.08em;4411  text-transform: uppercase;4412}44134414.peach-restore-file,4415.peach-restore-input {4416  width: 100%;4417  border-radius: 10px;4418  border: 1px solid var(--peach-t3);4419  background: var(--peach-s2);4420  color: var(--peach-t0);4421  font-size: 0.75rem;4422}44234424.peach-restore-file {4425  padding: 9px 10px;4426}44274428.peach-restore-file::file-selector-button {4429  margin-right: 10px;4430  padding: 7px 10px;4431  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);4432  border-radius: 999px;4433  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4434  color: var(--peach-t0);4435  font-size: 0.625rem;4436  letter-spacing: 0.08em;4437  text-transform: uppercase;4438  cursor: pointer;4439}44404441.peach-restore-input {4442  padding: 10px 12px;4443}44444445.peach-auth-grid {4446  display: grid;4447  gap: 10px;4448}44494450.peach-import-summary {4451  color: var(--peach-t1);4452  font-size: 0.75rem;4453  line-height: 1.6;4454  margin-bottom: 12px;4455}44564457.peach-restore-error {4458  color: rgba(220, 80, 60, 0.95);4459  font-size: 0.75rem;4460  line-height: 1.55;4461}44624463.peach-passkey-card {4464  max-width: 400px;4465  margin: auto 16px;4466  align-self: center;4467  width: calc(100% - 32px);4468}44694470/* Center the approval card vertically inside the overlay-view (which sets4471 * flex-direction: column without justify-content). Without this, the card4472 * sits at the top with a tall empty band below — looks unfinished on the4473 * 320px popup. */4474.peach-overlay-view:has(.peach-passkey-card) {4475  justify-content: center;4476}44774478.peach-pro-badge {4479  padding: 2px 6px;4480  border-radius: 999px;4481  font-family: var(--font-ui);4482  font-size: 0.625rem;4483  letter-spacing: 0.08em;4484  text-transform: uppercase;4485  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);4486  color: var(--peach-accent);4487}44884489/* ── Shortcuts rebind table ─────────────────────────────────── */4490.peach-shortcuts-group { display: flex; flex-direction: column; gap: 6px; }4491.peach-shortcut-row {4492  display: flex;4493  align-items: center;4494  gap: 10px;4495  padding: 6px 0;4496}4497.peach-shortcut-row-label {4498  flex: 1;4499  font-size: 0.75rem;4500  color: var(--peach-t0);4501}4502.peach-shortcut-chip {4503  min-width: 64px;4504  padding: 4px 10px;4505  border-radius: 6px;4506  border: 1px solid var(--peach-t3);4507  background: var(--peach-input-bg, var(--surface-card));4508  color: var(--peach-t0);4509  font-family: var(--font-mono);4510  font-size: 0.6875rem;4511  letter-spacing: 0.04em;4512  cursor: pointer;4513  text-align: center;4514  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;4515}4516.peach-shortcut-chip:hover { border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent); }4517.peach-shortcut-chip.is-custom {4518  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4519  color: var(--peach-accent);4520}4521.peach-shortcut-chip.is-capturing {4522  border-color: var(--peach-accent);4523  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);4524  color: var(--peach-accent);4525  animation: peach-shortcut-capture-pulse 1.4s ease-in-out infinite;4526}4527@keyframes peach-shortcut-capture-pulse {4528  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--peach-accent) 30%, transparent); }4529  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--peach-accent) 12%, transparent); }4530}4531.peach-shortcut-reset {4532  background: transparent;4533  border: none;4534  cursor: pointer;4535  color: var(--peach-t2);4536  padding: 4px 6px;4537  border-radius: 5px;4538  font-size: 0.875rem;4539  line-height: 1;4540  transition: color 120ms ease, background 120ms ease;4541}4542.peach-shortcut-reset:hover {4543  color: var(--peach-t0);4544  background: color-mix(in srgb, var(--peach-text, var(--peach-t0)) 6%, transparent);4545}4546.peach-shortcuts-conflict {4547  margin: 4px 0 0;4548  padding: 8px 10px;4549  border-radius: 7px;4550  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);4551  border: 1px solid color-mix(in srgb, var(--peach-breach) 30%, transparent);4552  font-family: var(--font-mono);4553  font-size: 0.6875rem;4554  color: var(--peach-t0);4555}45564557/* ── Help dialog overlay (? to open) ────────────────────────── */4558.peach-shortcuts-help-backdrop {4559  position: fixed;4560  inset: 0;4561  background: rgba(0, 0, 0, 0.55);4562  backdrop-filter: blur(2px);4563  display: flex;4564  align-items: center;4565  justify-content: center;4566  z-index: 1000;4567  animation: peach-help-fade-in 140ms ease forwards;4568}4569@keyframes peach-help-fade-in { from { opacity: 0 } to { opacity: 1 } }4570.peach-shortcuts-help-card {4571  width: min(320px, 92vw);4572  max-height: 80vh;4573  overflow-y: auto;4574  border-radius: 14px;4575  border: 1px solid var(--peach-t3);4576  background: var(--peach-bg);4577  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);4578  padding: 16px 18px 18px;4579  display: flex;4580  flex-direction: column;4581  gap: 12px;4582}4583.peach-shortcuts-help-head {4584  display: flex; align-items: center; justify-content: space-between;4585}4586.peach-shortcuts-help-head h3 {4587  margin: 0;4588  font-family: var(--font-display);4589  font-style: italic;4590  font-weight: 400;4591  font-size: 22px;4592  color: var(--peach-t0);4593}4594.peach-shortcuts-help-close {4595  background: transparent;4596  border: none;4597  color: var(--peach-t2);4598  cursor: pointer;4599  font-size: 0.875rem;4600  padding: 4px 8px;4601  border-radius: 5px;4602}4603.peach-shortcuts-help-close:hover { color: var(--peach-t0); background: var(--surface-card); }4604.peach-shortcuts-help-body ul {4605  list-style: none; padding: 0; margin: 4px 0 12px;4606  display: grid; gap: 8px;4607}4608.peach-shortcuts-help-body li {4609  display: flex; align-items: center; justify-content: space-between; gap: 12px;4610  font-size: 0.75rem; color: var(--peach-t0);4611}4612.peach-shortcuts-help-body kbd {4613  font-family: var(--font-mono);4614  font-size: 0.6875rem;4615  padding: 3px 8px;4616  border-radius: 6px;4617  background: var(--surface-card);4618  border: 1px solid var(--peach-t3);4619  color: var(--peach-accent);4620  letter-spacing: 0.04em;4621}46224623/* ── Pro promo on Account screen ────────────────────────────── */4624.peach-pro-promo {4625  position: relative;4626  border-radius: 14px;4627  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);4628  background:4629    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent) 0%, transparent 60%),4630    radial-gradient(85% 100% at 100% 100%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 0%, transparent 65%),4631    var(--surface-card);4632  overflow: hidden;4633  margin-bottom: 14px;4634}4635.peach-pro-promo-glow {4636  position: absolute;4637  inset: -40% -20% auto auto;4638  width: 220px; height: 220px;4639  background: radial-gradient(closest-side, var(--peach-glow), transparent 70%);4640  pointer-events: none;4641  filter: blur(8px);4642}4643.peach-pro-promo-inner {4644  position: relative;4645  padding: 18px 18px 16px;4646}4647.peach-pro-promo-title {4648  font-family: var(--font-display);4649  font-style: italic;4650  font-weight: 400;4651  font-size: 28px;4652  line-height: 1;4653  letter-spacing: -0.005em;4654  color: var(--peach-t0);4655  margin: 0 0 4px;4656}4657.peach-pro-promo-tagline {4658  font-family: var(--font-mono);4659  font-size: 0.625rem;4660  letter-spacing: 0.06em;4661  color: var(--peach-t2);4662  margin: 0 0 14px;4663}4664.peach-pro-promo-list {4665  list-style: none;4666  margin: 0 0 16px;4667  padding: 0;4668  display: grid;4669  gap: 9px;4670}4671.peach-pro-promo-list li {4672  display: flex;4673  align-items: flex-start;4674  gap: 9px;4675  font-size: 0.75rem;4676  color: var(--peach-t1);4677  line-height: 1.4;4678}4679.peach-pro-promo-list svg {4680  width: 14px;4681  height: 14px;4682  flex-shrink: 0;4683  color: var(--peach-accent);4684  margin-top: 2px;4685}4686.peach-pro-promo-list span {4687  color: var(--peach-t0);4688}4689.peach-pro-promo-cta {4690  width: 100%;4691  background: var(--peach-accent);4692  color: #fff;4693  border: none;4694  padding: 9px 12px;4695  border-radius: 9px;4696  font-size: 0.75rem;4697  font-weight: 500;4698  font-family: var(--font-ui);4699  letter-spacing: 0.02em;4700  text-decoration: none;4701  display: inline-flex;4702  align-items: center;4703  justify-content: center;4704  cursor: pointer;4705  transition: filter 120ms ease, box-shadow 120ms ease, transform 80ms ease;4706  box-shadow: 0 2px 16px var(--peach-glow);4707}4708.peach-pro-promo-cta:hover {4709  filter: brightness(1.07);4710  box-shadow: 0 4px 24px var(--peach-glow);4711  transform: translateY(-1px);4712}4713.peach-pro-promo-cta:active { transform: translateY(0); filter: brightness(0.96); }47144715.peach-pro-or-divider {4716  display: flex;4717  align-items: center;4718  gap: 10px;4719  margin: 4px 0 12px;4720  font-family: var(--font-mono);4721  font-size: 0.625rem;4722  letter-spacing: 0.06em;4723  color: var(--peach-t2);4724  text-transform: uppercase;4725}4726.peach-pro-or-divider::before,4727.peach-pro-or-divider::after {4728  content: "";4729  flex: 1;4730  height: 1px;4731  background: var(--peach-t3);4732}47334734.peach-loading {4735  position: absolute;4736  inset: 0;4737  display: flex;4738  align-items: center;4739  justify-content: center;4740  background: var(--bg);4741  animation: peach-loading-pulse 1.2s ease-in-out infinite;4742}47434744@keyframes peach-loading-pulse {4745  0%, 100% { opacity: 0.6; }4746  50% { opacity: 1; }4747}47484749/* ── Health Dashboard ─────────────────────────────────────────────────── */4750.peach-health-body {4751  flex: 1;4752  overflow-y: auto;4753  display: flex;4754  flex-direction: column;4755  /* Hide the platform scrollbar — every other scrollable surface in the4756   * popup hides it; the Health view was the one outlier and it ruined the4757   * polish. Behavior unchanged, just no rail rendered. */4758  scrollbar-width: none;4759  -ms-overflow-style: none;4760}4761.peach-health-body::-webkit-scrollbar { display: none; }47624763/* Loading screen for the Vault Health view. The advanced report computation4764 * can run for a few seconds on a large vault — without a clear loading4765 * screen the surface looked broken (the entry view bleeds through the4766 * empty body). Centered glyph + title + copy + indeterminate progress bar. */4767.peach-health-loading-screen {4768  flex: 1;4769  display: flex;4770  flex-direction: column;4771  align-items: center;4772  justify-content: center;4773  gap: 14px;4774  padding: 32px 28px;4775  text-align: center;4776}47774778.peach-health-loading-glyph {4779  width: 48px;4780  height: 48px;4781  display: flex;4782  align-items: center;4783  justify-content: center;4784  border-radius: 14px;4785  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4786  color: var(--peach-accent);4787}47884789.peach-health-loading-title {4790  margin: 0;4791  font-family: var(--font-display);4792  font-style: italic;4793  font-weight: 300;4794  font-size: 19px;4795  line-height: 1.2;4796  color: var(--peach-t0);4797}47984799.peach-health-loading-copy {4800  margin: 0;4801  max-width: 240px;4802  font-size: 0.75rem;4803  line-height: 1.55;4804  color: var(--peach-t2);4805}48064807.peach-health-loading-track {4808  width: 200px;4809  height: 3px;4810  margin-top: 6px;4811  border-radius: 999px;4812  background: rgba(240, 232, 216, 0.06);4813  overflow: hidden;4814}48154816.peach-health-loading-fill {4817  width: 40%;4818  height: 100%;4819  border-radius: inherit;4820  background: linear-gradient(4821    90deg,4822    transparent 0%,4823    var(--peach-accent) 50%,4824    transparent 100%4825  );4826  animation: peach-health-loading-sweep 1.4s ease-in-out infinite;4827}48284829@keyframes peach-health-loading-sweep {4830  0%   { transform: translateX(-100%); }4831  100% { transform: translateX(350%); }4832}48334834[data-motion="reduce"] .peach-health-loading-fill,4835[data-motion="reduce"] .peach-health-loading-glyph svg path {4836  animation: none;4837}48384839.peach-health-summary {4840  padding: 10px 16px 6px;4841  font-family: "IBM Plex Mono", monospace;4842  font-size: 0.6875rem;4843}4844.peach-health-summary-warn { color: rgba(220,80,60,0.9); }4845.peach-health-summary-ok { color: var(--peach-t2); }48464847.peach-health-check-row {4848  padding: 0 16px 10px;4849}4850.peach-health-check-btn {4851  width: 100%;4852  display: flex;4853  align-items: center;4854  justify-content: center;4855}48564857.peach-health-sections {4858  flex: 1;4859  display: flex;4860  flex-direction: column;4861}48624863.peach-health-section {4864  border-bottom: 1px solid var(--peach-t3);4865}48664867.peach-health-section-header {4868  width: 100%;4869  display: flex;4870  align-items: center;4871  justify-content: space-between;4872  padding: 9px 16px;4873  background: transparent;4874  cursor: pointer;4875  color: var(--peach-t0);4876}48774878.peach-health-section-title-row {4879  display: flex;4880  align-items: center;4881  gap: 8px;4882}48834884.peach-health-count-badge {4885  display: inline-flex;4886  align-items: center;4887  justify-content: center;4888  min-width: 20px;4889  height: 18px;4890  padding: 0 5px;4891  border-radius: 999px;4892  background: rgba(220,80,60,0.15);4893  border: 1px solid rgba(220,80,60,0.25);4894  font-family: "IBM Plex Mono", monospace;4895  font-size: 0.5625rem;4896  color: rgba(220,80,60,0.9);4897}48984899.peach-health-section-title {4900  font-family: "IBM Plex Mono", monospace;4901  font-size: 0.6875rem;4902  text-transform: uppercase;4903  letter-spacing: 0.1em;4904  color: var(--peach-t1);4905}49064907.peach-health-chevron {4908  color: var(--peach-t2);4909  transition: transform 200ms ease;4910  flex-shrink: 0;4911}4912.peach-health-chevron.is-expanded {4913  transform: rotate(180deg);4914}49154916.peach-health-section-body {4917  padding: 0 16px 10px;4918  display: flex;4919  flex-direction: column;4920  gap: 4px;4921}49224923.peach-health-row {4924  display: flex;4925  align-items: flex-start;4926  justify-content: space-between;4927  gap: 8px;4928  padding: 6px 8px;4929  border-radius: 8px;4930  background: rgba(240,232,216,0.02);4931}49324933.peach-health-row-info {4934  flex: 1;4935  min-width: 0;4936  display: flex;4937  flex-direction: column;4938  gap: 2px;4939}49404941.peach-health-row-name {4942  font-family: var(--font-display);4943  font-size: 0.9375rem;4944  font-style: italic;4945  font-weight: 400;4946  color: var(--peach-t0);4947  white-space: nowrap;4948  overflow: hidden;4949  text-overflow: ellipsis;4950}49514952.peach-health-row-meta {4953  font-family: "IBM Plex Mono", monospace;4954  font-size: 0.5625rem;4955  color: var(--peach-t2);4956  letter-spacing: 0.05em;4957}49584959.peach-health-fix-btn {4960  font-size: 0.5625rem;4961  letter-spacing: 0.08em;4962  text-transform: uppercase;4963  padding: 4px 7px;4964  flex-shrink: 0;4965  display: flex;4966  align-items: center;4967}49684969.peach-health-empty {4970  font-family: "IBM Plex Mono", monospace;4971  font-size: 0.625rem;4972  color: var(--peach-t2);4973  padding: 6px 0;4974}49754976.peach-health-loading {4977  font-family: "IBM Plex Mono", monospace;4978  font-size: 0.625rem;4979  color: var(--peach-t2);4980  padding: 6px 0;4981  display: flex;4982  align-items: center;4983  gap: 6px;4984}49854986.peach-health-loading::before {4987  content: "";4988  width: 10px;4989  height: 10px;4990  border: 1.5px solid var(--peach-t3);4991  border-top-color: var(--peach-accent);4992  border-radius: 50%;4993  animation: peach-spin 600ms linear infinite;4994}49954996@keyframes peach-spin {4997  to { transform: rotate(360deg); }4998}49995000.peach-spinner {5001  width: 32px;5002  height: 32px;5003  border: 2px solid var(--peach-s2);5004  border-top-color: var(--peach-accent);5005  border-radius: 50%;5006  margin: 0 auto 16px;5007  animation: peach-spin 0.8s linear infinite;5008}50095010.peach-progress-screen {5011  text-align: center;5012  padding: 32px 16px;5013}50145015.peach-progress-screen-title {5016  font-size: 0.8125rem;5017  color: var(--peach-t0);5018  margin-bottom: 16px;5019}50205021.peach-progress-screen-stage {5022  font-size: 0.6875rem;5023  color: var(--peach-t2);5024  min-height: 14px;5025}50265027.peach-progress-screen-note {5028  font-size: 0.625rem;5029  color: var(--peach-t2);5030  margin-top: 8px;5031}50325033.peach-pairing-body {5034  flex: 1;5035  overflow-y: auto;5036  display: flex;5037  flex-direction: column;5038}50395040.peach-pairing-content {5041  flex: 1;5042  display: flex;5043  flex-direction: column;5044  align-items: center;5045  justify-content: center;5046  gap: 14px;5047  padding: 28px 20px;5048  text-align: center;5049}50505051.peach-pairing-code-screen {5052  gap: 18px;5053}50545055.peach-pairing-headline {5056  font-family: var(--font-display);5057  font-style: italic;5058  font-weight: 300;5059  font-size: 28px;5060  color: var(--peach-t0);5061  margin: 0;5062  line-height: 1;5063}50645065.peach-pairing-subline {5066  font-size: 0.75rem;5067  color: var(--peach-t2);5068  max-width: 220px;5069  line-height: 1.5;5070  margin: 0;5071}50725073.peach-pairing-subline--center {5074  text-align: center;5075}50765077/* 6-digit pairing code — both display (.peach-pairing-code) and entry5078   (.peach-pairing-code-input) share IBM Plex Mono / 36px / wide tracking5079   so the two modes feel like the same surface. */5080.peach-pairing-code {5081  font-family: "IBM Plex Mono", monospace;5082  font-size: 36px;5083  letter-spacing: 0.25em;5084  color: var(--peach-t0);5085  text-align: center;5086  padding: 24px 0;5087  text-shadow:5088    0 0 24px color-mix(in srgb, var(--peach-accent) 22%, transparent),5089    0 0 48px color-mix(in srgb, var(--peach-accent) 12%, transparent);5090  background: transparent;5091  border: 0;5092  cursor: default;5093  user-select: text;5094}50955096.peach-pairing-code--loading,5097.peach-pairing-code--expired {5098  font-size: 18px;5099  letter-spacing: 0.04em;5100  color: var(--peach-t2);5101  cursor: pointer;5102  text-shadow: none;5103}51045105.peach-pairing-qr-container {5106  display: flex;5107  flex-direction: column;5108  align-items: center;5109  gap: 10px;5110}51115112.peach-pairing-qr {5113  width: 240px;5114  height: 240px;5115  display: block;5116}51175118.peach-pairing-instruction {5119  font-size: 0.75rem;5120  color: var(--peach-t2);5121  text-align: center;5122  line-height: 1.5;5123  margin: 0;5124  max-width: 220px;5125}51265127.peach-pairing-expiry {5128  font-family: "IBM Plex Mono", monospace;5129  font-size: 13px;5130  letter-spacing: 0.06em;5131  color: var(--peach-t2);5132  margin: 0;5133}51345135.peach-pairing-regen {5136  font-size: 0.75rem;5137  color: var(--peach-accent);5138  background: transparent;5139  border: 0;5140  cursor: pointer;5141  padding: 4px 0;5142  text-decoration: underline;5143  text-underline-offset: 2px;5144}51455146.peach-pairing-code-input {5147  font-family: "IBM Plex Mono", monospace;5148  font-size: 36px;5149  letter-spacing: 0.25em;5150  color: var(--peach-t0);5151  background: transparent;5152  border: 0;5153  border-bottom: 1px solid var(--peach-t3);5154  outline: none;5155  text-align: center;5156  padding: 18px 0;5157  width: 220px;5158  caret-color: var(--peach-accent);5159  transition: border-color 160ms ease;5160}51615162.peach-pairing-code-input::placeholder {5163  color: var(--peach-t3);5164}51655166.peach-pairing-code-input:focus {5167  border-bottom-color: var(--peach-accent);5168}51695170.peach-pairing-toggle {5171  background: transparent;5172  border: 0;5173  color: var(--peach-t2);5174  font-size: 0.75rem;5175  padding: 8px 4px;5176  cursor: pointer;5177  transition: color 120ms ease;5178}51795180.peach-pairing-toggle:hover:not(:disabled) {5181  color: var(--peach-t1);5182}51835184.peach-pairing-toggle:disabled {5185  opacity: 0.5;5186  cursor: default;5187}51885189.peach-pairing-hint {5190  font-size: 0.6875rem;5191  color: var(--peach-t2);5192  margin: 0;5193  text-align: center;5194}51955196.peach-pairing-status {5197  display: flex;5198  align-items: center;5199  gap: 8px;5200  margin: 0;5201  font-size: 0.75rem;5202  color: var(--peach-t1);5203}52045205.peach-pairing-error {5206  margin: 0;5207  font-size: 0.6875rem;5208  color: var(--peach-breach);5209}52105211.peach-pairing-error--muted {5212  color: var(--peach-t2);5213}52145215.peach-pairing-spinner {5216  width: 12px;5217  height: 12px;5218  border: 1.5px solid var(--peach-t3);5219  border-top-color: var(--peach-accent);5220  border-radius: 50%;5221  animation: peach-spin 0.8s linear infinite;5222}52235224.peach-pairing-success-icon,5225.peach-pairing-error-icon,5226.peach-pairing-hero {5227  display: inline-flex;5228  align-items: center;5229  justify-content: center;5230}52315232/* Tag chips */5233.peach-tag-chip {5234  display: inline-flex;5235  align-items: center;5236  gap: 4px;5237  padding: 3px 8px;5238  border-radius: 999px;5239  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);5240  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5241  color: var(--peach-t0);5242  font-family: "IBM Plex Mono", monospace;5243  font-size: 0.625rem;5244  letter-spacing: 0.04em;5245}52465247.peach-tag-chip-remove {5248  background: transparent;5249  border: none;5250  color: inherit;5251  opacity: 0.6;5252  cursor: pointer;5253  padding: 0;5254  font-size: 0.75rem;5255  line-height: 1;5256}52575258.peach-tag-chip-remove:hover {5259  opacity: 1;5260}52615262/* Tag input */5263.peach-tag-input-wrap {5264  border-bottom: 1px solid var(--peach-t3);5265}52665267.peach-tag-suggestions {5268  display: flex;5269  flex-wrap: wrap;5270  gap: 4px;5271  padding: 6px 0;5272}52735274.peach-tag-suggestion {5275  padding: 2px 8px;5276  border-radius: 999px;5277  border: 1px solid var(--peach-t3);5278  background: var(--peach-s2);5279  color: var(--peach-t1);5280  font-family: "IBM Plex Mono", monospace;5281  font-size: 0.625rem;5282  cursor: pointer;5283  transition: border-color 80ms ease, background 80ms ease;5284}52855286.peach-tag-suggestion:hover {5287  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);5288  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5289}52905291/* Identity suggestions — shown below username/email inputs in new-entry form */5292@keyframes peach-suggest-in {5293  from { opacity: 0; transform: translateY(-4px); }5294  to   { opacity: 1; transform: none; }5295}52965297.peach-identity-suggestions {5298  display: flex;5299  flex-direction: column;5300  gap: 1px;5301  margin-top: 4px;5302  animation: peach-suggest-in 180ms cubic-bezier(0.16, 1, 0.3, 1) both;5303}53045305.peach-identity-filter-row {5306  display: flex;5307  align-items: center;5308  gap: 4px;5309  padding: 2px 0 5px;5310}53115312.peach-identity-collapse-btn {5313  margin-left: auto;5314  background: transparent;5315  border: none;5316  cursor: pointer;5317  color: var(--peach-t3);5318  padding: 2px 4px;5319  display: flex;5320  align-items: center;5321  line-height: 0;5322  border-radius: 3px;5323  transition: color 100ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);5324}53255326.peach-identity-collapse-btn:hover {5327  color: var(--peach-t1);5328}53295330.peach-identity-collapse-btn.is-collapsed {5331  transform: rotate(-90deg);5332}53335334.peach-identity-rows {5335  display: grid;5336  grid-template-rows: 1fr;5337  transition: grid-template-rows 220ms cubic-bezier(0.16, 1, 0.3, 1);5338}53395340.peach-identity-rows.is-collapsed {5341  grid-template-rows: 0fr;5342}53435344.peach-identity-rows-inner {5345  overflow-y: auto;5346  min-height: 0;5347  max-height: 148px;5348  scrollbar-width: thin;5349  scrollbar-color: var(--peach-t3) transparent;5350  mask-image: linear-gradient(to bottom, black calc(100% - 18px), transparent 100%);5351  -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 18px), transparent 100%);5352}53535354.peach-identity-rows-inner::-webkit-scrollbar {5355  width: 4px;5356}53575358.peach-identity-rows-inner::-webkit-scrollbar-track {5359  background: transparent;5360}53615362.peach-identity-rows-inner::-webkit-scrollbar-thumb {5363  background: var(--peach-t3);5364  border-radius: 2px;5365}53665367.peach-identity-filter-pill {5368  padding: 2px 7px;5369  border-radius: 999px;5370  border: 1px solid var(--peach-t3);5371  background: transparent;5372  color: var(--peach-t2);5373  font-family: "IBM Plex Mono", monospace;5374  font-size: 0.6rem;5375  cursor: pointer;5376  transition: border-color 80ms, background 80ms, color 80ms;5377}53785379.peach-identity-filter-pill.is-on {5380  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5381  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5382  color: var(--peach-accent);5383}53845385.peach-identity-suggestion {5386  display: flex;5387  align-items: center;5388  gap: 6px;5389  width: 100%;5390  padding: 4px 6px;5391  border-radius: 5px;5392  border: none;5393  background: transparent;5394  cursor: pointer;5395  text-align: left;5396  transition: background 80ms ease;5397}53985399.peach-identity-suggestion:hover,5400.peach-identity-suggestion:focus {5401  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5402  outline: none;5403}54045405.peach-identity-suggestion-value {5406  font-family: "IBM Plex Mono", monospace;5407  font-size: 0.7rem;5408  color: var(--peach-t1);5409  overflow: hidden;5410  text-overflow: ellipsis;5411  white-space: nowrap;5412  flex: 1;5413  min-width: 0;5414}54155416.peach-identity-suggestion-type {5417  font-family: "IBM Plex Mono", monospace;5418  font-size: 0.55rem;5419  font-weight: 600;5420  flex-shrink: 0;5421  padding: 1px 4px;5422  border-radius: 3px;5423}54245425.peach-identity-suggestion-type--email {5426  color: color-mix(in srgb, var(--peach-accent) 70%, transparent);5427  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5428}54295430.peach-identity-suggestion-type--username {5431  color: color-mix(in srgb, var(--peach-t1) 60%, transparent);5432  background: color-mix(in srgb, var(--peach-t3) 40%, transparent);5433}54345435.peach-identity-suggestion-meta {5436  font-family: "IBM Plex Mono", monospace;5437  font-size: 0.6rem;5438  color: var(--peach-t3);5439  flex-shrink: 0;5440}54415442/* Tag filter strip */5443.peach-tag-filter-strip {5444  border-bottom: 1px solid var(--peach-t3);5445  flex-shrink: 0;5446}54475448.peach-tag-filter-chip {5449  display: inline-flex;5450  align-items: center;5451  padding: 4px 10px;5452  border-radius: 999px;5453  border: 1px solid var(--peach-t3);5454  background: transparent;5455  color: var(--peach-t2);5456  font-family: "IBM Plex Mono", monospace;5457  font-size: 0.5625rem;5458  letter-spacing: 0.06em;5459  text-transform: uppercase;5460  cursor: pointer;5461  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;5462  white-space: nowrap;5463}54645465.peach-tag-filter-chip:hover {5466  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);5467  color: var(--peach-t1);5468}54695470.peach-tag-filter-chip.is-selected {5471  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5472  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);5473  color: var(--peach-t0);5474}54755476/* ─────────────────────────────────────────────────────────────────────────5477   v1.4.12 additions5478   ─────────────────────────────────────────────────────────────────────── */54795480/* Sort bar */5481.peach-sort-bar {5482  display: flex;5483  align-items: center;5484  gap: 4px;5485  padding: 5px 12px;5486  border-bottom: 1px solid var(--peach-t3);5487  flex-shrink: 0;5488  overflow-x: auto;5489  scrollbar-width: none;5490}54915492.peach-sort-btn {5493  padding: 2px 9px;5494  border-radius: 999px;5495  border: 1px solid transparent;5496  background: transparent;5497  color: var(--peach-t2);5498  font-family: "IBM Plex Mono", monospace;5499  font-size: 0.5625rem;5500  letter-spacing: 0.07em;5501  text-transform: uppercase;5502  cursor: pointer;5503  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;5504  white-space: nowrap;5505}55065507.peach-sort-btn:hover {5508  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);5509  color: var(--peach-t1);5510}55115512.peach-sort-btn.is-active {5513  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);5514  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);5515  color: var(--peach-t0);5516}55175518.peach-sort-domain-hint {5519  margin-left: auto;5520  font-family: "IBM Plex Mono", monospace;5521  font-size: 0.5625rem;5522  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);5523  white-space: nowrap;5524  overflow: hidden;5525  text-overflow: ellipsis;5526  max-width: 110px;5527}55285529/* Tab-match badge on entry rows */5530.peach-tab-match-badge {5531  display: inline-block;5532  width: 6px;5533  height: 6px;5534  border-radius: 50%;5535  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);5536  margin-left: 5px;5537  vertical-align: middle;5538  flex-shrink: 0;5539  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);5540}55415542.peach-entry-row.is-tab-match {5543  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5544  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);5545}55465547.peach-entry-row.is-tab-match:hover {5548  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5549}55505551/* Entry list stagger entrance */5552@keyframes peach-entry-fadein {5553  from { opacity: 0; transform: translateY(4px); }5554  to   { opacity: 1; transform: translateY(0); }5555}55565557.peach-vault-list .peach-entry-row {5558  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;5559}55605561/* Button press micro-interaction */5562.peach-btn:active {5563  transform: scale(0.95);5564  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);5565}55665567.peach-sort-btn:active,5568.peach-tag-filter-chip:active {5569  transform: scale(0.93);5570  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);5571}55725573/* Password strength bar (Lock view + shared) */5574.peach-password-strength {5575  display: flex;5576  align-items: center;5577  gap: 8px;5578  margin-top: 6px;5579}55805581.peach-strength-bar {5582  flex: 1;5583  height: 3px;5584  border-radius: 2px;5585  background: var(--peach-t3);5586  overflow: hidden;5587}55885589.peach-strength-fill {5590  height: 100%;5591  border-radius: 2px;5592  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),5593              background 300ms ease;5594}55955596.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }5597.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }5598.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }5599.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }56005601.peach-strength-label {5602  font-family: "IBM Plex Mono", monospace;5603  font-style: italic;5604  font-size: 0.5625rem;5605  font-weight: 300;5606  letter-spacing: 0.06em;5607  color: var(--peach-t2);5608  min-width: 36px;5609  text-align: right;5610}56115612.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }5613.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }5614.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }5615.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }56165617/* Duress form */5618.peach-duress-status {5619  padding: 2px 8px;5620  border-radius: 999px;5621  border: 1px solid var(--peach-t3);5622  font-family: "IBM Plex Mono", monospace;5623  font-size: 0.5625rem;5624  letter-spacing: 0.07em;5625  text-transform: uppercase;5626  color: var(--peach-t2);5627  flex-shrink: 0;5628}56295630.peach-duress-status.is-active {5631  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);5632  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);5633  color: var(--peach-t0);5634}56355636.peach-duress-form {5637  padding: 8px 0 4px;5638  display: flex;5639  flex-direction: column;5640  gap: 6px;5641}56425643.peach-duress-form .peach-label {5644  margin-top: 4px;5645}56465647.peach-duress-actions {5648  display: flex;5649  gap: 6px;5650  align-items: center;5651  margin-top: 4px;5652}56535654.peach-duress-actions .peach-btn:first-child {5655  margin-right: auto;5656}56575658/* Improved overlay spring entrance */5659.peach-overlay-view.ov-enter-up {5660  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;5661}56625663@keyframes ov-enter-up-spring {5664  from { opacity: 0; transform: translateY(16px) scale(0.98); }5665  to   { opacity: 1; transform: translateY(0) scale(1); }5666}56675668.peach-overlay-view.ov-enter-right {5669  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;5670}56715672@keyframes ov-enter-right-spring {5673  from { opacity: 0; transform: translateX(18px) scale(0.98); }5674  to   { opacity: 1; transform: translateX(0) scale(1); }5675}56765677/* ── Onboarding-mode restore screens (file import) ── */5678/* Used when MainImportView renders during onboarding (no vault yet).5679   Animates like a lock-screen transition. */5680.peach-lock-view {5681  position: absolute;5682  inset: 0;5683  display: flex;5684  flex-direction: column;5685  background:5686    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),5687    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),5688    var(--peach-bg);5689  z-index: 2;5690  overflow: hidden;5691  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;5692}56935694.peach-lock-view-header {5695  display: flex;5696  align-items: center;5697  justify-content: space-between;5698  padding: 16px 18px 12px;5699  flex-shrink: 0;5700}57015702/* ───────── Settings: auto-lock select ───────── */5703.peach-settings-select {5704  font-family: "IBM Plex Mono", monospace;5705  font-size: 0.6875rem;5706  background: transparent;5707  border: 1px solid var(--peach-t3);5708  border-radius: 4px;5709  color: var(--peach-t1);5710  padding: 3px 6px;5711  cursor: pointer;5712  outline: none;5713}5714.peach-settings-select:focus {5715  border-color: var(--peach-accent);5716}57175718/* ───────── Duress status pill (new polished) ───────── */5719.peach-duress-status-pill {5720  font-family: "IBM Plex Mono", monospace;5721  font-size: 0.5625rem;5722  text-transform: uppercase;5723  letter-spacing: 0.12em;5724  padding: 2px 8px;5725  border-radius: 12px;5726  background: var(--peach-t3);5727  color: var(--peach-t2);5728  flex-shrink: 0;5729}5730.peach-duress-status-pill.is-active {5731  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);5732  color: var(--peach-accent);5733}57345735/* ───────── Entry advanced disclosure (canary) ───────── */5736.peach-entry-advanced {5737  margin-top: 12px;5738  border-top: 1px solid var(--peach-t3);5739  padding-top: 10px;5740  position: relative;5741  z-index: 1;5742}5743.peach-entry-advanced-toggle {5744  display: flex;5745  align-items: center;5746  justify-content: space-between;5747  width: 100%;5748  background: transparent;5749  border: none;5750  cursor: pointer;5751  padding: 0;5752  color: var(--peach-t2);5753}5754.peach-canary-section {5755  margin-top: 10px;5756  display: grid;5757  gap: 6px;5758}57595760/* ───────── Import: merge/replace radio choices ───────── */5761.peach-import-choice {5762  display: flex;5763  align-items: flex-start;5764  gap: 10px;5765  padding: 8px 10px;5766  border: 1px solid var(--peach-t3);5767  border-radius: 10px;5768  cursor: pointer;5769  margin-bottom: 6px;5770  transition: border-color 120ms ease, background 120ms ease;5771}5772.peach-import-choice:hover {5773  border-color: var(--peach-accent);5774}5775.peach-import-choice input[type="radio"] {5776  margin-top: 3px;5777  accent-color: var(--peach-accent);5778  flex-shrink: 0;5779}5780.peach-import-choice-main {5781  display: flex;5782  flex-direction: column;5783  gap: 2px;5784  min-width: 0;5785}5786.peach-import-choice-label {5787  font-size: 0.75rem;5788  color: var(--peach-t0);5789}5790.peach-import-choice-sub {5791  font-size: 0.6875rem;5792  color: var(--peach-t2);5793  line-height: 1.5;5794}57955796/* ───────── Export: success confirmation strip ───────── */5797.peach-export-success {5798  display: flex;5799  align-items: flex-start;5800  gap: 10px;5801  padding: 12px;5802  border-radius: 12px;5803  border: 1px solid rgba(150, 175, 110, 0.3);5804  background: rgba(150, 175, 110, 0.08);5805  color: var(--peach-t0);5806  font-size: 0.75rem;5807  line-height: 1.55;5808}5809.peach-export-success-check {5810  color: rgba(150, 175, 110, 0.9);5811  font-size: 0.875rem;5812  flex-shrink: 0;5813}58145815/* ── Trash view ──────────────────────────────────────────────────────── */5816.peach-trash-entry-row {5817  display: flex;5818  align-items: center;5819  justify-content: space-between;5820  gap: 8px;5821  padding: 8px 0;5822  border-bottom: 1px solid var(--peach-border);5823}5824.peach-trash-entry-info {5825  flex: 1;5826  min-width: 0;5827  display: flex;5828  flex-direction: column;5829  gap: 2px;5830}5831.peach-trash-entry-title {5832  font-size: 0.8125rem;5833  color: var(--peach-t0);5834  overflow: hidden;5835  text-overflow: ellipsis;5836  white-space: nowrap;5837}5838.peach-trash-entry-meta {5839  font-family: var(--font-mono);5840  font-size: 0.5625rem;5841  color: var(--peach-t2);5842  letter-spacing: 0.04em;5843}5844.peach-trash-entry-actions {5845  display: flex;5846  align-items: center;5847  gap: 4px;5848  flex-shrink: 0;5849}5850.peach-trash-delete-btn {5851  background: transparent;5852  border: 0;5853  color: var(--peach-t3);5854  font-size: 1rem;5855  line-height: 1;5856  cursor: pointer;5857  padding: 2px 5px;5858  transition: color 0.15s;5859}5860.peach-trash-delete-btn:hover { color: var(--peach-breach); }5861.peach-trash-list {5862  overflow-y: auto;5863}5864.peach-trash-footer {5865  display: flex;5866  align-items: center;5867  gap: 8px;5868  padding: 8px 0 0;5869  border-top: 1px solid var(--peach-border);5870  margin-top: 4px;5871}5872.peach-trash-purge-all {5873  background: transparent;5874  border: 0;5875  color: var(--peach-t3);5876  font-size: 0.625rem;5877  cursor: pointer;5878  padding: 4px 0;5879  letter-spacing: 0.03em;5880  transition: color 0.2s;5881}5882.peach-trash-purge-all:hover { color: var(--peach-breach); }5883.peach-trash-purge-confirm-label {5884  font-size: 0.625rem;5885  color: var(--peach-t1);5886  flex: 1;5887}58885889/* ── Settings shortcuts grid ─────────────────────────────────────────── */5890.peach-shortcuts-grid {5891  display: grid;5892  grid-template-columns: auto 1fr;5893  gap: 6px 12px;5894  align-items: center;5895  padding: 4px 0;5896}5897.peach-shortcut-key {5898  font-family: var(--font-mono);5899  font-size: 0.625rem;5900  color: var(--peach-t0);5901  background: var(--peach-t3);5902  border-radius: 4px;5903  padding: 2px 6px;5904  white-space: nowrap;5905  text-align: center;5906}5907.peach-shortcut-desc {5908  font-size: 0.6875rem;5909  color: var(--peach-t1);5910}59115912/* ── Sort bar trash button ───────────────────────────────────────────── */5913.peach-sort-trash-btn {5914  display: flex;5915  align-items: center;5916  justify-content: center;5917  padding: 3px 5px;5918  background: transparent;5919  border: none;5920  cursor: pointer;5921  color: var(--peach-t2);5922  border-radius: 4px;5923  transition: color 140ms ease, background 140ms ease;5924}5925.peach-sort-trash-btn:hover {5926  color: var(--peach-t1);5927  background: var(--peach-t3);5928}5929.peach-sort-trash-btn.is-active {5930  color: var(--peach-accent);5931}59325933/* Accent color picker */5934.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }5935.peach-accent-picker {5936  display: flex;5937  flex-wrap: wrap;5938  gap: 7px;5939  padding: 2px 0;5940}5941.peach-accent-swatch {5942  width: 22px;5943  height: 22px;5944  border-radius: 50%;5945  border: 2px solid transparent;5946  cursor: pointer;5947  padding: 0;5948  transition: transform 100ms;5949  outline-offset: 2px;5950}5951.peach-accent-swatch:hover { transform: scale(1.15); }5952.peach-accent-swatch.is-active {5953  border-color: var(--peach-t0);5954  transform: scale(1.1);5955}59565957.peach-pill-group {5958  display: flex;5959  gap: 6px;5960}5961.peach-pill-group .peach-btn.is-active {5962  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);5963  border-color: var(--peach-accent);5964  color: var(--peach-t0);5965}59665967/* ── Card entry styles ───────────────────────────────────────── */5968.peach-card-number {5969  font-family: var(--peach-mono);5970  letter-spacing: 0.08em;5971}59725973.peach-card-network-badge {5974  font-size: 0.625rem;5975  padding: 1px 5px;5976  border-radius: 4px;5977  border: 0.5px solid var(--peach-border);5978  color: var(--peach-text-dim);5979  margin-left: 6px;5980  vertical-align: middle;5981}59825983.peach-card-expiry-row {5984  display: flex;5985  align-items: center;5986  gap: 8px;5987}59885989.peach-card-expiry-sep {5990  color: var(--peach-text-dim);5991}59925993/* ── Pro tier — upgrade screen ──────────────────────────────── */5994.peach-pro-mark {5995  font-size: 0.5625rem;5996  color: var(--peach-accent);5997  margin-left: 6px;5998  vertical-align: super;5999  opacity: 0.7;6000}60016002.peach-pro-mini-badge {6003  display: block;6004  font-size: 0.625rem;6005  font-style: italic;6006  color: var(--peach-accent);6007  letter-spacing: 0.04em;6008  margin-top: -2px;6009  padding-left: 2px;6010  opacity: 0.85;6011  text-align: center;6012}60136014.peach-wordmark-stack {6015  display: inline-flex;6016  flex-direction: column;6017  align-items: center;6018}60196020/* ── Pro tier — upgrade page ─────────────────────────────────── */6021/* ── Pro upgrade — redesigned editorial layout ─────────────────── */60226023.peach-pro-upgrade {6024  display: flex;6025  flex-direction: column;6026  align-items: stretch;6027  gap: 10px;6028  padding: 2px 2px 12px;6029}60306031.peach-pro-eyebrow {6032  margin: 0;6033  font-family: var(--font-ui);6034  font-size: 0.625rem;6035  font-weight: 500;6036  letter-spacing: 0.12em;6037  color: var(--peach-accent);6038}60396040.peach-pro-headline {6041  margin: 0;6042  font-family: var(--font-display, "Cormorant Garamond", serif);6043  font-size: 30px;6044  font-weight: 700;6045  font-style: normal;6046  line-height: 1.05;6047  color: var(--peach-t0);6048  letter-spacing: -0.01em;6049}6050.peach-pro-headline em {6051  font-style: italic;6052  font-weight: 400;6053  color: var(--peach-accent);6054}60556056.peach-pro-subtitle {6057  margin: 0;6058  font-size: 0.6875rem;6059  line-height: 1.5;6060  color: var(--peach-t1);6061}60626063/* Group header for the Pro feature grid (e.g. "ADVANCED SECURITY"). */6064.peach-pro-section-label {6065  margin: 6px 0 0;6066  font-family: var(--font-ui);6067  font-size: 0.5625rem;6068  font-weight: 500;6069  letter-spacing: 0.12em;6070  text-transform: uppercase;6071  color: var(--peach-t2);6072}60736074/* 2-column numbered feature grid */6075.peach-pro-grid {6076  display: grid;6077  grid-template-columns: 1fr 1fr;6078  border-top: 1px solid var(--peach-border);6079  border-left: 1px solid var(--peach-border);6080}60816082.peach-pro-grid-item {6083  display: flex;6084  flex-direction: column;6085  gap: 2px;6086  padding: 8px 9px;6087  border-right: 1px solid var(--peach-border);6088  border-bottom: 1px solid var(--peach-border);6089}60906091.peach-pro-grid-item--wide {6092  grid-column: 1 / -1;6093}60946095.peach-pro-grid-num {6096  font-family: var(--font-mono);6097  font-size: 0.5625rem;6098  color: var(--peach-accent);6099  letter-spacing: 0.06em;6100  opacity: 0.85;6101}61026103.peach-pro-grid-name {6104  font-size: 0.8125rem;6105  font-weight: 500;6106  color: var(--peach-t0);6107  line-height: 1.2;6108}61096110.peach-pro-grid-desc {6111  font-size: 0.625rem;6112  color: var(--peach-t1);6113  line-height: 1.4;6114}61156116.peach-pro-grid-item.is-highlighted .peach-pro-grid-num {6117  animation: peach-pulse-accent 600ms ease-out forwards;6118}61196120@keyframes peach-pulse-accent {6121  0%   { opacity: 1; transform: scale(1.2); }6122  100% { opacity: 0.85; transform: scale(1); }6123}61246125/* Actions */6126.peach-pro-upgrade-actions {6127  display: flex;6128  flex-direction: column;6129  align-items: stretch;6130  gap: 10px;6131}61326133.peach-pro-pricing {6134  margin: 0;6135  font-size: 1rem;6136  font-weight: 600;6137  color: var(--peach-t0);6138  letter-spacing: 0.01em;6139}6140.peach-pro-pricing-sub {6141  font-size: 0.75rem;6142  font-weight: 400;6143  color: var(--peach-t1);6144  letter-spacing: 0.02em;6145}61466147.peach-pro-upgrade-cta {6148  display: flex;6149  align-items: center;6150  justify-content: center;6151  text-decoration: none;6152  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);6153  border: 1px solid var(--peach-accent);6154  border-radius: 10px;6155  color: var(--peach-accent);6156  font-family: var(--font-ui);6157  font-size: 0.8125rem;6158  font-weight: 600;6159  letter-spacing: 0.06em;6160  padding: 11px 16px;6161  transition: background 0.15s ease, color 0.15s ease;6162}6163.peach-pro-upgrade-cta:hover {6164  background: color-mix(in srgb, var(--peach-accent) 28%, transparent);6165}61666167.peach-pro-key-divider {6168  display: flex;6169  align-items: center;6170  gap: 8px;6171  color: var(--peach-t2);6172  font-size: 0.5625rem;6173  letter-spacing: 0.1em;6174}6175.peach-pro-key-divider::before,6176.peach-pro-key-divider::after {6177  content: "";6178  flex: 1;6179  height: 1px;6180  background: var(--peach-border);6181}61826183/* Inline key entry row */6184.peach-pro-key-inline {6185  display: flex;6186  align-items: center;6187  background: color-mix(in srgb, var(--peach-t0) 4%, transparent);6188  border: 1px solid var(--peach-border);6189  border-radius: 8px;6190  overflow: hidden;6191}6192.peach-pro-key-inline-input {6193  flex: 1;6194  background: transparent;6195  border: none;6196  outline: none;6197  color: var(--peach-t1);6198  font-family: var(--font-mono);6199  font-size: 0.625rem;6200  letter-spacing: 0.06em;6201  padding: 9px 10px;6202}6203.peach-pro-key-inline-input::placeholder {6204  color: var(--peach-t2);6205}6206.peach-pro-key-apply {6207  background: transparent;6208  border: none;6209  border-left: 1px solid var(--peach-border);6210  color: var(--peach-t2);6211  font-family: var(--font-ui);6212  font-size: 0.5625rem;6213  font-weight: 600;6214  letter-spacing: 0.08em;6215  padding: 9px 10px;6216  cursor: pointer;6217  transition: color 0.15s ease;6218  flex-shrink: 0;6219}6220.peach-pro-key-apply:not(:disabled):hover {6221  color: var(--peach-accent);6222}6223.peach-pro-key-apply:disabled {6224  opacity: 0.35;6225  cursor: not-allowed;6226}62276228/* ── Pro tier — key ceremony ─────────────────────────────────── */6229.peach-pro-key-ceremony {6230  display: flex;6231  flex-direction: column;6232  align-items: center;6233  gap: 12px;6234  padding: 20px 4px 16px;6235}62366237.peach-pro-key-ceremony .peach-lock-rune-string {6238  font-size: 1rem;6239  gap: 12px;6240  flex: 0;6241  justify-content: center;6242}62436244.peach-pro-key-ceremony-label {6245  margin: 0;6246  font-size: 0.6875rem;6247  color: var(--peach-t2);6248  font-style: italic;6249  letter-spacing: 0.04em;6250}62516252.peach-pro-key-input {6253  font-family: var(--font-mono, monospace);6254  letter-spacing: 0.06em;6255  text-align: center;6256  width: 100%;6257  box-sizing: border-box;6258}62596260.peach-pro-key-error {6261  margin: 0;6262  font-size: 0.75rem;6263  text-align: center;6264  color: var(--peach-breach, #e55);6265  padding: 0;6266}62676268.peach-pro-key-activate {6269  width: 100%;6270  text-align: center;6271  box-sizing: border-box;6272  padding: 10px 20px;6273  font-size: 0.8125rem;6274}62756276.peach-pro-key-cancel {6277  background: transparent;6278  border: 0;6279  color: var(--peach-t2);6280  font-size: 0.6875rem;6281  cursor: pointer;6282  padding: 2px 8px;6283  transition: color 0.2s;6284}62856286.peach-pro-key-cancel:hover { color: var(--peach-accent); }62876288/* ── Pro tier — active state ─────────────────────────────────── */6289.peach-pro-active {6290  display: flex;6291  flex-direction: column;6292  align-items: center;6293  gap: 0;6294  padding: 8px 4px 16px;6295  min-height: 280px;6296}62976298.peach-pro-active-hero {6299  display: flex;6300  flex-direction: column;6301  align-items: center;6302  gap: 6px;6303  padding: 20px 0 8px;6304}63056306.peach-pro-active-mark-wrap {6307  display: flex;6308  align-items: center;6309  justify-content: center;6310  margin-bottom: 4px;6311}63126313.peach-pro-active-mark {6314  width: 60px;6315  height: 60px;6316}63176318.peach-pro-active-title {6319  font-family: var(--font-display, var(--font-ui));6320  font-size: 26px;6321  margin: 0;6322  color: var(--peach-t0);6323  letter-spacing: 0.01em;6324}63256326.peach-pro-active-since {6327  margin: 0;6328  font-size: 0.6875rem;6329  color: var(--peach-t2);6330  font-style: italic;6331}63326333.peach-pro-active-features {6334  display: flex;6335  flex-direction: column;6336  gap: 8px;6337  width: 100%;6338  padding: 14px 8px 0;6339  border-top: 1px solid var(--peach-border);6340  flex: 1;6341}63426343.peach-pro-active-feature {6344  display: flex;6345  align-items: center;6346  gap: 9px;6347}63486349.peach-pro-active-feature-mark {6350  color: var(--peach-accent);6351  font-size: 0.625rem;6352  opacity: 0.65;6353  flex-shrink: 0;6354}63556356.peach-pro-active-feature-name {6357  font-size: 0.75rem;6358  color: var(--peach-t1);6359}63606361.peach-pro-deactivate {6362  align-self: center;6363  background: transparent;6364  border: 0;6365  color: var(--peach-t3);6366  font-size: 0.625rem;6367  cursor: pointer;6368  padding: 8px 0 0;6369  margin-top: 16px;6370  letter-spacing: 0.03em;6371  transition: color 0.2s;6372}63736374.peach-pro-deactivate:hover { color: var(--peach-t2); }63756376.peach-pro-deactivate:disabled {6377  opacity: 0.5;6378  cursor: default;6379}63806381/* ── Pro card activation sparkles & thank-you ── */6382button.peach-pro-active-mark-wrap {6383  background: transparent;6384  border: 0;6385  padding: 0;6386  cursor: pointer;6387  position: relative;6388  overflow: visible;6389}63906391.peach-pro-sparks {6392  position: absolute;6393  inset: 0;6394  pointer-events: none;6395  overflow: visible;6396}63976398.peach-pro-spark {6399  position: absolute;6400  top: 50%;6401  left: 50%;6402  font-size: 9px;6403  line-height: 1;6404  opacity: 0;6405  transform: translate(-50%, -50%);6406  animation: peach-pro-spark-fly 1.4s ease-out var(--spark-delay, 0ms) both;6407}64086409@keyframes peach-pro-spark-fly {6410  0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }6411  25%  { opacity: 1; }6412  100% {6413    opacity: 0;6414    transform: translate(6415      calc(-50% + var(--spark-x, 0px)),6416      calc(-50% + var(--spark-y, -40px))6417    ) scale(0.8);6418  }6419}64206421.peach-pro-thankyou-text {6422  margin: 4px 0 0;6423  font-size: 0.6875rem;6424  font-style: italic;6425  color: currentColor;6426  opacity: 0;6427  animation: peach-pro-thankyou-flash 2.5s ease both;6428}64296430@keyframes peach-pro-thankyou-flash {6431  0%   { opacity: 0; transform: translateY(4px); }6432  15%  { opacity: 0.75; transform: translateY(0); }6433  75%  { opacity: 0.75; }6434  100% { opacity: 0; }6435}64366437/* ── Pro advanced health remediation queue ──────────────────── */6438.peach-health-pro-queue {6439  display: flex;6440  flex-direction: column;6441  gap: 10px;6442  padding: 12px;6443  margin: 0 0 12px;6444  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);6445  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);6446  border-radius: 10px;6447}64486449.peach-health-pro-queue-head {6450  display: flex;6451  justify-content: space-between;6452  align-items: baseline;6453}64546455.peach-health-pro-queue-title {6456  font-size: 0.75rem;6457  font-weight: 500;6458  letter-spacing: 0.04em;6459  text-transform: uppercase;6460  color: var(--peach-accent);6461}64626463.peach-health-pro-queue-score {6464  font-size: 0.6875rem;6465  color: var(--peach-t2);6466}64676468.peach-health-pro-row {6469  display: flex;6470  gap: 10px;6471  align-items: center;6472  padding: 8px 0;6473  border-top: 1px solid var(--peach-border);6474}64756476.peach-health-pro-row-info {6477  flex: 1;6478  display: flex;6479  flex-direction: column;6480  gap: 4px;6481  min-width: 0;6482}64836484.peach-health-pro-action {6485  flex: 0 0 auto;6486  padding: 4px 8px;6487  font-size: 0.5625rem;6488  letter-spacing: 0.08em;6489  text-transform: uppercase;6490}64916492.peach-health-pro-row-name {6493  font-size: 0.8125rem;6494  color: var(--peach-t0);6495  overflow: hidden;6496  text-overflow: ellipsis;6497  white-space: nowrap;6498}64996500.peach-health-pro-row-meta {6501  font-size: 0.6875rem;6502  color: var(--peach-t2);6503}65046505.peach-health-pro-bar {6506  height: 2px;6507  background: var(--peach-border);6508  border-radius: 2px;6509  overflow: hidden;6510  margin-top: 2px;6511}65126513.peach-health-pro-bar-fill {6514  height: 100%;6515  background: var(--peach-accent);6516  transition: width 200ms ease-out;6517}65186519/* ── Pro activation celebration ── */6520@keyframes peach-pro-bloom {6521  0%   { filter: drop-shadow(0 0 0px var(--peach-glow)); }6522  40%  { filter: drop-shadow(0 0 24px var(--peach-accent))6523                 drop-shadow(0 0 48px var(--peach-glow)); }6524  100% { filter: drop-shadow(0 0 0px var(--peach-glow)); }6525}65266527@keyframes peach-pro-wordmark-in {6528  from { opacity: 0; transform: translateY(4px); }6529  to   { opacity: 1; transform: translateY(0); }6530}65316532@keyframes peach-pro-fade-out {6533  from { opacity: 1; }6534  to   { opacity: 0; }6535}65366537.peach-pro-celebration {6538  background:6539    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),6540    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),6541    var(--peach-bg);6542  border: 1px solid var(--peach-t3);6543  box-shadow:6544    0 2px 8px rgba(0,0,0,0.55),6545    0 14px 48px rgba(0,0,0,0.7),6546    0 0 0 1px rgba(240,232,216,0.04);6547  overflow: hidden;6548  width: 320px;6549  height: 520px;6550  display: flex;6551  flex-direction: column;6552  align-items: center;6553  justify-content: center;6554  gap: 8px;6555  padding: 32px 24px;6556  text-align: center;6557}65586559.peach-pro-celebration.is-leaving {6560  animation: peach-pro-fade-out 400ms ease forwards;6561}65626563.peach-pro-bloom-target {6564  display: flex;6565  align-items: center;6566  justify-content: center;6567  animation: peach-pro-bloom 600ms cubic-bezier(0.16, 1, 0.3, 1) forwards;6568  margin-bottom: 12px;6569}65706571.peach-pro-bloom-icon {6572  width: 48px;6573  height: 48px;6574}65756576.peach-pro-wordmark {6577  font-family: var(--font-display);6578  font-size: 22px;6579  font-style: italic;6580  font-weight: 400;6581  color: var(--peach-accent);6582  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;6583}65846585.peach-pro-thankyou {6586  font-size: 0.75rem;6587  font-style: italic;6588  color: var(--peach-t2);6589  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 800ms both;6590}659165926593/* ── Pending Pro notice banner (shown after background sync gate fires) ── */6594.peach-pro-notice-banner {6595  display: flex;6596  align-items: center;6597  gap: 8px;6598  padding: 7px 12px;6599  background: color-mix(in srgb, var(--peach-accent) 12%, var(--peach-bg-card));6600  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);6601  font-size: 0.6875rem;6602  color: var(--peach-t2);6603  font-family: "IBM Plex Mono", monospace;6604  flex-shrink: 0;6605}66066607.peach-pro-notice-link {6608  background: none;6609  border: none;6610  padding: 0;6611  cursor: pointer;6612  font-size: 0.6875rem;6613  color: var(--peach-accent);6614  font-family: "IBM Plex Mono", monospace;6615  margin-left: auto;6616  white-space: nowrap;6617}66186619.peach-pro-notice-close {6620  background: none;6621  border: none;6622  padding: 0 0 0 4px;6623  cursor: pointer;6624  font-size: 0.625rem;6625  color: var(--peach-t3);6626  line-height: 1;6627}66286629/* ── Incoming pairing request overlay banner (Phase 7) ──────────────────6630   Renders over whatever view is showing. 60-second expiry; the popup ticks6631   the countdown each second and clears the banner when it hits zero. */6632.peach-pair-request-banner {6633  display: flex;6634  flex-direction: column;6635  gap: 8px;6636  padding: 10px 12px;6637  background: color-mix(in srgb, var(--peach-accent) 14%, var(--peach-bg-card));6638  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 32%, transparent);6639  font-family: "IBM Plex Mono", monospace;6640  flex-shrink: 0;6641}66426643.peach-pair-toast {6644  padding: 8px 12px;6645  font-family: "IBM Plex Mono", monospace;6646  font-size: 0.75rem;6647  color: var(--peach-t1);6648  background: color-mix(in srgb, var(--peach-accent) 10%, var(--peach-bg-card));6649  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);6650  flex-shrink: 0;6651  text-align: center;6652}66536654.peach-pair-toast strong {6655  color: var(--peach-t0);6656  font-weight: 500;6657}66586659.peach-pair-request-header {6660  display: flex;6661  align-items: center;6662  gap: 8px;6663  font-size: 0.75rem;6664  color: var(--peach-t1);6665}66666667.peach-pair-request-mark {6668  font-size: 0.875rem;6669  display: inline-flex;6670  align-items: center;6671}66726673.peach-pair-request-icon {6674  width: 1em;6675  height: 1em;6676}66776678.peach-pair-request-title {6679  font-weight: 600;6680  color: var(--peach-t0);6681}66826683.peach-pair-request-countdown {6684  margin-left: auto;6685  font-variant-numeric: tabular-nums;6686  color: var(--peach-t2);6687  font-size: 0.6875rem;6688}66896690.peach-pair-request-body {6691  margin: 0;6692  font-size: 0.75rem;6693  color: var(--peach-t1);6694  line-height: 1.4;6695}66966697.peach-pair-request-body strong {6698  color: var(--peach-t0);6699  font-weight: 600;6700}67016702.peach-pair-request-actions {6703  display: flex;6704  gap: 8px;6705  justify-content: flex-end;6706}67076708/* ─── First-run onboarding ──────────────────────────────────────────────6709   Three-card welcome shown once before vault creation. The PeachScript6710   rune background drifts behind everything at very low opacity — it's6711   atmosphere, not focus. The cards themselves use the same panel6712   language as the rest of the popup so the transition into NewVault is6713   continuous, not a jarring switch of visual register. */67146715.peach-onboarding {6716  position: relative;6717  display: flex;6718  flex-direction: column;6719  width: 100%;6720  height: 100%;6721  padding: 16px 16px 18px;6722  box-sizing: border-box;6723  overflow: hidden;6724  animation: peach-onboard-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both;6725}67266727.peach-onboarding.is-completing {6728  animation: peach-onboard-exit 200ms ease-out forwards;6729}67306731.peach-rune-background {6732  position: absolute;6733  inset: 0;6734  width: 100%;6735  height: 100%;6736  pointer-events: none;6737  z-index: 0;6738  transition: opacity 500ms ease-out;6739}67406741.peach-onboarding.is-completing .peach-rune-background {6742  opacity: 0;6743}67446745.peach-onboarding-header {6746  position: relative;6747  z-index: 1;6748  display: flex;6749  align-items: center;6750  margin-bottom: 14px;6751}67526753.peach-onboarding-card {6754  position: relative;6755  z-index: 1;6756  flex: 1;6757  display: flex;6758  flex-direction: column;6759  gap: 10px;6760  padding: 22px 20px;6761  border-radius: 16px;6762  border: 1px solid var(--peach-t3);6763  background:6764    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));6765  backdrop-filter: blur(3px);6766  -webkit-backdrop-filter: blur(3px);6767  box-shadow:6768    inset 0 1px 0 rgba(240, 232, 216, 0.04),6769    0 12px 28px rgba(0, 0, 0, 0.12);6770  cursor: pointer;6771  user-select: none;6772  animation: peach-card-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;6773}67746775.peach-onboarding-card.is-exiting {6776  animation: peach-card-out 120ms ease-in forwards;6777  pointer-events: none;6778}67796780.peach-onboarding-card-headline {6781  margin: 0;6782  font-family: var(--font-display);6783  font-style: italic;6784  font-weight: 400;6785  font-size: 22px;6786  line-height: 1.05;6787  color: var(--peach-t0);6788  white-space: pre-line;6789}67906791.peach-onboarding-divider {6792  margin: 4px 0 6px;6793  border: 0;6794  border-top: 1px solid var(--peach-t3);6795  width: 100%;6796}67976798.peach-onboarding-body {6799  margin: 0;6800  font-size: 0.8125rem;6801  line-height: 1.6;6802  color: var(--peach-t1);6803}68046805.peach-onboarding-warning {6806  display: flex;6807  align-items: flex-start;6808  gap: 8px;6809  margin: 6px 0 0;6810  padding-top: 8px;6811  border-top: 1px dashed var(--peach-t3);6812  font-size: 0.8125rem;6813  line-height: 1.5;6814  color: var(--peach-t1);6815}68166817.peach-onboarding-warning-icon {6818  color: var(--peach-accent);6819  font-size: 0.8125rem;6820  line-height: 1.5;6821  flex: 0 0 auto;6822}68236824.peach-onboarding-nav {6825  position: relative;6826  z-index: 1;6827  display: flex;6828  align-items: center;6829  justify-content: space-between;6830  margin-top: 12px;6831  padding: 0 4px;6832}68336834.peach-onboarding-dots {6835  display: flex;6836  align-items: center;6837  gap: 6px;6838}68396840.peach-onboarding-dot {6841  width: 6px;6842  height: 6px;6843  border-radius: 50%;6844  background: var(--peach-t2);6845  transition: width 200ms ease, height 200ms ease, background 200ms ease;6846}68476848.peach-onboarding-dot.is-active {6849  width: 8px;6850  height: 8px;6851  background: var(--peach-accent);6852}68536854.peach-onboarding-next {6855  background: none;6856  border: none;6857  padding: 4px 0;6858  cursor: pointer;6859  font-family: "IBM Plex Mono", monospace;6860  font-size: 0.6875rem;6861  letter-spacing: 0.04em;6862  color: var(--peach-t1);6863  transition: color 150ms ease;6864}68656866.peach-onboarding-next:hover {6867  color: var(--peach-t0);6868}68696870.peach-onboarding-next:disabled {6871  opacity: 0.5;6872  cursor: default;6873}68746875.peach-onboarding-back {6876  background: none;6877  border: none;6878  padding: 4px 0;6879  cursor: pointer;6880  font-family: "IBM Plex Mono", monospace;6881  font-size: 0.6875rem;6882  letter-spacing: 0.04em;6883  color: var(--peach-t2);6884  transition: color 150ms ease;6885}68866887.peach-onboarding-back:hover {6888  color: var(--peach-t0);6889}68906891.peach-onboarding-back:disabled {6892  opacity: 0.5;6893  cursor: default;6894}68956896/* Reserve back-button width on the first card so the dots stay centred */6897.peach-onboarding-back-spacer {6898  width: 44px;6899}69006901.peach-onboarding-mobile-card-buttons {6902  display: flex;6903  flex-direction: column;6904  gap: 8px;6905  margin-top: 16px;6906}69076908@keyframes peach-onboard-enter {6909  from { opacity: 0; transform: translateY(20px); }6910  to   { opacity: 1; transform: translateY(0); }6911}69126913@keyframes peach-onboard-exit {6914  from { opacity: 1; }6915  to   { opacity: 0; }6916}69176918@keyframes peach-card-in {6919  from { opacity: 0; transform: translateX(12px); }6920  to   { opacity: 1; transform: translateX(0); }6921}69226923@keyframes peach-card-out {6924  from { opacity: 1; transform: translateX(0); }6925  to   { opacity: 0; transform: translateX(-12px); }6926}69276928/* ─── New vault screen — matched to onboarding card language ─────────── */69296930.peach-newvault {6931  position: relative;6932  display: flex;6933  flex-direction: column;6934  gap: 12px;6935  padding: 16px 16px 18px;6936  overflow: hidden;6937}69386939/* Suppress the warm-blob ambient art inherited from .lock-screen — the6940   new vault card now carries the visual weight. */6941.peach-newvault::before {6942  content: none;6943}69446945.peach-newvault-header {6946  position: relative;6947  z-index: 2;6948  display: flex;6949  align-items: center;6950  gap: 10px;6951  margin-bottom: 2px;6952}69536954.peach-newvault-back {6955  display: inline-flex;6956  align-items: center;6957  gap: 4px;6958  background: transparent;6959  border: none;6960  color: var(--peach-t2);6961  font-family: "IBM Plex Mono", monospace;6962  font-size: 0.625rem;6963  letter-spacing: 0.06em;6964  cursor: pointer;6965  padding: 4px 6px;6966  border-radius: 6px;6967  transition: color 120ms ease, background 120ms ease;6968}69696970.peach-newvault-back:hover {6971  color: var(--peach-t0);6972  background: rgba(240, 232, 216, 0.04);6973}69746975.peach-newvault-mark {6976  position: absolute;6977  right: -12px;6978  top: 6px;6979  width: 110px;6980  height: 110px;6981  pointer-events: none;6982  opacity: 0.10;6983  filter: saturate(0.9);6984  z-index: 0;6985}6986.peach-newvault-mark-art {6987  width: 100%;6988  height: 100%;6989}6990.peach-newvault-mark-art path:nth-child(1) {6991  fill: rgba(123, 144, 96, 0.88);6992}6993.peach-newvault-mark-art path:nth-child(2) {6994  stroke: rgba(94, 122, 66, 0.95);6995}69966997.peach-newvault-card {6998  position: relative;6999  z-index: 1;7000  display: flex;7001  flex-direction: column;7002  gap: 12px;7003  padding: 22px 20px 18px;7004  border-radius: 16px;7005  border: 1px solid var(--peach-t3);7006  background:7007    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));7008  backdrop-filter: blur(3px);7009  -webkit-backdrop-filter: blur(3px);7010  box-shadow:7011    inset 0 1px 0 rgba(240, 232, 216, 0.04),7012    0 12px 28px rgba(0, 0, 0, 0.12);7013  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;7014}70157016.peach-newvault-headline {7017  margin: 0;7018  font-family: var(--font-display);7019  font-style: italic;7020  font-weight: 400;7021  font-size: 24px;7022  line-height: 1.05;7023  color: var(--peach-t0);7024  white-space: pre-line;7025}70267027.peach-newvault-divider {7028  margin: 2px 0 4px;7029  border: 0;7030  border-top: 1px solid var(--peach-t3);7031  width: 100%;7032}70337034.peach-newvault-field {7035  display: flex;7036  flex-direction: column;7037  gap: 4px;7038}70397040.peach-newvault-label-row {7041  display: flex;7042  align-items: center;7043  justify-content: space-between;7044}70457046/* Monospace input scaled to the card. Replaces the 22px unlock-input7047   so the placeholder no longer overflows and the field reads as part7048   of the same surface as the body copy. */7049.peach-newvault-input {7050  font-size: 0.875rem;7051  letter-spacing: 0.18em;7052  padding: 8px 0;7053}7054.peach-newvault-input::placeholder {7055  letter-spacing: 0.18em;7056  color: var(--peach-t2);7057}70587059.peach-newvault-hint {7060  margin: 2px 0 0;7061  font-family: "IBM Plex Mono", monospace;7062  font-size: 0.625rem;7063  color: var(--peach-t2);7064  letter-spacing: 0.04em;7065}70667067.peach-newvault-submit {7068  margin-top: 4px;7069}70707071.peach-newvault-warning {7072  display: flex;7073  align-items: flex-start;7074  gap: 8px;7075  margin: 4px 0 0;7076  padding-top: 10px;7077  border-top: 1px dashed var(--peach-t3);7078  font-size: 0.75rem;7079  line-height: 1.5;7080  color: var(--peach-t1);7081}70827083.peach-newvault-warning-icon {7084  color: var(--peach-accent);7085  font-size: 0.8125rem;7086  line-height: 1.4;7087  flex: 0 0 auto;7088}70897090.peach-newvault-footer {7091  position: relative;7092  z-index: 1;7093  display: flex;7094  flex-direction: column;7095  gap: 4px;7096  padding: 4px 4px 0;7097}70987099/* Settings body — warm accent gradient gives the glass something to blur against */7100.peach-settings-body {7101  background:7102    radial-gradient(7103      ellipse at 30% 20%,7104      color-mix(in srgb, var(--peach-accent) 8%, transparent) 0%,7105      transparent 60%7106    );7107}71087109/* ── Danger zone (Settings home → Panic flow) ──────────────────────────── */7110/* ── Danger cards (Replace + Destroy) ────────────────────────────────────7111 * Two severity levels: "warn" for actions that are dangerous-but-recoverable7112 * (replacing the vault from a backup file) and "hazard" for actions that7113 * are absolutely irreversible (Panic). Both use the same card scaffold so7114 * they read as a pair, but the colour family signals the severity at a7115 * glance — yellow for caution, red for don't.7116 */7117.peach-danger-card {7118  --danger-tint: 235, 158, 52; /* amber */7119  display: flex;7120  flex-direction: column;7121  gap: 8px;7122  padding: 14px;7123  margin-top: 10px;7124  border-radius: 12px;7125  border: 1px solid rgba(var(--danger-tint), 0.32);7126  background:7127    radial-gradient(120% 120% at 0% 0%, rgba(var(--danger-tint), 0.10) 0%, transparent 60%),7128    rgba(var(--danger-tint), 0.04);7129  box-shadow:7130    inset 0 1px 0 rgba(var(--danger-tint), 0.08),7131    0 0 24px rgba(var(--danger-tint), 0.04);7132  transition: box-shadow 220ms ease, border-color 220ms ease, transform 180ms ease;7133}71347135.peach-danger-card:hover {7136  border-color: rgba(var(--danger-tint), 0.55);7137  box-shadow:7138    inset 0 1px 0 rgba(var(--danger-tint), 0.12),7139    0 0 36px rgba(var(--danger-tint), 0.10);7140}71417142.peach-danger-card--hazard {7143  --danger-tint: 220, 38, 38; /* red */7144}71457146.peach-danger-card-head {7147  display: flex;7148  align-items: center;7149  gap: 10px;7150}71517152.peach-danger-card-glyph {7153  width: 28px;7154  height: 28px;7155  flex-shrink: 0;7156  display: flex;7157  align-items: center;7158  justify-content: center;7159  border-radius: 8px;7160  background: rgba(var(--danger-tint), 0.12);7161  color: rgba(var(--danger-tint), 0.95);7162  font-size: 1rem;7163  line-height: 1;7164}71657166.peach-danger-card-title {7167  margin: 0;7168  font-size: 0.8125rem;7169  font-weight: 600;7170  color: rgba(var(--danger-tint), 0.92);7171  letter-spacing: 0.01em;7172}71737174.peach-danger-card-copy {7175  margin: 0;7176  font-size: 0.6875rem;7177  line-height: 1.5;7178  color: var(--peach-t2);7179}71807181.peach-danger-card-button {7182  width: 100%;7183  padding: 9px;7184  margin-top: 4px;7185  background: transparent;7186  border: 1px solid rgba(var(--danger-tint), 0.45);7187  border-radius: 8px;7188  color: rgba(var(--danger-tint), 0.9);7189  font-size: 0.75rem;7190  font-weight: 500;7191  letter-spacing: 0.02em;7192  cursor: pointer;7193  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;7194}71957196.peach-danger-card-button:hover {7197  background: rgba(var(--danger-tint), 0.10);7198  border-color: rgba(var(--danger-tint), 0.75);7199  color: rgb(var(--danger-tint));7200}72017202/* ── Panic flow (three-step destruction) ───────────────────────────────── */7203.peach-panic {7204  display: flex;7205  flex-direction: column;7206  flex: 1;7207  min-height: 0;7208  padding: 28px 20px 20px;7209  gap: 18px;7210  overflow-y: auto;7211  scrollbar-width: none;7212  -ms-overflow-style: none;7213}72147215.peach-panic::-webkit-scrollbar { display: none; }72167217.peach-panic-step2 {7218  background: rgba(220, 38, 38, 0.04);7219}72207221.peach-panic-step3 {7222  position: relative;7223  background: #0f0505;7224  color: #ffffff;7225  overflow: hidden;7226}72277228.peach-panic-rune-bg {7229  position: absolute;7230  inset: 0;7231  opacity: 0.22;7232  pointer-events: none;7233  overflow: hidden;7234}72357236.peach-panic-rune-bg canvas {7237  width: 100% !important;7238  height: 100% !important;7239}72407241.peach-panic-icon {7242  font-size: 32px;7243  color: rgb(220, 38, 38);7244  line-height: 1;7245}72467247.peach-panic-title {7248  margin: 0;7249  font-size: 18px;7250  font-weight: 500;7251  color: var(--peach-t1);7252}72537254.peach-panic-title--severe {7255  font-size: 20px;7256  font-weight: 700;7257  color: rgb(220, 38, 38);7258}72597260.peach-panic-body {7261  margin: 0;7262  font-size: 0.8125rem;7263  line-height: 1.55;7264  color: var(--peach-t2);7265}72667267.peach-panic-body--severe {7268  color: rgba(220, 38, 38, 0.85);7269}72707271.peach-panic-body--final {7272  font-size: 1rem;7273  font-weight: 700;7274  color: rgb(255, 80, 80);7275  line-height: 1.4;7276}72777278.peach-panic-body--final-intro {7279  font-size: 1rem;7280  color: #ffffff;7281  font-weight: 400;7282}72837284.peach-panic-divider {7285  height: 1px;7286  background: rgba(255, 255, 255, 0.08);7287  margin: 4px 0;7288}72897290.peach-panic-confirm-input {7291  width: 100%;7292  padding: 10px 12px;7293  background: rgba(255, 255, 255, 0.02);7294  border: 1px solid rgba(220, 38, 38, 0.4);7295  border-radius: 8px;7296  color: var(--peach-t1);7297  font-family: "IBM Plex Mono", monospace;7298  font-size: 0.875rem;7299  letter-spacing: 0.12em;7300  text-transform: uppercase;7301}73027303.peach-panic-confirm-input:focus {7304  outline: none;7305  border-color: rgb(220, 38, 38);7306}73077308.peach-panic-confirm-input--match {7309  border-color: rgb(220, 38, 38);7310  color: rgb(220, 38, 38);7311}73127313.peach-panic-confirm-label {7314  font-size: 0.6875rem;7315  color: var(--peach-t2);7316  margin: 0 0 -8px;7317  letter-spacing: 0.06em;7318}73197320.peach-panic-actions {7321  display: flex;7322  flex-direction: column;7323  gap: 10px;7324  margin-top: auto;7325}73267327.peach-panic-button {7328  width: 100%;7329  padding: 12px;7330  border-radius: 8px;7331  font-size: 0.8125rem;7332  cursor: pointer;7333  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;7334}73357336.peach-panic-button--primary {7337  background: var(--peach-accent);7338  border: 1px solid var(--peach-accent);7339  color: #ffffff;7340  font-weight: 600;7341}73427343.peach-panic-button--primary:hover {7344  background: color-mix(in srgb, var(--peach-accent) 88%, white);7345}73467347.peach-panic-button--danger {7348  background: rgb(220, 38, 38);7349  border: 1px solid rgb(220, 38, 38);7350  color: #ffffff;7351  font-weight: 600;7352}73537354.peach-panic-button--danger:disabled {7355  opacity: 0.35;7356  cursor: not-allowed;7357}73587359.peach-panic-button--ghost {7360  background: transparent;7361  border: 1px solid rgba(255, 255, 255, 0.18);7362  color: var(--peach-t2);7363}73647365.peach-panic-button--ghost:hover {7366  border-color: rgba(255, 255, 255, 0.32);7367  color: var(--peach-t1);7368}73697370.peach-panic-link {7371  background: transparent;7372  border: none;7373  padding: 4px 0;7374  color: rgba(220, 38, 38, 0.65);7375  font-size: 0.75rem;7376  cursor: pointer;7377  text-align: left;7378  text-decoration: underline;7379  text-underline-offset: 3px;7380}73817382.peach-panic-link:hover {7383  color: rgb(220, 38, 38);7384}73857386.peach-panic-bar {7387  background: rgb(220, 38, 38);7388  padding: 16px 20px;7389  margin: -28px -20px 0;7390  text-align: center;7391  font-size: 0.8125rem;7392  font-weight: 700;7393  letter-spacing: 0.12em;7394  color: #ffffff;7395}73967397.peach-panic-final-button {7398  width: 100%;7399  padding: 14px;7400  background: rgb(220, 38, 38);7401  border: none;7402  border-radius: 8px;7403  color: #ffffff;7404  font-size: 0.875rem;7405  font-weight: 700;7406  letter-spacing: 0.08em;7407  text-transform: uppercase;7408  cursor: pointer;7409  animation: peach-panic-pulse 2s ease-in-out infinite;7410}74117412.peach-settings-license {7413  margin-top: 10px;7414  padding-top: 10px;7415  border-top: 1px solid var(--peach-t3);7416}74177418.peach-settings-label {7419  font-size: 0.625rem;7420  letter-spacing: 0.08em;7421  color: var(--peach-t3);7422  display: block;7423  margin-bottom: 6px;7424}74257426.peach-settings-license-row {7427  display: flex;7428  align-items: center;7429  justify-content: space-between;7430  gap: 8px;7431}74327433.peach-settings-license-key {7434  font-family: 'IBM Plex Mono', monospace;7435  font-size: 0.75rem;7436  color: var(--peach-t0);7437  letter-spacing: 0.04em;7438  word-break: break-all;7439  flex: 1;7440  min-width: 0;7441}74427443.peach-settings-license-key--masked {7444  font-family: 'IBM Plex Mono', monospace;7445  font-size: 0.6rem;7446  color: var(--peach-t1);7447  letter-spacing: 0.18em;7448  user-select: none;7449}74507451.peach-settings-license-actions {7452  display: flex;7453  align-items: center;7454  gap: 2px;7455  flex-shrink: 0;7456}74577458.peach-settings-license-copy {7459  font-size: 0.6875rem;7460  color: var(--peach-accent);7461  background: transparent;7462  border: none;7463  cursor: pointer;7464  padding: 4px 8px;7465  border-radius: 4px;7466  flex-shrink: 0;7467  transition: opacity 150ms ease;7468}74697470.peach-settings-license-copy:hover {7471  opacity: 0.75;7472}74737474.peach-settings-license-toggle {7475  display: flex;7476  align-items: center;7477  justify-content: center;7478  background: transparent;7479  border: none;7480  cursor: pointer;7481  padding: 4px 6px;7482  border-radius: 4px;7483  color: var(--peach-t2);7484  transition: color 150ms ease;7485}74867487.peach-settings-license-toggle:hover {7488  color: var(--peach-t1);7489}74907491@keyframes peach-panic-pulse {7492  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }7493  50%      { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }7494}74957496[data-motion="reduce"] .peach-panic-final-button {7497  animation: none;7498}74997500/* Vault History — Settings → Vault sub-view */75017502.peach-history-list {7503  border: 1px solid var(--peach-border);7504  border-radius: 8px;7505  overflow: hidden;7506  margin: 8px 0 4px;7507}75087509.peach-history-row {7510  display: flex;7511  align-items: center;7512  justify-content: space-between;7513  padding: 9px 12px;7514  gap: 10px;7515  border-bottom: 1px solid var(--peach-border);7516}75177518.peach-history-row:last-child {7519  border-bottom: none;7520}75217522.peach-history-meta {7523  display: flex;7524  flex-direction: column;7525  gap: 2px;7526  min-width: 0;7527  flex: 1;7528}75297530.peach-history-time {7531  font-size: 0.75rem;7532  font-family: 'IBM Plex Mono', ui-monospace, monospace;7533  color: var(--peach-t0);7534  white-space: nowrap;7535  overflow: hidden;7536  text-overflow: ellipsis;7537}75387539.peach-history-sub {7540  font-size: 0.625rem;7541  color: var(--peach-t2);7542  letter-spacing: 0.06em;7543  text-transform: uppercase;7544  white-space: nowrap;7545  overflow: hidden;7546  text-overflow: ellipsis;7547}75487549.peach-history-btn {7550  flex-shrink: 0;7551  white-space: nowrap;7552  min-width: 56px;7553  text-align: center;7554}75557556.peach-history-btn.is-busy {7557  opacity: 0.65;7558}75597560.peach-history-footer {7561  font-size: 0.625rem;7562  color: var(--peach-t3);7563  letter-spacing: 0.05em;7564  text-align: right;7565  margin: 0;7566  padding: 2px 0 0;7567}75687569/* ── Context menu + swipe-copy flash ─────────────────────── */7570.peach-context-menu-backdrop {7571  position: fixed;7572  inset: 0;7573  background: rgba(0, 0, 0, 0.45);7574  z-index: 100;7575  display: flex;7576  align-items: flex-end;7577  justify-content: center;7578  animation: peach-ctx-fade 140ms ease both;7579}7580.peach-context-menu {7581  width: min(360px, calc(100vw - 24px));7582  margin-bottom: max(env(safe-area-inset-bottom), 12px);7583  background: var(--peach-bg);7584  border: 1px solid var(--peach-t3);7585  border-radius: 14px;7586  padding: 6px;7587  display: flex;7588  flex-direction: column;7589  gap: 2px;7590  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);7591  animation: peach-ctx-rise 200ms cubic-bezier(0.16, 1, 0.3, 1) both;7592}7593@keyframes peach-ctx-fade { from { opacity: 0; } to { opacity: 1; } }7594@keyframes peach-ctx-rise {7595  from { transform: translateY(16px); opacity: 0; }7596  to   { transform: translateY(0);    opacity: 1; }7597}7598.peach-context-menu-item {7599  background: transparent;7600  color: var(--peach-t0);7601  border: 0;7602  border-radius: 10px;7603  padding: 12px 14px;7604  text-align: left;7605  font: inherit;7606  cursor: pointer;7607}7608.peach-context-menu-item:hover,7609.peach-context-menu-item:focus-visible {7610  background: var(--peach-t3);7611}7612.peach-context-menu-item--danger {7613  color: var(--peach-health-bad, #d96868);7614}7615.peach-context-menu-item--cancel {7616  color: var(--peach-t2);7617  margin-top: 4px;7618  border-top: 1px solid var(--peach-t3);7619  border-radius: 0 0 10px 10px;7620}76217622/* Swipe-to-copy flash */7623.peach-entry-row.is-copy-flash {7624  animation: peach-copy-flash 600ms ease both;7625}7626@keyframes peach-copy-flash {7627  0%   { background: transparent; }7628  20%  { background: rgba(217, 153, 51, 0.32); }7629  100% { background: transparent; }7630}76317632html { font-size: 16px; }76337634/* ── Recovery word entry ─────────────────────────────────────────── */7635.peach-lock-recover-link {7636  display: block;7637  width: 100%;7638  margin-top: 12px;7639  background: none;7640  border: none;7641  font-family: "IBM Plex Mono", monospace;7642  font-size: 0.625rem;7643  letter-spacing: 0.06em;7644  color: var(--peach-t2);7645  cursor: pointer;7646  text-align: center;7647  padding: 4px;7648  transition: color 120ms ease;7649}7650.peach-lock-recover-link:hover {7651  color: var(--peach-t0);7652}76537654.lock-screen--recovery {7655  display: flex;7656  flex-direction: column;7657  align-items: stretch;7658  padding: 12px 20px 24px;7659  overflow: hidden;7660}76617662.peach-recovery-nav {7663  display: flex;7664  align-items: center;7665  position: relative;7666  z-index: 1;7667  margin-bottom: 4px;7668}76697670/* Mask runes to the top decorative band only — keep inputs and the7671   bottom CTA button clear. The bottom of the popup is reserved for7672   submit buttons; rendering runes there overlaps the button glyph. */7673.peach-rune-background--recovery {7674  -webkit-mask-image: linear-gradient(7675    to bottom,7676    black 0px, black 85px,7677    transparent 110px,7678    transparent 100%7679  );7680  mask-image: linear-gradient(7681    to bottom,7682    black 0px, black 85px,7683    transparent 110px,7684    transparent 100%7685  );7686}76877688.peach-recovery-header {7689  text-align: center;7690  margin-bottom: 16px;7691  margin-top: 4px;7692}7693.peach-recovery-header .peach-onboarding-headline {7694  font-size: 1.25rem;7695  font-weight: 300;7696  letter-spacing: 0.02em;7697  margin: 0 0 4px;7698}7699.peach-recovery-header .peach-hint {7700  font-family: "IBM Plex Mono", monospace;7701  font-size: 0.625rem;7702  color: var(--peach-t2);7703  letter-spacing: 0.04em;7704  margin: 0;7705}77067707/* 12-word grid: 2 columns × 6 rows */7708.peach-recovery-grid {7709  display: grid;7710  grid-template-columns: repeat(2, 1fr);7711  gap: 12px 20px;7712  width: 100%;7713  margin-bottom: 0;7714}77157716.peach-recovery-word-slot {7717  display: flex;7718  align-items: center;7719  gap: 6px;7720  min-width: 0;7721}77227723.peach-recovery-word-index {7724  font-family: "IBM Plex Mono", monospace;7725  font-size: 0.5rem;7726  color: rgba(255, 255, 255, 0.35);7727  min-width: 14px;7728  flex-shrink: 0;7729  text-align: right;7730  letter-spacing: 0.04em;7731}77327733.peach-recovery-word-input {7734  flex: 1;7735  min-width: 0;7736  background: transparent;7737  border: none;7738  border-bottom: 1px solid rgba(255, 255, 255, 0.22);7739  color: var(--peach-t0);7740  font-family: "IBM Plex Mono", monospace;7741  font-size: 0.6875rem;7742  letter-spacing: 0.06em;7743  padding: 5px 2px 4px;7744  outline: none;7745  text-transform: lowercase;7746  transition: border-color 120ms ease;7747}7748.peach-recovery-word-input::placeholder {7749  color: rgba(255, 255, 255, 0.18);7750}7751.peach-recovery-word-input:focus {7752  border-bottom-color: var(--peach-accent);7753}77547755.peach-recovery-submit {7756  width: 100%;7757  margin-top: auto;7758}77597760.peach-recovery-new-password-form {7761  width: 100%;7762  display: flex;7763  flex-direction: column;7764  gap: 16px;7765  margin-bottom: 8px;7766}7767.peach-recovery-new-password-form .peach-newvault-field {7768  display: flex;7769  flex-direction: column;7770  gap: 4px;7771}77727773/* ── Recovery words display (post-create) ────────────────────────── */7774.lock-screen--recovery-display {7775  display: flex;7776  flex-direction: column;7777  align-items: stretch;7778  padding: 0 20px 20px;7779  min-height: 0;7780  overflow-y: auto;7781}77827783.peach-recovery-words-display {7784  width: 100%;7785  margin-bottom: 16px;7786  border: 1px solid var(--peach-t3);7787  border-radius: 8px;7788  padding: 12px 14px;7789  background: rgba(245, 240, 234, 0.04);7790}77917792.peach-recovery-words-label {7793  font-family: "IBM Plex Mono", monospace;7794  font-size: 0.5rem;7795  letter-spacing: 0.08em;7796  color: var(--peach-t2);7797  text-transform: uppercase;7798  margin-bottom: 10px;7799}78007801.peach-recovery-word-list {7802  list-style: none;7803  margin: 0;7804  padding: 0;7805  display: grid;7806  grid-template-columns: repeat(2, 1fr);7807  gap: 6px 16px;7808}78097810.peach-recovery-word-item {7811  display: flex;7812  align-items: baseline;7813  gap: 5px;7814}78157816.peach-recovery-word-num {7817  font-family: "IBM Plex Mono", monospace;7818  font-size: 0.5rem;7819  color: var(--peach-t2);7820  width: 14px;7821  flex: 0 0 14px;7822  text-align: right;7823  letter-spacing: 0.04em;7824  font-variant-numeric: tabular-nums;7825}78267827.peach-recovery-download-btn {7828  display: block;7829  margin: 10px auto 0;7830  padding: 4px 10px;7831  background: transparent;7832  border: 1px solid var(--peach-border);7833  border-radius: 6px;7834  color: var(--peach-t2);7835  font-family: "IBM Plex Mono", monospace;7836  font-size: 0.5625rem;7837  letter-spacing: 0.06em;7838  text-transform: lowercase;7839  cursor: pointer;7840  transition: border-color 0.15s, color 0.15s;7841}78427843.peach-recovery-download-btn:hover {7844  border-color: var(--peach-accent);7845  color: var(--peach-t0);7846}78477848.peach-recovery-word-text {7849  font-family: "IBM Plex Mono", monospace;7850  font-size: 0.6875rem;7851  letter-spacing: 0.06em;7852  color: var(--peach-t0);7853  text-transform: lowercase;7854}78557856.peach-hint--warning {7857  color: var(--peach-accent);7858  font-style: italic;7859}7860.peach-hint--success {7861  color: var(--peach-t2);7862  font-family: "IBM Plex Mono", monospace;7863  font-size: 0.625rem;7864  letter-spacing: 0.06em;7865}78667867/* Confirmation step */7868.peach-recovery-confirm {7869  width: 100%;7870  flex: 1;7871  display: flex;7872  flex-direction: column;7873}7874.peach-recovery-confirm-label {7875  font-family: "IBM Plex Mono", monospace;7876  font-size: 0.5625rem;7877  letter-spacing: 0.04em;7878  color: var(--peach-t2);7879  text-align: center;7880  margin: 0 0 12px;7881}7882.peach-recovery-confirm-fields {7883  display: flex;7884  flex-direction: column;7885  gap: 14px;7886  margin-bottom: 10px;7887}7888.peach-recovery-confirm-field {7889  display: flex;7890  align-items: center;7891  gap: 8px;7892}7893.peach-recovery-confirm-num {7894  font-family: "IBM Plex Mono", monospace;7895  font-size: 0.5rem;7896  color: var(--peach-t2);7897  min-width: 44px;7898  letter-spacing: 0.04em;7899}7900.peach-recovery-confirm-input {7901  flex: 1;7902  background: transparent;7903  border: none;7904  border-bottom: 1px solid var(--peach-t3);7905  color: var(--peach-t0);7906  font-family: "IBM Plex Mono", monospace;7907  font-size: 0.6875rem;7908  letter-spacing: 0.06em;7909  padding: 4px 2px 3px;7910  outline: none;7911  text-transform: lowercase;7912  transition: border-color 120ms ease;7913}7914.peach-recovery-confirm-input:focus {7915  border-bottom-color: var(--peach-accent);7916}7917.peach-recovery-confirm-input:disabled {7918  opacity: 0.4;7919  cursor: not-allowed;7920}7921.peach-recovery-confirm-btn {7922  width: 100%;7923  margin-top: auto;7924}79257926/* ============================================================7927   Sync info sheet7928   ============================================================ */79297930.peach-sync-info-backdrop {7931  position: fixed;7932  inset: 0;7933  z-index: 200;7934  background: rgba(0, 0, 0, 0.55);7935  display: flex;7936  align-items: flex-end;7937  animation: peach-fade-in 200ms ease forwards;7938}79397940@keyframes peach-fade-in {7941  from { opacity: 0; }7942  to   { opacity: 1; }7943}79447945.peach-sync-info-sheet {7946  width: 100%;7947  background: var(--peach-bg-card, var(--peach-bg));7948  border-top-left-radius: 20px;7949  border-top-right-radius: 20px;7950  padding: 12px 24px 32px;7951  display: flex;7952  flex-direction: column;7953  gap: 20px;7954  animation: peach-sheet-up 280ms cubic-bezier(0, 0, 0, 1) forwards;7955}79567957@keyframes peach-sheet-up {7958  from { transform: translateY(100%); }7959  to   { transform: translateY(0); }7960}79617962.peach-sync-info-handle {7963  width: 36px;7964  height: 4px;7965  border-radius: 2px;7966  background: var(--peach-border);7967  margin: 0 auto 4px;7968  flex-shrink: 0;7969}79707971.peach-sync-info-title {7972  font-family: 'Cormorant Garamond', serif;7973  font-style: italic;7974  font-size: 26px;7975  font-weight: 600;7976  color: var(--peach-t0);7977  margin: 0;7978  line-height: 1.2;7979}79807981.peach-sync-info-body {7982  display: flex;7983  flex-direction: column;7984  gap: 14px;7985}79867987.peach-sync-info-point {7988  display: flex;7989  gap: 12px;7990  align-items: flex-start;7991  font-size: 14px;7992  color: var(--peach-t2);7993  line-height: 1.6;7994  margin: 0;7995}79967997.peach-sync-info-icon {7998  color: var(--peach-accent);7999  font-size: 16px;8000  flex-shrink: 0;8001  margin-top: 1px;8002}80038004.peach-sync-info-actions {8005  display: flex;8006  flex-direction: column;8007  gap: 12px;8008  margin-top: 4px;8009}80108011.peach-sync-info-pro-link {8012  background: none;8013  border: none;8014  font-size: 13px;8015  color: var(--peach-t3);8016  cursor: pointer;8017  padding: 0;8018  font-family: inherit;8019  text-align: center;8020  transition: color 150ms ease;8021}80228023.peach-sync-info-pro-link:hover {8024  color: var(--peach-accent);8025}80268027.peach-btn--full {8028  width: 100%;8029}80308031/* ── Sync screen ── */80328033.peach-sync-coming-soon {8034  display: flex;8035  align-items: flex-start;8036  gap: 10px;8037  padding: 12px 14px;8038  background: var(--peach-s1);8039  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);8040  border-radius: 10px;8041}8042.peach-sync-coming-soon__icon {8043  flex-shrink: 0;8044  color: var(--peach-accent);8045  margin-top: 1px;8046  line-height: 0;8047}8048.peach-sync-coming-soon__title {8049  font-family: 'Cormorant Garamond', serif;8050  font-weight: 500;8051  font-size: 13px;8052  color: var(--peach-accent);8053  margin: 0 0 5px;8054  line-height: 1.3;8055}8056.peach-sync-coming-soon__body {8057  font-size: 12px;8058  color: var(--peach-t1);8059  line-height: 1.55;8060  margin: 0;8061}80628063.peach-sync-screen {8064  display: flex;8065  flex-direction: column;8066  height: 100%;8067}80688069.peach-sync-content {8070  flex: 1;8071  overflow-y: auto;8072  padding: 24px 20px 40px;8073  display: flex;8074  flex-direction: column;8075  gap: 24px;8076}80778078/* Intro (State A) */8079.peach-sync-headline {8080  font-family: 'Cormorant Garamond', serif;8081  font-style: italic;8082  font-size: 28px;8083  font-weight: 600;8084  color: var(--peach-t0);8085  margin: 0 0 10px;8086  line-height: 1.2;8087}80888089.peach-sync-intro-body {8090  font-size: 14px;8091  color: var(--peach-t1);8092  line-height: 1.6;8093  margin: 0;8094}80958096.peach-sync-pro-note {8097  display: flex;8098  flex-direction: column;8099  gap: 8px;8100  background: var(--peach-t3);8101  border-radius: 10px;8102  padding: 12px 14px;8103}81048105.peach-sync-pro-note-text {8106  font-size: 12px;8107  color: var(--peach-t2);8108  line-height: 1.5;8109  margin: 0;8110}81118112.peach-sync-pro-link {8113  background: none;8114  border: none;8115  font-size: 12px;8116  color: var(--peach-accent);8117  cursor: pointer;8118  padding: 0;8119  font-family: inherit;8120  text-align: left;8121}81228123/* Status (State C) */8124.peach-sync-status {8125  padding: 12px 0;8126  border-bottom: 1px solid var(--peach-border);8127}81288129.peach-sync-status-row {8130  display: flex;8131  align-items: center;8132  gap: 8px;8133}81348135.peach-sync-dot {8136  width: 7px;8137  height: 7px;8138  border-radius: 50%;8139  flex-shrink: 0;8140}81418142.peach-sync-dot--green { background: var(--peach-health-ok); }8143.peach-sync-dot--amber { background: var(--peach-accent); }81448145.peach-sync-status-text {8146  font-family: 'IBM Plex Mono', monospace;8147  font-size: 11px;8148  color: var(--peach-t2);8149}81508151/* Paired devices */8152.peach-sync-section {8153  display: flex;8154  flex-direction: column;8155  gap: 2px;8156}81578158.peach-sync-section-label {8159  font-family: 'IBM Plex Mono', monospace;8160  font-size: 10px;8161  letter-spacing: 0.1em;8162  color: var(--peach-t3);8163  margin: 0 0 10px;8164}81658166.peach-sync-device-row {8167  display: flex;8168  justify-content: space-between;8169  align-items: baseline;8170  padding: 10px 0;8171  border-bottom: 1px solid var(--peach-border);8172  gap: 12px;8173}81748175.peach-sync-device-name {8176  font-size: 14px;8177  color: var(--peach-t1);8178}81798180.peach-sync-device-meta {8181  font-family: 'IBM Plex Mono', monospace;8182  font-size: 11px;8183  color: var(--peach-t3);8184  white-space: nowrap;8185}81868187.peach-sync-hub-note {8188  padding: 14px 16px;8189  border: 1px solid var(--peach-border);8190  border-radius: 10px;8191  display: flex;8192  flex-direction: column;8193  gap: 6px;8194  background: rgba(var(--peach-accent-rgb, 201, 137, 58), 0.04);8195}81968197.peach-sync-hub-note-title {8198  font-size: 13px;8199  font-weight: 600;8200  color: var(--peach-t0);8201  margin: 0;8202}82038204.peach-sync-hub-note-body {8205  font-size: 12px;8206  color: var(--peach-t2);8207  line-height: 1.6;8208  margin: 0;8209}82108211/* Action buttons */8212.peach-sync-actions {8213  display: flex;8214  gap: 10px;8215  flex-wrap: wrap;8216}82178218/* Upgrade prompt (State B) */8219.peach-sync-upgrade {8220  display: flex;8221  flex-direction: column;8222  gap: 12px;8223  padding: 16px;8224  border: 1px solid var(--peach-border);8225  border-radius: 10px;8226}82278228.peach-sync-upgrade-text {8229  font-size: 13px;8230  color: var(--peach-t2);8231  line-height: 1.6;8232  margin: 0;8233}82348235/* Network note */8236.peach-sync-network-note {8237  font-size: 12px;8238  color: var(--peach-t3);8239  line-height: 1.6;8240  margin: 0;8241}82428243/* Advanced */8244.peach-sync-advanced {8245  margin-top: auto;8246  padding-top: 16px;8247  border-top: 1px solid var(--peach-border);8248}82498250.peach-sync-advanced-toggle {8251  display: flex;8252  align-items: center;8253  gap: 8px;8254  background: none;8255  border: none;8256  font-family: 'IBM Plex Mono', monospace;8257  font-size: 11px;8258  letter-spacing: 0.08em;8259  color: var(--peach-t3);8260  cursor: pointer;8261  padding: 0;8262  text-transform: uppercase;8263}82648265.peach-sync-advanced-chevron {8266  display: inline-block;8267  transition: transform 200ms ease;8268  font-size: 10px;8269}82708271.peach-sync-advanced-chevron.is-open {8272  transform: rotate(90deg);8273}82748275.peach-sync-advanced-content {8276  margin-top: 14px;8277}82788279.peach-sync-advanced-row {8280  display: flex;8281  justify-content: space-between;8282  align-items: center;8283  gap: 16px;8284}82858286.peach-sync-advanced-title {8287  font-size: 14px;8288  color: var(--peach-t1);8289  margin: 0 0 2px;8290}82918292.peach-sync-advanced-subtitle {8293  font-size: 12px;8294  color: var(--peach-t3);8295  margin: 0;8296  line-height: 1.5;8297}82988299/* ── Add Device — Android scan tabs ─────────────────────────────────────── */83008301.peach-pairing-tabs {8302  display: flex;8303  border: 1px solid var(--peach-border);8304  border-radius: 8px;8305  overflow: hidden;8306  margin-bottom: 4px;8307}83088309.peach-pairing-tab {8310  flex: 1;8311  padding: 10px 0;8312  background: none;8313  border: none;8314  font-family: 'IBM Plex Mono', monospace;8315  font-size: 11px;8316  letter-spacing: 0.06em;8317  color: var(--peach-t2);8318  cursor: pointer;8319  transition: background 150ms, color 150ms;8320}83218322.peach-pairing-tab.is-active {8323  background: var(--peach-accent);8324  color: #fff;8325  font-weight: 600;8326}83278328.peach-pairing-tab:not(.is-active):active {8329  background: var(--peach-border);8330}83318332/* Camera view */8333.peach-pairing-camera-container {8334  position: relative;8335  width: 100%;8336  aspect-ratio: 1;8337  border-radius: 12px;8338  overflow: hidden;8339  background: #000;8340  flex-shrink: 0;8341}83428343.peach-pairing-video {8344  width: 100%;8345  height: 100%;8346  object-fit: cover;8347}83488349.peach-pairing-scan-frame {8350  position: absolute;8351  top: 50%;8352  left: 50%;8353  transform: translate(-50%, -50%);8354  width: 60%;8355  aspect-ratio: 1;8356  border: 2px solid var(--peach-accent);8357  border-radius: 8px;8358  pointer-events: none;8359}83608361/* ── Notes Mode ── */83628363/* Overlay that crossfades over the vault */8364.peach-notes-overlay {8365  position: fixed;8366  inset: 0;8367  z-index: 90;8368  opacity: 0;8369  pointer-events: none;8370  animation: peach-mode-in 220ms ease-in forwards;8371}83728373.peach-notes-overlay.is-visible {8374  opacity: 1;8375  pointer-events: auto;8376}83778378@keyframes peach-mode-in {8379  from { opacity: 0; }8380  to   { opacity: 1; }8381}83828383/* Top-level notes surface */8384.peach-notes-mode {8385  position: absolute;8386  inset: 0;8387  background: var(--peach-bg);8388  display: flex;8389  flex-direction: column;8390}83918392/* Rune canvas positioned behind content */8393.peach-note-rune-canvas {8394  position: absolute;8395  inset: 0;8396  width: 100%;8397  height: 100%;8398  pointer-events: none;8399  z-index: 0;8400}84018402/* TOC wrapper */8403.peach-notes-toc-wrapper {8404  position: absolute;8405  inset: 0;8406  z-index: 1;8407  opacity: 1;8408  pointer-events: auto;8409  transition: opacity 200ms ease;8410}84118412.peach-notes-toc-wrapper.is-hidden {8413  opacity: 0;8414  pointer-events: none;8415}84168417/* Editor wrapper */8418.peach-notes-editor-wrapper {8419  position: absolute;8420  inset: 0;8421  z-index: 2;8422  opacity: 0;8423  pointer-events: none;8424  transition: opacity 200ms ease;8425}84268427.peach-notes-editor-wrapper.is-visible {8428  opacity: 1;8429  pointer-events: auto;8430}84318432/* TOC inner */8433.peach-notes-toc {8434  position: relative;8435  display: flex;8436  flex-direction: column;8437  height: 100%;8438  padding-top: env(safe-area-inset-top, 0px);8439  padding-bottom: env(safe-area-inset-bottom, 0px);8440}84418442/* Shared header */8443.peach-notes-header {8444  display: flex;8445  align-items: center;8446  padding: 12px 16px;8447  gap: 12px;8448  flex-shrink: 0;8449  min-height: 52px;8450  position: relative;8451  z-index: 2;8452}84538454.peach-notes-back {8455  font-size: 22px;8456  color: var(--peach-t2);8457  background: none;8458  border: none;8459  padding: 4px;8460  cursor: pointer;8461  line-height: 1;8462  flex-shrink: 0;8463  transition: color 150ms ease;8464  -webkit-tap-highlight-color: transparent;8465}84668467.peach-notes-back:active { color: var(--peach-t0); }84688469.peach-notes-header-title {8470  flex: 1;8471  font-family: 'Cormorant Garamond', serif;8472  font-style: italic;8473  font-size: 22px;8474  color: var(--peach-t0);8475  text-align: center;8476}84778478.peach-notes-header-title.is-breadcrumb {8479  font-family: 'IBM Plex Mono', monospace;8480  font-style: normal;8481  font-size: 11px;8482  color: var(--peach-t3);8483  letter-spacing: 0.08em;8484  text-transform: uppercase;8485  cursor: pointer;8486}84878488.peach-notes-header-actions {8489  display: flex;8490  gap: 8px;8491  flex-shrink: 0;8492}84938494.peach-notes-header-btn {8495  width: 36px;8496  height: 36px;8497  display: flex;8498  align-items: center;8499  justify-content: center;8500  background: none;8501  border: none;8502  color: var(--peach-t2);8503  cursor: pointer;8504  border-radius: 8px;8505  font-size: 16px;8506  transition: color 150ms ease, background 150ms ease;8507  -webkit-tap-highlight-color: transparent;8508}85098510.peach-notes-header-btn:active {8511  background: rgba(255,255,255,0.06);8512  color: var(--peach-t0);8513}85148515/* Inline search bar */8516.peach-notes-search-input {8517  flex: 1;8518  background: none;8519  border: none;8520  outline: none;8521  font-family: 'IBM Plex Mono', monospace;8522  font-size: 13px;8523  color: var(--peach-t0);8524  padding: 4px 0;8525  letter-spacing: 0.02em;8526}85278528.peach-notes-search-input::placeholder {8529  color: var(--peach-t3);8530}85318532/* TOC list */8533.peach-notes-list-container {8534  flex: 1;8535  overflow-y: auto;8536  overflow-x: hidden;8537  scrollbar-width: none;8538  -webkit-overflow-scrolling: touch;8539  overscroll-behavior: contain;8540  position: relative;8541  z-index: 1;8542}85438544.peach-notes-list-container::-webkit-scrollbar { display: none; }85458546/* Note row */8547.peach-note-row {8548  position: relative;8549  display: grid;8550  grid-template-columns: 44px 8px 1fr 8px auto;8551  align-items: center;8552  min-height: 72px;8553  padding: 16px 20px;8554  border-bottom: 0.5px solid var(--peach-border);8555  cursor: pointer;8556  overflow: hidden;8557  touch-action: pan-y;8558  user-select: none;8559  -webkit-user-select: none;8560  -webkit-tap-highlight-color: transparent;8561}85628563.peach-note-row:first-child {8564  border-top: 0.5px solid var(--peach-border);8565}85668567.peach-note-row:active {8568  background: rgba(255,255,255,0.02);8569}85708571.peach-note-numeral {8572  font-family: 'Cormorant Garamond', serif;8573  font-style: italic;8574  font-size: 15px;8575  color: var(--peach-accent);8576  text-align: right;8577  line-height: 1;8578  flex-shrink: 0;8579}85808581.peach-note-title-gap { /* grid spacer */ }85828583.peach-note-title {8584  font-family: 'Cormorant Garamond', serif;8585  font-style: italic;8586  font-size: 18px;8587  color: var(--peach-t0);8588  line-height: 1.3;8589  min-width: 0;8590  overflow-wrap: break-word;8591}85928593.peach-note-title-match {8594  color: var(--peach-accent);8595}85968597.peach-note-date {8598  font-family: 'IBM Plex Mono', monospace;8599  font-size: 11px;8600  color: var(--peach-t2);8601  white-space: nowrap;8602  text-align: right;8603  flex-shrink: 0;8604  grid-column: 5;8605}86068607/* Swipe underlays */8608.peach-note-row-underlay {8609  position: absolute;8610  inset: 0;8611  display: flex;8612  align-items: center;8613  padding: 0 24px;8614  font-family: 'IBM Plex Mono', monospace;8615  font-size: 11px;8616  letter-spacing: 0.1em;8617  pointer-events: none;8618  z-index: 0;8619}86208621.peach-note-row-underlay--delete {8622  background: #8B2020;8623  color: rgba(255,255,255,0.9);8624  justify-content: flex-end;8625}86268627.peach-note-row-underlay--archive {8628  background: var(--peach-accent);8629  color: #0C0A06;8630  justify-content: flex-start;8631}86328633/* Delete confirm strip */8634.peach-note-delete-confirm {8635  position: absolute;8636  inset: 0;8637  background: var(--peach-bg);8638  display: flex;8639  align-items: center;8640  gap: 12px;8641  padding: 0 20px;8642  font-family: 'IBM Plex Mono', monospace;8643  font-size: 11px;8644  color: var(--peach-t1);8645  letter-spacing: 0.04em;8646  animation: peach-delete-confirm-in 150ms ease both;8647  z-index: 10;8648}86498650@keyframes peach-delete-confirm-in {8651  from { opacity: 0; }8652  to   { opacity: 1; }8653}86548655.peach-note-delete-confirm-btn {8656  background: #8B2020;8657  color: rgba(255,255,255,0.9);8658  border: none;8659  border-radius: 6px;8660  padding: 4px 10px;8661  font-family: 'IBM Plex Mono', monospace;8662  font-size: 10px;8663  cursor: pointer;8664  letter-spacing: 0.06em;8665}86668667.peach-note-delete-cancel-btn {8668  background: none;8669  border: none;8670  color: var(--peach-t3);8671  font-family: 'IBM Plex Mono', monospace;8672  font-size: 10px;8673  cursor: pointer;8674  letter-spacing: 0.06em;8675  padding: 4px 6px;8676}86778678/* + New note button */8679.peach-notes-new-btn {8680  font-family: 'IBM Plex Mono', monospace;8681  font-size: 12px;8682  color: var(--peach-t3);8683  text-align: center;8684  padding: 28px 20px calc(28px + env(safe-area-inset-bottom, 0px));8685  background: none;8686  border: none;8687  width: 100%;8688  cursor: pointer;8689  letter-spacing: 0.04em;8690  transition: color 150ms ease;8691  -webkit-tap-highlight-color: transparent;8692}86938694.peach-notes-new-btn:active { color: var(--peach-accent); }86958696/* Empty state */8697.peach-notes-empty {8698  display: flex;8699  flex-direction: column;8700  align-items: center;8701  justify-content: center;8702  flex: 1;8703  padding: 48px 32px;8704  gap: 16px;8705}87068707.peach-notes-empty-text {8708  font-family: 'Cormorant Garamond', serif;8709  font-style: italic;8710  font-size: 20px;8711  color: var(--peach-t3);8712  text-align: center;8713  margin: 0;8714  line-height: 1.4;8715  white-space: pre-line;8716}87178718/* ── Editor surface ── */87198720.peach-note-editor-surface {8721  position: absolute;8722  inset: 0;8723  background: var(--peach-bg);8724  display: flex;8725  flex-direction: column;8726  padding-top: env(safe-area-inset-top, 0px);8727}87288729.peach-note-editor-scroll {8730  flex: 1;8731  overflow-y: auto;8732  overflow-x: hidden;8733  scrollbar-width: none;8734  -webkit-overflow-scrolling: touch;8735  padding: 0 24px 120px;8736  position: relative;8737  z-index: 1;8738}87398740.peach-note-editor-scroll::-webkit-scrollbar { display: none; }87418742/* Desktop toolbar (always visible above body) */8743.peach-note-toolbar-desktop-inline {8744  display: flex;8745  align-items: center;8746  gap: 2px;8747  padding: 6px 0 12px;8748  margin-bottom: 4px;8749  border-bottom: 0.5px solid var(--peach-border);8750}87518752/* Title field */8753.peach-note-title-field {8754  font-family: 'Cormorant Garamond', serif;8755  font-style: italic;8756  font-size: 32px;8757  font-weight: 600;8758  color: var(--peach-t0);8759  line-height: 1.2;8760  padding: 8px 0 0;8761  outline: none;8762  min-height: 44px;8763  word-break: break-word;8764  position: relative;8765  z-index: 1;8766}87678768.peach-note-title-field:empty::before {8769  content: attr(data-placeholder);8770  color: var(--peach-t3);8771  pointer-events: none;8772}87738774/* Hairline separator */8775.peach-note-hairline {8776  height: 0.5px;8777  background: var(--peach-border);8778  margin: 12px 0 20px;8779  position: relative;8780  z-index: 1;8781}87828783/* Body field */8784.peach-note-body-field {8785  font-family: 'DM Sans', sans-serif;8786  font-size: 16px;8787  color: var(--peach-t0);8788  line-height: 1.85;8789  padding: 0;8790  outline: none;8791  min-height: 240px;8792  word-break: break-word;8793  position: relative;8794  z-index: 1;8795}87968797.peach-note-body-field:empty::before {8798  content: attr(data-placeholder);8799  color: var(--peach-t3);8800  font-style: italic;8801  pointer-events: none;8802}88038804.peach-note-body-field h2 {8805  font-family: 'Cormorant Garamond', serif;8806  font-style: italic;8807  font-size: 22px;8808  font-weight: 600;8809  color: var(--peach-t0);8810  margin: 20px 0 8px;8811}88128813.peach-note-body-field blockquote {8814  border-left: 2px solid var(--peach-accent);8815  margin: 12px 0;8816  padding-left: 16px;8817  color: var(--peach-t1);8818  font-style: italic;8819}88208821.peach-note-body-field ul,8822.peach-note-body-field ol {8823  padding-left: 20px;8824  margin: 8px 0;8825}88268827.peach-note-body-field li {8828  margin: 4px 0;8829}88308831.peach-note-body-field hr {8832  border: none;8833  border-top: 0.5px solid var(--peach-border);8834  margin: 16px 0;8835}88368837/* Saved indicator */8838.peach-note-saved-indicator {8839  font-family: 'IBM Plex Mono', monospace;8840  font-size: 11px;8841  color: var(--peach-t3);8842  letter-spacing: 0.04em;8843  text-align: right;8844  padding: 6px 24px;8845  flex-shrink: 0;8846  transition: opacity 300ms ease;8847  pointer-events: none;8848  position: relative;8849  z-index: 1;8850}88518852/* Mobile keyboard toolbar */8853.peach-note-toolbar-mobile {8854  display: flex;8855  align-items: center;8856  padding: 8px 16px;8857  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));8858  background: var(--peach-bg);8859  border-top: 0.5px solid var(--peach-border);8860  gap: 4px;8861  flex-shrink: 0;8862  position: relative;8863  z-index: 10;8864}88658866.peach-note-toolbar-btn {8867  min-width: 36px;8868  height: 36px;8869  display: flex;8870  align-items: center;8871  justify-content: center;8872  background: none;8873  border: none;8874  border-radius: 8px;8875  cursor: pointer;8876  font-size: 14px;8877  color: var(--peach-t1);8878  font-family: 'DM Sans', sans-serif;8879  font-weight: 600;8880  transition: background 100ms ease, color 100ms ease;8881  -webkit-tap-highlight-color: transparent;8882}88838884.peach-note-toolbar-btn--italic { font-style: italic; }8885.peach-note-toolbar-btn.is-active { color: var(--peach-accent); }8886.peach-note-toolbar-btn:active { background: rgba(255,255,255,0.08); }88878888.peach-note-toolbar-divider {8889  width: 0.5px;8890  height: 20px;8891  background: var(--peach-border);8892  margin: 0 4px;8893  flex-shrink: 0;8894}88958896.peach-note-toolbar-spacer { flex: 1; }88978898/* Desktop: larger headline in TOC */8899@media (min-width: 400px) {8900  .peach-notes-header-title:not(.is-breadcrumb) {8901    font-size: 32px;8902  }89038904  .peach-note-row {8905    min-height: 64px;8906    padding: 14px 16px;8907  }8908}89098910/* Flying title — shared element during expansion/collapse */89118912/* ─── Light theme overrides ───────────────────────────────────────────────8913   Tokens that cannot be expressed as variable substitutions — hardcoded8914   context-specific values that need separate light-mode rules. */89158916/* Settings section headers: use text-label (#79766F) per restoration brief —8917   muted gray-warm gives ENTRIES / MAINTENANCE / DATA / VAULT HISTORY8918   presence without fighting the light parchment background. */8919.light .peach-settings-sub-label,8920[data-theme="light"] .peach-settings-sub-label,8921.light .peach-settings-nav-label,8922[data-theme="light"] .peach-settings-nav-label {8923  color: #79766F;8924}89258926/* Secondary action buttons (ghost / subtle): filled with input-well surface8927   so they read as recessed against the parchment card background. */8928.light .peach-btn--ghost:not(.peach-icon-btn),8929[data-theme="light"] .peach-btn--ghost:not(.peach-icon-btn) {8930  background: #EEE7DD;8931  border-color: #DDD5CB;8932  color: #1A1208;8933}8934.light .peach-icon-btn,8935[data-theme="light"] .peach-icon-btn {8936  background: transparent;8937  border-color: transparent;8938}8939.light .peach-btn--subtle,8940[data-theme="light"] .peach-btn--subtle {8941  background: #EEE7DD;8942  border-color: #DDD5CB;8943}89448945/* Wide secondary action button on the lock screen — override the8946   hardcoded dark-mode rgba values with warm parchment equivalents. */8947.light .peach-lock-secondary,8948[data-theme="light"] .peach-lock-secondary {8949  background: #EEE7DD;8950  border-color: #DDD5CB;8951  color: #1A1208;8952}8953.light .peach-lock-secondary:hover,8954[data-theme="light"] .peach-lock-secondary:hover {8955  background: #F0E9DF;8956}89578958/* Entry row hover: bg-row lifts the row above the card surface. */8959.light .peach-entry-row:hover,8960[data-theme="light"] .peach-entry-row:hover {8961  background: #F2EBE1;8962}8963.light .peach-entry-row.is-active,8964[data-theme="light"] .peach-entry-row.is-active {8965  background: #F2EBE1;8966}8967.light .peach-entry-row.is-selected,8968[data-theme="light"] .peach-entry-row.is-selected {8969  background: #F5EDE2;8970}89718972/* ──────────────────────────────────────────────────────────────────────────8973   Chirp pairing flow — bird-stage animation (Phase 1)8974   See src/popup/components/ChirpPairingFlow.tsx and the brief §6.2.8975   Three-act animation gated on the [data-phase] attribute of8976   .peach-chirp-pair; child layers (birds, chirp arcs, flight wave, dot)8977   each react via either pose class or visibility flag.8978   Tokens: accent surfaces use var(--peach-accent); bird illustration8979   colours are baked into the SVG per the brand-peach exception in §3.1.8980   ────────────────────────────────────────────────────────────────────── */89818982.peach-chirp-pair {8983  position: absolute;8984  inset: 0;8985  z-index: 3;8986  display: flex;8987  flex-direction: column;8988  padding: 14px 12px 12px;8989  width: 100%;8990  box-sizing: border-box;8991  gap: 0;8992  background:8993    radial-gradient(ellipse 70% 50% at 30% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent), transparent 70%),8994    var(--peach-bg);8995  color: var(--peach-t0);8996  overflow-y: auto;8997  overflow-x: hidden;8998  scrollbar-width: none;8999  isolation: isolate;9000  animation: peach-chirp-overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;9001}9002@keyframes peach-chirp-overlay-in {9003  from { opacity: 0; transform: translateY(8px); }9004  to   { opacity: 1; transform: translateY(0); }9005}9006.peach-chirp-pair::-webkit-scrollbar { width: 0; height: 0; display: none; }9007.peach-chirp-pair::before {9008  content: '';9009  position: absolute;9010  inset: 0;9011  border-radius: inherit;9012  pointer-events: none;9013  background: radial-gradient(ellipse 90% 30% at 50% 0%, color-mix(in srgb, var(--peach-accent) 6%, transparent), transparent 70%);9014  z-index: 0;9015}9016.peach-chirp-pair > * { position: relative; z-index: 1; }90179018/* Header --------------------------------------------------------------- */9019.peach-chirp-head {9020  display: flex; align-items: center; gap: 10px;9021}9022.peach-chirp-back {9023  width: 32px; height: 32px;9024  display: inline-flex; align-items: center; justify-content: center;9025  background: transparent;9026  border: none;9027  border-radius: 8px;9028  color: var(--peach-t1);9029  cursor: pointer;9030  transition: color 0.15s ease, box-shadow 0.15s ease;9031}9032.peach-chirp-back:hover {9033  color: var(--peach-accent);9034  box-shadow: 0 0 10px color-mix(in srgb, var(--peach-accent) 24%, transparent);9035}9036.peach-chirp-title {9037  font-family: var(--font-display, Georgia, serif);9038  font-style: italic;9039  font-size: 24px;9040  font-weight: 500;9041  letter-spacing: 0.005em;9042  color: var(--peach-t0);9043  line-height: 1;9044}9045.peach-chirp-head-spacer { flex: 1; }90469047/* Chip row ------------------------------------------------------------- */9048.peach-chirp-chip-row {9049  display: flex;9050  align-items: center;9051  justify-content: flex-start;9052  margin-top: 12px;9053}9054.peach-chirp-chip {9055  display: inline-flex; align-items: center; gap: 8px;9056  padding: 5px 10px 5px 8px;9057  background: color-mix(in srgb, var(--peach-accent) 16%, transparent);9058  border: 1px solid color-mix(in srgb, var(--peach-accent) 32%, transparent);9059  border-radius: 999px;9060  font-family: var(--peach-mono, ui-monospace, monospace);9061  font-size: 11px;9062  letter-spacing: 0.04em;9063  color: color-mix(in srgb, var(--peach-accent) 70%, var(--peach-t0));9064}9065.peach-chirp-chip-dot {9066  width: 6px; height: 6px; border-radius: 50%;9067  background: var(--peach-accent);9068  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-accent) 50%, transparent);9069}9070.peach-chirp-chip[data-phase="paired"] {9071  background: color-mix(in srgb, #4f9eda 12%, transparent);9072  border-color: color-mix(in srgb, #4f9eda 28%, transparent);9073  color: #76b6e8;9074}9075.peach-chirp-chip[data-phase="paired"] .peach-chirp-chip-dot {9076  background: #76b6e8;9077  box-shadow: 0 0 6px rgba(118, 182, 232, 0.55);9078}9079.peach-chirp-chip[data-phase="timeout"],9080.peach-chirp-chip[data-phase="mic_denied"],9081.peach-chirp-chip[data-phase="version_mismatch"],9082.peach-chirp-chip[data-phase="handshake_failed"] {9083  background: color-mix(in srgb, var(--peach-warn, #d29257) 14%, transparent);9084  border-color: color-mix(in srgb, var(--peach-warn, #d29257) 28%, transparent);9085  color: var(--peach-warn, #d29257);9086}9087.peach-chirp-chip[data-phase="timeout"] .peach-chirp-chip-dot,9088.peach-chirp-chip[data-phase="mic_denied"] .peach-chirp-chip-dot,9089.peach-chirp-chip[data-phase="version_mismatch"] .peach-chirp-chip-dot,9090.peach-chirp-chip[data-phase="handshake_failed"] .peach-chirp-chip-dot {9091  background: var(--peach-warn, #d29257);9092  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-warn, #d29257) 55%, transparent);9093}90949095/* Bird stage ----------------------------------------------------------- */9096.peach-chirp-stage {9097  position: relative;9098  margin: 14px 0 8px;9099  height: 180px;9100  border-radius: 12px;9101  background:9102    radial-gradient(ellipse 70% 60% at 50% 30%, color-mix(in srgb, var(--peach-accent) 10%, transparent), transparent 70%),9103    radial-gradient(ellipse 90% 100% at 50% 100%, color-mix(in srgb, #d8748a 14%, transparent), transparent 70%),9104    color-mix(in srgb, var(--peach-bg) 92%, #000);9105  border: 1px solid color-mix(in srgb, var(--peach-t0) 8%, transparent);9106  overflow: hidden;9107  isolation: isolate;9108}9109.peach-chirp-stage::after {9110  content: '';9111  position: absolute;9112  left: 12%; right: 12%;9113  bottom: 36px;9114  height: 1px;9115  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--peach-t0) 14%, transparent), transparent);9116}91179118.peach-chirp-bird-slot {9119  position: absolute;9120  bottom: 8px;9121  width: 100px;9122  height: 110px;9123  display: flex;9124  align-items: flex-end;9125  justify-content: center;9126}9127.peach-chirp-bird-slot-desktop { left: 28px; }9128.peach-chirp-bird-slot-mobile { right: 28px; }91299130/* Mobile bird hops in from the right when handshake begins */9131.peach-chirp-bird-slot-mobile {9132  opacity: 1;9133  transform: translateX(-6px);9134  transition: opacity 0.4s ease, transform 0.65s cubic-bezier(.5, 1.7, .4, 1);9135}9136.peach-chirp-stage.act-listening .peach-chirp-bird-slot-mobile,9137.peach-chirp-stage.act-chirping .peach-chirp-bird-slot-mobile,9138.peach-chirp-stage.act-idle .peach-chirp-bird-slot-mobile {9139  opacity: 0;9140  transform: translateX(60px) rotate(8deg);9141}9142.peach-chirp-stage.act-handshake .peach-chirp-bird-slot-desktop,9143.peach-chirp-stage.act-paired .peach-chirp-bird-slot-desktop {9144  transform: translateX(6px);9145  transition: transform 0.5s cubic-bezier(.4, 1.4, .4, 1);9146}91479148/* Paired: both birds bob together */9149.peach-chirp-stage.act-paired .peach-chirp-bird-slot {9150  animation: peach-chirp-happy-bob 1.2s ease-in-out infinite;9151}9152.peach-chirp-stage.act-paired .peach-chirp-bird-slot-mobile { animation-delay: 0.2s; }9153.peach-chirp-stage.act-paired .peach-chirp-bird-slot-desktop { --bb-x: 6px; }9154.peach-chirp-stage.act-paired .peach-chirp-bird-slot-mobile { --bb-x: -6px; }9155@keyframes peach-chirp-happy-bob {9156  0%, 100% { transform: translateX(var(--bb-x, 0)) translateY(0); }9157  50%      { transform: translateX(var(--bb-x, 0)) translateY(-3px); }9158}91599160/* Bird internal -------------------------------------------------------- */9161.peach-chirp-bird {9162  width: 108px;9163  height: 108px;9164  transform-origin: 50% 95%;9165}9166.peach-chirp-bird svg { width: 100%; height: 100%; overflow: visible; }91679168.peach-chirp-bird-body {9169  transform-origin: 50% 80%;9170  animation: peach-chirp-bird-bob 2.4s ease-in-out infinite;9171}9172@keyframes peach-chirp-bird-bob {9173  0%, 100% { transform: translateY(0) scale(1, 1); }9174  50%      { transform: translateY(-1.5px) scale(1.01, 0.99); }9175}91769177.peach-chirp-bird-eye-group {9178  animation: peach-chirp-blink 5.2s steps(1, end) infinite;9179  transform-origin: center;9180  transform-box: fill-box;9181}9182@keyframes peach-chirp-blink {9183  0%, 92%, 96%, 100% { transform: scaleY(1); }9184  94%                { transform: scaleY(0.05); }9185}91869187/* Pose: chirping — beak opens, head bobs, aura blooms */9188.peach-chirp-bird-pose-chirping .peach-chirp-bird-body {9189  animation:9190    peach-chirp-bird-bob 2.4s ease-in-out infinite,9191    peach-chirp-squeeze 1.7s ease-in-out infinite;9192}9193@keyframes peach-chirp-squeeze {9194  0%, 70%, 100% { transform-origin: 50% 85%; }9195  78%           { transform: scale(1.04, 0.96) translateY(1px); }9196  86%           { transform: scale(0.98, 1.02); }9197}9198.peach-chirp-bird-pose-chirping .peach-chirp-bird-head-group {9199  animation: peach-chirp-head-bob 1.7s ease-in-out infinite;9200}9201@keyframes peach-chirp-head-bob {9202  0%, 70%, 100% { transform: translateY(0) rotate(0); }9203  78%           { transform: translateY(-3px) rotate(-4deg); }9204  86%           { transform: translateY(-1px) rotate(-2deg); }9205}9206.peach-chirp-bird-pose-chirping .peach-chirp-bird-beak {9207  animation: peach-chirp-beak-open 1.7s ease-in-out infinite;9208}9209@keyframes peach-chirp-beak-open {9210  0%, 70%, 100% { transform: rotate(0) scaleX(1); }9211  78%           { transform: rotate(-14deg) scaleX(1.05) translateY(-1px); }9212  86%           { transform: rotate(-6deg); }9213}9214.peach-chirp-bird-pose-chirping .peach-chirp-bird-aura {9215  animation: peach-chirp-aura 1.7s ease-in-out infinite;9216}9217@keyframes peach-chirp-aura {9218  0%, 100% { opacity: 0; }9219  50%      { opacity: 0.8; }9220}9221.peach-chirp-bird-pose-chirping .peach-chirp-bird-tail {9222  animation: peach-chirp-tail-twitch 1.7s ease-in-out infinite;9223  transform-origin: 100% 50%;9224}9225@keyframes peach-chirp-tail-twitch {9226  0%, 75%, 100% { transform: rotate(0); }9227  82%           { transform: rotate(-3deg) translateX(-1px); }9228}92299230/* Pose: attentive — head tilts toward partner */9231.peach-chirp-bird-pose-attentive .peach-chirp-bird-head-group {9232  animation: peach-chirp-head-tilt 0.6s cubic-bezier(.4, 1.6, .5, 1) both;9233}9234@keyframes peach-chirp-head-tilt {9235  0%   { transform: rotate(0) translateY(0); }9236  60%  { transform: rotate(-10deg) translateY(-1px) translateX(2px); }9237  100% { transform: rotate(-6deg); }9238}9239.peach-chirp-bird-pose-attentive .peach-chirp-bird-tail {9240  animation: peach-chirp-tail-cock 0.6s cubic-bezier(.4, 1.6, .5, 1) both;9241  transform-origin: 100% 50%;9242}9243@keyframes peach-chirp-tail-cock {9244  0%   { transform: rotate(0); }9245  100% { transform: rotate(-4deg); }9246}92479248/* Pose: happy — wing flutter, tuft perk, tail wag */9249.peach-chirp-bird-pose-happy .peach-chirp-bird-wing {9250  transform-origin: 80% 60%;9251  animation: peach-chirp-wing-flutter 0.32s ease-in-out 5;9252}9253@keyframes peach-chirp-wing-flutter {9254  0%, 100% { transform: rotate(0) translateY(0); }9255  50%      { transform: rotate(-16deg) translateY(-2px); }9256}9257.peach-chirp-bird-pose-happy .peach-chirp-bird-tuft {9258  transform-origin: 0% 100%;9259  animation: peach-chirp-tuft-perk 0.4s ease-in-out 3;9260}9261@keyframes peach-chirp-tuft-perk {9262  0%, 100% { transform: rotate(0); }9263  50%      { transform: rotate(-15deg) translateY(-1px); }9264}9265.peach-chirp-bird-pose-happy .peach-chirp-bird-tail {9266  transform-origin: 100% 50%;9267  animation: peach-chirp-tail-wag 0.5s ease-in-out 4;9268}9269@keyframes peach-chirp-tail-wag {9270  0%, 100% { transform: rotate(0); }9271  25%      { transform: rotate(6deg); }9272  75%      { transform: rotate(-6deg); }9273}9274.peach-chirp-bird-pose-happy .peach-chirp-bird-head-group {9275  animation: peach-chirp-head-perk 0.5s ease-out;9276}9277@keyframes peach-chirp-head-perk {9278  0%   { transform: translateY(0); }9279  40%  { transform: translateY(-3px) rotate(2deg); }9280  100% { transform: translateY(0); }9281}92829283/* Pose: sad — body droops forward */9284.peach-chirp-bird-pose-sad .peach-chirp-bird-body {9285  transform: translateY(5px) rotate(-2deg);9286  animation: none;9287}9288.peach-chirp-bird-pose-sad .peach-chirp-bird-head-group {9289  transform: translateY(4px) rotate(8deg);9290}9291.peach-chirp-bird-pose-sad .peach-chirp-bird-tuft { transform: rotate(15deg) translateY(2px); }9292.peach-chirp-bird-pose-sad .peach-chirp-bird-tail { transform: rotate(8deg) translateY(2px); }92939294.peach-chirp-bird-pose-hidden { opacity: 0; }92959296/* Chirp arcs ----------------------------------------------------------- */9297.peach-chirp-arcs {9298  position: absolute;9299  top: 18px;9300  width: 96px;9301  height: 70px;9302  pointer-events: none;9303}9304.peach-chirp-arcs-right { right: -60px; }9305.peach-chirp-arcs-left  { left: -60px; transform: scaleX(-1); }9306.peach-chirp-arc {9307  position: absolute;9308  top: 50%;9309  left: 0;9310  width: 40px;9311  height: 40px;9312  margin-top: -20px;9313  border: 1.2px solid #f4d5a8;9314  border-color: transparent #f4d5a8 transparent transparent;9315  border-radius: 50%;9316  opacity: 0;9317  animation: peach-chirp-arc-expand 1.7s cubic-bezier(.2, .6, .2, 1) infinite;9318}9319@keyframes peach-chirp-arc-expand {9320  0%   { transform: scale(0.4); opacity: 0; }9321  20%  { opacity: 0.9; }9322  100% { transform: scale(1.6); opacity: 0; }9323}93249325/* Flight wave ---------------------------------------------------------- */9326.peach-chirp-flight-track {9327  position: absolute;9328  inset: 32px 36px 38px 36px;9329  pointer-events: none;9330}9331.peach-chirp-flight-wave {9332  position: absolute;9333  top: 8px;9334  left: 76px;9335  right: 76px;9336  height: 60px;9337  width: auto;9338  opacity: 0;9339  transition: opacity 0.15s ease;9340  stroke: #f4d5a8;9341  fill: none;9342}9343.peach-chirp-flight-wave[data-from="mobile"] { transform: scaleX(-1); }9344.peach-chirp-flight-wave.is-visible { opacity: 1; }9345.peach-chirp-flight-path,9346.peach-chirp-flight-path-2 {9347  stroke-dasharray: 240;9348  stroke-dashoffset: 240;9349  stroke-linecap: round;9350  fill: none;9351}9352.peach-chirp-flight-path   { stroke-width: 1.6; stroke: #f4d5a8; }9353.peach-chirp-flight-path-2 { stroke-width: 1; stroke: #f4d5a8; opacity: 0.55; }9354.peach-chirp-flight-wave.is-visible .peach-chirp-flight-path {9355  animation: peach-chirp-fly 700ms cubic-bezier(.2,.6,.2,1) forwards;9356}9357.peach-chirp-flight-wave.is-visible .peach-chirp-flight-path-2 {9358  animation: peach-chirp-fly 700ms cubic-bezier(.2,.6,.2,1) 80ms forwards;9359}9360@keyframes peach-chirp-fly {9361  0%   { stroke-dashoffset: 240; opacity: 0; }9362  20%  { opacity: 1; }9363  100% { stroke-dashoffset: -120; opacity: 0; }9364}93659366/* Connection dot ------------------------------------------------------- */9367.peach-chirp-dot {9368  position: absolute;9369  top: 50%; left: 50%;9370  transform: translate(-50%, -50%);9371  width: 40px; height: 40px;9372  opacity: 0;9373  pointer-events: none;9374  transition: opacity 0.3s ease;9375  color: var(--peach-accent);9376}9377.peach-chirp-dot.is-visible { opacity: 1; }9378.peach-chirp-dot-glow {9379  position: absolute; top: 50%; left: 50%;9380  transform: translate(-50%, -50%);9381  width: 38px; height: 38px;9382  border-radius: 50%;9383  filter: blur(10px);9384  opacity: 0.55;9385  background: var(--peach-accent);9386  animation: peach-chirp-dot-bloom 1.4s ease-out;9387}9388.peach-chirp-dot-core {9389  position: absolute; top: 50%; left: 50%;9390  transform: translate(-50%, -50%);9391  width: 8px; height: 8px;9392  border-radius: 50%;9393  background: var(--peach-accent);9394  box-shadow: 0 0 12px currentColor;9395  animation: peach-chirp-dot-core 1.4s ease-out;9396}9397.peach-chirp-dot-ring {9398  position: absolute; top: 50%; left: 50%;9399  width: 60px; height: 60px;9400  transform: translate(-50%, -50%);9401  animation: peach-chirp-dot-ring 1.4s linear;9402  stroke: var(--peach-accent);9403}9404@keyframes peach-chirp-dot-bloom {9405  0%   { width: 4px; height: 4px; opacity: 0; }9406  35%  { width: 60px; height: 60px; opacity: 0.7; }9407  100% { width: 38px; height: 38px; opacity: 0.55; }9408}9409@keyframes peach-chirp-dot-core {9410  0%   { width: 0; height: 0; }9411  35%  { width: 12px; height: 12px; }9412  100% { width: 8px; height: 8px; }9413}9414@keyframes peach-chirp-dot-ring {9415  0%   { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }9416  35%  { transform: translate(-50%, -50%) scale(1.0); opacity: 0.6; }9417  100% { transform: translate(-50%, -50%) scale(1.4); opacity: 0; }9418}94199420/* Motes — drift upward across the stage */9421.peach-chirp-motes {9422  position: absolute;9423  inset: 0;9424  pointer-events: none;9425}9426.peach-chirp-mote {9427  position: absolute;9428  width: 2px; height: 2px;9429  background: color-mix(in srgb, var(--peach-text) 35%, transparent);9430  border-radius: 50%;9431  bottom: 32px;9432  left: calc(50% + (var(--mote-i, 0) - 4) * 24px);9433  opacity: 0;9434  animation: peach-chirp-mote-drift 6s linear infinite;9435  animation-delay: calc(var(--mote-i, 0) * 0.7s);9436}9437@keyframes peach-chirp-mote-drift {9438  0%   { transform: translateY(0); opacity: 0; }9439  10%  { opacity: 0.6; }9440  90%  { opacity: 0.1; }9441  100% { transform: translateY(-120px) translateX(8px); opacity: 0; }9442}94439444/* Status copy ---------------------------------------------------------- */9445.peach-chirp-copy-host {9446  margin: 4px 4px 10px;9447  text-align: center;9448  min-height: 50px;9449}9450.peach-chirp-copy {9451  animation: peach-chirp-copy-in 0.35s ease both;9452}9453@keyframes peach-chirp-copy-in {9454  from { opacity: 0; transform: translateY(4px); }9455  to   { opacity: 1; transform: translateY(0); }9456}9457.peach-chirp-headline {9458  font-family: var(--font-display, Georgia, serif);9459  font-style: italic;9460  font-size: 20px;9461  font-weight: 500;9462  line-height: 1.2;9463  letter-spacing: 0.005em;9464  color: var(--peach-t0);9465  margin-bottom: 6px;9466}9467.peach-chirp-copy-listening .peach-chirp-headline,9468.peach-chirp-copy-chirping .peach-chirp-headline,9469.peach-chirp-copy-idle .peach-chirp-headline {9470  font-family: inherit;9471  font-style: normal;9472  font-weight: 500;9473  font-size: 15px;9474  color: var(--peach-t0);9475  letter-spacing: 0;9476}9477.peach-chirp-copy-paired .peach-chirp-headline {9478  color: var(--peach-t0);9479  font-weight: 600;9480}9481.peach-chirp-sub {9482  font-size: 12.5px;9483  line-height: 1.45;9484  color: var(--peach-t1);9485  max-width: 280px;9486  margin: 0 auto;9487  text-wrap: pretty;9488}94899490/* Status action -------------------------------------------------------- */9491.peach-chirp-action {9492  margin: 2px 4px 10px;9493  margin-top: auto;9494  display: flex;9495  flex-direction: column;9496  gap: 8px;9497}9498.peach-chirp-mic-notice {9499  margin: 0;9500  font-size: 0.625rem;9501  color: var(--peach-t2);9502  line-height: 1.4;9503}9504.peach-chirp-action-waiting {9505  display: flex;9506  align-items: center;9507  justify-content: space-between;9508  gap: 12px;9509}9510.peach-chirp-cancel {9511  min-width: 96px;9512}9513.peach-chirp-listening {9514  display: inline-flex; align-items: center; gap: 4px;9515  font-family: var(--peach-mono, ui-monospace, monospace);9516  font-size: 9.5px;9517  text-transform: uppercase;9518  letter-spacing: 0.12em;9519  color: var(--peach-t1);9520  padding: 8px 10px;9521}9522.peach-chirp-listen-dot {9523  width: 4px; height: 4px;9524  border-radius: 50%;9525  background: color-mix(in srgb, var(--peach-accent) 55%, transparent);9526  animation: peach-chirp-listen-pulse 1.2s ease-in-out infinite;9527}9528.peach-chirp-listen-dot:nth-child(2) { animation-delay: 0.2s; }9529.peach-chirp-listen-dot:nth-child(3) { animation-delay: 0.4s; }9530.peach-chirp-listen-label { margin-left: 6px; }9531@keyframes peach-chirp-listen-pulse {9532  0%, 100% { opacity: 0.25; transform: scale(0.9); }9533  50%      { opacity: 1;     transform: scale(1.15); }9534}95359536.peach-chirp-action-handshake {9537  display: flex;9538  flex-direction: column;9539  align-items: center;9540  gap: 8px;9541  padding: 8px 4px;9542}9543.peach-chirp-meter {9544  width: 100%;9545  max-width: 280px;9546  height: 2px;9547  background: color-mix(in srgb, var(--peach-t0) 10%, transparent);9548  border-radius: 2px;9549  position: relative;9550  overflow: hidden;9551}9552.peach-chirp-meter-bar {9553  position: absolute;9554  top: 0; bottom: 0;9555  width: 30%;9556  left: -30%;9557  background: linear-gradient(90deg, transparent, var(--peach-accent), transparent);9558  animation: peach-chirp-meter-sweep 1.4s ease-in-out infinite;9559}9560@keyframes peach-chirp-meter-sweep {9561  0%   { left: -30%; }9562  100% { left: 100%; }9563}9564.peach-chirp-meter-label {9565  font-family: var(--peach-mono, ui-monospace, monospace);9566  font-size: 9.5px;9567  text-transform: uppercase;9568  letter-spacing: 0.14em;9569  color: var(--peach-t1);9570}95719572.peach-chirp-action-paired {9573  display: flex;9574  align-items: center;9575  gap: 10px;9576}9577.peach-chirp-device-confirm {9578  flex: 1;9579  display: inline-flex;9580  align-items: center;9581  gap: 8px;9582  padding: 9px 10px 9px 12px;9583  border-radius: 10px;9584  background: color-mix(in srgb, #76b6e8 12%, transparent);9585  border: 1px solid color-mix(in srgb, #76b6e8 30%, transparent);9586  font-size: 12.5px;9587  color: var(--peach-t0);9588  min-width: 0;9589}9590.peach-chirp-device-confirm-glyph {9591  display: inline-flex;9592  color: #76b6e8;9593}9594.peach-chirp-device-confirm-name {9595  flex: 1;9596  overflow: hidden;9597  text-overflow: ellipsis;9598  white-space: nowrap;9599}9600.peach-chirp-device-confirm-trust {9601  font-family: var(--peach-mono, ui-monospace, monospace);9602  font-size: 9.5px;9603  text-transform: uppercase;9604  letter-spacing: 0.1em;9605  color: #76b6e8;9606  padding: 2px 6px;9607  border-radius: 4px;9608  background: color-mix(in srgb, #76b6e8 14%, transparent);9609}9610.peach-chirp-done {9611  min-width: 80px;9612}9613.peach-chirp-retry {9614  align-self: center;9615  display: block;9616  margin: 6px auto 0;9617  min-width: 120px;9618}9619.peach-chirp-mic-help {9620  font-size: 12px;9621  color: var(--peach-t1);9622  text-align: center;9623  max-width: 320px;9624  margin: 0 auto;9625}96269627/* Rest state — bird stage at idle pose, primary CTA + paired list */9628.peach-chirp-pair[data-phase="idle"] .peach-chirp-stage {9629  /* Slightly shorter stage when at rest — no flight wave or motes to fill it */9630  height: 160px;9631}9632.peach-chirp-pair-start {9633  width: 100%;9634  display: inline-flex;9635  align-items: center;9636  justify-content: center;9637  gap: 8px;9638  padding: 11px 14px;9639  border-radius: 10px;9640  background: var(--peach-accent);9641  border: 1px solid color-mix(in srgb, var(--peach-accent) 80%, #000);9642  color: #1a0905;9643  font-family: inherit;9644  font-size: 13px;9645  font-weight: 600;9646  letter-spacing: 0.01em;9647  cursor: pointer;9648  transition: filter 0.15s ease, transform 0.1s ease;9649}9650.peach-chirp-pair-start:hover { filter: brightness(1.08); }9651.peach-chirp-pair-start:active { transform: translateY(1px); }96529653.peach-chirp-paired-section {9654  margin-top: 14px;9655  display: flex;9656  flex-direction: column;9657  gap: 8px;9658}9659.peach-chirp-paired-heading {9660  margin: 0;9661  font-family: var(--peach-mono, ui-monospace, monospace);9662  font-size: 10px;9663  font-weight: 500;9664  letter-spacing: 0.14em;9665  text-transform: uppercase;9666  color: var(--peach-t1);9667}96689669/* Footer --------------------------------------------------------------- */9670.peach-chirp-foot {9671  margin: 10px -4px -2px;9672  margin-top: auto;9673}9674.peach-chirp-foot-divider {9675  height: 1px;9676  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--peach-t0) 18%, transparent), transparent);9677  margin-bottom: 10px;9678}9679.peach-chirp-foot-text {9680  font-size: 11px;9681  line-height: 1.5;9682  color: var(--peach-t1);9683  text-align: center;9684  padding: 0 4px;9685  text-wrap: pretty;9686}96879688/* Screen-reader-only live region. Kept off the visual flow but read by9689   assistive tech as the pairing phase advances. */9690.peach-sr-only {9691  position: absolute;9692  width: 1px; height: 1px;9693  padding: 0; margin: -1px;9694  overflow: hidden;9695  clip: rect(0, 0, 0, 0);9696  white-space: nowrap;9697  border: 0;9698}96999700/* Reduced motion — stage simplifies to opacity transitions only */9701@media (prefers-reduced-motion: reduce) {9702  .peach-chirp-bird-body,9703  .peach-chirp-bird-head-group,9704  .peach-chirp-bird-beak,9705  .peach-chirp-bird-wing,9706  .peach-chirp-bird-tuft,9707  .peach-chirp-bird-tail,9708  .peach-chirp-bird-eye-group,9709  .peach-chirp-bird-aura,9710  .peach-chirp-arc,9711  .peach-chirp-flight-path,9712  .peach-chirp-flight-path-2,9713  .peach-chirp-dot-glow,9714  .peach-chirp-dot-core,9715  .peach-chirp-dot-ring,9716  .peach-chirp-mote,9717  .peach-chirp-meter-bar,9718  .peach-chirp-listen-dot,9719  .peach-chirp-bird-slot,9720  .peach-chirp-bird-slot-mobile {9721    animation: none !important;9722    transition: opacity 0.2s linear !important;9723  }9724}97259726/* ─────────────────────────────────────────────────────────────────9727   Settings → Sync surface (v3 ChirpSync). Wraps the same bird9728   animation used by the pairing flow with a paired-devices list and9729   the "Pair a device" CTA.9730   ───────────────────────────────────────────────────────────────── */9731.peach-chirp-settings {9732  position: absolute;9733  inset: 0;9734  z-index: 3;9735  display: flex;9736  flex-direction: column;9737  gap: 18px;9738  padding: 14px 12px 12px;9739  width: 100%;9740  box-sizing: border-box;9741  overflow-y: auto;9742  overflow-x: hidden;9743  /* Same warm Chirp surface as the pairing screen — unifies the two views. */9744  background:9745    radial-gradient(ellipse 70% 50% at 30% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent), transparent 70%),9746    var(--peach-bg);9747  color: var(--peach-t0);9748  isolation: isolate;9749  /* Hide native scrollbar — content fits 99% of the time and a chunky9750     gutter ruins the surface. */9751  scrollbar-width: none;9752  animation: peach-chirp-overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;9753}9754.peach-chirp-settings::-webkit-scrollbar { width: 0; height: 0; display: none; }9755.peach-chirp-settings::before {9756  content: '';9757  position: absolute;9758  inset: 0;9759  pointer-events: none;9760  background: radial-gradient(ellipse 90% 30% at 50% 0%, color-mix(in srgb, var(--peach-accent) 6%, transparent), transparent 70%);9761  z-index: 0;9762}9763.peach-chirp-settings > * { position: relative; z-index: 1; }97649765.peach-chirp-settings--pairing {9766  padding: 0;9767  align-items: stretch;9768  justify-content: stretch;9769  background: none;9770  isolation: auto;9771}9772.peach-chirp-settings--pairing::before { display: none; }97739774.peach-chirp-settings-header {9775  display: flex;9776  align-items: center;9777  gap: 10px;9778}9779.peach-chirp-settings-title {9780  margin: 0;9781  font-family: var(--font-display, Georgia, serif);9782  font-style: italic;9783  font-size: 24px;9784  font-weight: 500;9785  line-height: 1;9786  color: var(--peach-t0);9787  letter-spacing: 0.005em;9788}9789.peach-chirp-settings-section {9790  margin: 6px 0 -4px;9791  font-size: 11px;9792  font-weight: 600;9793  letter-spacing: 0.08em;9794  text-transform: uppercase;9795  color: var(--peach-text-muted);9796}9797.peach-chirp-settings-error {9798  font-size: 12px;9799  padding: 8px 10px;9800  border-radius: 8px;9801  background: color-mix(in srgb, var(--peach-danger, #c25b4a) 18%, transparent);9802  color: var(--peach-text);9803}9804.peach-chirp-settings-footer {9805  margin-top: auto;9806  padding-top: 18px;9807  font-size: 11.5px;9808  line-height: 1.5;9809  color: var(--peach-text-muted);9810  text-align: center;9811}98129813/* Hero card shown when no devices are paired yet. */9814.peach-chirp-hero {9815  display: flex;9816  flex-direction: column;9817  align-items: center;9818  gap: 12px;9819  padding: 20px 12px 8px;9820  text-align: center;9821}9822.peach-chirp-hero-svg {9823  display: block;9824  max-width: 100%;9825  filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--peach-accent) 25%, transparent));9826}9827.peach-chirp-hero-headline {9828  margin: 0;9829  font-family: var(--font-display, Georgia, serif);9830  font-style: italic;9831  font-size: 20px;9832  font-weight: 500;9833  line-height: 1.2;9834  letter-spacing: 0.005em;9835  color: var(--peach-t0);9836}9837.peach-chirp-hero-sub {9838  margin: 0;9839  font-size: 13px;9840  line-height: 1.5;9841  color: var(--peach-t1);9842  max-width: 320px;9843  text-wrap: pretty;9844}98459846.peach-chirp-pair-cta {9847  display: flex;9848  justify-content: center;9849  padding: 4px 0 6px;9850}9851.peach-chirp-pair-button {9852  display: inline-flex;9853  align-items: center;9854  gap: 8px;9855  min-width: 220px;9856  justify-content: center;9857}9858.peach-chirp-pair-button-icon {9859  flex: 0 0 auto;9860}98619862/* Paired devices list. Roomy rows that look at home next to the rest9863   of Settings; stale rows get a soft warm-warning border tint. */9864.peach-chirp-device-list {9865  list-style: none;9866  margin: 0;9867  padding: 0;9868  display: flex;9869  flex-direction: column;9870  gap: 8px;9871}9872.peach-chirp-device-row {9873  display: flex;9874  align-items: center;9875  gap: 12px;9876  padding: 12px;9877  border-radius: 10px;9878  background: color-mix(in srgb, var(--peach-bg-elevated, var(--peach-bg)) 88%, var(--peach-accent) 12%);9879  border: 1px solid color-mix(in srgb, var(--peach-accent) 12%, transparent);9880}9881.peach-chirp-device-row[data-stale="true"] {9882  border-color: color-mix(in srgb, var(--peach-warn, #d29257) 36%, transparent);9883}9884.peach-chirp-device-icon {9885  width: 32px;9886  height: 32px;9887  display: flex;9888  align-items: center;9889  justify-content: center;9890  border-radius: 8px;9891  color: var(--peach-text);9892  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);9893}9894.peach-chirp-device-info {9895  flex: 1;9896  display: flex;9897  flex-direction: column;9898  gap: 2px;9899  min-width: 0;9900}9901.peach-chirp-device-name {9902  font-size: 14px;9903  font-weight: 600;9904  color: var(--peach-text);9905  overflow: hidden;9906  text-overflow: ellipsis;9907  white-space: nowrap;9908}9909.peach-chirp-device-meta {9910  font-size: 11.5px;9911  color: var(--peach-text-muted);9912  display: flex;9913  flex-wrap: wrap;9914  align-items: center;9915  gap: 8px;9916}9917.peach-chirp-device-badge {9918  font-size: 10.5px;9919  font-weight: 500;9920  letter-spacing: 0.02em;9921  padding: 2px 6px;9922  border-radius: 999px;9923  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);9924  color: var(--peach-text);9925}9926.peach-chirp-device-stale {9927  font-size: 10.5px;9928  font-weight: 500;9929  color: var(--peach-warn, #d29257);9930}9931.peach-chirp-device-remove {9932  flex: 0 0 auto;9933  color: var(--peach-text-muted);9934}9935.peach-chirp-device-remove:hover {9936  color: var(--peach-danger, #c25b4a);9937}9938.peach-chirp-unpair-confirm {9939  display: flex;9940  gap: 6px;9941  align-items: center;9942}99439944/* Pro-gate card — soft upsell with the mobile bird perched, chirping. */9945.peach-chirp-pro-card {9946  position: relative;9947  margin: 18px 12px;9948  padding: 18px 20px 22px;9949  border-radius: 22px;9950  background:9951    radial-gradient(140% 90% at 50% 0%,9952      color-mix(in srgb, var(--peach-accent) 18%, transparent) 0%,9953      transparent 60%),9954    color-mix(in srgb, var(--peach-bg-elevated, var(--peach-bg)) 88%, var(--peach-accent) 12%);9955  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);9956  box-shadow:9957    0 1px 0 color-mix(in srgb, var(--peach-accent) 8%, transparent) inset,9958    0 18px 40px -24px rgba(0, 0, 0, 0.45);9959  display: flex;9960  flex-direction: column;9961  align-items: center;9962  gap: 10px;9963  text-align: center;9964  overflow: hidden;9965}9966.peach-chirp-pro-stage {9967  position: relative;9968  width: 220px;9969  height: 140px;9970  display: flex;9971  align-items: flex-end;9972  justify-content: center;9973  margin-bottom: 2px;9974}9975.peach-chirp-pro-bird-slot {9976  width: 140px;9977  height: 132px;9978  display: flex;9979  align-items: flex-end;9980  justify-content: center;9981  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.35));9982}9983.peach-chirp-pro-bird-slot .peach-chirp-bird {9984  width: 100%;9985  height: 100%;9986}9987.peach-chirp-pro-bird-slot .peach-chirp-bird svg {9988  width: 100%;9989  height: 100%;9990  overflow: visible;9991}9992.peach-chirp-pro-chirp {9993  position: absolute;9994  top: 14px;9995  right: 8px;9996  width: 96px;9997  height: 80px;9998  color: var(--peach-accent);9999  animation: peach-chirp-pulse 2.6s ease-in-out infinite;10000  transform-origin: 0% 50%;10001  pointer-events: none;10002}10003@keyframes peach-chirp-pulse {10004  0%, 100% { opacity: 0.35; transform: translateX(0) scale(0.92); }10005  45%      { opacity: 1;    transform: translateX(2px) scale(1); }10006  70%      { opacity: 0.6;  transform: translateX(4px) scale(1.04); }10007}10008@media (prefers-reduced-motion: reduce) {10009  .peach-chirp-pro-chirp { animation: none; opacity: 0.7; }10010}10011.peach-chirp-pro-headline {10012  margin: 4px 0 0;10013  font-family: var(--font-display, "Cormorant Garamond", serif);10014  font-style: italic;10015  font-size: 19px;10016  font-weight: 500;10017  letter-spacing: 0.01em;10018  color: var(--peach-t0);10019  max-width: 280px;10020  line-height: 1.25;10021}10022.peach-chirp-pro-body {10023  margin: 0;10024  font-size: 13px;10025  line-height: 1.55;10026  color: var(--peach-t1);10027  max-width: 300px;10028}10029.peach-chirp-pro-cta {10030  margin-top: 4px;10031}10032.peach-chirp-pro-foot {10033  margin: 2px 0 0;10034  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;10035  font-size: 0.625rem;10036  letter-spacing: 0.08em;10037  text-transform: uppercase;10038  color: var(--peach-t2);10039  opacity: 0.75;10040}1004110042/* Shell border and shadow in light mode: match dark mode's near-invisible10043   border weight so the popup frame looks the same in both themes. */10044.light .peach-shell,10045.light .peach-screen {10046  border-color: rgba(26, 18, 8, 0.07);10047  box-shadow:10048    0 2px 8px rgba(80, 56, 32, 0.08),10049    0 14px 48px rgba(80, 56, 32, 0.10),10050    0 0 0 1px rgba(26, 18, 8, 0.04);10051}