html { color-scheme: light; }
html[data-theme="dark"] {
  color-scheme: dark;
  --background: #101827;
  --surface: #19253a;
  --text: #eef3fc;
  --text-secondary: #c8d5e9;
  --muted: #a8bad3;
  --border: #41536d;
  --primary: #92baff;
  --primary-pressed: #b4d0ff;
  --blue-soft: #233d62;
  --amber-soft: #40361e;
  --success: #6addaa;
  --error: #ff9d95;
  --shadow: 0 6px 20px #0003;
}
html[data-theme="dark"] :is(.auth-card,.empty-inline,.balance-group-card,.member-card,.settings-list button,.settings-list a,.chip,.type-icon,.group-icon,.expense-icon,.segmented input:checked + span) { background: var(--surface); color: var(--text); }
html[data-theme="dark"] :is(.form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.auth-card input,textarea) { background: var(--background); color: var(--text); border-color: var(--border); }
html[data-theme="dark"] :is(.list-card,.wide-card,.form-card,.profile-card,.settings-list,.settlement-card,.showcase,.auth-card,.empty-inline,.balance-group-card,.member-card,.expense-row) { border-color: var(--border); }
html[data-theme="dark"] .bottom-nav { background: #19253af5; border-color: var(--border); }
html[data-theme="dark"] :is(.button-primary,.fab,.summary-card,.chip.active) { background: #245cc8; color: white; }
html[data-theme="dark"] .button-primary:hover { background: #1f53ae; }
html[data-theme="dark"] .amount-panel { background: linear-gradient(135deg,#193c7a,#245cc8); }
html[data-theme="dark"] :is(.hero-card,.balance-hero,.member-summary) { background: linear-gradient(135deg,#1d3454,#303527); }
html[data-theme="dark"] .balance-hero.is-debt { background: linear-gradient(135deg,#422d35,#36311e); }
html[data-theme="dark"] .group-blue { background: #1c3150; }
html[data-theme="dark"] .group-amber { background: #39321e; }
html[data-theme="dark"] .type-choice input:checked + .type-choice-card { background: var(--blue-soft); }
html[data-theme="dark"] .mascot { mix-blend-mode: normal; border-radius: 20px; }
html[data-theme="dark"] .notice-success { background: #173d30; color: #a1efcc; }
html[data-theme="dark"] .notice-error { background: #492c32; color: #ffbbb5; }
html[data-theme="dark"] .toast { background: #dce9ff; color: #101827; }
html[data-theme="dark"] input::placeholder { color: #9dacc3; opacity: 1; }
html[data-theme="dark"] select:not([multiple]) { background-color: var(--background); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23c8d5e9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); color: var(--text); }
html[data-theme="dark"] .custom-select-trigger,html[data-theme="dark"] .custom-select-menu { background: var(--surface); border-color: var(--border); color: var(--text); }
html[data-theme="dark"] .custom-select-menu { box-shadow: 0 20px 52px rgba(0,0,0,.46),0 4px 14px rgba(0,0,0,.3); }
html[data-theme="dark"] .custom-select-option:hover,html[data-theme="dark"] .custom-select-option:focus-visible { background: var(--blue-soft); color: #d9e7ff; }
html[data-theme="dark"] .custom-select-option.is-selected { background: #245cc8; color: #fff; }
textarea { font: inherit; border: 1px solid var(--border); border-radius: 14px; padding: 12px 14px; min-height: 100px; width: 100%; resize: vertical; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.segmented input:focus-visible + span,.member-choice input:focus-visible + .member-avatar { outline: 3px solid var(--blue); outline-offset: 3px; }
[hidden] { display: none !important; }
