/* One composition, eight complete palettes. Decoration stays beside the cup. */
:root{--paper:#f5e8d8;--wash:#ead2b8;--glow:#fffaf0;--accent:#98482f;--ink:#493022;--body:#705442;--gold:#926329;--line:#d9c2a8;--card:#fff9f0;--card-end:#f9eddd;--disc:#ebd6b8;--decor:#a26838;--halo:#d9ab7770}
:root[data-theme="winter"]{--paper:#e7eff4;--wash:#c8dce8;--glow:#fafcff;--accent:#41627d;--ink:#283e52;--body:#51697b;--gold:#5a7890;--line:#bfd0dc;--card:#f8fcff;--card-end:#edf4f9;--disc:#dce9f1;--decor:#779bb5;--halo:#a7c8de60}
:root[data-theme="spring"]{--paper:#edf1e3;--wash:#cfdfbf;--glow:#fcfbef;--accent:#506b45;--ink:#354631;--body:#58654b;--gold:#6b794b;--line:#cbd6bc;--card:#fcfdf4;--card-end:#edf3e2;--disc:#dfe8ce;--decor:#779464;--halo:#bfd0a970}
:root[data-theme="summer"]{--paper:#fbefd4;--wash:#f3d592;--glow:#fffcef;--accent:#8b591e;--ink:#523b21;--body:#79613f;--gold:#987329;--line:#e4cc99;--card:#fffdf2;--card-end:#fbf0d5;--disc:#f2e2b5;--decor:#b88b3c;--halo:#ebc96765}
:root[data-theme="new-year"]{--paper:#e4ece3;--wash:#b9ccbb;--glow:#fbf7e9;--accent:#365d48;--ink:#2b4536;--body:#526754;--gold:#8a702e;--line:#bdcdbb;--card:#fcfcf1;--card-end:#eaf0e3;--disc:#e5e4c9;--decor:#6b875d;--halo:#9cb48b65}
:root[data-theme="christmas"]{--paper:#e6e7f1;--wash:#c1c8e0;--glow:#fff9e9;--accent:#505c85;--ink:#333c5b;--body:#5d637d;--gold:#8c7138;--line:#c8cce0;--card:#fcfbff;--card-end:#eeedf7;--disc:#e6e0cd;--decor:#a28c51;--halo:#afbad360}
:root[data-theme="valentine"]{--paper:#f6e5e7;--wash:#eabec7;--glow:#fff8f1;--accent:#98465e;--ink:#593443;--body:#795665;--gold:#a06270;--line:#dfbec7;--card:#fff9f8;--card-end:#f8e9ec;--disc:#f0d9df;--decor:#bd8392;--halo:#e5afb965}
:root[data-theme="march-8"]{--paper:#eee6f0;--wash:#d9c6e2;--glow:#fffae5;--accent:#79517f;--ink:#4c3654;--body:#715c78;--gold:#8b7331;--line:#d7c4db;--card:#fffaff;--card-end:#f2eaf5;--disc:#eee5bb;--decor:#a19350;--halo:#dfcdd770}
html{min-height:100%;background:var(--paper)}
body{isolation:isolate;background:radial-gradient(ellipse at 4% 8%,var(--wash),transparent 48%),radial-gradient(ellipse at 95% 90%,var(--wash),transparent 50%),linear-gradient(115deg,var(--glow),var(--paper) 65%);background-attachment:fixed;min-height:100vh}
.paper-grain{z-index:0;opacity:.035}header,main,footer{position:relative;z-index:1}
.menu-card{background:linear-gradient(115deg,var(--card),var(--card-end));border-color:var(--line);box-shadow:0 5px 22px color-mix(in srgb,var(--ink) 5%,transparent)}
.menu-card:hover{border-color:var(--accent);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 12%,transparent)}
.daily-card{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.account-button,.theme-option{background:var(--card);border-color:var(--line)}
.message-paper,.modal{background:linear-gradient(140deg,var(--card),var(--card-end));border-color:var(--line)}
.message-paper p{color:var(--ink)}.message-paper:before{color:var(--decor)}
.free-badge{background:var(--disc);color:var(--body)}
.hero-note,.access-note,footer,.prototype-label,.menu-trailing,.close-button,.demo-note,.date-dot{color:var(--body)}
.modal-footnote{color:var(--body)!important}.footer-dot{color:var(--gold)}footer{border-color:var(--line)}
.modal input{background:var(--card);border-color:var(--line)}
.cup-wrap{position:relative;isolation:isolate}.cup-wrap:before{content:'';position:absolute;inset:14%;border-radius:50%;z-index:-1;background:radial-gradient(circle,var(--halo),transparent 70%);transform:scale(1.45)}
.theme-decor{position:absolute;inset:-7% -15%;pointer-events:none;z-index:-1;color:var(--decor)}
.ornament{position:absolute;width:48px;height:48px;opacity:.65}
.ornament-0{left:1%;top:19%;transform:rotate(-19deg)}
.ornament-1{right:3%;top:9%;width:32px;height:32px;transform:rotate(17deg);opacity:.5}
.ornament-2{right:0;bottom:18%;width:23px;height:23px;transform:rotate(-12deg);opacity:.38}
[data-theme="spring"] .ornament-0,[data-theme="autumn"] .ornament-0,[data-theme="march-8"] .ornament-0{width:68px;height:68px}
[data-theme="summer"] .ornament-0{width:65px;height:65px}
[data-theme="valentine"] .ornament-1{transform:rotate(20deg)}
[data-theme="new-year"] .cup-wrap:after,[data-theme="christmas"] .cup-wrap:after{content:'';position:absolute;inset:4%;border:1px solid color-mix(in srgb,var(--gold) 18%,transparent);border-radius:50%;z-index:-1}
[data-theme="winter"] .theme-decor{background:radial-gradient(circle at 17% 62%,#fff 0 2px,transparent 3px),radial-gradient(circle at 80% 22%,#fff 0 3px,transparent 4px),radial-gradient(circle at 91% 64%,#fff 0 2px,transparent 3px)}
.theme-option{box-shadow:inset 4px 0 color-mix(in srgb,var(--accent) 12%,transparent)}
@media(max-width:720px){.theme-decor{inset:0 -17%}.ornament{width:36px;height:36px}.ornament-1{width:26px;height:26px}.ornament-2{width:18px;height:18px}[data-theme="spring"] .ornament-0,[data-theme="autumn"] .ornament-0,[data-theme="march-8"] .ornament-0,[data-theme="summer"] .ornament-0{width:46px;height:46px}.ornament-0{left:0;top:24%}.ornament-1{right:2%;top:15%}}

/* Still-life accent anchored to the cup, matching the album's lower-left composition. */
.theme-accent{position:absolute;width:36%;height:36%;background:url('./assets/accents/autumn.png') center/contain no-repeat;left:0;bottom:4%;z-index:2;pointer-events:none;user-select:none;filter:drop-shadow(0 4px 4px #40302012)}
[data-theme="spring"] .theme-accent{width:40%;height:40%;left:-1%;bottom:3%}
[data-theme="summer"] .theme-accent,[data-theme="christmas"] .theme-accent,[data-theme="valentine"] .theme-accent{width:30%;height:30%;left:2%;bottom:7%}
@media(max-width:720px){.cup-wrap{max-width:300px;width:100%;margin-bottom:8px}.theme-decor{inset:0 -5%}.ornament-0{left:0;top:17%}.ornament-1{right:0;top:10%}.ornament-2{right:0;bottom:21%}}
@media(max-width:720px){[data-theme="valentine"] .ornament-1{right:4%}}

/* Keep tablet ornaments within the cup column instead of outside the viewport. */
@media(min-width:721px) and (max-width:1000px){.theme-decor{inset:0}.ornament-0{left:0}.ornament-1{right:0}.ornament-2{right:0}}

/* Evening Coffee is a display preference; seasonal art and shared cards keep their theme. */
:root{color-scheme:light}
:root[data-appearance="dark"]{color-scheme:dark;--paper:#251e1a;--wash:#352820;--glow:#30251e;--ink:#edddc7;--body:#c2ad96;--gold:#d4ac70;--line:#69533f;--card:#30261f;--card-end:#382b22;--disc:#463525;--decor:#c29b68;--halo:#c99a4f20;--accent:#e2b587;--accent-deep:#d4a574}
[data-appearance="dark"] .primary-button{color:#251e1a}
[data-appearance="dark"] .skip{background:var(--card);color:var(--ink)}
[data-appearance="dark"] .error-message{color:#ffbaaa!important;background:#4b2923}
[data-appearance="dark"] .sent-card>span{color:#c1d0a4}
[data-appearance="dark"] input::placeholder{color:#b59d87;opacity:1}
[data-appearance="dark"] .toast{background:var(--card);color:var(--ink);border:1px solid var(--line)}
[data-appearance="dark"] .modal::backdrop{background:#100c0ab3}
[data-appearance="dark"] .cup{filter:drop-shadow(0 12px 20px #08050360)}
.appearance-options{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}
.appearance-options legend{font-size:12px;color:var(--body);margin-bottom:10px}
.appearance-options button{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 8px;min-height:44px;background:var(--card);color:var(--body);font-size:12px}
.appearance-options button[aria-pressed="true"]{border-color:var(--gold);color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold)}

/* Declarative images, like the cup: no load-handler or hidden-state dependency. */
:root[data-theme="winter"] .theme-accent{background-image:url('./assets/accents/winter.png')}
:root[data-theme="spring"] .theme-accent{background-image:url('./assets/accents/spring.png')}
:root[data-theme="summer"] .theme-accent{background-image:url('./assets/accents/summer.png')}
:root[data-theme="new-year"] .theme-accent{background-image:url('./assets/accents/new-year.png')}
:root[data-theme="christmas"] .theme-accent{background-image:url('./assets/accents/christmas.png')}
:root[data-theme="valentine"] .theme-accent{background-image:url('./assets/accents/valentine.png')}
:root[data-theme="march-8"] .theme-accent{background-image:url('./assets/accents/march-8.png')}

/* Coffee Day keeps the common controls and evening palette. */
:root[data-theme="coffee-day"]:not([data-appearance="dark"]){--paper:#f4eadb;--wash:#ddc5a7;--glow:#fffaf0;--accent:#745039;--ink:#493022;--body:#78604c;--gold:#926329;--line:#d8bea0;--card:#fffaf1;--card-end:#f3e6d4;--disc:#e9d6b9;--decor:#9b7952;--halo:#caa06b45}
:root[data-theme="coffee-day"] .cup{background-image:url('./assets/cups/coffee-day.png');background-size:contain;background-position:center!important;background-repeat:no-repeat}
:root[data-theme="coffee-day"] .theme-accent{background-image:url('./assets/accents/coffee-day-arc.png');width:80%;height:80%;left:-12%;bottom:-3%}

/* Maslenitsa has a separate triangular-ray sun cup; accent remains a separate layer. */
:root[data-theme="maslenitsa"]:not([data-appearance="dark"]){--paper:#fbf0df;--wash:#ecd1aa;--glow:#fffbf1;--accent:#966025;--ink:#523b28;--body:#7c6247;--gold:#a77a36;--line:#e2cba9;--card:#fffaf2;--card-end:#f8ebd8;--disc:#efdfc3;--decor:#bd955d;--halo:#e4bd7950}
:root[data-theme="maslenitsa"] .theme-accent{background-image:url('./assets/accents/maslenitsa.png');width:29%;height:29%;left:-4%;bottom:3%}
:root[data-theme="maslenitsa"] .cup{background-image:url('./assets/cups/maslenitsa.png');background-size:contain;background-position:center!important;background-repeat:no-repeat}

/* Local holiday kits: separate cups and accents; shared evening palette. */
:root[data-theme="family-day"]:not([data-appearance="dark"]){--paper:#f3f2e4;--wash:#dce0c2;--glow:#fffdf2;--accent:#6b7847;--ink:#39452e;--body:#657052;--gold:#79844d;--line:#d3d5b6;--card:#fffdf4;--card-end:#eff0dc;--disc:#e4e6c9;--decor:#9aab76;--halo:#bac88d45}
:root[data-theme="knowledge-day"]:not([data-appearance="dark"]){--paper:#f7ecdd;--wash:#e4cbb0;--glow:#fffaf0;--accent:#8a5038;--ink:#52392c;--body:#7c6350;--gold:#966a3c;--line:#ddc5a9;--card:#fffaf2;--card-end:#f3e5d2;--disc:#ead5b8;--decor:#ba946a;--halo:#d1a36d45}
:root[data-theme="mothers-day"]:not([data-appearance="dark"]){--paper:#f7eae8;--wash:#e9ccd0;--glow:#fff9f2;--accent:#996273;--ink:#583c48;--body:#866573;--gold:#a46d7c;--line:#dfc3cc;--card:#fff9f7;--card-end:#f3e3e5;--disc:#edd8de;--decor:#c092a1;--halo:#d9a3b345}
:root[data-theme="family-day"] .cup{background-image:url('./assets/cups/family-day.png');background-size:contain;background-position:center!important;background-repeat:no-repeat}
:root[data-theme="family-day"] .theme-accent{background-image:url('./assets/accents/family-day-v2.png');width:34%;height:34%;left:0;bottom:5%}
:root[data-theme="knowledge-day"] .cup{background-image:url('./assets/cups/knowledge-day.png');background-size:contain;background-position:center!important;background-repeat:no-repeat}
:root[data-theme="knowledge-day"] .theme-accent{background-image:url('./assets/accents/knowledge-day-v2.png');width:31%;height:31%;left:0;bottom:5%}
:root[data-theme="mothers-day"] .cup{background-image:url('./assets/cups/mothers-day.png');background-size:contain;background-position:center!important;background-repeat:no-repeat}
:root[data-theme="mothers-day"] .theme-accent{background-image:url('./assets/accents/mothers-day-v2.png');width:33%;height:33%;left:0;bottom:5%}
