popup.css

103.0 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: 10px;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: "Cormorant Garamond", "Times New Roman", serif;168  font-size: 15px;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.peach-wordmark-wrap { display: flex; align-items: center; gap: 5px; }209.peach-status-pip {210  width: 5px;211  height: 5px;212  border-radius: 50%;213  background: var(--peach-t3);214  display: inline-flex;215  flex-shrink: 0;216  transition: background 400ms ease, box-shadow 400ms ease;217}218.peach-chrome-actions { display: flex; gap: 6px; }219220/* Shell body */221.peach-shell-body {222  position: relative;223  display: grid;224  grid-template-rows: 1fr auto;225  min-height: 0;226  min-width: 0;227  width: 100%;228  overflow: hidden;229  height: 100%;230}231.peach-shell-veil {232  position: absolute; inset: 0;233  background: #000; opacity: 0;234  pointer-events: none; z-index: 1;235}236.peach-shell[data-motion-phase="enter"] .peach-shell-body {237  animation: peach-shell-fade-in var(--peach-dur-600) var(--peach-curve-arrival) both;238}239.peach-shell[data-motion-phase="exit"] .peach-shell-veil {240  animation: peach-veil-in 300ms var(--peach-curve-departure) forwards;241}242243/* Content frame */244.peach-content-frame {245  display: grid;246  grid-template-rows: 1fr auto;247  grid-template-columns: minmax(0, 1fr);248  align-content: start;249  min-height: 0;250  min-width: 0;251  overflow: hidden;252  transition: opacity 80ms ease, transform 80ms ease;253}254.peach-content-frame.navigating {255  opacity: 0.93;256  transform: translateX(2px);257}258.peach-content-frame[data-content-phase="enter"] {259  animation: peach-content-enter 135ms ease-out both;260}261.peach-content-frame[data-content-phase="exit"] {262  animation: peach-content-exit 95ms ease-in forwards;263}264.peach-content-frame[data-content-phase="idle"] { opacity: 1; transform: none; }265266/* Stage */267.peach-stage {268  padding: 10px 20px 12px;269  display: grid;270  gap: 12px;271  align-content: start;272  min-width: 0;273  min-height: 0;274  max-width: 100%;275  overflow-y: auto;276  overflow-x: hidden;277  scrollbar-width: none;278  -ms-overflow-style: none;279  overscroll-behavior: contain;280}281.peach-stage::-webkit-scrollbar { display: none; }282283/* Entry name */284.peach-entry-name-wrap { position: relative; overflow: hidden; max-width: 100%; }285.peach-entry-header {286  position: relative;287  z-index: 1;288  display: flex;289  align-items: flex-start;290  gap: 6px;291  min-width: 0;292}293.peach-entry-header-name {294  flex: 1;295  min-width: 0;296}297.peach-entry-name {298  margin: 0;299  font-family: "Cormorant Garamond", "Times New Roman", serif;300  font-style: italic; font-weight: 400;301  font-size: 44px; line-height: 0.95;302  color: var(--peach-t0);303  display: -webkit-box;304  -webkit-line-clamp: 2;305  -webkit-box-orient: vertical;306  overflow: hidden;307  text-wrap: balance;308}309.peach-entry-name--lg { font-size: 40px; }310.peach-entry-name--xl { font-size: 34px; line-height: 0.98; }311.peach-entry-name--xxl { font-size: 30px; line-height: 1.02; }312.peach-entry-name-text { display: block; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; }313314/* Trash icon in entry header */315.peach-entry-trash-btn {316  flex-shrink: 0;317  padding: 4px;318  margin-top: 4px;319  background: transparent;320  border: none;321  cursor: pointer;322  color: var(--peach-t2);323  border-radius: 4px;324  transition: color 140ms ease, background 140ms ease;325  display: flex;326  align-items: center;327  justify-content: center;328}329.peach-entry-trash-btn:hover {330  color: var(--peach-t1);331  background: var(--peach-t3);332}333.peach-entry-trash-confirm {334  display: flex;335  align-items: center;336  gap: 6px;337  flex-shrink: 0;338  margin-top: 6px;339  flex-wrap: nowrap;340}341.peach-entry-trash-confirm-label {342  font-family: var(--font-mono);343  font-size: 9px;344  letter-spacing: 0.1em;345  color: var(--peach-t2);346  white-space: nowrap;347}348.peach-entry-name-button {349  padding: 0;350  background: transparent;351  text-align: left;352  cursor: pointer;353  max-width: 100%;354  overflow: hidden;355  display: block;356}357.peach-entry-name-char {358  display: inline-block;359  white-space: pre;360  opacity: 0;361  transform: translateY(0.22em);362  animation: peach-char-enter 380ms var(--peach-curve-arrival) forwards;363  animation-delay: calc(var(--char-index, 0) * 20ms);364}365366/* Domain */367.peach-domain { border-top: 1px solid var(--peach-t3); padding-top: 9px; }368.peach-domain-row {369  width: 100%; border: 0; background: transparent; color: inherit;370  padding: 0; display: flex; justify-content: space-between; align-items: baseline;371  cursor: default;372}373.peach-domain-value {374  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;375  font-size: 10px; font-style: italic;376  letter-spacing: 0.12em; color: var(--peach-t1);377}378379/* Fields */380.peach-fields { display: grid; gap: 10px; }381.peach-field-card { display: grid; gap: 7px; }382.peach-label {383  font-family: Inter, system-ui, sans-serif;384  text-transform: uppercase; letter-spacing: 0.2em;385  font-size: 8px; color: var(--peach-t2);386}387.peach-field-value-row {388  display: flex; justify-content: space-between;389  align-items: center; gap: 8px;390  min-width: 0;391}392.peach-field-value {393  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;394  font-size: 13px; color: var(--peach-t1);395  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;396  flex: 1;397  min-width: 0;398}399.peach-password-value {400  display: inline-flex;401  align-items: center;402  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;403  font-size: 16px; letter-spacing: 0.3em; color: var(--peach-t0);404  overflow: hidden;405  text-overflow: ellipsis;406  white-space: nowrap;407  flex: 1;408  min-width: 0;409  max-width: 100%;410}411.peach-password-value.is-revealed {412  font-size: 14px;413  letter-spacing: 0.08em;414}415.peach-password-text,416.peach-password-mask {417  display: block;418  width: 100%;419  overflow: hidden;420  text-overflow: ellipsis;421  white-space: nowrap;422}423.peach-field-actions { display: flex; gap: 4px; align-items: center; }424.peach-password-strength { display: flex; align-items: center; gap: 8px; }425.peach-strength-bar { display: flex; gap: 3px; }426.peach-strength-seg { width: 28px; height: 4px; border-radius: 2px; background: #eee; }427.peach-strength-label {428  font-family: "IBM Plex Mono", monospace;429  font-style: italic;430  font-size: 9px;431  font-weight: 300;432  min-width: 36px;433  text-align: right;434  color: var(--peach-t2);435  letter-spacing: 0.06em;436}437438.peach-strength-hairline {439  display: flex;440  align-items: center;441  gap: 10px;442  margin-top: -2px;443}444445.peach-strength-hairline-track {446  flex: 1;447  height: 3px;448  border-radius: 2px;449  background: var(--peach-s2);450  overflow: hidden;451}452453.peach-strength-hairline-fill {454  height: 100%;455  border-radius: 2px;456  transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1),457    background 400ms ease;458}459460/* Note content (display) */461.peach-note-content {462  border-top: 1px solid var(--peach-t3);463  padding-top: 10px;464  font-family: "Cormorant Garamond", "Times New Roman", serif;465  font-size: 15px;466  line-height: 1.75;467  color: var(--peach-t1);468}469470/* ── Inline editing ─────────────────────────────────────────────────── */471472/* Clickable display values */473.peach-inline-clickable {474  cursor: text;475  border-radius: 3px;476  transition: background 150ms ease;477}478.peach-inline-clickable:hover {479  background: rgba(240, 232, 216, 0.05);480}481482/* Subtle "edit" hint that appears on hover */483.peach-inline-edit-hint {484  font-family: Inter, system-ui, sans-serif;485  font-size: 9px;486  text-transform: uppercase;487  letter-spacing: 0.14em;488  color: var(--peach-t2);489  opacity: 0;490  transition: opacity 120ms ease;491  pointer-events: none;492  margin-left: 6px;493  flex-shrink: 0;494}495.peach-domain-row:hover .peach-inline-edit-hint {496  opacity: 1;497}498499/* Title editing */500.peach-inline-title-wrap {501  display: flex;502  flex-direction: column;503  gap: 6px;504}505.peach-inline-title-input {506  font-family: "Cormorant Garamond", "Times New Roman", serif;507  font-style: italic;508  font-weight: 400;509  font-size: 40px;510  line-height: 0.95;511  color: var(--peach-t0);512  background: transparent;513  border: none;514  border-bottom: 1px solid var(--peach-accent);515  outline: none;516  width: 100%;517  padding: 2px 0;518}519520/* Generic inline field */521.peach-inline-field-wrap {522  display: flex;523  flex-direction: column;524  gap: 6px;525}526.peach-inline-input {527  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;528  font-size: 13px;529  color: var(--peach-t0);530  background: transparent;531  border: none;532  border-bottom: 1px solid var(--peach-accent);533  outline: none;534  width: 100%;535  padding: 3px 0;536}537.peach-inline-textarea {538  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;539  font-size: 11px;540  line-height: 1.7;541  color: var(--peach-t0);542  background: rgba(240, 232, 216, 0.04);543  border: 1px solid var(--peach-accent);544  border-radius: 4px;545  outline: none;546  width: 100%;547  padding: 8px;548  resize: vertical;549  min-height: 80px;550}551552/* Save / cancel row */553.peach-inline-actions {554  display: flex;555  gap: 6px;556  align-items: center;557}558.peach-inline-save-btn,559.peach-inline-cancel-btn {560  display: inline-flex;561  align-items: center;562  justify-content: center;563  width: 26px;564  height: 26px;565  border-radius: 4px;566  border: none;567  cursor: pointer;568  transition: background 140ms ease, opacity 140ms ease;569  flex-shrink: 0;570}571.peach-inline-save-btn {572  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.18);573  color: var(--peach-accent);574}575.peach-inline-save-btn:hover:not(:disabled) {576  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.30);577}578.peach-inline-cancel-btn {579  background: rgba(240, 232, 216, 0.06);580  color: var(--peach-t2);581}582.peach-inline-cancel-btn:hover:not(:disabled) {583  background: rgba(240, 232, 216, 0.12);584  color: var(--peach-t1);585}586.peach-inline-save-btn:disabled,587.peach-inline-cancel-btn:disabled {588  opacity: 0.4;589  cursor: not-allowed;590}591592/* Inline password generator wrapper */593.peach-inline-generator-wrap {594  margin-top: 10px;595  padding-top: 10px;596  border-top: 1px solid var(--peach-t3);597  display: flex;598  flex-direction: column;599  gap: 8px;600}601.peach-inline-generator-cancel {602  align-self: flex-start;603  font-size: 11px;604  color: var(--peach-t2);605}606607/* "is-editing" card state */608.peach-field-card.is-editing {609  background: rgba(240, 232, 216, 0.02);610  border-radius: 6px;611  padding: 8px;612  margin: -8px;613}614615/* Add notes button */616.peach-add-notes-btn {617  font-size: 11px;618  color: var(--peach-t2);619  margin-top: 6px;620  align-self: flex-start;621  padding: 4px 0;622}623624/* Delete row */625.peach-entry-delete-row {626  display: flex;627  align-items: center;628  gap: 8px;629  padding-top: 18px;630  margin-top: 8px;631  border-top: 1px solid var(--peach-t3);632}633.peach-delete-btn {634  font-size: 11px;635  color: var(--peach-t2);636  padding: 4px 0;637}638.peach-delete-confirm-text {639  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;640  font-size: 11px;641  font-style: italic;642  color: var(--peach-t2);643  flex-shrink: 0;644}645646/* TOTP band */647.peach-totp-band {648  border-top: 1px solid var(--peach-t3);649  padding: 12px 20px 14px;650  position: relative;651  display: grid;652  grid-template-columns: 1fr auto;653  gap: 10px;654}655.peach-totp-main {656  min-width: 0;657  cursor: pointer;658  user-select: none;659}660.peach-totp-code.is-copied { opacity: 0.55; transition: opacity 140ms ease; }661.peach-totp-code-row {662  display: flex;663  align-items: flex-end;664  gap: 10px;665  min-width: 0;666}667.peach-totp-code {668  margin: 2px 0 0;669  font-family: "Cormorant Garamond", "Times New Roman", serif;670  font-style: italic;671  font-weight: 300;672  font-size: 38px; color: var(--peach-accent);673  line-height: 0.95; min-height: 1em;674  min-width: 0;675}676.peach-totp-code-text {677  display: inline-flex;678  overflow: hidden;679  text-overflow: ellipsis;680  white-space: nowrap;681}682.peach-totp-copy-btn {683  margin-bottom: 2px;684  flex-shrink: 0;685  border-color: transparent;686}687.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }688.peach-totp-countdown {689  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;690  font-size: 22px; color: var(--peach-t1);691}692.peach-totp-ring { transform: rotate(-90deg); }693.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }694.peach-totp-ring-progress {695  fill: none; stroke: var(--peach-accent); stroke-width: 2;696  stroke-linecap: round;697  transition: stroke-dashoffset 1s linear, stroke 500ms ease;698}699/* Search bar */700.peach-search-wrap {701  border-top: 1px solid var(--peach-t3);702  background: var(--peach-s1);703  min-height: 54px; position: relative;704  box-shadow: inset 0 6px 18px transparent;705  transition: box-shadow 700ms ease;706}707.peach-search-wrap::before {708  content: "";709  position: absolute;710  left: 0;711  top: 0;712  height: 2px;713  width: var(--peach-totp-progress, 0%);714  background: var(--peach-accent);715  opacity: 0;716  transition: width 1s linear, opacity 180ms ease;717  pointer-events: none;718}719.peach-shell[data-totp-active="true"] .peach-search-wrap::before {720  opacity: 0.9;721}722.peach-shell[data-totp-active="true"] .peach-search-wrap {723  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);724}725726@keyframes peach-totp-code-flare {727  0%   { filter: brightness(1); }728  25%  { filter: brightness(1.3); }729  100% { filter: brightness(1); }730}731.peach-totp-code.is-hot {732  animation: peach-totp-code-flare 3000ms ease-in-out both;733}734.peach-search-bar {735  min-height: 54px;736  display: grid;737  grid-template-columns: auto minmax(0, 1fr) auto;738  align-items: center;739  gap: 8px; padding: 0 9px 0 12px;740}741.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }742.peach-search-input {743  border: 0; background: transparent; color: var(--peach-t0);744  font-family: "Cormorant Garamond", "Times New Roman", serif;745  font-style: italic; font-size: 18px;746  outline: none; width: 100%; min-width: 0; padding: 0;747  caret-color: var(--peach-accent);748}749.peach-search-input::placeholder { color: var(--peach-t2); }750.peach-search-meta {751  display: grid;752  grid-auto-flow: column;753  align-items: center;754  justify-content: end;755  gap: 6px;756  min-width: max-content;757}758.peach-search-counter {759  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;760  font-size: 10px; color: var(--peach-t2);761  display: inline-flex;762  align-items: center;763  line-height: 1;764}765.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }766767/* Buttons */768.peach-btn {769  border: 1px solid transparent; border-radius: 12px;770  background: transparent; color: var(--peach-t0);771  font-family: Inter, system-ui, sans-serif;772  font-size: 12px; letter-spacing: 0.02em; padding: 8px 12px;773  cursor: pointer;774  transition:775    background-color var(--peach-dur-80) var(--peach-curve-arrival),776    color var(--peach-dur-80) var(--peach-curve-arrival),777    border-color var(--peach-dur-150) var(--peach-curve-arrival);778}779.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }780.peach-btn:disabled {781  opacity: 0.45;782  cursor: not-allowed;783}784.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 11px; }785.peach-btn--md { min-height: 38px; }786.peach-btn--accent {787  background: var(--peach-accent);788  color: rgba(0,0,0,0.78);789  box-shadow:790    0 1px 0 rgba(255,255,255,0.22) inset,791    0 0 0 1px color-mix(in srgb, var(--peach-accent) 60%, transparent),792    0 4px 22px var(--peach-glow),793    0 0 32px color-mix(in srgb, var(--peach-accent) 28%, transparent);794}795.peach-btn--accent:hover:not(:disabled) {796  background: var(--peach-accent);797  filter: brightness(1.15) saturate(1.1);798  box-shadow:799    0 1px 0 rgba(255,255,255,0.3) inset,800    0 0 0 1px color-mix(in srgb, var(--peach-accent) 70%, transparent),801    0 6px 28px color-mix(in srgb, var(--peach-accent) 60%, transparent),802    0 0 40px color-mix(in srgb, var(--peach-accent) 38%, transparent);803}804.peach-btn--ghost { border-color: var(--peach-t3); color: var(--peach-t1); }805.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }806.peach-icon-btn {807  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;808  display: inline-flex; align-items: center; justify-content: center;809}810811.peach-btn:focus-visible {812  outline: none;813  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);814}815816/* Lock button */817.peach-lock-icon { transform-origin: center; }818.peach-lock-btn.is-locking { color: var(--peach-accent); }819.peach-lock-btn.is-locking .peach-lock-icon {820  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);821}822823/* Copy button */824.peach-copy-btn {825  position: relative; overflow: hidden;826  color: var(--peach-t2); border-color: var(--peach-t3);827}828.peach-copy-icon {829  display: inline-flex; align-items: center; justify-content: center;830  position: relative; z-index: 1;831}832.peach-copy-icon-svg { display: block; }833.peach-copy-sheen {834  position: absolute; inset: 0;835  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%);836  opacity: 0; transform: scaleX(0.15); transform-origin: left center;837}838.peach-copy-btn.is-copied {839  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;840  box-shadow:841    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),842    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),843    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);844}845.peach-copy-btn.is-copied .peach-copy-icon {846  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;847}848.peach-copy-btn.is-copied .peach-copy-sheen {849  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;850}851.peach-copy-btn.is-retreat {852  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;853}854.peach-copy-btn.is-retreat .peach-copy-sheen {855  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;856}857.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }858.peach-copy-drain-bar {859  display: block; width: 100%; height: 100%;860  background: var(--peach-accent); opacity: 0.7;861  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;862}863864/* Unlock screen elements */865.peach-unlock-headline {866  margin: 2px 0 0;867  font-family: "Cormorant Garamond", "Times New Roman", serif;868  font-size: 52px; line-height: 0.95;869  font-style: italic; font-weight: 400;870}871.peach-subline {872  margin: 0;873  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;874  font-size: 10px; color: var(--peach-t2); font-style: italic;875}876.peach-subline--lock {877  max-width: 248px;878  line-height: 1.5;879}880.peach-underline-input {881  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);882  padding: 6px 0; background: transparent; color: var(--peach-t0);883  outline: none;884  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;885  font-size: 13px;886  caret-color: var(--peach-accent);887}888.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }889.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }890.peach-hint {891  margin: 0;892  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;893  font-size: 10px; color: var(--peach-t2);894}895.peach-unlock-footer {896  margin-top: 4px; display: flex; align-items: center; gap: 7px;897  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;898  font-size: 10px; color: var(--peach-t2);899}900.peach-unlock-footer--lock {901  padding-top: 2px;902}903904/* Breach badge */905.peach-breach-badge {906  display: flex;907  position: relative;908  z-index: 1;909  align-items: center;910  gap: 7px;911  font-size: 9px;912  color: var(--peach-breach);913  padding: 5px 10px;914  margin-bottom: 4px;915  border-radius: 8px;916  background: rgba(220, 80, 60, 0.07);917  border: 1px solid rgba(220, 80, 60, 0.18);918  letter-spacing: 0.04em;919}920921.peach-breach-action {922  margin-left: auto;923  font-size: 10px;924  padding: 3px 8px;925}926927.peach-password-value.is-breached {928  color: rgba(220, 80, 60, 0.75);929  border-bottom: 1px solid rgba(220, 80, 60, 0.22);930}931932/* ── Overlay views ─────────────────────────────────────────────────── */933.peach-overlay-view {934  position: absolute;935  inset: 0;936  display: flex;937  flex-direction: column;938  background:939    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),940    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),941    var(--peach-bg);942  z-index: 2;943  overflow: hidden;944  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;945}946@keyframes overlay-in {947  from { opacity: 0; transform: translateY(8px); }948  to   { opacity: 1; transform: translateY(0); }949}950.peach-overlay-view.ov-enter-up {951  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;952}953.peach-overlay-view.ov-exit-up {954  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;955}956.peach-overlay-view.ov-enter-right {957  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;958}959.peach-overlay-view.ov-exit-right {960  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;961}962963@keyframes ov-enter-up {964  from { opacity: 0; transform: translateY(18px); }965  to   { opacity: 1; transform: translateY(0); }966}967@keyframes ov-exit-up {968  from { opacity: 1; transform: translateY(0); }969  to   { opacity: 0; transform: translateY(-12px); }970}971@keyframes ov-enter-right {972  from { opacity: 0; transform: translateX(20px); }973  to   { opacity: 1; transform: translateX(0); }974}975@keyframes ov-exit-right {976  from { opacity: 1; transform: translateX(0); }977  to   { opacity: 0; transform: translateX(20px); }978}979980/* Overlay shared header */981.peach-overlay-header {982  padding: 10px 12px;983  display: flex;984  align-items: center;985  gap: 8px;986  border-bottom: 1px solid var(--peach-t3);987  flex-shrink: 0;988}989.peach-overlay-title {990  font-family: "IBM Plex Mono", monospace;991  font-size: 9px;992  text-transform: uppercase;993  letter-spacing: 0.18em;994  color: var(--peach-t2);995  flex: 1;996  text-align: center;997}998999.peach-overlay-card {1000  background: var(--peach-s1);1001  border: 1px solid var(--peach-t3);1002  border-radius: 12px;1003  overflow: hidden;1004  width: 100%;1005}10061007.peach-onboarding-alt-actions {1008  display: flex;1009  flex-direction: column;1010  gap: 4px;1011  padding: 0;1012}10131014.peach-settings-copy {1015  margin: 0 0 10px;1016  font-size: 11px;1017  line-height: 1.5;1018  color: var(--peach-t2);1019}10201021.peach-settings-copy strong {1022  color: var(--peach-t0);1023}10241025.peach-settings-copy--spacious {1026  margin-bottom: 12px;1027}10281029.peach-settings-copy--result {1030  color: var(--peach-accent);1031  font-size: 13px;1032  text-align: center;1033  padding: 8px 0;1034}10351036.peach-settings-copy--danger {1037  color: var(--peach-breach);1038}10391040.peach-settings-copy--success {1041  color: var(--peach-accent);1042}10431044.peach-inline-feedback {1045  font-size: 11px;1046  margin: 10px 0 0;1047}10481049.peach-inline-feedback--ok {1050  color: var(--peach-accent);1051}10521053.peach-inline-feedback--error {1054  color: var(--peach-breach);1055}10561057.peach-inline-feedback--muted {1058  color: var(--peach-t2);1059  font-size: 10px;1060  margin: 4px 0;1061}10621063.peach-inline-feedback--spaced {1064  margin-top: 12px;1065}10661067.peach-settings-actions--row {1068  display: flex;1069  gap: 6px;1070}10711072.peach-settings-actions--end {1073  margin-top: 14px;1074  justify-content: flex-end;1075}10761077.peach-settings-stack {1078  display: flex;1079  flex-direction: column;1080  gap: 6px;1081}10821083.peach-settings-stack--tight {1084  gap: 4px;1085}10861087.peach-settings-stack--spacious {1088  gap: 8px;1089}10901091.peach-settings-input {1092  width: 100%;1093  box-sizing: border-box;1094  padding: 8px 10px;1095  background: var(--peach-s2);1096  border: 1px solid var(--peach-t3);1097  border-radius: 6px;1098  color: var(--peach-t0);1099  font-family: var(--font-ui);1100  font-size: 12px;1101  outline: none;1102  transition: border-color 120ms ease;1103}11041105.peach-settings-input:focus {1106  border-color: var(--peach-accent);1107}11081109.peach-settings-input[type="password"] {1110  font-family: var(--font-mono);1111  letter-spacing: 0.04em;1112}11131114.peach-phrase-textarea {1115  width: 100%;1116  box-sizing: border-box;1117  min-height: 120px;1118  padding: 10px 12px;1119  background: var(--peach-s2);1120  border: 1px solid var(--peach-t3);1121  border-radius: 6px;1122  color: var(--peach-t0);1123  font-size: 12px;1124  font-family: "Noto Sans CJK SC", "PingFang SC", monospace;1125  line-height: 1.5;1126  resize: vertical;1127  outline: none;1128}11291130.peach-phrase-textarea:focus {1131  border-color: var(--peach-accent);1132}11331134.peach-hidden-file-input {1135  display: none;1136}11371138.peach-checkbox-note {1139  display: flex;1140  align-items: flex-start;1141  gap: 8px;1142  font-size: 11px;1143  color: var(--peach-t1);1144  cursor: pointer;1145  margin: 12px 0;1146}11471148.peach-checkbox-note input {1149  margin-top: 1px;1150}11511152.peach-cjk-phrase-box {1153  font-family: "Noto Sans CJK SC", "PingFang SC", "Hiragino Sans GB", sans-serif;1154  font-size: 13px;1155  line-height: 1.5;1156  background: var(--peach-s2);1157  border: 1px solid var(--peach-t3);1158  border-radius: 6px;1159  padding: 10px 12px;1160  margin: 0 0 10px;1161  word-break: break-all;1162  white-space: pre-wrap;1163  max-height: 220px;1164  overflow-y: auto;1165  color: var(--peach-t0);1166  user-select: all;1167  scrollbar-width: none;1168  -ms-overflow-style: none;1169}1170.peach-cjk-phrase-box::-webkit-scrollbar { display: none; }11711172.peach-danger-notice {1173  background: rgba(220, 80, 60, 0.08);1174  border: 1px solid rgba(220, 80, 60, 0.2);1175  border-radius: 6px;1176  padding: 9px 11px;1177  font-size: 11px;1178  color: var(--peach-t1);1179  line-height: 1.5;1180}11811182.peach-info-notice {1183  font-size: 11px;1184  color: var(--peach-t2);1185  line-height: 1.5;1186  background: rgba(240, 232, 216, 0.04);1187  border: 1px solid var(--peach-t3);1188  border-radius: 6px;1189  padding: 8px 10px;1190}11911192.peach-strength-row {1193  display: flex;1194  align-items: center;1195  gap: 8px;1196  margin-bottom: 10px;1197}11981199.peach-strength-track {1200  flex: 1;1201  height: 4px;1202  background: var(--peach-s2);1203  border-radius: 2px;1204  overflow: hidden;1205}12061207.peach-strength-fill {1208  height: 100%;1209  border-radius: 2px;1210  transition: width 120ms ease, background 120ms ease;1211}12121213/* ── Type selector tabs ── */1214.peach-type-tabs {1215  display: flex;1216  gap: 0;1217  background: var(--peach-t4);1218  border-radius: 8px;1219  padding: 3px;1220}12211222.peach-type-tab {1223  flex: 1;1224  display: flex;1225  align-items: center;1226  justify-content: center;1227  gap: 6px;1228  padding: 6px 10px;1229  border-radius: 6px;1230  border: none;1231  background: transparent;1232  cursor: pointer;1233  font-family: Inter, system-ui, sans-serif;1234  font-size: 11px;1235  font-weight: 400;1236  letter-spacing: 0.04em;1237  color: var(--peach-t1);1238  transition: background 150ms ease, color 150ms ease;1239}12401241.peach-type-tab.is-active {1242  background: var(--peach-s2);1243  color: var(--peach-t0);1244  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1245}12461247.peach-type-tab:not(.is-active):hover {1248  color: var(--peach-t0);1249}12501251.peach-type-tab svg {1252  opacity: 0.7;1253  flex-shrink: 0;1254}12551256.peach-type-tab.is-active svg {1257  opacity: 1;1258}12591260/* ── List view ───────────────────────────────────────────────────────── */1261.peach-list-top {1262  padding: 0 10px;1263  min-height: 46px;1264  display: flex;1265  align-items: center;1266  gap: 6px;1267  border-bottom: 1px solid var(--peach-t3);1268  flex-shrink: 0;1269  background: var(--peach-s1);1270}1271.peach-vault-list {1272  flex: 1;1273  overflow-y: auto;1274  scrollbar-width: none;1275}1276.peach-vault-list::-webkit-scrollbar { display: none; }12771278/* Scrollbar — vault list */1279.peach-vault-list {1280  scrollbar-width: thin;1281  scrollbar-color: var(--peach-t3) transparent;1282}12831284.peach-vault-list::-webkit-scrollbar {1285  width: 3px;1286}12871288.peach-vault-list::-webkit-scrollbar-thumb {1289  background: var(--peach-t3);1290  border-radius: 2px;1291}12921293.peach-entry-row {1294  width: 100%;1295  display: flex;1296  align-items: center;1297  gap: 10px;1298  padding: 9px 16px;1299  background: transparent;1300  border: none;1301  border-bottom: 1px solid var(--peach-t3);1302  cursor: pointer;1303  color: inherit;1304  text-align: left;1305  transition: background 80ms ease;1306}1307.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1308.peach-entry-row:last-child { border-bottom: none; }1309.peach-entry-row.is-active {1310  box-shadow: inset 2px 0 0 var(--peach-accent);1311  background: rgba(240,232,216,0.03);1312}1313.peach-entry-row:focus-visible {1314  outline: none;1315  box-shadow: 0 0 0 1px var(--peach-border-accent);1316  background: rgba(240,232,216,0.03);1317}1318.peach-entry-row-icon {1319  width: 26px; height: 26px;1320  border-radius: 7px;1321  border: 1px solid var(--peach-t3);1322  display: flex; align-items: center; justify-content: center;1323  color: var(--peach-t2);1324  flex-shrink: 0;1325}1326.peach-entry-row-icon.is-breach {1327  border-color: rgba(220,80,60,0.3);1328  color: rgba(220,80,60,0.7);1329}1330.peach-entry-row-info { flex: 1; min-width: 0; }1331.peach-entry-row-name {1332  display: block;1333  font-family: "Cormorant Garamond", serif;1334  font-size: 17px;1335  font-style: italic;1336  font-weight: 400;1337  color: var(--peach-t0);1338  line-height: 1.2;1339  white-space: nowrap;1340  overflow: hidden;1341  text-overflow: ellipsis;1342}1343.peach-entry-row-meta {1344  display: block;1345  font-family: "IBM Plex Mono", monospace;1346  font-size: 9px;1347  color: var(--peach-t2);1348  margin-top: 1px;1349  letter-spacing: 0.05em;1350}1351.peach-entry-row-dot {1352  width: 5px; height: 5px;1353  border-radius: 50%;1354  background: rgba(220,80,60,0.7);1355  flex-shrink: 0;1356}1357.peach-new-entry-row {1358  display: flex;1359  align-items: center;1360  justify-content: center;1361  gap: 6px;1362  width: 100%;1363  padding: 11px;1364  background: transparent;1365  border: none;1366  border-top: 1px solid var(--peach-t3);1367  color: var(--peach-t2);1368  font-family: "IBM Plex Mono", monospace;1369  font-size: 9px;1370  text-transform: uppercase;1371  letter-spacing: 0.14em;1372  cursor: pointer;1373  flex-shrink: 0;1374  transition: color 120ms ease, background 120ms ease;1375}1376.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13771378/* ── Multi-select mode ─────────────────────────────────────────────── */13791380/* Select-mode trigger button in sort bar — same shape as trash btn */1381.peach-sort-select-btn {1382  display: flex;1383  align-items: center;1384  justify-content: center;1385  padding: 3px 5px;1386  background: transparent;1387  border: none;1388  cursor: pointer;1389  color: var(--peach-t2);1390  border-radius: 4px;1391  transition: color 140ms ease, background 140ms ease;1392}1393.peach-sort-select-btn:hover {1394  color: var(--peach-t1);1395  background: var(--peach-t3);1396}13971398/* Sort bar in select mode */1399.peach-select-cancel-btn {1400  background: transparent;1401  border: none;1402  padding: 0 4px;1403  cursor: pointer;1404  font-family: "IBM Plex Mono", monospace;1405  font-size: 9px;1406  letter-spacing: 0.12em;1407  text-transform: uppercase;1408  color: var(--peach-t2);1409  transition: color 140ms ease;1410  flex-shrink: 0;1411}1412.peach-select-cancel-btn:hover { color: var(--peach-t0); }14131414.peach-select-count-label {1415  flex: 1;1416  text-align: center;1417  font-family: "IBM Plex Mono", monospace;1418  font-size: 9px;1419  letter-spacing: 0.14em;1420  text-transform: uppercase;1421  color: var(--peach-t1);1422}14231424.peach-select-all-btn {1425  background: transparent;1426  border: none;1427  padding: 0 4px;1428  cursor: pointer;1429  font-family: "IBM Plex Mono", monospace;1430  font-size: 9px;1431  letter-spacing: 0.12em;1432  text-transform: uppercase;1433  color: var(--peach-t2);1434  transition: color 140ms ease;1435  flex-shrink: 0;1436}1437.peach-select-all-btn:hover { color: var(--peach-accent); }14381439/* List in select mode */1440.peach-vault-list.is-selecting .peach-entry-row {1441  cursor: default;1442}1443.peach-vault-list.is-selecting .peach-entry-row:hover {1444  background: rgba(240,232,216,0.02);1445}1446.peach-vault-list.is-selecting .peach-entry-row.is-selected {1447  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1448}1449.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1450  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1451}14521453/* Select indicator circles in icon slot */1454.peach-entry-row-icon.is-select-icon {1455  color: var(--peach-t2);1456}1457.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1458  color: var(--peach-accent);1459}14601461/* Delete action bar at bottom (replaces new-entry row) */1462.peach-select-action-bar {1463  display: flex;1464  align-items: center;1465  justify-content: center;1466  gap: 7px;1467  width: 100%;1468  padding: 11px;1469  background: transparent;1470  border: none;1471  border-top: 1px solid var(--peach-t3);1472  color: var(--peach-t1);1473  font-family: "IBM Plex Mono", monospace;1474  font-size: 9px;1475  text-transform: uppercase;1476  letter-spacing: 0.14em;1477  cursor: pointer;1478  flex-shrink: 0;1479  transition: color 120ms ease, background 120ms ease;1480}1481.peach-select-action-bar:not(:disabled):hover {1482  color: var(--peach-t0);1483  background: rgba(220,80,60,0.06);1484}1485.peach-select-action-bar:not(:disabled):hover svg {1486  stroke: rgba(220,80,60,0.8);1487}1488.peach-select-action-bar:disabled,1489.peach-select-action-bar.is-empty {1490  color: var(--peach-t2);1491  cursor: default;1492  opacity: 0.5;1493}1494.peach-search-counter-list {1495  white-space: nowrap;1496  flex-shrink: 0;1497}1498.peach-list-empty {1499  min-height: 180px;1500  display: grid;1501  place-items: center;1502  color: var(--peach-t2);1503  font-family: "IBM Plex Mono", monospace;1504  font-size: 11px;1505}15061507/* ── Settings view ───────────────────────────────────────────────────── */1508.peach-settings-body {1509  flex: 1;1510  overflow-y: auto;1511  min-height: 0;1512  display: flex;1513  flex-direction: column;1514  padding: 2px 0 10px;1515}1516.peach-settings-group {1517  padding: 9px 16px 11px;1518  border-bottom: 1px solid var(--peach-t3);1519}1520.peach-export-intro {1521  padding-bottom: 8px;1522}1523.peach-export-card {1524  display: grid;1525  gap: 10px;1526}1527.peach-export-card--primary {1528  background:1529    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1530}1531.peach-export-card-head {1532  display: flex;1533  align-items: center;1534  justify-content: space-between;1535  gap: 10px;1536}1537.peach-export-card-copy {1538  margin: 0;1539  font-size: 12px;1540  line-height: 1.55;1541  color: var(--peach-t1);1542}1543.peach-export-note {1544  margin: 0;1545  font-size: 10px;1546  line-height: 1.5;1547  color: var(--peach-t2);1548}1549.peach-export-pill {1550  display: inline-flex;1551  align-items: center;1552  padding: 4px 8px;1553  border-radius: 999px;1554  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1555  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1556  color: var(--peach-accent);1557  font-family: "IBM Plex Mono", monospace;1558  font-size: 8px;1559  letter-spacing: 0.12em;1560  text-transform: uppercase;1561  white-space: nowrap;1562}1563.peach-export-pill--danger {1564  border-color: rgba(220,80,60,0.22);1565  background: rgba(220,80,60,0.08);1566  color: var(--peach-breach);1567}1568.peach-export-password-stack {1569  gap: 8px;1570}1571.peach-settings-label {1572  margin: 0 0 6px;1573  font-family: "IBM Plex Mono", monospace;1574  font-size: 8px;1575  text-transform: uppercase;1576  letter-spacing: 0.18em;1577  color: var(--peach-t2);1578}1579.peach-settings-row {1580  display: flex;1581  align-items: center;1582  justify-content: space-between;1583  gap: 12px;1584  min-height: 34px;1585  padding: 6px 0;1586  font-size: 13px;1587  color: var(--peach-t1);1588}1589.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1590.peach-settings-value {1591  font-family: "IBM Plex Mono", monospace;1592  font-size: 10px;1593  color: var(--peach-t2);1594}15951596.peach-settings-value--status {1597  display: flex;1598  align-items: center;1599  gap: 6px;1600}16011602.peach-settings-link {1603  font-family: "IBM Plex Mono", monospace;1604  font-size: 10px;1605  color: var(--peach-accent);1606  text-decoration: none;1607  cursor: pointer;1608}1609.peach-settings-link:hover {1610  text-decoration: underline;1611}16121613.peach-settings-row--stack {1614  flex-direction: column;1615  align-items: stretch;1616  gap: 6px;1617}16181619.peach-settings-row--top {1620  align-items: flex-start;1621}16221623.peach-settings-row-main {1624  display: flex;1625  flex-direction: column;1626  gap: 4px;1627  flex: 1;1628}1629.peach-toggle {1630  width: 28px; height: 16px;1631  border-radius: 999px;1632  background: var(--peach-t3);1633  border: 1px solid var(--peach-t3);1634  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1635  flex-shrink: 0;1636  transition: background 200ms ease, border-color 200ms ease;1637  cursor: pointer;1638}1639.peach-toggle.is-on {1640  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1641  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1642}1643.peach-toggle-knob {1644  width: 10px; height: 10px;1645  border-radius: 50%;1646  background: var(--peach-t2);1647  flex-shrink: 0;1648  transform: translateX(0px);1649  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1650}1651.peach-toggle.is-on .peach-toggle-knob {1652  background: var(--peach-accent);1653  transform: translateX(12px);1654}1655.peach-settings-footer {1656  display: flex;1657  align-items: center;1658  gap: 8px;1659  margin-top: auto;1660  padding: 14px 16px 8px;1661  font-family: "IBM Plex Mono", monospace;1662  font-size: 9px;1663  color: var(--peach-t2);1664}16651666.peach-passkey-badge {1667  margin-left: 8px;1668  font-size: 10px;1669  letter-spacing: 0.06em;1670  text-transform: uppercase;1671  color: var(--peach-t2);1672  font-family: var(--font-ui);1673  vertical-align: middle;1674}16751676.peach-passkey-delete-btn {1677  color: var(--peach-breach);1678  border-color: rgba(229, 85, 85, 0.25);1679}16801681.peach-passkey-delete-confirm {1682  display: flex;1683  align-items: center;1684  gap: 8px;1685  padding: 8px 10px;1686  background: rgba(229, 85, 85, 0.06);1687  border: 1px solid rgba(229, 85, 85, 0.2);1688  border-radius: 6px;1689}16901691.peach-passkey-delete-confirm-copy {1692  flex: 1;1693  font-size: 11px;1694  color: var(--peach-t1);1695}16961697.peach-passkey-delete-btn--confirm {1698  color: var(--peach-breach);1699  border-color: rgba(229, 85, 85, 0.4);1700}17011702.peach-passkey-activity {1703  flex-direction: column;1704  align-items: flex-start;1705  gap: 4px;1706}17071708.peach-passkey-meta {1709  font-size: 11px;1710  color: var(--peach-t2);1711}17121713.peach-passkey-actions {1714  position: relative;1715  z-index: 1;1716  margin-top: 14px;1717  display: flex;1718  flex-direction: column;1719  gap: 8px;1720}17211722.peach-passkey-approval {1723  display: flex;1724  flex-direction: column;1725  align-items: center;1726  padding: 28px 22px 22px;1727  gap: 14px;1728  text-align: center;1729}17301731.peach-passkey-approval-icon {1732  width: 46px;1733  height: 46px;1734  border-radius: 12px;1735  background: var(--peach-s2);1736  border: 1px solid var(--peach-t3);1737  display: flex;1738  align-items: center;1739  justify-content: center;1740  flex-shrink: 0;1741  color: var(--peach-accent);1742}17431744.peach-passkey-approval-icon img,1745.peach-passkey-approval-icon svg {1746  width: 28px;1747  height: 28px;1748  border-radius: 6px;1749}17501751.peach-passkey-approval-rp {1752  font-family: var(--font-ui);1753  font-size: 12px;1754  color: var(--peach-t2);1755  letter-spacing: 0.03em;1756}17571758.peach-passkey-approval-action {1759  font-family: var(--font-display);1760  font-style: italic;1761  font-weight: 300;1762  font-size: 26px;1763  color: var(--peach-t0);1764  line-height: 1;1765}17661767.peach-passkey-approval-user {1768  font-family: var(--font-mono);1769  font-size: 11px;1770  color: var(--peach-t1);1771  background: var(--peach-s2);1772  border: 1px solid var(--peach-t3);1773  border-radius: 4px;1774  padding: 3px 8px;1775}17761777.peach-passkey-approval-notice {1778  font-size: 10px;1779  color: var(--peach-t2);1780  line-height: 1.5;1781  max-width: 220px;1782}17831784.peach-passkey-approval-actions {1785  display: flex;1786  gap: 8px;1787  width: 100%;1788  margin-top: 6px;1789}17901791.peach-passkey-approval-actions .peach-btn {1792  flex: 1;1793}17941795/* ── Inline generator drawer ── */1796.peach-generator-drawer {1797  display: grid;1798  grid-template-rows: 0fr;1799  transition: grid-template-rows 320ms var(--peach-curve-arrival);1800  overflow: hidden;1801}1802.peach-generator-drawer.is-open {1803  grid-template-rows: 1fr;1804}1805.peach-generator-drawer-inner {1806  min-height: 0;1807  overflow: hidden;1808}1809.peach-generator-drawer-content {1810  border-top: 1px solid var(--peach-t3);1811  padding: 8px 0 4px;1812  display: flex;1813  flex-direction: column;1814  gap: 8px;1815}18161817/* ── Compact generator (inside entry edit) ── */1818.peach-generator-drawer-content--compact {1819  border-top: 1px solid var(--peach-t3);1820  padding: 8px 0 2px;1821  gap: 7px;1822}1823.peach-pwgen-compact-display-row {1824  display: flex;1825  align-items: center;1826  gap: 6px;1827}1828.peach-pwgen-compact-output {1829  flex: 1;1830  min-width: 0;1831  font-family: "IBM Plex Mono", monospace;1832  font-size: 11px;1833  font-weight: 400;1834  letter-spacing: 0.04em;1835  color: var(--peach-t0);1836  background: rgba(240, 232, 216, 0.04);1837  border: 1px solid var(--peach-t3);1838  border-radius: 5px;1839  padding: 5px 8px;1840  word-break: break-all;1841  line-height: 1.5;1842}1843.peach-pwgen-compact-controls {1844  display: flex;1845  align-items: center;1846  gap: 6px;1847}1848.peach-pwgen-compact-slider {1849  flex: 1;1850  min-width: 0;1851  height: 2px !important;1852}1853.peach-pwgen-compact-controls .peach-pwgen-len-num {1854  flex-shrink: 0;1855  min-width: 18px;1856  text-align: right;1857}1858.peach-pwgen-compact-pills {1859  display: flex;1860  gap: 3px;1861  flex-shrink: 0;1862}1863.peach-pwgen-compact-pills .peach-pwgen-pill {1864  padding: 2px 7px;1865  font-size: 8px;1866}1867.peach-pwgen-compact-use {1868  flex-shrink: 0;1869  font-size: 10px !important;1870  padding: 3px 9px !important;1871  min-height: 22px !important;1872  border-radius: 5px !important;1873}18741875/* ── Password edit row (input + eye toggle side-by-side) ── */1876.peach-password-edit-row {1877  display: flex;1878  align-items: center;1879  gap: 6px;1880}1881.peach-password-edit-row .peach-inline-input {1882  flex: 1;1883  min-width: 0;1884}18851886/* ── Generate toggle link ── */1887.peach-generate-toggle-link {1888  display: inline-flex;1889  align-items: center;1890  gap: 5px;1891  background: none;1892  border: none;1893  padding: 0;1894  cursor: pointer;1895  font-family: "IBM Plex Mono", monospace;1896  font-size: 10px;1897  color: var(--peach-t2);1898  letter-spacing: 0.04em;1899  transition: color 120ms ease;1900  align-self: flex-start;1901}1902.peach-generate-toggle-link:hover {1903  color: var(--peach-accent);1904}19051906/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */1907.peach-entry-body {1908  flex: 1;1909  overflow-y: auto;1910  overflow-x: hidden;1911  scrollbar-width: none;1912  -ms-overflow-style: none;1913  overscroll-behavior: contain;1914  display: grid;1915  gap: 10px;1916  align-content: start;1917  padding: 10px 20px 14px;1918  min-width: 0;1919  min-height: 0;1920}1921.peach-entry-body::-webkit-scrollbar { display: none; }19221923/* Type-toggle pills + inline note toolbar */1924.peach-new-type-row {1925  display: flex;1926  align-items: center;1927  gap: 6px;1928  margin-bottom: 2px;1929}1930.peach-new-type-btn {1931  background: transparent;1932  border: 1px solid var(--peach-t3);1933  border-radius: 12px;1934  padding: 3px 10px;1935  font-family: "IBM Plex Mono", monospace;1936  font-size: 9px;1937  letter-spacing: 0.12em;1938  text-transform: uppercase;1939  color: var(--peach-t2);1940  cursor: pointer;1941  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;1942}1943.peach-new-type-btn.is-active {1944  color: var(--peach-t0);1945  border-color: var(--peach-accent);1946  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1947}1948.peach-new-type-btn:not(.is-active):hover {1949  color: var(--peach-t1);1950  border-color: var(--peach-t2);1951}19521953/* Editable title */1954.peach-new-title-wrap { margin: 0 0 2px; }1955.peach-new-title-input {1956  background: transparent;1957  border: none;1958  outline: none;1959  width: 100%;1960  color: var(--peach-t0);1961  font-family: "Cormorant Garamond", Georgia, serif;1962  font-style: italic;1963  font-weight: 400;1964  font-size: 40px;1965  line-height: 0.95;1966  caret-color: var(--peach-accent);1967}1968.peach-new-title-input::placeholder { color: var(--peach-t2); }19691970/* Editable domain field */1971.peach-domain-value--edit {1972  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1973  font-size: 10px;1974  font-style: italic;1975  letter-spacing: 0.12em;1976  color: var(--peach-t1);1977  background: transparent;1978  border: none;1979  border-bottom: 1px solid var(--peach-t3);1980  outline: none;1981  width: 100%;1982  padding: 2px 0;1983  caret-color: var(--peach-accent);1984  transition: border-color 140ms ease, color 140ms ease;1985}1986.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }1987.peach-domain-value--edit:focus {1988  border-bottom-color: rgba(240, 232, 216, 0.28);1989  color: var(--peach-t0);1990}19911992/* Editable field values (username, password, totp) */1993.peach-field-value--edit {1994  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1995  font-size: 13px;1996  color: var(--peach-t0);1997  background: transparent;1998  border: none;1999  border-bottom: 1px solid var(--peach-t3);2000  outline: none;2001  flex: 1;2002  min-width: 0;2003  padding: 3px 0;2004  caret-color: var(--peach-accent);2005  transition: border-color 140ms ease, color 140ms ease;2006}2007.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2008.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2009.peach-field-value--edit:focus {2010  border-bottom-color: rgba(240, 232, 216, 0.28);2011  color: var(--peach-t0);2012}20132014/* "+ add optional field" links */2015.peach-entry-add-links {2016  display: flex;2017  gap: 12px;2018  flex-wrap: wrap;2019  margin-top: -2px;2020}2021.peach-add-field-link {2022  background: transparent;2023  border: none;2024  padding: 0;2025  cursor: pointer;2026  font-family: "IBM Plex Mono", monospace;2027  font-size: 9px;2028  letter-spacing: 0.1em;2029  text-transform: uppercase;2030  color: var(--peach-t2);2031  transition: color 140ms ease;2032}2033.peach-add-field-link:hover { color: var(--peach-accent); }20342035/* ── New entry form (legacy classes) ────────────────────────────────── */2036.peach-new-body {2037  flex: 1;2038  overflow-y: auto;2039  padding: 10px 20px 14px;2040}2041.peach-new-name-input {2042  background: transparent;2043  border: none;2044  outline: none;2045  width: 100%;2046  color: var(--peach-t0);2047  font-family: "Cormorant Garamond", Georgia, serif;2048  font-style: italic;2049  font-weight: 400;2050  font-size: 40px;2051  line-height: 0.95;2052  caret-color: var(--peach-accent);2053}2054.peach-new-name-input::placeholder { color: var(--peach-t2); }2055.peach-new-field-input {2056  background: transparent;2057  border: none;2058  outline: none;2059  flex: 1;2060  min-width: 0;2061  caret-color: var(--peach-accent);2062}2063.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }20642065/* ── Canary card ── */2066.peach-canary-card {2067  border: 1px solid rgba(217, 160, 48, 0.2);2068  background: rgba(217, 160, 48, 0.03);2069  border-radius: 8px;2070  padding: 12px;2071}20722073.peach-canary-settings-header {2074  display: flex;2075  align-items: center;2076  justify-content: space-between;2077  cursor: pointer;2078  user-select: none;2079}20802081.peach-canary-card .peach-label {2082  color: rgba(217, 160, 48, 0.85);2083}20842085.peach-canary-card .peach-new-field-input {2086  border-color: rgba(217, 160, 48, 0.25);2087}20882089.peach-canary-card .peach-new-field-input:focus {2090  border-color: rgba(217, 160, 48, 0.5);2091}20922093.peach-canary-body {2094  margin-top: 12px;2095  display: flex;2096  flex-direction: column;2097  gap: 10px;2098}20992100.peach-canary-explainer {2101  display: flex;2102  gap: 10px;2103  padding: 10px 12px;2104  border-radius: 10px;2105  background: rgba(217, 160, 48, 0.06);2106  border: 1px solid rgba(217, 160, 48, 0.22);2107  margin-bottom: 4px;2108}21092110.peach-canary-explainer-icon {2111  font-size: 16px;2112  flex-shrink: 0;2113  line-height: 1.2;2114}21152116.peach-canary-explainer-title {2117  font-family: var(--font-ui);2118  font-size: 11px;2119  font-weight: 500;2120  color: rgba(217, 160, 48, 0.9);2121  margin: 0 0 3px;2122}21232124.peach-canary-explainer-copy {2125  font-family: var(--font-ui);2126  font-size: 10px;2127  color: var(--peach-t2);2128  line-height: 1.55;2129  margin: 0;2130}21312132.peach-canary-hint {2133  font-size: 10px;2134  color: var(--peach-t2);2135  font-family: Inter, system-ui, sans-serif;2136  line-height: 1.5;2137  margin-top: 4px;2138}21392140.peach-canary-actions-row {2141  display: flex;2142  align-items: center;2143  gap: 8px;2144}21452146.peach-canary-test-btn {2147  border-color: rgba(217, 160, 48, 0.3);2148  color: rgba(217, 160, 48, 0.85);2149}21502151.peach-canary-test-result {2152  font-size: 10px;2153  font-family: Inter, system-ui, sans-serif;2154}21552156.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2157.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }21582159.peach-canary-badge {2160  display: flex;2161  position: relative;2162  z-index: 1;2163  align-items: center;2164  gap: 5px;2165  padding: 4px 10px;2166  background: rgba(217, 160, 48, 0.12);2167  border: 1px solid rgba(217, 160, 48, 0.35);2168  border-radius: 6px;2169  margin-bottom: 6px;2170  width: fit-content;2171}21722173.peach-canary-badge-label {2174  font-size: 10px;2175  letter-spacing: 0.06em;2176  color: rgba(217, 160, 48, 0.9);2177  font-family: var(--font-ui);2178  text-transform: uppercase;2179}21802181.peach-canary-badge-icon {2182  font-size: 11px;2183}21842185.peach-canary-suppress-row {2186  display: flex;2187  align-items: center;2188  gap: 8px;2189  padding: 6px 10px;2190  background: rgba(217, 160, 48, 0.08);2191  border-radius: 6px;2192  margin-bottom: 8px;2193}21942195.peach-canary-suppress-label {2196  font-size: 11px;2197  color: rgba(217, 160, 48, 0.85);2198  cursor: pointer;2199  font-family: var(--font-ui);2200  letter-spacing: 0.04em;2201}22022203.peach-regen-panel {2204  position: relative;2205  z-index: 1;2206  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2207  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2208  border-radius: 8px;2209  padding: 12px;2210  margin-bottom: 8px;2211}22122213.peach-regen-panel-header {2214  display: flex;2215  align-items: center;2216  justify-content: space-between;2217  margin-bottom: 10px;2218}22192220.peach-regen-panel-title {2221  font-size: 11px;2222  font-weight: 600;2223  letter-spacing: 0.06em;2224  text-transform: uppercase;2225  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2226}22272228.peach-regen-output {2229  background: rgba(0, 0, 0, 0.2);2230  border-radius: 6px;2231  padding: 10px;2232  margin-bottom: 10px;2233  font-family: var(--font-mono);2234  font-size: 13px;2235  word-break: break-all;2236  color: var(--peach-t1);2237}22382239.peach-regen-actions {2240  display: flex;2241  gap: 6px;2242}22432244.peach-regen-actions--spaced {2245  margin-bottom: 8px;2246}22472248.peach-regen-action-grow {2249  flex: 1;2250}22512252.peach-regen-copy-btn {2253  padding: 0 8px;2254}22552256.peach-regen-success {2257  position: relative;2258  z-index: 1;2259  background: rgba(40, 180, 80, 0.1);2260  border: 1px solid rgba(40, 180, 80, 0.3);2261  border-radius: 8px;2262  padding: 10px 12px;2263  margin-bottom: 8px;2264  display: flex;2265  align-items: center;2266  gap: 8px;2267  font-size: 11px;2268  color: rgba(40, 180, 80, 0.9);2269}22702271/* ── Note editor overlay ── */2272.peach-note-editor {2273  position: absolute;2274  inset: 0;2275  z-index: 200;2276  display: flex;2277  flex-direction: column;2278  background:2279    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2280    var(--peach-bg);2281  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2282}22832284.peach-note-editor-header {2285  display: flex;2286  align-items: center;2287  gap: 10px;2288  padding: 14px 16px 10px;2289  border-bottom: 1px solid var(--peach-t3);2290  flex-shrink: 0;2291}22922293.peach-note-editor-back {2294  background: transparent;2295  border: none;2296  cursor: pointer;2297  color: var(--peach-t2);2298  padding: 4px 6px;2299  border-radius: 6px;2300  display: flex;2301  align-items: center;2302  transition: color 120ms ease, background 120ms ease;2303  flex-shrink: 0;2304}2305.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }23062307.peach-note-editor-label {2308  flex: 1;2309  font-family: "Cormorant Garamond", "Times New Roman", serif;2310  font-style: italic;2311  font-size: 15px;2312  color: var(--peach-t1);2313  letter-spacing: 0.02em;2314}23152316.peach-note-editor-save-btn {2317  background: transparent;2318  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2319  border-radius: 8px;2320  color: var(--peach-accent);2321  font-family: "IBM Plex Mono", monospace;2322  font-size: 10px;2323  letter-spacing: 0.06em;2324  text-transform: uppercase;2325  padding: 3px 10px;2326  cursor: pointer;2327  transition: background 120ms ease, border-color 120ms ease;2328}2329.peach-note-editor-save-btn:hover:not(:disabled) {2330  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2331  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2332}2333.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }23342335.peach-note-toolbar {2336  display: flex;2337  align-items: center;2338  gap: 3px;2339  padding: 6px 14px 5px;2340  border-bottom: 1px solid var(--peach-t3);2341  flex-shrink: 0;2342}23432344.peach-note-tool-btn {2345  background: transparent;2346  border: 1px solid transparent;2347  border-radius: 5px;2348  color: var(--peach-t2);2349  font-family: "IBM Plex Mono", monospace;2350  font-size: 10px;2351  letter-spacing: 0.04em;2352  padding: 2px 8px;2353  cursor: pointer;2354  line-height: 1.6;2355  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2356}2357.peach-note-tool-btn:hover {2358  background: var(--peach-t4);2359  color: var(--peach-t0);2360  border-color: var(--peach-t3);2361}23622363.peach-note-tool-icon {2364  padding: 3px 7px;2365  display: inline-flex;2366  align-items: center;2367  justify-content: center;2368}23692370.peach-note-tool-divider {2371  width: 1px;2372  height: 14px;2373  background: var(--peach-t3);2374  margin: 0 4px;2375  flex-shrink: 0;2376}23772378.peach-note-editor-body {2379  flex: 1;2380  overflow-y: auto;2381  padding: 16px 20px 20px;2382  outline: none;2383  font-family: "Cormorant Garamond", "Times New Roman", serif;2384  font-size: 16px;2385  line-height: 1.75;2386  color: var(--peach-t0);2387  scrollbar-width: none;2388  word-break: break-word;2389}2390.peach-note-editor-body:empty::before {2391  content: "write your note…";2392  color: var(--peach-t3);2393  font-style: italic;2394  pointer-events: none;2395}23962397/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2398.peach-note-editor-inline {2399  display: flex;2400  flex-direction: column;2401  flex: 1;2402  min-height: 0;2403}2404.peach-note-editor-body--inline {2405  flex: 1;2406  min-height: 0;2407  font-size: 15px;2408  padding: 10px 20px 14px;2409}24102411/* Full-width toolbar row inside the body (Add.tsx note type).2412   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2413.peach-note-toolbar-body {2414  display: flex;2415  align-items: center;2416  gap: 3px;2417  padding: 5px 20px 4px;2418  margin: 2px -20px 0;2419  border-bottom: 1px solid var(--peach-t3);2420  flex-shrink: 0;2421}24222423/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2424   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2425   and .peach-note-tool-divider button-level styles. */2426.peach-note-toolbar-inline {2427  display: flex;2428  align-items: center;2429  gap: 3px;2430  margin-left: auto;2431  padding-left: 10px;2432  border-left: 1px solid var(--peach-t3);2433  min-height: 22px;2434}24352436/* Entry.tsx toolbar row (no tabs, toolbar only) */2437.peach-entry-note-toolbar-row {2438  display: flex;2439  align-items: center;2440  margin: 4px 0 6px;2441  position: relative;2442  z-index: 1;2443}2444.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2445  border-left: none;2446  padding-left: 0;2447  margin-left: 0;2448}24492450/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2451.peach-note-body {2452  display: flex;2453  flex-direction: column;2454  flex: 1;2455  min-height: 0;2456  margin: 4px 0 0;2457}2458.peach-entry-body--new .peach-note-body {2459  margin: 8px -20px 0;2460}24612462/* Add.tsx body is a grid by default; swap to a flex column when a note is2463   active so the note body can stretch and pin the tags row to the bottom. */2464.peach-entry-body--new:has(.peach-note-body) {2465  display: flex;2466  flex-direction: column;2467}24682469/* Rich content element styles (editor + display) */2470.peach-note-editor-body h2,2471.peach-note-content h2 {2472  font-family: "Cormorant Garamond", serif;2473  font-size: 20px;2474  font-weight: 600;2475  font-style: italic;2476  color: var(--peach-t0);2477  margin: 6px 0 2px;2478  line-height: 1.3;2479}2480.peach-note-editor-body ul,2481.peach-note-content ul {2482  padding-left: 18px;2483  margin: 3px 0;2484  list-style: disc;2485}2486.peach-note-editor-body ol,2487.peach-note-content ol {2488  padding-left: 18px;2489  margin: 3px 0;2490  list-style: decimal;2491}2492.peach-note-editor-body li,2493.peach-note-content li { margin: 2px 0; }2494.peach-note-editor-body hr,2495.peach-note-content hr {2496  border: none;2497  border-top: 1px solid var(--peach-t3);2498  margin: 10px 0;2499}25002501/* font size elements from execCommand */2502.peach-note-editor-body font[size="1"],2503.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2504.peach-note-editor-body font[size="2"],2505.peach-note-content font[size="2"] { font-size: 13px; }2506.peach-note-editor-body font[size="3"],2507.peach-note-content font[size="3"] { font-size: 16px; }2508.peach-note-editor-body font[size="4"],2509.peach-note-content font[size="4"] { font-size: 20px; }2510.peach-note-editor-body font[size="5"],2511.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }25122513/* bold / italic inside the editor and note display */2514.peach-note-editor-body b, .peach-note-editor-body strong,2515.peach-note-content b, .peach-note-content strong { font-weight: 700; }2516.peach-note-editor-body em, .peach-note-editor-body i,2517.peach-note-content em, .peach-note-content i { font-style: italic; }25182519/* note display — rendered HTML, no pre-wrap */2520.peach-note-content {2521  overflow: auto;2522  max-height: 340px;2523  word-break: break-word;2524}25252526/* ── Note textarea ── */2527.peach-note-textarea {2528  width: 100%;2529  min-height: 180px;2530  max-height: 280px;2531  resize: vertical;2532  background: var(--peach-t4);2533  border: 1px solid var(--peach-t3);2534  border-radius: 8px;2535  padding: 10px 12px;2536  font-family: "IBM Plex Mono", monospace;2537  font-size: 12px;2538  line-height: 1.7;2539  color: var(--peach-t1);2540  outline: none;2541  transition: border-color 150ms ease;2542}25432544.peach-note-textarea:focus {2545  border-color: var(--peach-t2);2546}25472548.peach-note-char-count {2549  font-family: "IBM Plex Mono", monospace;2550  font-size: 9px;2551  color: var(--peach-t3);2552  text-align: right;2553  margin-top: 4px;2554  letter-spacing: 0.1em;2555}25562557/* ── Field input baseline ── */2558.peach-new-field-input {2559  width: 100%;2560  background: transparent;2561  border: none;2562  border-bottom: 1px solid var(--peach-t3);2563  padding: 4px 0;2564  color: var(--peach-t1);2565  font-family: "IBM Plex Mono", monospace;2566  font-size: 13px;2567  outline: none;2568  transition: border-color 150ms ease;2569}25702571.peach-new-field-input:focus {2572  border-bottom-color: var(--peach-t0);2573  color: var(--peach-t0);2574}25752576.peach-new-name-input {2577  width: 100%;2578  background: transparent;2579  border: none;2580  border-bottom: 1px solid var(--peach-t3);2581  padding: 6px 0;2582  font-family: "Cormorant Garamond", Georgia, serif;2583  font-style: italic;2584  font-size: 28px;2585  color: var(--peach-t0);2586  outline: none;2587  transition: border-color 150ms ease;2588}25892590.peach-new-name-input:focus {2591  border-bottom-color: var(--peach-t1);2592}25932594.peach-new-name-input::placeholder {2595  color: var(--peach-t2);2596  font-style: italic;2597}25982599.peach-new-field-input::placeholder {2600  color: var(--peach-t3);2601}26022603/* ── Demo entrance animation ── */2604#hd-shell {2605  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2606}2607@keyframes hd-shell-enter {2608  from { opacity: 0; transform: scale(0.96) translateY(16px); }2609  to   { opacity: 1; transform: scale(1) translateY(0); }2610}26112612/* ── Keyframes ── */2613@keyframes peach-char-enter {2614  from { opacity: 0; transform: translateY(0.22em); }2615  to   { opacity: 1; transform: translateY(0); }2616}2617@keyframes peach-content-enter {2618  from { opacity: 0.96; transform: translateY(4px); }2619  to   { opacity: 1; transform: translateY(0); }2620}2621@keyframes peach-content-exit {2622  from { opacity: 1; transform: translateY(0); }2623  to   { opacity: 0.92; transform: translateY(-3px); }2624}2625@keyframes peach-screen-enter {2626  from { opacity: 0; transform: translateY(14px); }2627  to   { opacity: 1; transform: translateY(0); }2628}2629@keyframes peach-shell-fade-in {2630  from { opacity: 0; }2631  to   { opacity: 1; }2632}2633@keyframes peach-veil-in {2634  from { opacity: 0; }2635  to   { opacity: 1; }2636}2637@keyframes peach-lock-settle {2638  0%   { transform: scale(0.9); }2639  65%  { transform: scale(1.08); }2640  100% { transform: scale(1); }2641}2642@keyframes peach-copy-confirm {2643  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2644  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); }2645}2646@keyframes peach-copy-retreat {2647  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); }2648  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2649}2650@keyframes peach-copy-flood {2651  from { opacity: 0; transform: scaleX(0.15); }2652  to   { opacity: 1; transform: scaleX(1); }2653}2654@keyframes peach-copy-icon-settle {2655  from  { transform: scale(0.84); }2656  70%   { transform: scale(1.08); }2657  to    { transform: scale(1); }2658}2659@keyframes peach-copy-sheen-retreat {2660  from { opacity: 1; transform: scaleX(1); }2661  to   { opacity: 0; transform: scaleX(0.15); }2662}2663@keyframes peach-copy-drain {2664  from { width: 100%; }2665  to   { width: 0; }2666}2667@keyframes peach-shake {2668  0%, 100% { transform: translateX(0); }2669  20%      { transform: translateX(-6px); }2670  40%      { transform: translateX(6px); }2671  60%      { transform: translateX(-4px); }2672  80%      { transform: translateX(4px); }2673}26742675@keyframes pip-pulse {2676  0% { transform: scale(1); }2677  40% { transform: scale(2.2); }2678  100% { transform: scale(1); }2679}268026812682/* ── Password generator ── */2683.peach-pwgen-body {2684  flex: 1; overflow-y: auto;2685  display: flex; flex-direction: column;2686}2687.peach-policy-badge {2688  display: flex; align-items: center;2689  padding: 6px 20px 0;2690  font-size: 10px; font-family: Inter, sans-serif;2691  color: var(--peach-t2); letter-spacing: 0.04em;2692}2693.peach-pwgen-display {2694  padding: 14px 20px 12px;2695  border-bottom: 1px solid var(--peach-t3);2696  display: flex; align-items: flex-start; gap: 10px;2697}2698.peach-pwgen-display-row {2699  display: flex;2700  align-items: flex-start;2701  gap: 8px;2702  padding-bottom: 8px;2703  border-bottom: 1px solid var(--peach-t3);2704}2705.peach-pwgen-output {2706  flex: 1; min-width: 0; margin: 0;2707  font-family: "IBM Plex Mono", monospace;2708  font-size: 13px; color: var(--peach-t0);2709  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;2710  white-space: normal;2711  padding: 10px 12px;2712  background: var(--peach-t4);2713  border-radius: 6px;2714  min-height: 36px;2715}2716.peach-pwgen-output-display {2717  flex: 1;2718  min-width: 0;2719  margin: 0;2720  font-family: "Cormorant Garamond", "Times New Roman", serif;2721  font-style: italic;2722  font-weight: 300;2723  font-size: 32px;2724  line-height: 1.05;2725  color: var(--peach-t0);2726  word-break: break-all;2727  overflow-wrap: break-word;2728  white-space: normal;2729  letter-spacing: 0.02em;2730}2731.peach-pwgen-display-actions {2732  display: flex;2733  flex-direction: column;2734  gap: 4px;2735  flex-shrink: 0;2736  margin-top: 2px;2737}2738.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }2739.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }2740.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }2741.peach-pwgen-len-num {2742  font-family: "IBM Plex Mono", monospace;2743  font-size: 12px; color: var(--peach-accent);2744}2745.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }2746.peach-pwgen-toggles { display: flex; flex-direction: column; }2747.peach-pwgen-charset-pills {2748  display: flex;2749  gap: 6px;2750  flex-wrap: wrap;2751}2752.peach-pwgen-pill {2753  padding: 4px 11px;2754  border-radius: 999px;2755  border: 1px solid var(--peach-t3);2756  background: transparent;2757  color: var(--peach-t2);2758  font-family: "IBM Plex Mono", monospace;2759  font-size: 9px;2760  letter-spacing: 0.08em;2761  cursor: pointer;2762  transition: all 150ms ease;2763}2764.peach-pwgen-pill.is-on {2765  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);2766  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2767  color: var(--peach-accent);2768}2769.peach-pwgen-pill:not(.is-on):hover {2770  color: var(--peach-t1);2771  border-color: var(--peach-t2);2772}2773.peach-pwgen-use-btn {2774  width: 100%;2775  min-height: 34px;2776  border-radius: 8px;2777  margin-top: 2px;2778}2779.peach-pwgen-toggle-row {2780  display: flex; align-items: center; justify-content: space-between;2781  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);2782}2783.peach-pwgen-toggle-row:last-child { border-bottom: none; }2784.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }27852786.peach-screen-prelock {2787  z-index: 10;2788}27892790.prelock-form {2791  display: grid;2792  gap: 12px;2793}27942795/* Peach popup should not expose native scrollbars on internal panels. */2796.peach-settings-body,2797.peach-new-body,2798.peach-pwgen-body,2799.lock-screen,2800.peach-import-preview {2801  scrollbar-width: none;2802  -ms-overflow-style: none;2803  overscroll-behavior: contain;2804}2805.peach-settings-body::-webkit-scrollbar,2806.peach-new-body::-webkit-scrollbar,2807.peach-pwgen-body::-webkit-scrollbar,2808.lock-screen::-webkit-scrollbar,2809.peach-import-preview::-webkit-scrollbar {2810  width: 0;2811  height: 0;2812  display: none;2813}28142815.lock-screen {2816  height: 100%;2817  min-height: 100%;2818  overflow-y: auto;2819  padding: 18px 18px 16px;2820  gap: 14px;2821  grid-template-rows: auto auto auto 1fr auto;2822  align-content: stretch;2823  position: relative;2824  isolation: isolate;2825}2826.peach-screen.lock-screen--vault-stage {2827  display: flex;2828  flex-direction: column;2829  justify-content: flex-start;2830  gap: 18px;2831  padding: 20px 18px 18px;2832  overflow: hidden;2833}2834.peach-screen.lock-screen--vault-stage .peach-lock-panel {2835  margin-top: auto;2836}2837.lock-screen--onboarding {2838  display: flex;2839  flex-direction: column;2840  gap: 12px;2841  justify-content: flex-start;2842}28432844.lock-screen::before {2845  content: "";2846  position: absolute;2847  inset: 12px 18px auto auto;2848  width: 160px;2849  height: 160px;2850  border-radius: 999px;2851  background:2852    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%);2853  filter: blur(6px);2854  opacity: 0.7;2855  pointer-events: none;2856  z-index: 0;2857}28582859.lock-screen-header {2860  display: flex;2861  align-items: center;2862  justify-content: space-between;2863  position: relative;2864  z-index: 1;2865}28662867.lock-password-input.shake {2868  animation: peach-shake 300ms ease-in-out;2869}28702871.peach-hint-error {2872  color: rgba(220, 80, 60, 0.92);2873}28742875.peach-onboarding-headline {2876  margin: 0;2877  font-family: "Cormorant Garamond", "Times New Roman", serif;2878  font-size: 35px;2879  line-height: 0.88;2880  font-style: italic;2881  font-weight: 400;2882  max-width: 252px;2883}28842885.peach-lock-copy {2886  display: grid;2887  gap: 8px;2888  position: relative;2889  z-index: 1;2890}28912892.peach-lock-copy--onboarding {2893  gap: 10px;2894}28952896.peach-lock-hero {2897  position: relative;2898  z-index: 1;2899  display: grid;2900  gap: 8px;2901  min-height: 0;2902  padding: 4px 2px 0;2903  border: none;2904  border-radius: 0;2905  background: transparent;2906  box-shadow: none;2907}2908.peach-lock-hero-art {2909  position: absolute;2910  right: -8px;2911  top: -6px;2912  width: 120px;2913  height: 120px;2914  display: flex;2915  align-items: center;2916  justify-content: center;2917  pointer-events: none;2918  opacity: 0.12;2919  filter: saturate(0.9);2920}2921.peach-lock-hero-mark {2922  width: 100%;2923  height: 100%;2924}2925/* Peach body stays brand-peach across every accent — we don't want a2926   green or blue peach when sage/sky is selected. Leaf + stem keep the2927   sage tint because a real peach has a sage leaf. */2928.peach-lock-hero-mark path:nth-child(2),2929.peach-lock-hero-mark path:nth-child(3) {2930  stroke: rgba(123, 144, 96, 0.88);2931  fill: rgba(123, 144, 96, 0.88);2932}2933.peach-lock-hero > *:not(.peach-lock-hero-art) {2934  position: relative;2935  z-index: 1;2936}29372938.peach-lock-eyebrow {2939  display: inline-flex;2940  align-items: center;2941  width: fit-content;2942  padding: 4px 9px;2943  border-radius: 999px;2944  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);2945  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2946  color: var(--peach-t0);2947  font-family: "IBM Plex Mono", monospace;2948  font-size: 8px;2949  letter-spacing: 0.18em;2950  text-transform: uppercase;2951}29522953.peach-lock-label-row {2954  display: flex;2955  align-items: center;2956  justify-content: space-between;2957  margin-bottom: 0;2958}29592960.peach-lock-reveal-btn {2961  display: inline-flex;2962  align-items: center;2963  gap: 4px;2964  background: none;2965  border: none;2966  cursor: pointer;2967  font-family: "IBM Plex Mono", monospace;2968  font-size: 9px;2969  letter-spacing: 0.06em;2970  color: var(--peach-t2);2971  padding: 2px 0;2972  transition: color 150ms ease;2973}29742975.peach-lock-reveal-btn:hover {2976  color: var(--peach-t1);2977}29782979.peach-lock-warning {2980  color: rgba(220, 80, 60, 0.85) !important;2981  line-height: 1.5;2982}29832984.peach-onboarding-cards {2985  display: grid;2986  gap: 8px;2987  position: relative;2988  z-index: 1;2989}29902991.peach-lock-panel {2992  position: relative;2993  z-index: 1;2994  display: grid;2995  gap: 9px;2996  padding: 14px 16px 15px;2997  border-radius: 18px;2998  border: 1px solid var(--peach-t3);2999  background:3000    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3001  box-shadow:3002    inset 0 1px 0 rgba(240, 232, 216, 0.04),3003    0 12px 28px rgba(0, 0, 0, 0.12);3004}30053006.peach-lock-panel--secondary {3007  gap: 12px;3008}30093010.peach-lock-panel-header {3011  display: flex;3012  align-items: baseline;3013  justify-content: space-between;3014  gap: 12px;3015}30163017.peach-lock-option-grid {3018  display: grid;3019  gap: 10px;3020}30213022.peach-lock-option {3023  width: 100%;3024  display: grid;3025  gap: 6px;3026  padding: 14px 15px;3027  border-radius: 16px;3028  border: 1px solid rgba(240, 232, 216, 0.08);3029  background: rgba(240, 232, 216, 0.02);3030  color: var(--peach-t0);3031  text-align: left;3032  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3033}30343035.peach-lock-option:hover {3036  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3037  background: rgba(240, 232, 216, 0.04);3038  transform: translateY(-1px);3039}30403041.peach-lock-option-title {3042  font-size: 12px;3043  color: var(--peach-t0);3044}30453046.peach-lock-option-copy {3047  font-size: 11px;3048  line-height: 1.55;3049  color: var(--peach-t1);3050}30513052.peach-onboarding-stack {3053  margin-top: 2px;3054}3055.peach-lock-panel-footer {3056  display: grid;3057  gap: 6px;3058  margin-top: 2px;3059  padding-top: 10px;3060  border-top: 1px solid rgba(240, 232, 216, 0.06);3061}30623063/* Restore picker panel — method option cards */3064.peach-lock-panel--restore {3065  gap: 10px;3066}3067.peach-lock-option--history {3068  border-color: rgba(240, 232, 216, 0.06);3069  opacity: 0.85;3070}30713072/* Snapshot restore panel */3073.peach-snapshot-panel {3074  gap: 10px;3075  overflow-y: auto;3076  max-height: 340px;3077}3078.peach-snapshot-list {3079  display: flex;3080  flex-direction: column;3081  gap: 4px;3082}3083.peach-snapshot-row {3084  display: flex;3085  align-items: center;3086  justify-content: space-between;3087  width: 100%;3088  padding: 8px 10px;3089  border-radius: 8px;3090  border: 1px solid rgba(240, 232, 216, 0.07);3091  background: transparent;3092  cursor: pointer;3093  transition: border-color 120ms, background 120ms;3094  text-align: left;3095  gap: 8px;3096}3097.peach-snapshot-row:hover {3098  border-color: rgba(240, 232, 216, 0.14);3099  background: rgba(240, 232, 216, 0.03);3100}3101.peach-snapshot-row.is-selected {3102  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3103  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3104}3105.peach-snapshot-time {3106  font-size: 11.5px;3107  color: var(--peach-t0);3108  flex: 1;3109}3110.peach-snapshot-count {3111  font-family: "IBM Plex Mono", monospace;3112  font-size: 10px;3113  color: var(--peach-t2);3114  flex-shrink: 0;3115}3116.peach-snapshot-confirm {3117  display: flex;3118  flex-direction: column;3119  gap: 8px;3120  padding-top: 10px;3121  border-top: 1px solid rgba(240, 232, 216, 0.06);3122}3123.peach-snapshot-warning {3124  display: flex;3125  align-items: flex-start;3126  gap: 6px;3127  font-size: 10.5px;3128  color: rgba(220, 80, 60, 0.85);3129  line-height: 1.55;3130}3131.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3132.peach-snapshot-confirm-row {3133  display: flex;3134  gap: 6px;3135  align-items: center;3136}3137.peach-snapshot-restore-btn {3138  width: 100%;3139}3140.peach-lock-hero--unlock .peach-lock-hero-art {3141  width: 112px;3142  height: 112px;3143  right: 0;3144  top: 2px;3145  opacity: 0.1;3146}31473148.peach-card {3149  border: 1px solid var(--peach-t3);3150  border-radius: 18px;3151  background:3152    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3153  box-shadow:3154    inset 0 0 0 1px var(--peach-border-accent),3155    inset 0 1px 0 rgba(240, 232, 216, 0.04),3156    0 12px 32px rgba(0, 0, 0, 0.14);3157  overflow: hidden;3158}31593160.peach-card-active {3161  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3162  box-shadow:3163    inset 0 1px 0 rgba(240, 232, 216, 0.05),3164    0 16px 38px rgba(0, 0, 0, 0.18),3165    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3166}31673168.peach-card-disabled {3169  opacity: 0.72;3170}31713172.peach-card-header {3173  width: 100%;3174  padding: 13px 16px 11px;3175  background: transparent;3176  color: var(--peach-t0);3177  display: flex;3178  justify-content: space-between;3179  align-items: center;3180  text-align: left;3181  font-size: 12px;3182}31833184.peach-card-body {3185  padding: 0 16px 16px;3186  display: grid;3187  gap: 9px;3188}31893190.peach-card-tag {3191  color: var(--peach-t2);3192  font-family: "IBM Plex Mono", monospace;3193  font-size: 9px;3194  letter-spacing: 0.12em;3195  text-transform: uppercase;3196}31973198.peach-empty-copy {3199  display: grid;3200  gap: 6px;3201  color: var(--peach-t1);3202  font-size: 13px;3203}32043205.peach-lock-submit {3206  width: 100%;3207  box-shadow:3208    0 1px 0 rgba(255,255,255,0.28) inset,3209    0 0 0 1px color-mix(in srgb, var(--peach-accent) 55%, transparent),3210    0 16px 44px color-mix(in srgb, var(--peach-accent) 55%, transparent),3211    0 0 60px color-mix(in srgb, var(--peach-accent) 28%, transparent);3212}32133214.peach-lock-secondary {3215  width: 100%;3216  border-color: var(--peach-t3);3217  background: rgba(240, 232, 216, 0.02);3218}32193220.peach-lock-secondary:hover {3221  background: rgba(240, 232, 216, 0.04);3222}32233224.peach-lock-note {3225  max-width: none;3226  line-height: 1.55;3227  margin: 0;3228}32293230.peach-overlay-action {3231  font-size: 10px;3232  padding: 4px 8px;3233  letter-spacing: 0.06em;3234  min-width: 44px;3235  text-align: center;3236}32373238.peach-overlay-spacer {3239  width: 32px;3240}32413242.peach-inline-action {3243  flex-shrink: 0;3244  font-size: 9px;3245  letter-spacing: 0.1em;3246  text-transform: uppercase;3247  padding: 4px 7px;3248}3249.peach-password-toggle-btn {3250  display: inline-flex;3251  align-items: center;3252  justify-content: center;3253  min-width: 30px;3254  min-height: 26px;3255  padding: 0 7px;3256  border: 1px solid var(--peach-t3);3257  border-radius: 999px;3258  background: rgba(240, 232, 216, 0.04);3259  color: var(--peach-t2);3260  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3261}3262.peach-password-toggle-btn:hover {3263  border-color: var(--peach-t2);3264  color: var(--peach-t0);3265  background: rgba(240, 232, 216, 0.06);3266}32673268.peach-new-textarea {3269  width: 100%;3270  min-height: 88px;3271  resize: vertical;3272  border: 0;3273  outline: none;3274  background: transparent;3275  color: var(--peach-t1);3276  font-family: "IBM Plex Mono", monospace;3277  font-size: 12px;3278  line-height: 1.65;3279  caret-color: var(--peach-accent);3280}32813282.peach-new-textarea::placeholder {3283  color: var(--peach-t2);3284  opacity: 0.7;3285}32863287.peach-settings-actions {3288  display: grid;3289  gap: 8px;3290}32913292.peach-sync-section-label {3293  font-size: 11px;3294  color: var(--peach-t2);3295  text-transform: uppercase;3296  letter-spacing: 0.05em;3297}32983299.peach-sync-device-row {3300  display: flex;3301  justify-content: space-between;3302  align-items: center;3303  padding: 6px 0;3304  border-bottom: 1px solid var(--peach-t3);3305}33063307.peach-sync-device-info {3308  display: flex;3309  flex-direction: column;3310  gap: 2px;3311}33123313.peach-sync-device-name {3314  font-size: 13px;3315  color: var(--peach-t0);3316}33173318.peach-sync-device-meta {3319  font-size: 11px;3320  color: var(--peach-t2);3321}33223323.peach-sync-status-dot {3324  display: inline-block;3325  width: 8px;3326  height: 8px;3327  border-radius: 50%;3328  vertical-align: middle;3329}33303331.peach-sync-remove-btn {3332  color: var(--peach-breach);3333}33343335.peach-import-preview {3336  margin-bottom: 12px;3337  max-height: 152px;3338  overflow-y: auto;3339  border: 1px solid var(--peach-t3);3340  border-radius: 10px;3341  padding: 8px 10px;3342  display: grid;3343  gap: 8px;3344  background: rgba(240, 232, 216, 0.02);3345}33463347.peach-import-preview-row {3348  display: flex;3349  justify-content: space-between;3350  gap: 10px;3351  font-size: 11px;3352  color: var(--peach-t1);3353}33543355.peach-import-preview-title {3356  color: var(--peach-t0);3357  flex: 1;3358  min-width: 0;3359  overflow: hidden;3360  text-overflow: ellipsis;3361  white-space: nowrap;3362}33633364.peach-import-preview-meta {3365  color: var(--peach-t2);3366  flex-shrink: 0;3367  max-width: 42%;3368  overflow: hidden;3369  text-overflow: ellipsis;3370  white-space: nowrap;3371}33723373.peach-import-preview-more {3374  color: var(--peach-t2);3375  font-size: 10px;3376}33773378.peach-restore-copy {3379  margin: 0;3380  color: var(--peach-t1);3381  font-size: 11px;3382  line-height: 1.6;3383}33843385.peach-restore-warning {3386  padding: 10px 12px;3387  border-radius: 12px;3388  border: 1px solid rgba(220, 80, 60, 0.22);3389  background: rgba(220, 80, 60, 0.08);3390  color: rgba(240, 232, 216, 0.86);3391  font-size: 11px;3392  line-height: 1.55;3393}33943395.peach-provider-chips {3396  display: flex;3397  flex-wrap: wrap;3398  gap: 6px;3399}34003401.peach-provider-chip {3402  display: inline-flex;3403  align-items: center;3404  padding: 5px 8px;3405  border-radius: 999px;3406  border: 1px solid var(--peach-t3);3407  background: rgba(240, 232, 216, 0.02);3408  color: var(--peach-t1);3409  font-family: "IBM Plex Mono", monospace;3410  font-size: 8px;3411  letter-spacing: 0.08em;3412  text-transform: uppercase;3413}34143415.peach-restore-file,3416.peach-restore-input {3417  width: 100%;3418  border-radius: 10px;3419  border: 1px solid var(--peach-t3);3420  background: var(--peach-s2);3421  color: var(--peach-t0);3422  font-size: 12px;3423}34243425.peach-restore-file {3426  padding: 9px 10px;3427}34283429.peach-restore-file::file-selector-button {3430  margin-right: 10px;3431  padding: 7px 10px;3432  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3433  border-radius: 999px;3434  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3435  color: var(--peach-t0);3436  font-size: 10px;3437  letter-spacing: 0.08em;3438  text-transform: uppercase;3439  cursor: pointer;3440}34413442.peach-restore-input {3443  padding: 10px 12px;3444}34453446.peach-auth-grid {3447  display: grid;3448  gap: 10px;3449}34503451.peach-import-summary {3452  color: var(--peach-t1);3453  font-size: 12px;3454  line-height: 1.6;3455  margin-bottom: 12px;3456}34573458.peach-restore-error {3459  color: rgba(220, 80, 60, 0.95);3460  font-size: 12px;3461  line-height: 1.55;3462}34633464.peach-cjk-qr-panel {3465  margin-top: 14px;3466  padding: 12px;3467  border-radius: 16px;3468  border: 1px solid var(--peach-t3);3469  background: rgba(240, 232, 216, 0.02);3470  display: grid;3471  gap: 10px;3472}34733474.peach-cjk-qr-frame {3475  display: grid;3476  place-items: center;3477  min-height: 212px;3478  border-radius: 14px;3479  background: #fff;3480  overflow: hidden;3481}34823483.peach-cjk-qr-frame svg {3484  display: block;3485  width: 196px;3486  height: 196px;3487}34883489.peach-cjk-qr-error,3490.peach-cjk-qr-caption {3491  color: var(--peach-t1);3492  font-size: 11px;3493  line-height: 1.55;3494}34953496.peach-cjk-qr-card {3497  max-width: 400px;3498  margin: auto;3499}35003501.peach-cjk-qr-body {3502  padding: 0 20px 20px;3503  text-align: center;3504}35053506.peach-cjk-qr-hint {3507  font-size: 11px;3508  color: var(--peach-t2);3509  margin: 0 0 14px;3510}35113512.peach-cjk-qr-image {3513  border-radius: 4px;3514  display: block;3515  margin: 0 auto;3516  width: 100%;3517  max-width: 320px;3518  height: auto;3519}35203521.peach-pro-badge {3522  padding: 2px 6px;3523  border-radius: 999px;3524  font-family: var(--font-ui);3525  font-size: 10px;3526  letter-spacing: 0.08em;3527  text-transform: uppercase;3528  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3529  color: var(--peach-accent);3530}35313532.peach-loading {3533  position: absolute;3534  inset: 0;3535  display: flex;3536  align-items: center;3537  justify-content: center;3538  background: var(--bg);3539  animation: peach-loading-pulse 1.2s ease-in-out infinite;3540}35413542@keyframes peach-loading-pulse {3543  0%, 100% { opacity: 0.6; }3544  50% { opacity: 1; }3545}35463547/* ── Health Dashboard ─────────────────────────────────────────────────── */3548.peach-health-body {3549  flex: 1;3550  overflow-y: auto;3551  display: flex;3552  flex-direction: column;3553}35543555.peach-health-summary {3556  padding: 10px 16px 6px;3557  font-family: "IBM Plex Mono", monospace;3558  font-size: 11px;3559}3560.peach-health-summary-warn { color: rgba(220,80,60,0.9); }3561.peach-health-summary-ok { color: var(--peach-t2); }35623563.peach-health-check-row {3564  padding: 0 16px 10px;3565}3566.peach-health-check-btn {3567  width: 100%;3568  display: flex;3569  align-items: center;3570  justify-content: center;3571}35723573.peach-health-sections {3574  flex: 1;3575  display: flex;3576  flex-direction: column;3577}35783579.peach-health-section {3580  border-bottom: 1px solid var(--peach-t3);3581}35823583.peach-health-section-header {3584  width: 100%;3585  display: flex;3586  align-items: center;3587  justify-content: space-between;3588  padding: 9px 16px;3589  background: transparent;3590  cursor: pointer;3591  color: var(--peach-t0);3592}35933594.peach-health-section-title-row {3595  display: flex;3596  align-items: center;3597  gap: 8px;3598}35993600.peach-health-count-badge {3601  display: inline-flex;3602  align-items: center;3603  justify-content: center;3604  min-width: 20px;3605  height: 18px;3606  padding: 0 5px;3607  border-radius: 999px;3608  background: rgba(220,80,60,0.15);3609  border: 1px solid rgba(220,80,60,0.25);3610  font-family: "IBM Plex Mono", monospace;3611  font-size: 9px;3612  color: rgba(220,80,60,0.9);3613}36143615.peach-health-section-title {3616  font-family: "IBM Plex Mono", monospace;3617  font-size: 11px;3618  text-transform: uppercase;3619  letter-spacing: 0.1em;3620  color: var(--peach-t1);3621}36223623.peach-health-chevron {3624  color: var(--peach-t2);3625  transition: transform 200ms ease;3626  flex-shrink: 0;3627}3628.peach-health-chevron.is-expanded {3629  transform: rotate(180deg);3630}36313632.peach-health-section-body {3633  padding: 0 16px 10px;3634  display: flex;3635  flex-direction: column;3636  gap: 4px;3637}36383639.peach-health-row {3640  display: flex;3641  align-items: flex-start;3642  justify-content: space-between;3643  gap: 8px;3644  padding: 6px 8px;3645  border-radius: 8px;3646  background: rgba(240,232,216,0.02);3647}36483649.peach-health-row-info {3650  flex: 1;3651  min-width: 0;3652  display: flex;3653  flex-direction: column;3654  gap: 2px;3655}36563657.peach-health-row-name {3658  font-family: "Cormorant Garamond", serif;3659  font-size: 15px;3660  font-style: italic;3661  font-weight: 400;3662  color: var(--peach-t0);3663  white-space: nowrap;3664  overflow: hidden;3665  text-overflow: ellipsis;3666}36673668.peach-health-row-meta {3669  font-family: "IBM Plex Mono", monospace;3670  font-size: 9px;3671  color: var(--peach-t2);3672  letter-spacing: 0.05em;3673}36743675.peach-health-fix-btn {3676  font-size: 9px;3677  letter-spacing: 0.08em;3678  text-transform: uppercase;3679  padding: 4px 7px;3680  flex-shrink: 0;3681  display: flex;3682  align-items: center;3683}36843685.peach-health-empty {3686  font-family: "IBM Plex Mono", monospace;3687  font-size: 10px;3688  color: var(--peach-t2);3689  padding: 6px 0;3690}36913692.peach-health-loading {3693  font-family: "IBM Plex Mono", monospace;3694  font-size: 10px;3695  color: var(--peach-t2);3696  padding: 6px 0;3697  display: flex;3698  align-items: center;3699  gap: 6px;3700}37013702.peach-health-loading::before {3703  content: "";3704  width: 10px;3705  height: 10px;3706  border: 1.5px solid var(--peach-t3);3707  border-top-color: var(--peach-accent);3708  border-radius: 50%;3709  animation: peach-spin 600ms linear infinite;3710}37113712@keyframes peach-spin {3713  to { transform: rotate(360deg); }3714}37153716.peach-spinner {3717  width: 32px;3718  height: 32px;3719  border: 2px solid var(--peach-s2);3720  border-top-color: var(--peach-accent);3721  border-radius: 50%;3722  margin: 0 auto 16px;3723  animation: peach-spin 0.8s linear infinite;3724}37253726.peach-progress-screen {3727  text-align: center;3728  padding: 32px 16px;3729}37303731.peach-progress-screen-title {3732  font-size: 13px;3733  color: var(--peach-t0);3734  margin-bottom: 16px;3735}37363737.peach-progress-screen-stage {3738  font-size: 11px;3739  color: var(--peach-t2);3740  min-height: 14px;3741}37423743.peach-progress-screen-note {3744  font-size: 10px;3745  color: var(--peach-t2);3746  margin-top: 8px;3747}37483749.peach-pairing-body {3750  flex: 1;3751  overflow-y: auto;3752  display: flex;3753  flex-direction: column;3754}37553756.peach-pairing-content {3757  flex: 1;3758  display: flex;3759  flex-direction: column;3760  align-items: center;3761  justify-content: center;3762  gap: 14px;3763  padding: 28px 20px;3764  text-align: center;3765}37663767.peach-pairing-headline {3768  font-family: var(--font-display);3769  font-style: italic;3770  font-weight: 300;3771  font-size: 28px;3772  color: var(--peach-t0);3773  margin: 0;3774  line-height: 1;3775}37763777.peach-pairing-subline {3778  font-size: 12px;3779  color: var(--peach-t2);3780  max-width: 220px;3781  line-height: 1.5;3782  margin: 0;3783}37843785.peach-pairing-subline--center {3786  text-align: center;3787}37883789.peach-pairing-code-display {3790  display: flex;3791  gap: 6px;3792}37933794.peach-pairing-code-digit {3795  display: flex;3796  align-items: center;3797  justify-content: center;3798  width: 36px;3799  height: 48px;3800  background: var(--peach-s2);3801  border: 1px solid var(--peach-t3);3802  border-radius: 6px;3803  font-family: var(--font-mono);3804  font-size: 22px;3805  color: var(--peach-t0);3806  letter-spacing: 0;3807}38083809.peach-pairing-countdown-ring {3810  position: relative;3811  display: inline-flex;3812  align-items: center;3813  justify-content: center;3814}38153816.peach-pairing-countdown-num {3817  position: absolute;3818  font-family: var(--font-mono);3819  font-size: 14px;3820  color: var(--peach-t1);3821}38223823.peach-pairing-ring-track {3824  fill: none;3825  stroke: var(--peach-t3);3826  stroke-width: 2;3827}38283829.peach-pairing-ring-progress {3830  fill: none;3831  stroke: var(--peach-accent);3832  stroke-width: 2;3833  stroke-linecap: round;3834  transform: rotate(-90deg);3835  transform-origin: 50% 50%;3836  transition: stroke-dashoffset 0.5s linear;3837}38383839.peach-pairing-code-inputs {3840  display: flex;3841  gap: 8px;3842}38433844.peach-pairing-code-box {3845  width: 36px;3846  height: 48px;3847  text-align: center;3848  background: var(--peach-s2);3849  border: 1px solid var(--peach-t3);3850  border-radius: 6px;3851  font-family: var(--font-mono);3852  font-size: 20px;3853  color: var(--peach-t0);3854  outline: none;3855  transition: border-color 120ms ease;3856}38573858.peach-pairing-code-box:focus {3859  border-color: var(--peach-accent);3860}38613862.peach-pairing-code-box.has-error {3863  border-color: rgba(220, 80, 60, 0.45);3864}38653866.peach-pairing-status {3867  display: flex;3868  align-items: center;3869  gap: 8px;3870  margin: 0;3871  font-size: 12px;3872  color: var(--peach-t1);3873}38743875.peach-pairing-error {3876  margin: 0;3877  font-size: 11px;3878  color: var(--peach-breach);3879}38803881.peach-pairing-error-msg {3882  color: var(--peach-t1);3883}38843885.peach-pairing-spinner {3886  width: 12px;3887  height: 12px;3888  border: 1.5px solid var(--peach-t3);3889  border-top-color: var(--peach-accent);3890  border-radius: 50%;3891  animation: peach-spin 0.8s linear infinite;3892}38933894.peach-pairing-success-icon,3895.peach-pairing-error-icon,3896.peach-pairing-hero {3897  display: inline-flex;3898  align-items: center;3899  justify-content: center;3900}39013902/* Tag chips */3903.peach-tag-chip {3904  display: inline-flex;3905  align-items: center;3906  gap: 4px;3907  padding: 3px 8px;3908  border-radius: 999px;3909  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3910  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3911  color: rgba(240, 232, 216, 0.85);3912  font-family: "IBM Plex Mono", monospace;3913  font-size: 10px;3914  letter-spacing: 0.04em;3915}39163917.peach-tag-chip-remove {3918  background: transparent;3919  border: none;3920  color: inherit;3921  opacity: 0.6;3922  cursor: pointer;3923  padding: 0;3924  font-size: 12px;3925  line-height: 1;3926}39273928.peach-tag-chip-remove:hover {3929  opacity: 1;3930}39313932/* Tag input */3933.peach-tag-input-wrap {3934  border-bottom: 1px solid var(--peach-t3);3935}39363937.peach-tag-suggestions {3938  display: flex;3939  flex-wrap: wrap;3940  gap: 4px;3941  padding: 6px 0;3942}39433944.peach-tag-suggestion {3945  padding: 2px 8px;3946  border-radius: 999px;3947  border: 1px solid var(--peach-t3);3948  background: var(--peach-s2);3949  color: var(--peach-t1);3950  font-family: "IBM Plex Mono", monospace;3951  font-size: 10px;3952  cursor: pointer;3953  transition: border-color 80ms ease, background 80ms ease;3954}39553956.peach-tag-suggestion:hover {3957  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3958  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3959}39603961/* Tag filter strip */3962.peach-tag-filter-strip {3963  border-bottom: 1px solid var(--peach-t3);3964  flex-shrink: 0;3965}39663967.peach-tag-filter-chip {3968  display: inline-flex;3969  align-items: center;3970  padding: 4px 10px;3971  border-radius: 999px;3972  border: 1px solid var(--peach-t3);3973  background: transparent;3974  color: var(--peach-t2);3975  font-family: "IBM Plex Mono", monospace;3976  font-size: 9px;3977  letter-spacing: 0.06em;3978  text-transform: uppercase;3979  cursor: pointer;3980  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;3981  white-space: nowrap;3982}39833984.peach-tag-filter-chip:hover {3985  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3986  color: var(--peach-t1);3987}39883989.peach-tag-filter-chip.is-selected {3990  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3991  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);3992  color: rgba(240, 232, 216, 0.9);3993}39943995/* ─────────────────────────────────────────────────────────────────────────3996   v1.4.12 additions3997   ─────────────────────────────────────────────────────────────────────── */39983999/* Sort bar */4000.peach-sort-bar {4001  display: flex;4002  align-items: center;4003  gap: 4px;4004  padding: 5px 12px;4005  border-bottom: 1px solid var(--peach-t3);4006  flex-shrink: 0;4007  overflow-x: auto;4008  scrollbar-width: none;4009}40104011.peach-sort-btn {4012  padding: 2px 9px;4013  border-radius: 999px;4014  border: 1px solid transparent;4015  background: transparent;4016  color: var(--peach-t2);4017  font-family: "IBM Plex Mono", monospace;4018  font-size: 9px;4019  letter-spacing: 0.07em;4020  text-transform: uppercase;4021  cursor: pointer;4022  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4023  white-space: nowrap;4024}40254026.peach-sort-btn:hover {4027  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);4028  color: var(--peach-t1);4029}40304031.peach-sort-btn.is-active {4032  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4033  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4034  color: rgba(240, 232, 216, 0.9);4035}40364037.peach-sort-domain-hint {4038  margin-left: auto;4039  font-family: "IBM Plex Mono", monospace;4040  font-size: 9px;4041  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4042  white-space: nowrap;4043  overflow: hidden;4044  text-overflow: ellipsis;4045  max-width: 110px;4046}40474048/* Tab-match badge on entry rows */4049.peach-tab-match-badge {4050  display: inline-block;4051  width: 6px;4052  height: 6px;4053  border-radius: 50%;4054  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4055  margin-left: 5px;4056  vertical-align: middle;4057  flex-shrink: 0;4058  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4059}40604061.peach-entry-row.is-tab-match {4062  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4063  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4064}40654066.peach-entry-row.is-tab-match:hover {4067  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4068}40694070/* Entry list stagger entrance */4071@keyframes peach-entry-fadein {4072  from { opacity: 0; transform: translateY(4px); }4073  to   { opacity: 1; transform: translateY(0); }4074}40754076.peach-vault-list .peach-entry-row {4077  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4078  content-visibility: auto;4079  contain-intrinsic-size: auto 44px;4080}40814082/* Button press micro-interaction */4083.peach-btn:active {4084  transform: scale(0.95);4085  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4086}40874088.peach-sort-btn:active,4089.peach-tag-filter-chip:active {4090  transform: scale(0.93);4091  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4092}40934094/* Password strength bar (Lock view + shared) */4095.peach-password-strength {4096  display: flex;4097  align-items: center;4098  gap: 8px;4099  margin-top: 6px;4100}41014102.peach-strength-bar {4103  flex: 1;4104  height: 3px;4105  border-radius: 2px;4106  background: var(--peach-t3);4107  overflow: hidden;4108}41094110.peach-strength-fill {4111  height: 100%;4112  border-radius: 2px;4113  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4114              background 300ms ease;4115}41164117.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4118.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4119.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4120.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }41214122.peach-strength-label {4123  font-family: "IBM Plex Mono", monospace;4124  font-style: italic;4125  font-size: 9px;4126  font-weight: 300;4127  letter-spacing: 0.06em;4128  color: var(--peach-t2);4129  min-width: 36px;4130  text-align: right;4131}41324133.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4134.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4135.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4136.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }41374138/* Duress form */4139.peach-duress-status {4140  padding: 2px 8px;4141  border-radius: 999px;4142  border: 1px solid var(--peach-t3);4143  font-family: "IBM Plex Mono", monospace;4144  font-size: 9px;4145  letter-spacing: 0.07em;4146  text-transform: uppercase;4147  color: var(--peach-t2);4148  flex-shrink: 0;4149}41504151.peach-duress-status.is-active {4152  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4153  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4154  color: rgba(240, 232, 216, 0.85);4155}41564157.peach-duress-form {4158  padding: 8px 0 4px;4159  display: flex;4160  flex-direction: column;4161  gap: 6px;4162}41634164.peach-duress-form .peach-label {4165  margin-top: 4px;4166}41674168.peach-duress-actions {4169  display: flex;4170  gap: 6px;4171  align-items: center;4172  margin-top: 4px;4173}41744175.peach-duress-actions .peach-btn:first-child {4176  margin-right: auto;4177}41784179/* Improved overlay spring entrance */4180.peach-overlay-view.ov-enter-up {4181  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4182}41834184@keyframes ov-enter-up-spring {4185  from { opacity: 0; transform: translateY(16px) scale(0.98); }4186  to   { opacity: 1; transform: translateY(0) scale(1); }4187}41884189.peach-overlay-view.ov-enter-right {4190  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4191}41924193@keyframes ov-enter-right-spring {4194  from { opacity: 0; transform: translateX(18px) scale(0.98); }4195  to   { opacity: 1; transform: translateX(0) scale(1); }4196}41974198/* ── Onboarding-mode restore screens (CJK phrase / file import) ── */4199/* Used when CJKImportView or MainImportView renders during onboarding4200   (no vault yet). Animates like a lock-screen transition. */4201.peach-lock-view {4202  position: absolute;4203  inset: 0;4204  display: flex;4205  flex-direction: column;4206  background:4207    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4208    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4209    var(--peach-bg);4210  z-index: 2;4211  overflow: hidden;4212  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4213}42144215.peach-lock-view-header {4216  display: flex;4217  align-items: center;4218  justify-content: space-between;4219  padding: 16px 18px 12px;4220  flex-shrink: 0;4221}42224223/* ───────── Settings: auto-lock select ───────── */4224.peach-settings-select {4225  font-family: "IBM Plex Mono", monospace;4226  font-size: 11px;4227  background: transparent;4228  border: 1px solid var(--peach-t3);4229  border-radius: 4px;4230  color: var(--peach-t1);4231  padding: 3px 6px;4232  cursor: pointer;4233  outline: none;4234}4235.peach-settings-select:focus {4236  border-color: var(--peach-accent);4237}42384239/* ───────── Duress status pill (new polished) ───────── */4240.peach-duress-status-pill {4241  font-family: "IBM Plex Mono", monospace;4242  font-size: 9px;4243  text-transform: uppercase;4244  letter-spacing: 0.12em;4245  padding: 2px 8px;4246  border-radius: 12px;4247  background: var(--peach-t3);4248  color: var(--peach-t2);4249  flex-shrink: 0;4250}4251.peach-duress-status-pill.is-active {4252  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4253  color: var(--peach-accent);4254}42554256/* ───────── Entry advanced disclosure (canary) ───────── */4257.peach-entry-advanced {4258  margin-top: 12px;4259  border-top: 1px solid var(--peach-t3);4260  padding-top: 10px;4261  position: relative;4262  z-index: 1;4263}4264.peach-entry-advanced-toggle {4265  display: flex;4266  align-items: center;4267  justify-content: space-between;4268  width: 100%;4269  background: transparent;4270  border: none;4271  cursor: pointer;4272  padding: 0;4273  color: var(--peach-t2);4274}4275.peach-canary-section {4276  margin-top: 10px;4277  display: grid;4278  gap: 6px;4279}42804281/* ───────── Import: merge/replace radio choices ───────── */4282.peach-import-choice {4283  display: flex;4284  align-items: flex-start;4285  gap: 10px;4286  padding: 8px 10px;4287  border: 1px solid var(--peach-t3);4288  border-radius: 10px;4289  cursor: pointer;4290  margin-bottom: 6px;4291  transition: border-color 120ms ease, background 120ms ease;4292}4293.peach-import-choice:hover {4294  border-color: var(--peach-accent);4295}4296.peach-import-choice input[type="radio"] {4297  margin-top: 3px;4298  accent-color: var(--peach-accent);4299  flex-shrink: 0;4300}4301.peach-import-choice-main {4302  display: flex;4303  flex-direction: column;4304  gap: 2px;4305  min-width: 0;4306}4307.peach-import-choice-label {4308  font-size: 12px;4309  color: var(--peach-t0);4310}4311.peach-import-choice-sub {4312  font-size: 11px;4313  color: var(--peach-t2);4314  line-height: 1.5;4315}43164317/* ───────── Export: success confirmation strip ───────── */4318.peach-export-success {4319  display: flex;4320  align-items: flex-start;4321  gap: 10px;4322  padding: 12px;4323  border-radius: 12px;4324  border: 1px solid rgba(150, 175, 110, 0.3);4325  background: rgba(150, 175, 110, 0.08);4326  color: var(--peach-t0);4327  font-size: 12px;4328  line-height: 1.55;4329}4330.peach-export-success-check {4331  color: rgba(150, 175, 110, 0.9);4332  font-size: 14px;4333  flex-shrink: 0;4334}43354336/* ── Trash view ──────────────────────────────────────────────────────── */4337.peach-trash-entry-row {4338  display: flex;4339  align-items: center;4340  justify-content: space-between;4341  gap: 8px;4342  padding: 8px 0;4343  border-bottom: 1px solid var(--peach-t3);4344}4345.peach-trash-entry-row:last-child { border-bottom: none; }4346.peach-trash-entry-info {4347  flex: 1;4348  min-width: 0;4349  display: flex;4350  flex-direction: column;4351  gap: 2px;4352}4353.peach-trash-entry-title {4354  font-size: 12px;4355  color: var(--peach-t1);4356  overflow: hidden;4357  text-overflow: ellipsis;4358  white-space: nowrap;4359}4360.peach-trash-entry-meta {4361  font-family: var(--font-mono);4362  font-size: 9px;4363  color: var(--peach-t2);4364  letter-spacing: 0.06em;4365}4366.peach-trash-entry-actions {4367  display: flex;4368  align-items: center;4369  gap: 4px;4370  flex-shrink: 0;4371}43724373/* ── Settings shortcuts grid ─────────────────────────────────────────── */4374.peach-shortcuts-grid {4375  display: grid;4376  grid-template-columns: auto 1fr;4377  gap: 6px 12px;4378  align-items: center;4379  padding: 4px 0;4380}4381.peach-shortcut-key {4382  font-family: var(--font-mono);4383  font-size: 10px;4384  color: var(--peach-t0);4385  background: var(--peach-t3);4386  border-radius: 4px;4387  padding: 2px 6px;4388  white-space: nowrap;4389  text-align: center;4390}4391.peach-shortcut-desc {4392  font-size: 11px;4393  color: var(--peach-t1);4394}43954396/* ── Sort bar trash button ───────────────────────────────────────────── */4397.peach-sort-trash-btn {4398  display: flex;4399  align-items: center;4400  justify-content: center;4401  padding: 3px 5px;4402  background: transparent;4403  border: none;4404  cursor: pointer;4405  color: var(--peach-t2);4406  border-radius: 4px;4407  transition: color 140ms ease, background 140ms ease;4408}4409.peach-sort-trash-btn:hover {4410  color: var(--peach-t1);4411  background: var(--peach-t3);4412}4413.peach-sort-trash-btn.is-active {4414  color: var(--peach-accent);4415}44164417/* Accent color picker */4418.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }4419.peach-accent-picker {4420  display: flex;4421  flex-wrap: wrap;4422  gap: 7px;4423  padding: 2px 0;4424}4425.peach-accent-swatch {4426  width: 22px;4427  height: 22px;4428  border-radius: 50%;4429  border: 2px solid transparent;4430  cursor: pointer;4431  padding: 0;4432  transition: transform 100ms;4433  outline-offset: 2px;4434}4435.peach-accent-swatch:hover { transform: scale(1.15); }4436.peach-accent-swatch.is-active {4437  border-color: var(--peach-t0);4438  transform: scale(1.1);4439}44404441/* ── Card entry styles ───────────────────────────────────────── */4442.peach-card-number {4443  font-family: var(--peach-mono);4444  letter-spacing: 0.08em;4445}44464447.peach-card-network-badge {4448  font-size: 10px;4449  padding: 1px 5px;4450  border-radius: 4px;4451  border: 0.5px solid var(--peach-border);4452  color: var(--peach-text-dim);4453  margin-left: 6px;4454  vertical-align: middle;4455}44564457.peach-card-expiry-row {4458  display: flex;4459  align-items: center;4460  gap: 8px;4461}44624463.peach-card-expiry-sep {4464  color: var(--peach-text-dim);4465}