/* Original Bloomletter Rose theme tokens, adapted to the scroll landing. */
:root {
  color-scheme:light;
  --ink:#43222e; --muted:#8f5b46; --accent:#e2776a; --accent-text:#43222e;
  --surface:rgba(255,249,243,.85); --line:rgba(170,88,56,.22);
  --glass:rgba(255,246,238,.94); --dock:#f9dcd0; --footer:#f4b9a6;
  --header-surface:#fff6ee;
  --page:radial-gradient(120% 90% at 15% -5%,#fef6f3 0%,rgba(254,246,243,0) 55%),linear-gradient(148deg,#fdeee8 0%,#f9dcd0 42%,#f4b9a6 78%,#eeab90 100%);
  --ribbon-a:#eaa093; --ribbon-b:#d96565; --ribbon-c:#f4b9a6;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --ink:#fce7f3; --muted:#cc8aab; --accent:#f0a0cc; --accent-text:#5c0a28;
  --surface:rgba(70,18,40,.88); --line:rgba(240,160,204,.23);
  --glass:rgba(30,13,24,.94); --dock:#2e1220; --footer:#1e0d18;
  --header-surface:#2e1220;
  --page:radial-gradient(140% 110% at 50% -15%,#4e1a30 0%,#2e1220 55%,#1e0d18 100%);
  --ribbon-a:#f9a8d4; --ribbon-b:#cc6b9c; --ribbon-c:#f0a0cc;
}
html{background:var(--footer)}
.letter .postcard-inner span{font:italic 18px var(--serif);color:#9b6677;margin:0}
.letter .postcard-inner strong{font:italic 38px var(--serif);font-weight:400;color:#9b6677;margin:7px}
.letter .postcard-inner i{font:25px Georgia;color:#b68591}
.letter:has(.postcard-inner):after{display:none}
body{background:var(--page);background-attachment:fixed;color:var(--ink)}
.site-header:before{background:linear-gradient(var(--glass),transparent)}
.brand .brand-flower,.hero h1 em,h2 em,.feature-icon,.steps li>span,.ribbon-word{color:var(--accent)}
.site-header nav a,.lead,.eyebrow,.micro,.scroll-note,.features p,.steps p,.faq p,.text-link,.prompt-card>span,.story-indicator,.landing-footer p,.landing-footer>a:last-child{color:var(--muted)}
.button{background:var(--accent);color:var(--accent-text)}
.button:hover{background:var(--accent);filter:brightness(1.08)}
.button span{background:#ffffff26}
.feature-icon,.prompt-card,.occasions button{background:var(--surface)}
.prompt-card p,.faq summary,.occasions button{color:var(--ink)}
.occasions button,.faq details,.steps li,.text-link{border-color:var(--line)}
.occasions button.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}
.eyebrow>span,.mouse-line{background:var(--accent)}
.faq summary:after{color:var(--accent)}
h3 small{background:var(--surface);color:var(--muted)}
.landing-footer{background:var(--footer)}
#again{background:var(--surface);color:var(--muted);border-color:var(--line)}
.theme-toggle{flex-shrink:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:24px;padding:11px 15px;font:12px var(--sans);cursor:pointer;min-height:44px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)}
#silk stop:nth-child(1){stop-color:var(--ribbon-a)}
#silk stop:nth-child(2){stop-color:var(--ribbon-b)}
#silk stop:nth-child(3){stop-color:var(--ribbon-c)}
[data-theme="light"] .back{background:#c9817b;box-shadow:0 20px 45px #a85c4933}
[data-theme="light"] .pocket{background:linear-gradient(145deg,#efb3a9,#d9968c)}
[data-theme="light"] .pocket:after{background:linear-gradient(145deg,#f3c0b3,#e1a094)}
[data-theme="light"] .lid{background:linear-gradient(160deg,#fbe0d3,#e5a99b)}
[data-theme="dark"] .back{background:#a86185;box-shadow:0 20px 50px #10050e60}
[data-theme="dark"] .pocket{background:linear-gradient(145deg,#dda3bf,#b97599)}
[data-theme="dark"] .pocket:after{background:linear-gradient(145deg,#e6b2ca,#c489a9)}
[data-theme="dark"] .lid{background:linear-gradient(160deg,#f2c7db,#c68aa9)}
[data-theme="dark"] .lid-back{background:#b97599}
[data-theme="dark"] .seal{background:radial-gradient(circle at 30% 20%,#bd6e99,#873455);color:#fce7f3}
[data-theme="dark"] .postcard,[data-theme="dark"] .letter{background:#fce7f3;box-shadow:0 20px 50px #10050e45}
[data-theme="dark"] .butterfly{filter:hue-rotate(320deg) saturate(.8)}
[data-theme="dark"] .silk{filter:drop-shadow(0 5px 12px #f0a0cc25)}
@media(max-width:700px){
 .continuous-art{background:linear-gradient(transparent 0%,var(--dock) 28%,var(--dock) 100%)}
 .site-header{gap:8px;padding-inline:16px}
 .brand{font-size:24px}.brand .brand-flower{font-size:16px;margin-right:2px}
 .theme-toggle{font-size:11px;padding:9px 11px;margin-left:auto}
 .header-cta{margin-left:0;padding-left:12px;gap:7px}
}
@media(max-width:370px){.header-cta span{display:none}.header-cta{padding:13px}.brand{font-size:22px}}
