/* Curated palettes: every accent remains readable against a light surface. */
[data-theme="garden"]{--blue:#476b55;--page:#f8f7e9;--surface:#fffef8;--soft:#edf0dd;--ink:#293d32;--muted:#586953;--line:#d3dac4}
[data-theme="ocean"]{--blue:#09647a;--page:#edf7fa;--surface:#fcfeff;--soft:#def0f5;--ink:#203b47;--muted:#4b6672;--line:#c3dde5}
[data-theme="indigo"]{--blue:#404aad;--page:#f1f2fc;--surface:#fefeff;--soft:#e5e7fa;--ink:#292d50;--muted:#5c6080;--line:#d0d3ec}
[data-theme="lavender"]{--blue:#705097;--page:#f8f2fb;--surface:#fffdfF;--soft:#efe4f5;--ink:#43334f;--muted:#73607f;--line:#dfcee9}
[data-theme="rose"]{--blue:#a13e5c;--page:#fff2f5;--surface:#fffdfd;--soft:#f9e1e8;--ink:#502f3a;--muted:#7b5864;--line:#edcbd6}
[data-theme="amber"]{--blue:#89570c;--page:#fff8e8;--surface:#fffefa;--soft:#faedc9;--ink:#473a24;--muted:#746343;--line:#e8d7b1}
[data-theme="slate"]{--blue:#465b70;--page:#f1f4f7;--surface:#fff;--soft:#e3eaf0;--ink:#2b3845;--muted:#5c6a78;--line:#ccd6df}
[data-theme="mint"]{--blue:#206d61;--page:#edf8f1;--surface:#fcfffd;--soft:#ddf0e6;--ink:#244038;--muted:#526e63;--line:#bedccd}
html[data-theme],html[data-theme] body{background:var(--page);color:var(--ink)}
html[data-theme] .topbar,html[data-theme] .panel,html[data-theme] .cookie-panel,html[data-theme] .session-card,html[data-theme] .result-card{background:var(--surface);border-color:var(--line)}
html[data-theme] .secondary,html[data-theme] .step,html[data-theme] .tag,html[data-theme] .choice:has(input:checked),html[data-theme] .session-card.selected{background:var(--soft);color:var(--ink)}
html[data-theme] .primary,html[data-theme] .mark{background:var(--blue);color:#fff}
html[data-theme] .muted,html[data-theme] .intro,html[data-theme] .course,html[data-theme] .brand small,html[data-theme] .site-footer{color:var(--muted)}
html[data-theme] .garden-score{background:var(--soft);border-color:var(--surface)}html[data-theme] .garden-score strong,html[data-theme] .garden-score span{color:var(--blue)}
html[data-theme] input,html[data-theme] select,html[data-theme] textarea{border-color:var(--line)}
html[data-landing-image="false"] .study-banner:has(~main #join-form){display:none}
#app:has(#join-form)>h1,#app:has(#join-form)>.intro{overflow-wrap:anywhere}
html[data-landing-layout="centered"] #app:has(#join-form){max-width:850px}
html[data-landing-layout="centered"] #app:has(#join-form)>:is(h1,.eyebrow,.intro){text-align:center;margin-left:auto;margin-right:auto}
html[data-landing-layout="centered"] #app:has(#join-form)>.layout,html[data-landing-layout="compact"] #app:has(#join-form)>.layout{grid-template-columns:1fr}
html[data-landing-layout="compact"] #app:has(#join-form){max-width:880px;padding-top:22px}
html[data-landing-layout="compact"] #app:has(#join-form) .field{margin-bottom:14px}
html[data-landing-layout="compact"] .study-banner:has(~main #join-form){height:90px}
html[data-landing-layout="split"] #app:has(#join-form){display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:8px 40px;align-items:start}
html[data-landing-layout="split"] #app:has(#join-form)>.eyebrow{grid-column:1;grid-row:1}
html[data-landing-layout="split"] #app:has(#join-form)>h1{grid-column:1;grid-row:2;font-size:44px}
html[data-landing-layout="split"] #app:has(#join-form)>.intro{grid-column:1;grid-row:3}
html[data-landing-layout="split"] #app:has(#join-form)>.layout{grid-column:2;grid-row:1 / span 4;grid-template-columns:1fr}
.appearance-editor{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.2fr);gap:28px;align-items:start}.appearance-editor textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;resize:vertical}
.theme-picker{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-picker legend{font-weight:650;font-size:13px;margin-bottom:12px}.theme-option{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--page);color:var(--ink);cursor:pointer}.theme-option:has(input:checked){outline:2px solid var(--blue);outline-offset:1px}.theme-dot{width:20px;height:20px;background:var(--blue);border-radius:50%;flex:none}.theme-option input{accent-color:var(--blue)}
.appearance-preview{background:var(--page);color:var(--ink);border:1px solid var(--line);border-radius:20px;overflow:hidden}.preview-banner{height:130px;background:url('./theme-garden.png') center 64%/cover}.appearance-preview[data-image="false"] .preview-banner{display:none}.preview-body{padding:24px}.preview-body h2{font-size:25px;line-height:1.3;overflow-wrap:anywhere}.preview-body>p{font-size:13px;overflow-wrap:anywhere;color:var(--muted)}.preview-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.preview-columns .panel{padding:16px;background:var(--surface);border-color:var(--line)}.preview-columns p,.preview-columns h3{font-size:12px}.preview-input{height:30px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.preview-button{background:var(--blue);color:white;padding:10px;margin-top:20px;text-align:center;border-radius:8px;font-size:12px}.appearance-preview[data-layout="centered"] .preview-body>p,.appearance-preview[data-layout="centered"] .preview-body>h2{text-align:center}.appearance-preview[data-layout="centered"] .preview-columns,.appearance-preview[data-layout="compact"] .preview-columns,.appearance-preview[data-layout="split"] .preview-columns{grid-template-columns:1fr}.appearance-preview[data-layout="compact"] .preview-banner{height:65px}.appearance-preview[data-layout="compact"] .preview-body{padding:16px}.appearance-preview[data-layout="split"] .preview-body{display:grid;grid-template-columns:1fr 1.2fr;gap:8px 16px}.appearance-preview[data-layout="split"] .preview-body>.eyebrow{grid-column:1;grid-row:1}.appearance-preview[data-layout="split"] .preview-body>h2{grid-column:1;grid-row:2}.appearance-preview[data-layout="split"] .preview-body>#preview-subtitle{grid-column:1;grid-row:3}.appearance-preview[data-layout="split"] .preview-columns{grid-column:2;grid-row:1 / span 4}
@media(max-width:900px){.appearance-editor{grid-template-columns:1fr}html[data-landing-layout="split"] #app:has(#join-form){display:block}html[data-landing-layout="split"] #app:has(#join-form)>h1{font-size:34px}}@media(max-width:480px){.preview-columns{grid-template-columns:1fr}.appearance-preview[data-layout="split"] .preview-body{display:block}.theme-option{padding:9px}.preview-body{padding:18px}}
.study-banner,.preview-banner{background-image:none;overflow:hidden}.header-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.header-picker{border:0;padding:0;margin:12px 0 22px;min-width:0}.header-picker legend{font-size:13px;font-weight:650;margin-bottom:12px}#header-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.header-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-width:0;background:var(--surface)}.header-option:has(input:checked){outline:2px solid var(--blue)}.header-option img{grid-column:1 / -1;grid-row:1;width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:8px}.header-option input{accent-color:var(--blue)}.header-option span{font-size:12px;overflow-wrap:anywhere}.header-upload{padding:16px;border:1px dashed var(--line);border-radius:12px;margin-bottom:22px}.header-upload input{max-width:100%;font-size:13px}#header-delete[hidden]{display:none}#header-status{font-size:13px;color:var(--ink)}
