/* Semantic colors are applied to the creator and each recipient independently. */
:root{--wow-accent:#ad4d79;--wow-accent-dark:#89315b;--wow-soft:#f0b7d0;--wow-background:#fff8fb;--wow-surface:#fae6ef;--wow-ink:#422537;--wow-muted:#8b657b;--wow-line:#e5c6d7;--wow-paper:#fffdf9}
body[data-theme]{background:var(--wow-background);color:var(--wow-ink)}
body[data-theme] .primary,body[data-theme] .landing .hero-action .primary,.lyw-recipient[data-theme] .lr-primary,.lyw-recipient[data-theme] .lr-open-hint{background:linear-gradient(120deg,var(--wow-accent),var(--wow-accent-dark));color:#fff;box-shadow:0 12px 28px -12px var(--wow-accent)}
body[data-theme] .glow::before{background:var(--wow-soft)}
body[data-theme] .hero-visual,body[data-theme] #live-preview{background:radial-gradient(ellipse at 50% 30%,var(--wow-paper),var(--wow-surface));border-color:var(--wow-line)}
body[data-theme] .hero-copy h1 em,body[data-theme] .burst-heart,body[data-theme] .progress>div>span{color:var(--wow-accent)}
body[data-theme] .progress{background:var(--wow-surface);border-color:var(--wow-line)}
body[data-theme] .progress>div{background:linear-gradient(90deg,var(--wow-soft),var(--wow-accent))}
body[data-theme] :is(.delivery-panel,.theme-editor,.meeting-editor,.date-photo-editor,.media-slot,.format,.activity,.option,.field input,.field textarea,.field select){background:var(--wow-background);border-color:var(--wow-line);color:var(--wow-ink)}
body[data-theme] :is(.field,.form-note,.step-description,.hero-note,.intro,.delivery-panel>p,.meeting-editor h2,.theme-editor>p,.quiet,.live-meta,.live-meta button,.builder-nav>span,.landing-footer button){color:var(--wow-muted)}
body[data-theme] :is(.activity strong,.option strong,.signature-summary>strong,.delivery-method strong,.identity-picker button,.meeting-modes button,.count-picker button,.inline-action){color:var(--wow-ink)}
body[data-theme] :is(.identity-picker button,.meeting-modes button,.count-picker button,.media-tab,.delivery-method){background:var(--wow-background);border-color:var(--wow-line);color:var(--wow-ink)}
body[data-theme] :is(button[aria-pressed=true],.delivery-method.is-selected){border-color:var(--wow-accent);background:var(--wow-surface);color:var(--wow-ink)}
body[data-theme] :is(.selected-dot,.media-tab .added){background:var(--wow-accent);color:#fff}
body[data-theme] :is(.format-art.envelope,.format-art.gift){background:var(--wow-soft)}
body[data-theme] .format-art.envelope::before{background:var(--wow-accent)}
body[data-theme] .format-art.scratch{background:linear-gradient(130deg,var(--wow-soft),var(--wow-surface))}
body[data-theme] .recipient-time-explainer{background:var(--wow-surface)}
body[data-theme] .recipient-time-explainer p{color:var(--wow-ink)}
body[data-theme] .next-bar{background:var(--wow-background);border-color:var(--wow-line)}
body[data-theme=night] .info-dialog{background:var(--wow-background);color:var(--wow-ink)}
body[data-theme=night] .info-dialog p,body[data-theme=night] #step-description{color:var(--wow-muted)}
.lyw-recipient[data-theme]{background:radial-gradient(ellipse at 15% 5%,var(--wow-surface),transparent 55%),var(--wow-background)}
.lyw-recipient[data-theme] .lr-letter{background:var(--wow-paper);border-color:var(--wow-line)}
.lyw-recipient[data-theme] .lr-envelope-back,.lyw-recipient[data-theme] .lr-envelope-front,.lyw-recipient[data-theme] .lr-envelope-flap{background:var(--wow-soft)}
.lyw-recipient[data-theme] .lr-envelope-seal{background:var(--wow-accent);border-color:var(--wow-soft)}
.lyw-recipient[data-theme] .lr-progress span.is-active{background:var(--wow-accent)}
.lyw-recipient[data-theme] .lr-opening-art::before{background:radial-gradient(ellipse,var(--wow-soft),transparent 70%)}
.lyw-recipient[data-theme] :is(.lr-title,.lr-open-title,.lr-note-words,.lr-letter-emblem){color:var(--wow-accent)}
.theme-editor{margin:0 0 18px;padding:20px;border:1px solid var(--wow-line);border-radius:22px;background:var(--wow-background)}
.theme-editor h2{font-size:20px;line-height:1.2;margin:0 0 7px;letter-spacing:-.4px}.theme-editor>p{font-size:12px;line-height:1.5;color:var(--wow-muted);margin:0 0 16px}
.theme-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 5px}
.theme-swatch{border:0!important;background:transparent!important;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:2px;color:var(--wow-ink);font-size:10px;line-height:1.3}
.theme-swatch i{position:relative;width:41px;height:41px;display:block;border-radius:50%;background:var(--swatch);border:1px solid #00000018;box-shadow:inset 0 2px 4px #ffffff66}
.theme-swatch[aria-pressed=true] i{outline:2px solid var(--wow-accent);outline-offset:4px}.theme-swatch[aria-pressed=true] i::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:18px;font-style:normal;color:#fff;text-shadow:0 1px 3px #0008}.theme-swatch[data-theme-choice=ivory][aria-pressed=true] i::after,.theme-swatch[data-theme-choice=lemon][aria-pressed=true] i::after{color:#3d3425;text-shadow:none}
.theme-swatch span{min-height:26px;display:flex;align-items:start;justify-content:center;overflow-wrap:anywhere;max-width:100%}
@media(max-width:350px){.theme-editor{padding:16px}.theme-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Folded paper stays three dimensional in every palette. */
.lyw-recipient[data-theme] .lr-envelope-front{background:linear-gradient(147deg,transparent 49.4%,var(--wow-soft) 50%) left/51% 100% no-repeat,linear-gradient(213deg,transparent 49.4%,var(--wow-soft) 50%) right/51% 100% no-repeat,linear-gradient(30deg,var(--wow-soft),var(--wow-surface))}
.lyw-recipient[data-theme] .lr-envelope-flap{background:linear-gradient(150deg,var(--wow-surface),var(--wow-soft))}
.lyw-recipient[data-theme] .lr-envelope-back{background:linear-gradient(145deg,var(--wow-soft),var(--wow-accent))}
.lyw-recipient[data-theme] .lr-envelope-note,.lyw-recipient[data-theme] .lr-gift-note{background:var(--wow-paper);border-color:var(--wow-line)}
.lyw-recipient[data-theme] .lr-gift-box,.lyw-recipient[data-theme] .lr-gift-lid{background:linear-gradient(140deg,var(--wow-surface),var(--wow-soft));border-color:var(--wow-line)}
.lyw-recipient[data-theme] .lr-gift-box{box-shadow:inset 0 0 0 7px #fff3,0 9px 0 var(--wow-accent),0 13px 0 #0002}
.lyw-recipient[data-theme] :is(.lr-activity,.lr-time-slot,.lr-own-idea,.lr-time-field input,.lr-own-idea-field textarea,.lr-review-ticket){background:var(--wow-paper);border-color:var(--wow-line);color:var(--lr-ink)}
.lyw-recipient[data-theme] :is(.lr-time-field>span,.lr-own-idea-field,.lr-activity-title,.lr-review-row dt,.lr-meeting-title,.lr-review-hint,.lr-choice-hint,.lr-time-hint){color:var(--wow-muted)}
.lyw-recipient[data-theme] :is(.lr-activity[aria-pressed=true],.lr-time-slot[aria-pressed=true],.lr-own-idea[aria-expanded=true]){background:var(--wow-surface);border-color:var(--wow-accent)}
.lyw-recipient[data-theme] :is(.lr-meeting-map,.lr-back,.lr-confirm-note,.lr-activity-check,.lr-review-change,.lr-ticket-mark,.lr-float-heart){color:var(--wow-accent)}
.lyw-recipient[data-theme] .lr-meeting-card{border-color:var(--wow-line)}
.lyw-recipient[data-theme] .lr-review>.lr-journey-actions{background:linear-gradient(0deg,var(--wow-background) 80%,transparent)}
.lyw-recipient[data-theme=night] :is(.lr-letter,.lr-review-ticket,.lr-activity,.lr-own-idea){--wow-muted:#7c7383}
body[data-theme] :is(.chat-example,.audience-cards article,.hero-speed){background:var(--wow-background);border-color:var(--wow-line)}
body[data-theme] :is(.chat-example-copy h2,.audience-cards h3){color:var(--wow-ink)}
body[data-theme] :is(.hero-paper-caption,.hero-speed,.eyebrow,.audience-cards article>span){color:var(--wow-accent)}
body[data-theme] :is(.activity img,.date-photo-cover img)[src$='.svg'],.lyw-recipient[data-theme] .lr-activity-image[src$='.svg']{filter:hue-rotate(var(--wow-hue))}
body[data-theme=night] :is(.activity img,.date-photo-cover img)[src$='.svg'],body[data-theme=ivory] :is(.activity img,.date-photo-cover img)[src$='.svg'],.lyw-recipient[data-theme=night] .lr-activity-image[src$='.svg'],.lyw-recipient[data-theme=ivory] .lr-activity-image[src$='.svg']{filter:grayscale(1)}
body[data-theme] .field input::placeholder,body[data-theme] .field textarea::placeholder{color:var(--wow-muted);opacity:.85}
body[data-theme] .telegram-connect{background:var(--wow-surface);border-color:var(--wow-line);color:var(--wow-ink)}
body[data-theme] .telegram-connect small{color:var(--wow-muted)}
