popup.css

102.4 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 { background: var(--peach-accent); color: rgba(0,0,0,0.75); box-shadow: 0 2px 16px var(--peach-glow); }787.peach-btn--accent:hover:not(:disabled) { background: var(--peach-accent); filter: brightness(1.12); }788.peach-btn--ghost { border-color: var(--peach-t3); color: var(--peach-t1); }789.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }790.peach-icon-btn {791  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;792  display: inline-flex; align-items: center; justify-content: center;793}794795.peach-btn:focus-visible {796  outline: none;797  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);798}799800/* Lock button */801.peach-lock-icon { transform-origin: center; }802.peach-lock-btn.is-locking { color: var(--peach-accent); }803.peach-lock-btn.is-locking .peach-lock-icon {804  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);805}806807/* Copy button */808.peach-copy-btn {809  position: relative; overflow: hidden;810  color: var(--peach-t2); border-color: var(--peach-t3);811}812.peach-copy-icon {813  display: inline-flex; align-items: center; justify-content: center;814  position: relative; z-index: 1;815}816.peach-copy-icon-svg { display: block; }817.peach-copy-sheen {818  position: absolute; inset: 0;819  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%);820  opacity: 0; transform: scaleX(0.15); transform-origin: left center;821}822.peach-copy-btn.is-copied {823  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;824  box-shadow:825    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),826    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),827    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);828}829.peach-copy-btn.is-copied .peach-copy-icon {830  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;831}832.peach-copy-btn.is-copied .peach-copy-sheen {833  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;834}835.peach-copy-btn.is-retreat {836  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;837}838.peach-copy-btn.is-retreat .peach-copy-sheen {839  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;840}841.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }842.peach-copy-drain-bar {843  display: block; width: 100%; height: 100%;844  background: var(--peach-accent); opacity: 0.7;845  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;846}847848/* Unlock screen elements */849.peach-unlock-headline {850  margin: 2px 0 0;851  font-family: "Cormorant Garamond", "Times New Roman", serif;852  font-size: 52px; line-height: 0.95;853  font-style: italic; font-weight: 400;854}855.peach-subline {856  margin: 0;857  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;858  font-size: 10px; color: var(--peach-t2); font-style: italic;859}860.peach-subline--lock {861  max-width: 248px;862  line-height: 1.5;863}864.peach-underline-input {865  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);866  padding: 6px 0; background: transparent; color: var(--peach-t0);867  outline: none;868  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;869  font-size: 13px;870  caret-color: var(--peach-accent);871}872.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }873.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }874.peach-hint {875  margin: 0;876  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;877  font-size: 10px; color: var(--peach-t2);878}879.peach-unlock-footer {880  margin-top: 4px; display: flex; align-items: center; gap: 7px;881  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;882  font-size: 10px; color: var(--peach-t2);883}884.peach-unlock-footer--lock {885  padding-top: 2px;886}887888/* Breach badge */889.peach-breach-badge {890  display: flex;891  position: relative;892  z-index: 1;893  align-items: center;894  gap: 7px;895  font-size: 9px;896  color: var(--peach-breach);897  padding: 5px 10px;898  margin-bottom: 4px;899  border-radius: 8px;900  background: rgba(220, 80, 60, 0.07);901  border: 1px solid rgba(220, 80, 60, 0.18);902  letter-spacing: 0.04em;903}904905.peach-breach-action {906  margin-left: auto;907  font-size: 10px;908  padding: 3px 8px;909}910911.peach-password-value.is-breached {912  color: rgba(220, 80, 60, 0.75);913  border-bottom: 1px solid rgba(220, 80, 60, 0.22);914}915916/* ── Overlay views ─────────────────────────────────────────────────── */917.peach-overlay-view {918  position: absolute;919  inset: 0;920  display: flex;921  flex-direction: column;922  background:923    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),924    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),925    var(--peach-bg);926  z-index: 2;927  overflow: hidden;928  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;929}930@keyframes overlay-in {931  from { opacity: 0; transform: translateY(8px); }932  to   { opacity: 1; transform: translateY(0); }933}934.peach-overlay-view.ov-enter-up {935  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;936}937.peach-overlay-view.ov-exit-up {938  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;939}940.peach-overlay-view.ov-enter-right {941  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;942}943.peach-overlay-view.ov-exit-right {944  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;945}946947@keyframes ov-enter-up {948  from { opacity: 0; transform: translateY(18px); }949  to   { opacity: 1; transform: translateY(0); }950}951@keyframes ov-exit-up {952  from { opacity: 1; transform: translateY(0); }953  to   { opacity: 0; transform: translateY(-12px); }954}955@keyframes ov-enter-right {956  from { opacity: 0; transform: translateX(20px); }957  to   { opacity: 1; transform: translateX(0); }958}959@keyframes ov-exit-right {960  from { opacity: 1; transform: translateX(0); }961  to   { opacity: 0; transform: translateX(20px); }962}963964/* Overlay shared header */965.peach-overlay-header {966  padding: 10px 12px;967  display: flex;968  align-items: center;969  gap: 8px;970  border-bottom: 1px solid var(--peach-t3);971  flex-shrink: 0;972}973.peach-overlay-title {974  font-family: "IBM Plex Mono", monospace;975  font-size: 9px;976  text-transform: uppercase;977  letter-spacing: 0.18em;978  color: var(--peach-t2);979  flex: 1;980  text-align: center;981}982983.peach-overlay-card {984  background: var(--peach-s1);985  border: 1px solid var(--peach-t3);986  border-radius: 12px;987  overflow: hidden;988  width: 100%;989}990991.peach-onboarding-alt-actions {992  display: flex;993  flex-direction: column;994  gap: 4px;995  padding: 0;996}997998.peach-settings-copy {999  margin: 0 0 10px;1000  font-size: 11px;1001  line-height: 1.5;1002  color: var(--peach-t2);1003}10041005.peach-settings-copy strong {1006  color: var(--peach-t0);1007}10081009.peach-settings-copy--spacious {1010  margin-bottom: 12px;1011}10121013.peach-settings-copy--result {1014  color: var(--peach-accent);1015  font-size: 13px;1016  text-align: center;1017  padding: 8px 0;1018}10191020.peach-settings-copy--danger {1021  color: var(--peach-breach);1022}10231024.peach-settings-copy--success {1025  color: var(--peach-accent);1026}10271028.peach-inline-feedback {1029  font-size: 11px;1030  margin: 10px 0 0;1031}10321033.peach-inline-feedback--ok {1034  color: var(--peach-accent);1035}10361037.peach-inline-feedback--error {1038  color: var(--peach-breach);1039}10401041.peach-inline-feedback--muted {1042  color: var(--peach-t2);1043  font-size: 10px;1044  margin: 4px 0;1045}10461047.peach-inline-feedback--spaced {1048  margin-top: 12px;1049}10501051.peach-settings-actions--row {1052  display: flex;1053  gap: 6px;1054}10551056.peach-settings-actions--end {1057  margin-top: 14px;1058  justify-content: flex-end;1059}10601061.peach-settings-stack {1062  display: flex;1063  flex-direction: column;1064  gap: 6px;1065}10661067.peach-settings-stack--tight {1068  gap: 4px;1069}10701071.peach-settings-stack--spacious {1072  gap: 8px;1073}10741075.peach-settings-input {1076  width: 100%;1077  box-sizing: border-box;1078  padding: 8px 10px;1079  background: var(--peach-s2);1080  border: 1px solid var(--peach-t3);1081  border-radius: 6px;1082  color: var(--peach-t0);1083  font-family: var(--font-ui);1084  font-size: 12px;1085  outline: none;1086  transition: border-color 120ms ease;1087}10881089.peach-settings-input:focus {1090  border-color: var(--peach-accent);1091}10921093.peach-settings-input[type="password"] {1094  font-family: var(--font-mono);1095  letter-spacing: 0.04em;1096}10971098.peach-phrase-textarea {1099  width: 100%;1100  box-sizing: border-box;1101  min-height: 120px;1102  padding: 10px 12px;1103  background: var(--peach-s2);1104  border: 1px solid var(--peach-t3);1105  border-radius: 6px;1106  color: var(--peach-t0);1107  font-size: 12px;1108  font-family: "Noto Sans CJK SC", "PingFang SC", monospace;1109  line-height: 1.5;1110  resize: vertical;1111  outline: none;1112}11131114.peach-phrase-textarea:focus {1115  border-color: var(--peach-accent);1116}11171118.peach-hidden-file-input {1119  display: none;1120}11211122.peach-checkbox-note {1123  display: flex;1124  align-items: flex-start;1125  gap: 8px;1126  font-size: 11px;1127  color: var(--peach-t1);1128  cursor: pointer;1129  margin: 12px 0;1130}11311132.peach-checkbox-note input {1133  margin-top: 1px;1134}11351136.peach-cjk-phrase-box {1137  font-family: "Noto Sans CJK SC", "PingFang SC", "Hiragino Sans GB", sans-serif;1138  font-size: 13px;1139  line-height: 1.5;1140  background: var(--peach-s2);1141  border: 1px solid var(--peach-t3);1142  border-radius: 6px;1143  padding: 10px 12px;1144  margin: 0 0 10px;1145  word-break: break-all;1146  white-space: pre-wrap;1147  max-height: 220px;1148  overflow-y: auto;1149  color: var(--peach-t0);1150  user-select: all;1151  scrollbar-width: none;1152  -ms-overflow-style: none;1153}1154.peach-cjk-phrase-box::-webkit-scrollbar { display: none; }11551156.peach-danger-notice {1157  background: rgba(220, 80, 60, 0.08);1158  border: 1px solid rgba(220, 80, 60, 0.2);1159  border-radius: 6px;1160  padding: 9px 11px;1161  font-size: 11px;1162  color: var(--peach-t1);1163  line-height: 1.5;1164}11651166.peach-info-notice {1167  font-size: 11px;1168  color: var(--peach-t2);1169  line-height: 1.5;1170  background: rgba(240, 232, 216, 0.04);1171  border: 1px solid var(--peach-t3);1172  border-radius: 6px;1173  padding: 8px 10px;1174}11751176.peach-strength-row {1177  display: flex;1178  align-items: center;1179  gap: 8px;1180  margin-bottom: 10px;1181}11821183.peach-strength-track {1184  flex: 1;1185  height: 4px;1186  background: var(--peach-s2);1187  border-radius: 2px;1188  overflow: hidden;1189}11901191.peach-strength-fill {1192  height: 100%;1193  border-radius: 2px;1194  transition: width 120ms ease, background 120ms ease;1195}11961197/* ── Type selector tabs ── */1198.peach-type-tabs {1199  display: flex;1200  gap: 0;1201  background: var(--peach-t4);1202  border-radius: 8px;1203  padding: 3px;1204}12051206.peach-type-tab {1207  flex: 1;1208  display: flex;1209  align-items: center;1210  justify-content: center;1211  gap: 6px;1212  padding: 6px 10px;1213  border-radius: 6px;1214  border: none;1215  background: transparent;1216  cursor: pointer;1217  font-family: Inter, system-ui, sans-serif;1218  font-size: 11px;1219  font-weight: 400;1220  letter-spacing: 0.04em;1221  color: var(--peach-t1);1222  transition: background 150ms ease, color 150ms ease;1223}12241225.peach-type-tab.is-active {1226  background: var(--peach-s2);1227  color: var(--peach-t0);1228  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1229}12301231.peach-type-tab:not(.is-active):hover {1232  color: var(--peach-t0);1233}12341235.peach-type-tab svg {1236  opacity: 0.7;1237  flex-shrink: 0;1238}12391240.peach-type-tab.is-active svg {1241  opacity: 1;1242}12431244/* ── List view ───────────────────────────────────────────────────────── */1245.peach-list-top {1246  padding: 0 10px;1247  min-height: 46px;1248  display: flex;1249  align-items: center;1250  gap: 6px;1251  border-bottom: 1px solid var(--peach-t3);1252  flex-shrink: 0;1253  background: var(--peach-s1);1254}1255.peach-vault-list {1256  flex: 1;1257  overflow-y: auto;1258  scrollbar-width: none;1259}1260.peach-vault-list::-webkit-scrollbar { display: none; }12611262/* Scrollbar — vault list */1263.peach-vault-list {1264  scrollbar-width: thin;1265  scrollbar-color: var(--peach-t3) transparent;1266}12671268.peach-vault-list::-webkit-scrollbar {1269  width: 3px;1270}12711272.peach-vault-list::-webkit-scrollbar-thumb {1273  background: var(--peach-t3);1274  border-radius: 2px;1275}12761277.peach-entry-row {1278  width: 100%;1279  display: flex;1280  align-items: center;1281  gap: 10px;1282  padding: 9px 16px;1283  background: transparent;1284  border: none;1285  border-bottom: 1px solid var(--peach-t3);1286  cursor: pointer;1287  color: inherit;1288  text-align: left;1289  transition: background 80ms ease;1290}1291.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1292.peach-entry-row:last-child { border-bottom: none; }1293.peach-entry-row.is-active {1294  box-shadow: inset 2px 0 0 var(--peach-accent);1295  background: rgba(240,232,216,0.03);1296}1297.peach-entry-row:focus-visible {1298  outline: none;1299  box-shadow: 0 0 0 1px var(--peach-border-accent);1300  background: rgba(240,232,216,0.03);1301}1302.peach-entry-row-icon {1303  width: 26px; height: 26px;1304  border-radius: 7px;1305  border: 1px solid var(--peach-t3);1306  display: flex; align-items: center; justify-content: center;1307  color: var(--peach-t2);1308  flex-shrink: 0;1309}1310.peach-entry-row-icon.is-breach {1311  border-color: rgba(220,80,60,0.3);1312  color: rgba(220,80,60,0.7);1313}1314.peach-entry-row-info { flex: 1; min-width: 0; }1315.peach-entry-row-name {1316  display: block;1317  font-family: "Cormorant Garamond", serif;1318  font-size: 17px;1319  font-style: italic;1320  font-weight: 400;1321  color: var(--peach-t0);1322  line-height: 1.2;1323  white-space: nowrap;1324  overflow: hidden;1325  text-overflow: ellipsis;1326}1327.peach-entry-row-meta {1328  display: block;1329  font-family: "IBM Plex Mono", monospace;1330  font-size: 9px;1331  color: var(--peach-t2);1332  margin-top: 1px;1333  letter-spacing: 0.05em;1334}1335.peach-entry-row-dot {1336  width: 5px; height: 5px;1337  border-radius: 50%;1338  background: rgba(220,80,60,0.7);1339  flex-shrink: 0;1340}1341.peach-new-entry-row {1342  display: flex;1343  align-items: center;1344  justify-content: center;1345  gap: 6px;1346  width: 100%;1347  padding: 11px;1348  background: transparent;1349  border: none;1350  border-top: 1px solid var(--peach-t3);1351  color: var(--peach-t2);1352  font-family: "IBM Plex Mono", monospace;1353  font-size: 9px;1354  text-transform: uppercase;1355  letter-spacing: 0.14em;1356  cursor: pointer;1357  flex-shrink: 0;1358  transition: color 120ms ease, background 120ms ease;1359}1360.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13611362/* ── Multi-select mode ─────────────────────────────────────────────── */13631364/* Select-mode trigger button in sort bar — same shape as trash btn */1365.peach-sort-select-btn {1366  display: flex;1367  align-items: center;1368  justify-content: center;1369  padding: 3px 5px;1370  background: transparent;1371  border: none;1372  cursor: pointer;1373  color: var(--peach-t2);1374  border-radius: 4px;1375  transition: color 140ms ease, background 140ms ease;1376}1377.peach-sort-select-btn:hover {1378  color: var(--peach-t1);1379  background: var(--peach-t3);1380}13811382/* Sort bar in select mode */1383.peach-select-cancel-btn {1384  background: transparent;1385  border: none;1386  padding: 0 4px;1387  cursor: pointer;1388  font-family: "IBM Plex Mono", monospace;1389  font-size: 9px;1390  letter-spacing: 0.12em;1391  text-transform: uppercase;1392  color: var(--peach-t2);1393  transition: color 140ms ease;1394  flex-shrink: 0;1395}1396.peach-select-cancel-btn:hover { color: var(--peach-t0); }13971398.peach-select-count-label {1399  flex: 1;1400  text-align: center;1401  font-family: "IBM Plex Mono", monospace;1402  font-size: 9px;1403  letter-spacing: 0.14em;1404  text-transform: uppercase;1405  color: var(--peach-t1);1406}14071408.peach-select-all-btn {1409  background: transparent;1410  border: none;1411  padding: 0 4px;1412  cursor: pointer;1413  font-family: "IBM Plex Mono", monospace;1414  font-size: 9px;1415  letter-spacing: 0.12em;1416  text-transform: uppercase;1417  color: var(--peach-t2);1418  transition: color 140ms ease;1419  flex-shrink: 0;1420}1421.peach-select-all-btn:hover { color: var(--peach-accent); }14221423/* List in select mode */1424.peach-vault-list.is-selecting .peach-entry-row {1425  cursor: default;1426}1427.peach-vault-list.is-selecting .peach-entry-row:hover {1428  background: rgba(240,232,216,0.02);1429}1430.peach-vault-list.is-selecting .peach-entry-row.is-selected {1431  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1432}1433.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1434  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1435}14361437/* Select indicator circles in icon slot */1438.peach-entry-row-icon.is-select-icon {1439  color: var(--peach-t2);1440}1441.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1442  color: var(--peach-accent);1443}14441445/* Delete action bar at bottom (replaces new-entry row) */1446.peach-select-action-bar {1447  display: flex;1448  align-items: center;1449  justify-content: center;1450  gap: 7px;1451  width: 100%;1452  padding: 11px;1453  background: transparent;1454  border: none;1455  border-top: 1px solid var(--peach-t3);1456  color: var(--peach-t1);1457  font-family: "IBM Plex Mono", monospace;1458  font-size: 9px;1459  text-transform: uppercase;1460  letter-spacing: 0.14em;1461  cursor: pointer;1462  flex-shrink: 0;1463  transition: color 120ms ease, background 120ms ease;1464}1465.peach-select-action-bar:not(:disabled):hover {1466  color: var(--peach-t0);1467  background: rgba(220,80,60,0.06);1468}1469.peach-select-action-bar:not(:disabled):hover svg {1470  stroke: rgba(220,80,60,0.8);1471}1472.peach-select-action-bar:disabled,1473.peach-select-action-bar.is-empty {1474  color: var(--peach-t2);1475  cursor: default;1476  opacity: 0.5;1477}1478.peach-search-counter-list {1479  white-space: nowrap;1480  flex-shrink: 0;1481}1482.peach-list-empty {1483  min-height: 180px;1484  display: grid;1485  place-items: center;1486  color: var(--peach-t2);1487  font-family: "IBM Plex Mono", monospace;1488  font-size: 11px;1489}14901491/* ── Settings view ───────────────────────────────────────────────────── */1492.peach-settings-body {1493  flex: 1;1494  overflow-y: auto;1495  min-height: 0;1496  display: flex;1497  flex-direction: column;1498  padding: 2px 0 10px;1499}1500.peach-settings-group {1501  padding: 9px 16px 11px;1502  border-bottom: 1px solid var(--peach-t3);1503}1504.peach-export-intro {1505  padding-bottom: 8px;1506}1507.peach-export-card {1508  display: grid;1509  gap: 10px;1510}1511.peach-export-card--primary {1512  background:1513    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1514}1515.peach-export-card-head {1516  display: flex;1517  align-items: center;1518  justify-content: space-between;1519  gap: 10px;1520}1521.peach-export-card-copy {1522  margin: 0;1523  font-size: 12px;1524  line-height: 1.55;1525  color: var(--peach-t1);1526}1527.peach-export-note {1528  margin: 0;1529  font-size: 10px;1530  line-height: 1.5;1531  color: var(--peach-t2);1532}1533.peach-export-pill {1534  display: inline-flex;1535  align-items: center;1536  padding: 4px 8px;1537  border-radius: 999px;1538  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1539  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1540  color: var(--peach-accent);1541  font-family: "IBM Plex Mono", monospace;1542  font-size: 8px;1543  letter-spacing: 0.12em;1544  text-transform: uppercase;1545  white-space: nowrap;1546}1547.peach-export-pill--danger {1548  border-color: rgba(220,80,60,0.22);1549  background: rgba(220,80,60,0.08);1550  color: var(--peach-breach);1551}1552.peach-export-password-stack {1553  gap: 8px;1554}1555.peach-settings-label {1556  margin: 0 0 6px;1557  font-family: "IBM Plex Mono", monospace;1558  font-size: 8px;1559  text-transform: uppercase;1560  letter-spacing: 0.18em;1561  color: var(--peach-t2);1562}1563.peach-settings-row {1564  display: flex;1565  align-items: center;1566  justify-content: space-between;1567  gap: 12px;1568  min-height: 34px;1569  padding: 6px 0;1570  font-size: 13px;1571  color: var(--peach-t1);1572}1573.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1574.peach-settings-value {1575  font-family: "IBM Plex Mono", monospace;1576  font-size: 10px;1577  color: var(--peach-t2);1578}15791580.peach-settings-value--status {1581  display: flex;1582  align-items: center;1583  gap: 6px;1584}15851586.peach-settings-link {1587  font-family: "IBM Plex Mono", monospace;1588  font-size: 10px;1589  color: var(--peach-accent);1590  text-decoration: none;1591  cursor: pointer;1592}1593.peach-settings-link:hover {1594  text-decoration: underline;1595}15961597.peach-settings-row--stack {1598  flex-direction: column;1599  align-items: stretch;1600  gap: 6px;1601}16021603.peach-settings-row--top {1604  align-items: flex-start;1605}16061607.peach-settings-row-main {1608  display: flex;1609  flex-direction: column;1610  gap: 4px;1611  flex: 1;1612}1613.peach-toggle {1614  width: 28px; height: 16px;1615  border-radius: 999px;1616  background: var(--peach-t3);1617  border: 1px solid var(--peach-t3);1618  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1619  flex-shrink: 0;1620  transition: background 200ms ease, border-color 200ms ease;1621  cursor: pointer;1622}1623.peach-toggle.is-on {1624  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1625  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1626}1627.peach-toggle-knob {1628  width: 10px; height: 10px;1629  border-radius: 50%;1630  background: var(--peach-t2);1631  flex-shrink: 0;1632  transform: translateX(0px);1633  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1634}1635.peach-toggle.is-on .peach-toggle-knob {1636  background: var(--peach-accent);1637  transform: translateX(12px);1638}1639.peach-settings-footer {1640  display: flex;1641  align-items: center;1642  gap: 8px;1643  margin-top: auto;1644  padding: 14px 16px 8px;1645  font-family: "IBM Plex Mono", monospace;1646  font-size: 9px;1647  color: var(--peach-t2);1648}16491650.peach-passkey-badge {1651  margin-left: 8px;1652  font-size: 10px;1653  letter-spacing: 0.06em;1654  text-transform: uppercase;1655  color: var(--peach-t2);1656  font-family: var(--font-ui);1657  vertical-align: middle;1658}16591660.peach-passkey-delete-btn {1661  color: var(--peach-breach);1662  border-color: rgba(229, 85, 85, 0.25);1663}16641665.peach-passkey-delete-confirm {1666  display: flex;1667  align-items: center;1668  gap: 8px;1669  padding: 8px 10px;1670  background: rgba(229, 85, 85, 0.06);1671  border: 1px solid rgba(229, 85, 85, 0.2);1672  border-radius: 6px;1673}16741675.peach-passkey-delete-confirm-copy {1676  flex: 1;1677  font-size: 11px;1678  color: var(--peach-t1);1679}16801681.peach-passkey-delete-btn--confirm {1682  color: var(--peach-breach);1683  border-color: rgba(229, 85, 85, 0.4);1684}16851686.peach-passkey-activity {1687  flex-direction: column;1688  align-items: flex-start;1689  gap: 4px;1690}16911692.peach-passkey-meta {1693  font-size: 11px;1694  color: var(--peach-t2);1695}16961697.peach-passkey-actions {1698  position: relative;1699  z-index: 1;1700  margin-top: 14px;1701  display: flex;1702  flex-direction: column;1703  gap: 8px;1704}17051706.peach-passkey-approval {1707  display: flex;1708  flex-direction: column;1709  align-items: center;1710  padding: 28px 22px 22px;1711  gap: 14px;1712  text-align: center;1713}17141715.peach-passkey-approval-icon {1716  width: 46px;1717  height: 46px;1718  border-radius: 12px;1719  background: var(--peach-s2);1720  border: 1px solid var(--peach-t3);1721  display: flex;1722  align-items: center;1723  justify-content: center;1724  flex-shrink: 0;1725  color: var(--peach-accent);1726}17271728.peach-passkey-approval-icon img,1729.peach-passkey-approval-icon svg {1730  width: 28px;1731  height: 28px;1732  border-radius: 6px;1733}17341735.peach-passkey-approval-rp {1736  font-family: var(--font-ui);1737  font-size: 12px;1738  color: var(--peach-t2);1739  letter-spacing: 0.03em;1740}17411742.peach-passkey-approval-action {1743  font-family: var(--font-display);1744  font-style: italic;1745  font-weight: 300;1746  font-size: 26px;1747  color: var(--peach-t0);1748  line-height: 1;1749}17501751.peach-passkey-approval-user {1752  font-family: var(--font-mono);1753  font-size: 11px;1754  color: var(--peach-t1);1755  background: var(--peach-s2);1756  border: 1px solid var(--peach-t3);1757  border-radius: 4px;1758  padding: 3px 8px;1759}17601761.peach-passkey-approval-notice {1762  font-size: 10px;1763  color: var(--peach-t2);1764  line-height: 1.5;1765  max-width: 220px;1766}17671768.peach-passkey-approval-actions {1769  display: flex;1770  gap: 8px;1771  width: 100%;1772  margin-top: 6px;1773}17741775.peach-passkey-approval-actions .peach-btn {1776  flex: 1;1777}17781779/* ── Inline generator drawer ── */1780.peach-generator-drawer {1781  display: grid;1782  grid-template-rows: 0fr;1783  transition: grid-template-rows 320ms var(--peach-curve-arrival);1784  overflow: hidden;1785}1786.peach-generator-drawer.is-open {1787  grid-template-rows: 1fr;1788}1789.peach-generator-drawer-inner {1790  min-height: 0;1791  overflow: hidden;1792}1793.peach-generator-drawer-content {1794  border-top: 1px solid var(--peach-t3);1795  padding: 8px 0 4px;1796  display: flex;1797  flex-direction: column;1798  gap: 8px;1799}18001801/* ── Compact generator (inside entry edit) ── */1802.peach-generator-drawer-content--compact {1803  border-top: 1px solid var(--peach-t3);1804  padding: 8px 0 2px;1805  gap: 7px;1806}1807.peach-pwgen-compact-display-row {1808  display: flex;1809  align-items: center;1810  gap: 6px;1811}1812.peach-pwgen-compact-output {1813  flex: 1;1814  min-width: 0;1815  font-family: "IBM Plex Mono", monospace;1816  font-size: 11px;1817  font-weight: 400;1818  letter-spacing: 0.04em;1819  color: var(--peach-t0);1820  background: rgba(240, 232, 216, 0.04);1821  border: 1px solid var(--peach-t3);1822  border-radius: 5px;1823  padding: 5px 8px;1824  word-break: break-all;1825  line-height: 1.5;1826}1827.peach-pwgen-compact-controls {1828  display: flex;1829  align-items: center;1830  gap: 6px;1831}1832.peach-pwgen-compact-slider {1833  flex: 1;1834  min-width: 0;1835  height: 2px !important;1836}1837.peach-pwgen-compact-controls .peach-pwgen-len-num {1838  flex-shrink: 0;1839  min-width: 18px;1840  text-align: right;1841}1842.peach-pwgen-compact-pills {1843  display: flex;1844  gap: 3px;1845  flex-shrink: 0;1846}1847.peach-pwgen-compact-pills .peach-pwgen-pill {1848  padding: 2px 7px;1849  font-size: 8px;1850}1851.peach-pwgen-compact-use {1852  flex-shrink: 0;1853  font-size: 10px !important;1854  padding: 3px 9px !important;1855  min-height: 22px !important;1856  border-radius: 5px !important;1857}18581859/* ── Password edit row (input + eye toggle side-by-side) ── */1860.peach-password-edit-row {1861  display: flex;1862  align-items: center;1863  gap: 6px;1864}1865.peach-password-edit-row .peach-inline-input {1866  flex: 1;1867  min-width: 0;1868}18691870/* ── Generate toggle link ── */1871.peach-generate-toggle-link {1872  display: inline-flex;1873  align-items: center;1874  gap: 5px;1875  background: none;1876  border: none;1877  padding: 0;1878  cursor: pointer;1879  font-family: "IBM Plex Mono", monospace;1880  font-size: 10px;1881  color: var(--peach-t2);1882  letter-spacing: 0.04em;1883  transition: color 120ms ease;1884  align-self: flex-start;1885}1886.peach-generate-toggle-link:hover {1887  color: var(--peach-accent);1888}18891890/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */1891.peach-entry-body {1892  flex: 1;1893  overflow-y: auto;1894  overflow-x: hidden;1895  scrollbar-width: none;1896  -ms-overflow-style: none;1897  overscroll-behavior: contain;1898  display: grid;1899  gap: 10px;1900  align-content: start;1901  padding: 10px 20px 14px;1902  min-width: 0;1903  min-height: 0;1904}1905.peach-entry-body::-webkit-scrollbar { display: none; }19061907/* Type-toggle pills + inline note toolbar */1908.peach-new-type-row {1909  display: flex;1910  align-items: center;1911  gap: 6px;1912  margin-bottom: 2px;1913}1914.peach-new-type-btn {1915  background: transparent;1916  border: 1px solid var(--peach-t3);1917  border-radius: 12px;1918  padding: 3px 10px;1919  font-family: "IBM Plex Mono", monospace;1920  font-size: 9px;1921  letter-spacing: 0.12em;1922  text-transform: uppercase;1923  color: var(--peach-t2);1924  cursor: pointer;1925  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;1926}1927.peach-new-type-btn.is-active {1928  color: var(--peach-t0);1929  border-color: var(--peach-accent);1930  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1931}1932.peach-new-type-btn:not(.is-active):hover {1933  color: var(--peach-t1);1934  border-color: var(--peach-t2);1935}19361937/* Editable title */1938.peach-new-title-wrap { margin: 0 0 2px; }1939.peach-new-title-input {1940  background: transparent;1941  border: none;1942  outline: none;1943  width: 100%;1944  color: var(--peach-t0);1945  font-family: "Cormorant Garamond", Georgia, serif;1946  font-style: italic;1947  font-weight: 400;1948  font-size: 40px;1949  line-height: 0.95;1950  caret-color: var(--peach-accent);1951}1952.peach-new-title-input::placeholder { color: var(--peach-t2); }19531954/* Editable domain field */1955.peach-domain-value--edit {1956  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1957  font-size: 10px;1958  font-style: italic;1959  letter-spacing: 0.12em;1960  color: var(--peach-t1);1961  background: transparent;1962  border: none;1963  border-bottom: 1px solid var(--peach-t3);1964  outline: none;1965  width: 100%;1966  padding: 2px 0;1967  caret-color: var(--peach-accent);1968  transition: border-color 140ms ease, color 140ms ease;1969}1970.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }1971.peach-domain-value--edit:focus {1972  border-bottom-color: rgba(240, 232, 216, 0.28);1973  color: var(--peach-t0);1974}19751976/* Editable field values (username, password, totp) */1977.peach-field-value--edit {1978  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1979  font-size: 13px;1980  color: var(--peach-t0);1981  background: transparent;1982  border: none;1983  border-bottom: 1px solid var(--peach-t3);1984  outline: none;1985  flex: 1;1986  min-width: 0;1987  padding: 3px 0;1988  caret-color: var(--peach-accent);1989  transition: border-color 140ms ease, color 140ms ease;1990}1991.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }1992.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }1993.peach-field-value--edit:focus {1994  border-bottom-color: rgba(240, 232, 216, 0.28);1995  color: var(--peach-t0);1996}19971998/* "+ add optional field" links */1999.peach-entry-add-links {2000  display: flex;2001  gap: 12px;2002  flex-wrap: wrap;2003  margin-top: -2px;2004}2005.peach-add-field-link {2006  background: transparent;2007  border: none;2008  padding: 0;2009  cursor: pointer;2010  font-family: "IBM Plex Mono", monospace;2011  font-size: 9px;2012  letter-spacing: 0.1em;2013  text-transform: uppercase;2014  color: var(--peach-t2);2015  transition: color 140ms ease;2016}2017.peach-add-field-link:hover { color: var(--peach-accent); }20182019/* ── New entry form (legacy classes) ────────────────────────────────── */2020.peach-new-body {2021  flex: 1;2022  overflow-y: auto;2023  padding: 10px 20px 14px;2024}2025.peach-new-name-input {2026  background: transparent;2027  border: none;2028  outline: none;2029  width: 100%;2030  color: var(--peach-t0);2031  font-family: "Cormorant Garamond", Georgia, serif;2032  font-style: italic;2033  font-weight: 400;2034  font-size: 40px;2035  line-height: 0.95;2036  caret-color: var(--peach-accent);2037}2038.peach-new-name-input::placeholder { color: var(--peach-t2); }2039.peach-new-field-input {2040  background: transparent;2041  border: none;2042  outline: none;2043  flex: 1;2044  min-width: 0;2045  caret-color: var(--peach-accent);2046}2047.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }20482049/* ── Canary card ── */2050.peach-canary-card {2051  border: 1px solid rgba(217, 160, 48, 0.2);2052  background: rgba(217, 160, 48, 0.03);2053  border-radius: 8px;2054  padding: 12px;2055}20562057.peach-canary-settings-header {2058  display: flex;2059  align-items: center;2060  justify-content: space-between;2061  cursor: pointer;2062  user-select: none;2063}20642065.peach-canary-card .peach-label {2066  color: rgba(217, 160, 48, 0.85);2067}20682069.peach-canary-card .peach-new-field-input {2070  border-color: rgba(217, 160, 48, 0.25);2071}20722073.peach-canary-card .peach-new-field-input:focus {2074  border-color: rgba(217, 160, 48, 0.5);2075}20762077.peach-canary-body {2078  margin-top: 12px;2079  display: flex;2080  flex-direction: column;2081  gap: 10px;2082}20832084.peach-canary-explainer {2085  display: flex;2086  gap: 10px;2087  padding: 10px 12px;2088  border-radius: 10px;2089  background: rgba(217, 160, 48, 0.06);2090  border: 1px solid rgba(217, 160, 48, 0.22);2091  margin-bottom: 4px;2092}20932094.peach-canary-explainer-icon {2095  font-size: 16px;2096  flex-shrink: 0;2097  line-height: 1.2;2098}20992100.peach-canary-explainer-title {2101  font-family: var(--font-ui);2102  font-size: 11px;2103  font-weight: 500;2104  color: rgba(217, 160, 48, 0.9);2105  margin: 0 0 3px;2106}21072108.peach-canary-explainer-copy {2109  font-family: var(--font-ui);2110  font-size: 10px;2111  color: var(--peach-t2);2112  line-height: 1.55;2113  margin: 0;2114}21152116.peach-canary-hint {2117  font-size: 10px;2118  color: var(--peach-t2);2119  font-family: Inter, system-ui, sans-serif;2120  line-height: 1.5;2121  margin-top: 4px;2122}21232124.peach-canary-actions-row {2125  display: flex;2126  align-items: center;2127  gap: 8px;2128}21292130.peach-canary-test-btn {2131  border-color: rgba(217, 160, 48, 0.3);2132  color: rgba(217, 160, 48, 0.85);2133}21342135.peach-canary-test-result {2136  font-size: 10px;2137  font-family: Inter, system-ui, sans-serif;2138}21392140.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2141.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }21422143.peach-canary-badge {2144  display: flex;2145  position: relative;2146  z-index: 1;2147  align-items: center;2148  gap: 5px;2149  padding: 4px 10px;2150  background: rgba(217, 160, 48, 0.12);2151  border: 1px solid rgba(217, 160, 48, 0.35);2152  border-radius: 6px;2153  margin-bottom: 6px;2154  width: fit-content;2155}21562157.peach-canary-badge-label {2158  font-size: 10px;2159  letter-spacing: 0.06em;2160  color: rgba(217, 160, 48, 0.9);2161  font-family: var(--font-ui);2162  text-transform: uppercase;2163}21642165.peach-canary-badge-icon {2166  font-size: 11px;2167}21682169.peach-canary-suppress-row {2170  display: flex;2171  align-items: center;2172  gap: 8px;2173  padding: 6px 10px;2174  background: rgba(217, 160, 48, 0.08);2175  border-radius: 6px;2176  margin-bottom: 8px;2177}21782179.peach-canary-suppress-label {2180  font-size: 11px;2181  color: rgba(217, 160, 48, 0.85);2182  cursor: pointer;2183  font-family: var(--font-ui);2184  letter-spacing: 0.04em;2185}21862187.peach-regen-panel {2188  position: relative;2189  z-index: 1;2190  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2191  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2192  border-radius: 8px;2193  padding: 12px;2194  margin-bottom: 8px;2195}21962197.peach-regen-panel-header {2198  display: flex;2199  align-items: center;2200  justify-content: space-between;2201  margin-bottom: 10px;2202}22032204.peach-regen-panel-title {2205  font-size: 11px;2206  font-weight: 600;2207  letter-spacing: 0.06em;2208  text-transform: uppercase;2209  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2210}22112212.peach-regen-output {2213  background: rgba(0, 0, 0, 0.2);2214  border-radius: 6px;2215  padding: 10px;2216  margin-bottom: 10px;2217  font-family: var(--font-mono);2218  font-size: 13px;2219  word-break: break-all;2220  color: var(--peach-t1);2221}22222223.peach-regen-actions {2224  display: flex;2225  gap: 6px;2226}22272228.peach-regen-actions--spaced {2229  margin-bottom: 8px;2230}22312232.peach-regen-action-grow {2233  flex: 1;2234}22352236.peach-regen-copy-btn {2237  padding: 0 8px;2238}22392240.peach-regen-success {2241  position: relative;2242  z-index: 1;2243  background: rgba(40, 180, 80, 0.1);2244  border: 1px solid rgba(40, 180, 80, 0.3);2245  border-radius: 8px;2246  padding: 10px 12px;2247  margin-bottom: 8px;2248  display: flex;2249  align-items: center;2250  gap: 8px;2251  font-size: 11px;2252  color: rgba(40, 180, 80, 0.9);2253}22542255/* ── Note editor overlay ── */2256.peach-note-editor {2257  position: absolute;2258  inset: 0;2259  z-index: 200;2260  display: flex;2261  flex-direction: column;2262  background:2263    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2264    var(--peach-bg);2265  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2266}22672268.peach-note-editor-header {2269  display: flex;2270  align-items: center;2271  gap: 10px;2272  padding: 14px 16px 10px;2273  border-bottom: 1px solid var(--peach-t3);2274  flex-shrink: 0;2275}22762277.peach-note-editor-back {2278  background: transparent;2279  border: none;2280  cursor: pointer;2281  color: var(--peach-t2);2282  padding: 4px 6px;2283  border-radius: 6px;2284  display: flex;2285  align-items: center;2286  transition: color 120ms ease, background 120ms ease;2287  flex-shrink: 0;2288}2289.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }22902291.peach-note-editor-label {2292  flex: 1;2293  font-family: "Cormorant Garamond", "Times New Roman", serif;2294  font-style: italic;2295  font-size: 15px;2296  color: var(--peach-t1);2297  letter-spacing: 0.02em;2298}22992300.peach-note-editor-save-btn {2301  background: transparent;2302  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2303  border-radius: 8px;2304  color: var(--peach-accent);2305  font-family: "IBM Plex Mono", monospace;2306  font-size: 10px;2307  letter-spacing: 0.06em;2308  text-transform: uppercase;2309  padding: 3px 10px;2310  cursor: pointer;2311  transition: background 120ms ease, border-color 120ms ease;2312}2313.peach-note-editor-save-btn:hover:not(:disabled) {2314  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2315  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2316}2317.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }23182319.peach-note-toolbar {2320  display: flex;2321  align-items: center;2322  gap: 3px;2323  padding: 6px 14px 5px;2324  border-bottom: 1px solid var(--peach-t3);2325  flex-shrink: 0;2326}23272328.peach-note-tool-btn {2329  background: transparent;2330  border: 1px solid transparent;2331  border-radius: 5px;2332  color: var(--peach-t2);2333  font-family: "IBM Plex Mono", monospace;2334  font-size: 10px;2335  letter-spacing: 0.04em;2336  padding: 2px 8px;2337  cursor: pointer;2338  line-height: 1.6;2339  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2340}2341.peach-note-tool-btn:hover {2342  background: var(--peach-t4);2343  color: var(--peach-t0);2344  border-color: var(--peach-t3);2345}23462347.peach-note-tool-icon {2348  padding: 3px 7px;2349  display: inline-flex;2350  align-items: center;2351  justify-content: center;2352}23532354.peach-note-tool-divider {2355  width: 1px;2356  height: 14px;2357  background: var(--peach-t3);2358  margin: 0 4px;2359  flex-shrink: 0;2360}23612362.peach-note-editor-body {2363  flex: 1;2364  overflow-y: auto;2365  padding: 16px 20px 20px;2366  outline: none;2367  font-family: "Cormorant Garamond", "Times New Roman", serif;2368  font-size: 16px;2369  line-height: 1.75;2370  color: var(--peach-t0);2371  scrollbar-width: none;2372  word-break: break-word;2373}2374.peach-note-editor-body:empty::before {2375  content: "write your note…";2376  color: var(--peach-t3);2377  font-style: italic;2378  pointer-events: none;2379}23802381/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2382.peach-note-editor-inline {2383  display: flex;2384  flex-direction: column;2385  flex: 1;2386  min-height: 0;2387}2388.peach-note-editor-body--inline {2389  flex: 1;2390  min-height: 0;2391  font-size: 15px;2392  padding: 10px 20px 14px;2393}23942395/* Full-width toolbar row inside the body (Add.tsx note type).2396   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2397.peach-note-toolbar-body {2398  display: flex;2399  align-items: center;2400  gap: 3px;2401  padding: 5px 20px 4px;2402  margin: 2px -20px 0;2403  border-bottom: 1px solid var(--peach-t3);2404  flex-shrink: 0;2405}24062407/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2408   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2409   and .peach-note-tool-divider button-level styles. */2410.peach-note-toolbar-inline {2411  display: flex;2412  align-items: center;2413  gap: 3px;2414  margin-left: auto;2415  padding-left: 10px;2416  border-left: 1px solid var(--peach-t3);2417  min-height: 22px;2418}24192420/* Entry.tsx toolbar row (no tabs, toolbar only) */2421.peach-entry-note-toolbar-row {2422  display: flex;2423  align-items: center;2424  margin: 4px 0 6px;2425  position: relative;2426  z-index: 1;2427}2428.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2429  border-left: none;2430  padding-left: 0;2431  margin-left: 0;2432}24332434/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2435.peach-note-body {2436  display: flex;2437  flex-direction: column;2438  flex: 1;2439  min-height: 0;2440  margin: 4px 0 0;2441}2442.peach-entry-body--new .peach-note-body {2443  margin: 8px -20px 0;2444}24452446/* Add.tsx body is a grid by default; swap to a flex column when a note is2447   active so the note body can stretch and pin the tags row to the bottom. */2448.peach-entry-body--new:has(.peach-note-body) {2449  display: flex;2450  flex-direction: column;2451}24522453/* Rich content element styles (editor + display) */2454.peach-note-editor-body h2,2455.peach-note-content h2 {2456  font-family: "Cormorant Garamond", serif;2457  font-size: 20px;2458  font-weight: 600;2459  font-style: italic;2460  color: var(--peach-t0);2461  margin: 6px 0 2px;2462  line-height: 1.3;2463}2464.peach-note-editor-body ul,2465.peach-note-content ul {2466  padding-left: 18px;2467  margin: 3px 0;2468  list-style: disc;2469}2470.peach-note-editor-body ol,2471.peach-note-content ol {2472  padding-left: 18px;2473  margin: 3px 0;2474  list-style: decimal;2475}2476.peach-note-editor-body li,2477.peach-note-content li { margin: 2px 0; }2478.peach-note-editor-body hr,2479.peach-note-content hr {2480  border: none;2481  border-top: 1px solid var(--peach-t3);2482  margin: 10px 0;2483}24842485/* font size elements from execCommand */2486.peach-note-editor-body font[size="1"],2487.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2488.peach-note-editor-body font[size="2"],2489.peach-note-content font[size="2"] { font-size: 13px; }2490.peach-note-editor-body font[size="3"],2491.peach-note-content font[size="3"] { font-size: 16px; }2492.peach-note-editor-body font[size="4"],2493.peach-note-content font[size="4"] { font-size: 20px; }2494.peach-note-editor-body font[size="5"],2495.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }24962497/* bold / italic inside the editor and note display */2498.peach-note-editor-body b, .peach-note-editor-body strong,2499.peach-note-content b, .peach-note-content strong { font-weight: 700; }2500.peach-note-editor-body em, .peach-note-editor-body i,2501.peach-note-content em, .peach-note-content i { font-style: italic; }25022503/* note display — rendered HTML, no pre-wrap */2504.peach-note-content {2505  overflow: auto;2506  max-height: 340px;2507  word-break: break-word;2508}25092510/* ── Note textarea ── */2511.peach-note-textarea {2512  width: 100%;2513  min-height: 180px;2514  max-height: 280px;2515  resize: vertical;2516  background: var(--peach-t4);2517  border: 1px solid var(--peach-t3);2518  border-radius: 8px;2519  padding: 10px 12px;2520  font-family: "IBM Plex Mono", monospace;2521  font-size: 12px;2522  line-height: 1.7;2523  color: var(--peach-t1);2524  outline: none;2525  transition: border-color 150ms ease;2526}25272528.peach-note-textarea:focus {2529  border-color: var(--peach-t2);2530}25312532.peach-note-char-count {2533  font-family: "IBM Plex Mono", monospace;2534  font-size: 9px;2535  color: var(--peach-t3);2536  text-align: right;2537  margin-top: 4px;2538  letter-spacing: 0.1em;2539}25402541/* ── Field input baseline ── */2542.peach-new-field-input {2543  width: 100%;2544  background: transparent;2545  border: none;2546  border-bottom: 1px solid var(--peach-t3);2547  padding: 4px 0;2548  color: var(--peach-t1);2549  font-family: "IBM Plex Mono", monospace;2550  font-size: 13px;2551  outline: none;2552  transition: border-color 150ms ease;2553}25542555.peach-new-field-input:focus {2556  border-bottom-color: var(--peach-t0);2557  color: var(--peach-t0);2558}25592560.peach-new-name-input {2561  width: 100%;2562  background: transparent;2563  border: none;2564  border-bottom: 1px solid var(--peach-t3);2565  padding: 6px 0;2566  font-family: "Cormorant Garamond", Georgia, serif;2567  font-style: italic;2568  font-size: 28px;2569  color: var(--peach-t0);2570  outline: none;2571  transition: border-color 150ms ease;2572}25732574.peach-new-name-input:focus {2575  border-bottom-color: var(--peach-t1);2576}25772578.peach-new-name-input::placeholder {2579  color: var(--peach-t2);2580  font-style: italic;2581}25822583.peach-new-field-input::placeholder {2584  color: var(--peach-t3);2585}25862587/* ── Demo entrance animation ── */2588#hd-shell {2589  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2590}2591@keyframes hd-shell-enter {2592  from { opacity: 0; transform: scale(0.96) translateY(16px); }2593  to   { opacity: 1; transform: scale(1) translateY(0); }2594}25952596/* ── Keyframes ── */2597@keyframes peach-char-enter {2598  from { opacity: 0; transform: translateY(0.22em); }2599  to   { opacity: 1; transform: translateY(0); }2600}2601@keyframes peach-content-enter {2602  from { opacity: 0.96; transform: translateY(4px); }2603  to   { opacity: 1; transform: translateY(0); }2604}2605@keyframes peach-content-exit {2606  from { opacity: 1; transform: translateY(0); }2607  to   { opacity: 0.92; transform: translateY(-3px); }2608}2609@keyframes peach-screen-enter {2610  from { opacity: 0; transform: translateY(14px); }2611  to   { opacity: 1; transform: translateY(0); }2612}2613@keyframes peach-shell-fade-in {2614  from { opacity: 0; }2615  to   { opacity: 1; }2616}2617@keyframes peach-veil-in {2618  from { opacity: 0; }2619  to   { opacity: 1; }2620}2621@keyframes peach-lock-settle {2622  0%   { transform: scale(0.9); }2623  65%  { transform: scale(1.08); }2624  100% { transform: scale(1); }2625}2626@keyframes peach-copy-confirm {2627  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2628  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); }2629}2630@keyframes peach-copy-retreat {2631  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); }2632  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2633}2634@keyframes peach-copy-flood {2635  from { opacity: 0; transform: scaleX(0.15); }2636  to   { opacity: 1; transform: scaleX(1); }2637}2638@keyframes peach-copy-icon-settle {2639  from  { transform: scale(0.84); }2640  70%   { transform: scale(1.08); }2641  to    { transform: scale(1); }2642}2643@keyframes peach-copy-sheen-retreat {2644  from { opacity: 1; transform: scaleX(1); }2645  to   { opacity: 0; transform: scaleX(0.15); }2646}2647@keyframes peach-copy-drain {2648  from { width: 100%; }2649  to   { width: 0; }2650}2651@keyframes peach-shake {2652  0%, 100% { transform: translateX(0); }2653  20%      { transform: translateX(-6px); }2654  40%      { transform: translateX(6px); }2655  60%      { transform: translateX(-4px); }2656  80%      { transform: translateX(4px); }2657}26582659@keyframes pip-pulse {2660  0% { transform: scale(1); }2661  40% { transform: scale(2.2); }2662  100% { transform: scale(1); }2663}266426652666/* ── Password generator ── */2667.peach-pwgen-body {2668  flex: 1; overflow-y: auto;2669  display: flex; flex-direction: column;2670}2671.peach-policy-badge {2672  display: flex; align-items: center;2673  padding: 6px 20px 0;2674  font-size: 10px; font-family: Inter, sans-serif;2675  color: var(--peach-t2); letter-spacing: 0.04em;2676}2677.peach-pwgen-display {2678  padding: 14px 20px 12px;2679  border-bottom: 1px solid var(--peach-t3);2680  display: flex; align-items: flex-start; gap: 10px;2681}2682.peach-pwgen-display-row {2683  display: flex;2684  align-items: flex-start;2685  gap: 8px;2686  padding-bottom: 8px;2687  border-bottom: 1px solid var(--peach-t3);2688}2689.peach-pwgen-output {2690  flex: 1; min-width: 0; margin: 0;2691  font-family: "IBM Plex Mono", monospace;2692  font-size: 13px; color: var(--peach-t0);2693  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;2694  white-space: normal;2695  padding: 10px 12px;2696  background: var(--peach-t4);2697  border-radius: 6px;2698  min-height: 36px;2699}2700.peach-pwgen-output-display {2701  flex: 1;2702  min-width: 0;2703  margin: 0;2704  font-family: "Cormorant Garamond", "Times New Roman", serif;2705  font-style: italic;2706  font-weight: 300;2707  font-size: 32px;2708  line-height: 1.05;2709  color: var(--peach-t0);2710  word-break: break-all;2711  overflow-wrap: break-word;2712  white-space: normal;2713  letter-spacing: 0.02em;2714}2715.peach-pwgen-display-actions {2716  display: flex;2717  flex-direction: column;2718  gap: 4px;2719  flex-shrink: 0;2720  margin-top: 2px;2721}2722.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }2723.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }2724.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }2725.peach-pwgen-len-num {2726  font-family: "IBM Plex Mono", monospace;2727  font-size: 12px; color: var(--peach-accent);2728}2729.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }2730.peach-pwgen-toggles { display: flex; flex-direction: column; }2731.peach-pwgen-charset-pills {2732  display: flex;2733  gap: 6px;2734  flex-wrap: wrap;2735}2736.peach-pwgen-pill {2737  padding: 4px 11px;2738  border-radius: 999px;2739  border: 1px solid var(--peach-t3);2740  background: transparent;2741  color: var(--peach-t2);2742  font-family: "IBM Plex Mono", monospace;2743  font-size: 9px;2744  letter-spacing: 0.08em;2745  cursor: pointer;2746  transition: all 150ms ease;2747}2748.peach-pwgen-pill.is-on {2749  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);2750  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2751  color: var(--peach-accent);2752}2753.peach-pwgen-pill:not(.is-on):hover {2754  color: var(--peach-t1);2755  border-color: var(--peach-t2);2756}2757.peach-pwgen-use-btn {2758  width: 100%;2759  min-height: 34px;2760  border-radius: 8px;2761  margin-top: 2px;2762}2763.peach-pwgen-toggle-row {2764  display: flex; align-items: center; justify-content: space-between;2765  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);2766}2767.peach-pwgen-toggle-row:last-child { border-bottom: none; }2768.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }27692770.peach-screen-prelock {2771  z-index: 10;2772}27732774.prelock-form {2775  display: grid;2776  gap: 12px;2777}27782779/* Peach popup should not expose native scrollbars on internal panels. */2780.peach-settings-body,2781.peach-new-body,2782.peach-pwgen-body,2783.lock-screen,2784.peach-import-preview {2785  scrollbar-width: none;2786  -ms-overflow-style: none;2787  overscroll-behavior: contain;2788}2789.peach-settings-body::-webkit-scrollbar,2790.peach-new-body::-webkit-scrollbar,2791.peach-pwgen-body::-webkit-scrollbar,2792.lock-screen::-webkit-scrollbar,2793.peach-import-preview::-webkit-scrollbar {2794  width: 0;2795  height: 0;2796  display: none;2797}27982799.lock-screen {2800  height: 100%;2801  min-height: 100%;2802  overflow-y: auto;2803  padding: 18px 18px 16px;2804  gap: 14px;2805  grid-template-rows: auto auto auto 1fr auto;2806  align-content: stretch;2807  position: relative;2808  isolation: isolate;2809}2810.peach-screen.lock-screen--vault-stage {2811  display: flex;2812  flex-direction: column;2813  justify-content: flex-start;2814  gap: 18px;2815  padding: 20px 18px 18px;2816  overflow: hidden;2817}2818.peach-screen.lock-screen--vault-stage .peach-lock-panel {2819  margin-top: auto;2820}2821.lock-screen--onboarding {2822  display: flex;2823  flex-direction: column;2824  gap: 12px;2825  justify-content: flex-start;2826}28272828.lock-screen::before {2829  content: "";2830  position: absolute;2831  inset: 12px 18px auto auto;2832  width: 160px;2833  height: 160px;2834  border-radius: 999px;2835  background:2836    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%);2837  filter: blur(6px);2838  opacity: 0.7;2839  pointer-events: none;2840  z-index: 0;2841}28422843.lock-screen-header {2844  display: flex;2845  align-items: center;2846  justify-content: space-between;2847  position: relative;2848  z-index: 1;2849}28502851.lock-password-input.shake {2852  animation: peach-shake 300ms ease-in-out;2853}28542855.peach-hint-error {2856  color: rgba(220, 80, 60, 0.92);2857}28582859.peach-onboarding-headline {2860  margin: 0;2861  font-family: "Cormorant Garamond", "Times New Roman", serif;2862  font-size: 35px;2863  line-height: 0.88;2864  font-style: italic;2865  font-weight: 400;2866  max-width: 252px;2867}28682869.peach-lock-copy {2870  display: grid;2871  gap: 8px;2872  position: relative;2873  z-index: 1;2874}28752876.peach-lock-copy--onboarding {2877  gap: 10px;2878}28792880.peach-lock-hero {2881  position: relative;2882  z-index: 1;2883  display: grid;2884  gap: 8px;2885  min-height: 0;2886  padding: 4px 2px 0;2887  border: none;2888  border-radius: 0;2889  background: transparent;2890  box-shadow: none;2891}2892.peach-lock-hero-art {2893  position: absolute;2894  right: -8px;2895  top: -6px;2896  width: 120px;2897  height: 120px;2898  display: flex;2899  align-items: center;2900  justify-content: center;2901  pointer-events: none;2902  opacity: 0.12;2903  filter: saturate(0.9);2904}2905.peach-lock-hero-mark {2906  width: 100%;2907  height: 100%;2908}2909/* Peach body stays brand-peach across every accent — we don't want a2910   green or blue peach when sage/sky is selected. Leaf + stem keep the2911   sage tint because a real peach has a sage leaf. */2912.peach-lock-hero-mark path:nth-child(2),2913.peach-lock-hero-mark path:nth-child(3) {2914  stroke: rgba(123, 144, 96, 0.88);2915  fill: rgba(123, 144, 96, 0.88);2916}2917.peach-lock-hero > *:not(.peach-lock-hero-art) {2918  position: relative;2919  z-index: 1;2920}29212922.peach-lock-eyebrow {2923  display: inline-flex;2924  align-items: center;2925  width: fit-content;2926  padding: 4px 9px;2927  border-radius: 999px;2928  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);2929  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2930  color: var(--peach-t0);2931  font-family: "IBM Plex Mono", monospace;2932  font-size: 8px;2933  letter-spacing: 0.18em;2934  text-transform: uppercase;2935}29362937.peach-lock-label-row {2938  display: flex;2939  align-items: center;2940  justify-content: space-between;2941  margin-bottom: 0;2942}29432944.peach-lock-reveal-btn {2945  display: inline-flex;2946  align-items: center;2947  gap: 4px;2948  background: none;2949  border: none;2950  cursor: pointer;2951  font-family: "IBM Plex Mono", monospace;2952  font-size: 9px;2953  letter-spacing: 0.06em;2954  color: var(--peach-t2);2955  padding: 2px 0;2956  transition: color 150ms ease;2957}29582959.peach-lock-reveal-btn:hover {2960  color: var(--peach-t1);2961}29622963.peach-lock-warning {2964  color: rgba(220, 80, 60, 0.85) !important;2965  line-height: 1.5;2966}29672968.peach-onboarding-cards {2969  display: grid;2970  gap: 8px;2971  position: relative;2972  z-index: 1;2973}29742975.peach-lock-panel {2976  position: relative;2977  z-index: 1;2978  display: grid;2979  gap: 9px;2980  padding: 14px 16px 15px;2981  border-radius: 18px;2982  border: 1px solid var(--peach-t3);2983  background:2984    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));2985  box-shadow:2986    inset 0 1px 0 rgba(240, 232, 216, 0.04),2987    0 12px 28px rgba(0, 0, 0, 0.12);2988}29892990.peach-lock-panel--secondary {2991  gap: 12px;2992}29932994.peach-lock-panel-header {2995  display: flex;2996  align-items: baseline;2997  justify-content: space-between;2998  gap: 12px;2999}30003001.peach-lock-option-grid {3002  display: grid;3003  gap: 10px;3004}30053006.peach-lock-option {3007  width: 100%;3008  display: grid;3009  gap: 6px;3010  padding: 14px 15px;3011  border-radius: 16px;3012  border: 1px solid rgba(240, 232, 216, 0.08);3013  background: rgba(240, 232, 216, 0.02);3014  color: var(--peach-t0);3015  text-align: left;3016  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3017}30183019.peach-lock-option:hover {3020  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3021  background: rgba(240, 232, 216, 0.04);3022  transform: translateY(-1px);3023}30243025.peach-lock-option-title {3026  font-size: 12px;3027  color: var(--peach-t0);3028}30293030.peach-lock-option-copy {3031  font-size: 11px;3032  line-height: 1.55;3033  color: var(--peach-t1);3034}30353036.peach-onboarding-stack {3037  margin-top: 2px;3038}3039.peach-lock-panel-footer {3040  display: grid;3041  gap: 6px;3042  margin-top: 2px;3043  padding-top: 10px;3044  border-top: 1px solid rgba(240, 232, 216, 0.06);3045}30463047/* Restore picker panel — method option cards */3048.peach-lock-panel--restore {3049  gap: 10px;3050}3051.peach-lock-option--history {3052  border-color: rgba(240, 232, 216, 0.06);3053  opacity: 0.85;3054}30553056/* Snapshot restore panel */3057.peach-snapshot-panel {3058  gap: 10px;3059  overflow-y: auto;3060  max-height: 340px;3061}3062.peach-snapshot-list {3063  display: flex;3064  flex-direction: column;3065  gap: 4px;3066}3067.peach-snapshot-row {3068  display: flex;3069  align-items: center;3070  justify-content: space-between;3071  width: 100%;3072  padding: 8px 10px;3073  border-radius: 8px;3074  border: 1px solid rgba(240, 232, 216, 0.07);3075  background: transparent;3076  cursor: pointer;3077  transition: border-color 120ms, background 120ms;3078  text-align: left;3079  gap: 8px;3080}3081.peach-snapshot-row:hover {3082  border-color: rgba(240, 232, 216, 0.14);3083  background: rgba(240, 232, 216, 0.03);3084}3085.peach-snapshot-row.is-selected {3086  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3087  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3088}3089.peach-snapshot-time {3090  font-size: 11.5px;3091  color: var(--peach-t0);3092  flex: 1;3093}3094.peach-snapshot-count {3095  font-family: "IBM Plex Mono", monospace;3096  font-size: 10px;3097  color: var(--peach-t2);3098  flex-shrink: 0;3099}3100.peach-snapshot-confirm {3101  display: flex;3102  flex-direction: column;3103  gap: 8px;3104  padding-top: 10px;3105  border-top: 1px solid rgba(240, 232, 216, 0.06);3106}3107.peach-snapshot-warning {3108  display: flex;3109  align-items: flex-start;3110  gap: 6px;3111  font-size: 10.5px;3112  color: rgba(220, 80, 60, 0.85);3113  line-height: 1.55;3114}3115.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3116.peach-snapshot-confirm-row {3117  display: flex;3118  gap: 6px;3119  align-items: center;3120}3121.peach-snapshot-restore-btn {3122  width: 100%;3123}3124.peach-lock-hero--unlock .peach-lock-hero-art {3125  width: 112px;3126  height: 112px;3127  right: 0;3128  top: 2px;3129  opacity: 0.1;3130}31313132.peach-card {3133  border: 1px solid var(--peach-t3);3134  border-radius: 18px;3135  background:3136    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3137  box-shadow:3138    inset 0 0 0 1px var(--peach-border-accent),3139    inset 0 1px 0 rgba(240, 232, 216, 0.04),3140    0 12px 32px rgba(0, 0, 0, 0.14);3141  overflow: hidden;3142}31433144.peach-card-active {3145  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3146  box-shadow:3147    inset 0 1px 0 rgba(240, 232, 216, 0.05),3148    0 16px 38px rgba(0, 0, 0, 0.18),3149    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3150}31513152.peach-card-disabled {3153  opacity: 0.72;3154}31553156.peach-card-header {3157  width: 100%;3158  padding: 13px 16px 11px;3159  background: transparent;3160  color: var(--peach-t0);3161  display: flex;3162  justify-content: space-between;3163  align-items: center;3164  text-align: left;3165  font-size: 12px;3166}31673168.peach-card-body {3169  padding: 0 16px 16px;3170  display: grid;3171  gap: 9px;3172}31733174.peach-card-tag {3175  color: var(--peach-t2);3176  font-family: "IBM Plex Mono", monospace;3177  font-size: 9px;3178  letter-spacing: 0.12em;3179  text-transform: uppercase;3180}31813182.peach-empty-copy {3183  display: grid;3184  gap: 6px;3185  color: var(--peach-t1);3186  font-size: 13px;3187}31883189.peach-lock-submit {3190  width: 100%;3191  box-shadow:3192    0 14px 36px color-mix(in srgb, var(--peach-accent) 38%, transparent),3193    0 0 0 1px color-mix(in srgb, var(--peach-accent) 35%, transparent);3194}31953196.peach-lock-secondary {3197  width: 100%;3198  border-color: var(--peach-t3);3199  background: rgba(240, 232, 216, 0.02);3200}32013202.peach-lock-secondary:hover {3203  background: rgba(240, 232, 216, 0.04);3204}32053206.peach-lock-note {3207  max-width: none;3208  line-height: 1.55;3209  margin: 0;3210}32113212.peach-overlay-action {3213  font-size: 10px;3214  padding: 4px 8px;3215  letter-spacing: 0.06em;3216  min-width: 44px;3217  text-align: center;3218}32193220.peach-overlay-spacer {3221  width: 32px;3222}32233224.peach-inline-action {3225  flex-shrink: 0;3226  font-size: 9px;3227  letter-spacing: 0.1em;3228  text-transform: uppercase;3229  padding: 4px 7px;3230}3231.peach-password-toggle-btn {3232  display: inline-flex;3233  align-items: center;3234  justify-content: center;3235  min-width: 30px;3236  min-height: 26px;3237  padding: 0 7px;3238  border: 1px solid var(--peach-t3);3239  border-radius: 999px;3240  background: rgba(240, 232, 216, 0.04);3241  color: var(--peach-t2);3242  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3243}3244.peach-password-toggle-btn:hover {3245  border-color: var(--peach-t2);3246  color: var(--peach-t0);3247  background: rgba(240, 232, 216, 0.06);3248}32493250.peach-new-textarea {3251  width: 100%;3252  min-height: 88px;3253  resize: vertical;3254  border: 0;3255  outline: none;3256  background: transparent;3257  color: var(--peach-t1);3258  font-family: "IBM Plex Mono", monospace;3259  font-size: 12px;3260  line-height: 1.65;3261  caret-color: var(--peach-accent);3262}32633264.peach-new-textarea::placeholder {3265  color: var(--peach-t2);3266  opacity: 0.7;3267}32683269.peach-settings-actions {3270  display: grid;3271  gap: 8px;3272}32733274.peach-sync-section-label {3275  font-size: 11px;3276  color: var(--peach-t2);3277  text-transform: uppercase;3278  letter-spacing: 0.05em;3279}32803281.peach-sync-device-row {3282  display: flex;3283  justify-content: space-between;3284  align-items: center;3285  padding: 6px 0;3286  border-bottom: 1px solid var(--peach-t3);3287}32883289.peach-sync-device-info {3290  display: flex;3291  flex-direction: column;3292  gap: 2px;3293}32943295.peach-sync-device-name {3296  font-size: 13px;3297  color: var(--peach-t0);3298}32993300.peach-sync-device-meta {3301  font-size: 11px;3302  color: var(--peach-t2);3303}33043305.peach-sync-status-dot {3306  display: inline-block;3307  width: 8px;3308  height: 8px;3309  border-radius: 50%;3310  vertical-align: middle;3311}33123313.peach-sync-remove-btn {3314  color: var(--peach-breach);3315}33163317.peach-import-preview {3318  margin-bottom: 12px;3319  max-height: 152px;3320  overflow-y: auto;3321  border: 1px solid var(--peach-t3);3322  border-radius: 10px;3323  padding: 8px 10px;3324  display: grid;3325  gap: 8px;3326  background: rgba(240, 232, 216, 0.02);3327}33283329.peach-import-preview-row {3330  display: flex;3331  justify-content: space-between;3332  gap: 10px;3333  font-size: 11px;3334  color: var(--peach-t1);3335}33363337.peach-import-preview-title {3338  color: var(--peach-t0);3339  flex: 1;3340  min-width: 0;3341  overflow: hidden;3342  text-overflow: ellipsis;3343  white-space: nowrap;3344}33453346.peach-import-preview-meta {3347  color: var(--peach-t2);3348  flex-shrink: 0;3349  max-width: 42%;3350  overflow: hidden;3351  text-overflow: ellipsis;3352  white-space: nowrap;3353}33543355.peach-import-preview-more {3356  color: var(--peach-t2);3357  font-size: 10px;3358}33593360.peach-restore-copy {3361  margin: 0;3362  color: var(--peach-t1);3363  font-size: 11px;3364  line-height: 1.6;3365}33663367.peach-restore-warning {3368  padding: 10px 12px;3369  border-radius: 12px;3370  border: 1px solid rgba(220, 80, 60, 0.22);3371  background: rgba(220, 80, 60, 0.08);3372  color: rgba(240, 232, 216, 0.86);3373  font-size: 11px;3374  line-height: 1.55;3375}33763377.peach-provider-chips {3378  display: flex;3379  flex-wrap: wrap;3380  gap: 6px;3381}33823383.peach-provider-chip {3384  display: inline-flex;3385  align-items: center;3386  padding: 5px 8px;3387  border-radius: 999px;3388  border: 1px solid var(--peach-t3);3389  background: rgba(240, 232, 216, 0.02);3390  color: var(--peach-t1);3391  font-family: "IBM Plex Mono", monospace;3392  font-size: 8px;3393  letter-spacing: 0.08em;3394  text-transform: uppercase;3395}33963397.peach-restore-file,3398.peach-restore-input {3399  width: 100%;3400  border-radius: 10px;3401  border: 1px solid var(--peach-t3);3402  background: var(--peach-s2);3403  color: var(--peach-t0);3404  font-size: 12px;3405}34063407.peach-restore-file {3408  padding: 9px 10px;3409}34103411.peach-restore-file::file-selector-button {3412  margin-right: 10px;3413  padding: 7px 10px;3414  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3415  border-radius: 999px;3416  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3417  color: var(--peach-t0);3418  font-size: 10px;3419  letter-spacing: 0.08em;3420  text-transform: uppercase;3421  cursor: pointer;3422}34233424.peach-restore-input {3425  padding: 10px 12px;3426}34273428.peach-auth-grid {3429  display: grid;3430  gap: 10px;3431}34323433.peach-import-summary {3434  color: var(--peach-t1);3435  font-size: 12px;3436  line-height: 1.6;3437  margin-bottom: 12px;3438}34393440.peach-restore-error {3441  color: rgba(220, 80, 60, 0.95);3442  font-size: 12px;3443  line-height: 1.55;3444}34453446.peach-cjk-qr-panel {3447  margin-top: 14px;3448  padding: 12px;3449  border-radius: 16px;3450  border: 1px solid var(--peach-t3);3451  background: rgba(240, 232, 216, 0.02);3452  display: grid;3453  gap: 10px;3454}34553456.peach-cjk-qr-frame {3457  display: grid;3458  place-items: center;3459  min-height: 212px;3460  border-radius: 14px;3461  background: #fff;3462  overflow: hidden;3463}34643465.peach-cjk-qr-frame svg {3466  display: block;3467  width: 196px;3468  height: 196px;3469}34703471.peach-cjk-qr-error,3472.peach-cjk-qr-caption {3473  color: var(--peach-t1);3474  font-size: 11px;3475  line-height: 1.55;3476}34773478.peach-cjk-qr-card {3479  max-width: 400px;3480  margin: auto;3481}34823483.peach-cjk-qr-body {3484  padding: 0 20px 20px;3485  text-align: center;3486}34873488.peach-cjk-qr-hint {3489  font-size: 11px;3490  color: var(--peach-t2);3491  margin: 0 0 14px;3492}34933494.peach-cjk-qr-image {3495  border-radius: 4px;3496  display: block;3497  margin: 0 auto;3498  width: 100%;3499  max-width: 320px;3500  height: auto;3501}35023503.peach-pro-badge {3504  padding: 2px 6px;3505  border-radius: 999px;3506  font-family: var(--font-ui);3507  font-size: 10px;3508  letter-spacing: 0.08em;3509  text-transform: uppercase;3510  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3511  color: var(--peach-accent);3512}35133514.peach-loading {3515  position: absolute;3516  inset: 0;3517  display: flex;3518  align-items: center;3519  justify-content: center;3520  background: var(--bg);3521  animation: peach-loading-pulse 1.2s ease-in-out infinite;3522}35233524@keyframes peach-loading-pulse {3525  0%, 100% { opacity: 0.6; }3526  50% { opacity: 1; }3527}35283529/* ── Health Dashboard ─────────────────────────────────────────────────── */3530.peach-health-body {3531  flex: 1;3532  overflow-y: auto;3533  display: flex;3534  flex-direction: column;3535}35363537.peach-health-summary {3538  padding: 10px 16px 6px;3539  font-family: "IBM Plex Mono", monospace;3540  font-size: 11px;3541}3542.peach-health-summary-warn { color: rgba(220,80,60,0.9); }3543.peach-health-summary-ok { color: var(--peach-t2); }35443545.peach-health-check-row {3546  padding: 0 16px 10px;3547}3548.peach-health-check-btn {3549  width: 100%;3550  display: flex;3551  align-items: center;3552  justify-content: center;3553}35543555.peach-health-sections {3556  flex: 1;3557  display: flex;3558  flex-direction: column;3559}35603561.peach-health-section {3562  border-bottom: 1px solid var(--peach-t3);3563}35643565.peach-health-section-header {3566  width: 100%;3567  display: flex;3568  align-items: center;3569  justify-content: space-between;3570  padding: 9px 16px;3571  background: transparent;3572  cursor: pointer;3573  color: var(--peach-t0);3574}35753576.peach-health-section-title-row {3577  display: flex;3578  align-items: center;3579  gap: 8px;3580}35813582.peach-health-count-badge {3583  display: inline-flex;3584  align-items: center;3585  justify-content: center;3586  min-width: 20px;3587  height: 18px;3588  padding: 0 5px;3589  border-radius: 999px;3590  background: rgba(220,80,60,0.15);3591  border: 1px solid rgba(220,80,60,0.25);3592  font-family: "IBM Plex Mono", monospace;3593  font-size: 9px;3594  color: rgba(220,80,60,0.9);3595}35963597.peach-health-section-title {3598  font-family: "IBM Plex Mono", monospace;3599  font-size: 11px;3600  text-transform: uppercase;3601  letter-spacing: 0.1em;3602  color: var(--peach-t1);3603}36043605.peach-health-chevron {3606  color: var(--peach-t2);3607  transition: transform 200ms ease;3608  flex-shrink: 0;3609}3610.peach-health-chevron.is-expanded {3611  transform: rotate(180deg);3612}36133614.peach-health-section-body {3615  padding: 0 16px 10px;3616  display: flex;3617  flex-direction: column;3618  gap: 4px;3619}36203621.peach-health-row {3622  display: flex;3623  align-items: flex-start;3624  justify-content: space-between;3625  gap: 8px;3626  padding: 6px 8px;3627  border-radius: 8px;3628  background: rgba(240,232,216,0.02);3629}36303631.peach-health-row-info {3632  flex: 1;3633  min-width: 0;3634  display: flex;3635  flex-direction: column;3636  gap: 2px;3637}36383639.peach-health-row-name {3640  font-family: "Cormorant Garamond", serif;3641  font-size: 15px;3642  font-style: italic;3643  font-weight: 400;3644  color: var(--peach-t0);3645  white-space: nowrap;3646  overflow: hidden;3647  text-overflow: ellipsis;3648}36493650.peach-health-row-meta {3651  font-family: "IBM Plex Mono", monospace;3652  font-size: 9px;3653  color: var(--peach-t2);3654  letter-spacing: 0.05em;3655}36563657.peach-health-fix-btn {3658  font-size: 9px;3659  letter-spacing: 0.08em;3660  text-transform: uppercase;3661  padding: 4px 7px;3662  flex-shrink: 0;3663  display: flex;3664  align-items: center;3665}36663667.peach-health-empty {3668  font-family: "IBM Plex Mono", monospace;3669  font-size: 10px;3670  color: var(--peach-t2);3671  padding: 6px 0;3672}36733674.peach-health-loading {3675  font-family: "IBM Plex Mono", monospace;3676  font-size: 10px;3677  color: var(--peach-t2);3678  padding: 6px 0;3679  display: flex;3680  align-items: center;3681  gap: 6px;3682}36833684.peach-health-loading::before {3685  content: "";3686  width: 10px;3687  height: 10px;3688  border: 1.5px solid var(--peach-t3);3689  border-top-color: var(--peach-accent);3690  border-radius: 50%;3691  animation: peach-spin 600ms linear infinite;3692}36933694@keyframes peach-spin {3695  to { transform: rotate(360deg); }3696}36973698.peach-spinner {3699  width: 32px;3700  height: 32px;3701  border: 2px solid var(--peach-s2);3702  border-top-color: var(--peach-accent);3703  border-radius: 50%;3704  margin: 0 auto 16px;3705  animation: peach-spin 0.8s linear infinite;3706}37073708.peach-progress-screen {3709  text-align: center;3710  padding: 32px 16px;3711}37123713.peach-progress-screen-title {3714  font-size: 13px;3715  color: var(--peach-t0);3716  margin-bottom: 16px;3717}37183719.peach-progress-screen-stage {3720  font-size: 11px;3721  color: var(--peach-t2);3722  min-height: 14px;3723}37243725.peach-progress-screen-note {3726  font-size: 10px;3727  color: var(--peach-t2);3728  margin-top: 8px;3729}37303731.peach-pairing-body {3732  flex: 1;3733  overflow-y: auto;3734  display: flex;3735  flex-direction: column;3736}37373738.peach-pairing-content {3739  flex: 1;3740  display: flex;3741  flex-direction: column;3742  align-items: center;3743  justify-content: center;3744  gap: 14px;3745  padding: 28px 20px;3746  text-align: center;3747}37483749.peach-pairing-headline {3750  font-family: var(--font-display);3751  font-style: italic;3752  font-weight: 300;3753  font-size: 28px;3754  color: var(--peach-t0);3755  margin: 0;3756  line-height: 1;3757}37583759.peach-pairing-subline {3760  font-size: 12px;3761  color: var(--peach-t2);3762  max-width: 220px;3763  line-height: 1.5;3764  margin: 0;3765}37663767.peach-pairing-subline--center {3768  text-align: center;3769}37703771.peach-pairing-code-display {3772  display: flex;3773  gap: 6px;3774}37753776.peach-pairing-code-digit {3777  display: flex;3778  align-items: center;3779  justify-content: center;3780  width: 36px;3781  height: 48px;3782  background: var(--peach-s2);3783  border: 1px solid var(--peach-t3);3784  border-radius: 6px;3785  font-family: var(--font-mono);3786  font-size: 22px;3787  color: var(--peach-t0);3788  letter-spacing: 0;3789}37903791.peach-pairing-countdown-ring {3792  position: relative;3793  display: inline-flex;3794  align-items: center;3795  justify-content: center;3796}37973798.peach-pairing-countdown-num {3799  position: absolute;3800  font-family: var(--font-mono);3801  font-size: 14px;3802  color: var(--peach-t1);3803}38043805.peach-pairing-ring-track {3806  fill: none;3807  stroke: var(--peach-t3);3808  stroke-width: 2;3809}38103811.peach-pairing-ring-progress {3812  fill: none;3813  stroke: var(--peach-accent);3814  stroke-width: 2;3815  stroke-linecap: round;3816  transform: rotate(-90deg);3817  transform-origin: 50% 50%;3818  transition: stroke-dashoffset 0.5s linear;3819}38203821.peach-pairing-code-inputs {3822  display: flex;3823  gap: 8px;3824}38253826.peach-pairing-code-box {3827  width: 36px;3828  height: 48px;3829  text-align: center;3830  background: var(--peach-s2);3831  border: 1px solid var(--peach-t3);3832  border-radius: 6px;3833  font-family: var(--font-mono);3834  font-size: 20px;3835  color: var(--peach-t0);3836  outline: none;3837  transition: border-color 120ms ease;3838}38393840.peach-pairing-code-box:focus {3841  border-color: var(--peach-accent);3842}38433844.peach-pairing-code-box.has-error {3845  border-color: rgba(220, 80, 60, 0.45);3846}38473848.peach-pairing-status {3849  display: flex;3850  align-items: center;3851  gap: 8px;3852  margin: 0;3853  font-size: 12px;3854  color: var(--peach-t1);3855}38563857.peach-pairing-error {3858  margin: 0;3859  font-size: 11px;3860  color: var(--peach-breach);3861}38623863.peach-pairing-error-msg {3864  color: var(--peach-t1);3865}38663867.peach-pairing-spinner {3868  width: 12px;3869  height: 12px;3870  border: 1.5px solid var(--peach-t3);3871  border-top-color: var(--peach-accent);3872  border-radius: 50%;3873  animation: peach-spin 0.8s linear infinite;3874}38753876.peach-pairing-success-icon,3877.peach-pairing-error-icon,3878.peach-pairing-hero {3879  display: inline-flex;3880  align-items: center;3881  justify-content: center;3882}38833884/* Tag chips */3885.peach-tag-chip {3886  display: inline-flex;3887  align-items: center;3888  gap: 4px;3889  padding: 3px 8px;3890  border-radius: 999px;3891  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3892  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3893  color: rgba(240, 232, 216, 0.85);3894  font-family: "IBM Plex Mono", monospace;3895  font-size: 10px;3896  letter-spacing: 0.04em;3897}38983899.peach-tag-chip-remove {3900  background: transparent;3901  border: none;3902  color: inherit;3903  opacity: 0.6;3904  cursor: pointer;3905  padding: 0;3906  font-size: 12px;3907  line-height: 1;3908}39093910.peach-tag-chip-remove:hover {3911  opacity: 1;3912}39133914/* Tag input */3915.peach-tag-input-wrap {3916  border-bottom: 1px solid var(--peach-t3);3917}39183919.peach-tag-suggestions {3920  display: flex;3921  flex-wrap: wrap;3922  gap: 4px;3923  padding: 6px 0;3924}39253926.peach-tag-suggestion {3927  padding: 2px 8px;3928  border-radius: 999px;3929  border: 1px solid var(--peach-t3);3930  background: var(--peach-s2);3931  color: var(--peach-t1);3932  font-family: "IBM Plex Mono", monospace;3933  font-size: 10px;3934  cursor: pointer;3935  transition: border-color 80ms ease, background 80ms ease;3936}39373938.peach-tag-suggestion:hover {3939  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3940  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3941}39423943/* Tag filter strip */3944.peach-tag-filter-strip {3945  border-bottom: 1px solid var(--peach-t3);3946  flex-shrink: 0;3947}39483949.peach-tag-filter-chip {3950  display: inline-flex;3951  align-items: center;3952  padding: 4px 10px;3953  border-radius: 999px;3954  border: 1px solid var(--peach-t3);3955  background: transparent;3956  color: var(--peach-t2);3957  font-family: "IBM Plex Mono", monospace;3958  font-size: 9px;3959  letter-spacing: 0.06em;3960  text-transform: uppercase;3961  cursor: pointer;3962  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;3963  white-space: nowrap;3964}39653966.peach-tag-filter-chip:hover {3967  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3968  color: var(--peach-t1);3969}39703971.peach-tag-filter-chip.is-selected {3972  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3973  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);3974  color: rgba(240, 232, 216, 0.9);3975}39763977/* ─────────────────────────────────────────────────────────────────────────3978   v1.4.12 additions3979   ─────────────────────────────────────────────────────────────────────── */39803981/* Sort bar */3982.peach-sort-bar {3983  display: flex;3984  align-items: center;3985  gap: 4px;3986  padding: 5px 12px;3987  border-bottom: 1px solid var(--peach-t3);3988  flex-shrink: 0;3989  overflow-x: auto;3990  scrollbar-width: none;3991}39923993.peach-sort-btn {3994  padding: 2px 9px;3995  border-radius: 999px;3996  border: 1px solid transparent;3997  background: transparent;3998  color: var(--peach-t2);3999  font-family: "IBM Plex Mono", monospace;4000  font-size: 9px;4001  letter-spacing: 0.07em;4002  text-transform: uppercase;4003  cursor: pointer;4004  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4005  white-space: nowrap;4006}40074008.peach-sort-btn:hover {4009  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);4010  color: var(--peach-t1);4011}40124013.peach-sort-btn.is-active {4014  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4015  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4016  color: rgba(240, 232, 216, 0.9);4017}40184019.peach-sort-domain-hint {4020  margin-left: auto;4021  font-family: "IBM Plex Mono", monospace;4022  font-size: 9px;4023  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4024  white-space: nowrap;4025  overflow: hidden;4026  text-overflow: ellipsis;4027  max-width: 110px;4028}40294030/* Tab-match badge on entry rows */4031.peach-tab-match-badge {4032  display: inline-block;4033  width: 6px;4034  height: 6px;4035  border-radius: 50%;4036  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4037  margin-left: 5px;4038  vertical-align: middle;4039  flex-shrink: 0;4040  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4041}40424043.peach-entry-row.is-tab-match {4044  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4045  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4046}40474048.peach-entry-row.is-tab-match:hover {4049  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4050}40514052/* Entry list stagger entrance */4053@keyframes peach-entry-fadein {4054  from { opacity: 0; transform: translateY(4px); }4055  to   { opacity: 1; transform: translateY(0); }4056}40574058.peach-vault-list .peach-entry-row {4059  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4060  content-visibility: auto;4061  contain-intrinsic-size: auto 44px;4062}40634064/* Button press micro-interaction */4065.peach-btn:active {4066  transform: scale(0.95);4067  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4068}40694070.peach-sort-btn:active,4071.peach-tag-filter-chip:active {4072  transform: scale(0.93);4073  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4074}40754076/* Password strength bar (Lock view + shared) */4077.peach-password-strength {4078  display: flex;4079  align-items: center;4080  gap: 8px;4081  margin-top: 6px;4082}40834084.peach-strength-bar {4085  flex: 1;4086  height: 3px;4087  border-radius: 2px;4088  background: var(--peach-t3);4089  overflow: hidden;4090}40914092.peach-strength-fill {4093  height: 100%;4094  border-radius: 2px;4095  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4096              background 300ms ease;4097}40984099.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4100.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4101.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4102.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }41034104.peach-strength-label {4105  font-family: "IBM Plex Mono", monospace;4106  font-style: italic;4107  font-size: 9px;4108  font-weight: 300;4109  letter-spacing: 0.06em;4110  color: var(--peach-t2);4111  min-width: 36px;4112  text-align: right;4113}41144115.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4116.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4117.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4118.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }41194120/* Duress form */4121.peach-duress-status {4122  padding: 2px 8px;4123  border-radius: 999px;4124  border: 1px solid var(--peach-t3);4125  font-family: "IBM Plex Mono", monospace;4126  font-size: 9px;4127  letter-spacing: 0.07em;4128  text-transform: uppercase;4129  color: var(--peach-t2);4130  flex-shrink: 0;4131}41324133.peach-duress-status.is-active {4134  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4135  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4136  color: rgba(240, 232, 216, 0.85);4137}41384139.peach-duress-form {4140  padding: 8px 0 4px;4141  display: flex;4142  flex-direction: column;4143  gap: 6px;4144}41454146.peach-duress-form .peach-label {4147  margin-top: 4px;4148}41494150.peach-duress-actions {4151  display: flex;4152  gap: 6px;4153  align-items: center;4154  margin-top: 4px;4155}41564157.peach-duress-actions .peach-btn:first-child {4158  margin-right: auto;4159}41604161/* Improved overlay spring entrance */4162.peach-overlay-view.ov-enter-up {4163  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4164}41654166@keyframes ov-enter-up-spring {4167  from { opacity: 0; transform: translateY(16px) scale(0.98); }4168  to   { opacity: 1; transform: translateY(0) scale(1); }4169}41704171.peach-overlay-view.ov-enter-right {4172  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4173}41744175@keyframes ov-enter-right-spring {4176  from { opacity: 0; transform: translateX(18px) scale(0.98); }4177  to   { opacity: 1; transform: translateX(0) scale(1); }4178}41794180/* ── Onboarding-mode restore screens (CJK phrase / file import) ── */4181/* Used when CJKImportView or MainImportView renders during onboarding4182   (no vault yet). Animates like a lock-screen transition. */4183.peach-lock-view {4184  position: absolute;4185  inset: 0;4186  display: flex;4187  flex-direction: column;4188  background:4189    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4190    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4191    var(--peach-bg);4192  z-index: 2;4193  overflow: hidden;4194  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4195}41964197.peach-lock-view-header {4198  display: flex;4199  align-items: center;4200  justify-content: space-between;4201  padding: 16px 18px 12px;4202  flex-shrink: 0;4203}42044205/* ───────── Settings: auto-lock select ───────── */4206.peach-settings-select {4207  font-family: "IBM Plex Mono", monospace;4208  font-size: 11px;4209  background: transparent;4210  border: 1px solid var(--peach-t3);4211  border-radius: 4px;4212  color: var(--peach-t1);4213  padding: 3px 6px;4214  cursor: pointer;4215  outline: none;4216}4217.peach-settings-select:focus {4218  border-color: var(--peach-accent);4219}42204221/* ───────── Duress status pill (new polished) ───────── */4222.peach-duress-status-pill {4223  font-family: "IBM Plex Mono", monospace;4224  font-size: 9px;4225  text-transform: uppercase;4226  letter-spacing: 0.12em;4227  padding: 2px 8px;4228  border-radius: 12px;4229  background: var(--peach-t3);4230  color: var(--peach-t2);4231  flex-shrink: 0;4232}4233.peach-duress-status-pill.is-active {4234  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4235  color: var(--peach-accent);4236}42374238/* ───────── Entry advanced disclosure (canary) ───────── */4239.peach-entry-advanced {4240  margin-top: 12px;4241  border-top: 1px solid var(--peach-t3);4242  padding-top: 10px;4243  position: relative;4244  z-index: 1;4245}4246.peach-entry-advanced-toggle {4247  display: flex;4248  align-items: center;4249  justify-content: space-between;4250  width: 100%;4251  background: transparent;4252  border: none;4253  cursor: pointer;4254  padding: 0;4255  color: var(--peach-t2);4256}4257.peach-canary-section {4258  margin-top: 10px;4259  display: grid;4260  gap: 6px;4261}42624263/* ───────── Import: merge/replace radio choices ───────── */4264.peach-import-choice {4265  display: flex;4266  align-items: flex-start;4267  gap: 10px;4268  padding: 8px 10px;4269  border: 1px solid var(--peach-t3);4270  border-radius: 10px;4271  cursor: pointer;4272  margin-bottom: 6px;4273  transition: border-color 120ms ease, background 120ms ease;4274}4275.peach-import-choice:hover {4276  border-color: var(--peach-accent);4277}4278.peach-import-choice input[type="radio"] {4279  margin-top: 3px;4280  accent-color: var(--peach-accent);4281  flex-shrink: 0;4282}4283.peach-import-choice-main {4284  display: flex;4285  flex-direction: column;4286  gap: 2px;4287  min-width: 0;4288}4289.peach-import-choice-label {4290  font-size: 12px;4291  color: var(--peach-t0);4292}4293.peach-import-choice-sub {4294  font-size: 11px;4295  color: var(--peach-t2);4296  line-height: 1.5;4297}42984299/* ───────── Export: success confirmation strip ───────── */4300.peach-export-success {4301  display: flex;4302  align-items: flex-start;4303  gap: 10px;4304  padding: 12px;4305  border-radius: 12px;4306  border: 1px solid rgba(150, 175, 110, 0.3);4307  background: rgba(150, 175, 110, 0.08);4308  color: var(--peach-t0);4309  font-size: 12px;4310  line-height: 1.55;4311}4312.peach-export-success-check {4313  color: rgba(150, 175, 110, 0.9);4314  font-size: 14px;4315  flex-shrink: 0;4316}43174318/* ── Trash view ──────────────────────────────────────────────────────── */4319.peach-trash-entry-row {4320  display: flex;4321  align-items: center;4322  justify-content: space-between;4323  gap: 8px;4324  padding: 8px 0;4325  border-bottom: 1px solid var(--peach-t3);4326}4327.peach-trash-entry-row:last-child { border-bottom: none; }4328.peach-trash-entry-info {4329  flex: 1;4330  min-width: 0;4331  display: flex;4332  flex-direction: column;4333  gap: 2px;4334}4335.peach-trash-entry-title {4336  font-size: 12px;4337  color: var(--peach-t1);4338  overflow: hidden;4339  text-overflow: ellipsis;4340  white-space: nowrap;4341}4342.peach-trash-entry-meta {4343  font-family: var(--font-mono);4344  font-size: 9px;4345  color: var(--peach-t2);4346  letter-spacing: 0.06em;4347}4348.peach-trash-entry-actions {4349  display: flex;4350  align-items: center;4351  gap: 4px;4352  flex-shrink: 0;4353}43544355/* ── Settings shortcuts grid ─────────────────────────────────────────── */4356.peach-shortcuts-grid {4357  display: grid;4358  grid-template-columns: auto 1fr;4359  gap: 6px 12px;4360  align-items: center;4361  padding: 4px 0;4362}4363.peach-shortcut-key {4364  font-family: var(--font-mono);4365  font-size: 10px;4366  color: var(--peach-t0);4367  background: var(--peach-t3);4368  border-radius: 4px;4369  padding: 2px 6px;4370  white-space: nowrap;4371  text-align: center;4372}4373.peach-shortcut-desc {4374  font-size: 11px;4375  color: var(--peach-t1);4376}43774378/* ── Sort bar trash button ───────────────────────────────────────────── */4379.peach-sort-trash-btn {4380  display: flex;4381  align-items: center;4382  justify-content: center;4383  padding: 3px 5px;4384  background: transparent;4385  border: none;4386  cursor: pointer;4387  color: var(--peach-t2);4388  border-radius: 4px;4389  transition: color 140ms ease, background 140ms ease;4390}4391.peach-sort-trash-btn:hover {4392  color: var(--peach-t1);4393  background: var(--peach-t3);4394}4395.peach-sort-trash-btn.is-active {4396  color: var(--peach-accent);4397}43984399/* Accent color picker */4400.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }4401.peach-accent-picker {4402  display: flex;4403  flex-wrap: wrap;4404  gap: 7px;4405  padding: 2px 0;4406}4407.peach-accent-swatch {4408  width: 22px;4409  height: 22px;4410  border-radius: 50%;4411  border: 2px solid transparent;4412  cursor: pointer;4413  padding: 0;4414  transition: transform 100ms;4415  outline-offset: 2px;4416}4417.peach-accent-swatch:hover { transform: scale(1.15); }4418.peach-accent-swatch.is-active {4419  border-color: var(--peach-t0);4420  transform: scale(1.1);4421}44224423/* ── Card entry styles ───────────────────────────────────────── */4424.peach-card-number {4425  font-family: var(--peach-mono);4426  letter-spacing: 0.08em;4427}44284429.peach-card-network-badge {4430  font-size: 10px;4431  padding: 1px 5px;4432  border-radius: 4px;4433  border: 0.5px solid var(--peach-border);4434  color: var(--peach-text-dim);4435  margin-left: 6px;4436  vertical-align: middle;4437}44384439.peach-card-expiry-row {4440  display: flex;4441  align-items: center;4442  gap: 8px;4443}44444445.peach-card-expiry-sep {4446  color: var(--peach-text-dim);4447}