/* Opt-in only: light appearance retains the existing UI. */
.appearance-settings{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin:0 0 18px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.appearance-settings label{display:grid;gap:4px}.appearance-settings small{font-size:11px;color:var(--muted)}
.appearance-settings select{max-width:48%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:inherit}
html[data-appearance=dark]{color-scheme:dark;--bg:#111214;--card:#232329;--text:#f3eff4;--muted:#b9b4c1;--line:#ffffff28;--brand:#ed9ac6;--brand-dark:#f0b8d7;--brand-soft:#3c2937;--pink:#ed9ac6;--pink-soft:#422b3a;--lav:#bca5df;--shadow:0 14px 40px #0004;--dg-surface:linear-gradient(125deg,#ffffff0c,#232327ed)}
html[data-appearance=dark] body{color:var(--text);background:radial-gradient(ellipse at 100% 12%,#34313e 0,transparent 35%),radial-gradient(ellipse at 0 70%,#352632 0,transparent 35%),#111214}
html[data-appearance=dark] :is(.topbar,.time-pair-card,.together-card,.quick-checkin-card,.status-history-card,.edit-card,.auth-card,.appearance-settings,.storage-hero,.storage-person,.storage-mini,.mega-storage){background:var(--dg-surface);color:var(--text);border-color:var(--line);box-shadow:inset 0 1px 0 #ffffff18,0 12px 30px #0003}
html[data-appearance=dark] :is(.app-menu,.schedule-sheet,.chat-more-menu,.chat-emoji-picker,.status-reaction-picker,.tutorial-card,.mega-sheet,.mega-text-dialog,.toast){background:#242329!important;color:var(--text);border-color:var(--line)!important;box-shadow:0 18px 50px #0007}
html[data-appearance=dark] :is(input,textarea,select){background:#1c1c23!important;color:var(--text)!important;border-color:#ffffff30!important}
html[data-appearance=dark] :is(input,textarea)::placeholder{color:#b0a7b6!important}
html[data-appearance=dark] :is(.ghost-small,.icon-button,.secondary-btn,.quick-grid button,.schedule-week-picker button,.schedule-activity-picker button,.duration-chips button,.status-comment-summary,.status-comment-composer,.status-reaction-summary,.latest-quick-checkin,.own-quick-checkin){background:#302b35;color:#f0d8e7;border-color:#ffffff26;box-shadow:none}
html[data-appearance=dark] :is(.primary-btn,#sendLoveNote){background:#d691b6;color:#24131e}
html[data-appearance=dark] :is(#ownerStatusCard,#partnerStatusCard){background:radial-gradient(ellipse at 90% 0,rgba(var(--status-glass-tint),.18),transparent 65%),linear-gradient(135deg,#292830,#1b1c22);color:#f3eff4;border-color:#ffffff30;box-shadow:inset 0 1px 1px #ffffff25,0 16px 32px #0004}
html[data-appearance=dark] :is(#ownerStatusCard,#partnerStatusCard).card-text-dark{color:#f3eff4}
html[data-appearance=dark] :is(#ownerStatusCard,#partnerStatusCard) :is(h2,h3,p,small,.timezone-hint,.tiny-label){color:inherit}
html[data-appearance=dark] #bottomNav{background:linear-gradient(125deg,#36343bc9,#1b1b21d9);border-color:#ffffff32;box-shadow:inset 0 1px 1px #ffffff45,0 10px 30px #0005}
html[data-appearance=dark] #bottomNav .nav-item{color:#c7bdce;text-shadow:none;background:transparent}
html[data-appearance=dark] #bottomNav .nav-item.active{color:#ed9ac6;background:linear-gradient(135deg,#ffffff1c,#ffffff04);box-shadow:inset 0 1px 1px #ffffff50,inset 0 0 0 1px #ffffff20}
html[data-appearance=dark] #bottomNav .nav-item.active span{background:transparent}
html[data-appearance=dark] .partner-status-pill{background:#2c2832;color:#f0d8e7;border-color:#ffffff35;box-shadow:0 8px 25px #0005}
html[data-appearance=dark] #chatView{background:#141419;color:#f3eff4}
html[data-appearance=dark] #chatView :is(.chat-topbar,.chat-composer,.chat-reply-preview,.chat-pinned-message){background:#242329e8!important;color:#f3eff4!important;border-color:#ffffff28!important;box-shadow:inset 0 1px 0 #ffffff16!important}
html[data-appearance=dark] #chatView .chat-bubble{background:#2c2c32e8!important;color:#f3eff4!important;border-color:#ffffff20!important;text-shadow:none}
html[data-appearance=dark] #chatView .chat-message.mine .chat-bubble{background:linear-gradient(130deg,#57394e,#30232e)!important;color:#fff0f7!important}
html[data-appearance=dark] #chatView .chat-message:is(.photo,.sticker) .chat-bubble{background:transparent!important}
html[data-appearance=dark] #chatView :is(.chat-topbar h2,.chat-topbar strong,.chat-bubble p,.chat-bubble footer){color:inherit!important}
html[data-appearance=dark] #chatView :is(.chat-send-btn,.chat-mic-btn){background:#d691b6!important;color:#24131e!important}
html[data-appearance=dark] #chatView :is(.chat-emoji-btn,.chat-media-btn,.chat-more-btn){color:#ed9ac6!important}
html[data-appearance=dark] .quick-checkin-card .quick-checkin-buttons button{color:#e6dce9}
html[data-appearance=dark] .quick-checkin-card .quick-checkin-buttons button[aria-pressed=true]{background:#4a3044;border-color:#d691b6}
html[data-appearance=dark] .auth-loading{background:radial-gradient(ellipse at 95% 20%,#3c3449,transparent 55%),radial-gradient(ellipse at 0 75%,#422b3d,transparent 60%),#111214}
html[data-appearance=dark] .auth-loading::before{opacity:.15}
html[data-appearance=dark] .splash-halo{background:radial-gradient(circle,#c7a0d220,transparent 70%)}
html[data-appearance=dark] .auth-loading-card :is(h2,.splash-tagline,.splash-footer){color:#decfe4}
html[data-appearance=dark] .splash-pill{background:#ffffff0c;color:#e2c8da;border-color:#ffffff28}
html[data-appearance=dark] .ambient-layer{opacity:.2}
html[data-appearance=dark] :focus-visible{outline-color:#ed9ac6}
/* Secondary surfaces, including dynamically mounted profile/media dialogs. */
/* Home: explicit component coverage; keep ornaments and status hues intact. */
html[data-appearance=dark] #homeView{--home-glass:linear-gradient(125deg,#ffffff0c,#202026d9);--home-secondary:#c2bacb}
html[data-appearance=dark] #homeView :is(.time-pair-card,.status-history-card,.quick-checkin-card,.together-card){background:var(--home-glass);border:1px solid #ffffff26;border-top-color:#ffffff48;box-shadow:inset 0 1px 1px #ffffff12,0 12px 28px #0003;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
html[data-appearance=dark] #homeView :is(.time-person strong,.together-card strong,.status-history-person>strong,.latest-checkin strong){color:#f3eff4}
html[data-appearance=dark] #homeView :is(.time-person span,.tiny-label,.eyebrow,.status-history-hint,.quick-checkin-hint,.my-checkin,.latest-checkin small,.latest-checkin time,.sync-state){color:var(--home-secondary)}
html[data-appearance=dark] #homeView :is(.latest-checkin,.new-activity-banner,.both-free-celebration,.status-history-person){background:#28252de8;color:#f3eff4;border-color:#ffffff26;box-shadow:inset 0 1px 0 #ffffff15}
html[data-appearance=dark] #homeView :is(.latest-checkin>span,.pair-chip,.quick-checkin-head>span){background:#3b2c3b;color:#f1b7d8;box-shadow:none}
html[data-appearance=dark] #homeView .my-checkin{border-color:#ffffff28}
html[data-appearance=dark] #homeView :is(.person-until,.person-until strong,.person-until b,.person-until small,.person-updated,.person-presence,.person-now-label){color:#e4dce9!important}
html[data-appearance=dark] #homeView :is(.person-identity,.person-activity h3,.person-message){color:#f3eff4!important;text-shadow:none}
html[data-appearance=dark] #homeView .person-until{border-color:#ffffff30}
html[data-appearance=dark] #homeView :is(.person-status-label,.person-emoji){background:#ffffff0e;color:#f3eff4;border-color:#ffffff24;box-shadow:inset 0 1px 1px #ffffff25}
html[data-appearance=dark] #homeView :is(.status-comment-summary,.status-comment-composer,.status-reaction-history){background:#29252e;color:#f3eff4;border-color:#ffffff26;box-shadow:none}
html[data-appearance=dark] #homeView :is(.status-comment-summary p,.status-comment-summary strong,.status-reaction-history small){color:#f3eff4!important}
html[data-appearance=dark] #homeView :is(.status-reaction-toggle,.card-edit-status,.comment-actions button,.status-comment-composer button,.new-activity-banner button){background:#443040;color:#f4c7e1;border:1px solid #ffffff25;box-shadow:none}
html[data-appearance=dark] #homeView .quick-checkin-buttons button small{color:#e5dce9}
html[data-appearance=dark] #homeView .quick-checkin-feedback{color:#f1b7d8}
@media(prefers-reduced-transparency:reduce){html[data-appearance=dark] #homeView :is(.time-pair-card,.status-history-card,.quick-checkin-card,.together-card){background:#232329;backdrop-filter:none;-webkit-backdrop-filter:none}}
html[data-appearance=dark] :is(.chat-extras-panel,.schedule-item,.schedule-editor,.schedule-editor-empty,.mega-text-editor,.mega-storage,.storage-mini,.tutorial-card){background:#242329!important;color:#f3eff4!important;border-color:#ffffff28!important}
html[data-appearance=dark] .chat-extras-panel :is(h3,p,label,small){color:inherit}
html[data-appearance=dark] .chat-extras-panel button{color:#f0d8e7;background:#3c2937;border-color:#ffffff28}
html[data-appearance=dark] #chatView :is(.chat-history-state,.chat-day,.chat-date-divider,.chat-typing,.chat-message-reactions,.chat-new-messages){color:#dfcbdc!important;background:#302833!important;text-shadow:none!important}
html[data-appearance=dark] #chatView .chat-message-reactions span{color:inherit!important;text-shadow:none!important}
html[data-appearance=dark] #chatView .chat-message.voice .chat-voice-toggle{background:#d691b6;color:#24131e}
html[data-appearance=dark] .schedule-item :is(h3,p,small){color:inherit}
@media(prefers-reduced-transparency:reduce){html[data-appearance=dark] #bottomNav{background:#242329;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Warm liquid glass palette from the supplied reference. Dark mode only. */
html[data-appearance=dark]{--bg:#1c1420;--text:#f3e8ef;--muted:#c6aecb;--brand:#eab3cf;--brand-dark:#f6d9e8;--glass-controls-bg:rgba(255,214,235,.10);--glass-standard-bg:rgba(255,214,235,.15);--glass-specular:rgba(255,255,255,.32);--glass-shadow:0 12px 32px #0005;--glass-shadow-standard:0 24px 60px #0005,0 2px 2px #0003;--accent-grad:linear-gradient(135deg,#d84a92,#f5a8cf);--dg-surface:linear-gradient(145deg,#ffd6eb26,#ffd6eb12)}
html[data-appearance=dark] body{background:radial-gradient(ellipse 90% 60% at 15% 0%,#402333,transparent 62%),radial-gradient(ellipse 80% 55% at 100% 20%,#2e2142,transparent 60%),radial-gradient(ellipse 75% 60% at 30% 100%,#382b24,transparent 60%),var(--bg)}
html[data-appearance=dark] #homeView{--home-glass:var(--dg-surface);--home-secondary:#c6aecb}
html[data-appearance=dark] #homeView :is(.section-heading h2,.quick-checkin-head h3,.status-history-head h3){color:var(--brand-dark);text-shadow:none}
html[data-appearance=dark] :is(.topbar,.time-pair-card,.quick-checkin-card,.status-history-card,.together-card,.edit-card,.appearance-settings){background:var(--dg-surface);border-color:#ffffff26;border-top-color:var(--glass-specular);box-shadow:inset 0 1px 1px #ffffff20,var(--glass-shadow-standard);-webkit-backdrop-filter:blur(9px) saturate(150%);backdrop-filter:blur(9px) saturate(150%)}
html[data-appearance=dark] #homeView :is(.time-pair-card,.quick-checkin-card,.status-history-card,.together-card){background:var(--dg-surface);border-color:#ffffff26;border-top-color:var(--glass-specular);box-shadow:inset 0 1px 1px #ffffff20,var(--glass-shadow-standard)}
html[data-appearance=dark] :is(#ownerStatusCard,#partnerStatusCard){background:radial-gradient(ellipse at 15% 0,#ffffff12,transparent 48%),radial-gradient(ellipse at 90% 90%,rgba(var(--status-glass-tint),.10),transparent 65%),linear-gradient(145deg,#392a38f2,#271e2cef);border-color:#ffffff26;border-top-color:var(--glass-specular);box-shadow:inset 0 1px 1px #ffffff20,var(--glass-shadow-standard)}
html[data-appearance=dark] #bottomNav{background:linear-gradient(135deg,#493441eb,#2c202fed);border-color:#ffffff26;border-top-color:var(--glass-specular);box-shadow:inset 0 1px 1px #ffffff20,var(--glass-shadow);-webkit-backdrop-filter:blur(9px) saturate(150%);backdrop-filter:blur(9px) saturate(150%)}
html[data-appearance=dark] #bottomNav .nav-item.active,html[data-appearance=dark] :is(.primary-btn,#sendLoveNote){background:var(--accent-grad);color:#321322;text-shadow:none;box-shadow:inset 0 1px 1px #ffffff40,0 6px 22px #f5a8cf35}
html[data-appearance=dark] :is(.ghost-small,.secondary-btn,.appearance-settings select){background:var(--glass-controls-bg);color:var(--brand-dark);border-color:#ffffff28;box-shadow:inset 0 1px 1px #ffffff18}
html[data-appearance=dark] #chatView{background:radial-gradient(ellipse at 100% 0,#36263b,transparent 65%),#1c1420}
html[data-appearance=dark] #chatView :is(.chat-topbar,.chat-composer,.chat-reply-preview){background:linear-gradient(135deg,#493441ed,#2c202ff5)!important;border-color:#ffffff30!important;box-shadow:inset 0 1px 1px #ffffff25,var(--glass-shadow)!important}
html[data-appearance=dark] #chatView .chat-message.mine .chat-bubble{background:var(--accent-grad)!important;color:#321322!important;box-shadow:0 6px 18px #f5a8cf20}
html[data-appearance=dark] #chatView .chat-message.mine .chat-bubble :is(p,footer,small){color:#321322!important}
html[data-appearance=dark] #chatView .chat-message:is(.photo,.sticker) .chat-bubble{background:transparent!important;box-shadow:none}
html[data-appearance=dark] .auth-loading{background:radial-gradient(ellipse at 15% 0,#402333,transparent 62%),radial-gradient(ellipse at 100% 80%,#2e2142,transparent 60%),#1c1420}
/* Nested surfaces need their own treatment; never tint photos or stickers. */
html[data-appearance=dark] #homeView :is(.status-history-track,.status-history-head>span){background:#eab3cf12;color:var(--brand-dark);border:1px solid #ffffff18}
html[data-appearance=dark] #homeView .status-history-person{background:transparent;box-shadow:none}
html[data-appearance=dark] .love-note-stage{background:transparent;border:0}
html[data-appearance=dark] :is(.schedule-custom-fields,.schedule-time-fields,.schedule-note-field,.schedule-repeat-field,.schedule-week-picker,.profile-editor,.profile-preview,.voice-draft-player,.gallery-voice){background:#322632;color:var(--text);border-color:var(--line)}
html[data-appearance=dark] :is(.schedule-emoji,.schedule-emoji-palette button,.sheet-close-btn,.profile-photo-button,.status-reaction-history i,.partner-status-pill>span:first-child){background:#493344;color:var(--brand-dark);border-color:var(--line);box-shadow:none}
html[data-appearance=dark] .schedule-activity-picker button.selected{background:#58354e;border-color:var(--brand)}
html[data-appearance=dark] :is(.section-heading h2,.profile-editor-head h3,.profile-name-field,.edit-card label){color:var(--text)}
html[data-appearance=dark] :is(.app-menu,.schedule-sheet,.chat-more-menu,.chat-emoji-picker,.chat-action-sheet,.chat-extras-panel,.status-reaction-picker,.tutorial-card,.toast){background:linear-gradient(145deg,#40303ff5,#291f2dfc)!important;color:var(--text);border-color:var(--line)!important}
html[data-appearance=dark] :is(.app-menu-item,.chat-action-sheet button,.chat-more-menu button,.gallery-tabs button){background:transparent;color:var(--text)}
html[data-appearance=dark] :is(.app-menu-item small,.profile-editor p,.profile-editor small){color:var(--muted)}
html[data-appearance=dark] :is(.gallery-tabs button[aria-pressed=true],.schedule-week-picker button.active){background:#58354e;color:var(--brand-dark)}
html[data-appearance=dark] #chatView :is(.chat-empty,.chat-date-separator,.chat-new-marker,.chat-pinned-message){background:#322632!important;color:var(--text)!important}
html[data-appearance=dark] #chatView .chat-bubble a{color:#f1bbdf}
html[data-appearance=dark] #chatView .chat-message.mine .chat-bubble a{color:#401532}
html[data-appearance=dark] :is(.form-error,#chatExtrasError){color:#ffb4c8}
/* Chat defines light tokens locally; menus must not inherit those tokens. */
html[data-appearance=dark] :is(.chat-more-menu,.chat-action-sheet,.chat-extras-panel){--text:#f3e8ef;--muted:#c6aecb;--brand:#eab3cf;--brand-dark:#f6d9e8;--pink-soft:#58354e;color:#f3e8ef}
html[data-appearance=dark] :is(.chat-more-menu,.chat-action-sheet) button{color:#f3e8ef}
html[data-appearance=dark] :is(.chat-more-menu,.chat-action-sheet) button b{color:inherit}
html[data-appearance=dark] :is(.chat-more-menu,.chat-action-sheet) button span{color:#eab3cf}
html[data-appearance=dark] .chat-action-sheet button.danger,html[data-appearance=dark] .chat-action-sheet button.danger span{color:#ffb4c8}
@media(prefers-reduced-transparency:reduce){html[data-appearance=dark] :is(.topbar,.edit-card,.appearance-settings,#bottomNav),html[data-appearance=dark] #homeView :is(.time-pair-card,.quick-checkin-card,.status-history-card,.together-card){background:#322632;-webkit-backdrop-filter:none;backdrop-filter:none}}
