/* Theme controls and self-contained seasonal styling. Artwork adapted from
   the separate site project; no runtime dependency on that application. */
.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.theme-choice{min-width:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface,#fff)}
.theme-selected{outline:2px solid var(--green);outline-offset:2px}
.theme-swatch{height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #203b3215}
.theme-swatch>svg{width:100%;height:100%;max-width:530px}
.swatch-standard{background:#f5f5ef}.swatch-halloween{background:#f4dfc3}.swatch-christmas-cosy{background:#e5eddf}.swatch-christmas-playful{background:#dceff5}
.theme-description{padding:18px 20px}.theme-description h2{margin:0 0 8px;font-size:21px}.theme-description h2 .badge{vertical-align:middle;display:inline-block;letter-spacing:0}
.theme-description p{margin:0 0 18px;min-height:45px}
.theme-actions{display:flex;flex-wrap:wrap;gap:10px}.theme-actions .button{white-space:normal;gap:8px;padding:12px 15px}
.theme-preview-note{max-width:1136px;margin:18px auto 0;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--green);border-radius:12px;background:var(--surface,#fff);font-size:13px;line-height:1.5}
.theme-preview-note .button{padding:8px 12px;font-size:12px;min-height:44px;white-space:nowrap}
html[data-site-theme="halloween"]{--ink:#402d46;--green:#85461e;--muted:#715b70;--paper:#fcf4e8;--surface:#fffaf2;--line:#e5cfb4;--accent:#f2d397;--soft:#f8e9d4;--hover:#693419;--focus:#8858a0;background:radial-gradient(ellipse at top right,#efdbe9,transparent 60%),var(--paper)}
html[data-site-theme="christmas-cosy"]{--ink:#30463d;--green:#315f49;--muted:#607265;--paper:#f7f7ee;--surface:#fffdf5;--line:#d6e1d4;--accent:#e9d495;--soft:#edf2e9;--hover:#234b38;--focus:#967227;background:radial-gradient(ellipse at top right,#dce8d5,transparent 60%),var(--paper)}
html[data-site-theme="christmas-playful"]{--ink:#29475b;--green:#147875;--muted:#536d80;--paper:#f0f8fc;--surface:#fffefa;--line:#c9e0e6;--accent:#f4d2de;--soft:#e8f4f5;--hover:#0c605e;--focus:#b24476;background:radial-gradient(ellipse at top left,#f8dce7,transparent 45%),radial-gradient(ellipse at bottom right,#d8f3f7,transparent 55%),var(--paper)}
html:not([data-site-theme="standard"]) :is(.checklist,.editor,.delivery){background:var(--surface)}
html:not([data-site-theme="standard"]) :is(input:not([type=checkbox]),textarea,select){background:var(--surface);border-color:var(--line)}


html:not([data-site-theme="standard"]) .badge{background:var(--soft);color:var(--ink)}
html:not([data-site-theme="standard"]) .complete{border-color:var(--green)}
html:not([data-site-theme="standard"]) :is(.complete .badge,.celebrate){background:var(--accent);color:var(--ink)}
html:not([data-site-theme="standard"]) .tasks li+li{border-color:var(--line)}
html:not([data-site-theme="standard"]) input:checked+span{color:var(--muted)}
html:not([data-site-theme="standard"]) :is(a,button,input,textarea,select,summary):focus-visible{outline-color:var(--focus)}
html:not([data-site-theme="standard"]) progress,html:not([data-site-theme="standard"]) progress::-webkit-progress-bar{background:var(--soft)}
.seasonal-welcome{position:relative;height:105px;margin:-28px 0 15px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;user-select:none;border-bottom:1px solid var(--line)}
.seasonal-welcome>svg{height:100%;width:min(100%,450px);overflow:visible}
.seasonal-sparkles{position:absolute;right:12%;top:24px;color:var(--green);font-size:23px;letter-spacing:14px;opacity:.5}
@media(max-width:700px){
 .theme-options{grid-template-columns:1fr;gap:16px}.theme-swatch{height:130px}
 .theme-description{padding:16px}.theme-description p{min-height:0}.theme-description h2{font-size:20px}
 .theme-actions .button{flex:1;font-size:13px;padding:10px}
 .theme-preview-note{margin:12px 20px 0;align-items:flex-start;gap:8px}
 .seasonal-welcome{height:76px;margin:-17px 0 15px}.seasonal-sparkles{right:0;top:18px;font-size:16px;letter-spacing:5px}
}


@media(hover:hover) and (pointer:fine){html:not([data-site-theme="standard"]) .button:hover{background:var(--hover)}html:not([data-site-theme="standard"]) .secondary:hover{background:var(--soft)}}
