:root {
  --bg: #161317;
  --paper: #231f24;
  --ink: #f6f1f4;
  --muted: #b9afb6;
  --pink: #d76186;
  --pinkDark: #f08cab;
  --blush: #3a252f;
  --line: #413941;
  --lav: #302a3b;
  --lavInk: #cdbce4;
  --mint: #342d28;
  --mintInk: #e5bd78;
  --peach: #382b25;
  --peachInk: #e6af7b;
  --shadow: 0 18px 48px rgba(0, 0, 0, .22);
}

html { color-scheme: dark; }
body { background: var(--bg); }
button, input, textarea, select { color: var(--ink); }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline-color: #d8b8e7; }

.sidebar { background: #1c191d; border-color: #383139; }
.brandicon { color: #e47799; background: #38232d; }
.navlabel, .sidebottom, .breadcrumb, .datechip, .footer { color: #a99ea6; }
.sidebottom .dot, .presence-chip.online .presence-dot { background: #d8ad67; box-shadow: 0 0 0 3px #3d3021; }
.navbutton { color: #c6bcc3; }
.navbutton:hover { background: #2a242b; }
.navbutton.active { background: #3b2630; color: #f3a3bb; border-color: #553440; }
.mobile-brand { color: #ec88a7; }

.miniheart, .notification-button { background: #242025; border-color: #463d46; color: #e985a4; }
.miniheart:hover, .notification-button:hover { background: #342a31; }
.notification-badge { border-color: var(--bg); }
.notification-panel, .notification-item { background: #242025; }
.notification-item:hover { background: #2d272d; }
.notification-item.unread { background: #35232c; }
.notification-icon { background: #3b2831; }
.notification-copy { color: var(--ink); }
.presence-chip { color: #bbb0b8; }
.presence-dot { background: #746a71; }
.presence-chip.typing { color: #ec88a7; }

.hero { background: #2b2228; border-color: #49343f; }
.hero p { color: #c2b4bd; }
.heroart { filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .35)); }
.heroart:before { color: #c5a5d4; }
.heroart:after { color: #d8ad67; }
.card, .tile, .stat, .item, .clock, .envelope { background: var(--paper); border-color: var(--line); }
.tile:hover { box-shadow: 0 18px 38px rgba(0, 0, 0, .3); }
.spotlight { background: #2a2026; }
.empty { background: #1f1b20; border-color: #554650; color: #a99ca5; }

.field label { color: #d2c7ce; }
.field input, .field select, .field textarea, .comment-form input {
  background: #2b272c;
  border-color: #4b424b;
  color: var(--ink);
}
.field input::placeholder, .field textarea::placeholder, .comment-form input::placeholder { color: #887d85; }
input[type="file"]::file-selector-button { background: #3b3037; color: var(--ink); border: 1px solid #554852; }
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator { filter: invert(.85) sepia(.15); }
[data-bucket-status] { background: #2b272c !important; border-color: #4b424b !important; color: var(--ink) !important; }

.button { background: #d76186; color: #fff; }
.button:hover:not(:disabled) { background: #bb4d72; }
.button.outline { background: #282329; border-color: #5b4752; color: #efa0b8; }
.button.outline:hover:not(:disabled) { background: #372a31; }
.button.soft { background: #442a35; color: #f3a3bb; }
.button.soft:hover:not(:disabled) { background: #52303e; }
.button.danger { background: #3d2626; color: #efa19a; }
.button.danger:hover:not(:disabled) { background: #4b2b2b; }
.pill { background: #3a252f; color: #ee9db6; }
.pill.mint { background: #382f24; color: #e5bd78; }
.pill.lav { background: #302a3b; color: #cdbce4; }
.pill.peach { background: #382b25; color: #e6af7b; }
.badge-count { background: #3a252f; color: #ee9db6; }

.progress { background: #3a3037; }
.progress span { background: #d76186; }
.notice { background: #30291f; color: #e1c28d; border-color: #4c402c; }
.roulettedisplay { background: #2a2026; border-color: #46343d; }
.idea-result { background: #29232e; }
.idea-result p { color: #c5b9c1; }
.paper { background: #2a2026; border-color: #493640; }
.countdown, .largeBudget, .metric.pink { color: #e47799; }
.success-text, .budget-progress-note.success { color: #e5bd78 !important; }
.danger-text, .budget-progress-note.danger { color: #efa19a !important; }
.budget-progress-note.warm { color: #e6af7b; }
.budget-mission { border-color: #4b3b44; }
.budget-mission-icon { background: #3a3024; color: #e5bd78; }
.date-budget-context { background: #2f2922; border-color: #4d402d; }
.date-budget-context strong, .date-budget-context span { color: #e1c28d; }

.reaction-button { background: #292429; border-color: #4b4149; color: var(--ink); }
.reaction-button:hover, .reaction-button.active { background: #432a35; border-color: #7b4659; }
.comment { background: #2d252b; }
.comment strong { color: #ee91ad; }
.answer-choice { background: #292429; border-color: #4b4149; color: var(--ink); }
.answer-choice:hover:not(:disabled) { background: #362a31; border-color: #795064; }
.answer-choice.selected { background: #442936; border-color: #d76186; color: #ffbfd1; box-shadow: 0 0 0 2px #593243; }

.memory-album-spread { background: #30282e; border-color: #4a3e46; box-shadow: 0 20px 48px rgba(0, 0, 0, .28); }
.memory-album-page { background: #221e23; border-color: #443a42; }
.album-turn { background: #252126; border-color: #4a4048; color: #eda0b8; box-shadow: 0 8px 22px rgba(0, 0, 0, .22); }
.album-turn:hover:not(:disabled) { background: #372b32; }
.album-photo, .memory-photo-button { background: #30262c; }
.album-photo-placeholder { background: #2a242b; color: #c590a5; border-color: #5a4550; }
.album-page-number, .memory-page-status { color: #a99ca5; }
.album-memory-date { color: #cdbce4; }
.album-memory-place { color: #e5bd78; }
.preview-remove { background: #171317; }

.home-voyage { background: #282329; border-color: #463941; }
.home-voyage:hover { background: #30282f; }
.home-voyage-icon { background: #3a3024; }
.home-voyage-score, .voyage-total strong, .voyage-ledger-item strong { color: #e5bd78; }
.home-voyage .progress, .voyage-goal .progress { background: #40352a; }
.home-voyage .progress span, .voyage-goal .progress span { background: #d8ad67; }
.home-special-date, .special-date-hero { background: #242025; border-color: #413941; }
.home-special-date:hover { background: #2d272d; border-color: #8d6678; }
.home-special-icon, .special-date-hero-icon, .special-date-type { background: #3a3024; }
.home-special-countdown, .special-date-hero-count, .special-date-days { color: #e5bd78; }
.calendar-sync-status.needs-update { color: #e5bd78; }
.voyage-reward-card { background: #252126; }
.voyage-reward-card.unlocked { background: #30291f; border-color: #57472f; }
.voyage-ledger-item { background: #272228; border-color: #d8ad67; }
.milestone-icon { background: #382b25; }

.recovery-summary { color: #c8bbc3; }
.notification-clear, a { color: #ef9eb7; }
.website-tour { background: rgba(12, 9, 12, .82); }
.website-tour-card { background: #242025; border-color: #493b44; box-shadow: 0 28px 80px rgba(0, 0, 0, .55); }
.tour-skip { color: #ef9eb7; }
.tour-dot { background: #50434c; }

#authGate { background: #161317 !important; }
#authGate > div { background: #231f24 !important; border-color: #413941 !important; box-shadow: 0 18px 58px rgba(0, 0, 0, .35) !important; }
#authGate p { color: var(--muted) !important; }
#authMessage { color: #efa0aa !important; }

@media (max-width: 850px) {
  .sidebar { background: #1c191d; box-shadow: 0 6px 22px rgba(0, 0, 0, .22); }
}
