/* 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:auto;aspect-ratio:1;object-fit:contain;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%;left:-1%;bottom:3%}
[data-theme="summer"] .theme-accent,[data-theme="christmas"] .theme-accent,[data-theme="valentine"] .theme-accent{width: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}}
