popup.css

144.7 KB · raw

1html,2body,3#app,4#pre-lock,5.popup-root {6  width: 320px;7  min-height: 520px;8  height: 520px;9  margin: 0;10}1112body {13  overflow: hidden;14  background: var(--bg);15  color: var(--t0);16  font-family: var(--font-ui);17  font-weight: 300;18  position: relative;19}2021* {22  box-sizing: border-box;23}2425button,26input,27textarea,28select {29  font: inherit;30}3132button {33  border: 0;34}3536#pre-lock {37  position: absolute;38  inset: 0;39  z-index: 10;40}4142#pre-lock[hidden] {43  display: none;44}4546.popup-root {47  position: relative;48  overflow: hidden;49}5051.peach-theme {52  color: var(--peach-t0);53  font-family: var(--font-ui);54  font-weight: 300;55  box-sizing: border-box;56  text-align: left;57}58.peach-theme, .peach-theme * { box-sizing: inherit; }5960.peach-brand-mark {61  width: 14px;62  height: 14px;63  flex-shrink: 0;64}6566.peach-status-pip.is-hidden {67  display: none;68}6970.peach-status-pip.unlocked {71  background: var(--peach-health-ok);72  box-shadow: 0 0 6px rgba(100, 210, 100, 0.6);73}7475.peach-status-pip.pulse {76  animation: pip-pulse 400ms var(--peach-curve-settle) both;77}7879/* Shell */80.peach-shell, .peach-screen {81  background:82    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),83    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),84    var(--peach-bg);85  border: 1px solid var(--peach-t3);86  box-shadow:87    0 2px 8px rgba(0,0,0,0.55),88    0 14px 48px rgba(0,0,0,0.7),89    0 0 0 1px rgba(240,232,216,0.04);90  overflow: hidden;91}92.peach-shell {93  display: grid;94  grid-template-rows: auto 1fr;95  min-height: 520px;96  position: relative;97  isolation: isolate;98}99100.peach-shell[data-surface="extension"] {101  width: min(320px, 100vw);102  border-radius: 0;103  height: 520px;104  max-height: 520px;105  overflow: hidden;106}107108/* ── Lock screen – full-window lock/create stage ── */109.lock-screen--vault-stage {110  display: flex;111  flex-direction: column;112  gap: 18px;113  padding: 20px 18px 18px;114  justify-content: flex-start;115}116.lock-screen--vault-stage .peach-lock-panel {117  margin-top: auto;118}119.peach-lock-headline--unlock {120  max-width: 220px;121}122.peach-lock-hero--unlock {123  padding-top: 14px;124}125.peach-lock-panel--unlock {126  gap: 10px;127}128129.peach-lock-restore-link {130  background: transparent;131  border: none;132  cursor: pointer;133  font-family: var(--font-mono);134  font-size: 10px;135  letter-spacing: 0.08em;136  color: var(--t1);137  padding: 5px 0;138  text-align: left;139  transition: color 150ms ease;140}141142.peach-lock-restore-link:hover {143  color: var(--t0);144}145.peach-shell[data-surface="extension"] .peach-stage {146  min-height: 250px;147}148149/* Screen (unlock) */150.peach-screen {151  width: min(320px, 100vw);152  min-height: 100%;153  height: 100%;154  border-radius: 0;155  padding: 16px 20px 18px;156  display: grid;157  gap: 14px;158}159.peach-screen[data-motion-phase="enter"] {160  animation: peach-screen-enter var(--peach-dur-600) var(--peach-curve-arrival) both;161}162.peach-screen-header { min-height: 20px; }163164/* Wordmark */165.peach-wordmark {166  margin: 0;167  font-family: var(--font-display);168  font-size: 15px;169  font-style: italic;170  letter-spacing: 0.03em;171  color: var(--peach-t0);172  display: inline-flex;173  min-height: 1em;174}175176/* Motion text / char animation */177.peach-motion-text { display: inline-flex; min-height: 1em; }178.peach-motion-char {179  display: inline-block;180  white-space: pre;181  opacity: 0;182  transform: translateY(0.22em);183  animation: peach-char-enter var(--peach-motion-duration, 380ms) var(--peach-curve-arrival) forwards;184  animation-delay: calc(var(--peach-char-index, 0) * 20ms);185}186187/* Chrome */188.peach-chrome {189  position: relative;190  z-index: 10;191  padding: 16px 20px 0;192  display: flex;193  justify-content: space-between;194  align-items: center;195  /* z-index:10 keeps the header icons above `.peach-loading` (Suspense196     fallback) per §15 regression guard. Without pointer-events:none, the197     empty header strip also sits above `.peach-overlay-view` (z-index:2)198     and swallows clicks meant for an overlay's back button / top search. */199  pointer-events: none;200}201.peach-chrome .peach-btn { pointer-events: auto; }202.peach-chrome.is-hidden-for-overlay,203.peach-search-wrap.is-hidden-for-overlay {204  opacity: 0;205  visibility: hidden;206  pointer-events: none;207}208.peach-wordmark-wrap { display: flex; align-items: center; gap: 5px; }209.peach-status-pip {210  width: 5px;211  height: 5px;212  border-radius: 50%;213  background: var(--peach-t3);214  display: inline-flex;215  flex-shrink: 0;216  transition: background 400ms ease, box-shadow 400ms ease;217}218.peach-chrome-actions { display: flex; gap: 6px; }219220/* Shell body */221.peach-shell-body {222  position: relative;223  display: grid;224  grid-template-rows: 1fr auto;225  min-height: 0;226  min-width: 0;227  width: 100%;228  overflow: hidden;229  height: 100%;230}231.peach-shell-veil {232  position: absolute; inset: 0;233  background: #000; opacity: 0;234  pointer-events: none; z-index: 1;235}236.peach-shell[data-motion-phase="enter"] .peach-shell-body {237  animation: peach-shell-fade-in var(--peach-dur-600) var(--peach-curve-arrival) both;238}239.peach-shell[data-motion-phase="exit"] .peach-shell-veil {240  animation: peach-veil-in 300ms var(--peach-curve-departure) forwards;241}242243/* Content frame */244.peach-content-frame {245  display: grid;246  grid-template-rows: 1fr auto;247  grid-template-columns: minmax(0, 1fr);248  align-content: start;249  min-height: 0;250  min-width: 0;251  overflow: hidden;252  transition: opacity 80ms ease, transform 80ms ease;253}254.peach-content-frame.navigating {255  opacity: 0.93;256  transform: translateX(2px);257}258.peach-content-frame[data-content-phase="enter"] {259  animation: peach-content-enter 135ms ease-out both;260}261.peach-content-frame[data-content-phase="exit"] {262  animation: peach-content-exit 95ms ease-in forwards;263}264.peach-content-frame[data-content-phase="idle"] { opacity: 1; transform: none; }265266/* Stage */267.peach-stage {268  padding: 10px 20px 12px;269  display: grid;270  gap: 12px;271  align-content: start;272  min-width: 0;273  min-height: 0;274  max-width: 100%;275  overflow-y: auto;276  overflow-x: hidden;277  scrollbar-width: none;278  -ms-overflow-style: none;279  overscroll-behavior: contain;280}281.peach-stage::-webkit-scrollbar { display: none; }282283/* Entry name */284.peach-entry-name-wrap { position: relative; overflow: hidden; max-width: 100%; }285.peach-entry-header {286  position: relative;287  z-index: 1;288  display: flex;289  align-items: flex-start;290  gap: 6px;291  min-width: 0;292}293.peach-entry-header-name {294  flex: 1;295  min-width: 0;296}297.peach-entry-name {298  margin: 0;299  padding-bottom: 0.12em;300  font-family: var(--font-display);301  font-style: italic; font-weight: 400;302  font-size: 44px; line-height: 0.95;303  color: var(--peach-t0);304  display: -webkit-box;305  -webkit-line-clamp: 2;306  -webkit-box-orient: vertical;307  overflow: hidden;308  text-wrap: balance;309}310.peach-entry-name--lg { font-size: 40px; }311.peach-entry-name--xl { font-size: 34px; line-height: 0.98; }312.peach-entry-name--xxl { font-size: 30px; line-height: 1.02; }313.peach-entry-name-text { display: block; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; padding-bottom: 0.12em; }314315/* Trash icon in entry header */316.peach-entry-trash-btn {317  flex-shrink: 0;318  padding: 4px;319  margin-top: 4px;320  background: transparent;321  border: none;322  cursor: pointer;323  color: var(--peach-t2);324  border-radius: 4px;325  transition: color 140ms ease, background 140ms ease;326  display: flex;327  align-items: center;328  justify-content: center;329}330.peach-entry-trash-btn:hover {331  color: var(--peach-t1);332  background: var(--peach-t3);333}334.peach-entry-trash-confirm {335  display: flex;336  align-items: center;337  gap: 6px;338  flex-shrink: 0;339  margin-top: 6px;340  flex-wrap: nowrap;341}342.peach-entry-trash-confirm-label {343  font-family: var(--font-mono);344  font-size: 9px;345  letter-spacing: 0.1em;346  color: var(--peach-t2);347  white-space: nowrap;348}349.peach-entry-name-button {350  padding: 0;351  background: transparent;352  text-align: left;353  cursor: pointer;354  max-width: 100%;355  overflow: hidden;356  display: block;357}358.peach-entry-name-char {359  display: inline-block;360  white-space: pre;361  opacity: 0;362  transform: translateY(0.22em);363  animation: peach-char-enter 380ms var(--peach-curve-arrival) forwards;364  animation-delay: calc(var(--char-index, 0) * 20ms);365}366367/* Domain */368.peach-domain { border-top: 1px solid var(--peach-t3); padding-top: 9px; }369.peach-domain-row {370  width: 100%; border: 0; background: transparent; color: inherit;371  padding: 0; display: flex; justify-content: space-between; align-items: baseline;372  cursor: default;373}374.peach-domain-value {375  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;376  font-size: 10px; font-style: italic;377  letter-spacing: 0.12em; color: var(--peach-t1);378}379380/* Fields */381.peach-fields { display: grid; gap: 10px; }382.peach-field-card { display: grid; gap: 7px; }383.peach-label {384  font-family: Inter, system-ui, sans-serif;385  text-transform: uppercase; letter-spacing: 0.2em;386  font-size: 8px; color: var(--peach-t2);387}388.peach-field-value-row {389  display: flex; justify-content: space-between;390  align-items: center; gap: 8px;391  min-width: 0;392}393.peach-field-value {394  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;395  font-size: 13px; color: var(--peach-t1);396  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;397  flex: 1;398  min-width: 0;399}400.peach-password-value {401  display: inline-flex;402  align-items: center;403  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;404  font-size: 16px; letter-spacing: 0.3em; color: var(--peach-t0);405  overflow: hidden;406  text-overflow: ellipsis;407  white-space: nowrap;408  flex: 1;409  min-width: 0;410  max-width: 100%;411}412.peach-password-value.is-revealed {413  font-size: 14px;414  letter-spacing: 0.08em;415}416.peach-password-text,417.peach-password-mask {418  display: block;419  width: 100%;420  overflow: hidden;421  white-space: nowrap;422  /* Render as uniform mid-line bullets, not baseline periods */423  font-family: Inter, system-ui, sans-serif;424  font-size: 10px;425  letter-spacing: 3px;426  user-select: none;427}428.peach-field-actions { display: flex; gap: 4px; align-items: center; }429.peach-password-strength { display: flex; align-items: center; gap: 8px; }430.peach-strength-bar { display: flex; gap: 3px; }431.peach-strength-seg { width: 28px; height: 4px; border-radius: 2px; background: #eee; }432.peach-strength-label {433  font-family: "IBM Plex Mono", monospace;434  font-style: italic;435  font-size: 9px;436  font-weight: 300;437  min-width: 36px;438  text-align: right;439  color: var(--peach-t2);440  letter-spacing: 0.06em;441}442443.peach-strength-hairline {444  display: flex;445  align-items: center;446  gap: 10px;447  margin-top: -2px;448}449450.peach-strength-hairline-track {451  flex: 1;452  height: 3px;453  border-radius: 2px;454  background: var(--peach-s2);455  overflow: hidden;456}457458.peach-strength-hairline-fill {459  height: 100%;460  border-radius: 2px;461  transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1),462    background 400ms ease;463}464465/* Note content (display) */466.peach-note-content {467  border-top: 1px solid var(--peach-t3);468  padding-top: 10px;469  font-family: var(--font-display);470  font-size: 15px;471  line-height: 1.75;472  color: var(--peach-t1);473}474475/* ── Inline editing ─────────────────────────────────────────────────── */476477/* Clickable display values */478.peach-inline-clickable {479  cursor: text;480  border-radius: 3px;481  transition: background 150ms ease;482}483.peach-inline-clickable:hover {484  background: rgba(240, 232, 216, 0.05);485}486487/* Subtle "edit" hint that appears on hover */488.peach-inline-edit-hint {489  font-family: Inter, system-ui, sans-serif;490  font-size: 9px;491  text-transform: uppercase;492  letter-spacing: 0.14em;493  color: var(--peach-t2);494  opacity: 0;495  transition: opacity 120ms ease;496  pointer-events: none;497  margin-left: 6px;498  flex-shrink: 0;499}500.peach-domain-row:hover .peach-inline-edit-hint {501  opacity: 1;502}503504/* Title editing */505.peach-inline-title-wrap {506  display: flex;507  flex-direction: column;508  gap: 6px;509}510.peach-inline-title-input {511  font-family: var(--font-display);512  font-style: italic;513  font-weight: 400;514  font-size: 40px;515  line-height: 0.95;516  color: var(--peach-t0);517  background: transparent;518  border: none;519  border-bottom: 1px solid var(--peach-accent);520  outline: none;521  width: 100%;522  padding: 2px 0;523}524525/* Generic inline field */526.peach-inline-field-wrap {527  display: flex;528  flex-direction: column;529  gap: 6px;530}531.peach-inline-input {532  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;533  font-size: 13px;534  color: var(--peach-t0);535  background: transparent;536  border: none;537  border-bottom: 1px solid var(--peach-accent);538  outline: none;539  width: 100%;540  padding: 3px 0;541}542.peach-inline-textarea {543  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;544  font-size: 11px;545  line-height: 1.7;546  color: var(--peach-t0);547  background: rgba(240, 232, 216, 0.04);548  border: 1px solid var(--peach-accent);549  border-radius: 4px;550  outline: none;551  width: 100%;552  padding: 8px;553  resize: vertical;554  min-height: 80px;555}556557/* Save / cancel row */558.peach-inline-actions {559  display: flex;560  gap: 6px;561  align-items: center;562}563.peach-inline-save-btn,564.peach-inline-cancel-btn {565  display: inline-flex;566  align-items: center;567  justify-content: center;568  width: 26px;569  height: 26px;570  border-radius: 4px;571  border: none;572  cursor: pointer;573  transition: background 140ms ease, opacity 140ms ease;574  flex-shrink: 0;575}576.peach-inline-save-btn {577  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.18);578  color: var(--peach-accent);579}580.peach-inline-save-btn:hover:not(:disabled) {581  background: rgba(var(--ac-r, 217), var(--ac-g, 104), var(--ac-b, 48), 0.30);582}583.peach-inline-cancel-btn {584  background: rgba(240, 232, 216, 0.06);585  color: var(--peach-t2);586}587.peach-inline-cancel-btn:hover:not(:disabled) {588  background: rgba(240, 232, 216, 0.12);589  color: var(--peach-t1);590}591.peach-inline-save-btn:disabled,592.peach-inline-cancel-btn:disabled {593  opacity: 0.4;594  cursor: not-allowed;595}596597/* Inline password generator wrapper */598.peach-inline-generator-wrap {599  margin-top: 10px;600  padding-top: 10px;601  border-top: 1px solid var(--peach-t3);602  display: flex;603  flex-direction: column;604  gap: 8px;605}606.peach-inline-generator-cancel {607  align-self: flex-start;608  font-size: 11px;609  color: var(--peach-t2);610}611612/* "is-editing" card state */613.peach-field-card.is-editing {614  background: rgba(240, 232, 216, 0.02);615  border-radius: 6px;616  padding: 8px;617  margin: -8px;618}619620/* Inline tag editor on Entry detail view */621.peach-inline-tag-editor {622  display: flex;623  flex-direction: column;624  gap: 6px;625}626627/* Quiet inline "+ add X" link in the entry detail body */628.peach-entry-add-link {629  justify-self: start;630  margin-top: 8px;631}632633/* Additional URLs editor revealed by clicking the URL field */634.peach-additional-urls {635  display: flex;636  flex-direction: column;637  gap: 6px;638  margin-top: 8px;639}640.peach-additional-urls-label {641  font-size: 9px;642  letter-spacing: 0.1em;643  text-transform: uppercase;644  color: var(--peach-t2);645  margin-bottom: 2px;646}647.peach-additional-url-row {648  display: flex;649  align-items: center;650  gap: 6px;651}652.peach-additional-url-row .peach-inline-input { flex: 1; min-width: 0; }653.peach-additional-url-remove {654  background: transparent;655  border: 1px solid var(--peach-t3);656  color: var(--peach-t2);657  width: 22px;658  height: 22px;659  border-radius: 4px;660  cursor: pointer;661  font-size: 14px;662  line-height: 1;663  display: inline-flex;664  align-items: center;665  justify-content: center;666  flex-shrink: 0;667  transition: color 120ms ease, border-color 120ms ease;668}669.peach-additional-url-remove:hover:not(:disabled) {670  color: var(--peach-accent);671  border-color: var(--peach-border-accent);672}673.peach-additional-urls-add { align-self: flex-start; }674675/* Delete row */676.peach-entry-delete-row {677  display: flex;678  align-items: center;679  gap: 8px;680  padding-top: 18px;681  margin-top: 8px;682  border-top: 1px solid var(--peach-t3);683}684.peach-delete-btn {685  font-size: 11px;686  color: var(--peach-t2);687  padding: 4px 0;688}689.peach-delete-confirm-text {690  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;691  font-size: 11px;692  font-style: italic;693  color: var(--peach-t2);694  flex-shrink: 0;695}696697/* TOTP band */698.peach-totp-band {699  border-top: 1px solid var(--peach-t3);700  padding: 12px 20px 14px;701  position: relative;702  display: grid;703  grid-template-columns: 1fr auto;704  gap: 10px;705}706.peach-totp-main {707  min-width: 0;708  cursor: pointer;709  user-select: none;710}711.peach-totp-code.is-copied { opacity: 0.55; transition: opacity 140ms ease; }712.peach-totp-code-row {713  display: flex;714  align-items: flex-end;715  gap: 10px;716  min-width: 0;717}718.peach-totp-code {719  margin: 2px 0 0;720  font-family: var(--font-display);721  font-style: italic;722  font-weight: 300;723  font-size: 38px; color: var(--peach-accent);724  line-height: 0.95; min-height: 1em;725  min-width: 0;726}727.peach-totp-code-text {728  display: inline-flex;729  overflow: hidden;730  text-overflow: ellipsis;731  white-space: nowrap;732}733.peach-totp-copy-btn {734  margin-bottom: 2px;735  flex-shrink: 0;736  border-color: transparent;737}738.peach-totp-meta { display: grid; justify-items: end; align-content: start; gap: 4px; }739.peach-totp-countdown {740  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;741  font-size: 22px; color: var(--peach-t1);742}743.peach-totp-ring { transform: rotate(-90deg); }744.peach-totp-ring-track { fill: none; stroke: var(--peach-t3); stroke-width: 2; }745.peach-totp-ring-progress {746  fill: none; stroke: var(--peach-accent); stroke-width: 2;747  stroke-linecap: round;748  transition: stroke-dashoffset 1s linear, stroke 500ms ease;749}750/* Search bar */751.peach-search-wrap {752  border-top: 1px solid var(--peach-t3);753  background: var(--peach-s1);754  min-height: 54px; position: relative;755  box-shadow: inset 0 6px 18px transparent;756  transition: box-shadow 700ms ease;757}758.peach-search-wrap::before {759  content: "";760  position: absolute;761  left: 0;762  top: 0;763  height: 2px;764  width: var(--peach-totp-progress, 0%);765  background: var(--peach-accent);766  opacity: 0;767  transition: width 1s linear, opacity 180ms ease;768  pointer-events: none;769}770.peach-shell[data-totp-active="true"] .peach-search-wrap::before {771  opacity: 0.9;772}773.peach-shell[data-totp-active="true"] .peach-search-wrap {774  box-shadow: inset 0 6px 18px rgba(180, 140, 110, 0.07);775}776777@keyframes peach-totp-code-flare {778  0%   { filter: brightness(1); }779  25%  { filter: brightness(1.3); }780  100% { filter: brightness(1); }781}782.peach-totp-code.is-hot {783  animation: peach-totp-code-flare 3000ms ease-in-out both;784}785.peach-search-bar {786  min-height: 54px;787  display: grid;788  grid-template-columns: auto minmax(0, 1fr) auto;789  align-items: center;790  gap: 8px; padding: 0 9px 0 12px;791}792.peach-search-icon { color: var(--peach-t2); display: inline-flex; align-items: center; }793.peach-search-input {794  border: 0; background: transparent; color: var(--peach-t0);795  font-family: var(--font-display);796  font-style: italic; font-size: 18px;797  outline: none; width: 100%; min-width: 0; padding: 0;798  caret-color: var(--peach-accent);799}800.peach-search-input::placeholder { color: var(--peach-t2); }801.peach-search-meta {802  display: grid;803  grid-auto-flow: column;804  align-items: center;805  justify-content: end;806  gap: 6px;807  min-width: max-content;808}809.peach-search-counter {810  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;811  font-size: 10px; color: var(--peach-t2);812  display: inline-flex;813  align-items: center;814  line-height: 1;815}816.peach-divider { width: 1px; height: 12px; background: var(--peach-t3); display: inline-block; flex-shrink: 0; }817818/* Buttons */819.peach-btn {820  border: 1px solid transparent; border-radius: 12px;821  background: transparent; color: var(--peach-t0);822  font-family: Inter, system-ui, sans-serif;823  font-size: 12px; letter-spacing: 0.02em; padding: 8px 12px;824  cursor: pointer;825  transition:826    background-color var(--peach-dur-80) var(--peach-curve-arrival),827    color var(--peach-dur-80) var(--peach-curve-arrival),828    border-color var(--peach-dur-150) var(--peach-curve-arrival);829}830.peach-btn:hover:not(:disabled) { background: var(--peach-s2); }831.peach-btn:disabled {832  opacity: 0.45;833  cursor: not-allowed;834}835.peach-btn--sm { min-height: 32px; padding: 6px 9px; font-size: 11px; }836.peach-btn--md { min-height: 38px; }837.peach-btn--accent {838  background: var(--peach-accent);839  color: rgba(0,0,0,0.78);840  box-shadow:841    0 1px 0 rgba(255,255,255,0.08) inset,842    0 0 0 1px color-mix(in srgb, var(--peach-accent) 21%, transparent),843    0 3px 16px var(--peach-glow),844    0 0 24px color-mix(in srgb, var(--peach-accent) 10%, transparent);845}846.peach-btn--accent:hover:not(:disabled) {847  background: var(--peach-accent);848  filter: brightness(1.10) saturate(1.05);849  box-shadow:850    0 1px 0 rgba(255,255,255,0.10) inset,851    0 0 0 1px color-mix(in srgb, var(--peach-accent) 25%, transparent),852    0 4px 20px color-mix(in srgb, var(--peach-accent) 21%, transparent),853    0 0 30px color-mix(in srgb, var(--peach-accent) 14%, transparent);854}855.peach-btn--ghost { border-color: var(--peach-t3); color: var(--peach-t1); }856.peach-btn--subtle { color: var(--peach-t2); border-color: var(--peach-t3); }857.peach-icon-btn {858  min-width: 32px; min-height: 32px; border-radius: 8px; padding: 6px;859  display: inline-flex; align-items: center; justify-content: center;860}861862.peach-btn:focus-visible {863  outline: none;864  box-shadow: 0 0 0 2px var(--peach-bg), 0 0 0 4px color-mix(in srgb, var(--peach-accent) 50%, transparent);865}866867/* Lock button */868.peach-lock-icon { transform-origin: center; }869.peach-lock-btn.is-locking { color: var(--peach-accent); }870.peach-lock-btn.is-locking .peach-lock-icon {871  animation: peach-lock-settle var(--peach-dur-600) var(--peach-curve-arrival);872}873874/* Copy button */875.peach-copy-btn {876  position: relative; overflow: hidden;877  color: var(--peach-t2); border-color: var(--peach-t3);878}879.peach-copy-icon {880  display: inline-flex; align-items: center; justify-content: center;881  position: relative; z-index: 1;882}883.peach-copy-icon-svg { display: block; }884.peach-copy-sheen {885  position: absolute; inset: 0;886  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--peach-accent) 18%, transparent) 30%, color-mix(in srgb, var(--peach-accent) 8%, transparent) 100%);887  opacity: 0; transform: scaleX(0.15); transform-origin: left center;888}889.peach-copy-btn.is-copied {890  animation: peach-copy-confirm var(--peach-dur-150) var(--peach-curve-settle) forwards;891  box-shadow:892    0 0 0 1px color-mix(in srgb, var(--peach-accent) 22%, transparent),893    0 0 18px color-mix(in srgb, var(--peach-accent) 20%, transparent),894    inset 0 0 20px color-mix(in srgb, var(--peach-accent) 12%, transparent);895}896.peach-copy-btn.is-copied .peach-copy-icon {897  animation: peach-copy-icon-settle var(--peach-dur-150) var(--peach-curve-settle) both;898}899.peach-copy-btn.is-copied .peach-copy-sheen {900  animation: peach-copy-flood var(--peach-dur-150) var(--peach-curve-settle) forwards;901}902.peach-copy-btn.is-retreat {903  animation: peach-copy-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;904}905.peach-copy-btn.is-retreat .peach-copy-sheen {906  animation: peach-copy-sheen-retreat var(--peach-dur-150) var(--peach-curve-departure) forwards;907}908.peach-copy-drain { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; overflow: hidden; }909.peach-copy-drain-bar {910  display: block; width: 100%; height: 100%;911  background: var(--peach-accent); opacity: 0.7;912  animation: peach-copy-drain var(--peach-copy-clear, 1.8s) linear forwards;913}914915/* Unlock screen elements */916.peach-unlock-headline {917  margin: 2px 0 0;918  font-family: var(--font-display);919  font-size: 52px; line-height: 0.95;920  font-style: italic; font-weight: 400;921}922.peach-subline {923  margin: 0;924  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;925  font-size: 10px; color: var(--peach-t2); font-style: italic;926}927.peach-subline--lock {928  max-width: 248px;929  line-height: 1.5;930}931.peach-underline-input {932  width: 100%; border: 0; border-bottom: 1px solid var(--peach-t3);933  padding: 6px 0; background: transparent; color: var(--peach-t0);934  outline: none;935  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;936  font-size: 13px;937  caret-color: var(--peach-accent);938}939.peach-unlock-input { font-size: 22px; letter-spacing: 0.24em; }940.peach-unlock-input::placeholder { letter-spacing: 0.04em; color: var(--peach-t2); }941.peach-hint {942  margin: 0;943  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;944  font-size: 10px; color: var(--peach-t2);945}946.peach-unlock-footer {947  margin-top: 4px; display: flex; align-items: center; gap: 7px;948  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;949  font-size: 10px; color: var(--peach-t2);950}951.peach-unlock-footer--lock {952  padding-top: 2px;953}954955/* Breach badge */956.peach-breach-badge {957  display: flex;958  position: relative;959  z-index: 1;960  align-items: center;961  gap: 7px;962  font-size: 9px;963  color: var(--peach-breach);964  padding: 5px 10px;965  margin-bottom: 4px;966  border-radius: 8px;967  background: rgba(220, 80, 60, 0.07);968  border: 1px solid rgba(220, 80, 60, 0.18);969  letter-spacing: 0.04em;970}971972.peach-breach-action {973  margin-left: auto;974  font-size: 10px;975  padding: 3px 8px;976}977978.peach-password-value.is-breached {979  color: rgba(220, 80, 60, 0.75);980  border-bottom: 1px solid rgba(220, 80, 60, 0.22);981}982983/* ── Overlay views ─────────────────────────────────────────────────── */984.peach-overlay-view {985  position: absolute;986  inset: 0;987  display: flex;988  flex-direction: column;989  background:990    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),991    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),992    var(--peach-bg);993  z-index: 2;994  overflow: hidden;995  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;996}997@keyframes overlay-in {998  from { opacity: 0; transform: translateY(8px); }999  to   { opacity: 1; transform: translateY(0); }1000}1001.peach-overlay-view.ov-enter-up {1002  animation: ov-enter-up 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1003}1004.peach-overlay-view.ov-exit-up {1005  animation: ov-exit-up 200ms cubic-bezier(0.4, 0, 1, 1) both;1006}1007.peach-overlay-view.ov-enter-right {1008  animation: ov-enter-right 280ms cubic-bezier(0.16, 1, 0.3, 1) both;1009}1010.peach-overlay-view.ov-exit-right {1011  animation: ov-exit-right 200ms cubic-bezier(0.4, 0, 1, 1) both;1012}10131014@keyframes ov-enter-up {1015  from { opacity: 0; transform: translateY(18px); }1016  to   { opacity: 1; transform: translateY(0); }1017}1018@keyframes ov-exit-up {1019  from { opacity: 1; transform: translateY(0); }1020  to   { opacity: 0; transform: translateY(-12px); }1021}1022@keyframes ov-enter-right {1023  from { opacity: 0; transform: translateX(20px); }1024  to   { opacity: 1; transform: translateX(0); }1025}1026@keyframes ov-exit-right {1027  from { opacity: 1; transform: translateX(0); }1028  to   { opacity: 0; transform: translateX(20px); }1029}10301031/* Overlay shared header */1032.peach-overlay-header {1033  padding: 10px 12px;1034  display: flex;1035  align-items: center;1036  gap: 8px;1037  border-bottom: 1px solid var(--peach-t3);1038  flex-shrink: 0;1039}1040.peach-overlay-title {1041  font-family: "IBM Plex Mono", monospace;1042  font-size: 9px;1043  text-transform: uppercase;1044  letter-spacing: 0.18em;1045  color: var(--peach-t2);1046  flex: 1;1047  text-align: center;1048}10491050.peach-overlay-card {1051  background: var(--peach-s1);1052  border: 1px solid var(--peach-t3);1053  border-radius: 12px;1054  overflow: hidden;1055  width: 100%;1056}10571058.peach-onboarding-alt-actions {1059  display: flex;1060  flex-direction: column;1061  gap: 4px;1062  padding: 0;1063}10641065.peach-settings-copy {1066  margin: 0 0 10px;1067  font-size: 11px;1068  line-height: 1.5;1069  color: var(--peach-t2);1070}10711072.peach-settings-copy strong {1073  color: var(--peach-t0);1074}10751076.peach-settings-copy--spacious {1077  margin-bottom: 12px;1078}10791080.peach-settings-copy--result {1081  color: var(--peach-accent);1082  font-size: 13px;1083  text-align: center;1084  padding: 8px 0;1085}10861087.peach-settings-copy--danger {1088  color: var(--peach-breach);1089}10901091.peach-settings-copy--success {1092  color: var(--peach-accent);1093}10941095.peach-inline-feedback {1096  font-size: 11px;1097  margin: 10px 0 0;1098}10991100.peach-inline-feedback--ok {1101  color: var(--peach-accent);1102}11031104.peach-inline-feedback--error {1105  color: var(--peach-breach);1106}11071108.peach-inline-feedback--muted {1109  color: var(--peach-t2);1110  font-size: 10px;1111  margin: 4px 0;1112}11131114.peach-inline-feedback--spaced {1115  margin-top: 12px;1116}11171118.peach-settings-actions--row {1119  display: flex;1120  gap: 6px;1121}11221123.peach-settings-actions--end {1124  margin-top: 14px;1125  justify-content: flex-end;1126}11271128.peach-settings-stack {1129  display: flex;1130  flex-direction: column;1131  gap: 6px;1132}11331134.peach-settings-stack--tight {1135  gap: 4px;1136}11371138.peach-settings-stack--spacious {1139  gap: 8px;1140}11411142.peach-settings-input {1143  width: 100%;1144  box-sizing: border-box;1145  padding: 8px 10px;1146  background: var(--peach-s2);1147  border: 1px solid var(--peach-t3);1148  border-radius: 6px;1149  color: var(--peach-t0);1150  font-family: var(--font-ui);1151  font-size: 12px;1152  outline: none;1153  transition: border-color 120ms ease;1154}11551156.peach-settings-input:focus {1157  border-color: var(--peach-accent);1158}11591160.peach-settings-input[type="password"] {1161  font-family: var(--font-mono);1162  letter-spacing: 0.04em;1163}11641165.peach-hidden-file-input {1166  display: none;1167}11681169.peach-checkbox-note {1170  display: flex;1171  align-items: flex-start;1172  gap: 8px;1173  font-size: 11px;1174  color: var(--peach-t1);1175  cursor: pointer;1176  margin: 12px 0;1177}11781179.peach-checkbox-note input {1180  margin-top: 1px;1181}11821183.peach-danger-notice {1184  background: rgba(220, 80, 60, 0.08);1185  border: 1px solid rgba(220, 80, 60, 0.2);1186  border-radius: 6px;1187  padding: 9px 11px;1188  font-size: 11px;1189  color: var(--peach-t1);1190  line-height: 1.5;1191}11921193.peach-info-notice {1194  font-size: 11px;1195  color: var(--peach-t1);1196  line-height: 1.5;1197  background: var(--surface-card);1198  border: 1px solid var(--peach-t3);1199  border-radius: 6px;1200  padding: 8px 10px;1201}12021203.peach-info-notice--warn {1204  border-color: rgba(220, 38, 38, 0.4);1205  background: rgba(220, 38, 38, 0.06);1206  color: rgba(220, 38, 38, 0.92);1207  margin-bottom: 8px;1208}12091210.peach-strength-row {1211  display: flex;1212  align-items: center;1213  gap: 8px;1214  margin-bottom: 10px;1215}12161217.peach-strength-track {1218  flex: 1;1219  height: 4px;1220  background: var(--peach-s2);1221  border-radius: 2px;1222  overflow: hidden;1223}12241225.peach-strength-fill {1226  height: 100%;1227  border-radius: 2px;1228  transition: width 120ms ease, background 120ms ease;1229}12301231/* ── Type selector tabs ── */1232.peach-type-tabs {1233  display: flex;1234  gap: 0;1235  background: var(--peach-t4);1236  border-radius: 8px;1237  padding: 3px;1238}12391240.peach-type-tab {1241  flex: 1;1242  display: flex;1243  align-items: center;1244  justify-content: center;1245  gap: 6px;1246  padding: 6px 10px;1247  border-radius: 6px;1248  border: none;1249  background: transparent;1250  cursor: pointer;1251  font-family: Inter, system-ui, sans-serif;1252  font-size: 11px;1253  font-weight: 400;1254  letter-spacing: 0.04em;1255  color: var(--peach-t1);1256  transition: background 150ms ease, color 150ms ease;1257}12581259.peach-type-tab.is-active {1260  background: var(--peach-s2);1261  color: var(--peach-t0);1262  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);1263}12641265.peach-type-tab:not(.is-active):hover {1266  color: var(--peach-t0);1267}12681269.peach-type-tab svg {1270  opacity: 0.7;1271  flex-shrink: 0;1272}12731274.peach-type-tab.is-active svg {1275  opacity: 1;1276}12771278/* ── List view ───────────────────────────────────────────────────────── */1279.peach-list-top {1280  padding: 0 10px;1281  min-height: 46px;1282  display: flex;1283  align-items: center;1284  gap: 6px;1285  border-bottom: 1px solid var(--peach-t3);1286  flex-shrink: 0;1287  background: var(--peach-s1);1288}1289.peach-vault-list {1290  flex: 1;1291  overflow-y: auto;1292  scrollbar-width: none;1293}1294.peach-vault-list::-webkit-scrollbar { display: none; }12951296/* Scrollbar — vault list */1297.peach-vault-list {1298  scrollbar-width: thin;1299  scrollbar-color: var(--peach-t3) transparent;1300}13011302.peach-vault-list::-webkit-scrollbar {1303  width: 3px;1304}13051306.peach-vault-list::-webkit-scrollbar-thumb {1307  background: var(--peach-t3);1308  border-radius: 2px;1309}13101311.peach-entry-row {1312  width: 100%;1313  display: flex;1314  align-items: center;1315  gap: 10px;1316  padding: 9px 16px;1317  background: transparent;1318  border: none;1319  border-bottom: 1px solid var(--peach-t3);1320  cursor: pointer;1321  color: inherit;1322  text-align: left;1323  transition: background 80ms ease;1324}1325.peach-entry-row:hover { background: rgba(240,232,216,0.03); }1326.peach-entry-row:last-child { border-bottom: none; }1327.peach-entry-row.is-active {1328  box-shadow: inset 2px 0 0 var(--peach-accent);1329  background: rgba(240,232,216,0.03);1330}1331.peach-entry-row:focus-visible {1332  outline: none;1333  box-shadow: 0 0 0 1px var(--peach-border-accent);1334  background: rgba(240,232,216,0.03);1335}1336.peach-entry-row-icon {1337  width: 26px; height: 26px;1338  border-radius: 7px;1339  border: 1px solid var(--peach-t3);1340  display: flex; align-items: center; justify-content: center;1341  color: var(--peach-t2);1342  flex-shrink: 0;1343}1344.peach-entry-row-icon.is-breach {1345  border-color: rgba(220,80,60,0.3);1346  color: rgba(220,80,60,0.7);1347}1348.peach-entry-row-info { flex: 1; min-width: 0; }1349.peach-entry-row-name {1350  display: block;1351  font-family: var(--font-display);1352  font-size: 17px;1353  font-style: italic;1354  font-weight: 400;1355  color: var(--peach-t0);1356  line-height: 1.2;1357  white-space: nowrap;1358  overflow: hidden;1359  text-overflow: ellipsis;1360}1361.peach-entry-row-meta {1362  display: block;1363  font-family: "IBM Plex Mono", monospace;1364  font-size: 9px;1365  color: var(--peach-t2);1366  margin-top: 1px;1367  letter-spacing: 0.05em;1368}1369.peach-entry-row-dot {1370  width: 5px; height: 5px;1371  border-radius: 50%;1372  background: rgba(220,80,60,0.7);1373  flex-shrink: 0;1374}1375.peach-new-entry-row {1376  display: flex;1377  align-items: center;1378  justify-content: center;1379  gap: 6px;1380  width: 100%;1381  padding: 11px;1382  background: transparent;1383  border: none;1384  border-top: 1px solid var(--peach-t3);1385  color: var(--peach-t2);1386  font-family: "IBM Plex Mono", monospace;1387  font-size: 9px;1388  text-transform: uppercase;1389  letter-spacing: 0.14em;1390  cursor: pointer;1391  flex-shrink: 0;1392  transition: color 120ms ease, background 120ms ease;1393}1394.peach-new-entry-row:hover { color: var(--peach-t0); background: rgba(240,232,216,0.02); }13951396/* ── Multi-select mode ─────────────────────────────────────────────── */13971398/* Select-mode trigger button in sort bar — same shape as trash btn */1399.peach-sort-select-btn {1400  display: flex;1401  align-items: center;1402  justify-content: center;1403  padding: 3px 5px;1404  background: transparent;1405  border: none;1406  cursor: pointer;1407  color: var(--peach-t2);1408  border-radius: 4px;1409  transition: color 140ms ease, background 140ms ease;1410}1411.peach-sort-select-btn:hover {1412  color: var(--peach-t1);1413  background: var(--peach-t3);1414}14151416/* Sort bar in select mode */1417.peach-select-cancel-btn {1418  background: transparent;1419  border: none;1420  padding: 0 4px;1421  cursor: pointer;1422  font-family: "IBM Plex Mono", monospace;1423  font-size: 9px;1424  letter-spacing: 0.12em;1425  text-transform: uppercase;1426  color: var(--peach-t2);1427  transition: color 140ms ease;1428  flex-shrink: 0;1429}1430.peach-select-cancel-btn:hover { color: var(--peach-t0); }14311432.peach-select-count-label {1433  flex: 1;1434  text-align: center;1435  font-family: "IBM Plex Mono", monospace;1436  font-size: 9px;1437  letter-spacing: 0.14em;1438  text-transform: uppercase;1439  color: var(--peach-t1);1440}14411442.peach-select-all-btn {1443  background: transparent;1444  border: none;1445  padding: 0 4px;1446  cursor: pointer;1447  font-family: "IBM Plex Mono", monospace;1448  font-size: 9px;1449  letter-spacing: 0.12em;1450  text-transform: uppercase;1451  color: var(--peach-t2);1452  transition: color 140ms ease;1453  flex-shrink: 0;1454}1455.peach-select-all-btn:hover { color: var(--peach-accent); }14561457/* List in select mode */1458.peach-vault-list.is-selecting .peach-entry-row {1459  cursor: default;1460}1461.peach-vault-list.is-selecting .peach-entry-row:hover {1462  background: rgba(240,232,216,0.02);1463}1464.peach-vault-list.is-selecting .peach-entry-row.is-selected {1465  background: color-mix(in srgb, var(--peach-accent) 6%, transparent);1466}1467.peach-vault-list.is-selecting .peach-entry-row.is-selected:hover {1468  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1469}14701471/* Select indicator circles in icon slot */1472.peach-entry-row-icon.is-select-icon {1473  color: var(--peach-t2);1474}1475.peach-entry-row.is-selected .peach-entry-row-icon.is-select-icon {1476  color: var(--peach-accent);1477}14781479/* Delete action bar at bottom (replaces new-entry row) */1480.peach-select-action-bar {1481  display: flex;1482  align-items: center;1483  justify-content: center;1484  gap: 7px;1485  width: 100%;1486  padding: 11px;1487  background: transparent;1488  border: none;1489  border-top: 1px solid var(--peach-t3);1490  color: var(--peach-t1);1491  font-family: "IBM Plex Mono", monospace;1492  font-size: 9px;1493  text-transform: uppercase;1494  letter-spacing: 0.14em;1495  cursor: pointer;1496  flex-shrink: 0;1497  transition: color 120ms ease, background 120ms ease;1498}1499.peach-select-action-bar:not(:disabled):hover {1500  color: var(--peach-t0);1501  background: rgba(220,80,60,0.06);1502}1503.peach-select-action-bar:not(:disabled):hover svg {1504  stroke: rgba(220,80,60,0.8);1505}1506.peach-select-action-bar:disabled,1507.peach-select-action-bar.is-empty {1508  color: var(--peach-t2);1509  cursor: default;1510  opacity: 0.5;1511}1512.peach-search-counter-list {1513  white-space: nowrap;1514  flex-shrink: 0;1515}1516.peach-list-empty {1517  min-height: 180px;1518  display: grid;1519  place-items: center;1520  color: var(--peach-t2);1521  font-family: "IBM Plex Mono", monospace;1522  font-size: 11px;1523}15241525/* ── Settings view ───────────────────────────────────────────────────── */1526.peach-settings-body {1527  flex: 1;1528  overflow-y: auto;1529  min-height: 0;1530  display: flex;1531  flex-direction: column;1532  padding: 2px 0 10px;1533}1534.peach-settings-group {1535  margin: 4px 10px;1536  padding: 9px 14px 11px;1537  border-radius: 12px;1538  border: 1px solid rgba(255, 255, 255, 0.07);1539  background: rgba(26, 20, 16, 0.60);1540  backdrop-filter: blur(10px) saturate(1.3);1541  -webkit-backdrop-filter: blur(10px) saturate(1.3);1542}15431544.peach-settings-group + .peach-settings-group {1545  margin-top: 6px;1546}15471548@supports not (backdrop-filter: blur(1px)) {1549  .peach-settings-group {1550    background: rgba(26, 20, 16, 0.90);1551    border-color: rgba(255, 255, 255, 0.09);1552    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 20px rgba(0, 0, 0, 0.35);1553  }1554}15551556.light .peach-settings-group,1557[data-theme="light"] .peach-settings-group {1558  background: rgba(253, 248, 244, 0.68);1559  border-color: rgba(0, 0, 0, 0.07);1560  backdrop-filter: blur(10px) saturate(1.2);1561  -webkit-backdrop-filter: blur(10px) saturate(1.2);1562}15631564@supports not (backdrop-filter: blur(1px)) {1565  .light .peach-settings-group,1566  [data-theme="light"] .peach-settings-group {1567    background: rgba(253, 248, 244, 0.95);1568    border-color: rgba(0, 0, 0, 0.09);1569  }1570}1571.peach-export-intro {1572  padding-bottom: 8px;1573}1574.peach-export-card {1575  display: grid;1576  gap: 10px;1577}1578.peach-rune-canvas {1579  border-radius: 8px;1580  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, var(--peach-t3));1581  background: #1a1410;1582  flex: 1;1583  align-self: center;1584}1585.peach-script-input {1586  font-family: "PeachScript", monospace;1587  font-size: 11px;1588  line-height: 1.9;1589  letter-spacing: 0.06em;1590  color: var(--peach-t0);1591  background: var(--peach-input-bg, var(--surface-card));1592  border: 1px solid var(--peach-t3);1593  border-radius: 6px;1594  padding: 12px;1595  width: 100%;1596  min-height: 96px;1597  resize: vertical;1598  word-break: break-all;1599}1600.peach-qr-canvas-wrap {1601  display: flex;1602  justify-content: center;1603  padding: 12px 0 6px;1604}1605.peach-qr-canvas-wrap canvas {1606  display: block;1607  background: #ffffff;1608  border-radius: 6px;1609  max-width: 100%;1610  height: auto;1611}1612.peach-csv-warning {1613  background: color-mix(in srgb, var(--peach-breach) 14%, transparent);1614  border: 1px solid color-mix(in srgb, var(--peach-breach) 40%, transparent);1615  color: var(--peach-t0);1616  border-radius: 6px;1617  padding: 10px 12px;1618  margin-bottom: 8px;1619  font-size: 12px;1620  line-height: 1.45;1621}1622.peach-export-card--primary {1623  background:1624    linear-gradient(180deg, color-mix(in srgb, var(--peach-accent) 8%, transparent), color-mix(in srgb, var(--peach-accent) 2%, transparent));1625}16261627/* Export menu — distribute the three format cards across the popup. */1628.peach-export-menu {1629  display: flex;1630  flex-direction: column;1631  flex: 1;1632  min-height: 0;1633}1634.peach-export-menu .peach-settings-group {1635  flex: 1;1636  display: flex;1637  flex-direction: column;1638  justify-content: center;1639  gap: 10px;1640}16411642/* Result view — the script-string fills the remaining vertical surface. */1643.peach-export-result-group {1644  flex: 1;1645  display: flex;1646  flex-direction: column;1647  min-height: 0;1648  border-bottom: none;1649}1650.peach-export-result-group .peach-export-card {1651  flex: 1;1652  min-height: 0;1653  display: flex;1654  flex-direction: column;1655  gap: 10px;1656}1657.peach-export-result-group .peach-export-card-copy {1658  flex-shrink: 0;1659}1660.peach-export-result-group .peach-settings-label {1661  flex-shrink: 0;1662}1663.peach-export-result-group button {1664  flex-shrink: 0;1665}1666.peach-export-card-head {1667  display: flex;1668  align-items: center;1669  justify-content: space-between;1670  gap: 10px;1671}1672.peach-export-card-copy {1673  margin: 0;1674  font-size: 12px;1675  line-height: 1.55;1676  color: var(--peach-t1);1677}1678.peach-export-note {1679  margin: 0;1680  font-size: 10px;1681  line-height: 1.5;1682  color: var(--peach-t2);1683}1684.peach-export-pill {1685  display: inline-flex;1686  align-items: center;1687  padding: 4px 8px;1688  border-radius: 999px;1689  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);1690  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1691  color: var(--peach-accent);1692  font-family: "IBM Plex Mono", monospace;1693  font-size: 8px;1694  letter-spacing: 0.12em;1695  text-transform: uppercase;1696  white-space: nowrap;1697}1698.peach-export-pill--danger {1699  border-color: rgba(220,80,60,0.22);1700  background: rgba(220,80,60,0.08);1701  color: var(--peach-breach);1702}1703.peach-export-password-stack {1704  gap: 8px;1705}1706.peach-settings-label {1707  margin: 0 0 6px;1708  font-family: "IBM Plex Mono", monospace;1709  font-size: 8px;1710  text-transform: uppercase;1711  letter-spacing: 0.18em;1712  color: var(--peach-t2);1713}1714.peach-settings-row {1715  display: flex;1716  align-items: center;1717  justify-content: space-between;1718  gap: 12px;1719  min-height: 34px;1720  padding: 6px 0;1721  font-size: 13px;1722  color: var(--peach-t1);1723}1724.peach-settings-row--meta { color: var(--peach-t2); font-size: 12px; }1725.peach-settings-value {1726  font-family: "IBM Plex Mono", monospace;1727  font-size: 10px;1728  color: var(--peach-t2);1729}17301731.peach-settings-value--status {1732  display: flex;1733  align-items: center;1734  gap: 6px;1735}17361737.peach-settings-link {1738  font-family: "IBM Plex Mono", monospace;1739  font-size: 10px;1740  color: var(--peach-accent);1741  text-decoration: none;1742  cursor: pointer;1743}1744.peach-settings-link:hover {1745  text-decoration: underline;1746}17471748.peach-settings-row--stack {1749  flex-direction: column;1750  align-items: stretch;1751  gap: 6px;1752}17531754.peach-settings-row--top {1755  align-items: flex-start;1756}17571758.peach-settings-row-main {1759  display: flex;1760  flex-direction: column;1761  gap: 4px;1762  flex: 1;1763}1764.peach-toggle {1765  width: 28px; height: 16px;1766  border-radius: 999px;1767  background: var(--peach-t3);1768  border: 1px solid var(--peach-t3);1769  display: flex; align-items: center; justify-content: flex-start; padding: 2px;1770  flex-shrink: 0;1771  transition: background 200ms ease, border-color 200ms ease;1772  cursor: pointer;1773}1774.peach-toggle.is-on {1775  background: color-mix(in srgb, var(--peach-accent) 22%, transparent);1776  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1777}1778.peach-toggle-knob {1779  width: 10px; height: 10px;1780  border-radius: 50%;1781  background: var(--peach-t2);1782  flex-shrink: 0;1783  transform: translateX(0px);1784  transition: background 200ms ease, transform 200ms var(--peach-curve-settle);1785}1786.peach-toggle.is-on .peach-toggle-knob {1787  background: var(--peach-accent);1788  transform: translateX(12px);1789}1790.peach-settings-footer {1791  display: flex;1792  align-items: center;1793  gap: 8px;1794  margin-top: auto;1795  padding: 14px 16px 8px;1796  font-family: "IBM Plex Mono", monospace;1797  font-size: 9px;1798  color: var(--peach-t2);1799}18001801/* ── Settings home navigation ──────────────────────────────────────────── */1802.peach-settings-nav-label {1803  margin: 0 0 2px;1804  padding: 12px 16px 4px;1805  font-family: "IBM Plex Mono", monospace;1806  font-size: 8px;1807  text-transform: uppercase;1808  letter-spacing: 0.18em;1809  color: var(--peach-t2);1810}18111812.peach-settings-cat-row {1813  display: flex;1814  align-items: center;1815  gap: 10px;1816  width: 100%;1817  padding: 9px 16px;1818  background: none;1819  border: none;1820  border-bottom: 1px solid var(--peach-t3);1821  cursor: pointer;1822  text-align: left;1823  color: inherit;1824  transition: background var(--peach-dur-80) ease;1825}1826.peach-settings-cat-row:hover {1827  background: var(--peach-t3);1828}1829.peach-settings-cat-row:last-child {1830  border-bottom: none;1831}18321833.peach-settings-cat-icon {1834  width: 28px;1835  height: 28px;1836  border-radius: 7px;1837  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);1838  color: var(--peach-accent);1839  display: flex;1840  align-items: center;1841  justify-content: center;1842  flex-shrink: 0;1843}1844/* Light theme: peach-on-cream is too low-contrast — both colors are warm.1845   Darken the icon stroke to ink and bump the bg tint so the icon reads1846   sharply while the cell still feels accent-tinted. */1847.light .peach-settings-cat-icon {1848  background: color-mix(in srgb, var(--peach-accent) 18%, transparent);1849  color: color-mix(in srgb, var(--peach-accent) 50%, var(--peach-t0));1850}18511852.peach-settings-cat-content {1853  flex: 1;1854  display: flex;1855  flex-direction: column;1856  gap: 2px;1857  min-width: 0;1858}18591860.peach-settings-cat-name {1861  font-size: 13px;1862  font-weight: 450;1863  color: var(--peach-t0);1864  line-height: 1.2;1865}18661867.peach-settings-cat-desc {1868  font-size: 10px;1869  color: var(--peach-t2);1870  line-height: 1.3;1871  white-space: nowrap;1872  overflow: hidden;1873  text-overflow: ellipsis;1874}18751876.peach-settings-cat-chevron {1877  color: var(--peach-t2);1878  flex-shrink: 0;1879  opacity: 0.5;1880}18811882/* ── Settings sub-view section labels ──────────────────────────────────── */1883.peach-settings-sub-label {1884  margin: 12px 0 4px;1885  font-family: "IBM Plex Mono", monospace;1886  font-size: 8px;1887  text-transform: uppercase;1888  letter-spacing: 0.18em;1889  color: var(--peach-t2);1890}1891.peach-settings-sub-label:first-child {1892  margin-top: 4px;1893}18941895/* ── Feedback form ──────────────────────────────────────────────────────── */1896.peach-feedback-group {1897  flex: 1;1898  display: flex;1899  flex-direction: column;1900  border-bottom: none;1901}19021903.peach-feedback-intro {1904  margin: 4px 0 14px;1905  font-size: 12px;1906  line-height: 1.55;1907  color: var(--peach-t1);1908}19091910.peach-feedback-chips {1911  display: flex;1912  flex-wrap: wrap;1913  gap: 6px;1914  margin-bottom: 14px;1915}19161917.peach-feedback-chip {1918  padding: 4px 10px;1919  border-radius: 999px;1920  border: 1px solid var(--peach-t3);1921  background: none;1922  color: var(--peach-t2);1923  font-size: 11px;1924  font-family: var(--font-ui);1925  cursor: pointer;1926  transition: border-color var(--peach-dur-80) ease, color var(--peach-dur-80) ease,1927    background var(--peach-dur-80) ease;1928}1929.peach-feedback-chip:hover {1930  border-color: var(--peach-t2);1931  color: var(--peach-t1);1932}1933.peach-feedback-chip.is-active {1934  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);1935  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);1936  color: var(--peach-accent);1937}19381939.peach-feedback-textarea {1940  flex: 1;1941  width: 100%;1942  min-height: 120px;1943  box-sizing: border-box;1944  background: var(--peach-t3);1945  border: 1px solid var(--peach-t3);1946  border-radius: 6px;1947  color: var(--peach-t0);1948  font-size: 12px;1949  font-family: var(--font-ui);1950  line-height: 1.5;1951  padding: 8px 10px;1952  resize: none;1953  outline: none;1954  transition: border-color var(--peach-dur-150) ease;1955}1956.peach-feedback-textarea:focus {1957  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);1958}1959.peach-feedback-textarea::placeholder {1960  color: var(--peach-t2);1961}19621963.peach-feedback-meta {1964  margin: 6px 0 0;1965  font-size: 10px;1966  color: var(--peach-t2);1967  font-family: "IBM Plex Mono", monospace;1968}19691970.peach-feedback-result {1971  margin: 8px 0 0;1972  font-size: 11px;1973  font-family: "IBM Plex Mono", monospace;1974}1975.peach-feedback-result--ok { color: var(--peach-sync-ok); }1976.peach-feedback-result--err { color: var(--peach-breach); }19771978.peach-feedback-submit {1979  width: 100%;1980  margin-top: 12px;1981  justify-content: center;1982}19831984.peach-feedback-anon {1985  margin: 8px 0 0;1986  font-size: 10px;1987  color: var(--peach-t2);1988  text-align: center;1989}19901991.peach-passkey-badge {1992  margin-left: 8px;1993  font-size: 10px;1994  letter-spacing: 0.06em;1995  text-transform: uppercase;1996  color: var(--peach-t2);1997  font-family: var(--font-ui);1998  vertical-align: middle;1999}20002001.peach-passkey-delete-btn {2002  color: var(--peach-breach);2003  border-color: rgba(229, 85, 85, 0.25);2004}20052006.peach-passkey-delete-confirm {2007  display: flex;2008  align-items: center;2009  gap: 8px;2010  padding: 8px 10px;2011  background: rgba(229, 85, 85, 0.06);2012  border: 1px solid rgba(229, 85, 85, 0.2);2013  border-radius: 6px;2014}20152016.peach-passkey-delete-confirm-copy {2017  flex: 1;2018  font-size: 11px;2019  color: var(--peach-t1);2020}20212022.peach-passkey-delete-btn--confirm {2023  color: var(--peach-breach);2024  border-color: rgba(229, 85, 85, 0.4);2025}20262027.peach-passkey-activity {2028  flex-direction: column;2029  align-items: flex-start;2030  gap: 4px;2031}20322033.peach-passkey-meta {2034  font-size: 11px;2035  color: var(--peach-t2);2036}20372038.peach-passkey-actions {2039  position: relative;2040  z-index: 1;2041  margin-top: 14px;2042  display: flex;2043  flex-direction: column;2044  gap: 8px;2045}20462047.peach-passkey-approval {2048  display: flex;2049  flex-direction: column;2050  align-items: center;2051  padding: 28px 22px 22px;2052  gap: 14px;2053  text-align: center;2054}20552056.peach-passkey-approval-icon {2057  width: 46px;2058  height: 46px;2059  border-radius: 12px;2060  background: var(--peach-s2);2061  border: 1px solid var(--peach-t3);2062  display: flex;2063  align-items: center;2064  justify-content: center;2065  flex-shrink: 0;2066  color: var(--peach-accent);2067}20682069.peach-passkey-approval-icon img,2070.peach-passkey-approval-icon svg {2071  width: 28px;2072  height: 28px;2073  border-radius: 6px;2074}20752076.peach-passkey-approval-rp {2077  font-family: var(--font-ui);2078  font-size: 12px;2079  color: var(--peach-t2);2080  letter-spacing: 0.03em;2081}20822083.peach-passkey-approval-action {2084  font-family: var(--font-display);2085  font-style: italic;2086  font-weight: 300;2087  font-size: 26px;2088  color: var(--peach-t0);2089  line-height: 1;2090}20912092.peach-passkey-approval-user {2093  font-family: var(--font-mono);2094  font-size: 11px;2095  color: var(--peach-t1);2096  background: var(--peach-s2);2097  border: 1px solid var(--peach-t3);2098  border-radius: 4px;2099  padding: 3px 8px;2100}21012102.peach-passkey-approval-notice {2103  font-size: 10px;2104  color: var(--peach-t2);2105  line-height: 1.5;2106  max-width: 220px;2107}21082109.peach-passkey-approval-actions {2110  display: flex;2111  gap: 8px;2112  width: 100%;2113  margin-top: 6px;2114}21152116.peach-passkey-approval-actions .peach-btn {2117  flex: 1;2118}21192120/* ── Inline generator drawer ── */2121.peach-generator-drawer {2122  display: grid;2123  grid-template-rows: 0fr;2124  transition: grid-template-rows 320ms var(--peach-curve-arrival);2125  overflow: hidden;2126}2127.peach-generator-drawer.is-open {2128  grid-template-rows: 1fr;2129}2130.peach-generator-drawer-inner {2131  min-height: 0;2132  overflow: hidden;2133}2134.peach-generator-drawer-content {2135  border-top: 1px solid var(--peach-t3);2136  padding: 8px 0 4px;2137  display: flex;2138  flex-direction: column;2139  gap: 8px;2140}21412142/* ── Compact generator (inside entry edit) ── */2143.peach-generator-drawer-content--compact {2144  border-top: 1px solid var(--peach-t3);2145  padding: 8px 0 2px;2146  gap: 7px;2147}2148.peach-pwgen-compact-display-row {2149  display: flex;2150  align-items: center;2151  gap: 6px;2152}2153.peach-pwgen-compact-output {2154  flex: 1;2155  min-width: 0;2156  font-family: "IBM Plex Mono", monospace;2157  font-size: 11px;2158  font-weight: 400;2159  letter-spacing: 0.04em;2160  color: var(--peach-t0);2161  background: rgba(240, 232, 216, 0.04);2162  border: 1px solid var(--peach-t3);2163  border-radius: 5px;2164  padding: 5px 8px;2165  word-break: break-all;2166  line-height: 1.5;2167}2168.peach-pwgen-compact-controls {2169  display: flex;2170  align-items: center;2171  gap: 6px;2172}2173.peach-pwgen-compact-slider {2174  flex: 1;2175  min-width: 0;2176  height: 2px !important;2177}2178.peach-pwgen-compact-controls .peach-pwgen-len-num {2179  flex-shrink: 0;2180  min-width: 18px;2181  text-align: right;2182}2183.peach-pwgen-compact-pills {2184  display: flex;2185  gap: 3px;2186  flex-shrink: 0;2187}2188.peach-pwgen-compact-pills .peach-pwgen-pill {2189  padding: 2px 7px;2190  font-size: 8px;2191}2192.peach-pwgen-compact-use {2193  flex-shrink: 0;2194  font-size: 10px !important;2195  padding: 3px 9px !important;2196  min-height: 22px !important;2197  border-radius: 5px !important;2198}21992200/* ── Password edit row (input + eye toggle side-by-side) ── */2201.peach-password-edit-row {2202  display: flex;2203  align-items: center;2204  gap: 6px;2205}2206.peach-password-edit-row .peach-inline-input {2207  flex: 1;2208  min-width: 0;2209}22102211/* ── Generate toggle link ── */2212.peach-generate-toggle-link {2213  display: inline-flex;2214  align-items: center;2215  gap: 5px;2216  background: none;2217  border: none;2218  padding: 0;2219  cursor: pointer;2220  font-family: "IBM Plex Mono", monospace;2221  font-size: 10px;2222  color: var(--peach-t2);2223  letter-spacing: 0.04em;2224  transition: color 120ms ease;2225  align-self: flex-start;2226}2227.peach-generate-toggle-link:hover {2228  color: var(--peach-accent);2229}22302231/* ── New entry body (Add.tsx — mirrors .peach-stage) ─────────────────── */2232.peach-entry-body {2233  flex: 1;2234  overflow-y: auto;2235  overflow-x: hidden;2236  scrollbar-width: none;2237  -ms-overflow-style: none;2238  overscroll-behavior: contain;2239  display: grid;2240  gap: 10px;2241  align-content: start;2242  padding: 10px 20px 14px;2243  min-width: 0;2244  min-height: 0;2245}2246.peach-entry-body::-webkit-scrollbar { display: none; }22472248/* Type-toggle pills + inline note toolbar */2249.peach-new-type-row {2250  display: flex;2251  align-items: center;2252  gap: 6px;2253  margin-bottom: 2px;2254}2255.peach-new-type-btn {2256  background: transparent;2257  border: 1px solid var(--peach-t3);2258  border-radius: 12px;2259  padding: 3px 10px;2260  font-family: "IBM Plex Mono", monospace;2261  font-size: 9px;2262  letter-spacing: 0.12em;2263  text-transform: uppercase;2264  color: var(--peach-t2);2265  cursor: pointer;2266  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;2267}2268.peach-new-type-btn.is-active {2269  color: var(--peach-t0);2270  border-color: var(--peach-accent);2271  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2272}2273.peach-new-type-btn:not(.is-active):hover {2274  color: var(--peach-t1);2275  border-color: var(--peach-t2);2276}22772278/* Editable title */2279.peach-new-title-wrap { margin: 0 0 2px; }2280.peach-new-title-input {2281  background: transparent;2282  border: none;2283  outline: none;2284  width: 100%;2285  color: var(--peach-t0);2286  font-family: var(--font-display);2287  font-style: italic;2288  font-weight: 400;2289  font-size: 40px;2290  line-height: 0.95;2291  caret-color: var(--peach-accent);2292}2293.peach-new-title-input::placeholder { color: var(--peach-t2); }22942295/* Editable domain field */2296.peach-domain-value--edit {2297  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2298  font-size: 10px;2299  font-style: italic;2300  letter-spacing: 0.12em;2301  color: var(--peach-t1);2302  background: transparent;2303  border: none;2304  border-bottom: 1px solid var(--peach-t3);2305  outline: none;2306  width: 100%;2307  padding: 2px 0;2308  caret-color: var(--peach-accent);2309  transition: border-color 140ms ease, color 140ms ease;2310}2311.peach-domain-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2312.peach-domain-value--edit:focus {2313  border-bottom-color: rgba(240, 232, 216, 0.28);2314  color: var(--peach-t0);2315}23162317/* Editable field values (username, password, totp) */2318.peach-field-value--edit {2319  font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;2320  font-size: 13px;2321  color: var(--peach-t0);2322  background: transparent;2323  border: none;2324  border-bottom: 1px solid var(--peach-t3);2325  outline: none;2326  flex: 1;2327  min-width: 0;2328  padding: 3px 0;2329  caret-color: var(--peach-accent);2330  transition: border-color 140ms ease, color 140ms ease;2331}2332.peach-field-value--edit::placeholder { color: var(--peach-t2); opacity: 0.6; }2333.peach-field-value--edit[type="password"] { letter-spacing: 0.12em; }2334.peach-field-value--edit:focus {2335  border-bottom-color: rgba(240, 232, 216, 0.28);2336  color: var(--peach-t0);2337}23382339/* "+ add optional field" links */2340.peach-entry-add-links {2341  display: flex;2342  gap: 12px;2343  flex-wrap: wrap;2344  margin-top: -2px;2345}2346.peach-add-field-link {2347  background: transparent;2348  border: none;2349  padding: 0;2350  cursor: pointer;2351  font-family: "IBM Plex Mono", monospace;2352  font-size: 9px;2353  letter-spacing: 0.1em;2354  text-transform: uppercase;2355  color: var(--peach-t2);2356  transition: color 140ms ease;2357}2358.peach-add-field-link:hover { color: var(--peach-accent); }23592360/* ── New entry form (legacy classes) ────────────────────────────────── */2361.peach-new-body {2362  flex: 1;2363  overflow-y: auto;2364  padding: 10px 20px 14px;2365}2366.peach-new-name-input {2367  background: transparent;2368  border: none;2369  outline: none;2370  width: 100%;2371  color: var(--peach-t0);2372  font-family: var(--font-display);2373  font-style: italic;2374  font-weight: 400;2375  font-size: 40px;2376  line-height: 0.95;2377  caret-color: var(--peach-accent);2378}2379.peach-new-name-input::placeholder { color: var(--peach-t2); }2380.peach-new-field-input {2381  background: transparent;2382  border: none;2383  outline: none;2384  flex: 1;2385  min-width: 0;2386  caret-color: var(--peach-accent);2387}2388.peach-new-field-input::placeholder { color: var(--peach-t2); opacity: 0.7; }23892390/* ── Canary card ── */2391.peach-canary-card {2392  border: 1px solid rgba(217, 160, 48, 0.2);2393  background: rgba(217, 160, 48, 0.03);2394  border-radius: 8px;2395  padding: 12px;2396}23972398.peach-canary-settings-header {2399  display: flex;2400  align-items: center;2401  justify-content: space-between;2402  cursor: pointer;2403  user-select: none;2404}24052406.peach-canary-card .peach-label {2407  color: rgba(217, 160, 48, 0.85);2408}24092410.peach-canary-card .peach-new-field-input {2411  border-color: rgba(217, 160, 48, 0.25);2412}24132414.peach-canary-card .peach-new-field-input:focus {2415  border-color: rgba(217, 160, 48, 0.5);2416}24172418.peach-canary-body {2419  margin-top: 12px;2420  display: flex;2421  flex-direction: column;2422  gap: 10px;2423}24242425.peach-canary-explainer {2426  display: flex;2427  gap: 10px;2428  padding: 10px 12px;2429  border-radius: 10px;2430  background: rgba(217, 160, 48, 0.06);2431  border: 1px solid rgba(217, 160, 48, 0.22);2432  margin-bottom: 4px;2433}24342435.peach-canary-explainer-icon {2436  font-size: 16px;2437  flex-shrink: 0;2438  line-height: 1.2;2439}24402441.peach-canary-explainer-title {2442  font-family: var(--font-ui);2443  font-size: 11px;2444  font-weight: 500;2445  color: rgba(217, 160, 48, 0.9);2446  margin: 0 0 3px;2447}24482449.peach-canary-explainer-copy {2450  font-family: var(--font-ui);2451  font-size: 10px;2452  color: var(--peach-t2);2453  line-height: 1.55;2454  margin: 0;2455}24562457.peach-canary-hint {2458  font-size: 10px;2459  color: var(--peach-t2);2460  font-family: Inter, system-ui, sans-serif;2461  line-height: 1.5;2462  margin-top: 4px;2463}24642465.peach-canary-actions-row {2466  display: flex;2467  align-items: center;2468  gap: 8px;2469}24702471.peach-canary-test-btn {2472  border-color: rgba(217, 160, 48, 0.3);2473  color: rgba(217, 160, 48, 0.85);2474}24752476.peach-canary-test-result {2477  font-size: 10px;2478  font-family: Inter, system-ui, sans-serif;2479}24802481.peach-canary-test-result.ok { color: rgba(100, 210, 100, 0.9); }2482.peach-canary-test-result.err { color: rgba(220, 80, 60, 0.9); }24832484.peach-canary-badge {2485  display: flex;2486  position: relative;2487  z-index: 1;2488  align-items: center;2489  gap: 5px;2490  padding: 4px 10px;2491  background: rgba(217, 160, 48, 0.12);2492  border: 1px solid rgba(217, 160, 48, 0.35);2493  border-radius: 6px;2494  margin-bottom: 6px;2495  width: fit-content;2496}24972498.peach-canary-badge-label {2499  font-size: 10px;2500  letter-spacing: 0.06em;2501  color: rgba(217, 160, 48, 0.9);2502  font-family: var(--font-ui);2503  text-transform: uppercase;2504}25052506.peach-canary-badge-icon {2507  font-size: 11px;2508}25092510.peach-canary-suppress-row {2511  display: flex;2512  align-items: center;2513  gap: 8px;2514  padding: 6px 10px;2515  background: rgba(217, 160, 48, 0.08);2516  border-radius: 6px;2517  margin-bottom: 8px;2518}25192520.peach-canary-suppress-label {2521  font-size: 11px;2522  color: rgba(217, 160, 48, 0.85);2523  cursor: pointer;2524  font-family: var(--font-ui);2525  letter-spacing: 0.04em;2526}25272528.peach-regen-panel {2529  position: relative;2530  z-index: 1;2531  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);2532  border: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);2533  border-radius: 8px;2534  padding: 12px;2535  margin-bottom: 8px;2536}25372538.peach-regen-panel-header {2539  display: flex;2540  align-items: center;2541  justify-content: space-between;2542  margin-bottom: 10px;2543}25442545.peach-regen-panel-title {2546  font-size: 11px;2547  font-weight: 600;2548  letter-spacing: 0.06em;2549  text-transform: uppercase;2550  color: color-mix(in srgb, var(--peach-accent) 90%, transparent);2551}25522553.peach-regen-output {2554  background: rgba(0, 0, 0, 0.2);2555  border-radius: 6px;2556  padding: 10px;2557  margin-bottom: 10px;2558  font-family: var(--font-mono);2559  font-size: 13px;2560  word-break: break-all;2561  color: var(--peach-t1);2562}25632564.peach-regen-actions {2565  display: flex;2566  gap: 6px;2567}25682569.peach-regen-actions--spaced {2570  margin-bottom: 8px;2571}25722573.peach-regen-action-grow {2574  flex: 1;2575}25762577.peach-regen-copy-btn {2578  padding: 0 8px;2579}25802581.peach-regen-success {2582  position: relative;2583  z-index: 1;2584  background: rgba(40, 180, 80, 0.1);2585  border: 1px solid rgba(40, 180, 80, 0.3);2586  border-radius: 8px;2587  padding: 10px 12px;2588  margin-bottom: 8px;2589  display: flex;2590  align-items: center;2591  gap: 8px;2592  font-size: 11px;2593  color: rgba(40, 180, 80, 0.9);2594}25952596/* ── Note editor overlay ── */2597.peach-note-editor {2598  position: absolute;2599  inset: 0;2600  z-index: 200;2601  display: flex;2602  flex-direction: column;2603  background:2604    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 7%, transparent) 0%, transparent 65%),2605    var(--peach-bg);2606  animation: overlay-in 180ms cubic-bezier(0.4, 0, 0.2, 1) both;2607}26082609.peach-note-editor-header {2610  display: flex;2611  align-items: center;2612  gap: 10px;2613  padding: 14px 16px 10px;2614  border-bottom: 1px solid var(--peach-t3);2615  flex-shrink: 0;2616}26172618.peach-note-editor-back {2619  background: transparent;2620  border: none;2621  cursor: pointer;2622  color: var(--peach-t2);2623  padding: 4px 6px;2624  border-radius: 6px;2625  display: flex;2626  align-items: center;2627  transition: color 120ms ease, background 120ms ease;2628  flex-shrink: 0;2629}2630.peach-note-editor-back:hover { color: var(--peach-t0); background: var(--peach-t4); }26312632.peach-note-editor-label {2633  flex: 1;2634  font-family: var(--font-display);2635  font-style: italic;2636  font-size: 15px;2637  color: var(--peach-t1);2638  letter-spacing: 0.02em;2639}26402641.peach-note-editor-save-btn {2642  background: transparent;2643  border: 1px solid color-mix(in srgb, var(--peach-accent) 40%, transparent);2644  border-radius: 8px;2645  color: var(--peach-accent);2646  font-family: "IBM Plex Mono", monospace;2647  font-size: 10px;2648  letter-spacing: 0.06em;2649  text-transform: uppercase;2650  padding: 3px 10px;2651  cursor: pointer;2652  transition: background 120ms ease, border-color 120ms ease;2653}2654.peach-note-editor-save-btn:hover:not(:disabled) {2655  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);2656  border-color: color-mix(in srgb, var(--peach-accent) 65%, transparent);2657}2658.peach-note-editor-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }26592660.peach-note-toolbar {2661  display: flex;2662  align-items: center;2663  gap: 3px;2664  padding: 6px 14px 5px;2665  border-bottom: 1px solid var(--peach-t3);2666  flex-shrink: 0;2667}26682669.peach-note-tool-btn {2670  background: transparent;2671  border: 1px solid transparent;2672  border-radius: 5px;2673  color: var(--peach-t2);2674  font-family: "IBM Plex Mono", monospace;2675  font-size: 10px;2676  letter-spacing: 0.04em;2677  padding: 2px 8px;2678  cursor: pointer;2679  line-height: 1.6;2680  transition: background 100ms ease, color 100ms ease, border-color 100ms ease;2681}2682.peach-note-tool-btn:hover {2683  background: var(--peach-t4);2684  color: var(--peach-t0);2685  border-color: var(--peach-t3);2686}26872688.peach-note-tool-icon {2689  padding: 3px 7px;2690  display: inline-flex;2691  align-items: center;2692  justify-content: center;2693}26942695.peach-note-tool-divider {2696  width: 1px;2697  height: 14px;2698  background: var(--peach-t3);2699  margin: 0 4px;2700  flex-shrink: 0;2701}27022703.peach-note-editor-body {2704  flex: 1;2705  overflow-y: auto;2706  padding: 16px 20px 20px;2707  outline: none;2708  font-family: var(--font-display);2709  font-size: 16px;2710  line-height: 1.75;2711  color: var(--peach-t0);2712  scrollbar-width: none;2713  word-break: break-word;2714}2715.peach-note-editor-body:empty::before {2716  content: "write your note…";2717  color: var(--peach-t3);2718  font-style: italic;2719  pointer-events: none;2720}27212722/* Inline variant (Add.tsx, Entry.tsx note) — toolbar hoisted to parent row */2723.peach-note-editor-inline {2724  display: flex;2725  flex-direction: column;2726  flex: 1;2727  min-height: 0;2728}2729.peach-note-editor-body--inline {2730  flex: 1;2731  min-height: 0;2732  font-size: 15px;2733  padding: 10px 20px 14px;2734}27352736/* Full-width toolbar row inside the body (Add.tsx note type).2737   Negative horizontal margins cancel body padding so the border spans edge-to-edge. */2738.peach-note-toolbar-body {2739  display: flex;2740  align-items: center;2741  gap: 3px;2742  padding: 5px 20px 4px;2743  margin: 2px -20px 0;2744  border-bottom: 1px solid var(--peach-t3);2745  flex-shrink: 0;2746}27472748/* Right-aligned inline toolbar sitting inside .peach-new-type-row (Add.tsx)2749   or .peach-entry-note-toolbar-row (Entry.tsx). Reuses .peach-note-tool-btn2750   and .peach-note-tool-divider button-level styles. */2751.peach-note-toolbar-inline {2752  display: flex;2753  align-items: center;2754  gap: 3px;2755  margin-left: auto;2756  padding-left: 10px;2757  border-left: 1px solid var(--peach-t3);2758  min-height: 22px;2759}27602761/* Entry.tsx toolbar row (no tabs, toolbar only) */2762.peach-entry-note-toolbar-row {2763  display: flex;2764  align-items: center;2765  margin: 4px 0 6px;2766  position: relative;2767  z-index: 1;2768}2769.peach-entry-note-toolbar-row .peach-note-toolbar-inline {2770  border-left: none;2771  padding-left: 0;2772  margin-left: 0;2773}27742775/* Note body — fills available vertical space in Add.tsx and Entry.tsx */2776.peach-note-body {2777  display: flex;2778  flex-direction: column;2779  flex: 1;2780  min-height: 0;2781  margin: 4px 0 0;2782}2783.peach-entry-body--new .peach-note-body {2784  margin: 8px -20px 0;2785}27862787/* Add.tsx body is a grid by default; swap to a flex column when a note is2788   active so the note body can stretch and pin the tags row to the bottom. */2789.peach-entry-body--new:has(.peach-note-body) {2790  display: flex;2791  flex-direction: column;2792}27932794/* Rich content element styles (editor + display) */2795.peach-note-editor-body h2,2796.peach-note-content h2 {2797  font-family: var(--font-display);2798  font-size: 20px;2799  font-weight: 600;2800  font-style: italic;2801  color: var(--peach-t0);2802  margin: 6px 0 2px;2803  line-height: 1.3;2804}2805.peach-note-editor-body ul,2806.peach-note-content ul {2807  padding-left: 18px;2808  margin: 3px 0;2809  list-style: disc;2810}2811.peach-note-editor-body ol,2812.peach-note-content ol {2813  padding-left: 18px;2814  margin: 3px 0;2815  list-style: decimal;2816}2817.peach-note-editor-body li,2818.peach-note-content li { margin: 2px 0; }2819.peach-note-editor-body hr,2820.peach-note-content hr {2821  border: none;2822  border-top: 1px solid var(--peach-t3);2823  margin: 10px 0;2824}28252826/* font size elements from execCommand */2827.peach-note-editor-body font[size="1"],2828.peach-note-content font[size="1"] { font-size: 11px; line-height: 1.6; }2829.peach-note-editor-body font[size="2"],2830.peach-note-content font[size="2"] { font-size: 13px; }2831.peach-note-editor-body font[size="3"],2832.peach-note-content font[size="3"] { font-size: 16px; }2833.peach-note-editor-body font[size="4"],2834.peach-note-content font[size="4"] { font-size: 20px; }2835.peach-note-editor-body font[size="5"],2836.peach-note-content font[size="5"] { font-size: 26px; line-height: 1.4; }28372838/* bold / italic inside the editor and note display */2839.peach-note-editor-body b, .peach-note-editor-body strong,2840.peach-note-content b, .peach-note-content strong { font-weight: 700; }2841.peach-note-editor-body em, .peach-note-editor-body i,2842.peach-note-content em, .peach-note-content i { font-style: italic; }28432844/* note display — rendered HTML, no pre-wrap */2845.peach-note-content {2846  overflow: auto;2847  max-height: 340px;2848  word-break: break-word;2849}28502851/* ── Note textarea ── */2852.peach-note-textarea {2853  width: 100%;2854  min-height: 180px;2855  max-height: 280px;2856  resize: vertical;2857  background: var(--peach-t4);2858  border: 1px solid var(--peach-t3);2859  border-radius: 8px;2860  padding: 10px 12px;2861  font-family: "IBM Plex Mono", monospace;2862  font-size: 12px;2863  line-height: 1.7;2864  color: var(--peach-t1);2865  outline: none;2866  transition: border-color 150ms ease;2867}28682869.peach-note-textarea:focus {2870  border-color: var(--peach-t2);2871}28722873.peach-note-char-count {2874  font-family: "IBM Plex Mono", monospace;2875  font-size: 9px;2876  color: var(--peach-t3);2877  text-align: right;2878  margin-top: 4px;2879  letter-spacing: 0.1em;2880}28812882/* ── Field input baseline ── */2883.peach-new-field-input {2884  width: 100%;2885  background: transparent;2886  border: none;2887  border-bottom: 1px solid var(--peach-t3);2888  padding: 4px 0;2889  color: var(--peach-t1);2890  font-family: "IBM Plex Mono", monospace;2891  font-size: 13px;2892  outline: none;2893  transition: border-color 150ms ease;2894}28952896.peach-new-field-input:focus {2897  border-bottom-color: var(--peach-t0);2898  color: var(--peach-t0);2899}29002901.peach-new-name-input {2902  width: 100%;2903  background: transparent;2904  border: none;2905  border-bottom: 1px solid var(--peach-t3);2906  padding: 6px 0;2907  font-family: var(--font-display);2908  font-style: italic;2909  font-size: 28px;2910  color: var(--peach-t0);2911  outline: none;2912  transition: border-color 150ms ease;2913}29142915.peach-new-name-input:focus {2916  border-bottom-color: var(--peach-t1);2917}29182919.peach-new-name-input::placeholder {2920  color: var(--peach-t2);2921  font-style: italic;2922}29232924.peach-new-field-input::placeholder {2925  color: var(--peach-t3);2926}29272928/* ── Demo entrance animation ── */2929#hd-shell {2930  animation: hd-shell-enter 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 200ms both;2931}2932@keyframes hd-shell-enter {2933  from { opacity: 0; transform: scale(0.96) translateY(16px); }2934  to   { opacity: 1; transform: scale(1) translateY(0); }2935}29362937/* ── Keyframes ── */2938@keyframes peach-char-enter {2939  from { opacity: 0; transform: translateY(0.22em); }2940  to   { opacity: 1; transform: translateY(0); }2941}2942@keyframes peach-content-enter {2943  from { opacity: 0.96; transform: translateY(4px); }2944  to   { opacity: 1; transform: translateY(0); }2945}2946@keyframes peach-content-exit {2947  from { opacity: 1; transform: translateY(0); }2948  to   { opacity: 0.92; transform: translateY(-3px); }2949}2950@keyframes peach-screen-enter {2951  from { opacity: 0; transform: translateY(14px); }2952  to   { opacity: 1; transform: translateY(0); }2953}2954@keyframes peach-shell-fade-in {2955  from { opacity: 0; }2956  to   { opacity: 1; }2957}2958@keyframes peach-veil-in {2959  from { opacity: 0; }2960  to   { opacity: 1; }2961}2962@keyframes peach-lock-settle {2963  0%   { transform: scale(0.9); }2964  65%  { transform: scale(1.08); }2965  100% { transform: scale(1); }2966}2967@keyframes peach-copy-confirm {2968  from { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2969  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); }2970}2971@keyframes peach-copy-retreat {2972  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); }2973  to   { color: var(--peach-t2); border-color: var(--peach-t3); background-color: transparent; box-shadow: none; }2974}2975@keyframes peach-copy-flood {2976  from { opacity: 0; transform: scaleX(0.15); }2977  to   { opacity: 1; transform: scaleX(1); }2978}2979@keyframes peach-copy-icon-settle {2980  from  { transform: scale(0.84); }2981  70%   { transform: scale(1.08); }2982  to    { transform: scale(1); }2983}2984@keyframes peach-copy-sheen-retreat {2985  from { opacity: 1; transform: scaleX(1); }2986  to   { opacity: 0; transform: scaleX(0.15); }2987}2988@keyframes peach-copy-drain {2989  from { width: 100%; }2990  to   { width: 0; }2991}2992@keyframes peach-shake {2993  0%, 100% { transform: translateX(0); }2994  20%      { transform: translateX(-6px); }2995  40%      { transform: translateX(6px); }2996  60%      { transform: translateX(-4px); }2997  80%      { transform: translateX(4px); }2998}29993000@keyframes pip-pulse {3001  0% { transform: scale(1); }3002  40% { transform: scale(2.2); }3003  100% { transform: scale(1); }3004}300530063007/* ── Password generator ── */3008.peach-pwgen-body {3009  flex: 1; overflow-y: auto;3010  display: flex; flex-direction: column;3011}3012.peach-policy-badge {3013  display: flex; align-items: center;3014  padding: 6px 20px 0;3015  font-size: 10px; font-family: Inter, sans-serif;3016  color: var(--peach-t2); letter-spacing: 0.04em;3017}3018.peach-pwgen-display {3019  padding: 14px 20px 12px;3020  border-bottom: 1px solid var(--peach-t3);3021  display: flex; align-items: flex-start; gap: 10px;3022}3023.peach-pwgen-display-row {3024  display: flex;3025  align-items: flex-start;3026  gap: 8px;3027  padding-bottom: 8px;3028  border-bottom: 1px solid var(--peach-t3);3029}3030.peach-pwgen-output {3031  flex: 1; min-width: 0; margin: 0;3032  font-family: "IBM Plex Mono", monospace;3033  font-size: 13px; color: var(--peach-t0);3034  line-height: 1.6; word-break: break-all; overflow-wrap: break-word;3035  white-space: normal;3036  padding: 10px 12px;3037  background: var(--peach-t4);3038  border-radius: 6px;3039  min-height: 36px;3040}3041.peach-pwgen-output-display {3042  flex: 1;3043  min-width: 0;3044  margin: 0;3045  font-family: var(--font-display);3046  font-style: italic;3047  font-weight: 300;3048  font-size: 32px;3049  line-height: 1.05;3050  color: var(--peach-t0);3051  word-break: break-all;3052  overflow-wrap: break-word;3053  white-space: normal;3054  letter-spacing: 0.02em;3055}3056.peach-pwgen-display-actions {3057  display: flex;3058  flex-direction: column;3059  gap: 4px;3060  flex-shrink: 0;3061  margin-top: 2px;3062}3063.peach-pwgen-settings { padding: 12px 20px 14px; display: flex; flex-direction: column; gap: 14px; }3064.peach-pwgen-length-row { display: flex; flex-direction: column; gap: 6px; }3065.peach-pwgen-length-labels { display: flex; justify-content: space-between; align-items: center; }3066.peach-pwgen-len-num {3067  font-family: "IBM Plex Mono", monospace;3068  font-size: 12px; color: var(--peach-accent);3069}3070.peach-pwgen-slider { width: 100%; accent-color: var(--peach-accent); cursor: pointer; height: 2px; }3071.peach-pwgen-toggles { display: flex; flex-direction: column; }3072.peach-pwgen-charset-pills {3073  display: flex;3074  gap: 6px;3075  flex-wrap: wrap;3076}3077.peach-pwgen-pill {3078  padding: 4px 11px;3079  border-radius: 999px;3080  border: 1px solid var(--peach-t3);3081  background: transparent;3082  color: var(--peach-t2);3083  font-family: "IBM Plex Mono", monospace;3084  font-size: 9px;3085  letter-spacing: 0.08em;3086  cursor: pointer;3087  transition: all 150ms ease;3088}3089.peach-pwgen-pill.is-on {3090  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);3091  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);3092  color: var(--peach-accent);3093}3094.peach-pwgen-pill:not(.is-on):hover {3095  color: var(--peach-t1);3096  border-color: var(--peach-t2);3097}3098.peach-pwgen-use-btn {3099  width: 100%;3100  min-height: 34px;3101  border-radius: 8px;3102  margin-top: 2px;3103}3104.peach-pwgen-toggle-row {3105  display: flex; align-items: center; justify-content: space-between;3106  padding: 6px 0; border-bottom: 1px solid var(--peach-t3);3107}3108.peach-pwgen-toggle-row:last-child { border-bottom: none; }3109.peach-pwgen-toggle-label { font-size: 13px; color: var(--peach-t1); }31103111.peach-screen-prelock {3112  z-index: 10;3113}31143115.prelock-form {3116  display: grid;3117  gap: 12px;3118}31193120/* Peach popup should not expose native scrollbars on internal panels. */3121.peach-settings-body,3122.peach-new-body,3123.peach-pwgen-body,3124.lock-screen,3125.peach-import-preview {3126  scrollbar-width: none;3127  -ms-overflow-style: none;3128  overscroll-behavior: contain;3129}3130.peach-settings-body::-webkit-scrollbar,3131.peach-new-body::-webkit-scrollbar,3132.peach-pwgen-body::-webkit-scrollbar,3133.lock-screen::-webkit-scrollbar,3134.peach-import-preview::-webkit-scrollbar {3135  width: 0;3136  height: 0;3137  display: none;3138}31393140.lock-screen {3141  height: 100%;3142  min-height: 100%;3143  overflow-y: auto;3144  padding: 18px 18px 16px;3145  gap: 14px;3146  grid-template-rows: auto auto auto 1fr auto;3147  align-content: stretch;3148  position: relative;3149  isolation: isolate;3150}3151.peach-screen.lock-screen--vault-stage {3152  display: flex;3153  flex-direction: column;3154  justify-content: flex-start;3155  gap: 18px;3156  padding: 20px 18px 18px;3157  overflow: hidden;3158}3159.peach-screen.lock-screen--vault-stage .peach-lock-panel {3160  margin-top: 0;3161}3162.lock-screen--onboarding {3163  display: flex;3164  flex-direction: column;3165  gap: 12px;3166  justify-content: flex-start;3167}31683169.lock-screen::before {3170  content: "";3171  position: absolute;3172  inset: 12px 18px auto auto;3173  width: 160px;3174  height: 160px;3175  border-radius: 999px;3176  background:3177    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%);3178  filter: blur(6px);3179  opacity: 0.7;3180  pointer-events: none;3181  z-index: 0;3182}31833184.peach-lock-rune-string {3185  flex: 1;3186  display: flex;3187  align-items: center;3188  justify-content: center;3189  gap: 6px;3190  font-family: PeachScript, monospace;3191  font-size: 13px;3192  letter-spacing: 0.05em;3193  pointer-events: none;3194  user-select: none;3195  position: relative;3196  z-index: 1;3197}31983199.peach-lock-rune-string span {3200  color: color-mix(in srgb, var(--peach-t0) 12%, transparent);3201  text-shadow:3202    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent),3203    0 0 0 color-mix(in srgb, var(--peach-accent) 0%, transparent);3204  transition: color 0.9s ease, text-shadow 0.9s ease;3205}32063207.peach-lock-rune-string span.is-glowing {3208  color: color-mix(in srgb, var(--peach-accent) 65%, transparent);3209  text-shadow:3210    0 0 8px color-mix(in srgb, var(--peach-accent) 50%, transparent),3211    0 0 20px color-mix(in srgb, var(--peach-accent) 22%, transparent);3212}32133214.lock-screen-header {3215  display: flex;3216  align-items: center;3217  justify-content: space-between;3218  position: relative;3219  z-index: 1;3220}32213222.lock-password-input.shake {3223  animation: peach-shake 300ms ease-in-out;3224}32253226.peach-hint-error {3227  color: rgba(220, 80, 60, 0.92);3228}32293230.peach-onboarding-headline {3231  margin: 0;3232  font-family: var(--font-display);3233  font-size: 35px;3234  line-height: 0.88;3235  font-style: italic;3236  font-weight: 400;3237  max-width: 252px;3238}32393240.peach-lock-copy {3241  display: grid;3242  gap: 8px;3243  position: relative;3244  z-index: 1;3245}32463247.peach-lock-copy--onboarding {3248  gap: 10px;3249}32503251.peach-lock-hero {3252  position: relative;3253  z-index: 1;3254  display: grid;3255  gap: 8px;3256  min-height: 0;3257  padding: 4px 2px 0;3258  border: none;3259  border-radius: 0;3260  background: transparent;3261  box-shadow: none;3262}3263.peach-lock-hero-art {3264  position: absolute;3265  right: -8px;3266  top: -6px;3267  width: 120px;3268  height: 120px;3269  display: flex;3270  align-items: center;3271  justify-content: center;3272  pointer-events: none;3273  opacity: 0.12;3274  filter: saturate(0.9);3275}3276.peach-lock-hero-mark {3277  width: 100%;3278  height: 100%;3279}3280/* Peach body stays brand-peach across every accent — we don't want a3281   green or blue peach when sage/sky is selected. Leaf + stem keep the3282   sage tint because a real peach has a sage leaf. */3283.peach-lock-hero-mark path:nth-child(2),3284.peach-lock-hero-mark path:nth-child(3) {3285  stroke: rgba(123, 144, 96, 0.88);3286  fill: rgba(123, 144, 96, 0.88);3287}3288.peach-lock-hero > *:not(.peach-lock-hero-art) {3289  position: relative;3290  z-index: 1;3291}32923293.peach-lock-eyebrow {3294  display: inline-flex;3295  align-items: center;3296  width: fit-content;3297  padding: 4px 9px;3298  border-radius: 999px;3299  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);3300  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3301  color: var(--peach-t0);3302  font-family: "IBM Plex Mono", monospace;3303  font-size: 8px;3304  letter-spacing: 0.18em;3305  text-transform: uppercase;3306}33073308.peach-lock-label-row {3309  display: flex;3310  align-items: center;3311  justify-content: space-between;3312  margin-bottom: 0;3313}33143315.peach-lock-reveal-btn {3316  display: inline-flex;3317  align-items: center;3318  gap: 4px;3319  background: none;3320  border: none;3321  cursor: pointer;3322  font-family: "IBM Plex Mono", monospace;3323  font-size: 9px;3324  letter-spacing: 0.06em;3325  color: var(--peach-t2);3326  padding: 2px 0;3327  transition: color 150ms ease;3328}33293330.peach-lock-reveal-btn:hover {3331  color: var(--peach-t1);3332}33333334.peach-lock-warning {3335  color: rgba(220, 80, 60, 0.85) !important;3336  line-height: 1.5;3337}33383339.peach-onboarding-cards {3340  display: grid;3341  gap: 8px;3342  position: relative;3343  z-index: 1;3344}33453346.peach-lock-panel {3347  position: relative;3348  z-index: 1;3349  display: grid;3350  gap: 9px;3351  padding: 14px 16px 15px;3352  border-radius: 18px;3353  border: 1px solid var(--peach-t3);3354  background:3355    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));3356  box-shadow:3357    inset 0 1px 0 rgba(240, 232, 216, 0.04),3358    0 12px 28px rgba(0, 0, 0, 0.12);3359}33603361/* Glass surface — lock panel and settings groups */3362.peach-glass {3363  background: rgba(26, 20, 16, 0.65);3364  border: 1px solid rgba(255, 255, 255, 0.08);3365  border-radius: 12px;3366  backdrop-filter: blur(12px) saturate(1.4);3367  -webkit-backdrop-filter: blur(12px) saturate(1.4);3368}33693370@supports not (backdrop-filter: blur(1px)) {3371  .peach-glass {3372    background: rgba(26, 20, 16, 0.92);3373    border: 1px solid rgba(255, 255, 255, 0.10);3374    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 24px rgba(0, 0, 0, 0.4);3375  }3376}33773378.light .peach-glass,3379[data-theme="light"] .peach-glass {3380  background: rgba(253, 248, 244, 0.70);3381  border: 1px solid rgba(0, 0, 0, 0.07);3382  backdrop-filter: blur(12px) saturate(1.2);3383  -webkit-backdrop-filter: blur(12px) saturate(1.2);3384}33853386@supports not (backdrop-filter: blur(1px)) {3387  .light .peach-glass,3388  [data-theme="light"] .peach-glass {3389    background: rgba(253, 248, 244, 0.95);3390    border: 1px solid rgba(0, 0, 0, 0.09);3391  }3392}33933394/* Lock panel keeps its own border-radius over the generic glass token */3395.peach-lock-panel.peach-glass {3396  border-radius: 18px;3397  background: rgba(26, 20, 16, 0.65);3398  border: 1px solid rgba(255, 255, 255, 0.08);3399  box-shadow:3400    inset 0 1px 0 rgba(255, 255, 255, 0.05),3401    0 12px 28px rgba(0, 0, 0, 0.3);3402}34033404.light .peach-lock-panel.peach-glass,3405[data-theme="light"] .peach-lock-panel.peach-glass {3406  background: rgba(238, 227, 204, 0.75);3407  border: 1px solid rgba(34, 24, 9, 0.10);3408  box-shadow:3409    inset 0 1px 0 rgba(255, 255, 255, 0.5),3410    0 8px 24px rgba(80, 56, 32, 0.15);3411}34123413@supports not (backdrop-filter: blur(1px)) {3414  .peach-lock-panel.peach-glass {3415    background: rgba(26, 20, 16, 0.92);3416    box-shadow:3417      inset 0 1px 0 rgba(255, 255, 255, 0.05),3418      0 12px 28px rgba(0, 0, 0, 0.4);3419  }3420  .light .peach-lock-panel.peach-glass,3421  [data-theme="light"] .peach-lock-panel.peach-glass {3422    background: rgba(238, 227, 204, 0.96);3423  }3424}34253426.peach-lock-panel--secondary {3427  gap: 12px;3428}34293430.peach-lock-panel-header {3431  display: flex;3432  align-items: baseline;3433  justify-content: space-between;3434  gap: 12px;3435}34363437.peach-lock-option-grid {3438  display: grid;3439  gap: 10px;3440}34413442.peach-lock-option {3443  width: 100%;3444  display: grid;3445  gap: 6px;3446  padding: 14px 15px;3447  border-radius: 16px;3448  border: 1px solid rgba(240, 232, 216, 0.08);3449  background: rgba(240, 232, 216, 0.02);3450  color: var(--peach-t0);3451  text-align: left;3452  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;3453}34543455.peach-lock-option:hover {3456  border-color: color-mix(in srgb, var(--peach-accent) 28%, transparent);3457  background: rgba(240, 232, 216, 0.04);3458  transform: translateY(-1px);3459}34603461.peach-lock-option-title {3462  font-size: 12px;3463  color: var(--peach-t0);3464}34653466.peach-lock-option-copy {3467  font-size: 11px;3468  line-height: 1.55;3469  color: var(--peach-t1);3470}34713472.peach-onboarding-stack {3473  margin-top: 2px;3474}3475.peach-lock-panel-footer {3476  display: grid;3477  gap: 6px;3478  margin-top: 2px;3479  padding-top: 10px;3480  border-top: 1px solid rgba(240, 232, 216, 0.06);3481}34823483/* Restore picker panel — method option cards */3484.peach-lock-panel--restore {3485  gap: 10px;3486}3487.peach-lock-option--history {3488  border-color: rgba(240, 232, 216, 0.06);3489  opacity: 0.85;3490}34913492/* Snapshot restore panel */3493.peach-snapshot-panel {3494  gap: 10px;3495  overflow-y: auto;3496  max-height: 340px;3497}3498.peach-snapshot-list {3499  display: flex;3500  flex-direction: column;3501  gap: 4px;3502}3503.peach-snapshot-row {3504  display: flex;3505  align-items: center;3506  justify-content: space-between;3507  width: 100%;3508  padding: 8px 10px;3509  border-radius: 8px;3510  border: 1px solid rgba(240, 232, 216, 0.07);3511  background: transparent;3512  cursor: pointer;3513  transition: border-color 120ms, background 120ms;3514  text-align: left;3515  gap: 8px;3516}3517.peach-snapshot-row:hover {3518  border-color: rgba(240, 232, 216, 0.14);3519  background: rgba(240, 232, 216, 0.03);3520}3521.peach-snapshot-row.is-selected {3522  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3523  background: color-mix(in srgb, var(--peach-accent) 7%, transparent);3524}3525.peach-snapshot-time {3526  font-size: 11.5px;3527  color: var(--peach-t0);3528  flex: 1;3529}3530.peach-snapshot-count {3531  font-family: "IBM Plex Mono", monospace;3532  font-size: 10px;3533  color: var(--peach-t2);3534  flex-shrink: 0;3535}3536.peach-snapshot-confirm {3537  display: flex;3538  flex-direction: column;3539  gap: 8px;3540  padding-top: 10px;3541  border-top: 1px solid rgba(240, 232, 216, 0.06);3542}3543.peach-snapshot-warning {3544  display: flex;3545  align-items: flex-start;3546  gap: 6px;3547  font-size: 10.5px;3548  color: rgba(220, 80, 60, 0.85);3549  line-height: 1.55;3550}3551.peach-snapshot-warning svg { flex-shrink: 0; margin-top: 2px; }3552.peach-snapshot-confirm-row {3553  display: flex;3554  gap: 6px;3555  align-items: center;3556}3557.peach-snapshot-restore-btn {3558  width: 100%;3559}3560.peach-lock-hero--unlock .peach-lock-hero-art {3561  width: 112px;3562  height: 112px;3563  right: 0;3564  top: 2px;3565  opacity: 0.1;3566}35673568.peach-card {3569  border: 1px solid var(--peach-t3);3570  border-radius: 18px;3571  background:3572    linear-gradient(180deg, rgba(240, 232, 216, 0.03) 0%, rgba(240, 232, 216, 0.015) 100%);3573  box-shadow:3574    inset 0 0 0 1px var(--peach-border-accent),3575    inset 0 1px 0 rgba(240, 232, 216, 0.04),3576    0 12px 32px rgba(0, 0, 0, 0.14);3577  overflow: hidden;3578}35793580.peach-card-active {3581  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);3582  box-shadow:3583    inset 0 1px 0 rgba(240, 232, 216, 0.05),3584    0 16px 38px rgba(0, 0, 0, 0.18),3585    0 0 0 1px color-mix(in srgb, var(--peach-accent) 8%, transparent);3586}35873588.peach-card-disabled {3589  opacity: 0.72;3590}35913592.peach-card-header {3593  width: 100%;3594  padding: 13px 16px 11px;3595  background: transparent;3596  color: var(--peach-t0);3597  display: flex;3598  justify-content: space-between;3599  align-items: center;3600  text-align: left;3601  font-size: 12px;3602}36033604.peach-card-body {3605  padding: 0 16px 16px;3606  display: grid;3607  gap: 9px;3608}36093610.peach-card-tag {3611  color: var(--peach-t2);3612  font-family: "IBM Plex Mono", monospace;3613  font-size: 9px;3614  letter-spacing: 0.12em;3615  text-transform: uppercase;3616}36173618.peach-empty-copy {3619  display: grid;3620  gap: 6px;3621  color: var(--peach-t1);3622  font-size: 13px;3623}36243625.peach-lock-submit {3626  width: 100%;3627  box-shadow:3628    0 1px 0 rgba(255,255,255,0.10) inset,3629    0 0 0 1px color-mix(in srgb, var(--peach-accent) 19%, transparent),3630    0 12px 32px color-mix(in srgb, var(--peach-accent) 19%, transparent),3631    0 0 48px color-mix(in srgb, var(--peach-accent) 10%, transparent);3632}36333634.peach-lock-secondary {3635  width: 100%;3636  border-color: var(--peach-t3);3637  background: rgba(240, 232, 216, 0.02);3638}36393640.peach-lock-secondary:hover {3641  background: rgba(240, 232, 216, 0.04);3642}36433644.peach-lock-note {3645  max-width: none;3646  line-height: 1.55;3647  margin: 0;3648}36493650.peach-overlay-action {3651  font-size: 10px;3652  padding: 4px 8px;3653  letter-spacing: 0.06em;3654  min-width: 44px;3655  text-align: center;3656}36573658.peach-overlay-spacer {3659  width: 32px;3660}36613662.peach-inline-action {3663  flex-shrink: 0;3664  font-size: 9px;3665  letter-spacing: 0.1em;3666  text-transform: uppercase;3667  padding: 4px 7px;3668}3669.peach-password-toggle-btn {3670  display: inline-flex;3671  align-items: center;3672  justify-content: center;3673  min-width: 30px;3674  min-height: 26px;3675  padding: 0 7px;3676  border: 1px solid var(--peach-t3);3677  border-radius: 999px;3678  background: rgba(240, 232, 216, 0.04);3679  color: var(--peach-t2);3680  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;3681}3682.peach-password-toggle-btn:hover {3683  border-color: var(--peach-t2);3684  color: var(--peach-t0);3685  background: rgba(240, 232, 216, 0.06);3686}36873688.peach-new-textarea {3689  width: 100%;3690  min-height: 88px;3691  resize: vertical;3692  border: 0;3693  outline: none;3694  background: transparent;3695  color: var(--peach-t1);3696  font-family: "IBM Plex Mono", monospace;3697  font-size: 12px;3698  line-height: 1.65;3699  caret-color: var(--peach-accent);3700}37013702.peach-new-textarea::placeholder {3703  color: var(--peach-t2);3704  opacity: 0.7;3705}37063707.peach-settings-actions {3708  display: grid;3709  gap: 8px;3710}37113712.peach-sync-section-label {3713  font-size: 11px;3714  color: var(--peach-t2);3715  text-transform: uppercase;3716  letter-spacing: 0.05em;3717}37183719.peach-sync-device-row {3720  display: flex;3721  justify-content: space-between;3722  align-items: center;3723  padding: 6px 0;3724  border-bottom: 1px solid var(--peach-t3);3725}37263727.peach-sync-device-info {3728  display: flex;3729  flex-direction: column;3730  gap: 2px;3731}37323733.peach-sync-device-name {3734  font-size: 13px;3735  color: var(--peach-t0);3736}37373738.peach-sync-device-meta {3739  font-size: 11px;3740  color: var(--peach-t2);3741}37423743.peach-sync-status-dot {3744  display: inline-block;3745  width: 8px;3746  height: 8px;3747  border-radius: 50%;3748  vertical-align: middle;3749}37503751.peach-sync-remove-btn {3752  color: var(--peach-breach);3753}37543755.peach-sync-hero-icon {3756  color: var(--peach-t1);3757  opacity: 0.85;3758}37593760.peach-import-preview {3761  margin-bottom: 12px;3762  max-height: 152px;3763  overflow-y: auto;3764  border: 1px solid var(--peach-t3);3765  border-radius: 10px;3766  padding: 8px 10px;3767  display: grid;3768  gap: 8px;3769  background: rgba(240, 232, 216, 0.02);3770}37713772.peach-import-preview-row {3773  display: flex;3774  justify-content: space-between;3775  gap: 10px;3776  font-size: 11px;3777  color: var(--peach-t1);3778}37793780.peach-import-preview-title {3781  color: var(--peach-t0);3782  flex: 1;3783  min-width: 0;3784  overflow: hidden;3785  text-overflow: ellipsis;3786  white-space: nowrap;3787}37883789.peach-import-preview-meta {3790  color: var(--peach-t2);3791  flex-shrink: 0;3792  max-width: 42%;3793  overflow: hidden;3794  text-overflow: ellipsis;3795  white-space: nowrap;3796}37973798.peach-import-preview-more {3799  color: var(--peach-t2);3800  font-size: 10px;3801}38023803.peach-restore-copy {3804  margin: 0;3805  color: var(--peach-t1);3806  font-size: 11px;3807  line-height: 1.6;3808}38093810.peach-restore-warning {3811  padding: 10px 12px;3812  border-radius: 12px;3813  border: 1px solid color-mix(in srgb, var(--peach-breach) 35%, transparent);3814  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3815  color: var(--peach-t0);3816  font-size: 11px;3817  line-height: 1.55;3818}38193820.peach-provider-chips {3821  display: flex;3822  flex-wrap: wrap;3823  gap: 6px;3824}38253826.peach-provider-chip {3827  display: inline-flex;3828  align-items: center;3829  padding: 5px 8px;3830  border-radius: 999px;3831  border: 1px solid var(--peach-t3);3832  background: rgba(240, 232, 216, 0.02);3833  color: var(--peach-t1);3834  font-family: "IBM Plex Mono", monospace;3835  font-size: 8px;3836  letter-spacing: 0.08em;3837  text-transform: uppercase;3838}38393840.peach-restore-file,3841.peach-restore-input {3842  width: 100%;3843  border-radius: 10px;3844  border: 1px solid var(--peach-t3);3845  background: var(--peach-s2);3846  color: var(--peach-t0);3847  font-size: 12px;3848}38493850.peach-restore-file {3851  padding: 9px 10px;3852}38533854.peach-restore-file::file-selector-button {3855  margin-right: 10px;3856  padding: 7px 10px;3857  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);3858  border-radius: 999px;3859  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);3860  color: var(--peach-t0);3861  font-size: 10px;3862  letter-spacing: 0.08em;3863  text-transform: uppercase;3864  cursor: pointer;3865}38663867.peach-restore-input {3868  padding: 10px 12px;3869}38703871.peach-auth-grid {3872  display: grid;3873  gap: 10px;3874}38753876.peach-import-summary {3877  color: var(--peach-t1);3878  font-size: 12px;3879  line-height: 1.6;3880  margin-bottom: 12px;3881}38823883.peach-restore-error {3884  color: rgba(220, 80, 60, 0.95);3885  font-size: 12px;3886  line-height: 1.55;3887}38883889.peach-passkey-card {3890  max-width: 400px;3891  margin: auto;3892}38933894.peach-pro-badge {3895  padding: 2px 6px;3896  border-radius: 999px;3897  font-family: var(--font-ui);3898  font-size: 10px;3899  letter-spacing: 0.08em;3900  text-transform: uppercase;3901  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3902  color: var(--peach-accent);3903}39043905/* ── Shortcuts rebind table ─────────────────────────────────── */3906.peach-shortcuts-group { display: flex; flex-direction: column; gap: 6px; }3907.peach-shortcut-row {3908  display: flex;3909  align-items: center;3910  gap: 10px;3911  padding: 6px 0;3912}3913.peach-shortcut-row-label {3914  flex: 1;3915  font-size: 12px;3916  color: var(--peach-t0);3917}3918.peach-shortcut-chip {3919  min-width: 64px;3920  padding: 4px 10px;3921  border-radius: 6px;3922  border: 1px solid var(--peach-t3);3923  background: var(--peach-input-bg, var(--surface-card));3924  color: var(--peach-t0);3925  font-family: var(--font-mono);3926  font-size: 11px;3927  letter-spacing: 0.04em;3928  cursor: pointer;3929  text-align: center;3930  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;3931}3932.peach-shortcut-chip:hover { border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent); }3933.peach-shortcut-chip.is-custom {3934  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);3935  color: var(--peach-accent);3936}3937.peach-shortcut-chip.is-capturing {3938  border-color: var(--peach-accent);3939  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);3940  color: var(--peach-accent);3941  animation: peach-shortcut-capture-pulse 1.4s ease-in-out infinite;3942}3943@keyframes peach-shortcut-capture-pulse {3944  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--peach-accent) 30%, transparent); }3945  50%      { box-shadow: 0 0 0 4px color-mix(in srgb, var(--peach-accent) 12%, transparent); }3946}3947.peach-shortcut-reset {3948  background: transparent;3949  border: none;3950  cursor: pointer;3951  color: var(--peach-t2);3952  padding: 4px 6px;3953  border-radius: 5px;3954  font-size: 14px;3955  line-height: 1;3956  transition: color 120ms ease, background 120ms ease;3957}3958.peach-shortcut-reset:hover {3959  color: var(--peach-t0);3960  background: color-mix(in srgb, var(--peach-text, var(--peach-t0)) 6%, transparent);3961}3962.peach-shortcuts-conflict {3963  margin: 4px 0 0;3964  padding: 8px 10px;3965  border-radius: 7px;3966  background: color-mix(in srgb, var(--peach-breach) 10%, transparent);3967  border: 1px solid color-mix(in srgb, var(--peach-breach) 30%, transparent);3968  font-family: var(--font-mono);3969  font-size: 11px;3970  color: var(--peach-t0);3971}39723973/* ── Help dialog overlay (? to open) ────────────────────────── */3974.peach-shortcuts-help-backdrop {3975  position: fixed;3976  inset: 0;3977  background: rgba(0, 0, 0, 0.55);3978  backdrop-filter: blur(2px);3979  display: flex;3980  align-items: center;3981  justify-content: center;3982  z-index: 1000;3983  animation: peach-help-fade-in 140ms ease forwards;3984}3985@keyframes peach-help-fade-in { from { opacity: 0 } to { opacity: 1 } }3986.peach-shortcuts-help-card {3987  width: min(320px, 92vw);3988  max-height: 80vh;3989  overflow-y: auto;3990  border-radius: 14px;3991  border: 1px solid var(--peach-t3);3992  background: var(--peach-bg);3993  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);3994  padding: 16px 18px 18px;3995  display: flex;3996  flex-direction: column;3997  gap: 12px;3998}3999.peach-shortcuts-help-head {4000  display: flex; align-items: center; justify-content: space-between;4001}4002.peach-shortcuts-help-head h3 {4003  margin: 0;4004  font-family: var(--font-display);4005  font-style: italic;4006  font-weight: 400;4007  font-size: 22px;4008  color: var(--peach-t0);4009}4010.peach-shortcuts-help-close {4011  background: transparent;4012  border: none;4013  color: var(--peach-t2);4014  cursor: pointer;4015  font-size: 14px;4016  padding: 4px 8px;4017  border-radius: 5px;4018}4019.peach-shortcuts-help-close:hover { color: var(--peach-t0); background: var(--surface-card); }4020.peach-shortcuts-help-body ul {4021  list-style: none; padding: 0; margin: 4px 0 12px;4022  display: grid; gap: 8px;4023}4024.peach-shortcuts-help-body li {4025  display: flex; align-items: center; justify-content: space-between; gap: 12px;4026  font-size: 12px; color: var(--peach-t0);4027}4028.peach-shortcuts-help-body kbd {4029  font-family: var(--font-mono);4030  font-size: 11px;4031  padding: 3px 8px;4032  border-radius: 6px;4033  background: var(--surface-card);4034  border: 1px solid var(--peach-t3);4035  color: var(--peach-accent);4036  letter-spacing: 0.04em;4037}40384039/* ── Pro promo on Account screen ────────────────────────────── */4040.peach-pro-promo {4041  position: relative;4042  border-radius: 14px;4043  border: 1px solid color-mix(in srgb, var(--peach-accent) 22%, transparent);4044  background:4045    radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--peach-accent) 10%, transparent) 0%, transparent 60%),4046    radial-gradient(85% 100% at 100% 100%, color-mix(in srgb, var(--peach-accent) 6%, transparent) 0%, transparent 65%),4047    var(--surface-card);4048  overflow: hidden;4049  margin-bottom: 14px;4050}4051.peach-pro-promo-glow {4052  position: absolute;4053  inset: -40% -20% auto auto;4054  width: 220px; height: 220px;4055  background: radial-gradient(closest-side, var(--peach-glow), transparent 70%);4056  pointer-events: none;4057  filter: blur(8px);4058}4059.peach-pro-promo-inner {4060  position: relative;4061  padding: 18px 18px 16px;4062}4063.peach-pro-promo-title {4064  font-family: var(--font-display);4065  font-style: italic;4066  font-weight: 400;4067  font-size: 28px;4068  line-height: 1;4069  letter-spacing: -0.005em;4070  color: var(--peach-t0);4071  margin: 0 0 4px;4072}4073.peach-pro-promo-tagline {4074  font-family: var(--font-mono);4075  font-size: 10px;4076  letter-spacing: 0.06em;4077  color: var(--peach-t2);4078  margin: 0 0 14px;4079}4080.peach-pro-promo-list {4081  list-style: none;4082  margin: 0 0 16px;4083  padding: 0;4084  display: grid;4085  gap: 9px;4086}4087.peach-pro-promo-list li {4088  display: flex;4089  align-items: flex-start;4090  gap: 9px;4091  font-size: 12px;4092  color: var(--peach-t1);4093  line-height: 1.4;4094}4095.peach-pro-promo-list svg {4096  width: 14px;4097  height: 14px;4098  flex-shrink: 0;4099  color: var(--peach-accent);4100  margin-top: 2px;4101}4102.peach-pro-promo-list span {4103  color: var(--peach-t0);4104}4105.peach-pro-promo-cta {4106  width: 100%;4107  background: var(--peach-accent);4108  color: #fff;4109  border: none;4110  padding: 9px 12px;4111  border-radius: 9px;4112  font-size: 12px;4113  font-weight: 500;4114  font-family: var(--font-ui);4115  letter-spacing: 0.02em;4116  text-decoration: none;4117  display: inline-flex;4118  align-items: center;4119  justify-content: center;4120  cursor: pointer;4121  transition: filter 120ms ease, box-shadow 120ms ease, transform 80ms ease;4122  box-shadow: 0 2px 16px var(--peach-glow);4123}4124.peach-pro-promo-cta:hover {4125  filter: brightness(1.07);4126  box-shadow: 0 4px 24px var(--peach-glow);4127  transform: translateY(-1px);4128}4129.peach-pro-promo-cta:active { transform: translateY(0); filter: brightness(0.96); }41304131.peach-pro-or-divider {4132  display: flex;4133  align-items: center;4134  gap: 10px;4135  margin: 4px 0 12px;4136  font-family: var(--font-mono);4137  font-size: 10px;4138  letter-spacing: 0.06em;4139  color: var(--peach-t2);4140  text-transform: uppercase;4141}4142.peach-pro-or-divider::before,4143.peach-pro-or-divider::after {4144  content: "";4145  flex: 1;4146  height: 1px;4147  background: var(--peach-t3);4148}41494150.peach-loading {4151  position: absolute;4152  inset: 0;4153  display: flex;4154  align-items: center;4155  justify-content: center;4156  background: var(--bg);4157  animation: peach-loading-pulse 1.2s ease-in-out infinite;4158}41594160@keyframes peach-loading-pulse {4161  0%, 100% { opacity: 0.6; }4162  50% { opacity: 1; }4163}41644165/* ── Health Dashboard ─────────────────────────────────────────────────── */4166.peach-health-body {4167  flex: 1;4168  overflow-y: auto;4169  display: flex;4170  flex-direction: column;4171}41724173.peach-health-summary {4174  padding: 10px 16px 6px;4175  font-family: "IBM Plex Mono", monospace;4176  font-size: 11px;4177}4178.peach-health-summary-warn { color: rgba(220,80,60,0.9); }4179.peach-health-summary-ok { color: var(--peach-t2); }41804181.peach-health-check-row {4182  padding: 0 16px 10px;4183}4184.peach-health-check-btn {4185  width: 100%;4186  display: flex;4187  align-items: center;4188  justify-content: center;4189}41904191.peach-health-sections {4192  flex: 1;4193  display: flex;4194  flex-direction: column;4195}41964197.peach-health-section {4198  border-bottom: 1px solid var(--peach-t3);4199}42004201.peach-health-section-header {4202  width: 100%;4203  display: flex;4204  align-items: center;4205  justify-content: space-between;4206  padding: 9px 16px;4207  background: transparent;4208  cursor: pointer;4209  color: var(--peach-t0);4210}42114212.peach-health-section-title-row {4213  display: flex;4214  align-items: center;4215  gap: 8px;4216}42174218.peach-health-count-badge {4219  display: inline-flex;4220  align-items: center;4221  justify-content: center;4222  min-width: 20px;4223  height: 18px;4224  padding: 0 5px;4225  border-radius: 999px;4226  background: rgba(220,80,60,0.15);4227  border: 1px solid rgba(220,80,60,0.25);4228  font-family: "IBM Plex Mono", monospace;4229  font-size: 9px;4230  color: rgba(220,80,60,0.9);4231}42324233.peach-health-section-title {4234  font-family: "IBM Plex Mono", monospace;4235  font-size: 11px;4236  text-transform: uppercase;4237  letter-spacing: 0.1em;4238  color: var(--peach-t1);4239}42404241.peach-health-chevron {4242  color: var(--peach-t2);4243  transition: transform 200ms ease;4244  flex-shrink: 0;4245}4246.peach-health-chevron.is-expanded {4247  transform: rotate(180deg);4248}42494250.peach-health-section-body {4251  padding: 0 16px 10px;4252  display: flex;4253  flex-direction: column;4254  gap: 4px;4255}42564257.peach-health-row {4258  display: flex;4259  align-items: flex-start;4260  justify-content: space-between;4261  gap: 8px;4262  padding: 6px 8px;4263  border-radius: 8px;4264  background: rgba(240,232,216,0.02);4265}42664267.peach-health-row-info {4268  flex: 1;4269  min-width: 0;4270  display: flex;4271  flex-direction: column;4272  gap: 2px;4273}42744275.peach-health-row-name {4276  font-family: var(--font-display);4277  font-size: 15px;4278  font-style: italic;4279  font-weight: 400;4280  color: var(--peach-t0);4281  white-space: nowrap;4282  overflow: hidden;4283  text-overflow: ellipsis;4284}42854286.peach-health-row-meta {4287  font-family: "IBM Plex Mono", monospace;4288  font-size: 9px;4289  color: var(--peach-t2);4290  letter-spacing: 0.05em;4291}42924293.peach-health-fix-btn {4294  font-size: 9px;4295  letter-spacing: 0.08em;4296  text-transform: uppercase;4297  padding: 4px 7px;4298  flex-shrink: 0;4299  display: flex;4300  align-items: center;4301}43024303.peach-health-empty {4304  font-family: "IBM Plex Mono", monospace;4305  font-size: 10px;4306  color: var(--peach-t2);4307  padding: 6px 0;4308}43094310.peach-health-loading {4311  font-family: "IBM Plex Mono", monospace;4312  font-size: 10px;4313  color: var(--peach-t2);4314  padding: 6px 0;4315  display: flex;4316  align-items: center;4317  gap: 6px;4318}43194320.peach-health-loading::before {4321  content: "";4322  width: 10px;4323  height: 10px;4324  border: 1.5px solid var(--peach-t3);4325  border-top-color: var(--peach-accent);4326  border-radius: 50%;4327  animation: peach-spin 600ms linear infinite;4328}43294330@keyframes peach-spin {4331  to { transform: rotate(360deg); }4332}43334334.peach-spinner {4335  width: 32px;4336  height: 32px;4337  border: 2px solid var(--peach-s2);4338  border-top-color: var(--peach-accent);4339  border-radius: 50%;4340  margin: 0 auto 16px;4341  animation: peach-spin 0.8s linear infinite;4342}43434344.peach-progress-screen {4345  text-align: center;4346  padding: 32px 16px;4347}43484349.peach-progress-screen-title {4350  font-size: 13px;4351  color: var(--peach-t0);4352  margin-bottom: 16px;4353}43544355.peach-progress-screen-stage {4356  font-size: 11px;4357  color: var(--peach-t2);4358  min-height: 14px;4359}43604361.peach-progress-screen-note {4362  font-size: 10px;4363  color: var(--peach-t2);4364  margin-top: 8px;4365}43664367.peach-pairing-body {4368  flex: 1;4369  overflow-y: auto;4370  display: flex;4371  flex-direction: column;4372}43734374.peach-pairing-content {4375  flex: 1;4376  display: flex;4377  flex-direction: column;4378  align-items: center;4379  justify-content: center;4380  gap: 14px;4381  padding: 28px 20px;4382  text-align: center;4383}43844385.peach-pairing-headline {4386  font-family: var(--font-display);4387  font-style: italic;4388  font-weight: 300;4389  font-size: 28px;4390  color: var(--peach-t0);4391  margin: 0;4392  line-height: 1;4393}43944395.peach-pairing-subline {4396  font-size: 12px;4397  color: var(--peach-t2);4398  max-width: 220px;4399  line-height: 1.5;4400  margin: 0;4401}44024403.peach-pairing-subline--center {4404  text-align: center;4405}44064407.peach-pairing-code-display {4408  display: flex;4409  gap: 6px;4410}44114412.peach-pairing-code-digit {4413  display: flex;4414  align-items: center;4415  justify-content: center;4416  width: 36px;4417  height: 48px;4418  background: var(--peach-s2);4419  border: 1px solid var(--peach-t3);4420  border-radius: 6px;4421  font-family: var(--font-mono);4422  font-size: 22px;4423  color: var(--peach-t0);4424  letter-spacing: 0;4425}44264427.peach-pairing-countdown-ring {4428  position: relative;4429  display: inline-flex;4430  align-items: center;4431  justify-content: center;4432}44334434.peach-pairing-countdown-num {4435  position: absolute;4436  font-family: var(--font-mono);4437  font-size: 14px;4438  color: var(--peach-t1);4439}44404441.peach-pairing-ring-track {4442  fill: none;4443  stroke: var(--peach-t3);4444  stroke-width: 2;4445}44464447.peach-pairing-ring-progress {4448  fill: none;4449  stroke: var(--peach-accent);4450  stroke-width: 2;4451  stroke-linecap: round;4452  transform: rotate(-90deg);4453  transform-origin: 50% 50%;4454  transition: stroke-dashoffset 0.5s linear;4455}44564457.peach-pairing-code-inputs {4458  display: flex;4459  gap: 8px;4460}44614462.peach-pairing-code-box {4463  width: 36px;4464  height: 48px;4465  text-align: center;4466  background: var(--peach-s2);4467  border: 1px solid var(--peach-t3);4468  border-radius: 6px;4469  font-family: var(--font-mono);4470  font-size: 20px;4471  color: var(--peach-t0);4472  outline: none;4473  transition: border-color 120ms ease;4474}44754476.peach-pairing-code-box:focus {4477  border-color: var(--peach-accent);4478}44794480.peach-pairing-code-box.has-error {4481  border-color: rgba(220, 80, 60, 0.45);4482}44834484.peach-pairing-status {4485  display: flex;4486  align-items: center;4487  gap: 8px;4488  margin: 0;4489  font-size: 12px;4490  color: var(--peach-t1);4491}44924493.peach-pairing-error {4494  margin: 0;4495  font-size: 11px;4496  color: var(--peach-breach);4497}44984499.peach-pairing-error-msg {4500  color: var(--peach-t1);4501}45024503.peach-pairing-spinner {4504  width: 12px;4505  height: 12px;4506  border: 1.5px solid var(--peach-t3);4507  border-top-color: var(--peach-accent);4508  border-radius: 50%;4509  animation: peach-spin 0.8s linear infinite;4510}45114512.peach-pairing-success-icon,4513.peach-pairing-error-icon,4514.peach-pairing-hero {4515  display: inline-flex;4516  align-items: center;4517  justify-content: center;4518}45194520/* Tag chips */4521.peach-tag-chip {4522  display: inline-flex;4523  align-items: center;4524  gap: 4px;4525  padding: 3px 8px;4526  border-radius: 999px;4527  border: 1px solid color-mix(in srgb, var(--peach-accent) 28%, transparent);4528  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4529  color: var(--peach-t0);4530  font-family: "IBM Plex Mono", monospace;4531  font-size: 10px;4532  letter-spacing: 0.04em;4533}45344535.peach-tag-chip-remove {4536  background: transparent;4537  border: none;4538  color: inherit;4539  opacity: 0.6;4540  cursor: pointer;4541  padding: 0;4542  font-size: 12px;4543  line-height: 1;4544}45454546.peach-tag-chip-remove:hover {4547  opacity: 1;4548}45494550/* Tag input */4551.peach-tag-input-wrap {4552  border-bottom: 1px solid var(--peach-t3);4553}45544555.peach-tag-suggestions {4556  display: flex;4557  flex-wrap: wrap;4558  gap: 4px;4559  padding: 6px 0;4560}45614562.peach-tag-suggestion {4563  padding: 2px 8px;4564  border-radius: 999px;4565  border: 1px solid var(--peach-t3);4566  background: var(--peach-s2);4567  color: var(--peach-t1);4568  font-family: "IBM Plex Mono", monospace;4569  font-size: 10px;4570  cursor: pointer;4571  transition: border-color 80ms ease, background 80ms ease;4572}45734574.peach-tag-suggestion:hover {4575  border-color: color-mix(in srgb, var(--peach-accent) 40%, transparent);4576  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4577}45784579/* Tag filter strip */4580.peach-tag-filter-strip {4581  border-bottom: 1px solid var(--peach-t3);4582  flex-shrink: 0;4583}45844585.peach-tag-filter-chip {4586  display: inline-flex;4587  align-items: center;4588  padding: 4px 10px;4589  border-radius: 999px;4590  border: 1px solid var(--peach-t3);4591  background: transparent;4592  color: var(--peach-t2);4593  font-family: "IBM Plex Mono", monospace;4594  font-size: 9px;4595  letter-spacing: 0.06em;4596  text-transform: uppercase;4597  cursor: pointer;4598  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4599  white-space: nowrap;4600}46014602.peach-tag-filter-chip:hover {4603  border-color: color-mix(in srgb, var(--peach-accent) 35%, transparent);4604  color: var(--peach-t1);4605}46064607.peach-tag-filter-chip.is-selected {4608  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4609  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4610  color: var(--peach-t0);4611}46124613/* ─────────────────────────────────────────────────────────────────────────4614   v1.4.12 additions4615   ─────────────────────────────────────────────────────────────────────── */46164617/* Sort bar */4618.peach-sort-bar {4619  display: flex;4620  align-items: center;4621  gap: 4px;4622  padding: 5px 12px;4623  border-bottom: 1px solid var(--peach-t3);4624  flex-shrink: 0;4625  overflow-x: auto;4626  scrollbar-width: none;4627}46284629.peach-sort-btn {4630  padding: 2px 9px;4631  border-radius: 999px;4632  border: 1px solid transparent;4633  background: transparent;4634  color: var(--peach-t2);4635  font-family: "IBM Plex Mono", monospace;4636  font-size: 9px;4637  letter-spacing: 0.07em;4638  text-transform: uppercase;4639  cursor: pointer;4640  transition: border-color 120ms ease, color 120ms ease, background 120ms ease;4641  white-space: nowrap;4642}46434644.peach-sort-btn:hover {4645  border-color: color-mix(in srgb, var(--peach-accent) 30%, transparent);4646  color: var(--peach-t1);4647}46484649.peach-sort-btn.is-active {4650  border-color: color-mix(in srgb, var(--peach-accent) 50%, transparent);4651  background: color-mix(in srgb, var(--peach-accent) 12%, transparent);4652  color: var(--peach-t0);4653}46544655.peach-sort-domain-hint {4656  margin-left: auto;4657  font-family: "IBM Plex Mono", monospace;4658  font-size: 9px;4659  color: color-mix(in srgb, var(--peach-accent) 60%, transparent);4660  white-space: nowrap;4661  overflow: hidden;4662  text-overflow: ellipsis;4663  max-width: 110px;4664}46654666/* Tab-match badge on entry rows */4667.peach-tab-match-badge {4668  display: inline-block;4669  width: 6px;4670  height: 6px;4671  border-radius: 50%;4672  background: color-mix(in srgb, var(--peach-accent) 75%, transparent);4673  margin-left: 5px;4674  vertical-align: middle;4675  flex-shrink: 0;4676  box-shadow: 0 0 4px color-mix(in srgb, var(--peach-accent) 40%, transparent);4677}46784679.peach-entry-row.is-tab-match {4680  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);4681  border-bottom-color: color-mix(in srgb, var(--peach-accent) 8%, transparent);4682}46834684.peach-entry-row.is-tab-match:hover {4685  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);4686}46874688/* Entry list stagger entrance */4689@keyframes peach-entry-fadein {4690  from { opacity: 0; transform: translateY(4px); }4691  to   { opacity: 1; transform: translateY(0); }4692}46934694.peach-vault-list .peach-entry-row {4695  animation: peach-entry-fadein 220ms cubic-bezier(0.16, 1, 0.3, 1) both;4696  content-visibility: auto;4697  contain-intrinsic-size: auto 44px;4698}46994700/* Button press micro-interaction */4701.peach-btn:active {4702  transform: scale(0.95);4703  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4704}47054706.peach-sort-btn:active,4707.peach-tag-filter-chip:active {4708  transform: scale(0.93);4709  transition: transform 80ms cubic-bezier(0.34, 1.56, 0.64, 1);4710}47114712/* Password strength bar (Lock view + shared) */4713.peach-password-strength {4714  display: flex;4715  align-items: center;4716  gap: 8px;4717  margin-top: 6px;4718}47194720.peach-strength-bar {4721  flex: 1;4722  height: 3px;4723  border-radius: 2px;4724  background: var(--peach-t3);4725  overflow: hidden;4726}47274728.peach-strength-fill {4729  height: 100%;4730  border-radius: 2px;4731  transition: width 300ms cubic-bezier(0.34, 1.56, 0.64, 1),4732              background 300ms ease;4733}47344735.peach-strength-bar--weak   .peach-strength-fill { width: 25%; background: rgba(220, 80, 60, 0.65); }4736.peach-strength-bar--fair   .peach-strength-fill { width: 50%; background: rgba(200, 140, 60, 0.6); }4737.peach-strength-bar--good   .peach-strength-fill { width: 75%; background: rgba(180, 162, 100, 0.55); }4738.peach-strength-bar--strong .peach-strength-fill { width: 100%; background: rgba(150, 175, 110, 0.6); }47394740.peach-strength-label {4741  font-family: "IBM Plex Mono", monospace;4742  font-style: italic;4743  font-size: 9px;4744  font-weight: 300;4745  letter-spacing: 0.06em;4746  color: var(--peach-t2);4747  min-width: 36px;4748  text-align: right;4749}47504751.peach-strength-bar--weak   + .peach-strength-label { color: rgba(220, 80, 60, 0.65); }4752.peach-strength-bar--fair   + .peach-strength-label { color: rgba(200, 140, 60, 0.6); }4753.peach-strength-bar--good   + .peach-strength-label { color: rgba(180, 162, 100, 0.55); }4754.peach-strength-bar--strong + .peach-strength-label { color: rgba(150, 175, 110, 0.6); }47554756/* Duress form */4757.peach-duress-status {4758  padding: 2px 8px;4759  border-radius: 999px;4760  border: 1px solid var(--peach-t3);4761  font-family: "IBM Plex Mono", monospace;4762  font-size: 9px;4763  letter-spacing: 0.07em;4764  text-transform: uppercase;4765  color: var(--peach-t2);4766  flex-shrink: 0;4767}47684769.peach-duress-status.is-active {4770  border-color: color-mix(in srgb, var(--peach-accent) 45%, transparent);4771  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);4772  color: var(--peach-t0);4773}47744775.peach-duress-form {4776  padding: 8px 0 4px;4777  display: flex;4778  flex-direction: column;4779  gap: 6px;4780}47814782.peach-duress-form .peach-label {4783  margin-top: 4px;4784}47854786.peach-duress-actions {4787  display: flex;4788  gap: 6px;4789  align-items: center;4790  margin-top: 4px;4791}47924793.peach-duress-actions .peach-btn:first-child {4794  margin-right: auto;4795}47964797/* Improved overlay spring entrance */4798.peach-overlay-view.ov-enter-up {4799  animation: ov-enter-up-spring 300ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4800}48014802@keyframes ov-enter-up-spring {4803  from { opacity: 0; transform: translateY(16px) scale(0.98); }4804  to   { opacity: 1; transform: translateY(0) scale(1); }4805}48064807.peach-overlay-view.ov-enter-right {4808  animation: ov-enter-right-spring 280ms cubic-bezier(0.34, 1.56, 0.64, 1) both;4809}48104811@keyframes ov-enter-right-spring {4812  from { opacity: 0; transform: translateX(18px) scale(0.98); }4813  to   { opacity: 1; transform: translateX(0) scale(1); }4814}48154816/* ── Onboarding-mode restore screens (file import) ── */4817/* Used when MainImportView renders during onboarding (no vault yet).4818   Animates like a lock-screen transition. */4819.peach-lock-view {4820  position: absolute;4821  inset: 0;4822  display: flex;4823  flex-direction: column;4824  background:4825    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),4826    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),4827    var(--peach-bg);4828  z-index: 2;4829  overflow: hidden;4830  animation: peach-screen-enter 280ms cubic-bezier(0.16, 1, 0.3, 1) both;4831}48324833.peach-lock-view-header {4834  display: flex;4835  align-items: center;4836  justify-content: space-between;4837  padding: 16px 18px 12px;4838  flex-shrink: 0;4839}48404841/* ───────── Settings: auto-lock select ───────── */4842.peach-settings-select {4843  font-family: "IBM Plex Mono", monospace;4844  font-size: 11px;4845  background: transparent;4846  border: 1px solid var(--peach-t3);4847  border-radius: 4px;4848  color: var(--peach-t1);4849  padding: 3px 6px;4850  cursor: pointer;4851  outline: none;4852}4853.peach-settings-select:focus {4854  border-color: var(--peach-accent);4855}48564857/* ───────── Duress status pill (new polished) ───────── */4858.peach-duress-status-pill {4859  font-family: "IBM Plex Mono", monospace;4860  font-size: 9px;4861  text-transform: uppercase;4862  letter-spacing: 0.12em;4863  padding: 2px 8px;4864  border-radius: 12px;4865  background: var(--peach-t3);4866  color: var(--peach-t2);4867  flex-shrink: 0;4868}4869.peach-duress-status-pill.is-active {4870  background: color-mix(in srgb, var(--peach-accent) 15%, transparent);4871  color: var(--peach-accent);4872}48734874/* ───────── Entry advanced disclosure (canary) ───────── */4875.peach-entry-advanced {4876  margin-top: 12px;4877  border-top: 1px solid var(--peach-t3);4878  padding-top: 10px;4879  position: relative;4880  z-index: 1;4881}4882.peach-entry-advanced-toggle {4883  display: flex;4884  align-items: center;4885  justify-content: space-between;4886  width: 100%;4887  background: transparent;4888  border: none;4889  cursor: pointer;4890  padding: 0;4891  color: var(--peach-t2);4892}4893.peach-canary-section {4894  margin-top: 10px;4895  display: grid;4896  gap: 6px;4897}48984899/* ───────── Import: merge/replace radio choices ───────── */4900.peach-import-choice {4901  display: flex;4902  align-items: flex-start;4903  gap: 10px;4904  padding: 8px 10px;4905  border: 1px solid var(--peach-t3);4906  border-radius: 10px;4907  cursor: pointer;4908  margin-bottom: 6px;4909  transition: border-color 120ms ease, background 120ms ease;4910}4911.peach-import-choice:hover {4912  border-color: var(--peach-accent);4913}4914.peach-import-choice input[type="radio"] {4915  margin-top: 3px;4916  accent-color: var(--peach-accent);4917  flex-shrink: 0;4918}4919.peach-import-choice-main {4920  display: flex;4921  flex-direction: column;4922  gap: 2px;4923  min-width: 0;4924}4925.peach-import-choice-label {4926  font-size: 12px;4927  color: var(--peach-t0);4928}4929.peach-import-choice-sub {4930  font-size: 11px;4931  color: var(--peach-t2);4932  line-height: 1.5;4933}49344935/* ───────── Export: success confirmation strip ───────── */4936.peach-export-success {4937  display: flex;4938  align-items: flex-start;4939  gap: 10px;4940  padding: 12px;4941  border-radius: 12px;4942  border: 1px solid rgba(150, 175, 110, 0.3);4943  background: rgba(150, 175, 110, 0.08);4944  color: var(--peach-t0);4945  font-size: 12px;4946  line-height: 1.55;4947}4948.peach-export-success-check {4949  color: rgba(150, 175, 110, 0.9);4950  font-size: 14px;4951  flex-shrink: 0;4952}49534954/* ── Trash view ──────────────────────────────────────────────────────── */4955.peach-trash-entry-row {4956  display: flex;4957  align-items: center;4958  justify-content: space-between;4959  gap: 8px;4960  padding: 8px 0;4961  border-bottom: 1px solid var(--peach-border);4962}4963.peach-trash-entry-info {4964  flex: 1;4965  min-width: 0;4966  display: flex;4967  flex-direction: column;4968  gap: 2px;4969}4970.peach-trash-entry-title {4971  font-size: 13px;4972  color: var(--peach-t0);4973  overflow: hidden;4974  text-overflow: ellipsis;4975  white-space: nowrap;4976}4977.peach-trash-entry-meta {4978  font-family: var(--font-mono);4979  font-size: 9px;4980  color: var(--peach-t2);4981  letter-spacing: 0.04em;4982}4983.peach-trash-entry-actions {4984  display: flex;4985  align-items: center;4986  gap: 4px;4987  flex-shrink: 0;4988}4989.peach-trash-delete-btn {4990  background: transparent;4991  border: 0;4992  color: var(--peach-t3);4993  font-size: 16px;4994  line-height: 1;4995  cursor: pointer;4996  padding: 2px 5px;4997  transition: color 0.15s;4998}4999.peach-trash-delete-btn:hover { color: var(--peach-breach); }5000.peach-trash-list {5001  overflow-y: auto;5002}5003.peach-trash-footer {5004  display: flex;5005  align-items: center;5006  gap: 8px;5007  padding: 8px 0 0;5008  border-top: 1px solid var(--peach-border);5009  margin-top: 4px;5010}5011.peach-trash-purge-all {5012  background: transparent;5013  border: 0;5014  color: var(--peach-t3);5015  font-size: 10px;5016  cursor: pointer;5017  padding: 4px 0;5018  letter-spacing: 0.03em;5019  transition: color 0.2s;5020}5021.peach-trash-purge-all:hover { color: var(--peach-breach); }5022.peach-trash-purge-confirm-label {5023  font-size: 10px;5024  color: var(--peach-t1);5025  flex: 1;5026}50275028/* ── Settings shortcuts grid ─────────────────────────────────────────── */5029.peach-shortcuts-grid {5030  display: grid;5031  grid-template-columns: auto 1fr;5032  gap: 6px 12px;5033  align-items: center;5034  padding: 4px 0;5035}5036.peach-shortcut-key {5037  font-family: var(--font-mono);5038  font-size: 10px;5039  color: var(--peach-t0);5040  background: var(--peach-t3);5041  border-radius: 4px;5042  padding: 2px 6px;5043  white-space: nowrap;5044  text-align: center;5045}5046.peach-shortcut-desc {5047  font-size: 11px;5048  color: var(--peach-t1);5049}50505051/* ── Sort bar trash button ───────────────────────────────────────────── */5052.peach-sort-trash-btn {5053  display: flex;5054  align-items: center;5055  justify-content: center;5056  padding: 3px 5px;5057  background: transparent;5058  border: none;5059  cursor: pointer;5060  color: var(--peach-t2);5061  border-radius: 4px;5062  transition: color 140ms ease, background 140ms ease;5063}5064.peach-sort-trash-btn:hover {5065  color: var(--peach-t1);5066  background: var(--peach-t3);5067}5068.peach-sort-trash-btn.is-active {5069  color: var(--peach-accent);5070}50715072/* Accent color picker */5073.peach-settings-row--accent { align-items: flex-start; padding-top: 10px; }5074.peach-accent-picker {5075  display: flex;5076  flex-wrap: wrap;5077  gap: 7px;5078  padding: 2px 0;5079}5080.peach-accent-swatch {5081  width: 22px;5082  height: 22px;5083  border-radius: 50%;5084  border: 2px solid transparent;5085  cursor: pointer;5086  padding: 0;5087  transition: transform 100ms;5088  outline-offset: 2px;5089}5090.peach-accent-swatch:hover { transform: scale(1.15); }5091.peach-accent-swatch.is-active {5092  border-color: var(--peach-t0);5093  transform: scale(1.1);5094}50955096/* Display font picker — swatch shows an "Aa" preview rendered with each5097   font option so the user can see what they're picking before they pick. */5098.peach-settings-row--font { align-items: flex-start; padding-top: 10px; }5099.peach-font-picker {5100  display: flex;5101  flex-wrap: wrap;5102  gap: 6px;5103  padding: 2px 0;5104  flex: 1;5105  justify-content: flex-end;5106}5107.peach-font-swatch {5108  display: flex;5109  flex-direction: column;5110  align-items: center;5111  gap: 2px;5112  padding: 4px 8px;5113  background: transparent;5114  border: 1px solid var(--peach-t3);5115  border-radius: 6px;5116  cursor: pointer;5117  transition: border-color 100ms, background 100ms;5118  min-width: 56px;5119}5120.peach-font-swatch:hover {5121  border-color: var(--peach-accent-dim);5122  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5123}5124.peach-font-swatch.is-active {5125  border-color: var(--peach-accent);5126  background: color-mix(in srgb, var(--peach-accent) 8%, transparent);5127}5128.peach-font-swatch-glyph {5129  font-size: 18px;5130  line-height: 1;5131  color: var(--peach-t0);5132}5133.peach-font-swatch[data-font-preview="cormorant-italic"] .peach-font-swatch-glyph {5134  font-family: "Cormorant Garamond", serif;5135  font-style: italic;5136  font-weight: 400;5137}5138.peach-font-swatch[data-font-preview="cormorant"] .peach-font-swatch-glyph {5139  font-family: "Cormorant Garamond", serif;5140  font-style: normal;5141  font-weight: 400;5142}5143.peach-font-swatch[data-font-preview="inter"] .peach-font-swatch-glyph {5144  font-family: "Inter Variable", "Inter", sans-serif;5145  font-style: normal;5146  font-weight: 400;5147}5148.peach-font-swatch[data-font-preview="system"] .peach-font-swatch-glyph {5149  font-family: system-ui, -apple-system, sans-serif;5150  font-style: normal;5151  font-weight: 400;5152}5153.peach-font-swatch-name {5154  font-family: var(--font-mono);5155  font-size: 8px;5156  letter-spacing: 0.06em;5157  color: var(--peach-t2);5158  text-transform: lowercase;5159}51605161.peach-pill-group {5162  display: flex;5163  gap: 6px;5164}5165.peach-pill-group .peach-btn.is-active {5166  background: color-mix(in srgb, var(--peach-accent) 14%, transparent);5167  border-color: var(--peach-accent);5168  color: var(--peach-t0);5169}51705171/* ── Card entry styles ───────────────────────────────────────── */5172.peach-card-number {5173  font-family: var(--peach-mono);5174  letter-spacing: 0.08em;5175}51765177.peach-card-network-badge {5178  font-size: 10px;5179  padding: 1px 5px;5180  border-radius: 4px;5181  border: 0.5px solid var(--peach-border);5182  color: var(--peach-text-dim);5183  margin-left: 6px;5184  vertical-align: middle;5185}51865187.peach-card-expiry-row {5188  display: flex;5189  align-items: center;5190  gap: 8px;5191}51925193.peach-card-expiry-sep {5194  color: var(--peach-text-dim);5195}51965197/* ── Pro tier — upgrade screen ──────────────────────────────── */5198.peach-pro-mark {5199  font-size: 9px;5200  color: var(--peach-accent);5201  margin-left: 6px;5202  vertical-align: super;5203  opacity: 0.7;5204}52055206.peach-pro-mini-badge {5207  display: block;5208  font-size: 10px;5209  font-style: italic;5210  color: var(--peach-accent);5211  letter-spacing: 0.04em;5212  margin-top: -2px;5213  padding-left: 2px;5214  opacity: 0.85;5215  text-align: center;5216}52175218.peach-wordmark-stack {5219  display: inline-flex;5220  flex-direction: column;5221  align-items: center;5222}52235224/* ── Pro tier — upgrade page ─────────────────────────────────── */5225.peach-pro-upgrade {5226  display: flex;5227  flex-direction: column;5228  align-items: stretch;5229  gap: 10px;5230  padding: 0 4px 8px;5231}52325233.peach-pro-upgrade-hero {5234  display: flex;5235  flex-direction: column;5236  align-items: center;5237  gap: 4px;5238  padding: 10px 0 6px;5239}52405241.peach-pro-upgrade-mark-wrap {5242  display: flex;5243  align-items: center;5244  justify-content: center;5245  margin-bottom: 2px;5246}52475248.peach-pro-upgrade-mark {5249  width: 38px;5250  height: 38px;5251  filter:5252    drop-shadow(0 0 7px color-mix(in srgb, var(--peach-accent) 45%, transparent))5253    drop-shadow(0 0 18px color-mix(in srgb, var(--peach-accent) 18%, transparent));5254}52555256.peach-pro-upgrade-title {5257  font-family: var(--font-display, var(--font-ui));5258  font-size: 22px;5259  margin: 0;5260  color: var(--peach-t0);5261  letter-spacing: 0.01em;5262}52635264.peach-pro-upgrade-tagline {5265  margin: 0;5266  font-style: italic;5267  color: var(--peach-t2);5268  font-size: 11px;5269}52705271.peach-pro-features {5272  display: flex;5273  flex-direction: column;5274  gap: 8px;5275  border-top: 1px solid var(--peach-border);5276  border-bottom: 1px solid var(--peach-border);5277  padding: 10px 4px;5278}52795280.peach-pro-feature {5281  display: flex;5282  gap: 9px;5283  align-items: baseline;5284}52855286.peach-pro-feature-mark {5287  color: var(--peach-accent);5288  font-size: 11px;5289  flex-shrink: 0;5290  display: inline-block;5291  transform-origin: center;5292  opacity: 0.8;5293}52945295.peach-pro-feature-text {5296  display: flex;5297  flex-direction: column;5298  gap: 1px;5299}53005301.peach-pro-feature-name {5302  font-size: 12px;5303  color: var(--peach-t0);5304}53055306.peach-pro-feature-desc {5307  font-size: 10px;5308  color: var(--peach-t2);5309}53105311.peach-pro-feature.is-highlighted .peach-pro-feature-mark {5312  animation: peach-pulse-accent 600ms ease-out forwards;5313}53145315@keyframes peach-pulse-accent {5316  0%   { opacity: 1; transform: scale(1.4); }5317  100% { opacity: 0.7; transform: scale(1); }5318}53195320.peach-pro-upgrade-actions {5321  display: flex;5322  flex-direction: column;5323  align-items: center;5324  gap: 8px;5325  padding-top: 2px;5326}53275328.peach-pro-pricing {5329  margin: 0;5330  text-align: center;5331  font-size: 11px;5332  color: var(--peach-t2);5333  letter-spacing: 0.04em;5334}53355336.peach-pro-upgrade-cta {5337  align-self: stretch;5338  text-align: center;5339  text-decoration: none;5340  display: block;5341  padding: 9px 20px;5342  font-size: 13px;5343  box-sizing: border-box;5344}53455346.peach-pro-key-divider {5347  display: flex;5348  align-items: center;5349  gap: 8px;5350  width: 100%;5351  color: var(--peach-t3);5352  font-size: 10px;5353  letter-spacing: 0.08em;5354}53555356.peach-pro-key-divider::before,5357.peach-pro-key-divider::after {5358  content: "";5359  flex: 1;5360  height: 1px;5361  background: var(--peach-border);5362}53635364.peach-pro-key-link {5365  background: transparent;5366  border: 1px solid var(--peach-border);5367  border-radius: 8px;5368  color: var(--peach-t1);5369  font-size: 12px;5370  cursor: pointer;5371  align-self: stretch;5372  padding: 8px 12px;5373  text-align: center;5374  transition: border-color 0.2s, color 0.2s;5375}53765377.peach-pro-key-link:hover {5378  border-color: var(--peach-accent);5379  color: var(--peach-accent);5380}53815382/* ── Pro tier — key ceremony ─────────────────────────────────── */5383.peach-pro-key-ceremony {5384  display: flex;5385  flex-direction: column;5386  align-items: center;5387  gap: 12px;5388  padding: 20px 4px 16px;5389}53905391.peach-pro-key-ceremony .peach-lock-rune-string {5392  font-size: 16px;5393  gap: 12px;5394  flex: 0;5395  justify-content: center;5396}53975398.peach-pro-key-ceremony-label {5399  margin: 0;5400  font-size: 11px;5401  color: var(--peach-t2);5402  font-style: italic;5403  letter-spacing: 0.04em;5404}54055406.peach-pro-key-input {5407  font-family: var(--font-mono, monospace);5408  letter-spacing: 0.06em;5409  text-align: center;5410  width: 100%;5411  box-sizing: border-box;5412}54135414.peach-pro-key-error {5415  margin: 0;5416  font-size: 12px;5417  text-align: center;5418  color: var(--peach-breach, #e55);5419  padding: 0;5420}54215422.peach-pro-key-activate {5423  width: 100%;5424  text-align: center;5425  box-sizing: border-box;5426  padding: 10px 20px;5427  font-size: 13px;5428}54295430.peach-pro-key-cancel {5431  background: transparent;5432  border: 0;5433  color: var(--peach-t2);5434  font-size: 11px;5435  cursor: pointer;5436  padding: 2px 8px;5437  transition: color 0.2s;5438}54395440.peach-pro-key-cancel:hover { color: var(--peach-accent); }54415442/* ── Pro tier — active state ─────────────────────────────────── */5443.peach-pro-active {5444  display: flex;5445  flex-direction: column;5446  align-items: center;5447  gap: 0;5448  padding: 8px 4px 16px;5449  min-height: 280px;5450}54515452.peach-pro-active-hero {5453  display: flex;5454  flex-direction: column;5455  align-items: center;5456  gap: 6px;5457  padding: 20px 0 22px;5458}54595460.peach-pro-active-mark-wrap {5461  display: flex;5462  align-items: center;5463  justify-content: center;5464  margin-bottom: 4px;5465}54665467.peach-pro-active-mark {5468  width: 60px;5469  height: 60px;5470  filter:5471    drop-shadow(0 0 10px color-mix(in srgb, var(--peach-accent) 55%, transparent))5472    drop-shadow(0 0 26px color-mix(in srgb, var(--peach-accent) 22%, transparent));5473}54745475.peach-pro-active-title {5476  font-family: var(--font-display, var(--font-ui));5477  font-size: 26px;5478  margin: 0;5479  color: var(--peach-t0);5480  letter-spacing: 0.01em;5481}54825483.peach-pro-active-since {5484  margin: 0;5485  font-size: 11px;5486  color: var(--peach-t2);5487  font-style: italic;5488}54895490.peach-pro-active-features {5491  display: flex;5492  flex-direction: column;5493  gap: 8px;5494  width: 100%;5495  padding: 14px 8px 0;5496  border-top: 1px solid var(--peach-border);5497  flex: 1;5498}54995500.peach-pro-active-feature {5501  display: flex;5502  align-items: center;5503  gap: 9px;5504}55055506.peach-pro-active-feature-mark {5507  color: var(--peach-accent);5508  font-size: 10px;5509  opacity: 0.65;5510  flex-shrink: 0;5511}55125513.peach-pro-active-feature-name {5514  font-size: 12px;5515  color: var(--peach-t1);5516}55175518.peach-pro-deactivate {5519  align-self: center;5520  background: transparent;5521  border: 0;5522  color: var(--peach-t3);5523  font-size: 10px;5524  cursor: pointer;5525  padding: 8px 0 0;5526  margin-top: 16px;5527  letter-spacing: 0.03em;5528  transition: color 0.2s;5529}55305531.peach-pro-deactivate:hover { color: var(--peach-t2); }55325533.peach-pro-deactivate:disabled {5534  opacity: 0.5;5535  cursor: default;5536}55375538/* ── Pro advanced health remediation queue ──────────────────── */5539.peach-health-pro-queue {5540  display: flex;5541  flex-direction: column;5542  gap: 10px;5543  padding: 12px;5544  margin: 0 0 12px;5545  background: color-mix(in srgb, var(--peach-accent) 4%, transparent);5546  border: 1px solid color-mix(in srgb, var(--peach-accent) 18%, transparent);5547  border-radius: 10px;5548}55495550.peach-health-pro-queue-head {5551  display: flex;5552  justify-content: space-between;5553  align-items: baseline;5554}55555556.peach-health-pro-queue-title {5557  font-size: 12px;5558  font-weight: 500;5559  letter-spacing: 0.04em;5560  text-transform: uppercase;5561  color: var(--peach-accent);5562}55635564.peach-health-pro-queue-score {5565  font-size: 11px;5566  color: var(--peach-t2);5567}55685569.peach-health-pro-row {5570  display: flex;5571  gap: 10px;5572  align-items: center;5573  padding: 8px 0;5574  border-top: 1px solid var(--peach-border);5575}55765577.peach-health-pro-row-info {5578  flex: 1;5579  display: flex;5580  flex-direction: column;5581  gap: 4px;5582  min-width: 0;5583}55845585.peach-health-pro-row-name {5586  font-size: 13px;5587  color: var(--peach-t0);5588  overflow: hidden;5589  text-overflow: ellipsis;5590  white-space: nowrap;5591}55925593.peach-health-pro-row-meta {5594  font-size: 11px;5595  color: var(--peach-t2);5596}55975598.peach-health-pro-bar {5599  height: 2px;5600  background: var(--peach-border);5601  border-radius: 2px;5602  overflow: hidden;5603  margin-top: 2px;5604}56055606.peach-health-pro-bar-fill {5607  height: 100%;5608  background: var(--peach-accent);5609  transition: width 200ms ease-out;5610}56115612/* ── Pro activation celebration ── */5613@keyframes peach-pro-bloom {5614  0%   { filter: drop-shadow(0 0 0px var(--peach-glow)); }5615  40%  { filter: drop-shadow(0 0 24px var(--peach-accent))5616                 drop-shadow(0 0 48px var(--peach-glow)); }5617  100% { filter: drop-shadow(0 0 0px var(--peach-glow)); }5618}56195620@keyframes peach-pro-wordmark-in {5621  from { opacity: 0; transform: translateY(4px); }5622  to   { opacity: 1; transform: translateY(0); }5623}56245625@keyframes peach-pro-fade-out {5626  from { opacity: 1; }5627  to   { opacity: 0; }5628}56295630.peach-pro-celebration {5631  background:5632    radial-gradient(120% 80% at 0% 0%, var(--shell-accent-a) 0%, transparent 65%),5633    radial-gradient(85% 100% at 100% 100%, var(--shell-accent-b) 0%, transparent 70%),5634    var(--peach-bg);5635  border: 1px solid var(--peach-t3);5636  box-shadow:5637    0 2px 8px rgba(0,0,0,0.55),5638    0 14px 48px rgba(0,0,0,0.7),5639    0 0 0 1px rgba(240,232,216,0.04);5640  overflow: hidden;5641  width: 320px;5642  height: 520px;5643  display: flex;5644  flex-direction: column;5645  align-items: center;5646  justify-content: center;5647  gap: 8px;5648  padding: 32px 24px;5649  text-align: center;5650}56515652.peach-pro-celebration.is-leaving {5653  animation: peach-pro-fade-out 400ms ease forwards;5654}56555656.peach-pro-bloom-target {5657  font-size: 48px;5658  animation: peach-pro-bloom 600ms cubic-bezier(0.16, 1, 0.3, 1) forwards;5659  margin-bottom: 12px;5660}56615662.peach-pro-wordmark {5663  font-family: var(--font-display);5664  font-size: 22px;5665  font-style: italic;5666  font-weight: 400;5667  color: var(--peach-accent);5668  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;5669}56705671.peach-pro-thankyou {5672  font-size: 12px;5673  font-style: italic;5674  color: var(--peach-t2);5675  animation: peach-pro-wordmark-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 800ms both;5676}567756785679/* ── Pending Pro notice banner (shown after background sync gate fires) ── */5680.peach-pro-notice-banner {5681  display: flex;5682  align-items: center;5683  gap: 8px;5684  padding: 7px 12px;5685  background: color-mix(in srgb, var(--peach-accent) 12%, var(--peach-bg-card));5686  border-bottom: 1px solid color-mix(in srgb, var(--peach-accent) 25%, transparent);5687  font-size: 11px;5688  color: var(--peach-t2);5689  font-family: "IBM Plex Mono", monospace;5690  flex-shrink: 0;5691}56925693.peach-pro-notice-link {5694  background: none;5695  border: none;5696  padding: 0;5697  cursor: pointer;5698  font-size: 11px;5699  color: var(--peach-accent);5700  font-family: "IBM Plex Mono", monospace;5701  margin-left: auto;5702  white-space: nowrap;5703}57045705.peach-pro-notice-close {5706  background: none;5707  border: none;5708  padding: 0 0 0 4px;5709  cursor: pointer;5710  font-size: 10px;5711  color: var(--peach-t3);5712  line-height: 1;5713}57145715/* ─── First-run onboarding ──────────────────────────────────────────────5716   Three-card welcome shown once before vault creation. The PeachScript5717   rune background drifts behind everything at very low opacity — it's5718   atmosphere, not focus. The cards themselves use the same panel5719   language as the rest of the popup so the transition into NewVault is5720   continuous, not a jarring switch of visual register. */57215722.peach-onboarding {5723  position: relative;5724  display: flex;5725  flex-direction: column;5726  width: 100%;5727  height: 100%;5728  padding: 16px 16px 18px;5729  box-sizing: border-box;5730  overflow: hidden;5731  animation: peach-onboard-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both;5732}57335734.peach-onboarding.is-completing {5735  animation: peach-onboard-exit 200ms ease-out forwards;5736}57375738.peach-rune-background {5739  position: absolute;5740  inset: 0;5741  width: 100%;5742  height: 100%;5743  pointer-events: none;5744  z-index: 0;5745  transition: opacity 500ms ease-out;5746}57475748.peach-onboarding.is-completing .peach-rune-background {5749  opacity: 0;5750}57515752.peach-onboarding-header {5753  position: relative;5754  z-index: 1;5755  display: flex;5756  align-items: center;5757  margin-bottom: 14px;5758}57595760.peach-onboarding-card {5761  position: relative;5762  z-index: 1;5763  flex: 1;5764  display: flex;5765  flex-direction: column;5766  gap: 10px;5767  padding: 22px 20px;5768  border-radius: 16px;5769  border: 1px solid var(--peach-t3);5770  background:5771    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5772  backdrop-filter: blur(3px);5773  -webkit-backdrop-filter: blur(3px);5774  box-shadow:5775    inset 0 1px 0 rgba(240, 232, 216, 0.04),5776    0 12px 28px rgba(0, 0, 0, 0.12);5777  cursor: pointer;5778  user-select: none;5779  animation: peach-card-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;5780}57815782.peach-onboarding-card.is-exiting {5783  animation: peach-card-out 120ms ease-in forwards;5784  pointer-events: none;5785}57865787.peach-onboarding-card-headline {5788  margin: 0;5789  font-family: var(--font-display);5790  font-style: italic;5791  font-weight: 400;5792  font-size: 22px;5793  line-height: 1.05;5794  color: var(--peach-t0);5795  white-space: pre-line;5796}57975798.peach-onboarding-divider {5799  margin: 4px 0 6px;5800  border: 0;5801  border-top: 1px solid var(--peach-t3);5802  width: 100%;5803}58045805.peach-onboarding-body {5806  margin: 0;5807  font-size: 13px;5808  line-height: 1.6;5809  color: var(--peach-t1);5810}58115812.peach-onboarding-warning {5813  display: flex;5814  align-items: flex-start;5815  gap: 8px;5816  margin: 6px 0 0;5817  padding-top: 8px;5818  border-top: 1px dashed var(--peach-t3);5819  font-size: 13px;5820  line-height: 1.5;5821  color: var(--peach-t1);5822}58235824.peach-onboarding-warning-icon {5825  color: var(--peach-accent);5826  font-size: 13px;5827  line-height: 1.5;5828  flex: 0 0 auto;5829}58305831.peach-onboarding-nav {5832  position: relative;5833  z-index: 1;5834  display: flex;5835  align-items: center;5836  justify-content: space-between;5837  margin-top: 12px;5838  padding: 0 4px;5839}58405841.peach-onboarding-dots {5842  display: flex;5843  align-items: center;5844  gap: 6px;5845}58465847.peach-onboarding-dot {5848  width: 6px;5849  height: 6px;5850  border-radius: 50%;5851  background: var(--peach-t2);5852  transition: width 200ms ease, height 200ms ease, background 200ms ease;5853}58545855.peach-onboarding-dot.is-active {5856  width: 8px;5857  height: 8px;5858  background: var(--peach-accent);5859}58605861.peach-onboarding-next {5862  background: none;5863  border: none;5864  padding: 4px 0;5865  cursor: pointer;5866  font-family: "IBM Plex Mono", monospace;5867  font-size: 11px;5868  letter-spacing: 0.04em;5869  color: var(--peach-t1);5870  transition: color 150ms ease;5871}58725873.peach-onboarding-next:hover {5874  color: var(--peach-t0);5875}58765877.peach-onboarding-next:disabled {5878  opacity: 0.5;5879  cursor: default;5880}58815882@keyframes peach-onboard-enter {5883  from { opacity: 0; transform: translateY(20px); }5884  to   { opacity: 1; transform: translateY(0); }5885}58865887@keyframes peach-onboard-exit {5888  from { opacity: 1; }5889  to   { opacity: 0; }5890}58915892@keyframes peach-card-in {5893  from { opacity: 0; transform: translateX(12px); }5894  to   { opacity: 1; transform: translateX(0); }5895}58965897@keyframes peach-card-out {5898  from { opacity: 1; transform: translateX(0); }5899  to   { opacity: 0; transform: translateX(-12px); }5900}59015902/* ─── New vault screen — matched to onboarding card language ─────────── */59035904.peach-newvault {5905  position: relative;5906  display: flex;5907  flex-direction: column;5908  gap: 12px;5909  padding: 16px 16px 18px;5910  overflow: hidden;5911}59125913/* Suppress the warm-blob ambient art inherited from .lock-screen — the5914   new vault card now carries the visual weight. */5915.peach-newvault::before {5916  content: none;5917}59185919.peach-newvault-header {5920  position: relative;5921  z-index: 2;5922  display: flex;5923  align-items: center;5924  margin-bottom: 2px;5925}59265927.peach-newvault-mark {5928  position: absolute;5929  right: -12px;5930  top: 6px;5931  width: 110px;5932  height: 110px;5933  pointer-events: none;5934  opacity: 0.10;5935  filter: saturate(0.9);5936  z-index: 0;5937}5938.peach-newvault-mark-art {5939  width: 100%;5940  height: 100%;5941}5942.peach-newvault-mark-art path:nth-child(2),5943.peach-newvault-mark-art path:nth-child(3) {5944  stroke: rgba(123, 144, 96, 0.88);5945  fill: rgba(123, 144, 96, 0.88);5946}59475948.peach-newvault-card {5949  position: relative;5950  z-index: 1;5951  display: flex;5952  flex-direction: column;5953  gap: 12px;5954  padding: 22px 20px 18px;5955  border-radius: 16px;5956  border: 1px solid var(--peach-t3);5957  background:5958    linear-gradient(180deg, rgba(240, 232, 216, 0.03), rgba(240, 232, 216, 0.015));5959  backdrop-filter: blur(3px);5960  -webkit-backdrop-filter: blur(3px);5961  box-shadow:5962    inset 0 1px 0 rgba(240, 232, 216, 0.04),5963    0 12px 28px rgba(0, 0, 0, 0.12);5964  animation: peach-onboard-enter 320ms cubic-bezier(0.16, 1, 0.3, 1) both;5965}59665967.peach-newvault-headline {5968  margin: 0;5969  font-family: var(--font-display);5970  font-style: italic;5971  font-weight: 400;5972  font-size: 24px;5973  line-height: 1.05;5974  color: var(--peach-t0);5975  white-space: pre-line;5976}59775978.peach-newvault-divider {5979  margin: 2px 0 4px;5980  border: 0;5981  border-top: 1px solid var(--peach-t3);5982  width: 100%;5983}59845985.peach-newvault-field {5986  display: flex;5987  flex-direction: column;5988  gap: 4px;5989}59905991.peach-newvault-label-row {5992  display: flex;5993  align-items: center;5994  justify-content: space-between;5995}59965997/* Monospace input scaled to the card. Replaces the 22px unlock-input5998   so the placeholder no longer overflows and the field reads as part5999   of the same surface as the body copy. */6000.peach-newvault-input {6001  font-size: 14px;6002  letter-spacing: 0.18em;6003  padding: 8px 0;6004}6005.peach-newvault-input::placeholder {6006  letter-spacing: 0.18em;6007  color: var(--peach-t2);6008}60096010.peach-newvault-hint {6011  margin: 2px 0 0;6012  font-family: "IBM Plex Mono", monospace;6013  font-size: 10px;6014  color: var(--peach-t2);6015  letter-spacing: 0.04em;6016}60176018.peach-newvault-submit {6019  margin-top: 4px;6020}60216022.peach-newvault-warning {6023  display: flex;6024  align-items: flex-start;6025  gap: 8px;6026  margin: 4px 0 0;6027  padding-top: 10px;6028  border-top: 1px dashed var(--peach-t3);6029  font-size: 12px;6030  line-height: 1.5;6031  color: var(--peach-t1);6032}60336034.peach-newvault-warning-icon {6035  color: var(--peach-accent);6036  font-size: 13px;6037  line-height: 1.4;6038  flex: 0 0 auto;6039}60406041.peach-newvault-footer {6042  position: relative;6043  z-index: 1;6044  display: flex;6045  flex-direction: column;6046  gap: 4px;6047  padding: 4px 4px 0;6048}60496050/* Settings body — warm accent gradient gives the glass something to blur against */6051.peach-settings-body {6052  background:6053    radial-gradient(6054      ellipse at 30% 20%,6055      color-mix(in srgb, var(--peach-accent) 8%, transparent) 0%,6056      transparent 60%6057    );6058}60596060/* ── Danger zone (Settings home → Panic flow) ──────────────────────────── */6061.peach-danger-zone {6062  border-top: 1px solid rgba(220, 38, 38, 0.3);6063  margin: 24px 16px 0;6064  padding-top: 20px;6065}60666067.peach-danger-zone-label {6068  margin: 0 0 12px;6069  font-family: "IBM Plex Mono", monospace;6070  font-size: 10px;6071  letter-spacing: 0.1em;6072  color: rgba(220, 38, 38, 0.7);6073}60746075.peach-destroy-button {6076  width: 100%;6077  padding: 10px;6078  background: transparent;6079  border: 1px solid rgba(220, 38, 38, 0.4);6080  border-radius: 8px;6081  color: rgba(220, 38, 38, 0.7);6082  font-size: 13px;6083  cursor: pointer;6084  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;6085}60866087.peach-destroy-button:hover {6088  background: rgba(220, 38, 38, 0.08);6089  border-color: rgba(220, 38, 38, 0.7);6090  color: rgb(220, 38, 38);6091}60926093/* ── Panic flow (three-step destruction) ───────────────────────────────── */6094.peach-panic {6095  display: flex;6096  flex-direction: column;6097  height: 100%;6098  padding: 28px 20px 20px;6099  gap: 18px;6100  overflow-y: auto;6101}61026103.peach-panic-step2 {6104  background: rgba(220, 38, 38, 0.04);6105}61066107.peach-panic-step3 {6108  background: #0f0505;6109  color: #ffffff;6110}61116112.peach-panic-icon {6113  font-size: 32px;6114  color: rgb(220, 38, 38);6115  line-height: 1;6116}61176118.peach-panic-title {6119  margin: 0;6120  font-size: 18px;6121  font-weight: 500;6122  color: var(--peach-t1);6123}61246125.peach-panic-title--severe {6126  font-size: 20px;6127  font-weight: 700;6128  color: rgb(220, 38, 38);6129}61306131.peach-panic-body {6132  margin: 0;6133  font-size: 13px;6134  line-height: 1.55;6135  color: var(--peach-t2);6136}61376138.peach-panic-body--severe {6139  color: rgba(220, 38, 38, 0.85);6140}61416142.peach-panic-body--final {6143  font-size: 16px;6144  font-weight: 700;6145  color: rgb(255, 80, 80);6146  line-height: 1.4;6147}61486149.peach-panic-body--final-intro {6150  font-size: 16px;6151  color: #ffffff;6152  font-weight: 400;6153}61546155.peach-panic-divider {6156  height: 1px;6157  background: rgba(255, 255, 255, 0.08);6158  margin: 4px 0;6159}61606161.peach-panic-confirm-input {6162  width: 100%;6163  padding: 10px 12px;6164  background: rgba(255, 255, 255, 0.02);6165  border: 1px solid rgba(220, 38, 38, 0.4);6166  border-radius: 8px;6167  color: var(--peach-t1);6168  font-family: "IBM Plex Mono", monospace;6169  font-size: 14px;6170  letter-spacing: 0.12em;6171  text-transform: uppercase;6172}61736174.peach-panic-confirm-input:focus {6175  outline: none;6176  border-color: rgb(220, 38, 38);6177}61786179.peach-panic-confirm-input--match {6180  border-color: rgb(220, 38, 38);6181  color: rgb(220, 38, 38);6182}61836184.peach-panic-confirm-label {6185  font-size: 11px;6186  color: var(--peach-t2);6187  margin: 0 0 -8px;6188  letter-spacing: 0.06em;6189}61906191.peach-panic-actions {6192  display: flex;6193  flex-direction: column;6194  gap: 10px;6195  margin-top: auto;6196}61976198.peach-panic-button {6199  width: 100%;6200  padding: 12px;6201  border-radius: 8px;6202  font-size: 13px;6203  cursor: pointer;6204  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;6205}62066207.peach-panic-button--primary {6208  background: var(--peach-accent);6209  border: 1px solid var(--peach-accent);6210  color: #ffffff;6211  font-weight: 600;6212}62136214.peach-panic-button--primary:hover {6215  background: color-mix(in srgb, var(--peach-accent) 88%, white);6216}62176218.peach-panic-button--danger {6219  background: rgb(220, 38, 38);6220  border: 1px solid rgb(220, 38, 38);6221  color: #ffffff;6222  font-weight: 600;6223}62246225.peach-panic-button--danger:disabled {6226  opacity: 0.35;6227  cursor: not-allowed;6228}62296230.peach-panic-button--ghost {6231  background: transparent;6232  border: 1px solid rgba(255, 255, 255, 0.18);6233  color: var(--peach-t2);6234}62356236.peach-panic-button--ghost:hover {6237  border-color: rgba(255, 255, 255, 0.32);6238  color: var(--peach-t1);6239}62406241.peach-panic-link {6242  background: transparent;6243  border: none;6244  padding: 4px 0;6245  color: rgba(220, 38, 38, 0.65);6246  font-size: 12px;6247  cursor: pointer;6248  text-align: left;6249  text-decoration: underline;6250  text-underline-offset: 3px;6251}62526253.peach-panic-link:hover {6254  color: rgb(220, 38, 38);6255}62566257.peach-panic-bar {6258  background: rgb(220, 38, 38);6259  padding: 16px 20px;6260  margin: -28px -20px 0;6261  text-align: center;6262  font-size: 13px;6263  font-weight: 700;6264  letter-spacing: 0.12em;6265  color: #ffffff;6266}62676268.peach-panic-final-button {6269  width: 100%;6270  padding: 14px;6271  background: rgb(220, 38, 38);6272  border: none;6273  border-radius: 8px;6274  color: #ffffff;6275  font-size: 14px;6276  font-weight: 700;6277  letter-spacing: 0.08em;6278  text-transform: uppercase;6279  cursor: pointer;6280  animation: peach-panic-pulse 2s ease-in-out infinite;6281}62826283@keyframes peach-panic-pulse {6284  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }6285  50%      { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }6286}62876288[data-motion="reduce"] .peach-panic-final-button {6289  animation: none;6290}