/* Quiet glass surfaces, with opaque fallbacks and accessible motion preferences. */
:root{--glass-card:color-mix(in srgb,var(--card) 88%,transparent);--glass-edge:color-mix(in srgb,var(--card) 70%,var(--line));--glass-shadow:0 8px 28px #4b3b550b, inset 0 1px 0 #ffffff8c}
body{background-color:var(--paper);background-image:radial-gradient(ellipse at 12% 0%,color-mix(in srgb,var(--wash) 72%,transparent),transparent 44%),radial-gradient(ellipse at 92% 70%,color-mix(in srgb,var(--wash) 55%,transparent),transparent 48%),radial-gradient(#a59a8918 .8px,transparent .8px);background-size:100% 100%,100% 100%,12px 12px;background-attachment:fixed}
.card{background:var(--card);box-shadow:var(--glass-shadow)}
@supports(backdrop-filter:blur(12px)){
 .card{background:var(--glass-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--glass-edge)}
 .header nav{background:color-mix(in srgb,var(--card) 64%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 #ffffff8c; padding:4px;border-radius:32px}
 dialog{background:color-mix(in srgb,var(--card) 95%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 80px #30203730,inset 0 1px 0 #ffffff9c}
 .reward-strip{background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
.focus-card{background:linear-gradient(155deg,color-mix(in srgb,var(--card) 96%,transparent),color-mix(in srgb,var(--soft) 88%,transparent))}
.notes-card textarea{background-color:color-mix(in srgb,var(--card) 72%,transparent)}
.primary-button,.secondary-button,.small-button,.header nav a,.icon-button{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.secondary-button:hover{box-shadow:0 3px 10px #4b3b5510;transform:translateY(-1px)}
.primary-button:active,.secondary-button:active,.small-button:active{transform:translateY(0) scale(.98)}
dialog[open]{animation:petal-dialog-in .22s ease-out}
.view:not([hidden]){animation:petal-view-in .2s ease-out}
@keyframes petal-view-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
dialog::backdrop{background:#34323c48;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@keyframes petal-dialog-in{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:none}}
.reward-strip{margin-top:20px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--glass-shadow);background-color:var(--card)}
.reward-strip .eyebrow{font-size:10px}.reward-strip h2{font-family:'DM Serif Display',Georgia,serif;font-size:25px;font-weight:400;margin-bottom:6px}.reward-strip p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:600px}
.reward-strip button{font-size:14px;flex-shrink:0}.quiet-mode .reward-strip{display:none}
.focus-surprise{margin:0 24px 18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 75%,var(--wash));text-align:left}.focus-surprise-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--accent-strong)}.focus-surprise-heading .icon{width:19px;height:19px}.focus-surprise-heading .eyebrow{font-size:9px;letter-spacing:1px;margin:0;color:var(--accent-strong)}.focus-surprise h3{font-size:16px;line-height:1.45;font-weight:600}.focus-surprise p{font-size:14px;line-height:1.6;color:var(--muted);margin:5px 0 10px}.focus-surprise .secondary-button{font-size:13px;min-height:38px;padding:9px 12px;width:100%;background:var(--wash)}.focus-surprise.is-ready{border-color:var(--accent);background:var(--wash)}.focus-surprise.is-ready .secondary-button{background:var(--accent);color:var(--card)}[data-mode=dark] .focus-surprise.is-ready .secondary-button{color:var(--paper)}.focus-surprise progress{display:block;width:100%;height:6px;appearance:none;border:0;border-radius:8px;overflow:hidden;margin:9px 0 13px;background:var(--line);accent-color:var(--accent)}.focus-surprise progress::-webkit-progress-bar{background:var(--line);border-radius:8px}.focus-surprise progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.focus-surprise progress::-moz-progress-bar{background:var(--accent);border-radius:8px}.focus-surprise.newly-ready{animation:surprise-ready .65s ease-out}@keyframes surprise-ready{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 35%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
.header nav a[data-view=progress]{display:inline-flex;align-items:center;gap:6px}.surprise-nav-badge{font-size:10px;font-weight:650;line-height:1.4;padding:4px 6px;background:var(--accent);color:var(--card);border-radius:20px;white-space:nowrap}[data-mode=dark] .surprise-nav-badge{color:var(--paper)}
.wins-surprises{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:24px;background:var(--wash)}.wins-surprises h2{font-family:'DM Serif Display',Georgia,serif;font-size:24px;font-weight:400;margin-bottom:6px}.wins-surprises p{font-size:14px;color:var(--muted)}.wins-surprises button{font-size:14px;flex-shrink:0}
@media(max-width:760px){.header nav a{padding-left:10px;padding-right:10px}.wins-surprises{align-items:flex-start;flex-direction:column;padding:20px}.wins-surprises button{width:100%}.surprise-nav-badge{font-size:10px;padding:3px 5px}}
.install-section{border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px}.install-section>p{font-size:14px;color:var(--muted);margin:10px 0}.install-section>.secondary-button{font-size:14px;margin-top:6px}.install-section details{margin-top:12px;font-size:14px}.install-section summary{cursor:pointer;font-weight:550}.install-section ol{padding-left:23px;line-height:1.8}.install-section details p{margin-top:12px}.install-header{font-size:12px;white-space:nowrap;padding:9px 12px;min-height:36px}.connection-status{font-size:14px;line-height:1.6;padding:12px 16px;margin-top:15px;border:1px solid var(--line);border-radius:10px;background:var(--wash);color:var(--ink)}.connection-status .text-button{margin-left:8px;font-size:14px}
.tasks-priority{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,440px);align-items:center;gap:14px 24px;padding:18px 22px;margin-bottom:20px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--glass-shadow),inset 4px 0 0 var(--accent)}
.tasks-priority .card-heading{padding:0;justify-content:flex-start;gap:14px}.tasks-priority .card-heading h2{font-size:18px;letter-spacing:-.3px}.tasks-priority .card-heading h2>.icon{width:21px;height:21px}.tasks-priority #task-count{font-size:13px;font-weight:600;background:var(--wash);color:var(--accent-strong);padding:6px 10px;border-radius:20px;white-space:nowrap}.tasks-priority .inline-form{margin:0;width:100%}.tasks-priority .inline-form input{font-size:14px;padding:12px 14px}.tasks-priority .inline-form .icon-button{width:44px;height:44px}.tasks-priority .inline-form .icon{width:18px;height:18px}
.tasks-priority .item-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:0;max-height:164px;overscroll-behavior:contain;padding:0 4px 0 0}.tasks-priority .list-item{border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:8px 10px;gap:10px;min-width:0}.tasks-priority .item-text{font-size:14px}.tasks-priority .list-item input[type=checkbox]{width:19px;height:19px}.tasks-priority .list-item .icon-button{width:32px;height:32px}.tasks-priority .list-item.done{background:transparent}.tasks-priority .empty-copy{grid-column:1/-1;padding:0;font-size:14px;line-height:1.6}.tasks-priority .item-list:empty{display:none}
@media(min-width:1151px){.desk-grid .gift-card{grid-column:2/-1}}
@media(max-width:1150px){.tasks-priority .item-list{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-grid .notes-card,.desk-grid .later-card{grid-row:2}.desk-grid .gift-card{grid-row:3}}
@media(max-width:760px){.tasks-priority{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 20px;margin-bottom:16px}.tasks-priority .card-heading{justify-content:space-between}.tasks-priority .item-list{grid-template-columns:minmax(0,1fr);max-height:196px}.tasks-priority .inline-form input{font-size:16px}.tasks-priority .card-heading h2{font-size:18px}.desk-grid .notes-card,.desk-grid .later-card,.desk-grid .gift-card{grid-row:auto;grid-column:auto}}
@media(max-width:760px){.header .install-header{order:4;margin:10px auto 0}.install-section ol{padding-left:20px}}
@supports(backdrop-filter:blur(12px)){.reward-strip{background-color:color-mix(in srgb,var(--card) 82%,transparent)}}
.rewards-dialog,.letter-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}
.rewards-dialog h2,.letter-dialog h2{font-family:'DM Serif Display',Georgia,serif;font-size:30px;font-weight:400;line-height:1.25}
.reward-intro{font-size:16px;color:var(--muted);margin:0 0 18px}.rewards-dialog #reward-progress{font-size:14px;color:var(--accent-strong);margin-bottom:18px}
.reward-list{display:grid;gap:12px}.reward-letter{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.reward-letter.unlocked{background:var(--card)}.reward-label{font-size:11px;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.reward-letter h3{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.reward-letter button{font-size:14px;white-space:nowrap}.reward-letter button:disabled{cursor:default;opacity:.7;background:transparent;color:var(--muted);box-shadow:none;transform:none}
.reward-empty{padding:26px 0}.reward-empty h3{font-size:20px;margin-bottom:8px}.reward-empty p{font-size:16px;color:var(--muted)}
.letter-body{font-size:17px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;padding:24px 0;color:var(--ink)}
.letter-dialog .eyebrow{overflow-wrap:anywhere}.letter-dialog .dialog-heading{align-items:flex-start}.letter-dialog audio{width:100%;margin:12px 0}.voice-label{font-size:14px;color:var(--accent-strong)}.letter-dialog .dialog-actions button{font-size:14px}
[data-theme=night]{--glass-shadow:0 8px 28px #0002,inset 0 1px 0 #ffffff0c;--glass-edge:var(--line)}
[data-theme=night] .header nav,[data-theme=night] dialog{box-shadow:inset 0 1px 0 #ffffff0c}
[data-mode=dark]{color-scheme:dark;--ink:#ece8f3;--muted:#b3afc1;--sage:#a5bba0;--error:#ffa0a7;--glass-shadow:0 8px 28px #0002,inset 0 1px 0 #ffffff0c;--glass-edge:var(--line)}
[data-mode=dark] .primary-button{color:var(--paper)}
[data-mode=dark] .header nav,[data-mode=dark] dialog{box-shadow:inset 0 1px 0 #ffffff0c}
[data-mode=dark] .gift-card{border-color:var(--line)}[data-mode=dark] .book-art{opacity:.8}[data-mode=dark] .toast{color:var(--paper)}[data-mode=dark] .video-area.has-video{background:#111}
[data-theme=rose-night]{--paper:#211821;--card:#2c202b;--ink:#f6eaf0;--muted:#c6aebb;--line:#59414e;--accent:#dfa0b7;--accent-strong:#f0b8cd;--wash:#3c2936;--soft:#2a1e29;--sage:#b4c7ad}
[data-theme=ocean-night]{--paper:#142526;--card:#1d3233;--ink:#e6f1ee;--muted:#adc0bd;--line:#415a5b;--accent:#86c5c1;--accent-strong:#a6ddd4;--wash:#2c4644;--soft:#223b3a;--sage:#a5c8ac}
[data-theme=midnight]{--paper:#171e30;--card:#212b42;--ink:#edf1fa;--muted:#b0bed6;--line:#435274;--accent:#9cb8f3;--accent-strong:#bfd0fb;--wash:#303f60;--soft:#26304a;--sage:#a7c8bd}
[data-theme=graphite]{--paper:#202124;--card:#2a2c31;--ink:#f0f0f3;--muted:#babdc9;--line:#4a4e59;--accent:#b8bbcc;--accent-strong:#d3d5e3;--wash:#3a3d47;--soft:#30333b;--sage:#b5c8b2}
@media(max-width:760px){.header nav{flex-wrap:wrap}.reward-strip{padding:20px;align-items:flex-start;flex-direction:column;gap:14px}.reward-strip button{width:100%;min-height:44px}.reward-letter{align-items:flex-start;flex-direction:column;gap:12px}.reward-letter button{min-height:44px}.rewards-dialog,.letter-dialog{padding:24px 20px}.rewards-dialog h2,.letter-dialog h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.primary-button:hover,.secondary-button:hover,.primary-button:active,.secondary-button:active,.small-button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.card,.header nav,dialog,.reward-strip,.focus-card,.notes-card textarea{background-color:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none}.focus-card{background-image:none}dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
