popup.css

101.9 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}658.peach-totp-code-row {659  display: flex;660  align-items: flex-end;661  gap: 10px;662  min-width: 0;663}664.peach-totp-code {665  margin: 2px 0 0;666  font-family: "Cormorant Garamond", "Times New Roman", serif;667  font-style: italic;668  font-weight: 300;669  font-size: 38px; color: var(--peach-accent);670  line-height: 0.95; min-height: 1em;671  min-width: 0;672}673.peach-totp-code-text {674  display: inline-flex;675  overflow: hidden;676  text-overflow: ellipsis;677  white-space: nowrap;678}679.peach-totp-copy-btn {680  margin-bottom: 2px;681  flex-shrink: 0;682  border-color: transparent;683}684.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }685.peach-totp-countdown {686  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;687  font-size: 22px; color: var(--peach-t1);688}689.peach-totp-ring { transform: rotate(-90deg); }690.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }691.peach-totp-ring-progress {692  fill: none; stroke: var(--peach-accent); stroke-width: 2;693  stroke-linecap: round;694  transition: stroke-dashoffset 1s linear, stroke 500ms ease;695}696/* Search bar */697.peach-search-wrap {698  border-top: 1px solid var(--peach-t3);699  background: var(--peach-s1);700  min-height: 54px; position: relative;701  box-shadow: inset 0 6px 18px transparent;702  transition: box-shadow 700ms ease;703}704.peach-search-wrap::before {705  content: "";706  position: absolute;707  left: 0;708  top: 0;709  height: 2px;710  width: var(--peach-totp-progress, 0%);711  background: var(--peach-accent);712  opacity: 0;713  transition: width 1s linear, opacity 180ms ease;714  pointer-events: none;715}716.peach-shell[data-totp-active="true"] .peach-search-wrap::before {717  opacity: 0.9;718}719.peach-shell[data-totp-active="true"] .peach-search-wrap {720  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);721}722723@keyframes peach-totp-code-flare {724  0%   { filter: brightness(1); }725  25%  { filter: brightness(1.3); }726  100% { filter: brightness(1); }727}728.peach-totp-code.is-hot {729  animation: peach-totp-code-flare 3000ms ease-in-out both;730}731.peach-search-bar {732  min-height: 54px;733  display: grid;734  grid-template-columns: auto minmax(0, 1fr) auto;735  align-items: center;736  gap: 8px; padding: 0 9px 0 12px;737}738.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }739.peach-search-input {740  border: 0; background: transparent; color: var(--peach-t0);741  font-family: "Cormorant Garamond", "Times New Roman", serif;742  font-style: italic; font-size: 18px;743  outline: none; width: 100%; min-width: 0; padding: 0;744  caret-color: var(--peach-accent);745}746.peach-search-input::placeholder { color: var(--peach-t2); }747.peach-search-meta {748  display: grid;749  grid-auto-flow: column;750  align-items: center;751  justify-content: end;752  gap: 6px;753  min-width: max-content;754}755.peach-search-counter {756  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;757  font-size: 10px; color: var(--peach-t2);758  display: inline-flex;759  align-items: center;760  line-height: 1;761}762.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }763764/* Buttons */765.peach-btn {766  border: 1px solid transparent; border-radius: 12px;767  background: transparent; color: var(--peach-t0);768  font-family: Inter, system-ui, sans-serif;769  font-size: 12px; letter-spacing: 0.02em; padding: 8px 12px;770  cursor: pointer;771  transition:772    background-color var(--peach-dur-80) var(--peach-curve-arrival),773    color var(--peach-dur-80) var(--peach-curve-arrival),774    border-color var(--peach-dur-150) var(--peach-curve-arrival);775}776.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }777.peach-btn:disabled {778  opacity: 0.45;779  cursor: not-allowed;780}781.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 11px; }782.peach-btn--md { min-height: 38px; }783.peach-btn--accent { background: var(--peach-accent); color: rgba(0,0,0,0.75); }784.peach-btn--accent:hover:not(:disabled) { background: var(--peach-accent); filter: brightness(1.12); }785.peach-btn--ghost { border-color: var(--peach-t3); color: var(--peach-t1); }786.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }787.peach-icon-btn {788  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;789  display: inline-flex; align-items: center; justify-content: center;790}791792.peach-btn:focus-visible {793  outline: none;794  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);795}796797/* Lock button */798.peach-lock-icon { transform-origin: center; }799.peach-lock-btn.is-locking { color: var(--peach-accent); }800.peach-lock-btn.is-locking .peach-lock-icon {801  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);802}803804/* Copy button */805.peach-copy-btn {806  position: relative; overflow: hidden;807  color: var(--peach-t2); border-color: var(--peach-t3);808}809.peach-copy-icon {810  display: inline-flex; align-items: center; justify-content: center;811  position: relative; z-index: 1;812}813.peach-copy-icon-svg { display: block; }814.peach-copy-sheen {815  position: absolute; inset: 0;816  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%);817  opacity: 0; transform: scaleX(0.15); transform-origin: left center;818}819.peach-copy-btn.is-copied {820  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;821  box-shadow:822    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),823    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),824    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);825}826.peach-copy-btn.is-copied .peach-copy-icon {827  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;828}829.peach-copy-btn.is-copied .peach-copy-sheen {830  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;831}832.peach-copy-btn.is-retreat {833  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;834}835.peach-copy-btn.is-retreat .peach-copy-sheen {836  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;837}838.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }839.peach-copy-drain-bar {840  display: block; width: 100%; height: 100%;841  background: var(--peach-accent); opacity: 0.7;842  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;843}844845/* Unlock screen elements */846.peach-unlock-headline {847  margin: 2px 0 0;848  font-family: "Cormorant Garamond", "Times New Roman", serif;849  font-size: 52px; line-height: 0.95;850  font-style: italic; font-weight: 400;851}852.peach-subline {853  margin: 0;854  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;855  font-size: 10px; color: var(--peach-t2); font-style: italic;856}857.peach-subline--lock {858  max-width: 248px;859  line-height: 1.5;860}861.peach-underline-input {862  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);863  padding: 6px 0; background: transparent; color: var(--peach-t0);864  outline: none;865  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;866  font-size: 13px;867  caret-color: var(--peach-accent);868}869.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }870.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }871.peach-hint {872  margin: 0;873  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;874  font-size: 10px; color: var(--peach-t2);875}876.peach-unlock-footer {877  margin-top: 4px; display: flex; align-items: center; gap: 7px;878  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;879  font-size: 10px; color: var(--peach-t2);880}881.peach-unlock-footer--lock {882  padding-top: 2px;883}884885/* Breach badge */886.peach-breach-badge {887  display: flex;888  position: relative;889  z-index: 1;890  align-items: center;891  gap: 7px;892  font-size: 9px;893  color: var(--peach-breach);894  padding: 5px 10px;895  margin-bottom: 4px;896  border-radius: 8px;897  background: rgba(220, 80, 60, 0.07);898  border: 1px solid rgba(220, 80, 60, 0.18);899  letter-spacing: 0.04em;900}901902.peach-breach-action {903  margin-left: auto;904  font-size: 10px;905  padding: 3px 8px;906}907908.peach-password-value.is-breached {909  color: rgba(220, 80, 60, 0.75);910  border-bottom: 1px solid rgba(220, 80, 60, 0.22);911}912913/* ── Overlay views ─────────────────────────────────────────────────── */914.peach-overlay-view {915  position: absolute;916  inset: 0;917  display: flex;918  flex-direction: column;919  background:920    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),921    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),922    var(--peach-bg);923  z-index: 2;924  overflow: hidden;925  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;926}927@keyframes overlay-in {928  from { opacity: 0; transform: translateY(8px); }929  to   { opacity: 1; transform: translateY(0); }930}931.peach-overlay-view.ov-enter-up {932  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;933}934.peach-overlay-view.ov-exit-up {935  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;936}937.peach-overlay-view.ov-enter-right {938  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;939}940.peach-overlay-view.ov-exit-right {941  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;942}943944@keyframes ov-enter-up {945  from { opacity: 0; transform: translateY(18px); }946  to   { opacity: 1; transform: translateY(0); }947}948@keyframes ov-exit-up {949  from { opacity: 1; transform: translateY(0); }950  to   { opacity: 0; transform: translateY(-12px); }951}952@keyframes ov-enter-right {953  from { opacity: 0; transform: translateX(20px); }954  to   { opacity: 1; transform: translateX(0); }955}956@keyframes ov-exit-right {957  from { opacity: 1; transform: translateX(0); }958  to   { opacity: 0; transform: translateX(20px); }959}960961/* Overlay shared header */962.peach-overlay-header {963  padding: 10px 12px;964  display: flex;965  align-items: center;966  gap: 8px;967  border-bottom: 1px solid var(--peach-t3);968  flex-shrink: 0;969}970.peach-overlay-title {971  font-family: "IBM Plex Mono", monospace;972  font-size: 9px;973  text-transform: uppercase;974  letter-spacing: 0.18em;975  color: var(--peach-t2);976  flex: 1;977  text-align: center;978}979980.peach-overlay-card {981  background: var(--peach-s1);982  border: 1px solid var(--peach-t3);983  border-radius: 12px;984  overflow: hidden;985  width: 100%;986}987988.peach-onboarding-alt-actions {989  display: flex;990  flex-direction: column;991  gap: 4px;992  padding: 0;993}994995.peach-settings-copy {996  margin: 0 0 10px;997  font-size: 11px;998  line-height: 1.5;999  color: var(--peach-t2);1000}10011002.peach-settings-copy strong {1003  color: var(--peach-t0);1004}10051006.peach-settings-copy--spacious {1007  margin-bottom: 12px;1008}10091010.peach-settings-copy--result {1011  color: var(--peach-accent);1012  font-size: 13px;1013  text-align: center;1014  padding: 8px 0;1015}10161017.peach-settings-copy--danger {1018  color: var(--peach-breach);1019}10201021.peach-settings-copy--success {1022  color: var(--peach-accent);1023}10241025.peach-inline-feedback {1026  font-size: 11px;1027  margin: 10px 0 0;1028}10291030.peach-inline-feedback--ok {1031  color: var(--peach-accent);1032}10331034.peach-inline-feedback--error {1035  color: var(--peach-breach);1036}10371038.peach-inline-feedback--muted {1039  color: var(--peach-t2);1040  font-size: 10px;1041  margin: 4px 0;1042}10431044.peach-inline-feedback--spaced {1045  margin-top: 12px;1046}10471048.peach-settings-actions--row {1049  display: flex;1050  gap: 6px;1051}10521053.peach-settings-actions--end {1054  margin-top: 14px;1055  justify-content: flex-end;1056}10571058.peach-settings-stack {1059  display: flex;1060  flex-direction: column;1061  gap: 6px;1062}10631064.peach-settings-stack--tight {1065  gap: 4px;1066}10671068.peach-settings-stack--spacious {1069  gap: 8px;1070}10711072.peach-settings-input {1073  width: 100%;1074  box-sizing: border-box;1075  padding: 8px 10px;1076  background: var(--peach-s2);1077  border: 1px solid var(--peach-t3);1078  border-radius: 6px;1079  color: var(--peach-t0);1080  font-family: var(--font-ui);1081  font-size: 12px;1082  outline: none;1083  transition: border-color 120ms ease;1084}10851086.peach-settings-input:focus {1087  border-color: var(--peach-accent);1088}10891090.peach-settings-input[type="password"] {1091  font-family: var(--font-mono);1092  letter-spacing: 0.04em;1093}10941095.peach-phrase-textarea {1096  width: 100%;1097  box-sizing: border-box;1098  min-height: 120px;1099  padding: 10px 12px;1100  background: var(--peach-s2);1101  border: 1px solid var(--peach-t3);1102  border-radius: 6px;1103  color: var(--peach-t0);1104  font-size: 12px;1105  font-family: "Noto Sans CJK SC", "PingFang SC", monospace;1106  line-height: 1.5;1107  resize: vertical;1108  outline: none;1109}11101111.peach-phrase-textarea:focus {1112  border-color: var(--peach-accent);1113}11141115.peach-hidden-file-input {1116  display: none;1117}11181119.peach-checkbox-note {1120  display: flex;1121  align-items: flex-start;1122  gap: 8px;1123  font-size: 11px;1124  color: var(--peach-t1);1125  cursor: pointer;1126  margin: 12px 0;1127}11281129.peach-checkbox-note input {1130  margin-top: 1px;1131}11321133.peach-cjk-phrase-box {1134  font-family: "Noto Sans CJK SC", "PingFang SC", "Hiragino Sans GB", sans-serif;1135  font-size: 13px;1136  line-height: 1.5;1137  background: var(--peach-s2);1138  border: 1px solid var(--peach-t3);1139  border-radius: 6px;1140  padding: 10px 12px;1141  margin: 0 0 10px;1142  word-break: break-all;1143  white-space: pre-wrap;1144  max-height: 220px;1145  overflow-y: auto;1146  color: var(--peach-t0);1147  user-select: all;1148  scrollbar-width: none;1149  -ms-overflow-style: none;1150}1151.peach-cjk-phrase-box::-webkit-scrollbar { display: none; }11521153.peach-danger-notice {1154  background: rgba(220, 80, 60, 0.08);1155  border: 1px solid rgba(220, 80, 60, 0.2);1156  border-radius: 6px;1157  padding: 9px 11px;1158  font-size: 11px;1159  color: var(--peach-t1);1160  line-height: 1.5;1161}11621163.peach-info-notice {1164  font-size: 11px;1165  color: var(--peach-t2);1166  line-height: 1.5;1167  background: rgba(240, 232, 216, 0.04);1168  border: 1px solid var(--peach-t3);1169  border-radius: 6px;1170  padding: 8px 10px;1171}11721173.peach-strength-row {1174  display: flex;1175  align-items: center;1176  gap: 8px;1177  margin-bottom: 10px;1178}11791180.peach-strength-track {1181  flex: 1;1182  height: 4px;1183  background: var(--peach-s2);1184  border-radius: 2px;1185  overflow: hidden;1186}11871188.peach-strength-fill {1189  height: 100%;1190  border-radius: 2px;1191  transition: width 120ms ease, background 120ms ease;1192}11931194/* ── Type selector tabs ── */1195.peach-type-tabs {1196  display: flex;1197  gap: 0;1198  background: var(--peach-t4);1199  border-radius: 8px;1200  padding: 3px;1201}12021203.peach-type-tab {1204  flex: 1;1205  display: flex;1206  align-items: center;1207  justify-content: center;1208  gap: 6px;1209  padding: 6px 10px;1210  border-radius: 6px;1211  border: none;1212  background: transparent;1213  cursor: pointer;1214  font-family: Inter, system-ui, sans-serif;1215  font-size: 11px;1216  font-weight: 400;1217  letter-spacing: 0.04em;1218  color: var(--peach-t1);1219  transition: background 150ms ease, color 150ms ease;1220}12211222.peach-type-tab.is-active {1223  background: var(--peach-s2);1224  color: var(--peach-t0);1225  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1226}12271228.peach-type-tab:not(.is-active):hover {1229  color: var(--peach-t0);1230}12311232.peach-type-tab svg {1233  opacity: 0.7;1234  flex-shrink: 0;1235}12361237.peach-type-tab.is-active svg {1238  opacity: 1;1239}12401241/* ── List view ───────────────────────────────────────────────────────── */1242.peach-list-top {1243  padding: 0 10px;1244  min-height: 46px;1245  display: flex;1246  align-items: center;1247  gap: 6px;1248  border-bottom: 1px solid var(--peach-t3);1249  flex-shrink: 0;1250  background: var(--peach-s1);1251}1252.peach-vault-list {1253  flex: 1;1254  overflow-y: auto;1255  scrollbar-width: none;1256}1257.peach-vault-list::-webkit-scrollbar { display: none; }12581259/* Scrollbar — vault list */1260.peach-vault-list {1261  scrollbar-width: thin;1262  scrollbar-color: var(--peach-t3) transparent;1263}12641265.peach-vault-list::-webkit-scrollbar {1266  width: 3px;1267}12681269.peach-vault-list::-webkit-scrollbar-thumb {1270  background: var(--peach-t3);1271  border-radius: 2px;1272}12731274.peach-entry-row {1275  width: 100%;1276  display: flex;1277  align-items: center;1278  gap: 10px;1279  padding: 9px 16px;1280  background: transparent;1281  border: none;1282  border-bottom: 1px solid var(--peach-t3);1283  cursor: pointer;1284  color: inherit;1285  text-align: left;1286  transition: background 80ms ease;1287}1288.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1289.peach-entry-row:last-child { border-bottom: none; }1290.peach-entry-row.is-active {1291  box-shadow: inset 2px 0 0 var(--peach-accent);1292  background: rgba(240,232,216,0.03);1293}1294.peach-entry-row-icon {1295  width: 26px; height: 26px;1296  border-radius: 7px;1297  border: 1px solid var(--peach-t3);1298  display: flex; align-items: center; justify-content: center;1299  color: var(--peach-t2);1300  flex-shrink: 0;1301}1302.peach-entry-row-icon.is-breach {1303  border-color: rgba(220,80,60,0.3);1304  color: rgba(220,80,60,0.7);1305}1306.peach-entry-row-info { flex: 1; min-width: 0; }1307.peach-entry-row-name {1308  display: block;1309  font-family: "Cormorant Garamond", serif;1310  font-size: 17px;1311  font-style: italic;1312  font-weight: 400;1313  color: var(--peach-t0);1314  line-height: 1.2;1315  white-space: nowrap;1316  overflow: hidden;1317  text-overflow: ellipsis;1318}1319.peach-entry-row-meta {1320  display: block;1321  font-family: "IBM Plex Mono", monospace;1322  font-size: 9px;1323  color: var(--peach-t2);1324  margin-top: 1px;1325  letter-spacing: 0.05em;1326}1327.peach-entry-row-dot {1328  width: 5px; height: 5px;1329  border-radius: 50%;1330  background: rgba(220,80,60,0.7);1331  flex-shrink: 0;1332}1333.peach-new-entry-row {1334  display: flex;1335  align-items: center;1336  justify-content: center;1337  gap: 6px;1338  width: 100%;1339  padding: 11px;1340  background: transparent;1341  border: none;1342  border-top: 1px solid var(--peach-t3);1343  color: var(--peach-t2);1344  font-family: "IBM Plex Mono", monospace;1345  font-size: 9px;1346  text-transform: uppercase;1347  letter-spacing: 0.14em;1348  cursor: pointer;1349  flex-shrink: 0;1350  transition: color 120ms ease, background 120ms ease;1351}1352.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13531354/* ── Multi-select mode ─────────────────────────────────────────────── */13551356/* Select-mode trigger button in sort bar — same shape as trash btn */1357.peach-sort-select-btn {1358  display: flex;1359  align-items: center;1360  justify-content: center;1361  padding: 3px 5px;1362  background: transparent;1363  border: none;1364  cursor: pointer;1365  color: var(--peach-t2);1366  border-radius: 4px;1367  transition: color 140ms ease, background 140ms ease;1368}1369.peach-sort-select-btn:hover {1370  color: var(--peach-t1);1371  background: var(--peach-t3);1372}13731374/* Sort bar in select mode */1375.peach-select-cancel-btn {1376  background: transparent;1377  border: none;1378  padding: 0 4px;1379  cursor: pointer;1380  font-family: "IBM Plex Mono", monospace;1381  font-size: 9px;1382  letter-spacing: 0.12em;1383  text-transform: uppercase;1384  color: var(--peach-t2);1385  transition: color 140ms ease;1386  flex-shrink: 0;1387}1388.peach-select-cancel-btn:hover { color: var(--peach-t0); }13891390.peach-select-count-label {1391  flex: 1;1392  text-align: center;1393  font-family: "IBM Plex Mono", monospace;1394  font-size: 9px;1395  letter-spacing: 0.14em;1396  text-transform: uppercase;1397  color: var(--peach-t1);1398}13991400.peach-select-all-btn {1401  background: transparent;1402  border: none;1403  padding: 0 4px;1404  cursor: pointer;1405  font-family: "IBM Plex Mono", monospace;1406  font-size: 9px;1407  letter-spacing: 0.12em;1408  text-transform: uppercase;1409  color: var(--peach-t2);1410  transition: color 140ms ease;1411  flex-shrink: 0;1412}1413.peach-select-all-btn:hover { color: var(--peach-accent); }14141415/* List in select mode */1416.peach-vault-list.is-selecting .peach-entry-row {1417  cursor: default;1418}1419.peach-vault-list.is-selecting .peach-entry-row:hover {1420  background: rgba(240,232,216,0.02);1421}1422.peach-vault-list.is-selecting .peach-entry-row.is-selected {1423  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1424}1425.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1426  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1427}14281429/* Select indicator circles in icon slot */1430.peach-entry-row-icon.is-select-icon {1431  color: var(--peach-t2);1432}1433.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1434  color: var(--peach-accent);1435}14361437/* Delete action bar at bottom (replaces new-entry row) */1438.peach-select-action-bar {1439  display: flex;1440  align-items: center;1441  justify-content: center;1442  gap: 7px;1443  width: 100%;1444  padding: 11px;1445  background: transparent;1446  border: none;1447  border-top: 1px solid var(--peach-t3);1448  color: var(--peach-t1);1449  font-family: "IBM Plex Mono", monospace;1450  font-size: 9px;1451  text-transform: uppercase;1452  letter-spacing: 0.14em;1453  cursor: pointer;1454  flex-shrink: 0;1455  transition: color 120ms ease, background 120ms ease;1456}1457.peach-select-action-bar:not(:disabled):hover {1458  color: var(--peach-t0);1459  background: rgba(220,80,60,0.06);1460}1461.peach-select-action-bar:not(:disabled):hover svg {1462  stroke: rgba(220,80,60,0.8);1463}1464.peach-select-action-bar:disabled,1465.peach-select-action-bar.is-empty {1466  color: var(--peach-t2);1467  cursor: default;1468  opacity: 0.5;1469}1470.peach-search-counter-list {1471  white-space: nowrap;1472  flex-shrink: 0;1473}1474.peach-list-empty {1475  min-height: 180px;1476  display: grid;1477  place-items: center;1478  color: var(--peach-t2);1479  font-family: "IBM Plex Mono", monospace;1480  font-size: 11px;1481}14821483/* ── Settings view ───────────────────────────────────────────────────── */1484.peach-settings-body {1485  flex: 1;1486  overflow-y: auto;1487  min-height: 0;1488  display: flex;1489  flex-direction: column;1490  padding: 2px 0 10px;1491}1492.peach-settings-group {1493  padding: 9px 16px 11px;1494  border-bottom: 1px solid var(--peach-t3);1495}1496.peach-export-intro {1497  padding-bottom: 8px;1498}1499.peach-export-card {1500  display: grid;1501  gap: 10px;1502}1503.peach-export-card--primary {1504  background:1505    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1506}1507.peach-export-card-head {1508  display: flex;1509  align-items: center;1510  justify-content: space-between;1511  gap: 10px;1512}1513.peach-export-card-copy {1514  margin: 0;1515  font-size: 12px;1516  line-height: 1.55;1517  color: var(--peach-t1);1518}1519.peach-export-note {1520  margin: 0;1521  font-size: 10px;1522  line-height: 1.5;1523  color: var(--peach-t2);1524}1525.peach-export-pill {1526  display: inline-flex;1527  align-items: center;1528  padding: 4px 8px;1529  border-radius: 999px;1530  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1531  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1532  color: var(--peach-accent);1533  font-family: "IBM Plex Mono", monospace;1534  font-size: 8px;1535  letter-spacing: 0.12em;1536  text-transform: uppercase;1537  white-space: nowrap;1538}1539.peach-export-pill--danger {1540  border-color: rgba(220,80,60,0.22);1541  background: rgba(220,80,60,0.08);1542  color: var(--peach-breach);1543}1544.peach-export-password-stack {1545  gap: 8px;1546}1547.peach-settings-label {1548  margin: 0 0 6px;1549  font-family: "IBM Plex Mono", monospace;1550  font-size: 8px;1551  text-transform: uppercase;1552  letter-spacing: 0.18em;1553  color: var(--peach-t2);1554}1555.peach-settings-row {1556  display: flex;1557  align-items: center;1558  justify-content: space-between;1559  gap: 12px;1560  min-height: 34px;1561  padding: 6px 0;1562  font-size: 13px;1563  color: var(--peach-t1);1564}1565.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1566.peach-settings-value {1567  font-family: "IBM Plex Mono", monospace;1568  font-size: 10px;1569  color: var(--peach-t2);1570}15711572.peach-settings-value--status {1573  display: flex;1574  align-items: center;1575  gap: 6px;1576}15771578.peach-settings-link {1579  font-family: "IBM Plex Mono", monospace;1580  font-size: 10px;1581  color: var(--peach-accent);1582  text-decoration: none;1583  cursor: pointer;1584}1585.peach-settings-link:hover {1586  text-decoration: underline;1587}15881589.peach-settings-row--stack {1590  flex-direction: column;1591  align-items: stretch;1592  gap: 6px;1593}15941595.peach-settings-row--top {1596  align-items: flex-start;1597}15981599.peach-settings-row-main {1600  display: flex;1601  flex-direction: column;1602  gap: 4px;1603  flex: 1;1604}1605.peach-toggle {1606  width: 28px; height: 16px;1607  border-radius: 999px;1608  background: var(--peach-t3);1609  border: 1px solid var(--peach-t3);1610  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1611  flex-shrink: 0;1612  transition: background 200ms ease, border-color 200ms ease;1613  cursor: pointer;1614}1615.peach-toggle.is-on {1616  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1617  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1618}1619.peach-toggle-knob {1620  width: 10px; height: 10px;1621  border-radius: 50%;1622  background: var(--peach-t2);1623  flex-shrink: 0;1624  transform: translateX(0px);1625  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1626}1627.peach-toggle.is-on .peach-toggle-knob {1628  background: var(--peach-accent);1629  transform: translateX(12px);1630}1631.peach-settings-footer {1632  display: flex;1633  align-items: center;1634  gap: 8px;1635  margin-top: auto;1636  padding: 14px 16px 8px;1637  font-family: "IBM Plex Mono", monospace;1638  font-size: 9px;1639  color: var(--peach-t2);1640}16411642.peach-passkey-badge {1643  margin-left: 8px;1644  font-size: 10px;1645  letter-spacing: 0.06em;1646  text-transform: uppercase;1647  color: var(--peach-t2);1648  font-family: var(--font-ui);1649  vertical-align: middle;1650}16511652.peach-passkey-delete-btn {1653  color: var(--peach-breach);1654  border-color: rgba(229, 85, 85, 0.25);1655}16561657.peach-passkey-delete-confirm {1658  display: flex;1659  align-items: center;1660  gap: 8px;1661  padding: 8px 10px;1662  background: rgba(229, 85, 85, 0.06);1663  border: 1px solid rgba(229, 85, 85, 0.2);1664  border-radius: 6px;1665}16661667.peach-passkey-delete-confirm-copy {1668  flex: 1;1669  font-size: 11px;1670  color: var(--peach-t1);1671}16721673.peach-passkey-delete-btn--confirm {1674  color: var(--peach-breach);1675  border-color: rgba(229, 85, 85, 0.4);1676}16771678.peach-passkey-activity {1679  flex-direction: column;1680  align-items: flex-start;1681  gap: 4px;1682}16831684.peach-passkey-meta {1685  font-size: 11px;1686  color: var(--peach-t2);1687}16881689.peach-passkey-actions {1690  position: relative;1691  z-index: 1;1692  margin-top: 14px;1693  display: flex;1694  flex-direction: column;1695  gap: 8px;1696}16971698.peach-passkey-approval {1699  display: flex;1700  flex-direction: column;1701  align-items: center;1702  padding: 28px 22px 22px;1703  gap: 14px;1704  text-align: center;1705}17061707.peach-passkey-approval-icon {1708  width: 46px;1709  height: 46px;1710  border-radius: 12px;1711  background: var(--peach-s2);1712  border: 1px solid var(--peach-t3);1713  display: flex;1714  align-items: center;1715  justify-content: center;1716  flex-shrink: 0;1717  color: var(--peach-accent);1718}17191720.peach-passkey-approval-icon img,1721.peach-passkey-approval-icon svg {1722  width: 28px;1723  height: 28px;1724  border-radius: 6px;1725}17261727.peach-passkey-approval-rp {1728  font-family: var(--font-ui);1729  font-size: 12px;1730  color: var(--peach-t2);1731  letter-spacing: 0.03em;1732}17331734.peach-passkey-approval-action {1735  font-family: var(--font-display);1736  font-style: italic;1737  font-weight: 300;1738  font-size: 26px;1739  color: var(--peach-t0);1740  line-height: 1;1741}17421743.peach-passkey-approval-user {1744  font-family: var(--font-mono);1745  font-size: 11px;1746  color: var(--peach-t1);1747  background: var(--peach-s2);1748  border: 1px solid var(--peach-t3);1749  border-radius: 4px;1750  padding: 3px 8px;1751}17521753.peach-passkey-approval-notice {1754  font-size: 10px;1755  color: var(--peach-t2);1756  line-height: 1.5;1757  max-width: 220px;1758}17591760.peach-passkey-approval-actions {1761  display: flex;1762  gap: 8px;1763  width: 100%;1764  margin-top: 6px;1765}17661767.peach-passkey-approval-actions .peach-btn {1768  flex: 1;1769}17701771/* ── Inline generator drawer ── */1772.peach-generator-drawer {1773  display: grid;1774  grid-template-rows: 0fr;1775  transition: grid-template-rows 320ms var(--peach-curve-arrival);1776  overflow: hidden;1777}1778.peach-generator-drawer.is-open {1779  grid-template-rows: 1fr;1780}1781.peach-generator-drawer-inner {1782  min-height: 0;1783  overflow: hidden;1784}1785.peach-generator-drawer-content {1786  border-top: 1px solid var(--peach-t3);1787  padding: 8px 0 4px;1788  display: flex;1789  flex-direction: column;1790  gap: 8px;1791}17921793/* ── Compact generator (inside entry edit) ── */1794.peach-generator-drawer-content--compact {1795  border-top: 1px solid var(--peach-t3);1796  padding: 8px 0 2px;1797  gap: 7px;1798}1799.peach-pwgen-compact-display-row {1800  display: flex;1801  align-items: center;1802  gap: 6px;1803}1804.peach-pwgen-compact-output {1805  flex: 1;1806  min-width: 0;1807  font-family: "IBM Plex Mono", monospace;1808  font-size: 11px;1809  font-weight: 400;1810  letter-spacing: 0.04em;1811  color: var(--peach-t0);1812  background: rgba(240, 232, 216, 0.04);1813  border: 1px solid var(--peach-t3);1814  border-radius: 5px;1815  padding: 5px 8px;1816  word-break: break-all;1817  line-height: 1.5;1818}1819.peach-pwgen-compact-controls {1820  display: flex;1821  align-items: center;1822  gap: 6px;1823}1824.peach-pwgen-compact-slider {1825  flex: 1;1826  min-width: 0;1827  height: 2px !important;1828}1829.peach-pwgen-compact-controls .peach-pwgen-len-num {1830  flex-shrink: 0;1831  min-width: 18px;1832  text-align: right;1833}1834.peach-pwgen-compact-pills {1835  display: flex;1836  gap: 3px;1837  flex-shrink: 0;1838}1839.peach-pwgen-compact-pills .peach-pwgen-pill {1840  padding: 2px 7px;1841  font-size: 8px;1842}1843.peach-pwgen-compact-use {1844  flex-shrink: 0;1845  font-size: 10px !important;1846  padding: 3px 9px !important;1847  min-height: 22px !important;1848  border-radius: 5px !important;1849}18501851/* ── Password edit row (input + eye toggle side-by-side) ── */1852.peach-password-edit-row {1853  display: flex;1854  align-items: center;1855  gap: 6px;1856}1857.peach-password-edit-row .peach-inline-input {1858  flex: 1;1859  min-width: 0;1860}18611862/* ── Generate toggle link ── */1863.peach-generate-toggle-link {1864  display: inline-flex;1865  align-items: center;1866  gap: 5px;1867  background: none;1868  border: none;1869  padding: 0;1870  cursor: pointer;1871  font-family: "IBM Plex Mono", monospace;1872  font-size: 10px;1873  color: var(--peach-t2);1874  letter-spacing: 0.04em;1875  transition: color 120ms ease;1876  align-self: flex-start;1877}1878.peach-generate-toggle-link:hover {1879  color: var(--peach-accent);1880}18811882/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */1883.peach-entry-body {1884  flex: 1;1885  overflow-y: auto;1886  overflow-x: hidden;1887  scrollbar-width: none;1888  -ms-overflow-style: none;1889  overscroll-behavior: contain;1890  display: grid;1891  gap: 10px;1892  align-content: start;1893  padding: 10px 20px 14px;1894  min-width: 0;1895  min-height: 0;1896}1897.peach-entry-body::-webkit-scrollbar { display: none; }18981899/* Type-toggle pills + inline note toolbar */1900.peach-new-type-row {1901  display: flex;1902  align-items: center;1903  gap: 6px;1904  margin-bottom: 2px;1905}1906.peach-new-type-btn {1907  background: transparent;1908  border: 1px solid var(--peach-t3);1909  border-radius: 12px;1910  padding: 3px 10px;1911  font-family: "IBM Plex Mono", monospace;1912  font-size: 9px;1913  letter-spacing: 0.12em;1914  text-transform: uppercase;1915  color: var(--peach-t2);1916  cursor: pointer;1917  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;1918}1919.peach-new-type-btn.is-active {1920  color: var(--peach-t0);1921  border-color: var(--peach-accent);1922  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1923}1924.peach-new-type-btn:not(.is-active):hover {1925  color: var(--peach-t1);1926  border-color: var(--peach-t2);1927}19281929/* Editable title */1930.peach-new-title-wrap { margin: 0 0 2px; }1931.peach-new-title-input {1932  background: transparent;1933  border: none;1934  outline: none;1935  width: 100%;1936  color: var(--peach-t0);1937  font-family: "Cormorant Garamond", Georgia, serif;1938  font-style: italic;1939  font-weight: 400;1940  font-size: 40px;1941  line-height: 0.95;1942  caret-color: var(--peach-accent);1943}1944.peach-new-title-input::placeholder { color: var(--peach-t2); }19451946/* Editable domain field */1947.peach-domain-value--edit {1948  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1949  font-size: 10px;1950  font-style: italic;1951  letter-spacing: 0.12em;1952  color: var(--peach-t1);1953  background: transparent;1954  border: none;1955  border-bottom: 1px solid var(--peach-t3);1956  outline: none;1957  width: 100%;1958  padding: 2px 0;1959  caret-color: var(--peach-accent);1960  transition: border-color 140ms ease, color 140ms ease;1961}1962.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }1963.peach-domain-value--edit:focus {1964  border-bottom-color: rgba(240, 232, 216, 0.28);1965  color: var(--peach-t0);1966}19671968/* Editable field values (username, password, totp) */1969.peach-field-value--edit {1970  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;1971  font-size: 13px;1972  color: var(--peach-t0);1973  background: transparent;1974  border: none;1975  border-bottom: 1px solid var(--peach-t3);1976  outline: none;1977  flex: 1;1978  min-width: 0;1979  padding: 3px 0;1980  caret-color: var(--peach-accent);1981  transition: border-color 140ms ease, color 140ms ease;1982}1983.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }1984.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }1985.peach-field-value--edit:focus {1986  border-bottom-color: rgba(240, 232, 216, 0.28);1987  color: var(--peach-t0);1988}19891990/* "+ add optional field" links */1991.peach-entry-add-links {1992  display: flex;1993  gap: 12px;1994  flex-wrap: wrap;1995  margin-top: -2px;1996}1997.peach-add-field-link {1998  background: transparent;1999  border: none;2000  padding: 0;2001  cursor: pointer;2002  font-family: "IBM Plex Mono", monospace;2003  font-size: 9px;2004  letter-spacing: 0.1em;2005  text-transform: uppercase;2006  color: var(--peach-t2);2007  transition: color 140ms ease;2008}2009.peach-add-field-link:hover { color: var(--peach-accent); }20102011/* ── New entry form (legacy classes) ────────────────────────────────── */2012.peach-new-body {2013  flex: 1;2014  overflow-y: auto;2015  padding: 10px 20px 14px;2016}2017.peach-new-name-input {2018  background: transparent;2019  border: none;2020  outline: none;2021  width: 100%;2022  color: var(--peach-t0);2023  font-family: "Cormorant Garamond", Georgia, serif;2024  font-style: italic;2025  font-weight: 400;2026  font-size: 40px;2027  line-height: 0.95;2028  caret-color: var(--peach-accent);2029}2030.peach-new-name-input::placeholder { color: var(--peach-t2); }2031.peach-new-field-input {2032  background: transparent;2033  border: none;2034  outline: none;2035  flex: 1;2036  min-width: 0;2037  caret-color: var(--peach-accent);2038}2039.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }20402041/* ── Canary card ── */2042.peach-canary-card {2043  border: 1px solid rgba(217, 160, 48, 0.2);2044  background: rgba(217, 160, 48, 0.03);2045  border-radius: 8px;2046  padding: 12px;2047}20482049.peach-canary-settings-header {2050  display: flex;2051  align-items: center;2052  justify-content: space-between;2053  cursor: pointer;2054  user-select: none;2055}20562057.peach-canary-card .peach-label {2058  color: rgba(217, 160, 48, 0.85);2059}20602061.peach-canary-card .peach-new-field-input {2062  border-color: rgba(217, 160, 48, 0.25);2063}20642065.peach-canary-card .peach-new-field-input:focus {2066  border-color: rgba(217, 160, 48, 0.5);2067}20682069.peach-canary-body {2070  margin-top: 12px;2071  display: flex;2072  flex-direction: column;2073  gap: 10px;2074}20752076.peach-canary-explainer {2077  display: flex;2078  gap: 10px;2079  padding: 10px 12px;2080  border-radius: 10px;2081  background: rgba(217, 160, 48, 0.06);2082  border: 1px solid rgba(217, 160, 48, 0.22);2083  margin-bottom: 4px;2084}20852086.peach-canary-explainer-icon {2087  font-size: 16px;2088  flex-shrink: 0;2089  line-height: 1.2;2090}20912092.peach-canary-explainer-title {2093  font-family: var(--font-ui);2094  font-size: 11px;2095  font-weight: 500;2096  color: rgba(217, 160, 48, 0.9);2097  margin: 0 0 3px;2098}20992100.peach-canary-explainer-copy {2101  font-family: var(--font-ui);2102  font-size: 10px;2103  color: var(--peach-t2);2104  line-height: 1.55;2105  margin: 0;2106}21072108.peach-canary-hint {2109  font-size: 10px;2110  color: var(--peach-t2);2111  font-family: Inter, system-ui, sans-serif;2112  line-height: 1.5;2113  margin-top: 4px;2114}21152116.peach-canary-actions-row {2117  display: flex;2118  align-items: center;2119  gap: 8px;2120}21212122.peach-canary-test-btn {2123  border-color: rgba(217, 160, 48, 0.3);2124  color: rgba(217, 160, 48, 0.85);2125}21262127.peach-canary-test-result {2128  font-size: 10px;2129  font-family: Inter, system-ui, sans-serif;2130}21312132.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2133.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }21342135.peach-canary-badge {2136  display: flex;2137  position: relative;2138  z-index: 1;2139  align-items: center;2140  gap: 5px;2141  padding: 4px 10px;2142  background: rgba(217, 160, 48, 0.12);2143  border: 1px solid rgba(217, 160, 48, 0.35);2144  border-radius: 6px;2145  margin-bottom: 6px;2146  width: fit-content;2147}21482149.peach-canary-badge-label {2150  font-size: 10px;2151  letter-spacing: 0.06em;2152  color: rgba(217, 160, 48, 0.9);2153  font-family: var(--font-ui);2154  text-transform: uppercase;2155}21562157.peach-canary-badge-icon {2158  font-size: 11px;2159}21602161.peach-canary-suppress-row {2162  display: flex;2163  align-items: center;2164  gap: 8px;2165  padding: 6px 10px;2166  background: rgba(217, 160, 48, 0.08);2167  border-radius: 6px;2168  margin-bottom: 8px;2169}21702171.peach-canary-suppress-label {2172  font-size: 11px;2173  color: rgba(217, 160, 48, 0.85);2174  cursor: pointer;2175  font-family: var(--font-ui);2176  letter-spacing: 0.04em;2177}21782179.peach-regen-panel {2180  position: relative;2181  z-index: 1;2182  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2183  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2184  border-radius: 8px;2185  padding: 12px;2186  margin-bottom: 8px;2187}21882189.peach-regen-panel-header {2190  display: flex;2191  align-items: center;2192  justify-content: space-between;2193  margin-bottom: 10px;2194}21952196.peach-regen-panel-title {2197  font-size: 11px;2198  font-weight: 600;2199  letter-spacing: 0.06em;2200  text-transform: uppercase;2201  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2202}22032204.peach-regen-output {2205  background: rgba(0, 0, 0, 0.2);2206  border-radius: 6px;2207  padding: 10px;2208  margin-bottom: 10px;2209  font-family: var(--font-mono);2210  font-size: 13px;2211  word-break: break-all;2212  color: var(--peach-t1);2213}22142215.peach-regen-actions {2216  display: flex;2217  gap: 6px;2218}22192220.peach-regen-actions--spaced {2221  margin-bottom: 8px;2222}22232224.peach-regen-action-grow {2225  flex: 1;2226}22272228.peach-regen-copy-btn {2229  padding: 0 8px;2230}22312232.peach-regen-success {2233  position: relative;2234  z-index: 1;2235  background: rgba(40, 180, 80, 0.1);2236  border: 1px solid rgba(40, 180, 80, 0.3);2237  border-radius: 8px;2238  padding: 10px 12px;2239  margin-bottom: 8px;2240  display: flex;2241  align-items: center;2242  gap: 8px;2243  font-size: 11px;2244  color: rgba(40, 180, 80, 0.9);2245}22462247/* ── Note editor overlay ── */2248.peach-note-editor {2249  position: absolute;2250  inset: 0;2251  z-index: 200;2252  display: flex;2253  flex-direction: column;2254  background:2255    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2256    var(--peach-bg);2257  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2258}22592260.peach-note-editor-header {2261  display: flex;2262  align-items: center;2263  gap: 10px;2264  padding: 14px 16px 10px;2265  border-bottom: 1px solid var(--peach-t3);2266  flex-shrink: 0;2267}22682269.peach-note-editor-back {2270  background: transparent;2271  border: none;2272  cursor: pointer;2273  color: var(--peach-t2);2274  padding: 4px 6px;2275  border-radius: 6px;2276  display: flex;2277  align-items: center;2278  transition: color 120ms ease, background 120ms ease;2279  flex-shrink: 0;2280}2281.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }22822283.peach-note-editor-label {2284  flex: 1;2285  font-family: "Cormorant Garamond", "Times New Roman", serif;2286  font-style: italic;2287  font-size: 15px;2288  color: var(--peach-t1);2289  letter-spacing: 0.02em;2290}22912292.peach-note-editor-save-btn {2293  background: transparent;2294  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2295  border-radius: 8px;2296  color: var(--peach-accent);2297  font-family: "IBM Plex Mono", monospace;2298  font-size: 10px;2299  letter-spacing: 0.06em;2300  text-transform: uppercase;2301  padding: 3px 10px;2302  cursor: pointer;2303  transition: background 120ms ease, border-color 120ms ease;2304}2305.peach-note-editor-save-btn:hover:not(:disabled) {2306  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2307  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2308}2309.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }23102311.peach-note-toolbar {2312  display: flex;2313  align-items: center;2314  gap: 3px;2315  padding: 6px 14px 5px;2316  border-bottom: 1px solid var(--peach-t3);2317  flex-shrink: 0;2318}23192320.peach-note-tool-btn {2321  background: transparent;2322  border: 1px solid transparent;2323  border-radius: 5px;2324  color: var(--peach-t2);2325  font-family: "IBM Plex Mono", monospace;2326  font-size: 10px;2327  letter-spacing: 0.04em;2328  padding: 2px 8px;2329  cursor: pointer;2330  line-height: 1.6;2331  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2332}2333.peach-note-tool-btn:hover {2334  background: var(--peach-t4);2335  color: var(--peach-t0);2336  border-color: var(--peach-t3);2337}23382339.peach-note-tool-icon {2340  padding: 3px 7px;2341  display: inline-flex;2342  align-items: center;2343  justify-content: center;2344}23452346.peach-note-tool-divider {2347  width: 1px;2348  height: 14px;2349  background: var(--peach-t3);2350  margin: 0 4px;2351  flex-shrink: 0;2352}23532354.peach-note-editor-body {2355  flex: 1;2356  overflow-y: auto;2357  padding: 16px 20px 20px;2358  outline: none;2359  font-family: "Cormorant Garamond", "Times New Roman", serif;2360  font-size: 16px;2361  line-height: 1.75;2362  color: var(--peach-t0);2363  scrollbar-width: none;2364  word-break: break-word;2365}2366.peach-note-editor-body:empty::before {2367  content: "write your note…";2368  color: var(--peach-t3);2369  font-style: italic;2370  pointer-events: none;2371}23722373/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2374.peach-note-editor-inline {2375  display: flex;2376  flex-direction: column;2377  flex: 1;2378  min-height: 0;2379}2380.peach-note-editor-body--inline {2381  flex: 1;2382  min-height: 0;2383  font-size: 15px;2384  padding: 10px 20px 14px;2385}23862387/* Full-width toolbar row inside the body (Add.tsx note type).2388   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2389.peach-note-toolbar-body {2390  display: flex;2391  align-items: center;2392  gap: 3px;2393  padding: 5px 20px 4px;2394  margin: 2px -20px 0;2395  border-bottom: 1px solid var(--peach-t3);2396  flex-shrink: 0;2397}23982399/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2400   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2401   and .peach-note-tool-divider button-level styles. */2402.peach-note-toolbar-inline {2403  display: flex;2404  align-items: center;2405  gap: 3px;2406  margin-left: auto;2407  padding-left: 10px;2408  border-left: 1px solid var(--peach-t3);2409  min-height: 22px;2410}24112412/* Entry.tsx toolbar row (no tabs, toolbar only) */2413.peach-entry-note-toolbar-row {2414  display: flex;2415  align-items: center;2416  margin: 4px 0 6px;2417  position: relative;2418  z-index: 1;2419}2420.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2421  border-left: none;2422  padding-left: 0;2423  margin-left: 0;2424}24252426/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2427.peach-note-body {2428  display: flex;2429  flex-direction: column;2430  flex: 1;2431  min-height: 0;2432  margin: 4px 0 0;2433}2434.peach-entry-body--new .peach-note-body {2435  margin: 8px -20px 0;2436}24372438/* Add.tsx body is a grid by default; swap to a flex column when a note is2439   active so the note body can stretch and pin the tags row to the bottom. */2440.peach-entry-body--new:has(.peach-note-body) {2441  display: flex;2442  flex-direction: column;2443}24442445/* Rich content element styles (editor + display) */2446.peach-note-editor-body h2,2447.peach-note-content h2 {2448  font-family: "Cormorant Garamond", serif;2449  font-size: 20px;2450  font-weight: 600;2451  font-style: italic;2452  color: var(--peach-t0);2453  margin: 6px 0 2px;2454  line-height: 1.3;2455}2456.peach-note-editor-body ul,2457.peach-note-content ul {2458  padding-left: 18px;2459  margin: 3px 0;2460  list-style: disc;2461}2462.peach-note-editor-body ol,2463.peach-note-content ol {2464  padding-left: 18px;2465  margin: 3px 0;2466  list-style: decimal;2467}2468.peach-note-editor-body li,2469.peach-note-content li { margin: 2px 0; }2470.peach-note-editor-body hr,2471.peach-note-content hr {2472  border: none;2473  border-top: 1px solid var(--peach-t3);2474  margin: 10px 0;2475}24762477/* font size elements from execCommand */2478.peach-note-editor-body font[size="1"],2479.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2480.peach-note-editor-body font[size="2"],2481.peach-note-content font[size="2"] { font-size: 13px; }2482.peach-note-editor-body font[size="3"],2483.peach-note-content font[size="3"] { font-size: 16px; }2484.peach-note-editor-body font[size="4"],2485.peach-note-content font[size="4"] { font-size: 20px; }2486.peach-note-editor-body font[size="5"],2487.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }24882489/* bold / italic inside the editor and note display */2490.peach-note-editor-body b, .peach-note-editor-body strong,2491.peach-note-content b, .peach-note-content strong { font-weight: 700; }2492.peach-note-editor-body em, .peach-note-editor-body i,2493.peach-note-content em, .peach-note-content i { font-style: italic; }24942495/* note display — rendered HTML, no pre-wrap */2496.peach-note-content {2497  overflow: auto;2498  max-height: 340px;2499  word-break: break-word;2500}25012502/* ── Note textarea ── */2503.peach-note-textarea {2504  width: 100%;2505  min-height: 180px;2506  max-height: 280px;2507  resize: vertical;2508  background: var(--peach-t4);2509  border: 1px solid var(--peach-t3);2510  border-radius: 8px;2511  padding: 10px 12px;2512  font-family: "IBM Plex Mono", monospace;2513  font-size: 12px;2514  line-height: 1.7;2515  color: var(--peach-t1);2516  outline: none;2517  transition: border-color 150ms ease;2518}25192520.peach-note-textarea:focus {2521  border-color: var(--peach-t2);2522}25232524.peach-note-char-count {2525  font-family: "IBM Plex Mono", monospace;2526  font-size: 9px;2527  color: var(--peach-t3);2528  text-align: right;2529  margin-top: 4px;2530  letter-spacing: 0.1em;2531}25322533/* ── Field input baseline ── */2534.peach-new-field-input {2535  width: 100%;2536  background: transparent;2537  border: none;2538  border-bottom: 1px solid var(--peach-t3);2539  padding: 4px 0;2540  color: var(--peach-t1);2541  font-family: "IBM Plex Mono", monospace;2542  font-size: 13px;2543  outline: none;2544  transition: border-color 150ms ease;2545}25462547.peach-new-field-input:focus {2548  border-bottom-color: var(--peach-t0);2549  color: var(--peach-t0);2550}25512552.peach-new-name-input {2553  width: 100%;2554  background: transparent;2555  border: none;2556  border-bottom: 1px solid var(--peach-t3);2557  padding: 6px 0;2558  font-family: "Cormorant Garamond", Georgia, serif;2559  font-style: italic;2560  font-size: 28px;2561  color: var(--peach-t0);2562  outline: none;2563  transition: border-color 150ms ease;2564}25652566.peach-new-name-input:focus {2567  border-bottom-color: var(--peach-t1);2568}25692570.peach-new-name-input::placeholder {2571  color: var(--peach-t2);2572  font-style: italic;2573}25742575.peach-new-field-input::placeholder {2576  color: var(--peach-t3);2577}25782579/* ── Demo entrance animation ── */2580#hd-shell {2581  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2582}2583@keyframes hd-shell-enter {2584  from { opacity: 0; transform: scale(0.96) translateY(16px); }2585  to   { opacity: 1; transform: scale(1) translateY(0); }2586}25872588/* ── Keyframes ── */2589@keyframes peach-char-enter {2590  from { opacity: 0; transform: translateY(0.22em); }2591  to   { opacity: 1; transform: translateY(0); }2592}2593@keyframes peach-content-enter {2594  from { opacity: 0.96; transform: translateY(4px); }2595  to   { opacity: 1; transform: translateY(0); }2596}2597@keyframes peach-content-exit {2598  from { opacity: 1; transform: translateY(0); }2599  to   { opacity: 0.92; transform: translateY(-3px); }2600}2601@keyframes peach-screen-enter {2602  from { opacity: 0; transform: translateY(14px); }2603  to   { opacity: 1; transform: translateY(0); }2604}2605@keyframes peach-shell-fade-in {2606  from { opacity: 0; }2607  to   { opacity: 1; }2608}2609@keyframes peach-veil-in {2610  from { opacity: 0; }2611  to   { opacity: 1; }2612}2613@keyframes peach-lock-settle {2614  0%   { transform: scale(0.9); }2615  65%  { transform: scale(1.08); }2616  100% { transform: scale(1); }2617}2618@keyframes peach-copy-confirm {2619  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2620  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); }2621}2622@keyframes peach-copy-retreat {2623  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); }2624  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2625}2626@keyframes peach-copy-flood {2627  from { opacity: 0; transform: scaleX(0.15); }2628  to   { opacity: 1; transform: scaleX(1); }2629}2630@keyframes peach-copy-icon-settle {2631  from  { transform: scale(0.84); }2632  70%   { transform: scale(1.08); }2633  to    { transform: scale(1); }2634}2635@keyframes peach-copy-sheen-retreat {2636  from { opacity: 1; transform: scaleX(1); }2637  to   { opacity: 0; transform: scaleX(0.15); }2638}2639@keyframes peach-copy-drain {2640  from { width: 100%; }2641  to   { width: 0; }2642}2643@keyframes peach-shake {2644  0%, 100% { transform: translateX(0); }2645  20%      { transform: translateX(-6px); }2646  40%      { transform: translateX(6px); }2647  60%      { transform: translateX(-4px); }2648  80%      { transform: translateX(4px); }2649}26502651@keyframes pip-pulse {2652  0% { transform: scale(1); }2653  40% { transform: scale(2.2); }2654  100% { transform: scale(1); }2655}265626572658/* ── Password generator ── */2659.peach-pwgen-body {2660  flex: 1; overflow-y: auto;2661  display: flex; flex-direction: column;2662}2663.peach-policy-badge {2664  display: flex; align-items: center;2665  padding: 6px 20px 0;2666  font-size: 10px; font-family: Inter, sans-serif;2667  color: var(--peach-t2); letter-spacing: 0.04em;2668}2669.peach-pwgen-display {2670  padding: 14px 20px 12px;2671  border-bottom: 1px solid var(--peach-t3);2672  display: flex; align-items: flex-start; gap: 10px;2673}2674.peach-pwgen-display-row {2675  display: flex;2676  align-items: flex-start;2677  gap: 8px;2678  padding-bottom: 8px;2679  border-bottom: 1px solid var(--peach-t3);2680}2681.peach-pwgen-output {2682  flex: 1; min-width: 0; margin: 0;2683  font-family: "IBM Plex Mono", monospace;2684  font-size: 13px; color: var(--peach-t0);2685  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;2686  white-space: normal;2687  padding: 10px 12px;2688  background: var(--peach-t4);2689  border-radius: 6px;2690  min-height: 36px;2691}2692.peach-pwgen-output-display {2693  flex: 1;2694  min-width: 0;2695  margin: 0;2696  font-family: "Cormorant Garamond", "Times New Roman", serif;2697  font-style: italic;2698  font-weight: 300;2699  font-size: 32px;2700  line-height: 1.05;2701  color: var(--peach-t0);2702  word-break: break-all;2703  overflow-wrap: break-word;2704  white-space: normal;2705  letter-spacing: 0.02em;2706}2707.peach-pwgen-display-actions {2708  display: flex;2709  flex-direction: column;2710  gap: 4px;2711  flex-shrink: 0;2712  margin-top: 2px;2713}2714.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }2715.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }2716.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }2717.peach-pwgen-len-num {2718  font-family: "IBM Plex Mono", monospace;2719  font-size: 12px; color: var(--peach-accent);2720}2721.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }2722.peach-pwgen-toggles { display: flex; flex-direction: column; }2723.peach-pwgen-charset-pills {2724  display: flex;2725  gap: 6px;2726  flex-wrap: wrap;2727}2728.peach-pwgen-pill {2729  padding: 4px 11px;2730  border-radius: 999px;2731  border: 1px solid var(--peach-t3);2732  background: transparent;2733  color: var(--peach-t2);2734  font-family: "IBM Plex Mono", monospace;2735  font-size: 9px;2736  letter-spacing: 0.08em;2737  cursor: pointer;2738  transition: all 150ms ease;2739}2740.peach-pwgen-pill.is-on {2741  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);2742  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2743  color: var(--peach-accent);2744}2745.peach-pwgen-pill:not(.is-on):hover {2746  color: var(--peach-t1);2747  border-color: var(--peach-t2);2748}2749.peach-pwgen-use-btn {2750  width: 100%;2751  min-height: 34px;2752  border-radius: 8px;2753  margin-top: 2px;2754}2755.peach-pwgen-toggle-row {2756  display: flex; align-items: center; justify-content: space-between;2757  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);2758}2759.peach-pwgen-toggle-row:last-child { border-bottom: none; }2760.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }27612762.peach-screen-prelock {2763  z-index: 10;2764}27652766.prelock-form {2767  display: grid;2768  gap: 12px;2769}27702771/* Peach popup should not expose native scrollbars on internal panels. */2772.peach-settings-body,2773.peach-new-body,2774.peach-pwgen-body,2775.lock-screen,2776.peach-import-preview {2777  scrollbar-width: none;2778  -ms-overflow-style: none;2779  overscroll-behavior: contain;2780}2781.peach-settings-body::-webkit-scrollbar,2782.peach-new-body::-webkit-scrollbar,2783.peach-pwgen-body::-webkit-scrollbar,2784.lock-screen::-webkit-scrollbar,2785.peach-import-preview::-webkit-scrollbar {2786  width: 0;2787  height: 0;2788  display: none;2789}27902791.lock-screen {2792  height: 100%;2793  min-height: 100%;2794  overflow-y: auto;2795  padding: 18px 18px 16px;2796  gap: 14px;2797  grid-template-rows: auto auto auto 1fr auto;2798  align-content: stretch;2799  position: relative;2800  isolation: isolate;2801}2802.peach-screen.lock-screen--vault-stage {2803  display: flex;2804  flex-direction: column;2805  justify-content: flex-start;2806  gap: 18px;2807  padding: 20px 18px 18px;2808  overflow: hidden;2809}2810.peach-screen.lock-screen--vault-stage .peach-lock-panel {2811  margin-top: auto;2812}2813.lock-screen--onboarding {2814  display: flex;2815  flex-direction: column;2816  gap: 12px;2817  justify-content: flex-start;2818}28192820.lock-screen::before {2821  content: "";2822  position: absolute;2823  inset: 12px 18px auto auto;2824  width: 160px;2825  height: 160px;2826  border-radius: 999px;2827  background:2828    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%);2829  filter: blur(6px);2830  opacity: 0.7;2831  pointer-events: none;2832  z-index: 0;2833}28342835.lock-screen-header {2836  display: flex;2837  align-items: center;2838  justify-content: space-between;2839  position: relative;2840  z-index: 1;2841}28422843.lock-password-input.shake {2844  animation: peach-shake 300ms ease-in-out;2845}28462847.peach-hint-error {2848  color: rgba(220, 80, 60, 0.92);2849}28502851.peach-onboarding-headline {2852  margin: 0;2853  font-family: "Cormorant Garamond", "Times New Roman", serif;2854  font-size: 35px;2855  line-height: 0.88;2856  font-style: italic;2857  font-weight: 400;2858  max-width: 252px;2859}28602861.peach-lock-copy {2862  display: grid;2863  gap: 8px;2864  position: relative;2865  z-index: 1;2866}28672868.peach-lock-copy--onboarding {2869  gap: 10px;2870}28712872.peach-lock-hero {2873  position: relative;2874  z-index: 1;2875  display: grid;2876  gap: 8px;2877  min-height: 0;2878  padding: 4px 2px 0;2879  border: none;2880  border-radius: 0;2881  background: transparent;2882  box-shadow: none;2883}2884.peach-lock-hero-art {2885  position: absolute;2886  right: -8px;2887  top: -6px;2888  width: 120px;2889  height: 120px;2890  display: flex;2891  align-items: center;2892  justify-content: center;2893  pointer-events: none;2894  opacity: 0.12;2895  filter: saturate(0.9);2896}2897.peach-lock-hero-mark {2898  width: 100%;2899  height: 100%;2900}2901.peach-lock-hero-mark path:first-child {2902  fill: color-mix(in srgb, var(--peach-accent) 92%, transparent);2903}2904.peach-lock-hero-mark path:nth-child(2),2905.peach-lock-hero-mark path:nth-child(3) {2906  stroke: rgba(123, 144, 96, 0.88);2907  fill: rgba(123, 144, 96, 0.88);2908}2909.peach-lock-hero > *:not(.peach-lock-hero-art) {2910  position: relative;2911  z-index: 1;2912}29132914.peach-lock-eyebrow {2915  display: inline-flex;2916  align-items: center;2917  width: fit-content;2918  padding: 4px 9px;2919  border-radius: 999px;2920  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);2921  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2922  color: var(--peach-t0);2923  font-family: "IBM Plex Mono", monospace;2924  font-size: 8px;2925  letter-spacing: 0.18em;2926  text-transform: uppercase;2927}29282929.peach-lock-label-row {2930  display: flex;2931  align-items: center;2932  justify-content: space-between;2933  margin-bottom: 0;2934}29352936.peach-lock-reveal-btn {2937  display: inline-flex;2938  align-items: center;2939  gap: 4px;2940  background: none;2941  border: none;2942  cursor: pointer;2943  font-family: "IBM Plex Mono", monospace;2944  font-size: 9px;2945  letter-spacing: 0.06em;2946  color: var(--peach-t2);2947  padding: 2px 0;2948  transition: color 150ms ease;2949}29502951.peach-lock-reveal-btn:hover {2952  color: var(--peach-t1);2953}29542955.peach-lock-warning {2956  color: rgba(220, 80, 60, 0.85) !important;2957  line-height: 1.5;2958}29592960.peach-onboarding-cards {2961  display: grid;2962  gap: 8px;2963  position: relative;2964  z-index: 1;2965}29662967.peach-lock-panel {2968  position: relative;2969  z-index: 1;2970  display: grid;2971  gap: 9px;2972  padding: 14px 16px 15px;2973  border-radius: 18px;2974  border: 1px solid var(--peach-t3);2975  background:2976    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));2977  box-shadow:2978    inset 0 1px 0 rgba(240, 232, 216, 0.04),2979    0 12px 28px rgba(0, 0, 0, 0.12);2980}29812982.peach-lock-panel--secondary {2983  gap: 12px;2984}29852986.peach-lock-panel-header {2987  display: flex;2988  align-items: baseline;2989  justify-content: space-between;2990  gap: 12px;2991}29922993.peach-lock-option-grid {2994  display: grid;2995  gap: 10px;2996}29972998.peach-lock-option {2999  width: 100%;3000  display: grid;3001  gap: 6px;3002  padding: 14px 15px;3003  border-radius: 16px;3004  border: 1px solid rgba(240, 232, 216, 0.08);3005  background: rgba(240, 232, 216, 0.02);3006  color: var(--peach-t0);3007  text-align: left;3008  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3009}30103011.peach-lock-option:hover {3012  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3013  background: rgba(240, 232, 216, 0.04);3014  transform: translateY(-1px);3015}30163017.peach-lock-option-title {3018  font-size: 12px;3019  color: var(--peach-t0);3020}30213022.peach-lock-option-copy {3023  font-size: 11px;3024  line-height: 1.55;3025  color: var(--peach-t1);3026}30273028.peach-onboarding-stack {3029  margin-top: 2px;3030}3031.peach-lock-panel-footer {3032  display: grid;3033  gap: 6px;3034  margin-top: 2px;3035  padding-top: 10px;3036  border-top: 1px solid rgba(240, 232, 216, 0.06);3037}30383039/* Restore picker panel — method option cards */3040.peach-lock-panel--restore {3041  gap: 10px;3042}3043.peach-lock-option--history {3044  border-color: rgba(240, 232, 216, 0.06);3045  opacity: 0.85;3046}30473048/* Snapshot restore panel */3049.peach-snapshot-panel {3050  gap: 10px;3051  overflow-y: auto;3052  max-height: 340px;3053}3054.peach-snapshot-list {3055  display: flex;3056  flex-direction: column;3057  gap: 4px;3058}3059.peach-snapshot-row {3060  display: flex;3061  align-items: center;3062  justify-content: space-between;3063  width: 100%;3064  padding: 8px 10px;3065  border-radius: 8px;3066  border: 1px solid rgba(240, 232, 216, 0.07);3067  background: transparent;3068  cursor: pointer;3069  transition: border-color 120ms, background 120ms;3070  text-align: left;3071  gap: 8px;3072}3073.peach-snapshot-row:hover {3074  border-color: rgba(240, 232, 216, 0.14);3075  background: rgba(240, 232, 216, 0.03);3076}3077.peach-snapshot-row.is-selected {3078  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3079  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3080}3081.peach-snapshot-time {3082  font-size: 11.5px;3083  color: var(--peach-t0);3084  flex: 1;3085}3086.peach-snapshot-count {3087  font-family: "IBM Plex Mono", monospace;3088  font-size: 10px;3089  color: var(--peach-t2);3090  flex-shrink: 0;3091}3092.peach-snapshot-confirm {3093  display: flex;3094  flex-direction: column;3095  gap: 8px;3096  padding-top: 10px;3097  border-top: 1px solid rgba(240, 232, 216, 0.06);3098}3099.peach-snapshot-warning {3100  display: flex;3101  align-items: flex-start;3102  gap: 6px;3103  font-size: 10.5px;3104  color: rgba(220, 80, 60, 0.85);3105  line-height: 1.55;3106}3107.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3108.peach-snapshot-confirm-row {3109  display: flex;3110  gap: 6px;3111  align-items: center;3112}3113.peach-snapshot-restore-btn {3114  width: 100%;3115}3116.peach-lock-hero--unlock .peach-lock-hero-art {3117  width: 112px;3118  height: 112px;3119  right: 0;3120  top: 2px;3121  opacity: 0.1;3122}31233124.peach-card {3125  border: 1px solid var(--peach-t3);3126  border-radius: 18px;3127  background:3128    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3129  box-shadow:3130    inset 0 1px 0 rgba(240, 232, 216, 0.04),3131    0 12px 32px rgba(0, 0, 0, 0.14);3132  overflow: hidden;3133}31343135.peach-card-active {3136  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3137  box-shadow:3138    inset 0 1px 0 rgba(240, 232, 216, 0.05),3139    0 16px 38px rgba(0, 0, 0, 0.18),3140    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3141}31423143.peach-card-disabled {3144  opacity: 0.72;3145}31463147.peach-card-header {3148  width: 100%;3149  padding: 13px 16px 11px;3150  background: transparent;3151  color: var(--peach-t0);3152  display: flex;3153  justify-content: space-between;3154  align-items: center;3155  text-align: left;3156  font-size: 12px;3157}31583159.peach-card-body {3160  padding: 0 16px 16px;3161  display: grid;3162  gap: 9px;3163}31643165.peach-card-tag {3166  color: var(--peach-t2);3167  font-family: "IBM Plex Mono", monospace;3168  font-size: 9px;3169  letter-spacing: 0.12em;3170  text-transform: uppercase;3171}31723173.peach-empty-copy {3174  display: grid;3175  gap: 6px;3176  color: var(--peach-t1);3177  font-size: 13px;3178}31793180.peach-lock-submit {3181  width: 100%;3182  box-shadow: 0 14px 36px color-mix(in srgb, var(--peach-accent) 22%, transparent);3183}31843185.peach-lock-secondary {3186  width: 100%;3187  border-color: var(--peach-t3);3188  background: rgba(240, 232, 216, 0.02);3189}31903191.peach-lock-secondary:hover {3192  background: rgba(240, 232, 216, 0.04);3193}31943195.peach-lock-note {3196  max-width: none;3197  line-height: 1.55;3198  margin: 0;3199}32003201.peach-overlay-action {3202  font-size: 10px;3203  padding: 4px 8px;3204  letter-spacing: 0.06em;3205  min-width: 44px;3206  text-align: center;3207}32083209.peach-overlay-spacer {3210  width: 32px;3211}32123213.peach-inline-action {3214  flex-shrink: 0;3215  font-size: 9px;3216  letter-spacing: 0.1em;3217  text-transform: uppercase;3218  padding: 4px 7px;3219}3220.peach-password-toggle-btn {3221  display: inline-flex;3222  align-items: center;3223  justify-content: center;3224  min-width: 30px;3225  min-height: 26px;3226  padding: 0 7px;3227  border: 1px solid var(--peach-t3);3228  border-radius: 999px;3229  background: rgba(240, 232, 216, 0.04);3230  color: var(--peach-t2);3231  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3232}3233.peach-password-toggle-btn:hover {3234  border-color: var(--peach-t2);3235  color: var(--peach-t0);3236  background: rgba(240, 232, 216, 0.06);3237}32383239.peach-new-textarea {3240  width: 100%;3241  min-height: 88px;3242  resize: vertical;3243  border: 0;3244  outline: none;3245  background: transparent;3246  color: var(--peach-t1);3247  font-family: "IBM Plex Mono", monospace;3248  font-size: 12px;3249  line-height: 1.65;3250  caret-color: var(--peach-accent);3251}32523253.peach-new-textarea::placeholder {3254  color: var(--peach-t2);3255  opacity: 0.7;3256}32573258.peach-settings-actions {3259  display: grid;3260  gap: 8px;3261}32623263.peach-sync-section-label {3264  font-size: 11px;3265  color: var(--peach-t2);3266  text-transform: uppercase;3267  letter-spacing: 0.05em;3268}32693270.peach-sync-device-row {3271  display: flex;3272  justify-content: space-between;3273  align-items: center;3274  padding: 6px 0;3275  border-bottom: 1px solid var(--peach-t3);3276}32773278.peach-sync-device-info {3279  display: flex;3280  flex-direction: column;3281  gap: 2px;3282}32833284.peach-sync-device-name {3285  font-size: 13px;3286  color: var(--peach-t0);3287}32883289.peach-sync-device-meta {3290  font-size: 11px;3291  color: var(--peach-t2);3292}32933294.peach-sync-status-dot {3295  display: inline-block;3296  width: 8px;3297  height: 8px;3298  border-radius: 50%;3299  vertical-align: middle;3300}33013302.peach-sync-remove-btn {3303  color: var(--peach-breach);3304}33053306.peach-import-preview {3307  margin-bottom: 12px;3308  max-height: 152px;3309  overflow-y: auto;3310  border: 1px solid var(--peach-t3);3311  border-radius: 10px;3312  padding: 8px 10px;3313  display: grid;3314  gap: 8px;3315  background: rgba(240, 232, 216, 0.02);3316}33173318.peach-import-preview-row {3319  display: flex;3320  justify-content: space-between;3321  gap: 10px;3322  font-size: 11px;3323  color: var(--peach-t1);3324}33253326.peach-import-preview-title {3327  color: var(--peach-t0);3328  flex: 1;3329  min-width: 0;3330  overflow: hidden;3331  text-overflow: ellipsis;3332  white-space: nowrap;3333}33343335.peach-import-preview-meta {3336  color: var(--peach-t2);3337  flex-shrink: 0;3338  max-width: 42%;3339  overflow: hidden;3340  text-overflow: ellipsis;3341  white-space: nowrap;3342}33433344.peach-import-preview-more {3345  color: var(--peach-t2);3346  font-size: 10px;3347}33483349.peach-restore-copy {3350  margin: 0;3351  color: var(--peach-t1);3352  font-size: 11px;3353  line-height: 1.6;3354}33553356.peach-restore-warning {3357  padding: 10px 12px;3358  border-radius: 12px;3359  border: 1px solid rgba(220, 80, 60, 0.22);3360  background: rgba(220, 80, 60, 0.08);3361  color: rgba(240, 232, 216, 0.86);3362  font-size: 11px;3363  line-height: 1.55;3364}33653366.peach-provider-chips {3367  display: flex;3368  flex-wrap: wrap;3369  gap: 6px;3370}33713372.peach-provider-chip {3373  display: inline-flex;3374  align-items: center;3375  padding: 5px 8px;3376  border-radius: 999px;3377  border: 1px solid var(--peach-t3);3378  background: rgba(240, 232, 216, 0.02);3379  color: var(--peach-t1);3380  font-family: "IBM Plex Mono", monospace;3381  font-size: 8px;3382  letter-spacing: 0.08em;3383  text-transform: uppercase;3384}33853386.peach-restore-file,3387.peach-restore-input {3388  width: 100%;3389  border-radius: 10px;3390  border: 1px solid var(--peach-t3);3391  background: var(--peach-s2);3392  color: var(--peach-t0);3393  font-size: 12px;3394}33953396.peach-restore-file {3397  padding: 9px 10px;3398}33993400.peach-restore-file::file-selector-button {3401  margin-right: 10px;3402  padding: 7px 10px;3403  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3404  border-radius: 999px;3405  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3406  color: var(--peach-t0);3407  font-size: 10px;3408  letter-spacing: 0.08em;3409  text-transform: uppercase;3410  cursor: pointer;3411}34123413.peach-restore-input {3414  padding: 10px 12px;3415}34163417.peach-auth-grid {3418  display: grid;3419  gap: 10px;3420}34213422.peach-import-summary {3423  color: var(--peach-t1);3424  font-size: 12px;3425  line-height: 1.6;3426  margin-bottom: 12px;3427}34283429.peach-restore-error {3430  color: rgba(220, 80, 60, 0.95);3431  font-size: 12px;3432  line-height: 1.55;3433}34343435.peach-cjk-qr-panel {3436  margin-top: 14px;3437  padding: 12px;3438  border-radius: 16px;3439  border: 1px solid var(--peach-t3);3440  background: rgba(240, 232, 216, 0.02);3441  display: grid;3442  gap: 10px;3443}34443445.peach-cjk-qr-frame {3446  display: grid;3447  place-items: center;3448  min-height: 212px;3449  border-radius: 14px;3450  background: #fff;3451  overflow: hidden;3452}34533454.peach-cjk-qr-frame svg {3455  display: block;3456  width: 196px;3457  height: 196px;3458}34593460.peach-cjk-qr-error,3461.peach-cjk-qr-caption {3462  color: var(--peach-t1);3463  font-size: 11px;3464  line-height: 1.55;3465}34663467.peach-cjk-qr-card {3468  max-width: 400px;3469  margin: auto;3470}34713472.peach-cjk-qr-body {3473  padding: 0 20px 20px;3474  text-align: center;3475}34763477.peach-cjk-qr-hint {3478  font-size: 11px;3479  color: var(--peach-t2);3480  margin: 0 0 14px;3481}34823483.peach-cjk-qr-image {3484  border-radius: 4px;3485  display: block;3486  margin: 0 auto;3487  width: 100%;3488  max-width: 320px;3489  height: auto;3490}34913492.peach-pro-badge {3493  padding: 2px 6px;3494  border-radius: 999px;3495  font-family: var(--font-ui);3496  font-size: 10px;3497  letter-spacing: 0.08em;3498  text-transform: uppercase;3499  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3500  color: var(--peach-accent);3501}35023503.peach-loading {3504  position: absolute;3505  inset: 0;3506  display: flex;3507  align-items: center;3508  justify-content: center;3509  background: var(--bg);3510  animation: peach-loading-pulse 1.2s ease-in-out infinite;3511}35123513@keyframes peach-loading-pulse {3514  0%, 100% { opacity: 0.6; }3515  50% { opacity: 1; }3516}35173518/* ── Health Dashboard ─────────────────────────────────────────────────── */3519.peach-health-body {3520  flex: 1;3521  overflow-y: auto;3522  display: flex;3523  flex-direction: column;3524}35253526.peach-health-summary {3527  padding: 10px 16px 6px;3528  font-family: "IBM Plex Mono", monospace;3529  font-size: 11px;3530}3531.peach-health-summary-warn { color: rgba(220,80,60,0.9); }3532.peach-health-summary-ok { color: var(--peach-t2); }35333534.peach-health-check-row {3535  padding: 0 16px 10px;3536}3537.peach-health-check-btn {3538  width: 100%;3539  display: flex;3540  align-items: center;3541  justify-content: center;3542}35433544.peach-health-sections {3545  flex: 1;3546  display: flex;3547  flex-direction: column;3548}35493550.peach-health-section {3551  border-bottom: 1px solid var(--peach-t3);3552}35533554.peach-health-section-header {3555  width: 100%;3556  display: flex;3557  align-items: center;3558  justify-content: space-between;3559  padding: 9px 16px;3560  background: transparent;3561  cursor: pointer;3562  color: var(--peach-t0);3563}35643565.peach-health-section-title-row {3566  display: flex;3567  align-items: center;3568  gap: 8px;3569}35703571.peach-health-count-badge {3572  display: inline-flex;3573  align-items: center;3574  justify-content: center;3575  min-width: 20px;3576  height: 18px;3577  padding: 0 5px;3578  border-radius: 999px;3579  background: rgba(220,80,60,0.15);3580  border: 1px solid rgba(220,80,60,0.25);3581  font-family: "IBM Plex Mono", monospace;3582  font-size: 9px;3583  color: rgba(220,80,60,0.9);3584}35853586.peach-health-section-title {3587  font-family: "IBM Plex Mono", monospace;3588  font-size: 11px;3589  text-transform: uppercase;3590  letter-spacing: 0.1em;3591  color: var(--peach-t1);3592}35933594.peach-health-chevron {3595  color: var(--peach-t2);3596  transition: transform 200ms ease;3597  flex-shrink: 0;3598}3599.peach-health-chevron.is-expanded {3600  transform: rotate(180deg);3601}36023603.peach-health-section-body {3604  padding: 0 16px 10px;3605  display: flex;3606  flex-direction: column;3607  gap: 4px;3608}36093610.peach-health-row {3611  display: flex;3612  align-items: flex-start;3613  justify-content: space-between;3614  gap: 8px;3615  padding: 6px 8px;3616  border-radius: 8px;3617  background: rgba(240,232,216,0.02);3618}36193620.peach-health-row-info {3621  flex: 1;3622  min-width: 0;3623  display: flex;3624  flex-direction: column;3625  gap: 2px;3626}36273628.peach-health-row-name {3629  font-family: "Cormorant Garamond", serif;3630  font-size: 15px;3631  font-style: italic;3632  font-weight: 400;3633  color: var(--peach-t0);3634  white-space: nowrap;3635  overflow: hidden;3636  text-overflow: ellipsis;3637}36383639.peach-health-row-meta {3640  font-family: "IBM Plex Mono", monospace;3641  font-size: 9px;3642  color: var(--peach-t2);3643  letter-spacing: 0.05em;3644}36453646.peach-health-fix-btn {3647  font-size: 9px;3648  letter-spacing: 0.08em;3649  text-transform: uppercase;3650  padding: 4px 7px;3651  flex-shrink: 0;3652  display: flex;3653  align-items: center;3654}36553656.peach-health-empty {3657  font-family: "IBM Plex Mono", monospace;3658  font-size: 10px;3659  color: var(--peach-t2);3660  padding: 6px 0;3661}36623663.peach-health-loading {3664  font-family: "IBM Plex Mono", monospace;3665  font-size: 10px;3666  color: var(--peach-t2);3667  padding: 6px 0;3668  display: flex;3669  align-items: center;3670  gap: 6px;3671}36723673.peach-health-loading::before {3674  content: "";3675  width: 10px;3676  height: 10px;3677  border: 1.5px solid var(--peach-t3);3678  border-top-color: var(--peach-accent);3679  border-radius: 50%;3680  animation: peach-spin 600ms linear infinite;3681}36823683@keyframes peach-spin {3684  to { transform: rotate(360deg); }3685}36863687.peach-spinner {3688  width: 32px;3689  height: 32px;3690  border: 2px solid var(--peach-s2);3691  border-top-color: var(--peach-accent);3692  border-radius: 50%;3693  margin: 0 auto 16px;3694  animation: peach-spin 0.8s linear infinite;3695}36963697.peach-progress-screen {3698  text-align: center;3699  padding: 32px 16px;3700}37013702.peach-progress-screen-title {3703  font-size: 13px;3704  color: var(--peach-t0);3705  margin-bottom: 16px;3706}37073708.peach-progress-screen-stage {3709  font-size: 11px;3710  color: var(--peach-t2);3711  min-height: 14px;3712}37133714.peach-progress-screen-note {3715  font-size: 10px;3716  color: var(--peach-t2);3717  margin-top: 8px;3718}37193720.peach-pairing-body {3721  flex: 1;3722  overflow-y: auto;3723  display: flex;3724  flex-direction: column;3725}37263727.peach-pairing-content {3728  flex: 1;3729  display: flex;3730  flex-direction: column;3731  align-items: center;3732  justify-content: center;3733  gap: 14px;3734  padding: 28px 20px;3735  text-align: center;3736}37373738.peach-pairing-headline {3739  font-family: var(--font-display);3740  font-style: italic;3741  font-weight: 300;3742  font-size: 28px;3743  color: var(--peach-t0);3744  margin: 0;3745  line-height: 1;3746}37473748.peach-pairing-subline {3749  font-size: 12px;3750  color: var(--peach-t2);3751  max-width: 220px;3752  line-height: 1.5;3753  margin: 0;3754}37553756.peach-pairing-subline--center {3757  text-align: center;3758}37593760.peach-pairing-code-display {3761  display: flex;3762  gap: 6px;3763}37643765.peach-pairing-code-digit {3766  display: flex;3767  align-items: center;3768  justify-content: center;3769  width: 36px;3770  height: 48px;3771  background: var(--peach-s2);3772  border: 1px solid var(--peach-t3);3773  border-radius: 6px;3774  font-family: var(--font-mono);3775  font-size: 22px;3776  color: var(--peach-t0);3777  letter-spacing: 0;3778}37793780.peach-pairing-countdown-ring {3781  position: relative;3782  display: inline-flex;3783  align-items: center;3784  justify-content: center;3785}37863787.peach-pairing-countdown-num {3788  position: absolute;3789  font-family: var(--font-mono);3790  font-size: 14px;3791  color: var(--peach-t1);3792}37933794.peach-pairing-ring-track {3795  fill: none;3796  stroke: var(--peach-t3);3797  stroke-width: 2;3798}37993800.peach-pairing-ring-progress {3801  fill: none;3802  stroke: var(--peach-accent);3803  stroke-width: 2;3804  stroke-linecap: round;3805  transform: rotate(-90deg);3806  transform-origin: 50% 50%;3807  transition: stroke-dashoffset 0.5s linear;3808}38093810.peach-pairing-code-inputs {3811  display: flex;3812  gap: 8px;3813}38143815.peach-pairing-code-box {3816  width: 36px;3817  height: 48px;3818  text-align: center;3819  background: var(--peach-s2);3820  border: 1px solid var(--peach-t3);3821  border-radius: 6px;3822  font-family: var(--font-mono);3823  font-size: 20px;3824  color: var(--peach-t0);3825  outline: none;3826  transition: border-color 120ms ease;3827}38283829.peach-pairing-code-box:focus {3830  border-color: var(--peach-accent);3831}38323833.peach-pairing-code-box.has-error {3834  border-color: rgba(220, 80, 60, 0.45);3835}38363837.peach-pairing-status {3838  display: flex;3839  align-items: center;3840  gap: 8px;3841  margin: 0;3842  font-size: 12px;3843  color: var(--peach-t1);3844}38453846.peach-pairing-error {3847  margin: 0;3848  font-size: 11px;3849  color: var(--peach-breach);3850}38513852.peach-pairing-error-msg {3853  color: var(--peach-t1);3854}38553856.peach-pairing-spinner {3857  width: 12px;3858  height: 12px;3859  border: 1.5px solid var(--peach-t3);3860  border-top-color: var(--peach-accent);3861  border-radius: 50%;3862  animation: peach-spin 0.8s linear infinite;3863}38643865.peach-pairing-success-icon,3866.peach-pairing-error-icon,3867.peach-pairing-hero {3868  display: inline-flex;3869  align-items: center;3870  justify-content: center;3871}38723873/* Tag chips */3874.peach-tag-chip {3875  display: inline-flex;3876  align-items: center;3877  gap: 4px;3878  padding: 3px 8px;3879  border-radius: 999px;3880  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3881  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3882  color: rgba(240, 232, 216, 0.85);3883  font-family: "IBM Plex Mono", monospace;3884  font-size: 10px;3885  letter-spacing: 0.04em;3886}38873888.peach-tag-chip-remove {3889  background: transparent;3890  border: none;3891  color: inherit;3892  opacity: 0.6;3893  cursor: pointer;3894  padding: 0;3895  font-size: 12px;3896  line-height: 1;3897}38983899.peach-tag-chip-remove:hover {3900  opacity: 1;3901}39023903/* Tag input */3904.peach-tag-input-wrap {3905  border-bottom: 1px solid var(--peach-t3);3906}39073908.peach-tag-suggestions {3909  display: flex;3910  flex-wrap: wrap;3911  gap: 4px;3912  padding: 6px 0;3913}39143915.peach-tag-suggestion {3916  padding: 2px 8px;3917  border-radius: 999px;3918  border: 1px solid var(--peach-t3);3919  background: var(--peach-s2);3920  color: var(--peach-t1);3921  font-family: "IBM Plex Mono", monospace;3922  font-size: 10px;3923  cursor: pointer;3924  transition: border-color 80ms ease, background 80ms ease;3925}39263927.peach-tag-suggestion:hover {3928  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3929  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3930}39313932/* Tag filter strip */3933.peach-tag-filter-strip {3934  border-bottom: 1px solid var(--peach-t3);3935  flex-shrink: 0;3936}39373938.peach-tag-filter-chip {3939  display: inline-flex;3940  align-items: center;3941  padding: 4px 10px;3942  border-radius: 999px;3943  border: 1px solid var(--peach-t3);3944  background: transparent;3945  color: var(--peach-t2);3946  font-family: "IBM Plex Mono", monospace;3947  font-size: 9px;3948  letter-spacing: 0.06em;3949  text-transform: uppercase;3950  cursor: pointer;3951  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;3952  white-space: nowrap;3953}39543955.peach-tag-filter-chip:hover {3956  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3957  color: var(--peach-t1);3958}39593960.peach-tag-filter-chip.is-selected {3961  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3962  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);3963  color: rgba(240, 232, 216, 0.9);3964}39653966/* ─────────────────────────────────────────────────────────────────────────3967   v1.4.12 additions3968   ─────────────────────────────────────────────────────────────────────── */39693970/* Sort bar */3971.peach-sort-bar {3972  display: flex;3973  align-items: center;3974  gap: 4px;3975  padding: 5px 12px;3976  border-bottom: 1px solid var(--peach-t3);3977  flex-shrink: 0;3978  overflow-x: auto;3979  scrollbar-width: none;3980}39813982.peach-sort-btn {3983  padding: 2px 9px;3984  border-radius: 999px;3985  border: 1px solid transparent;3986  background: transparent;3987  color: var(--peach-t2);3988  font-family: "IBM Plex Mono", monospace;3989  font-size: 9px;3990  letter-spacing: 0.07em;3991  text-transform: uppercase;3992  cursor: pointer;3993  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;3994  white-space: nowrap;3995}39963997.peach-sort-btn:hover {3998  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);3999  color: var(--peach-t1);4000}40014002.peach-sort-btn.is-active {4003  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4004  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4005  color: rgba(240, 232, 216, 0.9);4006}40074008.peach-sort-domain-hint {4009  margin-left: auto;4010  font-family: "IBM Plex Mono", monospace;4011  font-size: 9px;4012  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4013  white-space: nowrap;4014  overflow: hidden;4015  text-overflow: ellipsis;4016  max-width: 110px;4017}40184019/* Tab-match badge on entry rows */4020.peach-tab-match-badge {4021  display: inline-block;4022  width: 6px;4023  height: 6px;4024  border-radius: 50%;4025  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4026  margin-left: 5px;4027  vertical-align: middle;4028  flex-shrink: 0;4029  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4030}40314032.peach-entry-row.is-tab-match {4033  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4034  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4035}40364037.peach-entry-row.is-tab-match:hover {4038  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4039}40404041/* Entry list stagger entrance */4042@keyframes peach-entry-fadein {4043  from { opacity: 0; transform: translateY(4px); }4044  to   { opacity: 1; transform: translateY(0); }4045}40464047.peach-vault-list .peach-entry-row {4048  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4049  content-visibility: auto;4050  contain-intrinsic-size: auto 44px;4051}40524053/* Button press micro-interaction */4054.peach-btn:active {4055  transform: scale(0.95);4056  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4057}40584059.peach-sort-btn:active,4060.peach-tag-filter-chip:active {4061  transform: scale(0.93);4062  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4063}40644065/* Password strength bar (Lock view + shared) */4066.peach-password-strength {4067  display: flex;4068  align-items: center;4069  gap: 8px;4070  margin-top: 6px;4071}40724073.peach-strength-bar {4074  flex: 1;4075  height: 3px;4076  border-radius: 2px;4077  background: var(--peach-t3);4078  overflow: hidden;4079}40804081.peach-strength-fill {4082  height: 100%;4083  border-radius: 2px;4084  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4085              background 300ms ease;4086}40874088.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4089.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4090.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4091.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }40924093.peach-strength-label {4094  font-family: "IBM Plex Mono", monospace;4095  font-style: italic;4096  font-size: 9px;4097  font-weight: 300;4098  letter-spacing: 0.06em;4099  color: var(--peach-t2);4100  min-width: 36px;4101  text-align: right;4102}41034104.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4105.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4106.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4107.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }41084109/* Duress form */4110.peach-duress-status {4111  padding: 2px 8px;4112  border-radius: 999px;4113  border: 1px solid var(--peach-t3);4114  font-family: "IBM Plex Mono", monospace;4115  font-size: 9px;4116  letter-spacing: 0.07em;4117  text-transform: uppercase;4118  color: var(--peach-t2);4119  flex-shrink: 0;4120}41214122.peach-duress-status.is-active {4123  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4124  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4125  color: rgba(240, 232, 216, 0.85);4126}41274128.peach-duress-form {4129  padding: 8px 0 4px;4130  display: flex;4131  flex-direction: column;4132  gap: 6px;4133}41344135.peach-duress-form .peach-label {4136  margin-top: 4px;4137}41384139.peach-duress-actions {4140  display: flex;4141  gap: 6px;4142  align-items: center;4143  margin-top: 4px;4144}41454146.peach-duress-actions .peach-btn:first-child {4147  margin-right: auto;4148}41494150/* Improved overlay spring entrance */4151.peach-overlay-view.ov-enter-up {4152  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4153}41544155@keyframes ov-enter-up-spring {4156  from { opacity: 0; transform: translateY(16px) scale(0.98); }4157  to   { opacity: 1; transform: translateY(0) scale(1); }4158}41594160.peach-overlay-view.ov-enter-right {4161  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4162}41634164@keyframes ov-enter-right-spring {4165  from { opacity: 0; transform: translateX(18px) scale(0.98); }4166  to   { opacity: 1; transform: translateX(0) scale(1); }4167}41684169/* ── Onboarding-mode restore screens (CJK phrase / file import) ── */4170/* Used when CJKImportView or MainImportView renders during onboarding4171   (no vault yet). Animates like a lock-screen transition. */4172.peach-lock-view {4173  position: absolute;4174  inset: 0;4175  display: flex;4176  flex-direction: column;4177  background:4178    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4179    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4180    var(--peach-bg);4181  z-index: 2;4182  overflow: hidden;4183  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4184}41854186.peach-lock-view-header {4187  display: flex;4188  align-items: center;4189  justify-content: space-between;4190  padding: 16px 18px 12px;4191  flex-shrink: 0;4192}41934194/* ───────── Settings: auto-lock select ───────── */4195.peach-settings-select {4196  font-family: "IBM Plex Mono", monospace;4197  font-size: 11px;4198  background: transparent;4199  border: 1px solid var(--peach-t3);4200  border-radius: 4px;4201  color: var(--peach-t1);4202  padding: 3px 6px;4203  cursor: pointer;4204  outline: none;4205}4206.peach-settings-select:focus {4207  border-color: var(--peach-accent);4208}42094210/* ───────── Duress status pill (new polished) ───────── */4211.peach-duress-status-pill {4212  font-family: "IBM Plex Mono", monospace;4213  font-size: 9px;4214  text-transform: uppercase;4215  letter-spacing: 0.12em;4216  padding: 2px 8px;4217  border-radius: 12px;4218  background: var(--peach-t3);4219  color: var(--peach-t2);4220  flex-shrink: 0;4221}4222.peach-duress-status-pill.is-active {4223  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4224  color: var(--peach-accent);4225}42264227/* ───────── Entry advanced disclosure (canary) ───────── */4228.peach-entry-advanced {4229  margin-top: 12px;4230  border-top: 1px solid var(--peach-t3);4231  padding-top: 10px;4232  position: relative;4233  z-index: 1;4234}4235.peach-entry-advanced-toggle {4236  display: flex;4237  align-items: center;4238  justify-content: space-between;4239  width: 100%;4240  background: transparent;4241  border: none;4242  cursor: pointer;4243  padding: 0;4244  color: var(--peach-t2);4245}4246.peach-canary-section {4247  margin-top: 10px;4248  display: grid;4249  gap: 6px;4250}42514252/* ───────── Import: merge/replace radio choices ───────── */4253.peach-import-choice {4254  display: flex;4255  align-items: flex-start;4256  gap: 10px;4257  padding: 8px 10px;4258  border: 1px solid var(--peach-t3);4259  border-radius: 10px;4260  cursor: pointer;4261  margin-bottom: 6px;4262  transition: border-color 120ms ease, background 120ms ease;4263}4264.peach-import-choice:hover {4265  border-color: var(--peach-accent);4266}4267.peach-import-choice input[type="radio"] {4268  margin-top: 3px;4269  accent-color: var(--peach-accent);4270  flex-shrink: 0;4271}4272.peach-import-choice-main {4273  display: flex;4274  flex-direction: column;4275  gap: 2px;4276  min-width: 0;4277}4278.peach-import-choice-label {4279  font-size: 12px;4280  color: var(--peach-t0);4281}4282.peach-import-choice-sub {4283  font-size: 11px;4284  color: var(--peach-t2);4285  line-height: 1.5;4286}42874288/* ───────── Export: success confirmation strip ───────── */4289.peach-export-success {4290  display: flex;4291  align-items: flex-start;4292  gap: 10px;4293  padding: 12px;4294  border-radius: 12px;4295  border: 1px solid rgba(150, 175, 110, 0.3);4296  background: rgba(150, 175, 110, 0.08);4297  color: var(--peach-t0);4298  font-size: 12px;4299  line-height: 1.55;4300}4301.peach-export-success-check {4302  color: rgba(150, 175, 110, 0.9);4303  font-size: 14px;4304  flex-shrink: 0;4305}43064307/* ── Trash view ──────────────────────────────────────────────────────── */4308.peach-trash-entry-row {4309  display: flex;4310  align-items: center;4311  justify-content: space-between;4312  gap: 8px;4313  padding: 8px 0;4314  border-bottom: 1px solid var(--peach-t3);4315}4316.peach-trash-entry-row:last-child { border-bottom: none; }4317.peach-trash-entry-info {4318  flex: 1;4319  min-width: 0;4320  display: flex;4321  flex-direction: column;4322  gap: 2px;4323}4324.peach-trash-entry-title {4325  font-size: 12px;4326  color: var(--peach-t1);4327  overflow: hidden;4328  text-overflow: ellipsis;4329  white-space: nowrap;4330}4331.peach-trash-entry-meta {4332  font-family: var(--font-mono);4333  font-size: 9px;4334  color: var(--peach-t2);4335  letter-spacing: 0.06em;4336}4337.peach-trash-entry-actions {4338  display: flex;4339  align-items: center;4340  gap: 4px;4341  flex-shrink: 0;4342}43434344/* ── Settings shortcuts grid ─────────────────────────────────────────── */4345.peach-shortcuts-grid {4346  display: grid;4347  grid-template-columns: auto 1fr;4348  gap: 6px 12px;4349  align-items: center;4350  padding: 4px 0;4351}4352.peach-shortcut-key {4353  font-family: var(--font-mono);4354  font-size: 10px;4355  color: var(--peach-t0);4356  background: var(--peach-t3);4357  border-radius: 4px;4358  padding: 2px 6px;4359  white-space: nowrap;4360  text-align: center;4361}4362.peach-shortcut-desc {4363  font-size: 11px;4364  color: var(--peach-t1);4365}43664367/* ── Sort bar trash button ───────────────────────────────────────────── */4368.peach-sort-trash-btn {4369  display: flex;4370  align-items: center;4371  justify-content: center;4372  padding: 3px 5px;4373  background: transparent;4374  border: none;4375  cursor: pointer;4376  color: var(--peach-t2);4377  border-radius: 4px;4378  transition: color 140ms ease, background 140ms ease;4379}4380.peach-sort-trash-btn:hover {4381  color: var(--peach-t1);4382  background: var(--peach-t3);4383}4384.peach-sort-trash-btn.is-active {4385  color: var(--peach-accent);4386}43874388/* Accent color picker */4389.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }4390.peach-accent-picker {4391  display: flex;4392  flex-wrap: wrap;4393  gap: 7px;4394  padding: 2px 0;4395}4396.peach-accent-swatch {4397  width: 22px;4398  height: 22px;4399  border-radius: 50%;4400  border: 2px solid transparent;4401  cursor: pointer;4402  padding: 0;4403  transition: transform 100ms;4404  outline-offset: 2px;4405}4406.peach-accent-swatch:hover { transform: scale(1.15); }4407.peach-accent-swatch.is-active {4408  border-color: var(--peach-t0);4409  transform: scale(1.1);4410}44114412/* ── Card entry styles ───────────────────────────────────────── */4413.peach-card-number {4414  font-family: var(--peach-mono);4415  letter-spacing: 0.08em;4416}44174418.peach-card-network-badge {4419  font-size: 10px;4420  padding: 1px 5px;4421  border-radius: 4px;4422  border: 0.5px solid var(--peach-border);4423  color: var(--peach-text-dim);4424  margin-left: 6px;4425  vertical-align: middle;4426}44274428.peach-card-expiry-row {4429  display: flex;4430  align-items: center;4431  gap: 8px;4432}44334434.peach-card-expiry-sep {4435  color: var(--peach-text-dim);4436}