/* Palette from svaha-studio.html. Theme changes affect colors, not layout. */
.theme-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line);margin-top:24px}
.theme-setting strong{display:block;font:500 14px/1.5 var(--sans);color:var(--ink)}
.theme-setting small{display:block;font:400 11px/1.5 var(--sans);color:var(--muted);margin-top:4px}
.theme-toggle{position:relative;display:block;flex:none;width:42px;height:24px;padding:3px;border:0;border-radius:24px;background:var(--line);cursor:pointer}
.theme-toggle span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .18s}
.theme-toggle[aria-checked=true]{background:var(--wine)}
.theme-toggle[aria-checked=true] span{transform:translateX(18px)}
.theme-toggle:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.theme-toggle span{transition:none}}
:root[data-theme=dark]{color-scheme:dark;--paper:#121212;--cream:#121212;--white:#1b1b1b;--ink:#f2f0ec;--muted:#a5a29d;--line:#333230;--wine:#ed6156;--wine-dark:#ff7b70;--wine-soft:#ed6156;--lime:#292724;--green:#ed6156;--dark-surface:#232221;--dark-soft:#282726}
html[data-theme=dark] body{background:var(--paper);color:var(--ink)}
html[data-theme=dark] :is(.topbar.site-header,footer,.site-footer,.mobile-bottom-nav.mobilebar,.prototype-decisions,.dating-discover-actions,.editor-foot){background:var(--paper);border-color:var(--line);color:var(--muted)}
html[data-theme=dark] :is(h1,h2,h3,h4,.logo,.setting-text strong,.profile-summary h2,.settings-title,.likes-caption strong,.dating-match-card strong){color:var(--ink)}
html[data-theme=dark] :is(.muted,.hint,.footer-note,.place-caption,.dating-profile-city,.setting-text small,.likes-caption p,.premium-hero-copy>p,.profile-premium-active){color:var(--muted)}
html[data-theme=dark] :is(.design-account-link,.design-view-switch,.avatar-preview,.dating-place-picture,.dating-profile-view .dating-place-link.is-match .dating-place-picture,.dating-profile-view .dating-gallery-main){background:var(--dark-soft);color:var(--muted)}
html[data-theme=dark] :is(.button.ghost,.button,.main-button,.route-details-link,.route-like,.heart,.filter-btn,.chip,.prototype-filter-button,.likes-refresh,.dating-upload){background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:none}
html[data-theme=dark] :is(.button.wine,.main-button,.prototype-sidebar .site-nav a.active,.dating-discover-actions .dating-like,.route-like[aria-pressed=true],.heart.saved){background:var(--wine)!important;border-color:var(--wine);color:#121212}
html[data-theme=dark] :is(.button.wine:hover,.main-button:hover,.dating-discover-actions .dating-like:hover){background:#ff7b70!important;color:#121212}
html[data-theme=dark] :is(.button.ghost:hover,.route-details-link:hover,.prototype-sidebar .navlink:hover){background:var(--dark-soft);color:var(--ink)}
html[data-theme=dark] :is(.design-quick-interests .chip.active,.chip.active,.filter-btn.active,.route-filter-chips label:has(:checked),.route-filter-days label:has(:checked),.route-filter-choice:has(:checked),.dating-step-answer[aria-pressed=true],.dating-wish-card[aria-pressed=true]){background:#ed615618;border-color:var(--wine);color:var(--ink)}
html[data-theme=dark] :is(.mobilebar .mobilebar-link.active,.mobile-bottom-nav a.active,.account-nav>a.active,.likes-tabs a.active){background:none;color:var(--wine)}
html[data-theme=dark] :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){background:var(--white)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none}
html[data-theme=dark] input[readonly]{color:var(--muted)!important}
html[data-theme=dark] :is(.auth-panel,.auth-card,.login-panel,.account-user,.account-card,.user-card,.profile-avatar,.dating-own-card,.dating-own-empty,.dating-own-visibility,.dating-own-exposure,.profile-cover,.dating-media-panel,.dating-form-section,.dating-save-panel,.dating-location,.route-edit-block,.route-budget,.route-management-card,.route-step,.event-editor,.place-editor,.extra-editor,.photo-dropzone,.dating-media-item,.dating-media-tile,.likes-card,.dating-match-card,.premium-catalog .premium-plan){background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:none}
html[data-theme=dark] :is(.route-filter-picker,.route-event-picker,.route-picker-head,.route-picker-card,.route-search-panel,.route-state,.route-card-summary,.route-meta,.route-meta span,.route-author-note,.route-extra-services,.route-filter-selection,.route-picker-filters,.event-card,.event-schedule,.detail-tag,.service-option,.place-contact,.photo-tile){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.dating-profile-view,.dating-profile-view .dating-profile-copy,.dating-profile-view .dating-profile-goal,.dating-profile-view .dating-profile-chips>span,.dating-profile-view .dating-profile-wishes .dating-place-link,.dating-profile-view .dating-meeting-reason .dating-place-link,.dating-profile-view .dating-place-link.is-match,.dating-profile-symbols,.dating-profile-lifestyle){background:transparent;border-color:var(--line)}
html[data-theme=dark] .dating-profile-view .dating-profile-about{color:#cfc3b1}
html[data-theme=dark] .dating-profile-view .dating-profile-chips>span{color:var(--muted)}
html[data-theme=dark] .dating-profile-view .dating-profile-chips>span.is-match{color:var(--ink)}
html[data-theme=dark] :is(.dating-place-link.is-match .dating-place-copy>small,.dating-profile-view .dating-meeting-reason .is-match .dating-place-copy>small,.dating-match-label,.prototype-text-link){color:var(--wine)}
html[data-theme=dark] .dating-profile-view .dating-profile-wishes .dating-place-link.is-match{border-left-color:var(--wine)}
html[data-theme=dark] .dating-profile-view .dating-photo-identity :is(h1,.dating-profile-city){color:#fff8f0}
html[data-theme=dark] :is(.prototype-premium-teaser,.premium-catalog .premium-hero,.premium-membership,.premium-benefit-icon,.premium-progress,.premium-usage,.likes-intro,.likes-premium-dialog,.premium-reward-note,.dating-exposure,.dating-symbol-preview>span,.dating-symbol-chips>span){background:var(--dark-soft);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.premium-membership strong,.premium-catalog .premium-label,.premium-reward-price>span,.premium-route-mark,.premium-route-copy){color:var(--wine)}
html[data-theme=dark] :is(.premium-membership p,.premium-catalog .premium-plan small,.premium-usage,.premium-progress-caption,.premium-route-copy details,.likes-intro p){color:var(--muted)}
html[data-theme=dark] :is(.dating-interest span,.dating-artist-selected button,.dating-artist-results button,.dating-step-bar button,.dating-goals span,.dating-interests span){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.dating-interest input:checked+span,.dating-goals input:checked+span,.dating-interests input:checked+span,.dating-artist-selected button){background:#ed615618;border-color:var(--wine);color:var(--wine)}
html[data-theme=dark] :is(.dating-any-track,.dating-symbol-switch>span,.prototype-visibility-switch){background:#464442}
html[data-theme=dark] :is(.dating-any-switch:has(input:checked) .dating-any-track,.dating-symbol-switch:has(input:checked)>span,.prototype-visibility-switch[aria-checked=true]){background:var(--wine)}
html[data-theme=dark] :is(dialog,.place-detail-dialog,.dating-preview-dialog,.dating-search-dialog,.catalog-filters-dialog,.route-choice-dialog,.route-event-search-dialog,.dating-celebration,.dating-match-confirm,.dating-invitation,.design-help-dialog){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.place-detail-copy,.catalog-filters-head,.catalog-filters-body,.catalog-filters-actions,.invitation-footer,.dating-celebration-body,.dating-search-actions){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.modal-close,.dating-search-close,.invitation-close,.design-banner-close){background:var(--dark-soft);color:var(--ink)}
html[data-theme=dark] :is(.invitation-option,.invitation-summary,.invitation-confirmation,.invitation-chosen,.invitation-profile-preview,.dating-received-invitation){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.invitation-option.is-other,.invitation-option.is-self,.invitation-option.is-target,.invitation-option.is-common){background:var(--white);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .invitation-option[aria-pressed=true]{background:#ed615618;border-color:var(--wine)}
html[data-theme=dark] :is(.invitation-option small,.invitation-intro,.invitation-group-label,.invitation-date,.invitation-count,.invitation-skip){color:var(--muted)}
html[data-theme=dark] :is(.toast,.dating-toast,.match-notice){background:var(--dark-surface);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.alert,.route-warning,.route-problems,.dating-wish-warning){background:#ed615615;border-color:#ed615655;color:#ffaaa1}
html[data-theme=dark] :is(.alert.ok,.user-status.enabled,.dating-status.is-published){background:#27352e;border-color:#40594a;color:#b5d0be}
html[data-theme=dark] .user-status.disabled{background:#ed615615;color:#ffaaa1}
html[data-theme=dark] :is(.date-route-card,.featured-date-route,.premium-plan){background:var(--white);border-color:var(--line)}
html[data-theme=dark] .places-grid .place-card{background:transparent}
html[data-theme=dark] .place-card .heart{background:#1b1b1be8;color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .place-card .heart.saved{background:var(--wine);color:#121212}
html[data-theme=dark] :is(.map-place-popup,.map-popup,.map-topline){background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .map-popup-meta{color:var(--muted)}
/* Map tiles and all photographs retain their original colors. */
/* Animate each native showModal opening without delaying focus or dismissal. */
@media(prefers-reduced-motion:no-preference){
 .dating-undo-premium[open]{animation:premium-offer-enter .26s cubic-bezier(.22,1,.36,1) both}
 .dating-undo-premium[open]::backdrop{animation:premium-offer-backdrop .22s ease-out both}
 @keyframes premium-offer-enter{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
 @keyframes premium-offer-backdrop{from{opacity:0}to{opacity:1}}
}
