popup.css

145.0 KB · raw

1html,2body,3#app,4#pre-lock,5.popup-root {6  width: 320px;7  min-height: 520px;8  height: 520px;9  margin: 0;10}1112body {13  overflow: hidden;14  background: var(--bg);15  color: var(--t0);16  font-family: var(--font-ui);17  font-weight: 300;18  position: relative;19}2021* {22  box-sizing: border-box;23}2425button,26input,27textarea,28select {29  font: inherit;30}3132button {33  border: 0;34}3536#pre-lock {37  position: absolute;38  inset: 0;39  z-index: 10;40}4142#pre-lock[hidden] {43  display: none;44}4546.popup-root {47  position: relative;48  overflow: hidden;49}5051.peach-theme {52  color: var(--peach-t0);53  font-family: var(--font-ui);54  font-weight: 300;55  box-sizing: border-box;56  text-align: left;57}58.peach-theme, .peach-theme * { box-sizing: inherit; }5960.peach-brand-mark {61  width: 14px;62  height: 14px;63  flex-shrink: 0;64}6566.peach-status-pip.is-hidden {67  display: none;68}6970.peach-status-pip.unlocked {71  background: var(--peach-health-ok);72  box-shadow: 0 0 6px rgba(100, 210, 100, 0.6);73}7475.peach-status-pip.pulse {76  animation: pip-pulse 400ms var(--peach-curve-settle) both;77}7879/* Shell */80.peach-shell, .peach-screen {81  background:82    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),83    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),84    var(--peach-bg);85  border: 1px solid var(--peach-t3);86  box-shadow:87    0 2px 8px rgba(0,0,0,0.55),88    0 14px 48px rgba(0,0,0,0.7),89    0 0 0 1px rgba(240,232,216,0.04);90  overflow: hidden;91}92.peach-shell {93  display: grid;94  grid-template-rows: auto 1fr;95  min-height: 520px;96  position: relative;97  isolation: isolate;98}99100.peach-shell[data-surface="extension"] {101  width: min(320px, 100vw);102  border-radius: 0;103  height: 520px;104  max-height: 520px;105  overflow: hidden;106}107108/* ── Lock screen – full-window lock/create stage ── */109.lock-screen--vault-stage {110  display: flex;111  flex-direction: column;112  gap: 18px;113  padding: 20px 18px 18px;114  justify-content: flex-start;115}116.lock-screen--vault-stage .peach-lock-panel {117  margin-top: auto;118}119.peach-lock-headline--unlock {120  max-width: 220px;121}122.peach-lock-hero--unlock {123  padding-top: 14px;124}125.peach-lock-panel--unlock {126  gap: 10px;127}128129.peach-lock-restore-link {130  background: transparent;131  border: none;132  cursor: pointer;133  font-family: var(--font-mono);134  font-size: 10px;135  letter-spacing: 0.08em;136  color: var(--t1);137  padding: 5px 0;138  text-align: left;139  transition: color 150ms ease;140}141142.peach-lock-restore-link:hover {143  color: var(--t0);144}145.peach-shell[data-surface="extension"] .peach-stage {146  min-height: 250px;147}148149/* Screen (unlock) */150.peach-screen {151  width: min(320px, 100vw);152  min-height: 100%;153  height: 100%;154  border-radius: 0;155  padding: 16px 20px 18px;156  display: grid;157  gap: 14px;158}159.peach-screen[data-motion-phase="enter"] {160  animation: peach-screen-enter var(--peach-dur-600) var(--peach-curve-arrival) both;161}162.peach-screen-header { min-height: 20px; }163164/* Wordmark */165.peach-wordmark {166  margin: 0;167  font-family: var(--font-display);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  padding-bottom: 0.12em;300  font-family: var(--font-display);301  font-style: italic; font-weight: 400;302  font-size: 44px; line-height: 0.95;303  color: var(--peach-t0);304  display: -webkit-box;305  -webkit-line-clamp: 2;306  -webkit-box-orient: vertical;307  overflow: hidden;308  text-wrap: balance;309}310.peach-entry-name--lg { font-size: 40px; }311.peach-entry-name--xl { font-size: 34px; line-height: 0.98; }312.peach-entry-name--xxl { font-size: 30px; line-height: 1.02; }313.peach-entry-name-text { display: block; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; padding-bottom: 0.12em; }314315/* Trash icon in entry header */316.peach-entry-trash-btn {317  flex-shrink: 0;318  padding: 4px;319  margin-top: 4px;320  background: transparent;321  border: none;322  cursor: pointer;323  color: var(--peach-t2);324  border-radius: 4px;325  transition: color 140ms ease, background 140ms ease;326  display: flex;327  align-items: center;328  justify-content: center;329}330.peach-entry-trash-btn:hover {331  color: var(--peach-t1);332  background: var(--peach-t3);333}334.peach-entry-trash-confirm {335  display: flex;336  align-items: center;337  gap: 6px;338  flex-shrink: 0;339  margin-top: 6px;340  flex-wrap: nowrap;341}342.peach-entry-trash-confirm-label {343  font-family: var(--font-mono);344  font-size: 9px;345  letter-spacing: 0.1em;346  color: var(--peach-t2);347  white-space: nowrap;348}349.peach-entry-name-button {350  padding: 0;351  background: transparent;352  text-align: left;353  cursor: pointer;354  max-width: 100%;355  overflow: hidden;356  display: block;357}358.peach-entry-name-char {359  display: inline-block;360  white-space: pre;361  opacity: 0;362  transform: translateY(0.22em);363  animation: peach-char-enter 380ms var(--peach-curve-arrival) forwards;364  animation-delay: calc(var(--char-index, 0) * 20ms);365}366367/* Domain */368.peach-domain { border-top: 1px solid var(--peach-t3); padding-top: 9px; }369.peach-domain-row {370  width: 100%; border: 0; background: transparent; color: inherit;371  padding: 0; display: flex; justify-content: space-between; align-items: baseline;372  cursor: default;373}374.peach-domain-value {375  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;376  font-size: 10px; font-style: italic;377  letter-spacing: 0.12em; color: var(--peach-t1);378}379380/* Fields */381.peach-fields { display: grid; gap: 10px; }382.peach-field-card { display: grid; gap: 7px; }383.peach-label {384  font-family: Inter, system-ui, sans-serif;385  text-transform: uppercase; letter-spacing: 0.2em;386  font-size: 8px; color: var(--peach-t2);387}388.peach-field-value-row {389  display: flex; justify-content: space-between;390  align-items: center; gap: 8px;391  min-width: 0;392}393.peach-field-value {394  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;395  font-size: 13px; color: var(--peach-t1);396  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;397  flex: 1;398  min-width: 0;399}400.peach-password-value {401  display: inline-flex;402  align-items: center;403  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;404  font-size: 16px; letter-spacing: 0.3em; color: var(--peach-t0);405  overflow: hidden;406  text-overflow: ellipsis;407  white-space: nowrap;408  flex: 1;409  min-width: 0;410  max-width: 100%;411}412.peach-password-value.is-revealed {413  font-size: 14px;414  letter-spacing: 0.08em;415}416.peach-password-text,417.peach-password-mask {418  display: block;419  width: 100%;420  overflow: hidden;421  white-space: nowrap;422  /* Render as uniform mid-line bullets, not baseline periods */423  font-family: Inter, system-ui, sans-serif;424  font-size: 10px;425  letter-spacing: 3px;426  user-select: none;427}428.peach-field-actions { display: flex; gap: 4px; align-items: center; }429.peach-password-strength { display: flex; align-items: center; gap: 8px; }430.peach-strength-bar { display: flex; gap: 3px; }431.peach-strength-seg { width: 28px; height: 4px; border-radius: 2px; background: #eee; }432.peach-strength-label {433  font-family: "IBM Plex Mono", monospace;434  font-style: italic;435  font-size: 9px;436  font-weight: 300;437  min-width: 36px;438  text-align: right;439  color: var(--peach-t2);440  letter-spacing: 0.06em;441}442443.peach-strength-hairline {444  display: flex;445  align-items: center;446  gap: 10px;447  margin-top: -2px;448}449450.peach-strength-hairline-track {451  flex: 1;452  height: 3px;453  border-radius: 2px;454  background: var(--peach-s2);455  overflow: hidden;456}457458.peach-strength-hairline-fill {459  height: 100%;460  border-radius: 2px;461  transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1),462    background 400ms ease;463}464465/* Note content (display) */466.peach-note-content {467  border-top: 1px solid var(--peach-t3);468  padding-top: 10px;469  font-family: var(--font-display);470  font-size: 15px;471  line-height: 1.75;472  color: var(--peach-t1);473}474475/* ── Inline editing ─────────────────────────────────────────────────── */476477/* Clickable display values */478.peach-inline-clickable {479  cursor: text;480  border-radius: 3px;481  transition: background 150ms ease;482}483.peach-inline-clickable:hover {484  background: rgba(240, 232, 216, 0.05);485}486487/* Subtle "edit" hint that appears on hover */488.peach-inline-edit-hint {489  font-family: Inter, system-ui, sans-serif;490  font-size: 9px;491  text-transform: uppercase;492  letter-spacing: 0.14em;493  color: var(--peach-t2);494  opacity: 0;495  transition: opacity 120ms ease;496  pointer-events: none;497  margin-left: 6px;498  flex-shrink: 0;499}500.peach-domain-row:hover .peach-inline-edit-hint {501  opacity: 1;502}503504/* Title editing */505.peach-inline-title-wrap {506  display: flex;507  flex-direction: column;508  gap: 6px;509}510.peach-inline-title-input {511  font-family: var(--font-display);512  font-style: italic;513  font-weight: 400;514  font-size: 40px;515  line-height: 0.95;516  color: var(--peach-t0);517  background: transparent;518  border: none;519  border-bottom: 1px solid var(--peach-accent);520  outline: none;521  width: 100%;522  padding: 2px 0;523}524525/* Generic inline field */526.peach-inline-field-wrap {527  display: flex;528  flex-direction: column;529  gap: 6px;530}531.peach-inline-input {532  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;533  font-size: 13px;534  color: var(--peach-t0);535  background: transparent;536  border: none;537  border-bottom: 1px solid var(--peach-accent);538  outline: none;539  width: 100%;540  padding: 3px 0;541}542.peach-inline-textarea {543  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;544  font-size: 11px;545  line-height: 1.7;546  color: var(--peach-t0);547  background: rgba(240, 232, 216, 0.04);548  border: 1px solid var(--peach-accent);549  border-radius: 4px;550  outline: none;551  width: 100%;552  padding: 8px;553  resize: vertical;554  min-height: 80px;555}556557/* Save / cancel row */558.peach-inline-actions {559  display: flex;560  gap: 6px;561  align-items: center;562}563.peach-inline-save-btn,564.peach-inline-cancel-btn {565  display: inline-flex;566  align-items: center;567  justify-content: center;568  width: 26px;569  height: 26px;570  border-radius: 4px;571  border: none;572  cursor: pointer;573  transition: background 140ms ease, opacity 140ms ease;574  flex-shrink: 0;575}576.peach-inline-save-btn {577  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.18);578  color: var(--peach-accent);579}580.peach-inline-save-btn:hover:not(:disabled) {581  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.30);582}583.peach-inline-cancel-btn {584  background: rgba(240, 232, 216, 0.06);585  color: var(--peach-t2);586}587.peach-inline-cancel-btn:hover:not(:disabled) {588  background: rgba(240, 232, 216, 0.12);589  color: var(--peach-t1);590}591.peach-inline-save-btn:disabled,592.peach-inline-cancel-btn:disabled {593  opacity: 0.4;594  cursor: not-allowed;595}596597/* Inline password generator wrapper */598.peach-inline-generator-wrap {599  margin-top: 10px;600  padding-top: 10px;601  border-top: 1px solid var(--peach-t3);602  display: flex;603  flex-direction: column;604  gap: 8px;605}606.peach-inline-generator-cancel {607  align-self: flex-start;608  font-size: 11px;609  color: var(--peach-t2);610}611612/* "is-editing" card state */613.peach-field-card.is-editing {614  background: rgba(240, 232, 216, 0.02);615  border-radius: 6px;616  padding: 8px;617  margin: -8px;618}619620/* Inline tag editor on Entry detail view */621.peach-inline-tag-editor {622  display: flex;623  flex-direction: column;624  gap: 6px;625}626627/* Quiet inline "+ add X" link in the entry detail body */628.peach-entry-add-link {629  justify-self: start;630  margin-top: 8px;631}632633/* Additional URLs editor revealed by clicking the URL field */634.peach-additional-urls {635  display: flex;636  flex-direction: column;637  gap: 6px;638  margin-top: 8px;639}640.peach-additional-urls-label {641  font-size: 9px;642  letter-spacing: 0.1em;643  text-transform: uppercase;644  color: var(--peach-t2);645  margin-bottom: 2px;646}647.peach-additional-url-row {648  display: flex;649  align-items: center;650  gap: 6px;651}652.peach-additional-url-row .peach-inline-input { flex: 1; min-width: 0; }653.peach-additional-url-remove {654  background: transparent;655  border: 1px solid var(--peach-t3);656  color: var(--peach-t2);657  width: 22px;658  height: 22px;659  border-radius: 4px;660  cursor: pointer;661  font-size: 14px;662  line-height: 1;663  display: inline-flex;664  align-items: center;665  justify-content: center;666  flex-shrink: 0;667  transition: color 120ms ease, border-color 120ms ease;668}669.peach-additional-url-remove:hover:not(:disabled) {670  color: var(--peach-accent);671  border-color: var(--peach-border-accent);672}673.peach-additional-urls-add { align-self: flex-start; }674675/* Delete row */676.peach-entry-delete-row {677  display: flex;678  align-items: center;679  gap: 8px;680  padding-top: 18px;681  margin-top: 8px;682  border-top: 1px solid var(--peach-t3);683}684.peach-delete-btn {685  font-size: 11px;686  color: var(--peach-t2);687  padding: 4px 0;688}689.peach-delete-confirm-text {690  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;691  font-size: 11px;692  font-style: italic;693  color: var(--peach-t2);694  flex-shrink: 0;695}696697/* TOTP band */698.peach-totp-band {699  border-top: 1px solid var(--peach-t3);700  padding: 12px 20px 14px;701  position: relative;702  display: grid;703  grid-template-columns: 1fr auto;704  gap: 10px;705}706.peach-totp-main {707  min-width: 0;708  cursor: pointer;709  user-select: none;710}711.peach-totp-code.is-copied { opacity: 0.55; transition: opacity 140ms ease; }712.peach-totp-code-row {713  display: flex;714  align-items: flex-end;715  gap: 10px;716  min-width: 0;717}718.peach-totp-code {719  margin: 2px 0 0;720  font-family: var(--font-display);721  font-style: italic;722  font-weight: 300;723  font-size: 38px; color: var(--peach-accent);724  line-height: 0.95; min-height: 1em;725  min-width: 0;726}727.peach-totp-code-text {728  display: inline-flex;729  overflow: hidden;730  text-overflow: ellipsis;731  white-space: nowrap;732}733.peach-totp-copy-btn {734  margin-bottom: 2px;735  flex-shrink: 0;736  border-color: transparent;737}738.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }739.peach-totp-countdown {740  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;741  font-size: 22px; color: var(--peach-t1);742}743.peach-totp-ring { transform: rotate(-90deg); }744.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }745.peach-totp-ring-progress {746  fill: none; stroke: var(--peach-accent); stroke-width: 2;747  stroke-linecap: round;748  transition: stroke-dashoffset 1s linear, stroke 500ms ease;749}750/* Search bar */751.peach-search-wrap {752  border-top: 1px solid var(--peach-t3);753  background: var(--peach-s1);754  min-height: 54px; position: relative;755  box-shadow: inset 0 6px 18px transparent;756  transition: box-shadow 700ms ease;757}758.peach-search-wrap::before {759  content: "";760  position: absolute;761  left: 0;762  top: 0;763  height: 2px;764  width: var(--peach-totp-progress, 0%);765  background: var(--peach-accent);766  opacity: 0;767  transition: width 1s linear, opacity 180ms ease;768  pointer-events: none;769}770.peach-shell[data-totp-active="true"] .peach-search-wrap::before {771  opacity: 0.9;772}773.peach-shell[data-totp-active="true"] .peach-search-wrap {774  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);775}776777@keyframes peach-totp-code-flare {778  0%   { filter: brightness(1); }779  25%  { filter: brightness(1.3); }780  100% { filter: brightness(1); }781}782.peach-totp-code.is-hot {783  animation: peach-totp-code-flare 3000ms ease-in-out both;784}785.peach-search-bar {786  min-height: 54px;787  display: grid;788  grid-template-columns: auto minmax(0, 1fr) auto;789  align-items: center;790  gap: 8px; padding: 0 9px 0 12px;791}792.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }793.peach-search-input {794  border: 0; background: transparent; color: var(--peach-t0);795  font-family: var(--font-display);796  font-style: italic; font-size: 18px;797  outline: none; width: 100%; min-width: 0; padding: 0;798  caret-color: var(--peach-accent);799}800.peach-search-input::placeholder { color: var(--peach-t2); }801.peach-search-meta {802  display: grid;803  grid-auto-flow: column;804  align-items: center;805  justify-content: end;806  gap: 6px;807  min-width: max-content;808}809.peach-search-counter {810  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;811  font-size: 10px; color: var(--peach-t2);812  display: inline-flex;813  align-items: center;814  line-height: 1;815}816.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }817818/* Buttons */819.peach-btn {820  border: 1px solid transparent; border-radius: 12px;821  background: transparent; color: var(--peach-t0);822  font-family: Inter, system-ui, sans-serif;823  font-size: 12px; letter-spacing: 0.02em; padding: 8px 12px;824  cursor: pointer;825  transition:826    background-color var(--peach-dur-80) var(--peach-curve-arrival),827    color var(--peach-dur-80) var(--peach-curve-arrival),828    border-color var(--peach-dur-150) var(--peach-curve-arrival);829}830.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }831.peach-btn:disabled {832  opacity: 0.45;833  cursor: not-allowed;834}835.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 11px; }836.peach-btn--md { min-height: 38px; }837.peach-btn--accent {838  background: var(--peach-accent);839  color: rgba(0,0,0,0.78);840  box-shadow:841    0 1px 0 rgba(255,255,255,0.08) inset,842    0 0 0 1px color-mix(in srgb, var(--peach-accent) 21%, transparent),843    0 3px 16px var(--peach-glow),844    0 0 24px color-mix(in srgb, var(--peach-accent) 10%, transparent);845}846.peach-btn--accent:hover:not(:disabled) {847  background: var(--peach-accent);848  filter: brightness(1.10) saturate(1.05);849  box-shadow:850    0 1px 0 rgba(255,255,255,0.10) inset,851    0 0 0 1px color-mix(in srgb, var(--peach-accent) 25%, transparent),852    0 4px 20px color-mix(in srgb, var(--peach-accent) 21%, transparent),853    0 0 30px color-mix(in srgb, var(--peach-accent) 14%, transparent);854}855.peach-btn--ghost { border-color: var(--peach-t3); color: var(--peach-t1); }856.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }857.peach-icon-btn {858  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;859  display: inline-flex; align-items: center; justify-content: center;860}861862.peach-btn:focus-visible {863  outline: none;864  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);865}866867/* Lock button */868.peach-lock-icon { transform-origin: center; }869.peach-lock-btn.is-locking { color: var(--peach-accent); }870.peach-lock-btn.is-locking .peach-lock-icon {871  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);872}873874/* Copy button */875.peach-copy-btn {876  position: relative; overflow: hidden;877  color: var(--peach-t2); border-color: var(--peach-t3);878}879.peach-copy-icon {880  display: inline-flex; align-items: center; justify-content: center;881  position: relative; z-index: 1;882}883.peach-copy-icon-svg { display: block; }884.peach-copy-sheen {885  position: absolute; inset: 0;886  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%);887  opacity: 0; transform: scaleX(0.15); transform-origin: left center;888}889.peach-copy-btn.is-copied {890  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;891  box-shadow:892    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),893    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),894    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);895}896.peach-copy-btn.is-copied .peach-copy-icon {897  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;898}899.peach-copy-btn.is-copied .peach-copy-sheen {900  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;901}902.peach-copy-btn.is-retreat {903  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;904}905.peach-copy-btn.is-retreat .peach-copy-sheen {906  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;907}908.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }909.peach-copy-drain-bar {910  display: block; width: 100%; height: 100%;911  background: var(--peach-accent); opacity: 0.7;912  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;913}914915/* Unlock screen elements */916.peach-unlock-headline {917  margin: 2px 0 0;918  font-family: var(--font-display);919  font-size: 52px; line-height: 0.95;920  font-style: italic; font-weight: 400;921}922.peach-subline {923  margin: 0;924  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;925  font-size: 10px; color: var(--peach-t2); font-style: italic;926}927.peach-subline--lock {928  max-width: 248px;929  line-height: 1.5;930}931.peach-underline-input {932  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);933  padding: 6px 0; background: transparent; color: var(--peach-t0);934  outline: none;935  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;936  font-size: 13px;937  caret-color: var(--peach-accent);938}939.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }940.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }941.peach-hint {942  margin: 0;943  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;944  font-size: 10px; color: var(--peach-t2);945}946.peach-unlock-footer {947  margin-top: 4px; display: flex; align-items: center; gap: 7px;948  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;949  font-size: 10px; color: var(--peach-t2);950}951.peach-unlock-footer--lock {952  padding-top: 2px;953}954955/* Breach badge */956.peach-breach-badge {957  display: flex;958  position: relative;959  z-index: 1;960  align-items: center;961  gap: 7px;962  font-size: 9px;963  color: var(--peach-breach);964  padding: 5px 10px;965  margin-bottom: 4px;966  border-radius: 8px;967  background: rgba(220, 80, 60, 0.07);968  border: 1px solid rgba(220, 80, 60, 0.18);969  letter-spacing: 0.04em;970}971972.peach-breach-action {973  margin-left: auto;974  font-size: 10px;975  padding: 3px 8px;976}977978.peach-password-value.is-breached {979  color: rgba(220, 80, 60, 0.75);980  border-bottom: 1px solid rgba(220, 80, 60, 0.22);981}982983/* ── Overlay views ─────────────────────────────────────────────────── */984.peach-overlay-view {985  position: absolute;986  inset: 0;987  display: flex;988  flex-direction: column;989  background:990    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),991    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),992    var(--peach-bg);993  z-index: 2;994  overflow: hidden;995  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;996}997@keyframes overlay-in {998  from { opacity: 0; transform: translateY(8px); }999  to   { opacity: 1; transform: translateY(0); }1000}1001.peach-overlay-view.ov-enter-up {1002  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1003}1004.peach-overlay-view.ov-exit-up {1005  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;1006}1007.peach-overlay-view.ov-enter-right {1008  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1009}1010.peach-overlay-view.ov-exit-right {1011  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;1012}10131014@keyframes ov-enter-up {1015  from { opacity: 0; transform: translateY(18px); }1016  to   { opacity: 1; transform: translateY(0); }1017}1018@keyframes ov-exit-up {1019  from { opacity: 1; transform: translateY(0); }1020  to   { opacity: 0; transform: translateY(-12px); }1021}1022@keyframes ov-enter-right {1023  from { opacity: 0; transform: translateX(20px); }1024  to   { opacity: 1; transform: translateX(0); }1025}1026@keyframes ov-exit-right {1027  from { opacity: 1; transform: translateX(0); }1028  to   { opacity: 0; transform: translateX(20px); }1029}10301031/* Overlay shared header */1032.peach-overlay-header {1033  padding: 10px 12px;1034  display: flex;1035  align-items: center;1036  gap: 8px;1037  border-bottom: 1px solid var(--peach-t3);1038  flex-shrink: 0;1039}1040.peach-overlay-title {1041  font-family: "IBM Plex Mono", monospace;1042  font-size: 9px;1043  text-transform: uppercase;1044  letter-spacing: 0.18em;1045  color: var(--peach-t2);1046  flex: 1;1047  text-align: center;1048}10491050.peach-overlay-card {1051  background: var(--peach-s1);1052  border: 1px solid var(--peach-t3);1053  border-radius: 12px;1054  overflow: hidden;1055  width: 100%;1056}10571058.peach-onboarding-alt-actions {1059  display: flex;1060  flex-direction: column;1061  gap: 4px;1062  padding: 0;1063}10641065.peach-settings-copy {1066  margin: 0 0 10px;1067  font-size: 11px;1068  line-height: 1.5;1069  color: var(--peach-t2);1070}10711072.peach-settings-copy strong {1073  color: var(--peach-t0);1074}10751076.peach-settings-copy--spacious {1077  margin-bottom: 12px;1078}10791080.peach-settings-copy--result {1081  color: var(--peach-accent);1082  font-size: 13px;1083  text-align: center;1084  padding: 8px 0;1085}10861087.peach-settings-copy--danger {1088  color: var(--peach-breach);1089}10901091.peach-settings-copy--success {1092  color: var(--peach-accent);1093}10941095.peach-inline-feedback {1096  font-size: 11px;1097  margin: 10px 0 0;1098}10991100.peach-inline-feedback--ok {1101  color: var(--peach-accent);1102}11031104.peach-inline-feedback--error {1105  color: var(--peach-breach);1106}11071108.peach-inline-feedback--muted {1109  color: var(--peach-t2);1110  font-size: 10px;1111  margin: 4px 0;1112}11131114.peach-inline-feedback--spaced {1115  margin-top: 12px;1116}11171118.peach-settings-actions--row {1119  display: flex;1120  gap: 6px;1121}11221123.peach-settings-actions--end {1124  margin-top: 14px;1125  justify-content: flex-end;1126}11271128.peach-settings-stack {1129  display: flex;1130  flex-direction: column;1131  gap: 6px;1132}11331134.peach-settings-stack--tight {1135  gap: 4px;1136}11371138.peach-settings-stack--spacious {1139  gap: 8px;1140}11411142.peach-settings-input {1143  width: 100%;1144  box-sizing: border-box;1145  padding: 8px 10px;1146  background: var(--peach-s2);1147  border: 1px solid var(--peach-t3);1148  border-radius: 6px;1149  color: var(--peach-t0);1150  font-family: var(--font-ui);1151  font-size: 12px;1152  outline: none;1153  transition: border-color 120ms ease;1154}11551156.peach-settings-input:focus {1157  border-color: var(--peach-accent);1158}11591160.peach-settings-input[type="password"] {1161  font-family: var(--font-mono);1162  letter-spacing: 0.04em;1163}11641165.peach-hidden-file-input {1166  display: none;1167}11681169.peach-checkbox-note {1170  display: flex;1171  align-items: flex-start;1172  gap: 8px;1173  font-size: 11px;1174  color: var(--peach-t1);1175  cursor: pointer;1176  margin: 12px 0;1177}11781179.peach-checkbox-note input {1180  margin-top: 1px;1181}11821183.peach-danger-notice {1184  background: rgba(220, 80, 60, 0.08);1185  border: 1px solid rgba(220, 80, 60, 0.2);1186  border-radius: 6px;1187  padding: 9px 11px;1188  font-size: 11px;1189  color: var(--peach-t1);1190  line-height: 1.5;1191}11921193.peach-info-notice {1194  font-size: 11px;1195  color: var(--peach-t1);1196  line-height: 1.5;1197  background: var(--surface-card);1198  border: 1px solid var(--peach-t3);1199  border-radius: 6px;1200  padding: 8px 10px;1201}12021203.peach-info-notice--warn {1204  border-color: rgba(220, 38, 38, 0.4);1205  background: rgba(220, 38, 38, 0.06);1206  color: rgba(220, 38, 38, 0.92);1207  margin-bottom: 8px;1208}12091210.peach-strength-row {1211  display: flex;1212  align-items: center;1213  gap: 8px;1214  margin-bottom: 10px;1215}12161217.peach-strength-track {1218  flex: 1;1219  height: 4px;1220  background: var(--peach-s2);1221  border-radius: 2px;1222  overflow: hidden;1223}12241225.peach-strength-fill {1226  height: 100%;1227  border-radius: 2px;1228  transition: width 120ms ease, background 120ms ease;1229}12301231/* ── Type selector tabs ── */1232.peach-type-tabs {1233  display: flex;1234  gap: 0;1235  background: var(--peach-t4);1236  border-radius: 8px;1237  padding: 3px;1238}12391240.peach-type-tab {1241  flex: 1;1242  display: flex;1243  align-items: center;1244  justify-content: center;1245  gap: 6px;1246  padding: 6px 10px;1247  border-radius: 6px;1248  border: none;1249  background: transparent;1250  cursor: pointer;1251  font-family: Inter, system-ui, sans-serif;1252  font-size: 11px;1253  font-weight: 400;1254  letter-spacing: 0.04em;1255  color: var(--peach-t1);1256  transition: background 150ms ease, color 150ms ease;1257}12581259.peach-type-tab.is-active {1260  background: var(--peach-s2);1261  color: var(--peach-t0);1262  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1263}12641265.peach-type-tab:not(.is-active):hover {1266  color: var(--peach-t0);1267}12681269.peach-type-tab svg {1270  opacity: 0.7;1271  flex-shrink: 0;1272}12731274.peach-type-tab.is-active svg {1275  opacity: 1;1276}12771278/* ── List view ───────────────────────────────────────────────────────── */1279.peach-list-top {1280  padding: 0 10px;1281  min-height: 46px;1282  display: flex;1283  align-items: center;1284  gap: 6px;1285  border-bottom: 1px solid var(--peach-t3);1286  flex-shrink: 0;1287  background: var(--peach-s1);1288}1289.peach-vault-list {1290  flex: 1;1291  overflow-y: auto;1292  scrollbar-width: none;1293}1294.peach-vault-list::-webkit-scrollbar { display: none; }12951296/* Scrollbar — vault list */1297.peach-vault-list {1298  scrollbar-width: thin;1299  scrollbar-color: var(--peach-t3) transparent;1300}13011302.peach-vault-list::-webkit-scrollbar {1303  width: 3px;1304}13051306.peach-vault-list::-webkit-scrollbar-thumb {1307  background: var(--peach-t3);1308  border-radius: 2px;1309}13101311.peach-entry-row {1312  width: 100%;1313  display: flex;1314  align-items: center;1315  gap: 10px;1316  padding: 9px 16px;1317  background: transparent;1318  border: none;1319  border-bottom: 1px solid var(--peach-t3);1320  cursor: pointer;1321  color: inherit;1322  text-align: left;1323  transition: background 80ms ease;1324}1325.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1326.peach-entry-row:last-child { border-bottom: none; }1327.peach-entry-row.is-active {1328  box-shadow: inset 2px 0 0 var(--peach-accent);1329  background: rgba(240,232,216,0.03);1330}1331.peach-entry-row:focus-visible {1332  outline: none;1333  box-shadow: 0 0 0 1px var(--peach-border-accent);1334  background: rgba(240,232,216,0.03);1335}1336.peach-entry-row-icon {1337  width: 26px; height: 26px;1338  border-radius: 7px;1339  border: 1px solid var(--peach-t3);1340  display: flex; align-items: center; justify-content: center;1341  color: var(--peach-t2);1342  flex-shrink: 0;1343}1344.peach-entry-row-icon.is-breach {1345  border-color: rgba(220,80,60,0.3);1346  color: rgba(220,80,60,0.7);1347}1348.peach-entry-row-info { flex: 1; min-width: 0; }1349.peach-entry-row-name {1350  display: block;1351  font-family: var(--font-display);1352  font-size: 17px;1353  font-style: italic;1354  font-weight: 400;1355  color: var(--peach-t0);1356  line-height: 1.2;1357  white-space: nowrap;1358  overflow: hidden;1359  text-overflow: ellipsis;1360}1361.peach-entry-row-meta {1362  display: block;1363  font-family: "IBM Plex Mono", monospace;1364  font-size: 9px;1365  color: var(--peach-t2);1366  margin-top: 1px;1367  letter-spacing: 0.05em;1368}1369.peach-entry-row-dot {1370  width: 5px; height: 5px;1371  border-radius: 50%;1372  background: rgba(220,80,60,0.7);1373  flex-shrink: 0;1374}1375.peach-new-entry-row {1376  display: flex;1377  align-items: center;1378  justify-content: center;1379  gap: 6px;1380  width: 100%;1381  padding: 11px;1382  background: transparent;1383  border: none;1384  border-top: 1px solid var(--peach-t3);1385  color: var(--peach-t2);1386  font-family: "IBM Plex Mono", monospace;1387  font-size: 9px;1388  text-transform: uppercase;1389  letter-spacing: 0.14em;1390  cursor: pointer;1391  flex-shrink: 0;1392  transition: color 120ms ease, background 120ms ease;1393}1394.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13951396/* ── Multi-select mode ─────────────────────────────────────────────── */13971398/* Select-mode trigger button in sort bar — same shape as trash btn */1399.peach-sort-select-btn {1400  display: flex;1401  align-items: center;1402  justify-content: center;1403  padding: 3px 5px;1404  background: transparent;1405  border: none;1406  cursor: pointer;1407  color: var(--peach-t2);1408  border-radius: 4px;1409  transition: color 140ms ease, background 140ms ease;1410}1411.peach-sort-select-btn:hover {1412  color: var(--peach-t1);1413  background: var(--peach-t3);1414}14151416/* Sort bar in select mode */1417.peach-select-cancel-btn {1418  background: transparent;1419  border: none;1420  padding: 0 4px;1421  cursor: pointer;1422  font-family: "IBM Plex Mono", monospace;1423  font-size: 9px;1424  letter-spacing: 0.12em;1425  text-transform: uppercase;1426  color: var(--peach-t2);1427  transition: color 140ms ease;1428  flex-shrink: 0;1429}1430.peach-select-cancel-btn:hover { color: var(--peach-t0); }14311432.peach-select-count-label {1433  flex: 1;1434  text-align: center;1435  font-family: "IBM Plex Mono", monospace;1436  font-size: 9px;1437  letter-spacing: 0.14em;1438  text-transform: uppercase;1439  color: var(--peach-t1);1440}14411442.peach-select-all-btn {1443  background: transparent;1444  border: none;1445  padding: 0 4px;1446  cursor: pointer;1447  font-family: "IBM Plex Mono", monospace;1448  font-size: 9px;1449  letter-spacing: 0.12em;1450  text-transform: uppercase;1451  color: var(--peach-t2);1452  transition: color 140ms ease;1453  flex-shrink: 0;1454}1455.peach-select-all-btn:hover { color: var(--peach-accent); }14561457/* List in select mode */1458.peach-vault-list.is-selecting .peach-entry-row {1459  cursor: default;1460}1461.peach-vault-list.is-selecting .peach-entry-row:hover {1462  background: rgba(240,232,216,0.02);1463}1464.peach-vault-list.is-selecting .peach-entry-row.is-selected {1465  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1466}1467.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1468  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1469}14701471/* Select indicator circles in icon slot */1472.peach-entry-row-icon.is-select-icon {1473  color: var(--peach-t2);1474}1475.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1476  color: var(--peach-accent);1477}14781479/* Delete action bar at bottom (replaces new-entry row) */1480.peach-select-action-bar {1481  display: flex;1482  align-items: center;1483  justify-content: center;1484  gap: 7px;1485  width: 100%;1486  padding: 11px;1487  background: transparent;1488  border: none;1489  border-top: 1px solid var(--peach-t3);1490  color: var(--peach-t1);1491  font-family: "IBM Plex Mono", monospace;1492  font-size: 9px;1493  text-transform: uppercase;1494  letter-spacing: 0.14em;1495  cursor: pointer;1496  flex-shrink: 0;1497  transition: color 120ms ease, background 120ms ease;1498}1499.peach-select-action-bar:not(:disabled):hover {1500  color: var(--peach-t0);1501  background: rgba(220,80,60,0.06);1502}1503.peach-select-action-bar:not(:disabled):hover svg {1504  stroke: rgba(220,80,60,0.8);1505}1506.peach-select-action-bar:disabled,1507.peach-select-action-bar.is-empty {1508  color: var(--peach-t2);1509  cursor: default;1510  opacity: 0.5;1511}1512.peach-search-counter-list {1513  white-space: nowrap;1514  flex-shrink: 0;1515}1516.peach-list-empty {1517  min-height: 180px;1518  display: grid;1519  place-items: center;1520  color: var(--peach-t2);1521  font-family: "IBM Plex Mono", monospace;1522  font-size: 11px;1523}15241525/* ── Settings view ───────────────────────────────────────────────────── */1526.peach-settings-body {1527  flex: 1;1528  overflow-y: auto;1529  min-height: 0;1530  display: flex;1531  flex-direction: column;1532  padding: 2px 0 10px;1533}1534.peach-settings-group {1535  margin: 4px 10px;1536  padding: 9px 14px 11px;1537  border-radius: 12px;1538  border: 1px solid rgba(255, 255, 255, 0.07);1539  background: rgba(26, 20, 16, 0.60);1540  backdrop-filter: blur(10px) saturate(1.3);1541  -webkit-backdrop-filter: blur(10px) saturate(1.3);1542}15431544.peach-settings-group + .peach-settings-group {1545  margin-top: 6px;1546}15471548@supports not (backdrop-filter: blur(1px)) {1549  .peach-settings-group {1550    background: rgba(26, 20, 16, 0.90);1551    border-color: rgba(255, 255, 255, 0.09);1552    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 20px rgba(0, 0, 0, 0.35);1553  }1554}15551556.light .peach-settings-group,1557[data-theme="light"] .peach-settings-group {1558  background: rgba(253, 248, 244, 0.68);1559  border-color: rgba(0, 0, 0, 0.07);1560  backdrop-filter: blur(10px) saturate(1.2);1561  -webkit-backdrop-filter: blur(10px) saturate(1.2);1562}15631564@supports not (backdrop-filter: blur(1px)) {1565  .light .peach-settings-group,1566  [data-theme="light"] .peach-settings-group {1567    background: rgba(253, 248, 244, 0.95);1568    border-color: rgba(0, 0, 0, 0.09);1569  }1570}1571.peach-export-intro {1572  padding-bottom: 8px;1573}1574.peach-export-card {1575  display: grid;1576  gap: 10px;1577}1578.peach-rune-canvas {1579  border-radius: 8px;1580  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, var(--peach-t3));1581  background: #1a1410;1582  flex: 1;1583  align-self: center;1584}1585.peach-script-input {1586  font-family: "PeachScript", monospace;1587  font-size: 11px;1588  line-height: 1.9;1589  letter-spacing: 0.06em;1590  color: var(--peach-t0);1591  background: var(--peach-input-bg, var(--surface-card));1592  border: 1px solid var(--peach-t3);1593  border-radius: 6px;1594  padding: 12px;1595  width: 100%;1596  min-height: 96px;1597  resize: vertical;1598  word-break: break-all;1599}1600.peach-qr-canvas-wrap {1601  display: flex;1602  justify-content: center;1603  padding: 12px 0 6px;1604}1605.peach-qr-canvas-wrap canvas {1606  display: block;1607  background: #ffffff;1608  border-radius: 6px;1609  max-width: 100%;1610  height: auto;1611}1612.peach-csv-warning {1613  background: color-mix(in srgb, var(--peach-breach) 14%, transparent);1614  border: 1px solid color-mix(in srgb, var(--peach-breach) 40%, transparent);1615  color: var(--peach-t0);1616  border-radius: 6px;1617  padding: 10px 12px;1618  margin-bottom: 8px;1619  font-size: 12px;1620  line-height: 1.45;1621}1622.peach-export-card--primary {1623  background:1624    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1625}16261627/* Export menu — distribute the three format cards across the popup. */1628.peach-export-menu {1629  display: flex;1630  flex-direction: column;1631  flex: 1;1632  min-height: 0;1633}1634.peach-export-menu .peach-settings-group {1635  flex: 1;1636  display: flex;1637  flex-direction: column;1638  justify-content: center;1639  gap: 10px;1640}16411642/* Result view — the script-string fills the remaining vertical surface. */1643.peach-export-result-group {1644  flex: 1;1645  display: flex;1646  flex-direction: column;1647  min-height: 0;1648  border-bottom: none;1649}1650.peach-export-result-group .peach-export-card {1651  flex: 1;1652  min-height: 0;1653  display: flex;1654  flex-direction: column;1655  gap: 10px;1656}1657.peach-export-result-group .peach-export-card-copy {1658  flex-shrink: 0;1659}1660.peach-export-result-group .peach-settings-label {1661  flex-shrink: 0;1662}1663.peach-export-result-group button {1664  flex-shrink: 0;1665}1666.peach-export-card-head {1667  display: flex;1668  align-items: center;1669  justify-content: space-between;1670  gap: 10px;1671}1672.peach-export-card-copy {1673  margin: 0;1674  font-size: 12px;1675  line-height: 1.55;1676  color: var(--peach-t1);1677}1678.peach-export-note {1679  margin: 0;1680  font-size: 10px;1681  line-height: 1.5;1682  color: var(--peach-t2);1683}1684.peach-export-pill {1685  display: inline-flex;1686  align-items: center;1687  padding: 4px 8px;1688  border-radius: 999px;1689  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1690  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1691  color: var(--peach-accent);1692  font-family: "IBM Plex Mono", monospace;1693  font-size: 8px;1694  letter-spacing: 0.12em;1695  text-transform: uppercase;1696  white-space: nowrap;1697}1698.peach-export-pill--danger {1699  border-color: rgba(220,80,60,0.22);1700  background: rgba(220,80,60,0.08);1701  color: var(--peach-breach);1702}1703.peach-export-password-stack {1704  gap: 8px;1705}1706.peach-settings-label {1707  margin: 0 0 6px;1708  font-family: "IBM Plex Mono", monospace;1709  font-size: 8px;1710  text-transform: uppercase;1711  letter-spacing: 0.18em;1712  color: var(--peach-t2);1713}1714.peach-settings-row {1715  display: flex;1716  align-items: center;1717  justify-content: space-between;1718  gap: 12px;1719  min-height: 34px;1720  padding: 6px 0;1721  font-size: 13px;1722  color: var(--peach-t1);1723}1724.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1725.peach-settings-value {1726  font-family: "IBM Plex Mono", monospace;1727  font-size: 10px;1728  color: var(--peach-t2);1729}17301731.peach-settings-value--status {1732  display: flex;1733  align-items: center;1734  gap: 6px;1735}17361737.peach-settings-link {1738  font-family: "IBM Plex Mono", monospace;1739  font-size: 10px;1740  color: var(--peach-accent);1741  text-decoration: none;1742  cursor: pointer;1743}1744.peach-settings-link:hover {1745  text-decoration: underline;1746}17471748.peach-settings-row--stack {1749  flex-direction: column;1750  align-items: stretch;1751  gap: 6px;1752}17531754.peach-settings-row--top {1755  align-items: flex-start;1756}17571758.peach-settings-row-main {1759  display: flex;1760  flex-direction: column;1761  gap: 4px;1762  flex: 1;1763}1764.peach-toggle {1765  width: 28px; height: 16px;1766  border-radius: 999px;1767  background: var(--peach-t3);1768  border: 1px solid var(--peach-t3);1769  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1770  flex-shrink: 0;1771  transition: background 200ms ease, border-color 200ms ease;1772  cursor: pointer;1773}1774.peach-toggle.is-on {1775  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1776  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1777}1778.peach-toggle-knob {1779  width: 10px; height: 10px;1780  border-radius: 50%;1781  background: var(--peach-t2);1782  flex-shrink: 0;1783  transform: translateX(0px);1784  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1785}1786.peach-toggle.is-on .peach-toggle-knob {1787  background: var(--peach-accent);1788  transform: translateX(12px);1789}1790.peach-settings-footer {1791  display: flex;1792  align-items: center;1793  gap: 8px;1794  margin-top: auto;1795  padding: 14px 16px 8px;1796  font-family: "IBM Plex Mono", monospace;1797  font-size: 9px;1798  color: var(--peach-t2);1799}18001801/* ── Settings home navigation ──────────────────────────────────────────── */1802.peach-settings-nav-label {1803  margin: 0 0 2px;1804  padding: 12px 16px 4px;1805  font-family: "IBM Plex Mono", monospace;1806  font-size: 8px;1807  text-transform: uppercase;1808  letter-spacing: 0.18em;1809  color: var(--peach-t2);1810}18111812.peach-settings-cat-row {1813  display: flex;1814  align-items: center;1815  gap: 10px;1816  width: 100%;1817  padding: 9px 16px;1818  background: none;1819  border: none;1820  border-bottom: 1px solid var(--peach-t3);1821  cursor: pointer;1822  text-align: left;1823  color: inherit;1824  transition: background var(--peach-dur-80) ease;1825}1826.peach-settings-cat-row:hover {1827  background: var(--peach-t3);1828}1829.peach-settings-cat-row:last-child {1830  border-bottom: none;1831}18321833.peach-settings-cat-icon {1834  width: 28px;1835  height: 28px;1836  border-radius: 7px;1837  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1838  color: var(--peach-accent);1839  display: flex;1840  align-items: center;1841  justify-content: center;1842  flex-shrink: 0;1843}1844/* Light theme: peach-on-cream is too low-contrast — both colors are warm.1845   Darken the icon stroke to ink and bump the bg tint so the icon reads1846   sharply while the cell still feels accent-tinted. */1847.light .peach-settings-cat-icon {1848  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);1849  color: color-mix(in srgb, var(--peach-accent) 50%, var(--peach-t0));1850}18511852.peach-settings-cat-content {1853  flex: 1;1854  display: flex;1855  flex-direction: column;1856  gap: 2px;1857  min-width: 0;1858}18591860.peach-settings-cat-name {1861  font-size: 13px;1862  font-weight: 450;1863  color: var(--peach-t0);1864  line-height: 1.2;1865}18661867.peach-settings-cat-desc {1868  font-size: 10px;1869  color: var(--peach-t2);1870  line-height: 1.3;1871  white-space: nowrap;1872  overflow: hidden;1873  text-overflow: ellipsis;1874}18751876.peach-settings-cat-chevron {1877  color: var(--peach-t2);1878  flex-shrink: 0;1879  opacity: 0.5;1880}18811882/* ── Settings sub-view section labels ──────────────────────────────────── */1883.peach-settings-sub-label {1884  margin: 12px 0 4px;1885  font-family: "IBM Plex Mono", monospace;1886  font-size: 8px;1887  text-transform: uppercase;1888  letter-spacing: 0.18em;1889  color: var(--peach-t2);1890}1891.peach-settings-sub-label:first-child {1892  margin-top: 4px;1893}18941895/* ── Feedback form ──────────────────────────────────────────────────────── */1896.peach-feedback-group {1897  flex: 1;1898  display: flex;1899  flex-direction: column;1900  border-bottom: none;1901}19021903.peach-feedback-intro {1904  margin: 4px 0 14px;1905  font-size: 12px;1906  line-height: 1.55;1907  color: var(--peach-t1);1908}19091910.peach-feedback-chips {1911  display: flex;1912  flex-wrap: wrap;1913  gap: 6px;1914  margin-bottom: 14px;1915}19161917.peach-feedback-chip {1918  padding: 4px 10px;1919  border-radius: 999px;1920  border: 1px solid var(--peach-t3);1921  background: none;1922  color: var(--peach-t2);1923  font-size: 11px;1924  font-family: var(--font-ui);1925  cursor: pointer;1926  transition: border-color var(--peach-dur-80) ease, color var(--peach-dur-80) ease,1927    background var(--peach-dur-80) ease;1928}1929.peach-feedback-chip:hover {1930  border-color: var(--peach-t2);1931  color: var(--peach-t1);1932}1933.peach-feedback-chip.is-active {1934  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);1935  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1936  color: var(--peach-accent);1937}19381939.peach-feedback-textarea {1940  flex: 1;1941  width: 100%;1942  min-height: 120px;1943  box-sizing: border-box;1944  background: var(--peach-t3);1945  border: 1px solid var(--peach-t3);1946  border-radius: 6px;1947  color: var(--peach-t0);1948  font-size: 12px;1949  font-family: var(--font-ui);1950  line-height: 1.5;1951  padding: 8px 10px;1952  resize: none;1953  outline: none;1954  transition: border-color var(--peach-dur-150) ease;1955}1956.peach-feedback-textarea:focus {1957  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1958}1959.peach-feedback-textarea::placeholder {1960  color: var(--peach-t2);1961}19621963.peach-feedback-meta {1964  margin: 6px 0 0;1965  font-size: 10px;1966  color: var(--peach-t2);1967  font-family: "IBM Plex Mono", monospace;1968}19691970.peach-feedback-result {1971  margin: 8px 0 0;1972  font-size: 11px;1973  font-family: "IBM Plex Mono", monospace;1974}1975.peach-feedback-result--ok { color: var(--peach-sync-ok); }1976.peach-feedback-result--err { color: var(--peach-breach); }19771978.peach-feedback-submit {1979  width: 100%;1980  margin-top: 12px;1981  justify-content: center;1982}19831984.peach-feedback-anon {1985  margin: 8px 0 0;1986  font-size: 10px;1987  color: var(--peach-t2);1988  text-align: center;1989}19901991.peach-passkey-badge {1992  margin-left: 8px;1993  font-size: 10px;1994  letter-spacing: 0.06em;1995  text-transform: uppercase;1996  color: var(--peach-t2);1997  font-family: var(--font-ui);1998  vertical-align: middle;1999}20002001.peach-passkey-delete-btn {2002  color: var(--peach-breach);2003  border-color: rgba(229, 85, 85, 0.25);2004}20052006.peach-passkey-delete-confirm {2007  display: flex;2008  align-items: center;2009  gap: 8px;2010  padding: 8px 10px;2011  background: rgba(229, 85, 85, 0.06);2012  border: 1px solid rgba(229, 85, 85, 0.2);2013  border-radius: 6px;2014}20152016.peach-passkey-delete-confirm-copy {2017  flex: 1;2018  font-size: 11px;2019  color: var(--peach-t1);2020}20212022.peach-passkey-delete-btn--confirm {2023  color: var(--peach-breach);2024  border-color: rgba(229, 85, 85, 0.4);2025}20262027.peach-passkey-activity {2028  flex-direction: column;2029  align-items: flex-start;2030  gap: 4px;2031}20322033.peach-passkey-meta {2034  font-size: 11px;2035  color: var(--peach-t2);2036}20372038.peach-passkey-actions {2039  position: relative;2040  z-index: 1;2041  margin-top: 14px;2042  display: flex;2043  flex-direction: column;2044  gap: 8px;2045}20462047.peach-passkey-approval {2048  display: flex;2049  flex-direction: column;2050  align-items: center;2051  padding: 22px 20px 18px;2052  gap: 10px;2053  text-align: center;2054}20552056.peach-passkey-approval-icon {2057  width: 46px;2058  height: 46px;2059  border-radius: 12px;2060  background: var(--peach-s2);2061  border: 1px solid var(--peach-t3);2062  display: flex;2063  align-items: center;2064  justify-content: center;2065  flex-shrink: 0;2066  color: var(--peach-accent);2067}20682069.peach-passkey-approval-icon img,2070.peach-passkey-approval-icon svg {2071  width: 28px;2072  height: 28px;2073  border-radius: 6px;2074}20752076.peach-passkey-approval-rp {2077  font-family: var(--font-ui);2078  font-size: 12px;2079  color: var(--peach-t2);2080  letter-spacing: 0.03em;2081}20822083.peach-passkey-approval-action {2084  font-family: var(--font-display);2085  font-style: italic;2086  font-weight: 300;2087  font-size: 22px;2088  color: var(--peach-t0);2089  line-height: 1.1;2090  margin: 2px 0;2091}20922093.peach-passkey-approval-user {2094  font-family: var(--font-mono);2095  font-size: 11px;2096  color: var(--peach-t1);2097  background: var(--peach-s2);2098  border: 1px solid var(--peach-t3);2099  border-radius: 4px;2100  padding: 3px 8px;2101}21022103.peach-passkey-approval-notice {2104  font-size: 10px;2105  color: var(--peach-t2);2106  line-height: 1.5;2107  max-width: 220px;2108}21092110.peach-passkey-approval-actions {2111  display: flex;2112  gap: 8px;2113  width: 100%;2114  margin-top: 6px;2115}21162117.peach-passkey-approval-actions .peach-btn {2118  flex: 1;2119}21202121/* ── Inline generator drawer ── */2122.peach-generator-drawer {2123  display: grid;2124  grid-template-rows: 0fr;2125  transition: grid-template-rows 320ms var(--peach-curve-arrival);2126  overflow: hidden;2127}2128.peach-generator-drawer.is-open {2129  grid-template-rows: 1fr;2130}2131.peach-generator-drawer-inner {2132  min-height: 0;2133  overflow: hidden;2134}2135.peach-generator-drawer-content {2136  border-top: 1px solid var(--peach-t3);2137  padding: 8px 0 4px;2138  display: flex;2139  flex-direction: column;2140  gap: 8px;2141}21422143/* ── Compact generator (inside entry edit) ── */2144.peach-generator-drawer-content--compact {2145  border-top: 1px solid var(--peach-t3);2146  padding: 8px 0 2px;2147  gap: 7px;2148}2149.peach-pwgen-compact-display-row {2150  display: flex;2151  align-items: center;2152  gap: 6px;2153}2154.peach-pwgen-compact-output {2155  flex: 1;2156  min-width: 0;2157  font-family: "IBM Plex Mono", monospace;2158  font-size: 11px;2159  font-weight: 400;2160  letter-spacing: 0.04em;2161  color: var(--peach-t0);2162  background: rgba(240, 232, 216, 0.04);2163  border: 1px solid var(--peach-t3);2164  border-radius: 5px;2165  padding: 5px 8px;2166  word-break: break-all;2167  line-height: 1.5;2168}2169.peach-pwgen-compact-controls {2170  display: flex;2171  align-items: center;2172  gap: 6px;2173}2174.peach-pwgen-compact-slider {2175  flex: 1;2176  min-width: 0;2177  height: 2px !important;2178}2179.peach-pwgen-compact-controls .peach-pwgen-len-num {2180  flex-shrink: 0;2181  min-width: 18px;2182  text-align: right;2183}2184.peach-pwgen-compact-pills {2185  display: flex;2186  gap: 3px;2187  flex-shrink: 0;2188}2189.peach-pwgen-compact-pills .peach-pwgen-pill {2190  padding: 2px 7px;2191  font-size: 8px;2192}2193.peach-pwgen-compact-use {2194  flex-shrink: 0;2195  font-size: 10px !important;2196  padding: 3px 9px !important;2197  min-height: 22px !important;2198  border-radius: 5px !important;2199}22002201/* ── Password edit row (input + eye toggle side-by-side) ── */2202.peach-password-edit-row {2203  display: flex;2204  align-items: center;2205  gap: 6px;2206}2207.peach-password-edit-row .peach-inline-input {2208  flex: 1;2209  min-width: 0;2210}22112212/* ── Generate toggle link ── */2213.peach-generate-toggle-link {2214  display: inline-flex;2215  align-items: center;2216  gap: 5px;2217  background: none;2218  border: none;2219  padding: 0;2220  cursor: pointer;2221  font-family: "IBM Plex Mono", monospace;2222  font-size: 10px;2223  color: var(--peach-t2);2224  letter-spacing: 0.04em;2225  transition: color 120ms ease;2226  align-self: flex-start;2227}2228.peach-generate-toggle-link:hover {2229  color: var(--peach-accent);2230}22312232/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */2233.peach-entry-body {2234  flex: 1;2235  overflow-y: auto;2236  overflow-x: hidden;2237  scrollbar-width: none;2238  -ms-overflow-style: none;2239  overscroll-behavior: contain;2240  display: grid;2241  gap: 10px;2242  align-content: start;2243  padding: 10px 20px 14px;2244  min-width: 0;2245  min-height: 0;2246}2247.peach-entry-body::-webkit-scrollbar { display: none; }22482249/* Type-toggle pills + inline note toolbar */2250.peach-new-type-row {2251  display: flex;2252  align-items: center;2253  gap: 6px;2254  margin-bottom: 2px;2255}2256.peach-new-type-btn {2257  background: transparent;2258  border: 1px solid var(--peach-t3);2259  border-radius: 12px;2260  padding: 3px 10px;2261  font-family: "IBM Plex Mono", monospace;2262  font-size: 9px;2263  letter-spacing: 0.12em;2264  text-transform: uppercase;2265  color: var(--peach-t2);2266  cursor: pointer;2267  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;2268}2269.peach-new-type-btn.is-active {2270  color: var(--peach-t0);2271  border-color: var(--peach-accent);2272  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2273}2274.peach-new-type-btn:not(.is-active):hover {2275  color: var(--peach-t1);2276  border-color: var(--peach-t2);2277}22782279/* Editable title */2280.peach-new-title-wrap { margin: 0 0 2px; }2281.peach-new-title-input {2282  background: transparent;2283  border: none;2284  outline: none;2285  width: 100%;2286  color: var(--peach-t0);2287  font-family: var(--font-display);2288  font-style: italic;2289  font-weight: 400;2290  font-size: 40px;2291  line-height: 0.95;2292  caret-color: var(--peach-accent);2293}2294.peach-new-title-input::placeholder { color: var(--peach-t2); }22952296/* Editable domain field */2297.peach-domain-value--edit {2298  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2299  font-size: 10px;2300  font-style: italic;2301  letter-spacing: 0.12em;2302  color: var(--peach-t1);2303  background: transparent;2304  border: none;2305  border-bottom: 1px solid var(--peach-t3);2306  outline: none;2307  width: 100%;2308  padding: 2px 0;2309  caret-color: var(--peach-accent);2310  transition: border-color 140ms ease, color 140ms ease;2311}2312.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2313.peach-domain-value--edit:focus {2314  border-bottom-color: rgba(240, 232, 216, 0.28);2315  color: var(--peach-t0);2316}23172318/* Editable field values (username, password, totp) */2319.peach-field-value--edit {2320  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2321  font-size: 13px;2322  color: var(--peach-t0);2323  background: transparent;2324  border: none;2325  border-bottom: 1px solid var(--peach-t3);2326  outline: none;2327  flex: 1;2328  min-width: 0;2329  padding: 3px 0;2330  caret-color: var(--peach-accent);2331  transition: border-color 140ms ease, color 140ms ease;2332}2333.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2334.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2335.peach-field-value--edit:focus {2336  border-bottom-color: rgba(240, 232, 216, 0.28);2337  color: var(--peach-t0);2338}23392340/* "+ add optional field" links */2341.peach-entry-add-links {2342  display: flex;2343  gap: 12px;2344  flex-wrap: wrap;2345  margin-top: -2px;2346}2347.peach-add-field-link {2348  background: transparent;2349  border: none;2350  padding: 0;2351  cursor: pointer;2352  font-family: "IBM Plex Mono", monospace;2353  font-size: 9px;2354  letter-spacing: 0.1em;2355  text-transform: uppercase;2356  color: var(--peach-t2);2357  transition: color 140ms ease;2358}2359.peach-add-field-link:hover { color: var(--peach-accent); }23602361/* ── New entry form (legacy classes) ────────────────────────────────── */2362.peach-new-body {2363  flex: 1;2364  overflow-y: auto;2365  padding: 10px 20px 14px;2366}2367.peach-new-name-input {2368  background: transparent;2369  border: none;2370  outline: none;2371  width: 100%;2372  color: var(--peach-t0);2373  font-family: var(--font-display);2374  font-style: italic;2375  font-weight: 400;2376  font-size: 40px;2377  line-height: 0.95;2378  caret-color: var(--peach-accent);2379}2380.peach-new-name-input::placeholder { color: var(--peach-t2); }2381.peach-new-field-input {2382  background: transparent;2383  border: none;2384  outline: none;2385  flex: 1;2386  min-width: 0;2387  caret-color: var(--peach-accent);2388}2389.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }23902391/* ── Canary card ── */2392.peach-canary-card {2393  border: 1px solid rgba(217, 160, 48, 0.2);2394  background: rgba(217, 160, 48, 0.03);2395  border-radius: 8px;2396  padding: 12px;2397}23982399.peach-canary-settings-header {2400  display: flex;2401  align-items: center;2402  justify-content: space-between;2403  cursor: pointer;2404  user-select: none;2405}24062407.peach-canary-card .peach-label {2408  color: rgba(217, 160, 48, 0.85);2409}24102411.peach-canary-card .peach-new-field-input {2412  border-color: rgba(217, 160, 48, 0.25);2413}24142415.peach-canary-card .peach-new-field-input:focus {2416  border-color: rgba(217, 160, 48, 0.5);2417}24182419.peach-canary-body {2420  margin-top: 12px;2421  display: flex;2422  flex-direction: column;2423  gap: 10px;2424}24252426.peach-canary-explainer {2427  display: flex;2428  gap: 10px;2429  padding: 10px 12px;2430  border-radius: 10px;2431  background: rgba(217, 160, 48, 0.06);2432  border: 1px solid rgba(217, 160, 48, 0.22);2433  margin-bottom: 4px;2434}24352436.peach-canary-explainer-icon {2437  font-size: 16px;2438  flex-shrink: 0;2439  line-height: 1.2;2440}24412442.peach-canary-explainer-title {2443  font-family: var(--font-ui);2444  font-size: 11px;2445  font-weight: 500;2446  color: rgba(217, 160, 48, 0.9);2447  margin: 0 0 3px;2448}24492450.peach-canary-explainer-copy {2451  font-family: var(--font-ui);2452  font-size: 10px;2453  color: var(--peach-t2);2454  line-height: 1.55;2455  margin: 0;2456}24572458.peach-canary-hint {2459  font-size: 10px;2460  color: var(--peach-t2);2461  font-family: Inter, system-ui, sans-serif;2462  line-height: 1.5;2463  margin-top: 4px;2464}24652466.peach-canary-actions-row {2467  display: flex;2468  align-items: center;2469  gap: 8px;2470}24712472.peach-canary-test-btn {2473  border-color: rgba(217, 160, 48, 0.3);2474  color: rgba(217, 160, 48, 0.85);2475}24762477.peach-canary-test-result {2478  font-size: 10px;2479  font-family: Inter, system-ui, sans-serif;2480}24812482.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2483.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }24842485.peach-canary-badge {2486  display: flex;2487  position: relative;2488  z-index: 1;2489  align-items: center;2490  gap: 5px;2491  padding: 4px 10px;2492  background: rgba(217, 160, 48, 0.12);2493  border: 1px solid rgba(217, 160, 48, 0.35);2494  border-radius: 6px;2495  margin-bottom: 6px;2496  width: fit-content;2497}24982499.peach-canary-badge-label {2500  font-size: 10px;2501  letter-spacing: 0.06em;2502  color: rgba(217, 160, 48, 0.9);2503  font-family: var(--font-ui);2504  text-transform: uppercase;2505}25062507.peach-canary-badge-icon {2508  font-size: 11px;2509}25102511.peach-canary-suppress-row {2512  display: flex;2513  align-items: center;2514  gap: 8px;2515  padding: 6px 10px;2516  background: rgba(217, 160, 48, 0.08);2517  border-radius: 6px;2518  margin-bottom: 8px;2519}25202521.peach-canary-suppress-label {2522  font-size: 11px;2523  color: rgba(217, 160, 48, 0.85);2524  cursor: pointer;2525  font-family: var(--font-ui);2526  letter-spacing: 0.04em;2527}25282529.peach-regen-panel {2530  position: relative;2531  z-index: 1;2532  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2533  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2534  border-radius: 8px;2535  padding: 12px;2536  margin-bottom: 8px;2537}25382539.peach-regen-panel-header {2540  display: flex;2541  align-items: center;2542  justify-content: space-between;2543  margin-bottom: 10px;2544}25452546.peach-regen-panel-title {2547  font-size: 11px;2548  font-weight: 600;2549  letter-spacing: 0.06em;2550  text-transform: uppercase;2551  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2552}25532554.peach-regen-output {2555  background: rgba(0, 0, 0, 0.2);2556  border-radius: 6px;2557  padding: 10px;2558  margin-bottom: 10px;2559  font-family: var(--font-mono);2560  font-size: 13px;2561  word-break: break-all;2562  color: var(--peach-t1);2563}25642565.peach-regen-actions {2566  display: flex;2567  gap: 6px;2568}25692570.peach-regen-actions--spaced {2571  margin-bottom: 8px;2572}25732574.peach-regen-action-grow {2575  flex: 1;2576}25772578.peach-regen-copy-btn {2579  padding: 0 8px;2580}25812582.peach-regen-success {2583  position: relative;2584  z-index: 1;2585  background: rgba(40, 180, 80, 0.1);2586  border: 1px solid rgba(40, 180, 80, 0.3);2587  border-radius: 8px;2588  padding: 10px 12px;2589  margin-bottom: 8px;2590  display: flex;2591  align-items: center;2592  gap: 8px;2593  font-size: 11px;2594  color: rgba(40, 180, 80, 0.9);2595}25962597/* ── Note editor overlay ── */2598.peach-note-editor {2599  position: absolute;2600  inset: 0;2601  z-index: 200;2602  display: flex;2603  flex-direction: column;2604  background:2605    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2606    var(--peach-bg);2607  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2608}26092610.peach-note-editor-header {2611  display: flex;2612  align-items: center;2613  gap: 10px;2614  padding: 14px 16px 10px;2615  border-bottom: 1px solid var(--peach-t3);2616  flex-shrink: 0;2617}26182619.peach-note-editor-back {2620  background: transparent;2621  border: none;2622  cursor: pointer;2623  color: var(--peach-t2);2624  padding: 4px 6px;2625  border-radius: 6px;2626  display: flex;2627  align-items: center;2628  transition: color 120ms ease, background 120ms ease;2629  flex-shrink: 0;2630}2631.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }26322633.peach-note-editor-label {2634  flex: 1;2635  font-family: var(--font-display);2636  font-style: italic;2637  font-size: 15px;2638  color: var(--peach-t1);2639  letter-spacing: 0.02em;2640}26412642.peach-note-editor-save-btn {2643  background: transparent;2644  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2645  border-radius: 8px;2646  color: var(--peach-accent);2647  font-family: "IBM Plex Mono", monospace;2648  font-size: 10px;2649  letter-spacing: 0.06em;2650  text-transform: uppercase;2651  padding: 3px 10px;2652  cursor: pointer;2653  transition: background 120ms ease, border-color 120ms ease;2654}2655.peach-note-editor-save-btn:hover:not(:disabled) {2656  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2657  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2658}2659.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }26602661.peach-note-toolbar {2662  display: flex;2663  align-items: center;2664  gap: 3px;2665  padding: 6px 14px 5px;2666  border-bottom: 1px solid var(--peach-t3);2667  flex-shrink: 0;2668}26692670.peach-note-tool-btn {2671  background: transparent;2672  border: 1px solid transparent;2673  border-radius: 5px;2674  color: var(--peach-t2);2675  font-family: "IBM Plex Mono", monospace;2676  font-size: 10px;2677  letter-spacing: 0.04em;2678  padding: 2px 8px;2679  cursor: pointer;2680  line-height: 1.6;2681  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2682}2683.peach-note-tool-btn:hover {2684  background: var(--peach-t4);2685  color: var(--peach-t0);2686  border-color: var(--peach-t3);2687}26882689.peach-note-tool-icon {2690  padding: 3px 7px;2691  display: inline-flex;2692  align-items: center;2693  justify-content: center;2694}26952696.peach-note-tool-divider {2697  width: 1px;2698  height: 14px;2699  background: var(--peach-t3);2700  margin: 0 4px;2701  flex-shrink: 0;2702}27032704.peach-note-editor-body {2705  flex: 1;2706  overflow-y: auto;2707  padding: 16px 20px 20px;2708  outline: none;2709  font-family: var(--font-display);2710  font-size: 16px;2711  line-height: 1.75;2712  color: var(--peach-t0);2713  scrollbar-width: none;2714  word-break: break-word;2715}2716.peach-note-editor-body:empty::before {2717  content: "write your note…";2718  color: var(--peach-t3);2719  font-style: italic;2720  pointer-events: none;2721}27222723/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2724.peach-note-editor-inline {2725  display: flex;2726  flex-direction: column;2727  flex: 1;2728  min-height: 0;2729}2730.peach-note-editor-body--inline {2731  flex: 1;2732  min-height: 0;2733  font-size: 15px;2734  padding: 10px 20px 14px;2735}27362737/* Full-width toolbar row inside the body (Add.tsx note type).2738   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2739.peach-note-toolbar-body {2740  display: flex;2741  align-items: center;2742  gap: 3px;2743  padding: 5px 20px 4px;2744  margin: 2px -20px 0;2745  border-bottom: 1px solid var(--peach-t3);2746  flex-shrink: 0;2747}27482749/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2750   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2751   and .peach-note-tool-divider button-level styles. */2752.peach-note-toolbar-inline {2753  display: flex;2754  align-items: center;2755  gap: 3px;2756  margin-left: auto;2757  padding-left: 10px;2758  border-left: 1px solid var(--peach-t3);2759  min-height: 22px;2760}27612762/* Entry.tsx toolbar row (no tabs, toolbar only) */2763.peach-entry-note-toolbar-row {2764  display: flex;2765  align-items: center;2766  margin: 4px 0 6px;2767  position: relative;2768  z-index: 1;2769}2770.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2771  border-left: none;2772  padding-left: 0;2773  margin-left: 0;2774}27752776/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2777.peach-note-body {2778  display: flex;2779  flex-direction: column;2780  flex: 1;2781  min-height: 0;2782  margin: 4px 0 0;2783}2784.peach-entry-body--new .peach-note-body {2785  margin: 8px -20px 0;2786}27872788/* Add.tsx body is a grid by default; swap to a flex column when a note is2789   active so the note body can stretch and pin the tags row to the bottom. */2790.peach-entry-body--new:has(.peach-note-body) {2791  display: flex;2792  flex-direction: column;2793}27942795/* Rich content element styles (editor + display) */2796.peach-note-editor-body h2,2797.peach-note-content h2 {2798  font-family: var(--font-display);2799  font-size: 20px;2800  font-weight: 600;2801  font-style: italic;2802  color: var(--peach-t0);2803  margin: 6px 0 2px;2804  line-height: 1.3;2805}2806.peach-note-editor-body ul,2807.peach-note-content ul {2808  padding-left: 18px;2809  margin: 3px 0;2810  list-style: disc;2811}2812.peach-note-editor-body ol,2813.peach-note-content ol {2814  padding-left: 18px;2815  margin: 3px 0;2816  list-style: decimal;2817}2818.peach-note-editor-body li,2819.peach-note-content li { margin: 2px 0; }2820.peach-note-editor-body hr,2821.peach-note-content hr {2822  border: none;2823  border-top: 1px solid var(--peach-t3);2824  margin: 10px 0;2825}28262827/* font size elements from execCommand */2828.peach-note-editor-body font[size="1"],2829.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2830.peach-note-editor-body font[size="2"],2831.peach-note-content font[size="2"] { font-size: 13px; }2832.peach-note-editor-body font[size="3"],2833.peach-note-content font[size="3"] { font-size: 16px; }2834.peach-note-editor-body font[size="4"],2835.peach-note-content font[size="4"] { font-size: 20px; }2836.peach-note-editor-body font[size="5"],2837.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }28382839/* bold / italic inside the editor and note display */2840.peach-note-editor-body b, .peach-note-editor-body strong,2841.peach-note-content b, .peach-note-content strong { font-weight: 700; }2842.peach-note-editor-body em, .peach-note-editor-body i,2843.peach-note-content em, .peach-note-content i { font-style: italic; }28442845/* note display — rendered HTML, no pre-wrap */2846.peach-note-content {2847  overflow: auto;2848  max-height: 340px;2849  word-break: break-word;2850}28512852/* ── Note textarea ── */2853.peach-note-textarea {2854  width: 100%;2855  min-height: 180px;2856  max-height: 280px;2857  resize: vertical;2858  background: var(--peach-t4);2859  border: 1px solid var(--peach-t3);2860  border-radius: 8px;2861  padding: 10px 12px;2862  font-family: "IBM Plex Mono", monospace;2863  font-size: 12px;2864  line-height: 1.7;2865  color: var(--peach-t1);2866  outline: none;2867  transition: border-color 150ms ease;2868}28692870.peach-note-textarea:focus {2871  border-color: var(--peach-t2);2872}28732874.peach-note-char-count {2875  font-family: "IBM Plex Mono", monospace;2876  font-size: 9px;2877  color: var(--peach-t3);2878  text-align: right;2879  margin-top: 4px;2880  letter-spacing: 0.1em;2881}28822883/* ── Field input baseline ── */2884.peach-new-field-input {2885  width: 100%;2886  background: transparent;2887  border: none;2888  border-bottom: 1px solid var(--peach-t3);2889  padding: 4px 0;2890  color: var(--peach-t1);2891  font-family: "IBM Plex Mono", monospace;2892  font-size: 13px;2893  outline: none;2894  transition: border-color 150ms ease;2895}28962897.peach-new-field-input:focus {2898  border-bottom-color: var(--peach-t0);2899  color: var(--peach-t0);2900}29012902.peach-new-name-input {2903  width: 100%;2904  background: transparent;2905  border: none;2906  border-bottom: 1px solid var(--peach-t3);2907  padding: 6px 0;2908  font-family: var(--font-display);2909  font-style: italic;2910  font-size: 28px;2911  color: var(--peach-t0);2912  outline: none;2913  transition: border-color 150ms ease;2914}29152916.peach-new-name-input:focus {2917  border-bottom-color: var(--peach-t1);2918}29192920.peach-new-name-input::placeholder {2921  color: var(--peach-t2);2922  font-style: italic;2923}29242925.peach-new-field-input::placeholder {2926  color: var(--peach-t3);2927}29282929/* ── Demo entrance animation ── */2930#hd-shell {2931  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2932}2933@keyframes hd-shell-enter {2934  from { opacity: 0; transform: scale(0.96) translateY(16px); }2935  to   { opacity: 1; transform: scale(1) translateY(0); }2936}29372938/* ── Keyframes ── */2939@keyframes peach-char-enter {2940  from { opacity: 0; transform: translateY(0.22em); }2941  to   { opacity: 1; transform: translateY(0); }2942}2943@keyframes peach-content-enter {2944  from { opacity: 0.96; transform: translateY(4px); }2945  to   { opacity: 1; transform: translateY(0); }2946}2947@keyframes peach-content-exit {2948  from { opacity: 1; transform: translateY(0); }2949  to   { opacity: 0.92; transform: translateY(-3px); }2950}2951@keyframes peach-screen-enter {2952  from { opacity: 0; transform: translateY(14px); }2953  to   { opacity: 1; transform: translateY(0); }2954}2955@keyframes peach-shell-fade-in {2956  from { opacity: 0; }2957  to   { opacity: 1; }2958}2959@keyframes peach-veil-in {2960  from { opacity: 0; }2961  to   { opacity: 1; }2962}2963@keyframes peach-lock-settle {2964  0%   { transform: scale(0.9); }2965  65%  { transform: scale(1.08); }2966  100% { transform: scale(1); }2967}2968@keyframes peach-copy-confirm {2969  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2970  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); }2971}2972@keyframes peach-copy-retreat {2973  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); }2974  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2975}2976@keyframes peach-copy-flood {2977  from { opacity: 0; transform: scaleX(0.15); }2978  to   { opacity: 1; transform: scaleX(1); }2979}2980@keyframes peach-copy-icon-settle {2981  from  { transform: scale(0.84); }2982  70%   { transform: scale(1.08); }2983  to    { transform: scale(1); }2984}2985@keyframes peach-copy-sheen-retreat {2986  from { opacity: 1; transform: scaleX(1); }2987  to   { opacity: 0; transform: scaleX(0.15); }2988}2989@keyframes peach-copy-drain {2990  from { width: 100%; }2991  to   { width: 0; }2992}2993@keyframes peach-shake {2994  0%, 100% { transform: translateX(0); }2995  20%      { transform: translateX(-6px); }2996  40%      { transform: translateX(6px); }2997  60%      { transform: translateX(-4px); }2998  80%      { transform: translateX(4px); }2999}30003001@keyframes pip-pulse {3002  0% { transform: scale(1); }3003  40% { transform: scale(2.2); }3004  100% { transform: scale(1); }3005}300630073008/* ── Password generator ── */3009.peach-pwgen-body {3010  flex: 1; overflow-y: auto;3011  display: flex; flex-direction: column;3012}3013.peach-policy-badge {3014  display: flex; align-items: center;3015  padding: 6px 20px 0;3016  font-size: 10px; font-family: Inter, sans-serif;3017  color: var(--peach-t2); letter-spacing: 0.04em;3018}3019.peach-pwgen-display {3020  padding: 14px 20px 12px;3021  border-bottom: 1px solid var(--peach-t3);3022  display: flex; align-items: flex-start; gap: 10px;3023}3024.peach-pwgen-display-row {3025  display: flex;3026  align-items: flex-start;3027  gap: 8px;3028  padding-bottom: 8px;3029  border-bottom: 1px solid var(--peach-t3);3030}3031.peach-pwgen-output {3032  flex: 1; min-width: 0; margin: 0;3033  font-family: "IBM Plex Mono", monospace;3034  font-size: 13px; color: var(--peach-t0);3035  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;3036  white-space: normal;3037  padding: 10px 12px;3038  background: var(--peach-t4);3039  border-radius: 6px;3040  min-height: 36px;3041}3042.peach-pwgen-output-display {3043  flex: 1;3044  min-width: 0;3045  margin: 0;3046  font-family: var(--font-display);3047  font-style: italic;3048  font-weight: 300;3049  font-size: 32px;3050  line-height: 1.05;3051  color: var(--peach-t0);3052  word-break: break-all;3053  overflow-wrap: break-word;3054  white-space: normal;3055  letter-spacing: 0.02em;3056}3057.peach-pwgen-display-actions {3058  display: flex;3059  flex-direction: column;3060  gap: 4px;3061  flex-shrink: 0;3062  margin-top: 2px;3063}3064.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }3065.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }3066.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }3067.peach-pwgen-len-num {3068  font-family: "IBM Plex Mono", monospace;3069  font-size: 12px; color: var(--peach-accent);3070}3071.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }3072.peach-pwgen-toggles { display: flex; flex-direction: column; }3073.peach-pwgen-charset-pills {3074  display: flex;3075  gap: 6px;3076  flex-wrap: wrap;3077}3078.peach-pwgen-pill {3079  padding: 4px 11px;3080  border-radius: 999px;3081  border: 1px solid var(--peach-t3);3082  background: transparent;3083  color: var(--peach-t2);3084  font-family: "IBM Plex Mono", monospace;3085  font-size: 9px;3086  letter-spacing: 0.08em;3087  cursor: pointer;3088  transition: all 150ms ease;3089}3090.peach-pwgen-pill.is-on {3091  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3092  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3093  color: var(--peach-accent);3094}3095.peach-pwgen-pill:not(.is-on):hover {3096  color: var(--peach-t1);3097  border-color: var(--peach-t2);3098}3099.peach-pwgen-use-btn {3100  width: 100%;3101  min-height: 34px;3102  border-radius: 8px;3103  margin-top: 2px;3104}3105.peach-pwgen-toggle-row {3106  display: flex; align-items: center; justify-content: space-between;3107  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);3108}3109.peach-pwgen-toggle-row:last-child { border-bottom: none; }3110.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }31113112.peach-screen-prelock {3113  z-index: 10;3114}31153116.prelock-form {3117  display: grid;3118  gap: 12px;3119}31203121/* Peach popup should not expose native scrollbars on internal panels. */3122.peach-settings-body,3123.peach-new-body,3124.peach-pwgen-body,3125.lock-screen,3126.peach-import-preview {3127  scrollbar-width: none;3128  -ms-overflow-style: none;3129  overscroll-behavior: contain;3130}3131.peach-settings-body::-webkit-scrollbar,3132.peach-new-body::-webkit-scrollbar,3133.peach-pwgen-body::-webkit-scrollbar,3134.lock-screen::-webkit-scrollbar,3135.peach-import-preview::-webkit-scrollbar {3136  width: 0;3137  height: 0;3138  display: none;3139}31403141.lock-screen {3142  height: 100%;3143  min-height: 100%;3144  overflow-y: auto;3145  padding: 18px 18px 16px;3146  gap: 14px;3147  grid-template-rows: auto auto auto 1fr auto;3148  align-content: stretch;3149  position: relative;3150  isolation: isolate;3151}3152.peach-screen.lock-screen--vault-stage {3153  display: flex;3154  flex-direction: column;3155  justify-content: flex-start;3156  gap: 18px;3157  padding: 20px 18px 18px;3158  overflow: hidden;3159}3160.peach-screen.lock-screen--vault-stage .peach-lock-panel {3161  margin-top: 0;3162}3163.lock-screen--onboarding {3164  display: flex;3165  flex-direction: column;3166  gap: 12px;3167  justify-content: flex-start;3168}31693170.lock-screen::before {3171  content: "";3172  position: absolute;3173  inset: 12px 18px auto auto;3174  width: 160px;3175  height: 160px;3176  border-radius: 999px;3177  background:3178    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%);3179  filter: blur(6px);3180  opacity: 0.7;3181  pointer-events: none;3182  z-index: 0;3183}31843185.peach-lock-rune-string {3186  flex: 1;3187  display: flex;3188  align-items: center;3189  justify-content: center;3190  gap: 6px;3191  font-family: PeachScript, monospace;3192  font-size: 13px;3193  letter-spacing: 0.05em;3194  pointer-events: none;3195  user-select: none;3196  position: relative;3197  z-index: 1;3198}31993200.peach-lock-rune-string span {3201  color: color-mix(in srgb, var(--peach-t0) 12%, transparent);3202  text-shadow:3203    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent),3204    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent);3205  transition: color 0.9s ease, text-shadow 0.9s ease;3206}32073208.peach-lock-rune-string span.is-glowing {3209  color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3210  text-shadow:3211    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3212    0 0 20px color-mix(in srgb, var(--peach-accent) 22%, transparent);3213}32143215.lock-screen-header {3216  display: flex;3217  align-items: center;3218  justify-content: space-between;3219  position: relative;3220  z-index: 1;3221}32223223.lock-password-input.shake {3224  animation: peach-shake 300ms ease-in-out;3225}32263227.peach-hint-error {3228  color: rgba(220, 80, 60, 0.92);3229}32303231.peach-onboarding-headline {3232  margin: 0;3233  font-family: var(--font-display);3234  font-size: 35px;3235  line-height: 0.88;3236  font-style: italic;3237  font-weight: 400;3238  max-width: 252px;3239}32403241.peach-lock-copy {3242  display: grid;3243  gap: 8px;3244  position: relative;3245  z-index: 1;3246}32473248.peach-lock-copy--onboarding {3249  gap: 10px;3250}32513252.peach-lock-hero {3253  position: relative;3254  z-index: 1;3255  display: grid;3256  gap: 8px;3257  min-height: 0;3258  padding: 4px 2px 0;3259  border: none;3260  border-radius: 0;3261  background: transparent;3262  box-shadow: none;3263}3264.peach-lock-hero-art {3265  position: absolute;3266  right: -8px;3267  top: -6px;3268  width: 120px;3269  height: 120px;3270  display: flex;3271  align-items: center;3272  justify-content: center;3273  pointer-events: none;3274  opacity: 0.12;3275  filter: saturate(0.9);3276}3277.peach-lock-hero-mark {3278  width: 100%;3279  height: 100%;3280}3281/* Peach body stays brand-peach across every accent — we don't want a3282   green or blue peach when sage/sky is selected. Leaf + stem keep the3283   sage tint because a real peach has a sage leaf. */3284.peach-lock-hero-mark path:nth-child(2),3285.peach-lock-hero-mark path:nth-child(3) {3286  stroke: rgba(123, 144, 96, 0.88);3287  fill: rgba(123, 144, 96, 0.88);3288}3289.peach-lock-hero > *:not(.peach-lock-hero-art) {3290  position: relative;3291  z-index: 1;3292}32933294.peach-lock-eyebrow {3295  display: inline-flex;3296  align-items: center;3297  width: fit-content;3298  padding: 4px 9px;3299  border-radius: 999px;3300  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);3301  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3302  color: var(--peach-t0);3303  font-family: "IBM Plex Mono", monospace;3304  font-size: 8px;3305  letter-spacing: 0.18em;3306  text-transform: uppercase;3307}33083309.peach-lock-label-row {3310  display: flex;3311  align-items: center;3312  justify-content: space-between;3313  margin-bottom: 0;3314}33153316.peach-lock-reveal-btn {3317  display: inline-flex;3318  align-items: center;3319  gap: 4px;3320  background: none;3321  border: none;3322  cursor: pointer;3323  font-family: "IBM Plex Mono", monospace;3324  font-size: 9px;3325  letter-spacing: 0.06em;3326  color: var(--peach-t2);3327  padding: 2px 0;3328  transition: color 150ms ease;3329}33303331.peach-lock-reveal-btn:hover {3332  color: var(--peach-t1);3333}33343335.peach-lock-warning {3336  color: rgba(220, 80, 60, 0.85) !important;3337  line-height: 1.5;3338}33393340.peach-onboarding-cards {3341  display: grid;3342  gap: 8px;3343  position: relative;3344  z-index: 1;3345}33463347.peach-lock-panel {3348  position: relative;3349  z-index: 1;3350  display: grid;3351  gap: 9px;3352  padding: 14px 16px 15px;3353  border-radius: 18px;3354  border: 1px solid var(--peach-t3);3355  background:3356    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3357  box-shadow:3358    inset 0 1px 0 rgba(240, 232, 216, 0.04),3359    0 12px 28px rgba(0, 0, 0, 0.12);3360}33613362/* Glass surface — lock panel and settings groups */3363.peach-glass {3364  background: rgba(26, 20, 16, 0.65);3365  border: 1px solid rgba(255, 255, 255, 0.08);3366  border-radius: 12px;3367  backdrop-filter: blur(12px) saturate(1.4);3368  -webkit-backdrop-filter: blur(12px) saturate(1.4);3369}33703371@supports not (backdrop-filter: blur(1px)) {3372  .peach-glass {3373    background: rgba(26, 20, 16, 0.92);3374    border: 1px solid rgba(255, 255, 255, 0.10);3375    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 24px rgba(0, 0, 0, 0.4);3376  }3377}33783379.light .peach-glass,3380[data-theme="light"] .peach-glass {3381  background: rgba(253, 248, 244, 0.70);3382  border: 1px solid rgba(0, 0, 0, 0.07);3383  backdrop-filter: blur(12px) saturate(1.2);3384  -webkit-backdrop-filter: blur(12px) saturate(1.2);3385}33863387@supports not (backdrop-filter: blur(1px)) {3388  .light .peach-glass,3389  [data-theme="light"] .peach-glass {3390    background: rgba(253, 248, 244, 0.95);3391    border: 1px solid rgba(0, 0, 0, 0.09);3392  }3393}33943395/* Lock panel keeps its own border-radius over the generic glass token */3396.peach-lock-panel.peach-glass {3397  border-radius: 18px;3398  background: rgba(26, 20, 16, 0.65);3399  border: 1px solid rgba(255, 255, 255, 0.08);3400  box-shadow:3401    inset 0 1px 0 rgba(255, 255, 255, 0.05),3402    0 12px 28px rgba(0, 0, 0, 0.3);3403}34043405.light .peach-lock-panel.peach-glass,3406[data-theme="light"] .peach-lock-panel.peach-glass {3407  background: rgba(238, 227, 204, 0.75);3408  border: 1px solid rgba(34, 24, 9, 0.10);3409  box-shadow:3410    inset 0 1px 0 rgba(255, 255, 255, 0.5),3411    0 8px 24px rgba(80, 56, 32, 0.15);3412}34133414@supports not (backdrop-filter: blur(1px)) {3415  .peach-lock-panel.peach-glass {3416    background: rgba(26, 20, 16, 0.92);3417    box-shadow:3418      inset 0 1px 0 rgba(255, 255, 255, 0.05),3419      0 12px 28px rgba(0, 0, 0, 0.4);3420  }3421  .light .peach-lock-panel.peach-glass,3422  [data-theme="light"] .peach-lock-panel.peach-glass {3423    background: rgba(238, 227, 204, 0.96);3424  }3425}34263427.peach-lock-panel--secondary {3428  gap: 12px;3429}34303431.peach-lock-panel-header {3432  display: flex;3433  align-items: baseline;3434  justify-content: space-between;3435  gap: 12px;3436}34373438.peach-lock-option-grid {3439  display: grid;3440  gap: 10px;3441}34423443.peach-lock-option {3444  width: 100%;3445  display: grid;3446  gap: 6px;3447  padding: 14px 15px;3448  border-radius: 16px;3449  border: 1px solid rgba(240, 232, 216, 0.08);3450  background: rgba(240, 232, 216, 0.02);3451  color: var(--peach-t0);3452  text-align: left;3453  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3454}34553456.peach-lock-option:hover {3457  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3458  background: rgba(240, 232, 216, 0.04);3459  transform: translateY(-1px);3460}34613462.peach-lock-option-title {3463  font-size: 12px;3464  color: var(--peach-t0);3465}34663467.peach-lock-option-copy {3468  font-size: 11px;3469  line-height: 1.55;3470  color: var(--peach-t1);3471}34723473.peach-onboarding-stack {3474  margin-top: 2px;3475}3476.peach-lock-panel-footer {3477  display: grid;3478  gap: 6px;3479  margin-top: 2px;3480  padding-top: 10px;3481  border-top: 1px solid rgba(240, 232, 216, 0.06);3482}34833484/* Restore picker panel — method option cards */3485.peach-lock-panel--restore {3486  gap: 10px;3487}3488.peach-lock-option--history {3489  border-color: rgba(240, 232, 216, 0.06);3490  opacity: 0.85;3491}34923493/* Snapshot restore panel */3494.peach-snapshot-panel {3495  gap: 10px;3496  overflow-y: auto;3497  max-height: 340px;3498}3499.peach-snapshot-list {3500  display: flex;3501  flex-direction: column;3502  gap: 4px;3503}3504.peach-snapshot-row {3505  display: flex;3506  align-items: center;3507  justify-content: space-between;3508  width: 100%;3509  padding: 8px 10px;3510  border-radius: 8px;3511  border: 1px solid rgba(240, 232, 216, 0.07);3512  background: transparent;3513  cursor: pointer;3514  transition: border-color 120ms, background 120ms;3515  text-align: left;3516  gap: 8px;3517}3518.peach-snapshot-row:hover {3519  border-color: rgba(240, 232, 216, 0.14);3520  background: rgba(240, 232, 216, 0.03);3521}3522.peach-snapshot-row.is-selected {3523  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3524  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3525}3526.peach-snapshot-time {3527  font-size: 11.5px;3528  color: var(--peach-t0);3529  flex: 1;3530}3531.peach-snapshot-count {3532  font-family: "IBM Plex Mono", monospace;3533  font-size: 10px;3534  color: var(--peach-t2);3535  flex-shrink: 0;3536}3537.peach-snapshot-confirm {3538  display: flex;3539  flex-direction: column;3540  gap: 8px;3541  padding-top: 10px;3542  border-top: 1px solid rgba(240, 232, 216, 0.06);3543}3544.peach-snapshot-warning {3545  display: flex;3546  align-items: flex-start;3547  gap: 6px;3548  font-size: 10.5px;3549  color: rgba(220, 80, 60, 0.85);3550  line-height: 1.55;3551}3552.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3553.peach-snapshot-confirm-row {3554  display: flex;3555  gap: 6px;3556  align-items: center;3557}3558.peach-snapshot-restore-btn {3559  width: 100%;3560}3561.peach-lock-hero--unlock .peach-lock-hero-art {3562  width: 112px;3563  height: 112px;3564  right: 0;3565  top: 2px;3566  opacity: 0.1;3567}35683569.peach-card {3570  border: 1px solid var(--peach-t3);3571  border-radius: 18px;3572  background:3573    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3574  box-shadow:3575    inset 0 0 0 1px var(--peach-border-accent),3576    inset 0 1px 0 rgba(240, 232, 216, 0.04),3577    0 12px 32px rgba(0, 0, 0, 0.14);3578  overflow: hidden;3579}35803581.peach-card-active {3582  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3583  box-shadow:3584    inset 0 1px 0 rgba(240, 232, 216, 0.05),3585    0 16px 38px rgba(0, 0, 0, 0.18),3586    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3587}35883589.peach-card-disabled {3590  opacity: 0.72;3591}35923593.peach-card-header {3594  width: 100%;3595  padding: 13px 16px 11px;3596  background: transparent;3597  color: var(--peach-t0);3598  display: flex;3599  justify-content: space-between;3600  align-items: center;3601  text-align: left;3602  font-size: 12px;3603}36043605.peach-card-body {3606  padding: 0 16px 16px;3607  display: grid;3608  gap: 9px;3609}36103611.peach-card-tag {3612  color: var(--peach-t2);3613  font-family: "IBM Plex Mono", monospace;3614  font-size: 9px;3615  letter-spacing: 0.12em;3616  text-transform: uppercase;3617}36183619.peach-empty-copy {3620  display: grid;3621  gap: 6px;3622  color: var(--peach-t1);3623  font-size: 13px;3624}36253626.peach-lock-submit {3627  width: 100%;3628  box-shadow:3629    0 1px 0 rgba(255,255,255,0.10) inset,3630    0 0 0 1px color-mix(in srgb, var(--peach-accent) 19%, transparent),3631    0 12px 32px color-mix(in srgb, var(--peach-accent) 19%, transparent),3632    0 0 48px color-mix(in srgb, var(--peach-accent) 10%, transparent);3633}36343635.peach-lock-secondary {3636  width: 100%;3637  border-color: var(--peach-t3);3638  background: rgba(240, 232, 216, 0.02);3639}36403641.peach-lock-secondary:hover {3642  background: rgba(240, 232, 216, 0.04);3643}36443645.peach-lock-note {3646  max-width: none;3647  line-height: 1.55;3648  margin: 0;3649}36503651.peach-overlay-action {3652  font-size: 10px;3653  padding: 4px 8px;3654  letter-spacing: 0.06em;3655  min-width: 44px;3656  text-align: center;3657}36583659.peach-overlay-spacer {3660  width: 32px;3661}36623663.peach-inline-action {3664  flex-shrink: 0;3665  font-size: 9px;3666  letter-spacing: 0.1em;3667  text-transform: uppercase;3668  padding: 4px 7px;3669}3670.peach-password-toggle-btn {3671  display: inline-flex;3672  align-items: center;3673  justify-content: center;3674  min-width: 30px;3675  min-height: 26px;3676  padding: 0 7px;3677  border: 1px solid var(--peach-t3);3678  border-radius: 999px;3679  background: rgba(240, 232, 216, 0.04);3680  color: var(--peach-t2);3681  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3682}3683.peach-password-toggle-btn:hover {3684  border-color: var(--peach-t2);3685  color: var(--peach-t0);3686  background: rgba(240, 232, 216, 0.06);3687}36883689.peach-new-textarea {3690  width: 100%;3691  min-height: 88px;3692  resize: vertical;3693  border: 0;3694  outline: none;3695  background: transparent;3696  color: var(--peach-t1);3697  font-family: "IBM Plex Mono", monospace;3698  font-size: 12px;3699  line-height: 1.65;3700  caret-color: var(--peach-accent);3701}37023703.peach-new-textarea::placeholder {3704  color: var(--peach-t2);3705  opacity: 0.7;3706}37073708.peach-settings-actions {3709  display: grid;3710  gap: 8px;3711}37123713.peach-sync-section-label {3714  font-size: 11px;3715  color: var(--peach-t2);3716  text-transform: uppercase;3717  letter-spacing: 0.05em;3718}37193720.peach-sync-device-row {3721  display: flex;3722  justify-content: space-between;3723  align-items: center;3724  padding: 6px 0;3725  border-bottom: 1px solid var(--peach-t3);3726}37273728.peach-sync-device-info {3729  display: flex;3730  flex-direction: column;3731  gap: 2px;3732}37333734.peach-sync-device-name {3735  font-size: 13px;3736  color: var(--peach-t0);3737}37383739.peach-sync-device-meta {3740  font-size: 11px;3741  color: var(--peach-t2);3742}37433744.peach-sync-status-dot {3745  display: inline-block;3746  width: 8px;3747  height: 8px;3748  border-radius: 50%;3749  vertical-align: middle;3750}37513752.peach-sync-remove-btn {3753  color: var(--peach-breach);3754}37553756.peach-sync-hero-icon {3757  color: var(--peach-t1);3758  opacity: 0.85;3759}37603761.peach-import-preview {3762  margin-bottom: 12px;3763  max-height: 152px;3764  overflow-y: auto;3765  border: 1px solid var(--peach-t3);3766  border-radius: 10px;3767  padding: 8px 10px;3768  display: grid;3769  gap: 8px;3770  background: rgba(240, 232, 216, 0.02);3771}37723773.peach-import-preview-row {3774  display: flex;3775  justify-content: space-between;3776  gap: 10px;3777  font-size: 11px;3778  color: var(--peach-t1);3779}37803781.peach-import-preview-title {3782  color: var(--peach-t0);3783  flex: 1;3784  min-width: 0;3785  overflow: hidden;3786  text-overflow: ellipsis;3787  white-space: nowrap;3788}37893790.peach-import-preview-meta {3791  color: var(--peach-t2);3792  flex-shrink: 0;3793  max-width: 42%;3794  overflow: hidden;3795  text-overflow: ellipsis;3796  white-space: nowrap;3797}37983799.peach-import-preview-more {3800  color: var(--peach-t2);3801  font-size: 10px;3802}38033804.peach-restore-copy {3805  margin: 0;3806  color: var(--peach-t1);3807  font-size: 11px;3808  line-height: 1.6;3809}38103811.peach-restore-warning {3812  padding: 10px 12px;3813  border-radius: 12px;3814  border: 1px solid color-mix(in srgb, var(--peach-breach) 35%, transparent);3815  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3816  color: var(--peach-t0);3817  font-size: 11px;3818  line-height: 1.55;3819}38203821.peach-provider-chips {3822  display: flex;3823  flex-wrap: wrap;3824  gap: 6px;3825}38263827.peach-provider-chip {3828  display: inline-flex;3829  align-items: center;3830  padding: 5px 8px;3831  border-radius: 999px;3832  border: 1px solid var(--peach-t3);3833  background: rgba(240, 232, 216, 0.02);3834  color: var(--peach-t1);3835  font-family: "IBM Plex Mono", monospace;3836  font-size: 8px;3837  letter-spacing: 0.08em;3838  text-transform: uppercase;3839}38403841.peach-restore-file,3842.peach-restore-input {3843  width: 100%;3844  border-radius: 10px;3845  border: 1px solid var(--peach-t3);3846  background: var(--peach-s2);3847  color: var(--peach-t0);3848  font-size: 12px;3849}38503851.peach-restore-file {3852  padding: 9px 10px;3853}38543855.peach-restore-file::file-selector-button {3856  margin-right: 10px;3857  padding: 7px 10px;3858  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3859  border-radius: 999px;3860  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3861  color: var(--peach-t0);3862  font-size: 10px;3863  letter-spacing: 0.08em;3864  text-transform: uppercase;3865  cursor: pointer;3866}38673868.peach-restore-input {3869  padding: 10px 12px;3870}38713872.peach-auth-grid {3873  display: grid;3874  gap: 10px;3875}38763877.peach-import-summary {3878  color: var(--peach-t1);3879  font-size: 12px;3880  line-height: 1.6;3881  margin-bottom: 12px;3882}38833884.peach-restore-error {3885  color: rgba(220, 80, 60, 0.95);3886  font-size: 12px;3887  line-height: 1.55;3888}38893890.peach-passkey-card {3891  max-width: 400px;3892  margin: auto 16px;3893  align-self: center;3894  width: calc(100% - 32px);3895}38963897/* Center the approval card vertically inside the overlay-view (which sets3898 * flex-direction: column without justify-content). Without this, the card3899 * sits at the top with a tall empty band below — looks unfinished on the3900 * 320px popup. */3901.peach-overlay-view:has(.peach-passkey-card) {3902  justify-content: center;3903}39043905.peach-pro-badge {3906  padding: 2px 6px;3907  border-radius: 999px;3908  font-family: var(--font-ui);3909  font-size: 10px;3910  letter-spacing: 0.08em;3911  text-transform: uppercase;3912  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3913  color: var(--peach-accent);3914}39153916/* ── Shortcuts rebind table ─────────────────────────────────── */3917.peach-shortcuts-group { display: flex; flex-direction: column; gap: 6px; }3918.peach-shortcut-row {3919  display: flex;3920  align-items: center;3921  gap: 10px;3922  padding: 6px 0;3923}3924.peach-shortcut-row-label {3925  flex: 1;3926  font-size: 12px;3927  color: var(--peach-t0);3928}3929.peach-shortcut-chip {3930  min-width: 64px;3931  padding: 4px 10px;3932  border-radius: 6px;3933  border: 1px solid var(--peach-t3);3934  background: var(--peach-input-bg, var(--surface-card));3935  color: var(--peach-t0);3936  font-family: var(--font-mono);3937  font-size: 11px;3938  letter-spacing: 0.04em;3939  cursor: pointer;3940  text-align: center;3941  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;3942}3943.peach-shortcut-chip:hover { border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent); }3944.peach-shortcut-chip.is-custom {3945  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3946  color: var(--peach-accent);3947}3948.peach-shortcut-chip.is-capturing {3949  border-color: var(--peach-accent);3950  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3951  color: var(--peach-accent);3952  animation: peach-shortcut-capture-pulse 1.4s ease-in-out infinite;3953}3954@keyframes peach-shortcut-capture-pulse {3955  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--peach-accent) 30%, transparent); }3956  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--peach-accent) 12%, transparent); }3957}3958.peach-shortcut-reset {3959  background: transparent;3960  border: none;3961  cursor: pointer;3962  color: var(--peach-t2);3963  padding: 4px 6px;3964  border-radius: 5px;3965  font-size: 14px;3966  line-height: 1;3967  transition: color 120ms ease, background 120ms ease;3968}3969.peach-shortcut-reset:hover {3970  color: var(--peach-t0);3971  background: color-mix(in srgb, var(--peach-text, var(--peach-t0)) 6%, transparent);3972}3973.peach-shortcuts-conflict {3974  margin: 4px 0 0;3975  padding: 8px 10px;3976  border-radius: 7px;3977  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3978  border: 1px solid color-mix(in srgb, var(--peach-breach) 30%, transparent);3979  font-family: var(--font-mono);3980  font-size: 11px;3981  color: var(--peach-t0);3982}39833984/* ── Help dialog overlay (? to open) ────────────────────────── */3985.peach-shortcuts-help-backdrop {3986  position: fixed;3987  inset: 0;3988  background: rgba(0, 0, 0, 0.55);3989  backdrop-filter: blur(2px);3990  display: flex;3991  align-items: center;3992  justify-content: center;3993  z-index: 1000;3994  animation: peach-help-fade-in 140ms ease forwards;3995}3996@keyframes peach-help-fade-in { from { opacity: 0 } to { opacity: 1 } }3997.peach-shortcuts-help-card {3998  width: min(320px, 92vw);3999  max-height: 80vh;4000  overflow-y: auto;4001  border-radius: 14px;4002  border: 1px solid var(--peach-t3);4003  background: var(--peach-bg);4004  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);4005  padding: 16px 18px 18px;4006  display: flex;4007  flex-direction: column;4008  gap: 12px;4009}4010.peach-shortcuts-help-head {4011  display: flex; align-items: center; justify-content: space-between;4012}4013.peach-shortcuts-help-head h3 {4014  margin: 0;4015  font-family: var(--font-display);4016  font-style: italic;4017  font-weight: 400;4018  font-size: 22px;4019  color: var(--peach-t0);4020}4021.peach-shortcuts-help-close {4022  background: transparent;4023  border: none;4024  color: var(--peach-t2);4025  cursor: pointer;4026  font-size: 14px;4027  padding: 4px 8px;4028  border-radius: 5px;4029}4030.peach-shortcuts-help-close:hover { color: var(--peach-t0); background: var(--surface-card); }4031.peach-shortcuts-help-body ul {4032  list-style: none; padding: 0; margin: 4px 0 12px;4033  display: grid; gap: 8px;4034}4035.peach-shortcuts-help-body li {4036  display: flex; align-items: center; justify-content: space-between; gap: 12px;4037  font-size: 12px; color: var(--peach-t0);4038}4039.peach-shortcuts-help-body kbd {4040  font-family: var(--font-mono);4041  font-size: 11px;4042  padding: 3px 8px;4043  border-radius: 6px;4044  background: var(--surface-card);4045  border: 1px solid var(--peach-t3);4046  color: var(--peach-accent);4047  letter-spacing: 0.04em;4048}40494050/* ── Pro promo on Account screen ────────────────────────────── */4051.peach-pro-promo {4052  position: relative;4053  border-radius: 14px;4054  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);4055  background:4056    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent) 0%, transparent 60%),4057    radial-gradient(85% 100% at 100% 100%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 0%, transparent 65%),4058    var(--surface-card);4059  overflow: hidden;4060  margin-bottom: 14px;4061}4062.peach-pro-promo-glow {4063  position: absolute;4064  inset: -40% -20% auto auto;4065  width: 220px; height: 220px;4066  background: radial-gradient(closest-side, var(--peach-glow), transparent 70%);4067  pointer-events: none;4068  filter: blur(8px);4069}4070.peach-pro-promo-inner {4071  position: relative;4072  padding: 18px 18px 16px;4073}4074.peach-pro-promo-title {4075  font-family: var(--font-display);4076  font-style: italic;4077  font-weight: 400;4078  font-size: 28px;4079  line-height: 1;4080  letter-spacing: -0.005em;4081  color: var(--peach-t0);4082  margin: 0 0 4px;4083}4084.peach-pro-promo-tagline {4085  font-family: var(--font-mono);4086  font-size: 10px;4087  letter-spacing: 0.06em;4088  color: var(--peach-t2);4089  margin: 0 0 14px;4090}4091.peach-pro-promo-list {4092  list-style: none;4093  margin: 0 0 16px;4094  padding: 0;4095  display: grid;4096  gap: 9px;4097}4098.peach-pro-promo-list li {4099  display: flex;4100  align-items: flex-start;4101  gap: 9px;4102  font-size: 12px;4103  color: var(--peach-t1);4104  line-height: 1.4;4105}4106.peach-pro-promo-list svg {4107  width: 14px;4108  height: 14px;4109  flex-shrink: 0;4110  color: var(--peach-accent);4111  margin-top: 2px;4112}4113.peach-pro-promo-list span {4114  color: var(--peach-t0);4115}4116.peach-pro-promo-cta {4117  width: 100%;4118  background: var(--peach-accent);4119  color: #fff;4120  border: none;4121  padding: 9px 12px;4122  border-radius: 9px;4123  font-size: 12px;4124  font-weight: 500;4125  font-family: var(--font-ui);4126  letter-spacing: 0.02em;4127  text-decoration: none;4128  display: inline-flex;4129  align-items: center;4130  justify-content: center;4131  cursor: pointer;4132  transition: filter 120ms ease, box-shadow 120ms ease, transform 80ms ease;4133  box-shadow: 0 2px 16px var(--peach-glow);4134}4135.peach-pro-promo-cta:hover {4136  filter: brightness(1.07);4137  box-shadow: 0 4px 24px var(--peach-glow);4138  transform: translateY(-1px);4139}4140.peach-pro-promo-cta:active { transform: translateY(0); filter: brightness(0.96); }41414142.peach-pro-or-divider {4143  display: flex;4144  align-items: center;4145  gap: 10px;4146  margin: 4px 0 12px;4147  font-family: var(--font-mono);4148  font-size: 10px;4149  letter-spacing: 0.06em;4150  color: var(--peach-t2);4151  text-transform: uppercase;4152}4153.peach-pro-or-divider::before,4154.peach-pro-or-divider::after {4155  content: "";4156  flex: 1;4157  height: 1px;4158  background: var(--peach-t3);4159}41604161.peach-loading {4162  position: absolute;4163  inset: 0;4164  display: flex;4165  align-items: center;4166  justify-content: center;4167  background: var(--bg);4168  animation: peach-loading-pulse 1.2s ease-in-out infinite;4169}41704171@keyframes peach-loading-pulse {4172  0%, 100% { opacity: 0.6; }4173  50% { opacity: 1; }4174}41754176/* ── Health Dashboard ─────────────────────────────────────────────────── */4177.peach-health-body {4178  flex: 1;4179  overflow-y: auto;4180  display: flex;4181  flex-direction: column;4182}41834184.peach-health-summary {4185  padding: 10px 16px 6px;4186  font-family: "IBM Plex Mono", monospace;4187  font-size: 11px;4188}4189.peach-health-summary-warn { color: rgba(220,80,60,0.9); }4190.peach-health-summary-ok { color: var(--peach-t2); }41914192.peach-health-check-row {4193  padding: 0 16px 10px;4194}4195.peach-health-check-btn {4196  width: 100%;4197  display: flex;4198  align-items: center;4199  justify-content: center;4200}42014202.peach-health-sections {4203  flex: 1;4204  display: flex;4205  flex-direction: column;4206}42074208.peach-health-section {4209  border-bottom: 1px solid var(--peach-t3);4210}42114212.peach-health-section-header {4213  width: 100%;4214  display: flex;4215  align-items: center;4216  justify-content: space-between;4217  padding: 9px 16px;4218  background: transparent;4219  cursor: pointer;4220  color: var(--peach-t0);4221}42224223.peach-health-section-title-row {4224  display: flex;4225  align-items: center;4226  gap: 8px;4227}42284229.peach-health-count-badge {4230  display: inline-flex;4231  align-items: center;4232  justify-content: center;4233  min-width: 20px;4234  height: 18px;4235  padding: 0 5px;4236  border-radius: 999px;4237  background: rgba(220,80,60,0.15);4238  border: 1px solid rgba(220,80,60,0.25);4239  font-family: "IBM Plex Mono", monospace;4240  font-size: 9px;4241  color: rgba(220,80,60,0.9);4242}42434244.peach-health-section-title {4245  font-family: "IBM Plex Mono", monospace;4246  font-size: 11px;4247  text-transform: uppercase;4248  letter-spacing: 0.1em;4249  color: var(--peach-t1);4250}42514252.peach-health-chevron {4253  color: var(--peach-t2);4254  transition: transform 200ms ease;4255  flex-shrink: 0;4256}4257.peach-health-chevron.is-expanded {4258  transform: rotate(180deg);4259}42604261.peach-health-section-body {4262  padding: 0 16px 10px;4263  display: flex;4264  flex-direction: column;4265  gap: 4px;4266}42674268.peach-health-row {4269  display: flex;4270  align-items: flex-start;4271  justify-content: space-between;4272  gap: 8px;4273  padding: 6px 8px;4274  border-radius: 8px;4275  background: rgba(240,232,216,0.02);4276}42774278.peach-health-row-info {4279  flex: 1;4280  min-width: 0;4281  display: flex;4282  flex-direction: column;4283  gap: 2px;4284}42854286.peach-health-row-name {4287  font-family: var(--font-display);4288  font-size: 15px;4289  font-style: italic;4290  font-weight: 400;4291  color: var(--peach-t0);4292  white-space: nowrap;4293  overflow: hidden;4294  text-overflow: ellipsis;4295}42964297.peach-health-row-meta {4298  font-family: "IBM Plex Mono", monospace;4299  font-size: 9px;4300  color: var(--peach-t2);4301  letter-spacing: 0.05em;4302}43034304.peach-health-fix-btn {4305  font-size: 9px;4306  letter-spacing: 0.08em;4307  text-transform: uppercase;4308  padding: 4px 7px;4309  flex-shrink: 0;4310  display: flex;4311  align-items: center;4312}43134314.peach-health-empty {4315  font-family: "IBM Plex Mono", monospace;4316  font-size: 10px;4317  color: var(--peach-t2);4318  padding: 6px 0;4319}43204321.peach-health-loading {4322  font-family: "IBM Plex Mono", monospace;4323  font-size: 10px;4324  color: var(--peach-t2);4325  padding: 6px 0;4326  display: flex;4327  align-items: center;4328  gap: 6px;4329}43304331.peach-health-loading::before {4332  content: "";4333  width: 10px;4334  height: 10px;4335  border: 1.5px solid var(--peach-t3);4336  border-top-color: var(--peach-accent);4337  border-radius: 50%;4338  animation: peach-spin 600ms linear infinite;4339}43404341@keyframes peach-spin {4342  to { transform: rotate(360deg); }4343}43444345.peach-spinner {4346  width: 32px;4347  height: 32px;4348  border: 2px solid var(--peach-s2);4349  border-top-color: var(--peach-accent);4350  border-radius: 50%;4351  margin: 0 auto 16px;4352  animation: peach-spin 0.8s linear infinite;4353}43544355.peach-progress-screen {4356  text-align: center;4357  padding: 32px 16px;4358}43594360.peach-progress-screen-title {4361  font-size: 13px;4362  color: var(--peach-t0);4363  margin-bottom: 16px;4364}43654366.peach-progress-screen-stage {4367  font-size: 11px;4368  color: var(--peach-t2);4369  min-height: 14px;4370}43714372.peach-progress-screen-note {4373  font-size: 10px;4374  color: var(--peach-t2);4375  margin-top: 8px;4376}43774378.peach-pairing-body {4379  flex: 1;4380  overflow-y: auto;4381  display: flex;4382  flex-direction: column;4383}43844385.peach-pairing-content {4386  flex: 1;4387  display: flex;4388  flex-direction: column;4389  align-items: center;4390  justify-content: center;4391  gap: 14px;4392  padding: 28px 20px;4393  text-align: center;4394}43954396.peach-pairing-headline {4397  font-family: var(--font-display);4398  font-style: italic;4399  font-weight: 300;4400  font-size: 28px;4401  color: var(--peach-t0);4402  margin: 0;4403  line-height: 1;4404}44054406.peach-pairing-subline {4407  font-size: 12px;4408  color: var(--peach-t2);4409  max-width: 220px;4410  line-height: 1.5;4411  margin: 0;4412}44134414.peach-pairing-subline--center {4415  text-align: center;4416}44174418.peach-pairing-code-display {4419  display: flex;4420  gap: 6px;4421}44224423.peach-pairing-code-digit {4424  display: flex;4425  align-items: center;4426  justify-content: center;4427  width: 36px;4428  height: 48px;4429  background: var(--peach-s2);4430  border: 1px solid var(--peach-t3);4431  border-radius: 6px;4432  font-family: var(--font-mono);4433  font-size: 22px;4434  color: var(--peach-t0);4435  letter-spacing: 0;4436}44374438.peach-pairing-countdown-ring {4439  position: relative;4440  display: inline-flex;4441  align-items: center;4442  justify-content: center;4443}44444445.peach-pairing-countdown-num {4446  position: absolute;4447  font-family: var(--font-mono);4448  font-size: 14px;4449  color: var(--peach-t1);4450}44514452.peach-pairing-ring-track {4453  fill: none;4454  stroke: var(--peach-t3);4455  stroke-width: 2;4456}44574458.peach-pairing-ring-progress {4459  fill: none;4460  stroke: var(--peach-accent);4461  stroke-width: 2;4462  stroke-linecap: round;4463  transform: rotate(-90deg);4464  transform-origin: 50% 50%;4465  transition: stroke-dashoffset 0.5s linear;4466}44674468.peach-pairing-code-inputs {4469  display: flex;4470  gap: 8px;4471}44724473.peach-pairing-code-box {4474  width: 36px;4475  height: 48px;4476  text-align: center;4477  background: var(--peach-s2);4478  border: 1px solid var(--peach-t3);4479  border-radius: 6px;4480  font-family: var(--font-mono);4481  font-size: 20px;4482  color: var(--peach-t0);4483  outline: none;4484  transition: border-color 120ms ease;4485}44864487.peach-pairing-code-box:focus {4488  border-color: var(--peach-accent);4489}44904491.peach-pairing-code-box.has-error {4492  border-color: rgba(220, 80, 60, 0.45);4493}44944495.peach-pairing-status {4496  display: flex;4497  align-items: center;4498  gap: 8px;4499  margin: 0;4500  font-size: 12px;4501  color: var(--peach-t1);4502}45034504.peach-pairing-error {4505  margin: 0;4506  font-size: 11px;4507  color: var(--peach-breach);4508}45094510.peach-pairing-error-msg {4511  color: var(--peach-t1);4512}45134514.peach-pairing-spinner {4515  width: 12px;4516  height: 12px;4517  border: 1.5px solid var(--peach-t3);4518  border-top-color: var(--peach-accent);4519  border-radius: 50%;4520  animation: peach-spin 0.8s linear infinite;4521}45224523.peach-pairing-success-icon,4524.peach-pairing-error-icon,4525.peach-pairing-hero {4526  display: inline-flex;4527  align-items: center;4528  justify-content: center;4529}45304531/* Tag chips */4532.peach-tag-chip {4533  display: inline-flex;4534  align-items: center;4535  gap: 4px;4536  padding: 3px 8px;4537  border-radius: 999px;4538  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);4539  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4540  color: var(--peach-t0);4541  font-family: "IBM Plex Mono", monospace;4542  font-size: 10px;4543  letter-spacing: 0.04em;4544}45454546.peach-tag-chip-remove {4547  background: transparent;4548  border: none;4549  color: inherit;4550  opacity: 0.6;4551  cursor: pointer;4552  padding: 0;4553  font-size: 12px;4554  line-height: 1;4555}45564557.peach-tag-chip-remove:hover {4558  opacity: 1;4559}45604561/* Tag input */4562.peach-tag-input-wrap {4563  border-bottom: 1px solid var(--peach-t3);4564}45654566.peach-tag-suggestions {4567  display: flex;4568  flex-wrap: wrap;4569  gap: 4px;4570  padding: 6px 0;4571}45724573.peach-tag-suggestion {4574  padding: 2px 8px;4575  border-radius: 999px;4576  border: 1px solid var(--peach-t3);4577  background: var(--peach-s2);4578  color: var(--peach-t1);4579  font-family: "IBM Plex Mono", monospace;4580  font-size: 10px;4581  cursor: pointer;4582  transition: border-color 80ms ease, background 80ms ease;4583}45844585.peach-tag-suggestion:hover {4586  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4587  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4588}45894590/* Tag filter strip */4591.peach-tag-filter-strip {4592  border-bottom: 1px solid var(--peach-t3);4593  flex-shrink: 0;4594}45954596.peach-tag-filter-chip {4597  display: inline-flex;4598  align-items: center;4599  padding: 4px 10px;4600  border-radius: 999px;4601  border: 1px solid var(--peach-t3);4602  background: transparent;4603  color: var(--peach-t2);4604  font-family: "IBM Plex Mono", monospace;4605  font-size: 9px;4606  letter-spacing: 0.06em;4607  text-transform: uppercase;4608  cursor: pointer;4609  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4610  white-space: nowrap;4611}46124613.peach-tag-filter-chip:hover {4614  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);4615  color: var(--peach-t1);4616}46174618.peach-tag-filter-chip.is-selected {4619  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4620  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4621  color: var(--peach-t0);4622}46234624/* ─────────────────────────────────────────────────────────────────────────4625   v1.4.12 additions4626   ─────────────────────────────────────────────────────────────────────── */46274628/* Sort bar */4629.peach-sort-bar {4630  display: flex;4631  align-items: center;4632  gap: 4px;4633  padding: 5px 12px;4634  border-bottom: 1px solid var(--peach-t3);4635  flex-shrink: 0;4636  overflow-x: auto;4637  scrollbar-width: none;4638}46394640.peach-sort-btn {4641  padding: 2px 9px;4642  border-radius: 999px;4643  border: 1px solid transparent;4644  background: transparent;4645  color: var(--peach-t2);4646  font-family: "IBM Plex Mono", monospace;4647  font-size: 9px;4648  letter-spacing: 0.07em;4649  text-transform: uppercase;4650  cursor: pointer;4651  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4652  white-space: nowrap;4653}46544655.peach-sort-btn:hover {4656  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);4657  color: var(--peach-t1);4658}46594660.peach-sort-btn.is-active {4661  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4662  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4663  color: var(--peach-t0);4664}46654666.peach-sort-domain-hint {4667  margin-left: auto;4668  font-family: "IBM Plex Mono", monospace;4669  font-size: 9px;4670  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4671  white-space: nowrap;4672  overflow: hidden;4673  text-overflow: ellipsis;4674  max-width: 110px;4675}46764677/* Tab-match badge on entry rows */4678.peach-tab-match-badge {4679  display: inline-block;4680  width: 6px;4681  height: 6px;4682  border-radius: 50%;4683  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4684  margin-left: 5px;4685  vertical-align: middle;4686  flex-shrink: 0;4687  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4688}46894690.peach-entry-row.is-tab-match {4691  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4692  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4693}46944695.peach-entry-row.is-tab-match:hover {4696  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4697}46984699/* Entry list stagger entrance */4700@keyframes peach-entry-fadein {4701  from { opacity: 0; transform: translateY(4px); }4702  to   { opacity: 1; transform: translateY(0); }4703}47044705.peach-vault-list .peach-entry-row {4706  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4707  content-visibility: auto;4708  contain-intrinsic-size: auto 44px;4709}47104711/* Button press micro-interaction */4712.peach-btn:active {4713  transform: scale(0.95);4714  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4715}47164717.peach-sort-btn:active,4718.peach-tag-filter-chip:active {4719  transform: scale(0.93);4720  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4721}47224723/* Password strength bar (Lock view + shared) */4724.peach-password-strength {4725  display: flex;4726  align-items: center;4727  gap: 8px;4728  margin-top: 6px;4729}47304731.peach-strength-bar {4732  flex: 1;4733  height: 3px;4734  border-radius: 2px;4735  background: var(--peach-t3);4736  overflow: hidden;4737}47384739.peach-strength-fill {4740  height: 100%;4741  border-radius: 2px;4742  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4743              background 300ms ease;4744}47454746.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4747.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4748.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4749.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }47504751.peach-strength-label {4752  font-family: "IBM Plex Mono", monospace;4753  font-style: italic;4754  font-size: 9px;4755  font-weight: 300;4756  letter-spacing: 0.06em;4757  color: var(--peach-t2);4758  min-width: 36px;4759  text-align: right;4760}47614762.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4763.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4764.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4765.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }47664767/* Duress form */4768.peach-duress-status {4769  padding: 2px 8px;4770  border-radius: 999px;4771  border: 1px solid var(--peach-t3);4772  font-family: "IBM Plex Mono", monospace;4773  font-size: 9px;4774  letter-spacing: 0.07em;4775  text-transform: uppercase;4776  color: var(--peach-t2);4777  flex-shrink: 0;4778}47794780.peach-duress-status.is-active {4781  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4782  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4783  color: var(--peach-t0);4784}47854786.peach-duress-form {4787  padding: 8px 0 4px;4788  display: flex;4789  flex-direction: column;4790  gap: 6px;4791}47924793.peach-duress-form .peach-label {4794  margin-top: 4px;4795}47964797.peach-duress-actions {4798  display: flex;4799  gap: 6px;4800  align-items: center;4801  margin-top: 4px;4802}48034804.peach-duress-actions .peach-btn:first-child {4805  margin-right: auto;4806}48074808/* Improved overlay spring entrance */4809.peach-overlay-view.ov-enter-up {4810  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4811}48124813@keyframes ov-enter-up-spring {4814  from { opacity: 0; transform: translateY(16px) scale(0.98); }4815  to   { opacity: 1; transform: translateY(0) scale(1); }4816}48174818.peach-overlay-view.ov-enter-right {4819  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4820}48214822@keyframes ov-enter-right-spring {4823  from { opacity: 0; transform: translateX(18px) scale(0.98); }4824  to   { opacity: 1; transform: translateX(0) scale(1); }4825}48264827/* ── Onboarding-mode restore screens (file import) ── */4828/* Used when MainImportView renders during onboarding (no vault yet).4829   Animates like a lock-screen transition. */4830.peach-lock-view {4831  position: absolute;4832  inset: 0;4833  display: flex;4834  flex-direction: column;4835  background:4836    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4837    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4838    var(--peach-bg);4839  z-index: 2;4840  overflow: hidden;4841  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4842}48434844.peach-lock-view-header {4845  display: flex;4846  align-items: center;4847  justify-content: space-between;4848  padding: 16px 18px 12px;4849  flex-shrink: 0;4850}48514852/* ───────── Settings: auto-lock select ───────── */4853.peach-settings-select {4854  font-family: "IBM Plex Mono", monospace;4855  font-size: 11px;4856  background: transparent;4857  border: 1px solid var(--peach-t3);4858  border-radius: 4px;4859  color: var(--peach-t1);4860  padding: 3px 6px;4861  cursor: pointer;4862  outline: none;4863}4864.peach-settings-select:focus {4865  border-color: var(--peach-accent);4866}48674868/* ───────── Duress status pill (new polished) ───────── */4869.peach-duress-status-pill {4870  font-family: "IBM Plex Mono", monospace;4871  font-size: 9px;4872  text-transform: uppercase;4873  letter-spacing: 0.12em;4874  padding: 2px 8px;4875  border-radius: 12px;4876  background: var(--peach-t3);4877  color: var(--peach-t2);4878  flex-shrink: 0;4879}4880.peach-duress-status-pill.is-active {4881  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4882  color: var(--peach-accent);4883}48844885/* ───────── Entry advanced disclosure (canary) ───────── */4886.peach-entry-advanced {4887  margin-top: 12px;4888  border-top: 1px solid var(--peach-t3);4889  padding-top: 10px;4890  position: relative;4891  z-index: 1;4892}4893.peach-entry-advanced-toggle {4894  display: flex;4895  align-items: center;4896  justify-content: space-between;4897  width: 100%;4898  background: transparent;4899  border: none;4900  cursor: pointer;4901  padding: 0;4902  color: var(--peach-t2);4903}4904.peach-canary-section {4905  margin-top: 10px;4906  display: grid;4907  gap: 6px;4908}49094910/* ───────── Import: merge/replace radio choices ───────── */4911.peach-import-choice {4912  display: flex;4913  align-items: flex-start;4914  gap: 10px;4915  padding: 8px 10px;4916  border: 1px solid var(--peach-t3);4917  border-radius: 10px;4918  cursor: pointer;4919  margin-bottom: 6px;4920  transition: border-color 120ms ease, background 120ms ease;4921}4922.peach-import-choice:hover {4923  border-color: var(--peach-accent);4924}4925.peach-import-choice input[type="radio"] {4926  margin-top: 3px;4927  accent-color: var(--peach-accent);4928  flex-shrink: 0;4929}4930.peach-import-choice-main {4931  display: flex;4932  flex-direction: column;4933  gap: 2px;4934  min-width: 0;4935}4936.peach-import-choice-label {4937  font-size: 12px;4938  color: var(--peach-t0);4939}4940.peach-import-choice-sub {4941  font-size: 11px;4942  color: var(--peach-t2);4943  line-height: 1.5;4944}49454946/* ───────── Export: success confirmation strip ───────── */4947.peach-export-success {4948  display: flex;4949  align-items: flex-start;4950  gap: 10px;4951  padding: 12px;4952  border-radius: 12px;4953  border: 1px solid rgba(150, 175, 110, 0.3);4954  background: rgba(150, 175, 110, 0.08);4955  color: var(--peach-t0);4956  font-size: 12px;4957  line-height: 1.55;4958}4959.peach-export-success-check {4960  color: rgba(150, 175, 110, 0.9);4961  font-size: 14px;4962  flex-shrink: 0;4963}49644965/* ── Trash view ──────────────────────────────────────────────────────── */4966.peach-trash-entry-row {4967  display: flex;4968  align-items: center;4969  justify-content: space-between;4970  gap: 8px;4971  padding: 8px 0;4972  border-bottom: 1px solid var(--peach-border);4973}4974.peach-trash-entry-info {4975  flex: 1;4976  min-width: 0;4977  display: flex;4978  flex-direction: column;4979  gap: 2px;4980}4981.peach-trash-entry-title {4982  font-size: 13px;4983  color: var(--peach-t0);4984  overflow: hidden;4985  text-overflow: ellipsis;4986  white-space: nowrap;4987}4988.peach-trash-entry-meta {4989  font-family: var(--font-mono);4990  font-size: 9px;4991  color: var(--peach-t2);4992  letter-spacing: 0.04em;4993}4994.peach-trash-entry-actions {4995  display: flex;4996  align-items: center;4997  gap: 4px;4998  flex-shrink: 0;4999}5000.peach-trash-delete-btn {5001  background: transparent;5002  border: 0;5003  color: var(--peach-t3);5004  font-size: 16px;5005  line-height: 1;5006  cursor: pointer;5007  padding: 2px 5px;5008  transition: color 0.15s;5009}5010.peach-trash-delete-btn:hover { color: var(--peach-breach); }5011.peach-trash-list {5012  overflow-y: auto;5013}5014.peach-trash-footer {5015  display: flex;5016  align-items: center;5017  gap: 8px;5018  padding: 8px 0 0;5019  border-top: 1px solid var(--peach-border);5020  margin-top: 4px;5021}5022.peach-trash-purge-all {5023  background: transparent;5024  border: 0;5025  color: var(--peach-t3);5026  font-size: 10px;5027  cursor: pointer;5028  padding: 4px 0;5029  letter-spacing: 0.03em;5030  transition: color 0.2s;5031}5032.peach-trash-purge-all:hover { color: var(--peach-breach); }5033.peach-trash-purge-confirm-label {5034  font-size: 10px;5035  color: var(--peach-t1);5036  flex: 1;5037}50385039/* ── Settings shortcuts grid ─────────────────────────────────────────── */5040.peach-shortcuts-grid {5041  display: grid;5042  grid-template-columns: auto 1fr;5043  gap: 6px 12px;5044  align-items: center;5045  padding: 4px 0;5046}5047.peach-shortcut-key {5048  font-family: var(--font-mono);5049  font-size: 10px;5050  color: var(--peach-t0);5051  background: var(--peach-t3);5052  border-radius: 4px;5053  padding: 2px 6px;5054  white-space: nowrap;5055  text-align: center;5056}5057.peach-shortcut-desc {5058  font-size: 11px;5059  color: var(--peach-t1);5060}50615062/* ── Sort bar trash button ───────────────────────────────────────────── */5063.peach-sort-trash-btn {5064  display: flex;5065  align-items: center;5066  justify-content: center;5067  padding: 3px 5px;5068  background: transparent;5069  border: none;5070  cursor: pointer;5071  color: var(--peach-t2);5072  border-radius: 4px;5073  transition: color 140ms ease, background 140ms ease;5074}5075.peach-sort-trash-btn:hover {5076  color: var(--peach-t1);5077  background: var(--peach-t3);5078}5079.peach-sort-trash-btn.is-active {5080  color: var(--peach-accent);5081}50825083/* Accent color picker */5084.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }5085.peach-accent-picker {5086  display: flex;5087  flex-wrap: wrap;5088  gap: 7px;5089  padding: 2px 0;5090}5091.peach-accent-swatch {5092  width: 22px;5093  height: 22px;5094  border-radius: 50%;5095  border: 2px solid transparent;5096  cursor: pointer;5097  padding: 0;5098  transition: transform 100ms;5099  outline-offset: 2px;5100}5101.peach-accent-swatch:hover { transform: scale(1.15); }5102.peach-accent-swatch.is-active {5103  border-color: var(--peach-t0);5104  transform: scale(1.1);5105}51065107/* Display font picker — swatch shows an "Aa" preview rendered with each5108   font option so the user can see what they're picking before they pick. */5109.peach-settings-row--font { align-items: flex-start; padding-top: 10px; }5110.peach-font-picker {5111  display: flex;5112  flex-wrap: wrap;5113  gap: 6px;5114  padding: 2px 0;5115  flex: 1;5116  justify-content: flex-end;5117}5118.peach-font-swatch {5119  display: flex;5120  flex-direction: column;5121  align-items: center;5122  gap: 2px;5123  padding: 4px 8px;5124  background: transparent;5125  border: 1px solid var(--peach-t3);5126  border-radius: 6px;5127  cursor: pointer;5128  transition: border-color 100ms, background 100ms;5129  min-width: 56px;5130}5131.peach-font-swatch:hover {5132  border-color: var(--peach-accent-dim);5133  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5134}5135.peach-font-swatch.is-active {5136  border-color: var(--peach-accent);5137  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5138}5139.peach-font-swatch-glyph {5140  font-size: 18px;5141  line-height: 1;5142  color: var(--peach-t0);5143}5144.peach-font-swatch[data-font-preview="cormorant-italic"] .peach-font-swatch-glyph {5145  font-family: "Cormorant Garamond", serif;5146  font-style: italic;5147  font-weight: 400;5148}5149.peach-font-swatch[data-font-preview="cormorant"] .peach-font-swatch-glyph {5150  font-family: "Cormorant Garamond", serif;5151  font-style: normal;5152  font-weight: 400;5153}5154.peach-font-swatch[data-font-preview="inter"] .peach-font-swatch-glyph {5155  font-family: "Inter Variable", "Inter", sans-serif;5156  font-style: normal;5157  font-weight: 400;5158}5159.peach-font-swatch[data-font-preview="system"] .peach-font-swatch-glyph {5160  font-family: system-ui, -apple-system, sans-serif;5161  font-style: normal;5162  font-weight: 400;5163}5164.peach-font-swatch-name {5165  font-family: var(--font-mono);5166  font-size: 8px;5167  letter-spacing: 0.06em;5168  color: var(--peach-t2);5169  text-transform: lowercase;5170}51715172.peach-pill-group {5173  display: flex;5174  gap: 6px;5175}5176.peach-pill-group .peach-btn.is-active {5177  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);5178  border-color: var(--peach-accent);5179  color: var(--peach-t0);5180}51815182/* ── Card entry styles ───────────────────────────────────────── */5183.peach-card-number {5184  font-family: var(--peach-mono);5185  letter-spacing: 0.08em;5186}51875188.peach-card-network-badge {5189  font-size: 10px;5190  padding: 1px 5px;5191  border-radius: 4px;5192  border: 0.5px solid var(--peach-border);5193  color: var(--peach-text-dim);5194  margin-left: 6px;5195  vertical-align: middle;5196}51975198.peach-card-expiry-row {5199  display: flex;5200  align-items: center;5201  gap: 8px;5202}52035204.peach-card-expiry-sep {5205  color: var(--peach-text-dim);5206}52075208/* ── Pro tier — upgrade screen ──────────────────────────────── */5209.peach-pro-mark {5210  font-size: 9px;5211  color: var(--peach-accent);5212  margin-left: 6px;5213  vertical-align: super;5214  opacity: 0.7;5215}52165217.peach-pro-mini-badge {5218  display: block;5219  font-size: 10px;5220  font-style: italic;5221  color: var(--peach-accent);5222  letter-spacing: 0.04em;5223  margin-top: -2px;5224  padding-left: 2px;5225  opacity: 0.85;5226  text-align: center;5227}52285229.peach-wordmark-stack {5230  display: inline-flex;5231  flex-direction: column;5232  align-items: center;5233}52345235/* ── Pro tier — upgrade page ─────────────────────────────────── */5236.peach-pro-upgrade {5237  display: flex;5238  flex-direction: column;5239  align-items: stretch;5240  gap: 10px;5241  padding: 0 4px 8px;5242}52435244.peach-pro-upgrade-hero {5245  display: flex;5246  flex-direction: column;5247  align-items: center;5248  gap: 4px;5249  padding: 10px 0 6px;5250}52515252.peach-pro-upgrade-mark-wrap {5253  display: flex;5254  align-items: center;5255  justify-content: center;5256  margin-bottom: 2px;5257}52585259.peach-pro-upgrade-mark {5260  width: 38px;5261  height: 38px;5262  filter:5263    drop-shadow(0 0 7px color-mix(in srgb, var(--peach-accent) 45%, transparent))5264    drop-shadow(0 0 18px color-mix(in srgb, var(--peach-accent) 18%, transparent));5265}52665267.peach-pro-upgrade-title {5268  font-family: var(--font-display, var(--font-ui));5269  font-size: 22px;5270  margin: 0;5271  color: var(--peach-t0);5272  letter-spacing: 0.01em;5273}52745275.peach-pro-upgrade-tagline {5276  margin: 0;5277  font-style: italic;5278  color: var(--peach-t2);5279  font-size: 11px;5280}52815282.peach-pro-features {5283  display: flex;5284  flex-direction: column;5285  gap: 8px;5286  border-top: 1px solid var(--peach-border);5287  border-bottom: 1px solid var(--peach-border);5288  padding: 10px 4px;5289}52905291.peach-pro-feature {5292  display: flex;5293  gap: 9px;5294  align-items: baseline;5295}52965297.peach-pro-feature-mark {5298  color: var(--peach-accent);5299  font-size: 11px;5300  flex-shrink: 0;5301  display: inline-block;5302  transform-origin: center;5303  opacity: 0.8;5304}53055306.peach-pro-feature-text {5307  display: flex;5308  flex-direction: column;5309  gap: 1px;5310}53115312.peach-pro-feature-name {5313  font-size: 12px;5314  color: var(--peach-t0);5315}53165317.peach-pro-feature-desc {5318  font-size: 10px;5319  color: var(--peach-t2);5320}53215322.peach-pro-feature.is-highlighted .peach-pro-feature-mark {5323  animation: peach-pulse-accent 600ms ease-out forwards;5324}53255326@keyframes peach-pulse-accent {5327  0%   { opacity: 1; transform: scale(1.4); }5328  100% { opacity: 0.7; transform: scale(1); }5329}53305331.peach-pro-upgrade-actions {5332  display: flex;5333  flex-direction: column;5334  align-items: center;5335  gap: 8px;5336  padding-top: 2px;5337}53385339.peach-pro-pricing {5340  margin: 0;5341  text-align: center;5342  font-size: 11px;5343  color: var(--peach-t2);5344  letter-spacing: 0.04em;5345}53465347.peach-pro-upgrade-cta {5348  align-self: stretch;5349  text-align: center;5350  text-decoration: none;5351  display: block;5352  padding: 9px 20px;5353  font-size: 13px;5354  box-sizing: border-box;5355}53565357.peach-pro-key-divider {5358  display: flex;5359  align-items: center;5360  gap: 8px;5361  width: 100%;5362  color: var(--peach-t3);5363  font-size: 10px;5364  letter-spacing: 0.08em;5365}53665367.peach-pro-key-divider::before,5368.peach-pro-key-divider::after {5369  content: "";5370  flex: 1;5371  height: 1px;5372  background: var(--peach-border);5373}53745375.peach-pro-key-link {5376  background: transparent;5377  border: 1px solid var(--peach-border);5378  border-radius: 8px;5379  color: var(--peach-t1);5380  font-size: 12px;5381  cursor: pointer;5382  align-self: stretch;5383  padding: 8px 12px;5384  text-align: center;5385  transition: border-color 0.2s, color 0.2s;5386}53875388.peach-pro-key-link:hover {5389  border-color: var(--peach-accent);5390  color: var(--peach-accent);5391}53925393/* ── Pro tier — key ceremony ─────────────────────────────────── */5394.peach-pro-key-ceremony {5395  display: flex;5396  flex-direction: column;5397  align-items: center;5398  gap: 12px;5399  padding: 20px 4px 16px;5400}54015402.peach-pro-key-ceremony .peach-lock-rune-string {5403  font-size: 16px;5404  gap: 12px;5405  flex: 0;5406  justify-content: center;5407}54085409.peach-pro-key-ceremony-label {5410  margin: 0;5411  font-size: 11px;5412  color: var(--peach-t2);5413  font-style: italic;5414  letter-spacing: 0.04em;5415}54165417.peach-pro-key-input {5418  font-family: var(--font-mono, monospace);5419  letter-spacing: 0.06em;5420  text-align: center;5421  width: 100%;5422  box-sizing: border-box;5423}54245425.peach-pro-key-error {5426  margin: 0;5427  font-size: 12px;5428  text-align: center;5429  color: var(--peach-breach, #e55);5430  padding: 0;5431}54325433.peach-pro-key-activate {5434  width: 100%;5435  text-align: center;5436  box-sizing: border-box;5437  padding: 10px 20px;5438  font-size: 13px;5439}54405441.peach-pro-key-cancel {5442  background: transparent;5443  border: 0;5444  color: var(--peach-t2);5445  font-size: 11px;5446  cursor: pointer;5447  padding: 2px 8px;5448  transition: color 0.2s;5449}54505451.peach-pro-key-cancel:hover { color: var(--peach-accent); }54525453/* ── Pro tier — active state ─────────────────────────────────── */5454.peach-pro-active {5455  display: flex;5456  flex-direction: column;5457  align-items: center;5458  gap: 0;5459  padding: 8px 4px 16px;5460  min-height: 280px;5461}54625463.peach-pro-active-hero {5464  display: flex;5465  flex-direction: column;5466  align-items: center;5467  gap: 6px;5468  padding: 20px 0 22px;5469}54705471.peach-pro-active-mark-wrap {5472  display: flex;5473  align-items: center;5474  justify-content: center;5475  margin-bottom: 4px;5476}54775478.peach-pro-active-mark {5479  width: 60px;5480  height: 60px;5481  filter:5482    drop-shadow(0 0 10px color-mix(in srgb, var(--peach-accent) 55%, transparent))5483    drop-shadow(0 0 26px color-mix(in srgb, var(--peach-accent) 22%, transparent));5484}54855486.peach-pro-active-title {5487  font-family: var(--font-display, var(--font-ui));5488  font-size: 26px;5489  margin: 0;5490  color: var(--peach-t0);5491  letter-spacing: 0.01em;5492}54935494.peach-pro-active-since {5495  margin: 0;5496  font-size: 11px;5497  color: var(--peach-t2);5498  font-style: italic;5499}55005501.peach-pro-active-features {5502  display: flex;5503  flex-direction: column;5504  gap: 8px;5505  width: 100%;5506  padding: 14px 8px 0;5507  border-top: 1px solid var(--peach-border);5508  flex: 1;5509}55105511.peach-pro-active-feature {5512  display: flex;5513  align-items: center;5514  gap: 9px;5515}55165517.peach-pro-active-feature-mark {5518  color: var(--peach-accent);5519  font-size: 10px;5520  opacity: 0.65;5521  flex-shrink: 0;5522}55235524.peach-pro-active-feature-name {5525  font-size: 12px;5526  color: var(--peach-t1);5527}55285529.peach-pro-deactivate {5530  align-self: center;5531  background: transparent;5532  border: 0;5533  color: var(--peach-t3);5534  font-size: 10px;5535  cursor: pointer;5536  padding: 8px 0 0;5537  margin-top: 16px;5538  letter-spacing: 0.03em;5539  transition: color 0.2s;5540}55415542.peach-pro-deactivate:hover { color: var(--peach-t2); }55435544.peach-pro-deactivate:disabled {5545  opacity: 0.5;5546  cursor: default;5547}55485549/* ── Pro advanced health remediation queue ──────────────────── */5550.peach-health-pro-queue {5551  display: flex;5552  flex-direction: column;5553  gap: 10px;5554  padding: 12px;5555  margin: 0 0 12px;5556  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5557  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);5558  border-radius: 10px;5559}55605561.peach-health-pro-queue-head {5562  display: flex;5563  justify-content: space-between;5564  align-items: baseline;5565}55665567.peach-health-pro-queue-title {5568  font-size: 12px;5569  font-weight: 500;5570  letter-spacing: 0.04em;5571  text-transform: uppercase;5572  color: var(--peach-accent);5573}55745575.peach-health-pro-queue-score {5576  font-size: 11px;5577  color: var(--peach-t2);5578}55795580.peach-health-pro-row {5581  display: flex;5582  gap: 10px;5583  align-items: center;5584  padding: 8px 0;5585  border-top: 1px solid var(--peach-border);5586}55875588.peach-health-pro-row-info {5589  flex: 1;5590  display: flex;5591  flex-direction: column;5592  gap: 4px;5593  min-width: 0;5594}55955596.peach-health-pro-row-name {5597  font-size: 13px;5598  color: var(--peach-t0);5599  overflow: hidden;5600  text-overflow: ellipsis;5601  white-space: nowrap;5602}56035604.peach-health-pro-row-meta {5605  font-size: 11px;5606  color: var(--peach-t2);5607}56085609.peach-health-pro-bar {5610  height: 2px;5611  background: var(--peach-border);5612  border-radius: 2px;5613  overflow: hidden;5614  margin-top: 2px;5615}56165617.peach-health-pro-bar-fill {5618  height: 100%;5619  background: var(--peach-accent);5620  transition: width 200ms ease-out;5621}56225623/* ── Pro activation celebration ── */5624@keyframes peach-pro-bloom {5625  0%   { filter: drop-shadow(0 0 0px var(--peach-glow)); }5626  40%  { filter: drop-shadow(0 0 24px var(--peach-accent))5627                 drop-shadow(0 0 48px var(--peach-glow)); }5628  100% { filter: drop-shadow(0 0 0px var(--peach-glow)); }5629}56305631@keyframes peach-pro-wordmark-in {5632  from { opacity: 0; transform: translateY(4px); }5633  to   { opacity: 1; transform: translateY(0); }5634}56355636@keyframes peach-pro-fade-out {5637  from { opacity: 1; }5638  to   { opacity: 0; }5639}56405641.peach-pro-celebration {5642  background:5643    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),5644    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),5645    var(--peach-bg);5646  border: 1px solid var(--peach-t3);5647  box-shadow:5648    0 2px 8px rgba(0,0,0,0.55),5649    0 14px 48px rgba(0,0,0,0.7),5650    0 0 0 1px rgba(240,232,216,0.04);5651  overflow: hidden;5652  width: 320px;5653  height: 520px;5654  display: flex;5655  flex-direction: column;5656  align-items: center;5657  justify-content: center;5658  gap: 8px;5659  padding: 32px 24px;5660  text-align: center;5661}56625663.peach-pro-celebration.is-leaving {5664  animation: peach-pro-fade-out 400ms ease forwards;5665}56665667.peach-pro-bloom-target {5668  font-size: 48px;5669  animation: peach-pro-bloom 600ms cubic-bezier(0.16, 1, 0.3, 1) forwards;5670  margin-bottom: 12px;5671}56725673.peach-pro-wordmark {5674  font-family: var(--font-display);5675  font-size: 22px;5676  font-style: italic;5677  font-weight: 400;5678  color: var(--peach-accent);5679  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;5680}56815682.peach-pro-thankyou {5683  font-size: 12px;5684  font-style: italic;5685  color: var(--peach-t2);5686  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 800ms both;5687}568856895690/* ── Pending Pro notice banner (shown after background sync gate fires) ── */5691.peach-pro-notice-banner {5692  display: flex;5693  align-items: center;5694  gap: 8px;5695  padding: 7px 12px;5696  background: color-mix(in srgb, var(--peach-accent) 12%, var(--peach-bg-card));5697  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);5698  font-size: 11px;5699  color: var(--peach-t2);5700  font-family: "IBM Plex Mono", monospace;5701  flex-shrink: 0;5702}57035704.peach-pro-notice-link {5705  background: none;5706  border: none;5707  padding: 0;5708  cursor: pointer;5709  font-size: 11px;5710  color: var(--peach-accent);5711  font-family: "IBM Plex Mono", monospace;5712  margin-left: auto;5713  white-space: nowrap;5714}57155716.peach-pro-notice-close {5717  background: none;5718  border: none;5719  padding: 0 0 0 4px;5720  cursor: pointer;5721  font-size: 10px;5722  color: var(--peach-t3);5723  line-height: 1;5724}57255726/* ─── First-run onboarding ──────────────────────────────────────────────5727   Three-card welcome shown once before vault creation. The PeachScript5728   rune background drifts behind everything at very low opacity — it's5729   atmosphere, not focus. The cards themselves use the same panel5730   language as the rest of the popup so the transition into NewVault is5731   continuous, not a jarring switch of visual register. */57325733.peach-onboarding {5734  position: relative;5735  display: flex;5736  flex-direction: column;5737  width: 100%;5738  height: 100%;5739  padding: 16px 16px 18px;5740  box-sizing: border-box;5741  overflow: hidden;5742  animation: peach-onboard-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both;5743}57445745.peach-onboarding.is-completing {5746  animation: peach-onboard-exit 200ms ease-out forwards;5747}57485749.peach-rune-background {5750  position: absolute;5751  inset: 0;5752  width: 100%;5753  height: 100%;5754  pointer-events: none;5755  z-index: 0;5756  transition: opacity 500ms ease-out;5757}57585759.peach-onboarding.is-completing .peach-rune-background {5760  opacity: 0;5761}57625763.peach-onboarding-header {5764  position: relative;5765  z-index: 1;5766  display: flex;5767  align-items: center;5768  margin-bottom: 14px;5769}57705771.peach-onboarding-card {5772  position: relative;5773  z-index: 1;5774  flex: 1;5775  display: flex;5776  flex-direction: column;5777  gap: 10px;5778  padding: 22px 20px;5779  border-radius: 16px;5780  border: 1px solid var(--peach-t3);5781  background:5782    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5783  backdrop-filter: blur(3px);5784  -webkit-backdrop-filter: blur(3px);5785  box-shadow:5786    inset 0 1px 0 rgba(240, 232, 216, 0.04),5787    0 12px 28px rgba(0, 0, 0, 0.12);5788  cursor: pointer;5789  user-select: none;5790  animation: peach-card-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;5791}57925793.peach-onboarding-card.is-exiting {5794  animation: peach-card-out 120ms ease-in forwards;5795  pointer-events: none;5796}57975798.peach-onboarding-card-headline {5799  margin: 0;5800  font-family: var(--font-display);5801  font-style: italic;5802  font-weight: 400;5803  font-size: 22px;5804  line-height: 1.05;5805  color: var(--peach-t0);5806  white-space: pre-line;5807}58085809.peach-onboarding-divider {5810  margin: 4px 0 6px;5811  border: 0;5812  border-top: 1px solid var(--peach-t3);5813  width: 100%;5814}58155816.peach-onboarding-body {5817  margin: 0;5818  font-size: 13px;5819  line-height: 1.6;5820  color: var(--peach-t1);5821}58225823.peach-onboarding-warning {5824  display: flex;5825  align-items: flex-start;5826  gap: 8px;5827  margin: 6px 0 0;5828  padding-top: 8px;5829  border-top: 1px dashed var(--peach-t3);5830  font-size: 13px;5831  line-height: 1.5;5832  color: var(--peach-t1);5833}58345835.peach-onboarding-warning-icon {5836  color: var(--peach-accent);5837  font-size: 13px;5838  line-height: 1.5;5839  flex: 0 0 auto;5840}58415842.peach-onboarding-nav {5843  position: relative;5844  z-index: 1;5845  display: flex;5846  align-items: center;5847  justify-content: space-between;5848  margin-top: 12px;5849  padding: 0 4px;5850}58515852.peach-onboarding-dots {5853  display: flex;5854  align-items: center;5855  gap: 6px;5856}58575858.peach-onboarding-dot {5859  width: 6px;5860  height: 6px;5861  border-radius: 50%;5862  background: var(--peach-t2);5863  transition: width 200ms ease, height 200ms ease, background 200ms ease;5864}58655866.peach-onboarding-dot.is-active {5867  width: 8px;5868  height: 8px;5869  background: var(--peach-accent);5870}58715872.peach-onboarding-next {5873  background: none;5874  border: none;5875  padding: 4px 0;5876  cursor: pointer;5877  font-family: "IBM Plex Mono", monospace;5878  font-size: 11px;5879  letter-spacing: 0.04em;5880  color: var(--peach-t1);5881  transition: color 150ms ease;5882}58835884.peach-onboarding-next:hover {5885  color: var(--peach-t0);5886}58875888.peach-onboarding-next:disabled {5889  opacity: 0.5;5890  cursor: default;5891}58925893@keyframes peach-onboard-enter {5894  from { opacity: 0; transform: translateY(20px); }5895  to   { opacity: 1; transform: translateY(0); }5896}58975898@keyframes peach-onboard-exit {5899  from { opacity: 1; }5900  to   { opacity: 0; }5901}59025903@keyframes peach-card-in {5904  from { opacity: 0; transform: translateX(12px); }5905  to   { opacity: 1; transform: translateX(0); }5906}59075908@keyframes peach-card-out {5909  from { opacity: 1; transform: translateX(0); }5910  to   { opacity: 0; transform: translateX(-12px); }5911}59125913/* ─── New vault screen — matched to onboarding card language ─────────── */59145915.peach-newvault {5916  position: relative;5917  display: flex;5918  flex-direction: column;5919  gap: 12px;5920  padding: 16px 16px 18px;5921  overflow: hidden;5922}59235924/* Suppress the warm-blob ambient art inherited from .lock-screen — the5925   new vault card now carries the visual weight. */5926.peach-newvault::before {5927  content: none;5928}59295930.peach-newvault-header {5931  position: relative;5932  z-index: 2;5933  display: flex;5934  align-items: center;5935  margin-bottom: 2px;5936}59375938.peach-newvault-mark {5939  position: absolute;5940  right: -12px;5941  top: 6px;5942  width: 110px;5943  height: 110px;5944  pointer-events: none;5945  opacity: 0.10;5946  filter: saturate(0.9);5947  z-index: 0;5948}5949.peach-newvault-mark-art {5950  width: 100%;5951  height: 100%;5952}5953.peach-newvault-mark-art path:nth-child(2),5954.peach-newvault-mark-art path:nth-child(3) {5955  stroke: rgba(123, 144, 96, 0.88);5956  fill: rgba(123, 144, 96, 0.88);5957}59585959.peach-newvault-card {5960  position: relative;5961  z-index: 1;5962  display: flex;5963  flex-direction: column;5964  gap: 12px;5965  padding: 22px 20px 18px;5966  border-radius: 16px;5967  border: 1px solid var(--peach-t3);5968  background:5969    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5970  backdrop-filter: blur(3px);5971  -webkit-backdrop-filter: blur(3px);5972  box-shadow:5973    inset 0 1px 0 rgba(240, 232, 216, 0.04),5974    0 12px 28px rgba(0, 0, 0, 0.12);5975  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;5976}59775978.peach-newvault-headline {5979  margin: 0;5980  font-family: var(--font-display);5981  font-style: italic;5982  font-weight: 400;5983  font-size: 24px;5984  line-height: 1.05;5985  color: var(--peach-t0);5986  white-space: pre-line;5987}59885989.peach-newvault-divider {5990  margin: 2px 0 4px;5991  border: 0;5992  border-top: 1px solid var(--peach-t3);5993  width: 100%;5994}59955996.peach-newvault-field {5997  display: flex;5998  flex-direction: column;5999  gap: 4px;6000}60016002.peach-newvault-label-row {6003  display: flex;6004  align-items: center;6005  justify-content: space-between;6006}60076008/* Monospace input scaled to the card. Replaces the 22px unlock-input6009   so the placeholder no longer overflows and the field reads as part6010   of the same surface as the body copy. */6011.peach-newvault-input {6012  font-size: 14px;6013  letter-spacing: 0.18em;6014  padding: 8px 0;6015}6016.peach-newvault-input::placeholder {6017  letter-spacing: 0.18em;6018  color: var(--peach-t2);6019}60206021.peach-newvault-hint {6022  margin: 2px 0 0;6023  font-family: "IBM Plex Mono", monospace;6024  font-size: 10px;6025  color: var(--peach-t2);6026  letter-spacing: 0.04em;6027}60286029.peach-newvault-submit {6030  margin-top: 4px;6031}60326033.peach-newvault-warning {6034  display: flex;6035  align-items: flex-start;6036  gap: 8px;6037  margin: 4px 0 0;6038  padding-top: 10px;6039  border-top: 1px dashed var(--peach-t3);6040  font-size: 12px;6041  line-height: 1.5;6042  color: var(--peach-t1);6043}60446045.peach-newvault-warning-icon {6046  color: var(--peach-accent);6047  font-size: 13px;6048  line-height: 1.4;6049  flex: 0 0 auto;6050}60516052.peach-newvault-footer {6053  position: relative;6054  z-index: 1;6055  display: flex;6056  flex-direction: column;6057  gap: 4px;6058  padding: 4px 4px 0;6059}60606061/* Settings body — warm accent gradient gives the glass something to blur against */6062.peach-settings-body {6063  background:6064    radial-gradient(6065      ellipse at 30% 20%,6066      color-mix(in srgb, var(--peach-accent) 8%, transparent) 0%,6067      transparent 60%6068    );6069}60706071/* ── Danger zone (Settings home → Panic flow) ──────────────────────────── */6072.peach-danger-zone {6073  border-top: 1px solid rgba(220, 38, 38, 0.3);6074  margin: 24px 16px 0;6075  padding-top: 20px;6076}60776078.peach-danger-zone-label {6079  margin: 0 0 12px;6080  font-family: "IBM Plex Mono", monospace;6081  font-size: 10px;6082  letter-spacing: 0.1em;6083  color: rgba(220, 38, 38, 0.7);6084}60856086.peach-destroy-button {6087  width: 100%;6088  padding: 10px;6089  background: transparent;6090  border: 1px solid rgba(220, 38, 38, 0.4);6091  border-radius: 8px;6092  color: rgba(220, 38, 38, 0.7);6093  font-size: 13px;6094  cursor: pointer;6095  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;6096}60976098.peach-destroy-button:hover {6099  background: rgba(220, 38, 38, 0.08);6100  border-color: rgba(220, 38, 38, 0.7);6101  color: rgb(220, 38, 38);6102}61036104/* ── Panic flow (three-step destruction) ───────────────────────────────── */6105.peach-panic {6106  display: flex;6107  flex-direction: column;6108  height: 100%;6109  padding: 28px 20px 20px;6110  gap: 18px;6111  overflow-y: auto;6112}61136114.peach-panic-step2 {6115  background: rgba(220, 38, 38, 0.04);6116}61176118.peach-panic-step3 {6119  background: #0f0505;6120  color: #ffffff;6121}61226123.peach-panic-icon {6124  font-size: 32px;6125  color: rgb(220, 38, 38);6126  line-height: 1;6127}61286129.peach-panic-title {6130  margin: 0;6131  font-size: 18px;6132  font-weight: 500;6133  color: var(--peach-t1);6134}61356136.peach-panic-title--severe {6137  font-size: 20px;6138  font-weight: 700;6139  color: rgb(220, 38, 38);6140}61416142.peach-panic-body {6143  margin: 0;6144  font-size: 13px;6145  line-height: 1.55;6146  color: var(--peach-t2);6147}61486149.peach-panic-body--severe {6150  color: rgba(220, 38, 38, 0.85);6151}61526153.peach-panic-body--final {6154  font-size: 16px;6155  font-weight: 700;6156  color: rgb(255, 80, 80);6157  line-height: 1.4;6158}61596160.peach-panic-body--final-intro {6161  font-size: 16px;6162  color: #ffffff;6163  font-weight: 400;6164}61656166.peach-panic-divider {6167  height: 1px;6168  background: rgba(255, 255, 255, 0.08);6169  margin: 4px 0;6170}61716172.peach-panic-confirm-input {6173  width: 100%;6174  padding: 10px 12px;6175  background: rgba(255, 255, 255, 0.02);6176  border: 1px solid rgba(220, 38, 38, 0.4);6177  border-radius: 8px;6178  color: var(--peach-t1);6179  font-family: "IBM Plex Mono", monospace;6180  font-size: 14px;6181  letter-spacing: 0.12em;6182  text-transform: uppercase;6183}61846185.peach-panic-confirm-input:focus {6186  outline: none;6187  border-color: rgb(220, 38, 38);6188}61896190.peach-panic-confirm-input--match {6191  border-color: rgb(220, 38, 38);6192  color: rgb(220, 38, 38);6193}61946195.peach-panic-confirm-label {6196  font-size: 11px;6197  color: var(--peach-t2);6198  margin: 0 0 -8px;6199  letter-spacing: 0.06em;6200}62016202.peach-panic-actions {6203  display: flex;6204  flex-direction: column;6205  gap: 10px;6206  margin-top: auto;6207}62086209.peach-panic-button {6210  width: 100%;6211  padding: 12px;6212  border-radius: 8px;6213  font-size: 13px;6214  cursor: pointer;6215  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;6216}62176218.peach-panic-button--primary {6219  background: var(--peach-accent);6220  border: 1px solid var(--peach-accent);6221  color: #ffffff;6222  font-weight: 600;6223}62246225.peach-panic-button--primary:hover {6226  background: color-mix(in srgb, var(--peach-accent) 88%, white);6227}62286229.peach-panic-button--danger {6230  background: rgb(220, 38, 38);6231  border: 1px solid rgb(220, 38, 38);6232  color: #ffffff;6233  font-weight: 600;6234}62356236.peach-panic-button--danger:disabled {6237  opacity: 0.35;6238  cursor: not-allowed;6239}62406241.peach-panic-button--ghost {6242  background: transparent;6243  border: 1px solid rgba(255, 255, 255, 0.18);6244  color: var(--peach-t2);6245}62466247.peach-panic-button--ghost:hover {6248  border-color: rgba(255, 255, 255, 0.32);6249  color: var(--peach-t1);6250}62516252.peach-panic-link {6253  background: transparent;6254  border: none;6255  padding: 4px 0;6256  color: rgba(220, 38, 38, 0.65);6257  font-size: 12px;6258  cursor: pointer;6259  text-align: left;6260  text-decoration: underline;6261  text-underline-offset: 3px;6262}62636264.peach-panic-link:hover {6265  color: rgb(220, 38, 38);6266}62676268.peach-panic-bar {6269  background: rgb(220, 38, 38);6270  padding: 16px 20px;6271  margin: -28px -20px 0;6272  text-align: center;6273  font-size: 13px;6274  font-weight: 700;6275  letter-spacing: 0.12em;6276  color: #ffffff;6277}62786279.peach-panic-final-button {6280  width: 100%;6281  padding: 14px;6282  background: rgb(220, 38, 38);6283  border: none;6284  border-radius: 8px;6285  color: #ffffff;6286  font-size: 14px;6287  font-weight: 700;6288  letter-spacing: 0.08em;6289  text-transform: uppercase;6290  cursor: pointer;6291  animation: peach-panic-pulse 2s ease-in-out infinite;6292}62936294@keyframes peach-panic-pulse {6295  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }6296  50%      { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }6297}62986299[data-motion="reduce"] .peach-panic-final-button {6300  animation: none;6301}