popup.css

139.3 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-strength-row {1204  display: flex;1205  align-items: center;1206  gap: 8px;1207  margin-bottom: 10px;1208}12091210.peach-strength-track {1211  flex: 1;1212  height: 4px;1213  background: var(--peach-s2);1214  border-radius: 2px;1215  overflow: hidden;1216}12171218.peach-strength-fill {1219  height: 100%;1220  border-radius: 2px;1221  transition: width 120ms ease, background 120ms ease;1222}12231224/* ── Type selector tabs ── */1225.peach-type-tabs {1226  display: flex;1227  gap: 0;1228  background: var(--peach-t4);1229  border-radius: 8px;1230  padding: 3px;1231}12321233.peach-type-tab {1234  flex: 1;1235  display: flex;1236  align-items: center;1237  justify-content: center;1238  gap: 6px;1239  padding: 6px 10px;1240  border-radius: 6px;1241  border: none;1242  background: transparent;1243  cursor: pointer;1244  font-family: Inter, system-ui, sans-serif;1245  font-size: 11px;1246  font-weight: 400;1247  letter-spacing: 0.04em;1248  color: var(--peach-t1);1249  transition: background 150ms ease, color 150ms ease;1250}12511252.peach-type-tab.is-active {1253  background: var(--peach-s2);1254  color: var(--peach-t0);1255  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1256}12571258.peach-type-tab:not(.is-active):hover {1259  color: var(--peach-t0);1260}12611262.peach-type-tab svg {1263  opacity: 0.7;1264  flex-shrink: 0;1265}12661267.peach-type-tab.is-active svg {1268  opacity: 1;1269}12701271/* ── List view ───────────────────────────────────────────────────────── */1272.peach-list-top {1273  padding: 0 10px;1274  min-height: 46px;1275  display: flex;1276  align-items: center;1277  gap: 6px;1278  border-bottom: 1px solid var(--peach-t3);1279  flex-shrink: 0;1280  background: var(--peach-s1);1281}1282.peach-vault-list {1283  flex: 1;1284  overflow-y: auto;1285  scrollbar-width: none;1286}1287.peach-vault-list::-webkit-scrollbar { display: none; }12881289/* Scrollbar — vault list */1290.peach-vault-list {1291  scrollbar-width: thin;1292  scrollbar-color: var(--peach-t3) transparent;1293}12941295.peach-vault-list::-webkit-scrollbar {1296  width: 3px;1297}12981299.peach-vault-list::-webkit-scrollbar-thumb {1300  background: var(--peach-t3);1301  border-radius: 2px;1302}13031304.peach-entry-row {1305  width: 100%;1306  display: flex;1307  align-items: center;1308  gap: 10px;1309  padding: 9px 16px;1310  background: transparent;1311  border: none;1312  border-bottom: 1px solid var(--peach-t3);1313  cursor: pointer;1314  color: inherit;1315  text-align: left;1316  transition: background 80ms ease;1317}1318.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1319.peach-entry-row:last-child { border-bottom: none; }1320.peach-entry-row.is-active {1321  box-shadow: inset 2px 0 0 var(--peach-accent);1322  background: rgba(240,232,216,0.03);1323}1324.peach-entry-row:focus-visible {1325  outline: none;1326  box-shadow: 0 0 0 1px var(--peach-border-accent);1327  background: rgba(240,232,216,0.03);1328}1329.peach-entry-row-icon {1330  width: 26px; height: 26px;1331  border-radius: 7px;1332  border: 1px solid var(--peach-t3);1333  display: flex; align-items: center; justify-content: center;1334  color: var(--peach-t2);1335  flex-shrink: 0;1336}1337.peach-entry-row-icon.is-breach {1338  border-color: rgba(220,80,60,0.3);1339  color: rgba(220,80,60,0.7);1340}1341.peach-entry-row-info { flex: 1; min-width: 0; }1342.peach-entry-row-name {1343  display: block;1344  font-family: var(--font-display);1345  font-size: 17px;1346  font-style: italic;1347  font-weight: 400;1348  color: var(--peach-t0);1349  line-height: 1.2;1350  white-space: nowrap;1351  overflow: hidden;1352  text-overflow: ellipsis;1353}1354.peach-entry-row-meta {1355  display: block;1356  font-family: "IBM Plex Mono", monospace;1357  font-size: 9px;1358  color: var(--peach-t2);1359  margin-top: 1px;1360  letter-spacing: 0.05em;1361}1362.peach-entry-row-dot {1363  width: 5px; height: 5px;1364  border-radius: 50%;1365  background: rgba(220,80,60,0.7);1366  flex-shrink: 0;1367}1368.peach-new-entry-row {1369  display: flex;1370  align-items: center;1371  justify-content: center;1372  gap: 6px;1373  width: 100%;1374  padding: 11px;1375  background: transparent;1376  border: none;1377  border-top: 1px solid var(--peach-t3);1378  color: var(--peach-t2);1379  font-family: "IBM Plex Mono", monospace;1380  font-size: 9px;1381  text-transform: uppercase;1382  letter-spacing: 0.14em;1383  cursor: pointer;1384  flex-shrink: 0;1385  transition: color 120ms ease, background 120ms ease;1386}1387.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13881389/* ── Multi-select mode ─────────────────────────────────────────────── */13901391/* Select-mode trigger button in sort bar — same shape as trash btn */1392.peach-sort-select-btn {1393  display: flex;1394  align-items: center;1395  justify-content: center;1396  padding: 3px 5px;1397  background: transparent;1398  border: none;1399  cursor: pointer;1400  color: var(--peach-t2);1401  border-radius: 4px;1402  transition: color 140ms ease, background 140ms ease;1403}1404.peach-sort-select-btn:hover {1405  color: var(--peach-t1);1406  background: var(--peach-t3);1407}14081409/* Sort bar in select mode */1410.peach-select-cancel-btn {1411  background: transparent;1412  border: none;1413  padding: 0 4px;1414  cursor: pointer;1415  font-family: "IBM Plex Mono", monospace;1416  font-size: 9px;1417  letter-spacing: 0.12em;1418  text-transform: uppercase;1419  color: var(--peach-t2);1420  transition: color 140ms ease;1421  flex-shrink: 0;1422}1423.peach-select-cancel-btn:hover { color: var(--peach-t0); }14241425.peach-select-count-label {1426  flex: 1;1427  text-align: center;1428  font-family: "IBM Plex Mono", monospace;1429  font-size: 9px;1430  letter-spacing: 0.14em;1431  text-transform: uppercase;1432  color: var(--peach-t1);1433}14341435.peach-select-all-btn {1436  background: transparent;1437  border: none;1438  padding: 0 4px;1439  cursor: pointer;1440  font-family: "IBM Plex Mono", monospace;1441  font-size: 9px;1442  letter-spacing: 0.12em;1443  text-transform: uppercase;1444  color: var(--peach-t2);1445  transition: color 140ms ease;1446  flex-shrink: 0;1447}1448.peach-select-all-btn:hover { color: var(--peach-accent); }14491450/* List in select mode */1451.peach-vault-list.is-selecting .peach-entry-row {1452  cursor: default;1453}1454.peach-vault-list.is-selecting .peach-entry-row:hover {1455  background: rgba(240,232,216,0.02);1456}1457.peach-vault-list.is-selecting .peach-entry-row.is-selected {1458  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1459}1460.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1461  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1462}14631464/* Select indicator circles in icon slot */1465.peach-entry-row-icon.is-select-icon {1466  color: var(--peach-t2);1467}1468.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1469  color: var(--peach-accent);1470}14711472/* Delete action bar at bottom (replaces new-entry row) */1473.peach-select-action-bar {1474  display: flex;1475  align-items: center;1476  justify-content: center;1477  gap: 7px;1478  width: 100%;1479  padding: 11px;1480  background: transparent;1481  border: none;1482  border-top: 1px solid var(--peach-t3);1483  color: var(--peach-t1);1484  font-family: "IBM Plex Mono", monospace;1485  font-size: 9px;1486  text-transform: uppercase;1487  letter-spacing: 0.14em;1488  cursor: pointer;1489  flex-shrink: 0;1490  transition: color 120ms ease, background 120ms ease;1491}1492.peach-select-action-bar:not(:disabled):hover {1493  color: var(--peach-t0);1494  background: rgba(220,80,60,0.06);1495}1496.peach-select-action-bar:not(:disabled):hover svg {1497  stroke: rgba(220,80,60,0.8);1498}1499.peach-select-action-bar:disabled,1500.peach-select-action-bar.is-empty {1501  color: var(--peach-t2);1502  cursor: default;1503  opacity: 0.5;1504}1505.peach-search-counter-list {1506  white-space: nowrap;1507  flex-shrink: 0;1508}1509.peach-list-empty {1510  min-height: 180px;1511  display: grid;1512  place-items: center;1513  color: var(--peach-t2);1514  font-family: "IBM Plex Mono", monospace;1515  font-size: 11px;1516}15171518/* ── Settings view ───────────────────────────────────────────────────── */1519.peach-settings-body {1520  flex: 1;1521  overflow-y: auto;1522  min-height: 0;1523  display: flex;1524  flex-direction: column;1525  padding: 2px 0 10px;1526}1527.peach-settings-group {1528  margin: 4px 10px;1529  padding: 9px 14px 11px;1530  border-radius: 12px;1531  border: 1px solid rgba(255, 255, 255, 0.07);1532  background: rgba(26, 20, 16, 0.60);1533  backdrop-filter: blur(10px) saturate(1.3);1534  -webkit-backdrop-filter: blur(10px) saturate(1.3);1535}15361537.peach-settings-group + .peach-settings-group {1538  margin-top: 6px;1539}15401541@supports not (backdrop-filter: blur(1px)) {1542  .peach-settings-group {1543    background: rgba(26, 20, 16, 0.90);1544    border-color: rgba(255, 255, 255, 0.09);1545    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 20px rgba(0, 0, 0, 0.35);1546  }1547}15481549.light .peach-settings-group,1550[data-theme="light"] .peach-settings-group {1551  background: rgba(253, 248, 244, 0.68);1552  border-color: rgba(0, 0, 0, 0.07);1553  backdrop-filter: blur(10px) saturate(1.2);1554  -webkit-backdrop-filter: blur(10px) saturate(1.2);1555}15561557@supports not (backdrop-filter: blur(1px)) {1558  .light .peach-settings-group,1559  [data-theme="light"] .peach-settings-group {1560    background: rgba(253, 248, 244, 0.95);1561    border-color: rgba(0, 0, 0, 0.09);1562  }1563}1564.peach-export-intro {1565  padding-bottom: 8px;1566}1567.peach-export-card {1568  display: grid;1569  gap: 10px;1570}1571.peach-rune-canvas {1572  border-radius: 8px;1573  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, var(--peach-t3));1574  background: #1a1410;1575  flex: 1;1576  align-self: center;1577}1578.peach-script-input {1579  font-family: "PeachScript", monospace;1580  font-size: 11px;1581  line-height: 1.9;1582  letter-spacing: 0.06em;1583  color: var(--peach-t0);1584  background: var(--peach-input-bg, var(--surface-card));1585  border: 1px solid var(--peach-t3);1586  border-radius: 6px;1587  padding: 12px;1588  width: 100%;1589  min-height: 96px;1590  resize: vertical;1591  word-break: break-all;1592}1593.peach-qr-canvas-wrap {1594  display: flex;1595  justify-content: center;1596  padding: 12px 0 6px;1597}1598.peach-qr-canvas-wrap canvas {1599  display: block;1600  background: #ffffff;1601  border-radius: 6px;1602  max-width: 100%;1603  height: auto;1604}1605.peach-csv-warning {1606  background: color-mix(in srgb, var(--peach-breach) 14%, transparent);1607  border: 1px solid color-mix(in srgb, var(--peach-breach) 40%, transparent);1608  color: var(--peach-t0);1609  border-radius: 6px;1610  padding: 10px 12px;1611  margin-bottom: 8px;1612  font-size: 12px;1613  line-height: 1.45;1614}1615.peach-export-card--primary {1616  background:1617    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1618}16191620/* Export menu — distribute the three format cards across the popup. */1621.peach-export-menu {1622  display: flex;1623  flex-direction: column;1624  flex: 1;1625  min-height: 0;1626}1627.peach-export-menu .peach-settings-group {1628  flex: 1;1629  display: flex;1630  flex-direction: column;1631  justify-content: center;1632  gap: 10px;1633}16341635/* Result view — the script-string fills the remaining vertical surface. */1636.peach-export-result-group {1637  flex: 1;1638  display: flex;1639  flex-direction: column;1640  min-height: 0;1641  border-bottom: none;1642}1643.peach-export-result-group .peach-export-card {1644  flex: 1;1645  min-height: 0;1646  display: flex;1647  flex-direction: column;1648  gap: 10px;1649}1650.peach-export-result-group .peach-export-card-copy {1651  flex-shrink: 0;1652}1653.peach-export-result-group .peach-settings-label {1654  flex-shrink: 0;1655}1656.peach-export-result-group button {1657  flex-shrink: 0;1658}1659.peach-export-card-head {1660  display: flex;1661  align-items: center;1662  justify-content: space-between;1663  gap: 10px;1664}1665.peach-export-card-copy {1666  margin: 0;1667  font-size: 12px;1668  line-height: 1.55;1669  color: var(--peach-t1);1670}1671.peach-export-note {1672  margin: 0;1673  font-size: 10px;1674  line-height: 1.5;1675  color: var(--peach-t2);1676}1677.peach-export-pill {1678  display: inline-flex;1679  align-items: center;1680  padding: 4px 8px;1681  border-radius: 999px;1682  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1683  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1684  color: var(--peach-accent);1685  font-family: "IBM Plex Mono", monospace;1686  font-size: 8px;1687  letter-spacing: 0.12em;1688  text-transform: uppercase;1689  white-space: nowrap;1690}1691.peach-export-pill--danger {1692  border-color: rgba(220,80,60,0.22);1693  background: rgba(220,80,60,0.08);1694  color: var(--peach-breach);1695}1696.peach-export-password-stack {1697  gap: 8px;1698}1699.peach-settings-label {1700  margin: 0 0 6px;1701  font-family: "IBM Plex Mono", monospace;1702  font-size: 8px;1703  text-transform: uppercase;1704  letter-spacing: 0.18em;1705  color: var(--peach-t2);1706}1707.peach-settings-row {1708  display: flex;1709  align-items: center;1710  justify-content: space-between;1711  gap: 12px;1712  min-height: 34px;1713  padding: 6px 0;1714  font-size: 13px;1715  color: var(--peach-t1);1716}1717.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1718.peach-settings-value {1719  font-family: "IBM Plex Mono", monospace;1720  font-size: 10px;1721  color: var(--peach-t2);1722}17231724.peach-settings-value--status {1725  display: flex;1726  align-items: center;1727  gap: 6px;1728}17291730.peach-settings-link {1731  font-family: "IBM Plex Mono", monospace;1732  font-size: 10px;1733  color: var(--peach-accent);1734  text-decoration: none;1735  cursor: pointer;1736}1737.peach-settings-link:hover {1738  text-decoration: underline;1739}17401741.peach-settings-row--stack {1742  flex-direction: column;1743  align-items: stretch;1744  gap: 6px;1745}17461747.peach-settings-row--top {1748  align-items: flex-start;1749}17501751.peach-settings-row-main {1752  display: flex;1753  flex-direction: column;1754  gap: 4px;1755  flex: 1;1756}1757.peach-toggle {1758  width: 28px; height: 16px;1759  border-radius: 999px;1760  background: var(--peach-t3);1761  border: 1px solid var(--peach-t3);1762  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1763  flex-shrink: 0;1764  transition: background 200ms ease, border-color 200ms ease;1765  cursor: pointer;1766}1767.peach-toggle.is-on {1768  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1769  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1770}1771.peach-toggle-knob {1772  width: 10px; height: 10px;1773  border-radius: 50%;1774  background: var(--peach-t2);1775  flex-shrink: 0;1776  transform: translateX(0px);1777  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1778}1779.peach-toggle.is-on .peach-toggle-knob {1780  background: var(--peach-accent);1781  transform: translateX(12px);1782}1783.peach-settings-footer {1784  display: flex;1785  align-items: center;1786  gap: 8px;1787  margin-top: auto;1788  padding: 14px 16px 8px;1789  font-family: "IBM Plex Mono", monospace;1790  font-size: 9px;1791  color: var(--peach-t2);1792}17931794/* ── Settings home navigation ──────────────────────────────────────────── */1795.peach-settings-nav-label {1796  margin: 0 0 2px;1797  padding: 12px 16px 4px;1798  font-family: "IBM Plex Mono", monospace;1799  font-size: 8px;1800  text-transform: uppercase;1801  letter-spacing: 0.18em;1802  color: var(--peach-t2);1803}18041805.peach-settings-cat-row {1806  display: flex;1807  align-items: center;1808  gap: 10px;1809  width: 100%;1810  padding: 9px 16px;1811  background: none;1812  border: none;1813  border-bottom: 1px solid var(--peach-t3);1814  cursor: pointer;1815  text-align: left;1816  color: inherit;1817  transition: background var(--peach-dur-80) ease;1818}1819.peach-settings-cat-row:hover {1820  background: var(--peach-t3);1821}1822.peach-settings-cat-row:last-child {1823  border-bottom: none;1824}18251826.peach-settings-cat-icon {1827  width: 28px;1828  height: 28px;1829  border-radius: 7px;1830  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1831  color: var(--peach-accent);1832  display: flex;1833  align-items: center;1834  justify-content: center;1835  flex-shrink: 0;1836}1837/* Light theme: peach-on-cream is too low-contrast — both colors are warm.1838   Darken the icon stroke to ink and bump the bg tint so the icon reads1839   sharply while the cell still feels accent-tinted. */1840.light .peach-settings-cat-icon {1841  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);1842  color: color-mix(in srgb, var(--peach-accent) 50%, var(--peach-t0));1843}18441845.peach-settings-cat-content {1846  flex: 1;1847  display: flex;1848  flex-direction: column;1849  gap: 2px;1850  min-width: 0;1851}18521853.peach-settings-cat-name {1854  font-size: 13px;1855  font-weight: 450;1856  color: var(--peach-t0);1857  line-height: 1.2;1858}18591860.peach-settings-cat-desc {1861  font-size: 10px;1862  color: var(--peach-t2);1863  line-height: 1.3;1864  white-space: nowrap;1865  overflow: hidden;1866  text-overflow: ellipsis;1867}18681869.peach-settings-cat-chevron {1870  color: var(--peach-t2);1871  flex-shrink: 0;1872  opacity: 0.5;1873}18741875/* ── Settings sub-view section labels ──────────────────────────────────── */1876.peach-settings-sub-label {1877  margin: 12px 0 4px;1878  font-family: "IBM Plex Mono", monospace;1879  font-size: 8px;1880  text-transform: uppercase;1881  letter-spacing: 0.18em;1882  color: var(--peach-t2);1883}1884.peach-settings-sub-label:first-child {1885  margin-top: 4px;1886}18871888/* ── Feedback form ──────────────────────────────────────────────────────── */1889.peach-feedback-group {1890  flex: 1;1891  display: flex;1892  flex-direction: column;1893  border-bottom: none;1894}18951896.peach-feedback-intro {1897  margin: 4px 0 14px;1898  font-size: 12px;1899  line-height: 1.55;1900  color: var(--peach-t1);1901}19021903.peach-feedback-chips {1904  display: flex;1905  flex-wrap: wrap;1906  gap: 6px;1907  margin-bottom: 14px;1908}19091910.peach-feedback-chip {1911  padding: 4px 10px;1912  border-radius: 999px;1913  border: 1px solid var(--peach-t3);1914  background: none;1915  color: var(--peach-t2);1916  font-size: 11px;1917  font-family: var(--font-ui);1918  cursor: pointer;1919  transition: border-color var(--peach-dur-80) ease, color var(--peach-dur-80) ease,1920    background var(--peach-dur-80) ease;1921}1922.peach-feedback-chip:hover {1923  border-color: var(--peach-t2);1924  color: var(--peach-t1);1925}1926.peach-feedback-chip.is-active {1927  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);1928  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1929  color: var(--peach-accent);1930}19311932.peach-feedback-textarea {1933  flex: 1;1934  width: 100%;1935  min-height: 120px;1936  box-sizing: border-box;1937  background: var(--peach-t3);1938  border: 1px solid var(--peach-t3);1939  border-radius: 6px;1940  color: var(--peach-t0);1941  font-size: 12px;1942  font-family: var(--font-ui);1943  line-height: 1.5;1944  padding: 8px 10px;1945  resize: none;1946  outline: none;1947  transition: border-color var(--peach-dur-150) ease;1948}1949.peach-feedback-textarea:focus {1950  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1951}1952.peach-feedback-textarea::placeholder {1953  color: var(--peach-t2);1954}19551956.peach-feedback-meta {1957  margin: 6px 0 0;1958  font-size: 10px;1959  color: var(--peach-t2);1960  font-family: "IBM Plex Mono", monospace;1961}19621963.peach-feedback-result {1964  margin: 8px 0 0;1965  font-size: 11px;1966  font-family: "IBM Plex Mono", monospace;1967}1968.peach-feedback-result--ok { color: var(--peach-sync-ok); }1969.peach-feedback-result--err { color: var(--peach-breach); }19701971.peach-feedback-submit {1972  width: 100%;1973  margin-top: 12px;1974  justify-content: center;1975}19761977.peach-feedback-anon {1978  margin: 8px 0 0;1979  font-size: 10px;1980  color: var(--peach-t2);1981  text-align: center;1982}19831984.peach-passkey-badge {1985  margin-left: 8px;1986  font-size: 10px;1987  letter-spacing: 0.06em;1988  text-transform: uppercase;1989  color: var(--peach-t2);1990  font-family: var(--font-ui);1991  vertical-align: middle;1992}19931994.peach-passkey-delete-btn {1995  color: var(--peach-breach);1996  border-color: rgba(229, 85, 85, 0.25);1997}19981999.peach-passkey-delete-confirm {2000  display: flex;2001  align-items: center;2002  gap: 8px;2003  padding: 8px 10px;2004  background: rgba(229, 85, 85, 0.06);2005  border: 1px solid rgba(229, 85, 85, 0.2);2006  border-radius: 6px;2007}20082009.peach-passkey-delete-confirm-copy {2010  flex: 1;2011  font-size: 11px;2012  color: var(--peach-t1);2013}20142015.peach-passkey-delete-btn--confirm {2016  color: var(--peach-breach);2017  border-color: rgba(229, 85, 85, 0.4);2018}20192020.peach-passkey-activity {2021  flex-direction: column;2022  align-items: flex-start;2023  gap: 4px;2024}20252026.peach-passkey-meta {2027  font-size: 11px;2028  color: var(--peach-t2);2029}20302031.peach-passkey-actions {2032  position: relative;2033  z-index: 1;2034  margin-top: 14px;2035  display: flex;2036  flex-direction: column;2037  gap: 8px;2038}20392040.peach-passkey-approval {2041  display: flex;2042  flex-direction: column;2043  align-items: center;2044  padding: 28px 22px 22px;2045  gap: 14px;2046  text-align: center;2047}20482049.peach-passkey-approval-icon {2050  width: 46px;2051  height: 46px;2052  border-radius: 12px;2053  background: var(--peach-s2);2054  border: 1px solid var(--peach-t3);2055  display: flex;2056  align-items: center;2057  justify-content: center;2058  flex-shrink: 0;2059  color: var(--peach-accent);2060}20612062.peach-passkey-approval-icon img,2063.peach-passkey-approval-icon svg {2064  width: 28px;2065  height: 28px;2066  border-radius: 6px;2067}20682069.peach-passkey-approval-rp {2070  font-family: var(--font-ui);2071  font-size: 12px;2072  color: var(--peach-t2);2073  letter-spacing: 0.03em;2074}20752076.peach-passkey-approval-action {2077  font-family: var(--font-display);2078  font-style: italic;2079  font-weight: 300;2080  font-size: 26px;2081  color: var(--peach-t0);2082  line-height: 1;2083}20842085.peach-passkey-approval-user {2086  font-family: var(--font-mono);2087  font-size: 11px;2088  color: var(--peach-t1);2089  background: var(--peach-s2);2090  border: 1px solid var(--peach-t3);2091  border-radius: 4px;2092  padding: 3px 8px;2093}20942095.peach-passkey-approval-notice {2096  font-size: 10px;2097  color: var(--peach-t2);2098  line-height: 1.5;2099  max-width: 220px;2100}21012102.peach-passkey-approval-actions {2103  display: flex;2104  gap: 8px;2105  width: 100%;2106  margin-top: 6px;2107}21082109.peach-passkey-approval-actions .peach-btn {2110  flex: 1;2111}21122113/* ── Inline generator drawer ── */2114.peach-generator-drawer {2115  display: grid;2116  grid-template-rows: 0fr;2117  transition: grid-template-rows 320ms var(--peach-curve-arrival);2118  overflow: hidden;2119}2120.peach-generator-drawer.is-open {2121  grid-template-rows: 1fr;2122}2123.peach-generator-drawer-inner {2124  min-height: 0;2125  overflow: hidden;2126}2127.peach-generator-drawer-content {2128  border-top: 1px solid var(--peach-t3);2129  padding: 8px 0 4px;2130  display: flex;2131  flex-direction: column;2132  gap: 8px;2133}21342135/* ── Compact generator (inside entry edit) ── */2136.peach-generator-drawer-content--compact {2137  border-top: 1px solid var(--peach-t3);2138  padding: 8px 0 2px;2139  gap: 7px;2140}2141.peach-pwgen-compact-display-row {2142  display: flex;2143  align-items: center;2144  gap: 6px;2145}2146.peach-pwgen-compact-output {2147  flex: 1;2148  min-width: 0;2149  font-family: "IBM Plex Mono", monospace;2150  font-size: 11px;2151  font-weight: 400;2152  letter-spacing: 0.04em;2153  color: var(--peach-t0);2154  background: rgba(240, 232, 216, 0.04);2155  border: 1px solid var(--peach-t3);2156  border-radius: 5px;2157  padding: 5px 8px;2158  word-break: break-all;2159  line-height: 1.5;2160}2161.peach-pwgen-compact-controls {2162  display: flex;2163  align-items: center;2164  gap: 6px;2165}2166.peach-pwgen-compact-slider {2167  flex: 1;2168  min-width: 0;2169  height: 2px !important;2170}2171.peach-pwgen-compact-controls .peach-pwgen-len-num {2172  flex-shrink: 0;2173  min-width: 18px;2174  text-align: right;2175}2176.peach-pwgen-compact-pills {2177  display: flex;2178  gap: 3px;2179  flex-shrink: 0;2180}2181.peach-pwgen-compact-pills .peach-pwgen-pill {2182  padding: 2px 7px;2183  font-size: 8px;2184}2185.peach-pwgen-compact-use {2186  flex-shrink: 0;2187  font-size: 10px !important;2188  padding: 3px 9px !important;2189  min-height: 22px !important;2190  border-radius: 5px !important;2191}21922193/* ── Password edit row (input + eye toggle side-by-side) ── */2194.peach-password-edit-row {2195  display: flex;2196  align-items: center;2197  gap: 6px;2198}2199.peach-password-edit-row .peach-inline-input {2200  flex: 1;2201  min-width: 0;2202}22032204/* ── Generate toggle link ── */2205.peach-generate-toggle-link {2206  display: inline-flex;2207  align-items: center;2208  gap: 5px;2209  background: none;2210  border: none;2211  padding: 0;2212  cursor: pointer;2213  font-family: "IBM Plex Mono", monospace;2214  font-size: 10px;2215  color: var(--peach-t2);2216  letter-spacing: 0.04em;2217  transition: color 120ms ease;2218  align-self: flex-start;2219}2220.peach-generate-toggle-link:hover {2221  color: var(--peach-accent);2222}22232224/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */2225.peach-entry-body {2226  flex: 1;2227  overflow-y: auto;2228  overflow-x: hidden;2229  scrollbar-width: none;2230  -ms-overflow-style: none;2231  overscroll-behavior: contain;2232  display: grid;2233  gap: 10px;2234  align-content: start;2235  padding: 10px 20px 14px;2236  min-width: 0;2237  min-height: 0;2238}2239.peach-entry-body::-webkit-scrollbar { display: none; }22402241/* Type-toggle pills + inline note toolbar */2242.peach-new-type-row {2243  display: flex;2244  align-items: center;2245  gap: 6px;2246  margin-bottom: 2px;2247}2248.peach-new-type-btn {2249  background: transparent;2250  border: 1px solid var(--peach-t3);2251  border-radius: 12px;2252  padding: 3px 10px;2253  font-family: "IBM Plex Mono", monospace;2254  font-size: 9px;2255  letter-spacing: 0.12em;2256  text-transform: uppercase;2257  color: var(--peach-t2);2258  cursor: pointer;2259  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;2260}2261.peach-new-type-btn.is-active {2262  color: var(--peach-t0);2263  border-color: var(--peach-accent);2264  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2265}2266.peach-new-type-btn:not(.is-active):hover {2267  color: var(--peach-t1);2268  border-color: var(--peach-t2);2269}22702271/* Editable title */2272.peach-new-title-wrap { margin: 0 0 2px; }2273.peach-new-title-input {2274  background: transparent;2275  border: none;2276  outline: none;2277  width: 100%;2278  color: var(--peach-t0);2279  font-family: var(--font-display);2280  font-style: italic;2281  font-weight: 400;2282  font-size: 40px;2283  line-height: 0.95;2284  caret-color: var(--peach-accent);2285}2286.peach-new-title-input::placeholder { color: var(--peach-t2); }22872288/* Editable domain field */2289.peach-domain-value--edit {2290  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2291  font-size: 10px;2292  font-style: italic;2293  letter-spacing: 0.12em;2294  color: var(--peach-t1);2295  background: transparent;2296  border: none;2297  border-bottom: 1px solid var(--peach-t3);2298  outline: none;2299  width: 100%;2300  padding: 2px 0;2301  caret-color: var(--peach-accent);2302  transition: border-color 140ms ease, color 140ms ease;2303}2304.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2305.peach-domain-value--edit:focus {2306  border-bottom-color: rgba(240, 232, 216, 0.28);2307  color: var(--peach-t0);2308}23092310/* Editable field values (username, password, totp) */2311.peach-field-value--edit {2312  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2313  font-size: 13px;2314  color: var(--peach-t0);2315  background: transparent;2316  border: none;2317  border-bottom: 1px solid var(--peach-t3);2318  outline: none;2319  flex: 1;2320  min-width: 0;2321  padding: 3px 0;2322  caret-color: var(--peach-accent);2323  transition: border-color 140ms ease, color 140ms ease;2324}2325.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2326.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2327.peach-field-value--edit:focus {2328  border-bottom-color: rgba(240, 232, 216, 0.28);2329  color: var(--peach-t0);2330}23312332/* "+ add optional field" links */2333.peach-entry-add-links {2334  display: flex;2335  gap: 12px;2336  flex-wrap: wrap;2337  margin-top: -2px;2338}2339.peach-add-field-link {2340  background: transparent;2341  border: none;2342  padding: 0;2343  cursor: pointer;2344  font-family: "IBM Plex Mono", monospace;2345  font-size: 9px;2346  letter-spacing: 0.1em;2347  text-transform: uppercase;2348  color: var(--peach-t2);2349  transition: color 140ms ease;2350}2351.peach-add-field-link:hover { color: var(--peach-accent); }23522353/* ── New entry form (legacy classes) ────────────────────────────────── */2354.peach-new-body {2355  flex: 1;2356  overflow-y: auto;2357  padding: 10px 20px 14px;2358}2359.peach-new-name-input {2360  background: transparent;2361  border: none;2362  outline: none;2363  width: 100%;2364  color: var(--peach-t0);2365  font-family: var(--font-display);2366  font-style: italic;2367  font-weight: 400;2368  font-size: 40px;2369  line-height: 0.95;2370  caret-color: var(--peach-accent);2371}2372.peach-new-name-input::placeholder { color: var(--peach-t2); }2373.peach-new-field-input {2374  background: transparent;2375  border: none;2376  outline: none;2377  flex: 1;2378  min-width: 0;2379  caret-color: var(--peach-accent);2380}2381.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }23822383/* ── Canary card ── */2384.peach-canary-card {2385  border: 1px solid rgba(217, 160, 48, 0.2);2386  background: rgba(217, 160, 48, 0.03);2387  border-radius: 8px;2388  padding: 12px;2389}23902391.peach-canary-settings-header {2392  display: flex;2393  align-items: center;2394  justify-content: space-between;2395  cursor: pointer;2396  user-select: none;2397}23982399.peach-canary-card .peach-label {2400  color: rgba(217, 160, 48, 0.85);2401}24022403.peach-canary-card .peach-new-field-input {2404  border-color: rgba(217, 160, 48, 0.25);2405}24062407.peach-canary-card .peach-new-field-input:focus {2408  border-color: rgba(217, 160, 48, 0.5);2409}24102411.peach-canary-body {2412  margin-top: 12px;2413  display: flex;2414  flex-direction: column;2415  gap: 10px;2416}24172418.peach-canary-explainer {2419  display: flex;2420  gap: 10px;2421  padding: 10px 12px;2422  border-radius: 10px;2423  background: rgba(217, 160, 48, 0.06);2424  border: 1px solid rgba(217, 160, 48, 0.22);2425  margin-bottom: 4px;2426}24272428.peach-canary-explainer-icon {2429  font-size: 16px;2430  flex-shrink: 0;2431  line-height: 1.2;2432}24332434.peach-canary-explainer-title {2435  font-family: var(--font-ui);2436  font-size: 11px;2437  font-weight: 500;2438  color: rgba(217, 160, 48, 0.9);2439  margin: 0 0 3px;2440}24412442.peach-canary-explainer-copy {2443  font-family: var(--font-ui);2444  font-size: 10px;2445  color: var(--peach-t2);2446  line-height: 1.55;2447  margin: 0;2448}24492450.peach-canary-hint {2451  font-size: 10px;2452  color: var(--peach-t2);2453  font-family: Inter, system-ui, sans-serif;2454  line-height: 1.5;2455  margin-top: 4px;2456}24572458.peach-canary-actions-row {2459  display: flex;2460  align-items: center;2461  gap: 8px;2462}24632464.peach-canary-test-btn {2465  border-color: rgba(217, 160, 48, 0.3);2466  color: rgba(217, 160, 48, 0.85);2467}24682469.peach-canary-test-result {2470  font-size: 10px;2471  font-family: Inter, system-ui, sans-serif;2472}24732474.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2475.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }24762477.peach-canary-badge {2478  display: flex;2479  position: relative;2480  z-index: 1;2481  align-items: center;2482  gap: 5px;2483  padding: 4px 10px;2484  background: rgba(217, 160, 48, 0.12);2485  border: 1px solid rgba(217, 160, 48, 0.35);2486  border-radius: 6px;2487  margin-bottom: 6px;2488  width: fit-content;2489}24902491.peach-canary-badge-label {2492  font-size: 10px;2493  letter-spacing: 0.06em;2494  color: rgba(217, 160, 48, 0.9);2495  font-family: var(--font-ui);2496  text-transform: uppercase;2497}24982499.peach-canary-badge-icon {2500  font-size: 11px;2501}25022503.peach-canary-suppress-row {2504  display: flex;2505  align-items: center;2506  gap: 8px;2507  padding: 6px 10px;2508  background: rgba(217, 160, 48, 0.08);2509  border-radius: 6px;2510  margin-bottom: 8px;2511}25122513.peach-canary-suppress-label {2514  font-size: 11px;2515  color: rgba(217, 160, 48, 0.85);2516  cursor: pointer;2517  font-family: var(--font-ui);2518  letter-spacing: 0.04em;2519}25202521.peach-regen-panel {2522  position: relative;2523  z-index: 1;2524  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2525  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2526  border-radius: 8px;2527  padding: 12px;2528  margin-bottom: 8px;2529}25302531.peach-regen-panel-header {2532  display: flex;2533  align-items: center;2534  justify-content: space-between;2535  margin-bottom: 10px;2536}25372538.peach-regen-panel-title {2539  font-size: 11px;2540  font-weight: 600;2541  letter-spacing: 0.06em;2542  text-transform: uppercase;2543  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2544}25452546.peach-regen-output {2547  background: rgba(0, 0, 0, 0.2);2548  border-radius: 6px;2549  padding: 10px;2550  margin-bottom: 10px;2551  font-family: var(--font-mono);2552  font-size: 13px;2553  word-break: break-all;2554  color: var(--peach-t1);2555}25562557.peach-regen-actions {2558  display: flex;2559  gap: 6px;2560}25612562.peach-regen-actions--spaced {2563  margin-bottom: 8px;2564}25652566.peach-regen-action-grow {2567  flex: 1;2568}25692570.peach-regen-copy-btn {2571  padding: 0 8px;2572}25732574.peach-regen-success {2575  position: relative;2576  z-index: 1;2577  background: rgba(40, 180, 80, 0.1);2578  border: 1px solid rgba(40, 180, 80, 0.3);2579  border-radius: 8px;2580  padding: 10px 12px;2581  margin-bottom: 8px;2582  display: flex;2583  align-items: center;2584  gap: 8px;2585  font-size: 11px;2586  color: rgba(40, 180, 80, 0.9);2587}25882589/* ── Note editor overlay ── */2590.peach-note-editor {2591  position: absolute;2592  inset: 0;2593  z-index: 200;2594  display: flex;2595  flex-direction: column;2596  background:2597    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2598    var(--peach-bg);2599  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2600}26012602.peach-note-editor-header {2603  display: flex;2604  align-items: center;2605  gap: 10px;2606  padding: 14px 16px 10px;2607  border-bottom: 1px solid var(--peach-t3);2608  flex-shrink: 0;2609}26102611.peach-note-editor-back {2612  background: transparent;2613  border: none;2614  cursor: pointer;2615  color: var(--peach-t2);2616  padding: 4px 6px;2617  border-radius: 6px;2618  display: flex;2619  align-items: center;2620  transition: color 120ms ease, background 120ms ease;2621  flex-shrink: 0;2622}2623.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }26242625.peach-note-editor-label {2626  flex: 1;2627  font-family: var(--font-display);2628  font-style: italic;2629  font-size: 15px;2630  color: var(--peach-t1);2631  letter-spacing: 0.02em;2632}26332634.peach-note-editor-save-btn {2635  background: transparent;2636  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2637  border-radius: 8px;2638  color: var(--peach-accent);2639  font-family: "IBM Plex Mono", monospace;2640  font-size: 10px;2641  letter-spacing: 0.06em;2642  text-transform: uppercase;2643  padding: 3px 10px;2644  cursor: pointer;2645  transition: background 120ms ease, border-color 120ms ease;2646}2647.peach-note-editor-save-btn:hover:not(:disabled) {2648  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2649  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2650}2651.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }26522653.peach-note-toolbar {2654  display: flex;2655  align-items: center;2656  gap: 3px;2657  padding: 6px 14px 5px;2658  border-bottom: 1px solid var(--peach-t3);2659  flex-shrink: 0;2660}26612662.peach-note-tool-btn {2663  background: transparent;2664  border: 1px solid transparent;2665  border-radius: 5px;2666  color: var(--peach-t2);2667  font-family: "IBM Plex Mono", monospace;2668  font-size: 10px;2669  letter-spacing: 0.04em;2670  padding: 2px 8px;2671  cursor: pointer;2672  line-height: 1.6;2673  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2674}2675.peach-note-tool-btn:hover {2676  background: var(--peach-t4);2677  color: var(--peach-t0);2678  border-color: var(--peach-t3);2679}26802681.peach-note-tool-icon {2682  padding: 3px 7px;2683  display: inline-flex;2684  align-items: center;2685  justify-content: center;2686}26872688.peach-note-tool-divider {2689  width: 1px;2690  height: 14px;2691  background: var(--peach-t3);2692  margin: 0 4px;2693  flex-shrink: 0;2694}26952696.peach-note-editor-body {2697  flex: 1;2698  overflow-y: auto;2699  padding: 16px 20px 20px;2700  outline: none;2701  font-family: var(--font-display);2702  font-size: 16px;2703  line-height: 1.75;2704  color: var(--peach-t0);2705  scrollbar-width: none;2706  word-break: break-word;2707}2708.peach-note-editor-body:empty::before {2709  content: "write your note…";2710  color: var(--peach-t3);2711  font-style: italic;2712  pointer-events: none;2713}27142715/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2716.peach-note-editor-inline {2717  display: flex;2718  flex-direction: column;2719  flex: 1;2720  min-height: 0;2721}2722.peach-note-editor-body--inline {2723  flex: 1;2724  min-height: 0;2725  font-size: 15px;2726  padding: 10px 20px 14px;2727}27282729/* Full-width toolbar row inside the body (Add.tsx note type).2730   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2731.peach-note-toolbar-body {2732  display: flex;2733  align-items: center;2734  gap: 3px;2735  padding: 5px 20px 4px;2736  margin: 2px -20px 0;2737  border-bottom: 1px solid var(--peach-t3);2738  flex-shrink: 0;2739}27402741/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2742   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2743   and .peach-note-tool-divider button-level styles. */2744.peach-note-toolbar-inline {2745  display: flex;2746  align-items: center;2747  gap: 3px;2748  margin-left: auto;2749  padding-left: 10px;2750  border-left: 1px solid var(--peach-t3);2751  min-height: 22px;2752}27532754/* Entry.tsx toolbar row (no tabs, toolbar only) */2755.peach-entry-note-toolbar-row {2756  display: flex;2757  align-items: center;2758  margin: 4px 0 6px;2759  position: relative;2760  z-index: 1;2761}2762.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2763  border-left: none;2764  padding-left: 0;2765  margin-left: 0;2766}27672768/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2769.peach-note-body {2770  display: flex;2771  flex-direction: column;2772  flex: 1;2773  min-height: 0;2774  margin: 4px 0 0;2775}2776.peach-entry-body--new .peach-note-body {2777  margin: 8px -20px 0;2778}27792780/* Add.tsx body is a grid by default; swap to a flex column when a note is2781   active so the note body can stretch and pin the tags row to the bottom. */2782.peach-entry-body--new:has(.peach-note-body) {2783  display: flex;2784  flex-direction: column;2785}27862787/* Rich content element styles (editor + display) */2788.peach-note-editor-body h2,2789.peach-note-content h2 {2790  font-family: var(--font-display);2791  font-size: 20px;2792  font-weight: 600;2793  font-style: italic;2794  color: var(--peach-t0);2795  margin: 6px 0 2px;2796  line-height: 1.3;2797}2798.peach-note-editor-body ul,2799.peach-note-content ul {2800  padding-left: 18px;2801  margin: 3px 0;2802  list-style: disc;2803}2804.peach-note-editor-body ol,2805.peach-note-content ol {2806  padding-left: 18px;2807  margin: 3px 0;2808  list-style: decimal;2809}2810.peach-note-editor-body li,2811.peach-note-content li { margin: 2px 0; }2812.peach-note-editor-body hr,2813.peach-note-content hr {2814  border: none;2815  border-top: 1px solid var(--peach-t3);2816  margin: 10px 0;2817}28182819/* font size elements from execCommand */2820.peach-note-editor-body font[size="1"],2821.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2822.peach-note-editor-body font[size="2"],2823.peach-note-content font[size="2"] { font-size: 13px; }2824.peach-note-editor-body font[size="3"],2825.peach-note-content font[size="3"] { font-size: 16px; }2826.peach-note-editor-body font[size="4"],2827.peach-note-content font[size="4"] { font-size: 20px; }2828.peach-note-editor-body font[size="5"],2829.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }28302831/* bold / italic inside the editor and note display */2832.peach-note-editor-body b, .peach-note-editor-body strong,2833.peach-note-content b, .peach-note-content strong { font-weight: 700; }2834.peach-note-editor-body em, .peach-note-editor-body i,2835.peach-note-content em, .peach-note-content i { font-style: italic; }28362837/* note display — rendered HTML, no pre-wrap */2838.peach-note-content {2839  overflow: auto;2840  max-height: 340px;2841  word-break: break-word;2842}28432844/* ── Note textarea ── */2845.peach-note-textarea {2846  width: 100%;2847  min-height: 180px;2848  max-height: 280px;2849  resize: vertical;2850  background: var(--peach-t4);2851  border: 1px solid var(--peach-t3);2852  border-radius: 8px;2853  padding: 10px 12px;2854  font-family: "IBM Plex Mono", monospace;2855  font-size: 12px;2856  line-height: 1.7;2857  color: var(--peach-t1);2858  outline: none;2859  transition: border-color 150ms ease;2860}28612862.peach-note-textarea:focus {2863  border-color: var(--peach-t2);2864}28652866.peach-note-char-count {2867  font-family: "IBM Plex Mono", monospace;2868  font-size: 9px;2869  color: var(--peach-t3);2870  text-align: right;2871  margin-top: 4px;2872  letter-spacing: 0.1em;2873}28742875/* ── Field input baseline ── */2876.peach-new-field-input {2877  width: 100%;2878  background: transparent;2879  border: none;2880  border-bottom: 1px solid var(--peach-t3);2881  padding: 4px 0;2882  color: var(--peach-t1);2883  font-family: "IBM Plex Mono", monospace;2884  font-size: 13px;2885  outline: none;2886  transition: border-color 150ms ease;2887}28882889.peach-new-field-input:focus {2890  border-bottom-color: var(--peach-t0);2891  color: var(--peach-t0);2892}28932894.peach-new-name-input {2895  width: 100%;2896  background: transparent;2897  border: none;2898  border-bottom: 1px solid var(--peach-t3);2899  padding: 6px 0;2900  font-family: var(--font-display);2901  font-style: italic;2902  font-size: 28px;2903  color: var(--peach-t0);2904  outline: none;2905  transition: border-color 150ms ease;2906}29072908.peach-new-name-input:focus {2909  border-bottom-color: var(--peach-t1);2910}29112912.peach-new-name-input::placeholder {2913  color: var(--peach-t2);2914  font-style: italic;2915}29162917.peach-new-field-input::placeholder {2918  color: var(--peach-t3);2919}29202921/* ── Demo entrance animation ── */2922#hd-shell {2923  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2924}2925@keyframes hd-shell-enter {2926  from { opacity: 0; transform: scale(0.96) translateY(16px); }2927  to   { opacity: 1; transform: scale(1) translateY(0); }2928}29292930/* ── Keyframes ── */2931@keyframes peach-char-enter {2932  from { opacity: 0; transform: translateY(0.22em); }2933  to   { opacity: 1; transform: translateY(0); }2934}2935@keyframes peach-content-enter {2936  from { opacity: 0.96; transform: translateY(4px); }2937  to   { opacity: 1; transform: translateY(0); }2938}2939@keyframes peach-content-exit {2940  from { opacity: 1; transform: translateY(0); }2941  to   { opacity: 0.92; transform: translateY(-3px); }2942}2943@keyframes peach-screen-enter {2944  from { opacity: 0; transform: translateY(14px); }2945  to   { opacity: 1; transform: translateY(0); }2946}2947@keyframes peach-shell-fade-in {2948  from { opacity: 0; }2949  to   { opacity: 1; }2950}2951@keyframes peach-veil-in {2952  from { opacity: 0; }2953  to   { opacity: 1; }2954}2955@keyframes peach-lock-settle {2956  0%   { transform: scale(0.9); }2957  65%  { transform: scale(1.08); }2958  100% { transform: scale(1); }2959}2960@keyframes peach-copy-confirm {2961  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2962  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); }2963}2964@keyframes peach-copy-retreat {2965  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); }2966  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2967}2968@keyframes peach-copy-flood {2969  from { opacity: 0; transform: scaleX(0.15); }2970  to   { opacity: 1; transform: scaleX(1); }2971}2972@keyframes peach-copy-icon-settle {2973  from  { transform: scale(0.84); }2974  70%   { transform: scale(1.08); }2975  to    { transform: scale(1); }2976}2977@keyframes peach-copy-sheen-retreat {2978  from { opacity: 1; transform: scaleX(1); }2979  to   { opacity: 0; transform: scaleX(0.15); }2980}2981@keyframes peach-copy-drain {2982  from { width: 100%; }2983  to   { width: 0; }2984}2985@keyframes peach-shake {2986  0%, 100% { transform: translateX(0); }2987  20%      { transform: translateX(-6px); }2988  40%      { transform: translateX(6px); }2989  60%      { transform: translateX(-4px); }2990  80%      { transform: translateX(4px); }2991}29922993@keyframes pip-pulse {2994  0% { transform: scale(1); }2995  40% { transform: scale(2.2); }2996  100% { transform: scale(1); }2997}299829993000/* ── Password generator ── */3001.peach-pwgen-body {3002  flex: 1; overflow-y: auto;3003  display: flex; flex-direction: column;3004}3005.peach-policy-badge {3006  display: flex; align-items: center;3007  padding: 6px 20px 0;3008  font-size: 10px; font-family: Inter, sans-serif;3009  color: var(--peach-t2); letter-spacing: 0.04em;3010}3011.peach-pwgen-display {3012  padding: 14px 20px 12px;3013  border-bottom: 1px solid var(--peach-t3);3014  display: flex; align-items: flex-start; gap: 10px;3015}3016.peach-pwgen-display-row {3017  display: flex;3018  align-items: flex-start;3019  gap: 8px;3020  padding-bottom: 8px;3021  border-bottom: 1px solid var(--peach-t3);3022}3023.peach-pwgen-output {3024  flex: 1; min-width: 0; margin: 0;3025  font-family: "IBM Plex Mono", monospace;3026  font-size: 13px; color: var(--peach-t0);3027  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;3028  white-space: normal;3029  padding: 10px 12px;3030  background: var(--peach-t4);3031  border-radius: 6px;3032  min-height: 36px;3033}3034.peach-pwgen-output-display {3035  flex: 1;3036  min-width: 0;3037  margin: 0;3038  font-family: var(--font-display);3039  font-style: italic;3040  font-weight: 300;3041  font-size: 32px;3042  line-height: 1.05;3043  color: var(--peach-t0);3044  word-break: break-all;3045  overflow-wrap: break-word;3046  white-space: normal;3047  letter-spacing: 0.02em;3048}3049.peach-pwgen-display-actions {3050  display: flex;3051  flex-direction: column;3052  gap: 4px;3053  flex-shrink: 0;3054  margin-top: 2px;3055}3056.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }3057.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }3058.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }3059.peach-pwgen-len-num {3060  font-family: "IBM Plex Mono", monospace;3061  font-size: 12px; color: var(--peach-accent);3062}3063.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }3064.peach-pwgen-toggles { display: flex; flex-direction: column; }3065.peach-pwgen-charset-pills {3066  display: flex;3067  gap: 6px;3068  flex-wrap: wrap;3069}3070.peach-pwgen-pill {3071  padding: 4px 11px;3072  border-radius: 999px;3073  border: 1px solid var(--peach-t3);3074  background: transparent;3075  color: var(--peach-t2);3076  font-family: "IBM Plex Mono", monospace;3077  font-size: 9px;3078  letter-spacing: 0.08em;3079  cursor: pointer;3080  transition: all 150ms ease;3081}3082.peach-pwgen-pill.is-on {3083  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3084  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3085  color: var(--peach-accent);3086}3087.peach-pwgen-pill:not(.is-on):hover {3088  color: var(--peach-t1);3089  border-color: var(--peach-t2);3090}3091.peach-pwgen-use-btn {3092  width: 100%;3093  min-height: 34px;3094  border-radius: 8px;3095  margin-top: 2px;3096}3097.peach-pwgen-toggle-row {3098  display: flex; align-items: center; justify-content: space-between;3099  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);3100}3101.peach-pwgen-toggle-row:last-child { border-bottom: none; }3102.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }31033104.peach-screen-prelock {3105  z-index: 10;3106}31073108.prelock-form {3109  display: grid;3110  gap: 12px;3111}31123113/* Peach popup should not expose native scrollbars on internal panels. */3114.peach-settings-body,3115.peach-new-body,3116.peach-pwgen-body,3117.lock-screen,3118.peach-import-preview {3119  scrollbar-width: none;3120  -ms-overflow-style: none;3121  overscroll-behavior: contain;3122}3123.peach-settings-body::-webkit-scrollbar,3124.peach-new-body::-webkit-scrollbar,3125.peach-pwgen-body::-webkit-scrollbar,3126.lock-screen::-webkit-scrollbar,3127.peach-import-preview::-webkit-scrollbar {3128  width: 0;3129  height: 0;3130  display: none;3131}31323133.lock-screen {3134  height: 100%;3135  min-height: 100%;3136  overflow-y: auto;3137  padding: 18px 18px 16px;3138  gap: 14px;3139  grid-template-rows: auto auto auto 1fr auto;3140  align-content: stretch;3141  position: relative;3142  isolation: isolate;3143}3144.peach-screen.lock-screen--vault-stage {3145  display: flex;3146  flex-direction: column;3147  justify-content: flex-start;3148  gap: 18px;3149  padding: 20px 18px 18px;3150  overflow: hidden;3151}3152.peach-screen.lock-screen--vault-stage .peach-lock-panel {3153  margin-top: 0;3154}3155.lock-screen--onboarding {3156  display: flex;3157  flex-direction: column;3158  gap: 12px;3159  justify-content: flex-start;3160}31613162.lock-screen::before {3163  content: "";3164  position: absolute;3165  inset: 12px 18px auto auto;3166  width: 160px;3167  height: 160px;3168  border-radius: 999px;3169  background:3170    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%);3171  filter: blur(6px);3172  opacity: 0.7;3173  pointer-events: none;3174  z-index: 0;3175}31763177.peach-lock-rune-string {3178  flex: 1;3179  display: flex;3180  align-items: center;3181  justify-content: center;3182  gap: 6px;3183  font-family: PeachScript, monospace;3184  font-size: 13px;3185  letter-spacing: 0.05em;3186  pointer-events: none;3187  user-select: none;3188  position: relative;3189  z-index: 1;3190}31913192.peach-lock-rune-string span {3193  color: color-mix(in srgb, var(--peach-t0) 12%, transparent);3194  text-shadow:3195    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent),3196    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent);3197  transition: color 0.9s ease, text-shadow 0.9s ease;3198}31993200.peach-lock-rune-string span.is-glowing {3201  color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3202  text-shadow:3203    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3204    0 0 20px color-mix(in srgb, var(--peach-accent) 22%, transparent);3205}32063207.lock-screen-header {3208  display: flex;3209  align-items: center;3210  justify-content: space-between;3211  position: relative;3212  z-index: 1;3213}32143215.lock-password-input.shake {3216  animation: peach-shake 300ms ease-in-out;3217}32183219.peach-hint-error {3220  color: rgba(220, 80, 60, 0.92);3221}32223223.peach-onboarding-headline {3224  margin: 0;3225  font-family: var(--font-display);3226  font-size: 35px;3227  line-height: 0.88;3228  font-style: italic;3229  font-weight: 400;3230  max-width: 252px;3231}32323233.peach-lock-copy {3234  display: grid;3235  gap: 8px;3236  position: relative;3237  z-index: 1;3238}32393240.peach-lock-copy--onboarding {3241  gap: 10px;3242}32433244.peach-lock-hero {3245  position: relative;3246  z-index: 1;3247  display: grid;3248  gap: 8px;3249  min-height: 0;3250  padding: 4px 2px 0;3251  border: none;3252  border-radius: 0;3253  background: transparent;3254  box-shadow: none;3255}3256.peach-lock-hero-art {3257  position: absolute;3258  right: -8px;3259  top: -6px;3260  width: 120px;3261  height: 120px;3262  display: flex;3263  align-items: center;3264  justify-content: center;3265  pointer-events: none;3266  opacity: 0.12;3267  filter: saturate(0.9);3268}3269.peach-lock-hero-mark {3270  width: 100%;3271  height: 100%;3272}3273/* Peach body stays brand-peach across every accent — we don't want a3274   green or blue peach when sage/sky is selected. Leaf + stem keep the3275   sage tint because a real peach has a sage leaf. */3276.peach-lock-hero-mark path:nth-child(2),3277.peach-lock-hero-mark path:nth-child(3) {3278  stroke: rgba(123, 144, 96, 0.88);3279  fill: rgba(123, 144, 96, 0.88);3280}3281.peach-lock-hero > *:not(.peach-lock-hero-art) {3282  position: relative;3283  z-index: 1;3284}32853286.peach-lock-eyebrow {3287  display: inline-flex;3288  align-items: center;3289  width: fit-content;3290  padding: 4px 9px;3291  border-radius: 999px;3292  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);3293  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3294  color: var(--peach-t0);3295  font-family: "IBM Plex Mono", monospace;3296  font-size: 8px;3297  letter-spacing: 0.18em;3298  text-transform: uppercase;3299}33003301.peach-lock-label-row {3302  display: flex;3303  align-items: center;3304  justify-content: space-between;3305  margin-bottom: 0;3306}33073308.peach-lock-reveal-btn {3309  display: inline-flex;3310  align-items: center;3311  gap: 4px;3312  background: none;3313  border: none;3314  cursor: pointer;3315  font-family: "IBM Plex Mono", monospace;3316  font-size: 9px;3317  letter-spacing: 0.06em;3318  color: var(--peach-t2);3319  padding: 2px 0;3320  transition: color 150ms ease;3321}33223323.peach-lock-reveal-btn:hover {3324  color: var(--peach-t1);3325}33263327.peach-lock-warning {3328  color: rgba(220, 80, 60, 0.85) !important;3329  line-height: 1.5;3330}33313332.peach-onboarding-cards {3333  display: grid;3334  gap: 8px;3335  position: relative;3336  z-index: 1;3337}33383339.peach-lock-panel {3340  position: relative;3341  z-index: 1;3342  display: grid;3343  gap: 9px;3344  padding: 14px 16px 15px;3345  border-radius: 18px;3346  border: 1px solid var(--peach-t3);3347  background:3348    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3349  box-shadow:3350    inset 0 1px 0 rgba(240, 232, 216, 0.04),3351    0 12px 28px rgba(0, 0, 0, 0.12);3352}33533354/* Glass surface — lock panel and settings groups */3355.peach-glass {3356  background: rgba(26, 20, 16, 0.65);3357  border: 1px solid rgba(255, 255, 255, 0.08);3358  border-radius: 12px;3359  backdrop-filter: blur(12px) saturate(1.4);3360  -webkit-backdrop-filter: blur(12px) saturate(1.4);3361}33623363@supports not (backdrop-filter: blur(1px)) {3364  .peach-glass {3365    background: rgba(26, 20, 16, 0.92);3366    border: 1px solid rgba(255, 255, 255, 0.10);3367    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 24px rgba(0, 0, 0, 0.4);3368  }3369}33703371.light .peach-glass,3372[data-theme="light"] .peach-glass {3373  background: rgba(253, 248, 244, 0.70);3374  border: 1px solid rgba(0, 0, 0, 0.07);3375  backdrop-filter: blur(12px) saturate(1.2);3376  -webkit-backdrop-filter: blur(12px) saturate(1.2);3377}33783379@supports not (backdrop-filter: blur(1px)) {3380  .light .peach-glass,3381  [data-theme="light"] .peach-glass {3382    background: rgba(253, 248, 244, 0.95);3383    border: 1px solid rgba(0, 0, 0, 0.09);3384  }3385}33863387/* Lock panel keeps its own border-radius over the generic glass token */3388.peach-lock-panel.peach-glass {3389  border-radius: 18px;3390  background: rgba(26, 20, 16, 0.65);3391  border: 1px solid rgba(255, 255, 255, 0.08);3392  box-shadow:3393    inset 0 1px 0 rgba(255, 255, 255, 0.05),3394    0 12px 28px rgba(0, 0, 0, 0.3);3395}33963397.light .peach-lock-panel.peach-glass,3398[data-theme="light"] .peach-lock-panel.peach-glass {3399  background: rgba(238, 227, 204, 0.75);3400  border: 1px solid rgba(34, 24, 9, 0.10);3401  box-shadow:3402    inset 0 1px 0 rgba(255, 255, 255, 0.5),3403    0 8px 24px rgba(80, 56, 32, 0.15);3404}34053406@supports not (backdrop-filter: blur(1px)) {3407  .peach-lock-panel.peach-glass {3408    background: rgba(26, 20, 16, 0.92);3409    box-shadow:3410      inset 0 1px 0 rgba(255, 255, 255, 0.05),3411      0 12px 28px rgba(0, 0, 0, 0.4);3412  }3413  .light .peach-lock-panel.peach-glass,3414  [data-theme="light"] .peach-lock-panel.peach-glass {3415    background: rgba(238, 227, 204, 0.96);3416  }3417}34183419.peach-lock-panel--secondary {3420  gap: 12px;3421}34223423.peach-lock-panel-header {3424  display: flex;3425  align-items: baseline;3426  justify-content: space-between;3427  gap: 12px;3428}34293430.peach-lock-option-grid {3431  display: grid;3432  gap: 10px;3433}34343435.peach-lock-option {3436  width: 100%;3437  display: grid;3438  gap: 6px;3439  padding: 14px 15px;3440  border-radius: 16px;3441  border: 1px solid rgba(240, 232, 216, 0.08);3442  background: rgba(240, 232, 216, 0.02);3443  color: var(--peach-t0);3444  text-align: left;3445  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3446}34473448.peach-lock-option:hover {3449  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3450  background: rgba(240, 232, 216, 0.04);3451  transform: translateY(-1px);3452}34533454.peach-lock-option-title {3455  font-size: 12px;3456  color: var(--peach-t0);3457}34583459.peach-lock-option-copy {3460  font-size: 11px;3461  line-height: 1.55;3462  color: var(--peach-t1);3463}34643465.peach-onboarding-stack {3466  margin-top: 2px;3467}3468.peach-lock-panel-footer {3469  display: grid;3470  gap: 6px;3471  margin-top: 2px;3472  padding-top: 10px;3473  border-top: 1px solid rgba(240, 232, 216, 0.06);3474}34753476/* Restore picker panel — method option cards */3477.peach-lock-panel--restore {3478  gap: 10px;3479}3480.peach-lock-option--history {3481  border-color: rgba(240, 232, 216, 0.06);3482  opacity: 0.85;3483}34843485/* Snapshot restore panel */3486.peach-snapshot-panel {3487  gap: 10px;3488  overflow-y: auto;3489  max-height: 340px;3490}3491.peach-snapshot-list {3492  display: flex;3493  flex-direction: column;3494  gap: 4px;3495}3496.peach-snapshot-row {3497  display: flex;3498  align-items: center;3499  justify-content: space-between;3500  width: 100%;3501  padding: 8px 10px;3502  border-radius: 8px;3503  border: 1px solid rgba(240, 232, 216, 0.07);3504  background: transparent;3505  cursor: pointer;3506  transition: border-color 120ms, background 120ms;3507  text-align: left;3508  gap: 8px;3509}3510.peach-snapshot-row:hover {3511  border-color: rgba(240, 232, 216, 0.14);3512  background: rgba(240, 232, 216, 0.03);3513}3514.peach-snapshot-row.is-selected {3515  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3516  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3517}3518.peach-snapshot-time {3519  font-size: 11.5px;3520  color: var(--peach-t0);3521  flex: 1;3522}3523.peach-snapshot-count {3524  font-family: "IBM Plex Mono", monospace;3525  font-size: 10px;3526  color: var(--peach-t2);3527  flex-shrink: 0;3528}3529.peach-snapshot-confirm {3530  display: flex;3531  flex-direction: column;3532  gap: 8px;3533  padding-top: 10px;3534  border-top: 1px solid rgba(240, 232, 216, 0.06);3535}3536.peach-snapshot-warning {3537  display: flex;3538  align-items: flex-start;3539  gap: 6px;3540  font-size: 10.5px;3541  color: rgba(220, 80, 60, 0.85);3542  line-height: 1.55;3543}3544.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3545.peach-snapshot-confirm-row {3546  display: flex;3547  gap: 6px;3548  align-items: center;3549}3550.peach-snapshot-restore-btn {3551  width: 100%;3552}3553.peach-lock-hero--unlock .peach-lock-hero-art {3554  width: 112px;3555  height: 112px;3556  right: 0;3557  top: 2px;3558  opacity: 0.1;3559}35603561.peach-card {3562  border: 1px solid var(--peach-t3);3563  border-radius: 18px;3564  background:3565    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3566  box-shadow:3567    inset 0 0 0 1px var(--peach-border-accent),3568    inset 0 1px 0 rgba(240, 232, 216, 0.04),3569    0 12px 32px rgba(0, 0, 0, 0.14);3570  overflow: hidden;3571}35723573.peach-card-active {3574  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3575  box-shadow:3576    inset 0 1px 0 rgba(240, 232, 216, 0.05),3577    0 16px 38px rgba(0, 0, 0, 0.18),3578    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3579}35803581.peach-card-disabled {3582  opacity: 0.72;3583}35843585.peach-card-header {3586  width: 100%;3587  padding: 13px 16px 11px;3588  background: transparent;3589  color: var(--peach-t0);3590  display: flex;3591  justify-content: space-between;3592  align-items: center;3593  text-align: left;3594  font-size: 12px;3595}35963597.peach-card-body {3598  padding: 0 16px 16px;3599  display: grid;3600  gap: 9px;3601}36023603.peach-card-tag {3604  color: var(--peach-t2);3605  font-family: "IBM Plex Mono", monospace;3606  font-size: 9px;3607  letter-spacing: 0.12em;3608  text-transform: uppercase;3609}36103611.peach-empty-copy {3612  display: grid;3613  gap: 6px;3614  color: var(--peach-t1);3615  font-size: 13px;3616}36173618.peach-lock-submit {3619  width: 100%;3620  box-shadow:3621    0 1px 0 rgba(255,255,255,0.10) inset,3622    0 0 0 1px color-mix(in srgb, var(--peach-accent) 19%, transparent),3623    0 12px 32px color-mix(in srgb, var(--peach-accent) 19%, transparent),3624    0 0 48px color-mix(in srgb, var(--peach-accent) 10%, transparent);3625}36263627.peach-lock-secondary {3628  width: 100%;3629  border-color: var(--peach-t3);3630  background: rgba(240, 232, 216, 0.02);3631}36323633.peach-lock-secondary:hover {3634  background: rgba(240, 232, 216, 0.04);3635}36363637.peach-lock-note {3638  max-width: none;3639  line-height: 1.55;3640  margin: 0;3641}36423643.peach-overlay-action {3644  font-size: 10px;3645  padding: 4px 8px;3646  letter-spacing: 0.06em;3647  min-width: 44px;3648  text-align: center;3649}36503651.peach-overlay-spacer {3652  width: 32px;3653}36543655.peach-inline-action {3656  flex-shrink: 0;3657  font-size: 9px;3658  letter-spacing: 0.1em;3659  text-transform: uppercase;3660  padding: 4px 7px;3661}3662.peach-password-toggle-btn {3663  display: inline-flex;3664  align-items: center;3665  justify-content: center;3666  min-width: 30px;3667  min-height: 26px;3668  padding: 0 7px;3669  border: 1px solid var(--peach-t3);3670  border-radius: 999px;3671  background: rgba(240, 232, 216, 0.04);3672  color: var(--peach-t2);3673  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3674}3675.peach-password-toggle-btn:hover {3676  border-color: var(--peach-t2);3677  color: var(--peach-t0);3678  background: rgba(240, 232, 216, 0.06);3679}36803681.peach-new-textarea {3682  width: 100%;3683  min-height: 88px;3684  resize: vertical;3685  border: 0;3686  outline: none;3687  background: transparent;3688  color: var(--peach-t1);3689  font-family: "IBM Plex Mono", monospace;3690  font-size: 12px;3691  line-height: 1.65;3692  caret-color: var(--peach-accent);3693}36943695.peach-new-textarea::placeholder {3696  color: var(--peach-t2);3697  opacity: 0.7;3698}36993700.peach-settings-actions {3701  display: grid;3702  gap: 8px;3703}37043705.peach-sync-section-label {3706  font-size: 11px;3707  color: var(--peach-t2);3708  text-transform: uppercase;3709  letter-spacing: 0.05em;3710}37113712.peach-sync-device-row {3713  display: flex;3714  justify-content: space-between;3715  align-items: center;3716  padding: 6px 0;3717  border-bottom: 1px solid var(--peach-t3);3718}37193720.peach-sync-device-info {3721  display: flex;3722  flex-direction: column;3723  gap: 2px;3724}37253726.peach-sync-device-name {3727  font-size: 13px;3728  color: var(--peach-t0);3729}37303731.peach-sync-device-meta {3732  font-size: 11px;3733  color: var(--peach-t2);3734}37353736.peach-sync-status-dot {3737  display: inline-block;3738  width: 8px;3739  height: 8px;3740  border-radius: 50%;3741  vertical-align: middle;3742}37433744.peach-sync-remove-btn {3745  color: var(--peach-breach);3746}37473748.peach-sync-hero-icon {3749  color: var(--peach-t1);3750  opacity: 0.85;3751}37523753.peach-import-preview {3754  margin-bottom: 12px;3755  max-height: 152px;3756  overflow-y: auto;3757  border: 1px solid var(--peach-t3);3758  border-radius: 10px;3759  padding: 8px 10px;3760  display: grid;3761  gap: 8px;3762  background: rgba(240, 232, 216, 0.02);3763}37643765.peach-import-preview-row {3766  display: flex;3767  justify-content: space-between;3768  gap: 10px;3769  font-size: 11px;3770  color: var(--peach-t1);3771}37723773.peach-import-preview-title {3774  color: var(--peach-t0);3775  flex: 1;3776  min-width: 0;3777  overflow: hidden;3778  text-overflow: ellipsis;3779  white-space: nowrap;3780}37813782.peach-import-preview-meta {3783  color: var(--peach-t2);3784  flex-shrink: 0;3785  max-width: 42%;3786  overflow: hidden;3787  text-overflow: ellipsis;3788  white-space: nowrap;3789}37903791.peach-import-preview-more {3792  color: var(--peach-t2);3793  font-size: 10px;3794}37953796.peach-restore-copy {3797  margin: 0;3798  color: var(--peach-t1);3799  font-size: 11px;3800  line-height: 1.6;3801}38023803.peach-restore-warning {3804  padding: 10px 12px;3805  border-radius: 12px;3806  border: 1px solid color-mix(in srgb, var(--peach-breach) 35%, transparent);3807  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3808  color: var(--peach-t0);3809  font-size: 11px;3810  line-height: 1.55;3811}38123813.peach-provider-chips {3814  display: flex;3815  flex-wrap: wrap;3816  gap: 6px;3817}38183819.peach-provider-chip {3820  display: inline-flex;3821  align-items: center;3822  padding: 5px 8px;3823  border-radius: 999px;3824  border: 1px solid var(--peach-t3);3825  background: rgba(240, 232, 216, 0.02);3826  color: var(--peach-t1);3827  font-family: "IBM Plex Mono", monospace;3828  font-size: 8px;3829  letter-spacing: 0.08em;3830  text-transform: uppercase;3831}38323833.peach-restore-file,3834.peach-restore-input {3835  width: 100%;3836  border-radius: 10px;3837  border: 1px solid var(--peach-t3);3838  background: var(--peach-s2);3839  color: var(--peach-t0);3840  font-size: 12px;3841}38423843.peach-restore-file {3844  padding: 9px 10px;3845}38463847.peach-restore-file::file-selector-button {3848  margin-right: 10px;3849  padding: 7px 10px;3850  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3851  border-radius: 999px;3852  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3853  color: var(--peach-t0);3854  font-size: 10px;3855  letter-spacing: 0.08em;3856  text-transform: uppercase;3857  cursor: pointer;3858}38593860.peach-restore-input {3861  padding: 10px 12px;3862}38633864.peach-auth-grid {3865  display: grid;3866  gap: 10px;3867}38683869.peach-import-summary {3870  color: var(--peach-t1);3871  font-size: 12px;3872  line-height: 1.6;3873  margin-bottom: 12px;3874}38753876.peach-restore-error {3877  color: rgba(220, 80, 60, 0.95);3878  font-size: 12px;3879  line-height: 1.55;3880}38813882.peach-passkey-card {3883  max-width: 400px;3884  margin: auto;3885}38863887.peach-pro-badge {3888  padding: 2px 6px;3889  border-radius: 999px;3890  font-family: var(--font-ui);3891  font-size: 10px;3892  letter-spacing: 0.08em;3893  text-transform: uppercase;3894  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3895  color: var(--peach-accent);3896}38973898/* ── Shortcuts rebind table ─────────────────────────────────── */3899.peach-shortcuts-group { display: flex; flex-direction: column; gap: 6px; }3900.peach-shortcut-row {3901  display: flex;3902  align-items: center;3903  gap: 10px;3904  padding: 6px 0;3905}3906.peach-shortcut-row-label {3907  flex: 1;3908  font-size: 12px;3909  color: var(--peach-t0);3910}3911.peach-shortcut-chip {3912  min-width: 64px;3913  padding: 4px 10px;3914  border-radius: 6px;3915  border: 1px solid var(--peach-t3);3916  background: var(--peach-input-bg, var(--surface-card));3917  color: var(--peach-t0);3918  font-family: var(--font-mono);3919  font-size: 11px;3920  letter-spacing: 0.04em;3921  cursor: pointer;3922  text-align: center;3923  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;3924}3925.peach-shortcut-chip:hover { border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent); }3926.peach-shortcut-chip.is-custom {3927  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3928  color: var(--peach-accent);3929}3930.peach-shortcut-chip.is-capturing {3931  border-color: var(--peach-accent);3932  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3933  color: var(--peach-accent);3934  animation: peach-shortcut-capture-pulse 1.4s ease-in-out infinite;3935}3936@keyframes peach-shortcut-capture-pulse {3937  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--peach-accent) 30%, transparent); }3938  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--peach-accent) 12%, transparent); }3939}3940.peach-shortcut-reset {3941  background: transparent;3942  border: none;3943  cursor: pointer;3944  color: var(--peach-t2);3945  padding: 4px 6px;3946  border-radius: 5px;3947  font-size: 14px;3948  line-height: 1;3949  transition: color 120ms ease, background 120ms ease;3950}3951.peach-shortcut-reset:hover {3952  color: var(--peach-t0);3953  background: color-mix(in srgb, var(--peach-text, var(--peach-t0)) 6%, transparent);3954}3955.peach-shortcuts-conflict {3956  margin: 4px 0 0;3957  padding: 8px 10px;3958  border-radius: 7px;3959  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3960  border: 1px solid color-mix(in srgb, var(--peach-breach) 30%, transparent);3961  font-family: var(--font-mono);3962  font-size: 11px;3963  color: var(--peach-t0);3964}39653966/* ── Help dialog overlay (? to open) ────────────────────────── */3967.peach-shortcuts-help-backdrop {3968  position: fixed;3969  inset: 0;3970  background: rgba(0, 0, 0, 0.55);3971  backdrop-filter: blur(2px);3972  display: flex;3973  align-items: center;3974  justify-content: center;3975  z-index: 1000;3976  animation: peach-help-fade-in 140ms ease forwards;3977}3978@keyframes peach-help-fade-in { from { opacity: 0 } to { opacity: 1 } }3979.peach-shortcuts-help-card {3980  width: min(320px, 92vw);3981  max-height: 80vh;3982  overflow-y: auto;3983  border-radius: 14px;3984  border: 1px solid var(--peach-t3);3985  background: var(--peach-bg);3986  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);3987  padding: 16px 18px 18px;3988  display: flex;3989  flex-direction: column;3990  gap: 12px;3991}3992.peach-shortcuts-help-head {3993  display: flex; align-items: center; justify-content: space-between;3994}3995.peach-shortcuts-help-head h3 {3996  margin: 0;3997  font-family: var(--font-display);3998  font-style: italic;3999  font-weight: 400;4000  font-size: 22px;4001  color: var(--peach-t0);4002}4003.peach-shortcuts-help-close {4004  background: transparent;4005  border: none;4006  color: var(--peach-t2);4007  cursor: pointer;4008  font-size: 14px;4009  padding: 4px 8px;4010  border-radius: 5px;4011}4012.peach-shortcuts-help-close:hover { color: var(--peach-t0); background: var(--surface-card); }4013.peach-shortcuts-help-body ul {4014  list-style: none; padding: 0; margin: 4px 0 12px;4015  display: grid; gap: 8px;4016}4017.peach-shortcuts-help-body li {4018  display: flex; align-items: center; justify-content: space-between; gap: 12px;4019  font-size: 12px; color: var(--peach-t0);4020}4021.peach-shortcuts-help-body kbd {4022  font-family: var(--font-mono);4023  font-size: 11px;4024  padding: 3px 8px;4025  border-radius: 6px;4026  background: var(--surface-card);4027  border: 1px solid var(--peach-t3);4028  color: var(--peach-accent);4029  letter-spacing: 0.04em;4030}40314032/* ── Pro promo on Account screen ────────────────────────────── */4033.peach-pro-promo {4034  position: relative;4035  border-radius: 14px;4036  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);4037  background:4038    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent) 0%, transparent 60%),4039    radial-gradient(85% 100% at 100% 100%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 0%, transparent 65%),4040    var(--surface-card);4041  overflow: hidden;4042  margin-bottom: 14px;4043}4044.peach-pro-promo-glow {4045  position: absolute;4046  inset: -40% -20% auto auto;4047  width: 220px; height: 220px;4048  background: radial-gradient(closest-side, var(--peach-glow), transparent 70%);4049  pointer-events: none;4050  filter: blur(8px);4051}4052.peach-pro-promo-inner {4053  position: relative;4054  padding: 18px 18px 16px;4055}4056.peach-pro-promo-title {4057  font-family: var(--font-display);4058  font-style: italic;4059  font-weight: 400;4060  font-size: 28px;4061  line-height: 1;4062  letter-spacing: -0.005em;4063  color: var(--peach-t0);4064  margin: 0 0 4px;4065}4066.peach-pro-promo-tagline {4067  font-family: var(--font-mono);4068  font-size: 10px;4069  letter-spacing: 0.06em;4070  color: var(--peach-t2);4071  margin: 0 0 14px;4072}4073.peach-pro-promo-list {4074  list-style: none;4075  margin: 0 0 16px;4076  padding: 0;4077  display: grid;4078  gap: 9px;4079}4080.peach-pro-promo-list li {4081  display: flex;4082  align-items: flex-start;4083  gap: 9px;4084  font-size: 12px;4085  color: var(--peach-t1);4086  line-height: 1.4;4087}4088.peach-pro-promo-list svg {4089  width: 14px;4090  height: 14px;4091  flex-shrink: 0;4092  color: var(--peach-accent);4093  margin-top: 2px;4094}4095.peach-pro-promo-list span {4096  color: var(--peach-t0);4097}4098.peach-pro-promo-cta {4099  width: 100%;4100  background: var(--peach-accent);4101  color: #fff;4102  border: none;4103  padding: 9px 12px;4104  border-radius: 9px;4105  font-size: 12px;4106  font-weight: 500;4107  font-family: var(--font-ui);4108  letter-spacing: 0.02em;4109  text-decoration: none;4110  display: inline-flex;4111  align-items: center;4112  justify-content: center;4113  cursor: pointer;4114  transition: filter 120ms ease, box-shadow 120ms ease, transform 80ms ease;4115  box-shadow: 0 2px 16px var(--peach-glow);4116}4117.peach-pro-promo-cta:hover {4118  filter: brightness(1.07);4119  box-shadow: 0 4px 24px var(--peach-glow);4120  transform: translateY(-1px);4121}4122.peach-pro-promo-cta:active { transform: translateY(0); filter: brightness(0.96); }41234124.peach-pro-or-divider {4125  display: flex;4126  align-items: center;4127  gap: 10px;4128  margin: 4px 0 12px;4129  font-family: var(--font-mono);4130  font-size: 10px;4131  letter-spacing: 0.06em;4132  color: var(--peach-t2);4133  text-transform: uppercase;4134}4135.peach-pro-or-divider::before,4136.peach-pro-or-divider::after {4137  content: "";4138  flex: 1;4139  height: 1px;4140  background: var(--peach-t3);4141}41424143.peach-loading {4144  position: absolute;4145  inset: 0;4146  display: flex;4147  align-items: center;4148  justify-content: center;4149  background: var(--bg);4150  animation: peach-loading-pulse 1.2s ease-in-out infinite;4151}41524153@keyframes peach-loading-pulse {4154  0%, 100% { opacity: 0.6; }4155  50% { opacity: 1; }4156}41574158/* ── Health Dashboard ─────────────────────────────────────────────────── */4159.peach-health-body {4160  flex: 1;4161  overflow-y: auto;4162  display: flex;4163  flex-direction: column;4164}41654166.peach-health-summary {4167  padding: 10px 16px 6px;4168  font-family: "IBM Plex Mono", monospace;4169  font-size: 11px;4170}4171.peach-health-summary-warn { color: rgba(220,80,60,0.9); }4172.peach-health-summary-ok { color: var(--peach-t2); }41734174.peach-health-check-row {4175  padding: 0 16px 10px;4176}4177.peach-health-check-btn {4178  width: 100%;4179  display: flex;4180  align-items: center;4181  justify-content: center;4182}41834184.peach-health-sections {4185  flex: 1;4186  display: flex;4187  flex-direction: column;4188}41894190.peach-health-section {4191  border-bottom: 1px solid var(--peach-t3);4192}41934194.peach-health-section-header {4195  width: 100%;4196  display: flex;4197  align-items: center;4198  justify-content: space-between;4199  padding: 9px 16px;4200  background: transparent;4201  cursor: pointer;4202  color: var(--peach-t0);4203}42044205.peach-health-section-title-row {4206  display: flex;4207  align-items: center;4208  gap: 8px;4209}42104211.peach-health-count-badge {4212  display: inline-flex;4213  align-items: center;4214  justify-content: center;4215  min-width: 20px;4216  height: 18px;4217  padding: 0 5px;4218  border-radius: 999px;4219  background: rgba(220,80,60,0.15);4220  border: 1px solid rgba(220,80,60,0.25);4221  font-family: "IBM Plex Mono", monospace;4222  font-size: 9px;4223  color: rgba(220,80,60,0.9);4224}42254226.peach-health-section-title {4227  font-family: "IBM Plex Mono", monospace;4228  font-size: 11px;4229  text-transform: uppercase;4230  letter-spacing: 0.1em;4231  color: var(--peach-t1);4232}42334234.peach-health-chevron {4235  color: var(--peach-t2);4236  transition: transform 200ms ease;4237  flex-shrink: 0;4238}4239.peach-health-chevron.is-expanded {4240  transform: rotate(180deg);4241}42424243.peach-health-section-body {4244  padding: 0 16px 10px;4245  display: flex;4246  flex-direction: column;4247  gap: 4px;4248}42494250.peach-health-row {4251  display: flex;4252  align-items: flex-start;4253  justify-content: space-between;4254  gap: 8px;4255  padding: 6px 8px;4256  border-radius: 8px;4257  background: rgba(240,232,216,0.02);4258}42594260.peach-health-row-info {4261  flex: 1;4262  min-width: 0;4263  display: flex;4264  flex-direction: column;4265  gap: 2px;4266}42674268.peach-health-row-name {4269  font-family: var(--font-display);4270  font-size: 15px;4271  font-style: italic;4272  font-weight: 400;4273  color: var(--peach-t0);4274  white-space: nowrap;4275  overflow: hidden;4276  text-overflow: ellipsis;4277}42784279.peach-health-row-meta {4280  font-family: "IBM Plex Mono", monospace;4281  font-size: 9px;4282  color: var(--peach-t2);4283  letter-spacing: 0.05em;4284}42854286.peach-health-fix-btn {4287  font-size: 9px;4288  letter-spacing: 0.08em;4289  text-transform: uppercase;4290  padding: 4px 7px;4291  flex-shrink: 0;4292  display: flex;4293  align-items: center;4294}42954296.peach-health-empty {4297  font-family: "IBM Plex Mono", monospace;4298  font-size: 10px;4299  color: var(--peach-t2);4300  padding: 6px 0;4301}43024303.peach-health-loading {4304  font-family: "IBM Plex Mono", monospace;4305  font-size: 10px;4306  color: var(--peach-t2);4307  padding: 6px 0;4308  display: flex;4309  align-items: center;4310  gap: 6px;4311}43124313.peach-health-loading::before {4314  content: "";4315  width: 10px;4316  height: 10px;4317  border: 1.5px solid var(--peach-t3);4318  border-top-color: var(--peach-accent);4319  border-radius: 50%;4320  animation: peach-spin 600ms linear infinite;4321}43224323@keyframes peach-spin {4324  to { transform: rotate(360deg); }4325}43264327.peach-spinner {4328  width: 32px;4329  height: 32px;4330  border: 2px solid var(--peach-s2);4331  border-top-color: var(--peach-accent);4332  border-radius: 50%;4333  margin: 0 auto 16px;4334  animation: peach-spin 0.8s linear infinite;4335}43364337.peach-progress-screen {4338  text-align: center;4339  padding: 32px 16px;4340}43414342.peach-progress-screen-title {4343  font-size: 13px;4344  color: var(--peach-t0);4345  margin-bottom: 16px;4346}43474348.peach-progress-screen-stage {4349  font-size: 11px;4350  color: var(--peach-t2);4351  min-height: 14px;4352}43534354.peach-progress-screen-note {4355  font-size: 10px;4356  color: var(--peach-t2);4357  margin-top: 8px;4358}43594360.peach-pairing-body {4361  flex: 1;4362  overflow-y: auto;4363  display: flex;4364  flex-direction: column;4365}43664367.peach-pairing-content {4368  flex: 1;4369  display: flex;4370  flex-direction: column;4371  align-items: center;4372  justify-content: center;4373  gap: 14px;4374  padding: 28px 20px;4375  text-align: center;4376}43774378.peach-pairing-headline {4379  font-family: var(--font-display);4380  font-style: italic;4381  font-weight: 300;4382  font-size: 28px;4383  color: var(--peach-t0);4384  margin: 0;4385  line-height: 1;4386}43874388.peach-pairing-subline {4389  font-size: 12px;4390  color: var(--peach-t2);4391  max-width: 220px;4392  line-height: 1.5;4393  margin: 0;4394}43954396.peach-pairing-subline--center {4397  text-align: center;4398}43994400.peach-pairing-code-display {4401  display: flex;4402  gap: 6px;4403}44044405.peach-pairing-code-digit {4406  display: flex;4407  align-items: center;4408  justify-content: center;4409  width: 36px;4410  height: 48px;4411  background: var(--peach-s2);4412  border: 1px solid var(--peach-t3);4413  border-radius: 6px;4414  font-family: var(--font-mono);4415  font-size: 22px;4416  color: var(--peach-t0);4417  letter-spacing: 0;4418}44194420.peach-pairing-countdown-ring {4421  position: relative;4422  display: inline-flex;4423  align-items: center;4424  justify-content: center;4425}44264427.peach-pairing-countdown-num {4428  position: absolute;4429  font-family: var(--font-mono);4430  font-size: 14px;4431  color: var(--peach-t1);4432}44334434.peach-pairing-ring-track {4435  fill: none;4436  stroke: var(--peach-t3);4437  stroke-width: 2;4438}44394440.peach-pairing-ring-progress {4441  fill: none;4442  stroke: var(--peach-accent);4443  stroke-width: 2;4444  stroke-linecap: round;4445  transform: rotate(-90deg);4446  transform-origin: 50% 50%;4447  transition: stroke-dashoffset 0.5s linear;4448}44494450.peach-pairing-code-inputs {4451  display: flex;4452  gap: 8px;4453}44544455.peach-pairing-code-box {4456  width: 36px;4457  height: 48px;4458  text-align: center;4459  background: var(--peach-s2);4460  border: 1px solid var(--peach-t3);4461  border-radius: 6px;4462  font-family: var(--font-mono);4463  font-size: 20px;4464  color: var(--peach-t0);4465  outline: none;4466  transition: border-color 120ms ease;4467}44684469.peach-pairing-code-box:focus {4470  border-color: var(--peach-accent);4471}44724473.peach-pairing-code-box.has-error {4474  border-color: rgba(220, 80, 60, 0.45);4475}44764477.peach-pairing-status {4478  display: flex;4479  align-items: center;4480  gap: 8px;4481  margin: 0;4482  font-size: 12px;4483  color: var(--peach-t1);4484}44854486.peach-pairing-error {4487  margin: 0;4488  font-size: 11px;4489  color: var(--peach-breach);4490}44914492.peach-pairing-error-msg {4493  color: var(--peach-t1);4494}44954496.peach-pairing-spinner {4497  width: 12px;4498  height: 12px;4499  border: 1.5px solid var(--peach-t3);4500  border-top-color: var(--peach-accent);4501  border-radius: 50%;4502  animation: peach-spin 0.8s linear infinite;4503}45044505.peach-pairing-success-icon,4506.peach-pairing-error-icon,4507.peach-pairing-hero {4508  display: inline-flex;4509  align-items: center;4510  justify-content: center;4511}45124513/* Tag chips */4514.peach-tag-chip {4515  display: inline-flex;4516  align-items: center;4517  gap: 4px;4518  padding: 3px 8px;4519  border-radius: 999px;4520  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);4521  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4522  color: var(--peach-t0);4523  font-family: "IBM Plex Mono", monospace;4524  font-size: 10px;4525  letter-spacing: 0.04em;4526}45274528.peach-tag-chip-remove {4529  background: transparent;4530  border: none;4531  color: inherit;4532  opacity: 0.6;4533  cursor: pointer;4534  padding: 0;4535  font-size: 12px;4536  line-height: 1;4537}45384539.peach-tag-chip-remove:hover {4540  opacity: 1;4541}45424543/* Tag input */4544.peach-tag-input-wrap {4545  border-bottom: 1px solid var(--peach-t3);4546}45474548.peach-tag-suggestions {4549  display: flex;4550  flex-wrap: wrap;4551  gap: 4px;4552  padding: 6px 0;4553}45544555.peach-tag-suggestion {4556  padding: 2px 8px;4557  border-radius: 999px;4558  border: 1px solid var(--peach-t3);4559  background: var(--peach-s2);4560  color: var(--peach-t1);4561  font-family: "IBM Plex Mono", monospace;4562  font-size: 10px;4563  cursor: pointer;4564  transition: border-color 80ms ease, background 80ms ease;4565}45664567.peach-tag-suggestion:hover {4568  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4569  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4570}45714572/* Tag filter strip */4573.peach-tag-filter-strip {4574  border-bottom: 1px solid var(--peach-t3);4575  flex-shrink: 0;4576}45774578.peach-tag-filter-chip {4579  display: inline-flex;4580  align-items: center;4581  padding: 4px 10px;4582  border-radius: 999px;4583  border: 1px solid var(--peach-t3);4584  background: transparent;4585  color: var(--peach-t2);4586  font-family: "IBM Plex Mono", monospace;4587  font-size: 9px;4588  letter-spacing: 0.06em;4589  text-transform: uppercase;4590  cursor: pointer;4591  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4592  white-space: nowrap;4593}45944595.peach-tag-filter-chip:hover {4596  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);4597  color: var(--peach-t1);4598}45994600.peach-tag-filter-chip.is-selected {4601  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4602  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4603  color: var(--peach-t0);4604}46054606/* ─────────────────────────────────────────────────────────────────────────4607   v1.4.12 additions4608   ─────────────────────────────────────────────────────────────────────── */46094610/* Sort bar */4611.peach-sort-bar {4612  display: flex;4613  align-items: center;4614  gap: 4px;4615  padding: 5px 12px;4616  border-bottom: 1px solid var(--peach-t3);4617  flex-shrink: 0;4618  overflow-x: auto;4619  scrollbar-width: none;4620}46214622.peach-sort-btn {4623  padding: 2px 9px;4624  border-radius: 999px;4625  border: 1px solid transparent;4626  background: transparent;4627  color: var(--peach-t2);4628  font-family: "IBM Plex Mono", monospace;4629  font-size: 9px;4630  letter-spacing: 0.07em;4631  text-transform: uppercase;4632  cursor: pointer;4633  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4634  white-space: nowrap;4635}46364637.peach-sort-btn:hover {4638  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);4639  color: var(--peach-t1);4640}46414642.peach-sort-btn.is-active {4643  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4644  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4645  color: var(--peach-t0);4646}46474648.peach-sort-domain-hint {4649  margin-left: auto;4650  font-family: "IBM Plex Mono", monospace;4651  font-size: 9px;4652  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4653  white-space: nowrap;4654  overflow: hidden;4655  text-overflow: ellipsis;4656  max-width: 110px;4657}46584659/* Tab-match badge on entry rows */4660.peach-tab-match-badge {4661  display: inline-block;4662  width: 6px;4663  height: 6px;4664  border-radius: 50%;4665  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4666  margin-left: 5px;4667  vertical-align: middle;4668  flex-shrink: 0;4669  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4670}46714672.peach-entry-row.is-tab-match {4673  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4674  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4675}46764677.peach-entry-row.is-tab-match:hover {4678  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4679}46804681/* Entry list stagger entrance */4682@keyframes peach-entry-fadein {4683  from { opacity: 0; transform: translateY(4px); }4684  to   { opacity: 1; transform: translateY(0); }4685}46864687.peach-vault-list .peach-entry-row {4688  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4689  content-visibility: auto;4690  contain-intrinsic-size: auto 44px;4691}46924693/* Button press micro-interaction */4694.peach-btn:active {4695  transform: scale(0.95);4696  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4697}46984699.peach-sort-btn:active,4700.peach-tag-filter-chip:active {4701  transform: scale(0.93);4702  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4703}47044705/* Password strength bar (Lock view + shared) */4706.peach-password-strength {4707  display: flex;4708  align-items: center;4709  gap: 8px;4710  margin-top: 6px;4711}47124713.peach-strength-bar {4714  flex: 1;4715  height: 3px;4716  border-radius: 2px;4717  background: var(--peach-t3);4718  overflow: hidden;4719}47204721.peach-strength-fill {4722  height: 100%;4723  border-radius: 2px;4724  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4725              background 300ms ease;4726}47274728.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4729.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4730.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4731.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }47324733.peach-strength-label {4734  font-family: "IBM Plex Mono", monospace;4735  font-style: italic;4736  font-size: 9px;4737  font-weight: 300;4738  letter-spacing: 0.06em;4739  color: var(--peach-t2);4740  min-width: 36px;4741  text-align: right;4742}47434744.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4745.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4746.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4747.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }47484749/* Duress form */4750.peach-duress-status {4751  padding: 2px 8px;4752  border-radius: 999px;4753  border: 1px solid var(--peach-t3);4754  font-family: "IBM Plex Mono", monospace;4755  font-size: 9px;4756  letter-spacing: 0.07em;4757  text-transform: uppercase;4758  color: var(--peach-t2);4759  flex-shrink: 0;4760}47614762.peach-duress-status.is-active {4763  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4764  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4765  color: var(--peach-t0);4766}47674768.peach-duress-form {4769  padding: 8px 0 4px;4770  display: flex;4771  flex-direction: column;4772  gap: 6px;4773}47744775.peach-duress-form .peach-label {4776  margin-top: 4px;4777}47784779.peach-duress-actions {4780  display: flex;4781  gap: 6px;4782  align-items: center;4783  margin-top: 4px;4784}47854786.peach-duress-actions .peach-btn:first-child {4787  margin-right: auto;4788}47894790/* Improved overlay spring entrance */4791.peach-overlay-view.ov-enter-up {4792  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4793}47944795@keyframes ov-enter-up-spring {4796  from { opacity: 0; transform: translateY(16px) scale(0.98); }4797  to   { opacity: 1; transform: translateY(0) scale(1); }4798}47994800.peach-overlay-view.ov-enter-right {4801  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4802}48034804@keyframes ov-enter-right-spring {4805  from { opacity: 0; transform: translateX(18px) scale(0.98); }4806  to   { opacity: 1; transform: translateX(0) scale(1); }4807}48084809/* ── Onboarding-mode restore screens (file import) ── */4810/* Used when MainImportView renders during onboarding (no vault yet).4811   Animates like a lock-screen transition. */4812.peach-lock-view {4813  position: absolute;4814  inset: 0;4815  display: flex;4816  flex-direction: column;4817  background:4818    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4819    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4820    var(--peach-bg);4821  z-index: 2;4822  overflow: hidden;4823  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4824}48254826.peach-lock-view-header {4827  display: flex;4828  align-items: center;4829  justify-content: space-between;4830  padding: 16px 18px 12px;4831  flex-shrink: 0;4832}48334834/* ───────── Settings: auto-lock select ───────── */4835.peach-settings-select {4836  font-family: "IBM Plex Mono", monospace;4837  font-size: 11px;4838  background: transparent;4839  border: 1px solid var(--peach-t3);4840  border-radius: 4px;4841  color: var(--peach-t1);4842  padding: 3px 6px;4843  cursor: pointer;4844  outline: none;4845}4846.peach-settings-select:focus {4847  border-color: var(--peach-accent);4848}48494850/* ───────── Duress status pill (new polished) ───────── */4851.peach-duress-status-pill {4852  font-family: "IBM Plex Mono", monospace;4853  font-size: 9px;4854  text-transform: uppercase;4855  letter-spacing: 0.12em;4856  padding: 2px 8px;4857  border-radius: 12px;4858  background: var(--peach-t3);4859  color: var(--peach-t2);4860  flex-shrink: 0;4861}4862.peach-duress-status-pill.is-active {4863  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4864  color: var(--peach-accent);4865}48664867/* ───────── Entry advanced disclosure (canary) ───────── */4868.peach-entry-advanced {4869  margin-top: 12px;4870  border-top: 1px solid var(--peach-t3);4871  padding-top: 10px;4872  position: relative;4873  z-index: 1;4874}4875.peach-entry-advanced-toggle {4876  display: flex;4877  align-items: center;4878  justify-content: space-between;4879  width: 100%;4880  background: transparent;4881  border: none;4882  cursor: pointer;4883  padding: 0;4884  color: var(--peach-t2);4885}4886.peach-canary-section {4887  margin-top: 10px;4888  display: grid;4889  gap: 6px;4890}48914892/* ───────── Import: merge/replace radio choices ───────── */4893.peach-import-choice {4894  display: flex;4895  align-items: flex-start;4896  gap: 10px;4897  padding: 8px 10px;4898  border: 1px solid var(--peach-t3);4899  border-radius: 10px;4900  cursor: pointer;4901  margin-bottom: 6px;4902  transition: border-color 120ms ease, background 120ms ease;4903}4904.peach-import-choice:hover {4905  border-color: var(--peach-accent);4906}4907.peach-import-choice input[type="radio"] {4908  margin-top: 3px;4909  accent-color: var(--peach-accent);4910  flex-shrink: 0;4911}4912.peach-import-choice-main {4913  display: flex;4914  flex-direction: column;4915  gap: 2px;4916  min-width: 0;4917}4918.peach-import-choice-label {4919  font-size: 12px;4920  color: var(--peach-t0);4921}4922.peach-import-choice-sub {4923  font-size: 11px;4924  color: var(--peach-t2);4925  line-height: 1.5;4926}49274928/* ───────── Export: success confirmation strip ───────── */4929.peach-export-success {4930  display: flex;4931  align-items: flex-start;4932  gap: 10px;4933  padding: 12px;4934  border-radius: 12px;4935  border: 1px solid rgba(150, 175, 110, 0.3);4936  background: rgba(150, 175, 110, 0.08);4937  color: var(--peach-t0);4938  font-size: 12px;4939  line-height: 1.55;4940}4941.peach-export-success-check {4942  color: rgba(150, 175, 110, 0.9);4943  font-size: 14px;4944  flex-shrink: 0;4945}49464947/* ── Trash view ──────────────────────────────────────────────────────── */4948.peach-trash-entry-row {4949  display: flex;4950  align-items: center;4951  justify-content: space-between;4952  gap: 8px;4953  padding: 8px 0;4954  border-bottom: 1px solid var(--peach-border);4955}4956.peach-trash-entry-info {4957  flex: 1;4958  min-width: 0;4959  display: flex;4960  flex-direction: column;4961  gap: 2px;4962}4963.peach-trash-entry-title {4964  font-size: 13px;4965  color: var(--peach-t0);4966  overflow: hidden;4967  text-overflow: ellipsis;4968  white-space: nowrap;4969}4970.peach-trash-entry-meta {4971  font-family: var(--font-mono);4972  font-size: 9px;4973  color: var(--peach-t2);4974  letter-spacing: 0.04em;4975}4976.peach-trash-entry-actions {4977  display: flex;4978  align-items: center;4979  gap: 4px;4980  flex-shrink: 0;4981}4982.peach-trash-delete-btn {4983  background: transparent;4984  border: 0;4985  color: var(--peach-t3);4986  font-size: 16px;4987  line-height: 1;4988  cursor: pointer;4989  padding: 2px 5px;4990  transition: color 0.15s;4991}4992.peach-trash-delete-btn:hover { color: var(--peach-breach); }4993.peach-trash-list {4994  overflow-y: auto;4995}4996.peach-trash-footer {4997  display: flex;4998  align-items: center;4999  gap: 8px;5000  padding: 8px 0 0;5001  border-top: 1px solid var(--peach-border);5002  margin-top: 4px;5003}5004.peach-trash-purge-all {5005  background: transparent;5006  border: 0;5007  color: var(--peach-t3);5008  font-size: 10px;5009  cursor: pointer;5010  padding: 4px 0;5011  letter-spacing: 0.03em;5012  transition: color 0.2s;5013}5014.peach-trash-purge-all:hover { color: var(--peach-breach); }5015.peach-trash-purge-confirm-label {5016  font-size: 10px;5017  color: var(--peach-t1);5018  flex: 1;5019}50205021/* ── Settings shortcuts grid ─────────────────────────────────────────── */5022.peach-shortcuts-grid {5023  display: grid;5024  grid-template-columns: auto 1fr;5025  gap: 6px 12px;5026  align-items: center;5027  padding: 4px 0;5028}5029.peach-shortcut-key {5030  font-family: var(--font-mono);5031  font-size: 10px;5032  color: var(--peach-t0);5033  background: var(--peach-t3);5034  border-radius: 4px;5035  padding: 2px 6px;5036  white-space: nowrap;5037  text-align: center;5038}5039.peach-shortcut-desc {5040  font-size: 11px;5041  color: var(--peach-t1);5042}50435044/* ── Sort bar trash button ───────────────────────────────────────────── */5045.peach-sort-trash-btn {5046  display: flex;5047  align-items: center;5048  justify-content: center;5049  padding: 3px 5px;5050  background: transparent;5051  border: none;5052  cursor: pointer;5053  color: var(--peach-t2);5054  border-radius: 4px;5055  transition: color 140ms ease, background 140ms ease;5056}5057.peach-sort-trash-btn:hover {5058  color: var(--peach-t1);5059  background: var(--peach-t3);5060}5061.peach-sort-trash-btn.is-active {5062  color: var(--peach-accent);5063}50645065/* Accent color picker */5066.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }5067.peach-accent-picker {5068  display: flex;5069  flex-wrap: wrap;5070  gap: 7px;5071  padding: 2px 0;5072}5073.peach-accent-swatch {5074  width: 22px;5075  height: 22px;5076  border-radius: 50%;5077  border: 2px solid transparent;5078  cursor: pointer;5079  padding: 0;5080  transition: transform 100ms;5081  outline-offset: 2px;5082}5083.peach-accent-swatch:hover { transform: scale(1.15); }5084.peach-accent-swatch.is-active {5085  border-color: var(--peach-t0);5086  transform: scale(1.1);5087}50885089/* Display font picker — swatch shows an "Aa" preview rendered with each5090   font option so the user can see what they're picking before they pick. */5091.peach-settings-row--font { align-items: flex-start; padding-top: 10px; }5092.peach-font-picker {5093  display: flex;5094  flex-wrap: wrap;5095  gap: 6px;5096  padding: 2px 0;5097  flex: 1;5098  justify-content: flex-end;5099}5100.peach-font-swatch {5101  display: flex;5102  flex-direction: column;5103  align-items: center;5104  gap: 2px;5105  padding: 4px 8px;5106  background: transparent;5107  border: 1px solid var(--peach-t3);5108  border-radius: 6px;5109  cursor: pointer;5110  transition: border-color 100ms, background 100ms;5111  min-width: 56px;5112}5113.peach-font-swatch:hover {5114  border-color: var(--peach-accent-dim);5115  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5116}5117.peach-font-swatch.is-active {5118  border-color: var(--peach-accent);5119  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5120}5121.peach-font-swatch-glyph {5122  font-size: 18px;5123  line-height: 1;5124  color: var(--peach-t0);5125}5126.peach-font-swatch[data-font-preview="cormorant-italic"] .peach-font-swatch-glyph {5127  font-family: "Cormorant Garamond", serif;5128  font-style: italic;5129  font-weight: 400;5130}5131.peach-font-swatch[data-font-preview="cormorant"] .peach-font-swatch-glyph {5132  font-family: "Cormorant Garamond", serif;5133  font-style: normal;5134  font-weight: 400;5135}5136.peach-font-swatch[data-font-preview="inter"] .peach-font-swatch-glyph {5137  font-family: "Inter Variable", "Inter", sans-serif;5138  font-style: normal;5139  font-weight: 400;5140}5141.peach-font-swatch[data-font-preview="system"] .peach-font-swatch-glyph {5142  font-family: system-ui, -apple-system, sans-serif;5143  font-style: normal;5144  font-weight: 400;5145}5146.peach-font-swatch-name {5147  font-family: var(--font-mono);5148  font-size: 8px;5149  letter-spacing: 0.06em;5150  color: var(--peach-t2);5151  text-transform: lowercase;5152}51535154.peach-pill-group {5155  display: flex;5156  gap: 6px;5157}5158.peach-pill-group .peach-btn.is-active {5159  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);5160  border-color: var(--peach-accent);5161  color: var(--peach-t0);5162}51635164/* ── Card entry styles ───────────────────────────────────────── */5165.peach-card-number {5166  font-family: var(--peach-mono);5167  letter-spacing: 0.08em;5168}51695170.peach-card-network-badge {5171  font-size: 10px;5172  padding: 1px 5px;5173  border-radius: 4px;5174  border: 0.5px solid var(--peach-border);5175  color: var(--peach-text-dim);5176  margin-left: 6px;5177  vertical-align: middle;5178}51795180.peach-card-expiry-row {5181  display: flex;5182  align-items: center;5183  gap: 8px;5184}51855186.peach-card-expiry-sep {5187  color: var(--peach-text-dim);5188}51895190/* ── Pro tier — upgrade screen ──────────────────────────────── */5191.peach-pro-mark {5192  font-size: 9px;5193  color: var(--peach-accent);5194  margin-left: 6px;5195  vertical-align: super;5196  opacity: 0.7;5197}51985199.peach-pro-mini-badge {5200  display: block;5201  font-size: 10px;5202  font-style: italic;5203  color: var(--peach-accent);5204  letter-spacing: 0.04em;5205  margin-top: -2px;5206  padding-left: 2px;5207  opacity: 0.85;5208  text-align: center;5209}52105211.peach-wordmark-stack {5212  display: inline-flex;5213  flex-direction: column;5214  align-items: center;5215}52165217/* ── Pro tier — upgrade page ─────────────────────────────────── */5218.peach-pro-upgrade {5219  display: flex;5220  flex-direction: column;5221  align-items: stretch;5222  gap: 14px;5223  padding: 4px 4px 12px;5224}52255226.peach-pro-upgrade-hero {5227  display: flex;5228  flex-direction: column;5229  align-items: center;5230  gap: 6px;5231  padding: 16px 0 8px;5232}52335234.peach-pro-upgrade-mark-wrap {5235  display: flex;5236  align-items: center;5237  justify-content: center;5238  margin-bottom: 2px;5239}52405241.peach-pro-upgrade-mark {5242  width: 48px;5243  height: 48px;5244  filter:5245    drop-shadow(0 0 8px color-mix(in srgb, var(--peach-accent) 45%, transparent))5246    drop-shadow(0 0 22px color-mix(in srgb, var(--peach-accent) 18%, transparent));5247}52485249.peach-pro-upgrade-title {5250  font-family: var(--font-display, var(--font-ui));5251  font-size: 24px;5252  margin: 0;5253  color: var(--peach-t0);5254  letter-spacing: 0.01em;5255}52565257.peach-pro-upgrade-tagline {5258  margin: 0;5259  font-style: italic;5260  color: var(--peach-t2);5261  font-size: 12px;5262}52635264.peach-pro-features {5265  display: flex;5266  flex-direction: column;5267  gap: 10px;5268  border-top: 1px solid var(--peach-border);5269  border-bottom: 1px solid var(--peach-border);5270  padding: 14px 4px;5271}52725273.peach-pro-feature {5274  display: flex;5275  gap: 10px;5276  align-items: flex-start;5277}52785279.peach-pro-feature-mark {5280  color: var(--peach-accent);5281  font-size: 14px;5282  line-height: 1.2;5283  flex-shrink: 0;5284  display: inline-block;5285  transform-origin: center;5286}52875288.peach-pro-feature-text {5289  display: flex;5290  flex-direction: column;5291  gap: 2px;5292}52935294.peach-pro-feature-name {5295  font-size: 13px;5296  color: var(--peach-t0);5297}52985299.peach-pro-feature-desc {5300  font-size: 11px;5301  color: var(--peach-t2);5302}53035304.peach-pro-feature.is-highlighted .peach-pro-feature-mark {5305  animation: peach-pulse-accent 600ms ease-out forwards;5306}53075308@keyframes peach-pulse-accent {5309  0%   { opacity: 1; transform: scale(1.4); }5310  100% { opacity: 0.7; transform: scale(1); }5311}53125313.peach-pro-pricing {5314  margin: 0;5315  text-align: center;5316  font-size: 12px;5317  color: var(--peach-t2);5318  letter-spacing: 0.04em;5319}53205321.peach-pro-upgrade-cta {5322  width: 100%;5323  text-align: center;5324  text-decoration: none;5325  display: block;5326  padding: 10px 20px;5327  font-size: 13px;5328  box-sizing: border-box;5329}53305331.peach-pro-key-link {5332  background: transparent;5333  border: 0;5334  color: var(--peach-t2);5335  font-size: 11px;5336  cursor: pointer;5337  align-self: center;5338  padding: 4px 8px;5339}53405341.peach-pro-key-link:hover {5342  color: var(--peach-accent);5343}53445345/* ── Pro tier — key ceremony ─────────────────────────────────── */5346.peach-pro-key-ceremony {5347  display: flex;5348  flex-direction: column;5349  align-items: center;5350  gap: 12px;5351  padding: 20px 4px 16px;5352}53535354.peach-pro-key-ceremony .peach-lock-rune-string {5355  font-size: 16px;5356  gap: 12px;5357  flex: 0;5358  justify-content: center;5359}53605361.peach-pro-key-ceremony-label {5362  margin: 0;5363  font-size: 11px;5364  color: var(--peach-t2);5365  font-style: italic;5366  letter-spacing: 0.04em;5367}53685369.peach-pro-key-input {5370  font-family: var(--font-mono, monospace);5371  letter-spacing: 0.06em;5372  text-align: center;5373  width: 100%;5374  box-sizing: border-box;5375}53765377.peach-pro-key-error {5378  margin: 0;5379  font-size: 12px;5380  text-align: center;5381  color: var(--peach-breach, #e55);5382  padding: 0;5383}53845385.peach-pro-key-activate {5386  width: 100%;5387  text-align: center;5388  box-sizing: border-box;5389  padding: 10px 20px;5390  font-size: 13px;5391}53925393.peach-pro-key-cancel {5394  background: transparent;5395  border: 0;5396  color: var(--peach-t2);5397  font-size: 11px;5398  cursor: pointer;5399  padding: 2px 8px;5400  transition: color 0.2s;5401}54025403.peach-pro-key-cancel:hover { color: var(--peach-accent); }54045405/* ── Pro tier — active state ─────────────────────────────────── */5406.peach-pro-active {5407  display: flex;5408  flex-direction: column;5409  align-items: center;5410  gap: 0;5411  padding: 8px 4px 16px;5412  min-height: 280px;5413}54145415.peach-pro-active-hero {5416  display: flex;5417  flex-direction: column;5418  align-items: center;5419  gap: 6px;5420  padding: 20px 0 22px;5421}54225423.peach-pro-active-mark-wrap {5424  display: flex;5425  align-items: center;5426  justify-content: center;5427  margin-bottom: 4px;5428}54295430.peach-pro-active-mark {5431  width: 60px;5432  height: 60px;5433  filter:5434    drop-shadow(0 0 10px color-mix(in srgb, var(--peach-accent) 55%, transparent))5435    drop-shadow(0 0 26px color-mix(in srgb, var(--peach-accent) 22%, transparent));5436}54375438.peach-pro-active-title {5439  font-family: var(--font-display, var(--font-ui));5440  font-size: 26px;5441  margin: 0;5442  color: var(--peach-t0);5443  letter-spacing: 0.01em;5444}54455446.peach-pro-active-since {5447  margin: 0;5448  font-size: 11px;5449  color: var(--peach-t2);5450  font-style: italic;5451}54525453.peach-pro-active-features {5454  display: flex;5455  flex-direction: column;5456  gap: 8px;5457  width: 100%;5458  padding: 14px 8px 0;5459  border-top: 1px solid var(--peach-border);5460  flex: 1;5461}54625463.peach-pro-active-feature {5464  display: flex;5465  align-items: center;5466  gap: 9px;5467}54685469.peach-pro-active-feature-mark {5470  color: var(--peach-accent);5471  font-size: 10px;5472  opacity: 0.65;5473  flex-shrink: 0;5474}54755476.peach-pro-active-feature-name {5477  font-size: 12px;5478  color: var(--peach-t1);5479}54805481.peach-pro-deactivate {5482  align-self: center;5483  background: transparent;5484  border: 0;5485  color: var(--peach-t3);5486  font-size: 10px;5487  cursor: pointer;5488  padding: 8px 0 0;5489  margin-top: 16px;5490  letter-spacing: 0.03em;5491  transition: color 0.2s;5492}54935494.peach-pro-deactivate:hover { color: var(--peach-t2); }54955496.peach-pro-deactivate:disabled {5497  opacity: 0.5;5498  cursor: default;5499}55005501/* ── Pro advanced health remediation queue ──────────────────── */5502.peach-health-pro-queue {5503  display: flex;5504  flex-direction: column;5505  gap: 10px;5506  padding: 12px;5507  margin: 0 0 12px;5508  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5509  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);5510  border-radius: 10px;5511}55125513.peach-health-pro-queue-head {5514  display: flex;5515  justify-content: space-between;5516  align-items: baseline;5517}55185519.peach-health-pro-queue-title {5520  font-size: 12px;5521  font-weight: 500;5522  letter-spacing: 0.04em;5523  text-transform: uppercase;5524  color: var(--peach-accent);5525}55265527.peach-health-pro-queue-score {5528  font-size: 11px;5529  color: var(--peach-t2);5530}55315532.peach-health-pro-row {5533  display: flex;5534  gap: 10px;5535  align-items: center;5536  padding: 8px 0;5537  border-top: 1px solid var(--peach-border);5538}55395540.peach-health-pro-row-info {5541  flex: 1;5542  display: flex;5543  flex-direction: column;5544  gap: 4px;5545  min-width: 0;5546}55475548.peach-health-pro-row-name {5549  font-size: 13px;5550  color: var(--peach-t0);5551  overflow: hidden;5552  text-overflow: ellipsis;5553  white-space: nowrap;5554}55555556.peach-health-pro-row-meta {5557  font-size: 11px;5558  color: var(--peach-t2);5559}55605561.peach-health-pro-bar {5562  height: 2px;5563  background: var(--peach-border);5564  border-radius: 2px;5565  overflow: hidden;5566  margin-top: 2px;5567}55685569.peach-health-pro-bar-fill {5570  height: 100%;5571  background: var(--peach-accent);5572  transition: width 200ms ease-out;5573}55745575/* ── Pro activation celebration ── */5576@keyframes peach-pro-bloom {5577  0%   { filter: drop-shadow(0 0 0px var(--peach-glow)); }5578  40%  { filter: drop-shadow(0 0 24px var(--peach-accent))5579                 drop-shadow(0 0 48px var(--peach-glow)); }5580  100% { filter: drop-shadow(0 0 0px var(--peach-glow)); }5581}55825583@keyframes peach-pro-wordmark-in {5584  from { opacity: 0; transform: translateY(4px); }5585  to   { opacity: 1; transform: translateY(0); }5586}55875588@keyframes peach-pro-fade-out {5589  from { opacity: 1; }5590  to   { opacity: 0; }5591}55925593.peach-pro-celebration {5594  background:5595    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),5596    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),5597    var(--peach-bg);5598  border: 1px solid var(--peach-t3);5599  box-shadow:5600    0 2px 8px rgba(0,0,0,0.55),5601    0 14px 48px rgba(0,0,0,0.7),5602    0 0 0 1px rgba(240,232,216,0.04);5603  overflow: hidden;5604  width: 320px;5605  height: 520px;5606  display: flex;5607  flex-direction: column;5608  align-items: center;5609  justify-content: center;5610  gap: 8px;5611  padding: 32px 24px;5612  text-align: center;5613}56145615.peach-pro-celebration.is-leaving {5616  animation: peach-pro-fade-out 400ms ease forwards;5617}56185619.peach-pro-bloom-target {5620  font-size: 48px;5621  animation: peach-pro-bloom 600ms cubic-bezier(0.16, 1, 0.3, 1) forwards;5622  margin-bottom: 12px;5623}56245625.peach-pro-wordmark {5626  font-family: var(--font-display);5627  font-size: 22px;5628  font-style: italic;5629  font-weight: 400;5630  color: var(--peach-accent);5631  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;5632}56335634.peach-pro-thankyou {5635  font-size: 12px;5636  font-style: italic;5637  color: var(--peach-t2);5638  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 800ms both;5639}564056415642/* ── Pending Pro notice banner (shown after background sync gate fires) ── */5643.peach-pro-notice-banner {5644  display: flex;5645  align-items: center;5646  gap: 8px;5647  padding: 7px 12px;5648  background: color-mix(in srgb, var(--peach-accent) 12%, var(--peach-bg-card));5649  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);5650  font-size: 11px;5651  color: var(--peach-t2);5652  font-family: "IBM Plex Mono", monospace;5653  flex-shrink: 0;5654}56555656.peach-pro-notice-link {5657  background: none;5658  border: none;5659  padding: 0;5660  cursor: pointer;5661  font-size: 11px;5662  color: var(--peach-accent);5663  font-family: "IBM Plex Mono", monospace;5664  margin-left: auto;5665  white-space: nowrap;5666}56675668.peach-pro-notice-close {5669  background: none;5670  border: none;5671  padding: 0 0 0 4px;5672  cursor: pointer;5673  font-size: 10px;5674  color: var(--peach-t3);5675  line-height: 1;5676}56775678/* ─── First-run onboarding ──────────────────────────────────────────────5679   Three-card welcome shown once before vault creation. The PeachScript5680   rune background drifts behind everything at very low opacity — it's5681   atmosphere, not focus. The cards themselves use the same panel5682   language as the rest of the popup so the transition into NewVault is5683   continuous, not a jarring switch of visual register. */56845685.peach-onboarding {5686  position: relative;5687  display: flex;5688  flex-direction: column;5689  width: 100%;5690  height: 100%;5691  padding: 16px 16px 18px;5692  box-sizing: border-box;5693  overflow: hidden;5694  animation: peach-onboard-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both;5695}56965697.peach-onboarding.is-completing {5698  animation: peach-onboard-exit 200ms ease-out forwards;5699}57005701.peach-rune-background {5702  position: absolute;5703  inset: 0;5704  width: 100%;5705  height: 100%;5706  pointer-events: none;5707  z-index: 0;5708  transition: opacity 500ms ease-out;5709}57105711.peach-onboarding.is-completing .peach-rune-background {5712  opacity: 0;5713}57145715.peach-onboarding-header {5716  position: relative;5717  z-index: 1;5718  display: flex;5719  align-items: center;5720  margin-bottom: 14px;5721}57225723.peach-onboarding-card {5724  position: relative;5725  z-index: 1;5726  flex: 1;5727  display: flex;5728  flex-direction: column;5729  gap: 10px;5730  padding: 22px 20px;5731  border-radius: 16px;5732  border: 1px solid var(--peach-t3);5733  background:5734    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5735  backdrop-filter: blur(3px);5736  -webkit-backdrop-filter: blur(3px);5737  box-shadow:5738    inset 0 1px 0 rgba(240, 232, 216, 0.04),5739    0 12px 28px rgba(0, 0, 0, 0.12);5740  cursor: pointer;5741  user-select: none;5742  animation: peach-card-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;5743}57445745.peach-onboarding-card.is-exiting {5746  animation: peach-card-out 120ms ease-in forwards;5747  pointer-events: none;5748}57495750.peach-onboarding-card-headline {5751  margin: 0;5752  font-family: var(--font-display);5753  font-style: italic;5754  font-weight: 400;5755  font-size: 22px;5756  line-height: 1.05;5757  color: var(--peach-t0);5758  white-space: pre-line;5759}57605761.peach-onboarding-divider {5762  margin: 4px 0 6px;5763  border: 0;5764  border-top: 1px solid var(--peach-t3);5765  width: 100%;5766}57675768.peach-onboarding-body {5769  margin: 0;5770  font-size: 13px;5771  line-height: 1.6;5772  color: var(--peach-t1);5773}57745775.peach-onboarding-warning {5776  display: flex;5777  align-items: flex-start;5778  gap: 8px;5779  margin: 6px 0 0;5780  padding-top: 8px;5781  border-top: 1px dashed var(--peach-t3);5782  font-size: 13px;5783  line-height: 1.5;5784  color: var(--peach-t1);5785}57865787.peach-onboarding-warning-icon {5788  color: var(--peach-accent);5789  font-size: 13px;5790  line-height: 1.5;5791  flex: 0 0 auto;5792}57935794.peach-onboarding-nav {5795  position: relative;5796  z-index: 1;5797  display: flex;5798  align-items: center;5799  justify-content: space-between;5800  margin-top: 12px;5801  padding: 0 4px;5802}58035804.peach-onboarding-dots {5805  display: flex;5806  align-items: center;5807  gap: 6px;5808}58095810.peach-onboarding-dot {5811  width: 6px;5812  height: 6px;5813  border-radius: 50%;5814  background: var(--peach-t2);5815  transition: width 200ms ease, height 200ms ease, background 200ms ease;5816}58175818.peach-onboarding-dot.is-active {5819  width: 8px;5820  height: 8px;5821  background: var(--peach-accent);5822}58235824.peach-onboarding-next {5825  background: none;5826  border: none;5827  padding: 4px 0;5828  cursor: pointer;5829  font-family: "IBM Plex Mono", monospace;5830  font-size: 11px;5831  letter-spacing: 0.04em;5832  color: var(--peach-t1);5833  transition: color 150ms ease;5834}58355836.peach-onboarding-next:hover {5837  color: var(--peach-t0);5838}58395840.peach-onboarding-next:disabled {5841  opacity: 0.5;5842  cursor: default;5843}58445845@keyframes peach-onboard-enter {5846  from { opacity: 0; transform: translateY(20px); }5847  to   { opacity: 1; transform: translateY(0); }5848}58495850@keyframes peach-onboard-exit {5851  from { opacity: 1; }5852  to   { opacity: 0; }5853}58545855@keyframes peach-card-in {5856  from { opacity: 0; transform: translateX(12px); }5857  to   { opacity: 1; transform: translateX(0); }5858}58595860@keyframes peach-card-out {5861  from { opacity: 1; transform: translateX(0); }5862  to   { opacity: 0; transform: translateX(-12px); }5863}58645865/* ─── New vault screen — matched to onboarding card language ─────────── */58665867.peach-newvault {5868  position: relative;5869  display: flex;5870  flex-direction: column;5871  gap: 12px;5872  padding: 16px 16px 18px;5873  overflow: hidden;5874}58755876/* Suppress the warm-blob ambient art inherited from .lock-screen — the5877   new vault card now carries the visual weight. */5878.peach-newvault::before {5879  content: none;5880}58815882.peach-newvault-header {5883  position: relative;5884  z-index: 2;5885  display: flex;5886  align-items: center;5887  margin-bottom: 2px;5888}58895890.peach-newvault-mark {5891  position: absolute;5892  right: -12px;5893  top: 6px;5894  width: 110px;5895  height: 110px;5896  pointer-events: none;5897  opacity: 0.10;5898  filter: saturate(0.9);5899  z-index: 0;5900}5901.peach-newvault-mark-art {5902  width: 100%;5903  height: 100%;5904}5905.peach-newvault-mark-art path:nth-child(2),5906.peach-newvault-mark-art path:nth-child(3) {5907  stroke: rgba(123, 144, 96, 0.88);5908  fill: rgba(123, 144, 96, 0.88);5909}59105911.peach-newvault-card {5912  position: relative;5913  z-index: 1;5914  display: flex;5915  flex-direction: column;5916  gap: 12px;5917  padding: 22px 20px 18px;5918  border-radius: 16px;5919  border: 1px solid var(--peach-t3);5920  background:5921    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5922  backdrop-filter: blur(3px);5923  -webkit-backdrop-filter: blur(3px);5924  box-shadow:5925    inset 0 1px 0 rgba(240, 232, 216, 0.04),5926    0 12px 28px rgba(0, 0, 0, 0.12);5927  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;5928}59295930.peach-newvault-headline {5931  margin: 0;5932  font-family: var(--font-display);5933  font-style: italic;5934  font-weight: 400;5935  font-size: 24px;5936  line-height: 1.05;5937  color: var(--peach-t0);5938  white-space: pre-line;5939}59405941.peach-newvault-divider {5942  margin: 2px 0 4px;5943  border: 0;5944  border-top: 1px solid var(--peach-t3);5945  width: 100%;5946}59475948.peach-newvault-field {5949  display: flex;5950  flex-direction: column;5951  gap: 4px;5952}59535954.peach-newvault-label-row {5955  display: flex;5956  align-items: center;5957  justify-content: space-between;5958}59595960/* Monospace input scaled to the card. Replaces the 22px unlock-input5961   so the placeholder no longer overflows and the field reads as part5962   of the same surface as the body copy. */5963.peach-newvault-input {5964  font-size: 14px;5965  letter-spacing: 0.18em;5966  padding: 8px 0;5967}5968.peach-newvault-input::placeholder {5969  letter-spacing: 0.18em;5970  color: var(--peach-t2);5971}59725973.peach-newvault-hint {5974  margin: 2px 0 0;5975  font-family: "IBM Plex Mono", monospace;5976  font-size: 10px;5977  color: var(--peach-t2);5978  letter-spacing: 0.04em;5979}59805981.peach-newvault-submit {5982  margin-top: 4px;5983}59845985.peach-newvault-warning {5986  display: flex;5987  align-items: flex-start;5988  gap: 8px;5989  margin: 4px 0 0;5990  padding-top: 10px;5991  border-top: 1px dashed var(--peach-t3);5992  font-size: 12px;5993  line-height: 1.5;5994  color: var(--peach-t1);5995}59965997.peach-newvault-warning-icon {5998  color: var(--peach-accent);5999  font-size: 13px;6000  line-height: 1.4;6001  flex: 0 0 auto;6002}60036004.peach-newvault-footer {6005  position: relative;6006  z-index: 1;6007  display: flex;6008  flex-direction: column;6009  gap: 4px;6010  padding: 4px 4px 0;6011}60126013/* Settings body — warm accent gradient gives the glass something to blur against */6014.peach-settings-body {6015  background:6016    radial-gradient(6017      ellipse at 30% 20%,6018      color-mix(in srgb, var(--peach-accent) 8%, transparent) 0%,6019      transparent 60%6020    );6021}