:root{--surface:#fff;--surface-soft:#f3f6f4;--page:#eaf0ed;--text:#183028;--subtle:#607068;--border:#ccd8d2;--radius:18px;--display:Inter,"DM Sans",sans-serif;--body:Inter,"DM Sans",sans-serif}
body{background:var(--page);background-image:none;color:var(--text);font-family:var(--body)}
.hero{min-height:360px;background:linear-gradient(135deg,color-mix(in srgb,var(--red) 88%,#10221b),color-mix(in srgb,var(--green) 62%,#f4efe6));color:#fff}
.hero:before,.hero:after{display:none}.hero h1{font-family:var(--display);font-weight:850;line-height:.95;letter-spacing:-.045em;text-shadow:none;transform:none}.hero-copy{color:#f7fbf9}
.order-index,.category-coming,.builder,.summary{border-color:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 18px 50px #17392b16}
.category-card,.option,.shake-form,.promo-visual-builder,.promo-included-group{border-color:var(--border);border-radius:calc(var(--radius) - 5px);background:var(--surface)}
.category-card>strong,.builder-heading h2,.summary h2,.step-title h3,.shake-heading h2{font-family:var(--display);letter-spacing:-.02em;text-transform:none}
.start-button,.next-button{border-radius:999px;box-shadow:none}.kicker,.eyebrow{letter-spacing:.12em}.summary{border-top:5px solid var(--red)}
footer{background:#13231d}footer strong{font-family:var(--display);font-weight:850}

:root[data-theme="warm"]{--page:#f5ede2;--surface:#fffaf3;--surface-soft:#f7ead8;--text:#38271e;--subtle:#7c6658;--border:#dfcbb7;--radius:12px;--display:"DM Sans",sans-serif}
:root[data-theme="warm"] .hero{background:linear-gradient(135deg,color-mix(in srgb,var(--red) 82%,#4b2818),color-mix(in srgb,var(--green) 58%,#dca35d))}
:root[data-theme="warm"] .category-card,:root[data-theme="warm"] .option{box-shadow:0 7px 0 #8a5f3412}

:root[data-theme="minimal"]{--page:#f5f5f3;--surface:#fff;--surface-soft:#f5f5f3;--text:#151715;--subtle:#666b67;--border:#dfe2df;--radius:4px;--display:Inter,"DM Sans",sans-serif}
:root[data-theme="minimal"] .hero{min-height:300px;background:#171a18}
:root[data-theme="minimal"] .hero h1{font-weight:700;letter-spacing:-.06em}
:root[data-theme="minimal"] .order-index,:root[data-theme="minimal"] .category-coming,:root[data-theme="minimal"] .builder,:root[data-theme="minimal"] .summary{box-shadow:none}
:root[data-theme="minimal"] .start-button,:root[data-theme="minimal"] .next-button{border-radius:3px}
