:root{--paper:#141e31;--ink:#f5eddf;--green:#e7bd73;--muted:#bac5d7;--line:#3b4960;--accent:#eeaa86;--surface:#25344d;--card:#1c2940;--selected:#3c4657;--hover:#f6d39b;--button-ink:#182238;--envelope:#b99b65;--envelope-light:#ead7ad;--envelope-dark:#9c7c47;--sticky:#e7cc98}
body,dialog,.intro-stage{background:var(--paper);color:var(--ink)}body,.summary,.meal,.primary,.paper,.intro-stage{transition:background-color .45s,color .45s,border-color .45s}
.intro-stage::backdrop{background:var(--paper)}.intro,.intro-stage .intro-caption,.helper,.fine,.meal small,.summary-fine,.section-heading>p,footer,dt,dialog small{color:var(--muted)}
.primary{background:var(--green);color:var(--button-ink)}.primary:hover{background:var(--hover)}.primary:disabled{opacity:.7;cursor:default}.art:before,.summary,.send-animation,.preview{background:var(--surface)}.summary{border-color:var(--line)}.paper,textarea,.secret-note,.replay-intro{background:var(--card);color:var(--ink);border-color:var(--line)}.paper-top,.paper-bottom{border-color:var(--line)}.date[aria-pressed=true],.meal:has(input:checked){background:var(--selected);border-color:var(--green)}.time[aria-pressed=true]{background:var(--green);color:var(--button-ink)}.secret-note:hover{background:var(--selected)}.sticky{background:var(--sticky);color:#423420}.intro-skip,.secondary,.ready-stamp{color:var(--green);border-color:var(--green)}.plan-progress span,.intro-loader{background:var(--line)}.plan-progress span.complete,.intro-loader:after{background:var(--green)}.ticket-divider{border-color:var(--muted)}.spark-trail,.art-star,.spark,.closing>span,.note-dialog .postmark{color:var(--accent)}.send-animation .plane,.send-animation:after{color:var(--green)}.envelope-back{background:var(--envelope-dark)}.envelope-front{background:linear-gradient(140deg,var(--envelope-light),var(--envelope))}.envelope-flap{background:var(--envelope)}.envelope-letter{background:var(--card);color:var(--ink)}.wax-seal{background:var(--accent)}.intro-flower{color:var(--accent);opacity:.45}.hero h1 em:after{background:var(--accent);opacity:.25}.intro-halo,.intro-halo:before,.intro-halo:after{border-color:var(--line)}.note-dialog .postmark{border-color:var(--accent)}#status{color:var(--accent)}

.contact-section{text-align:center;padding:0 20px 55px}.contact-section>p{font:26px "DM Serif Display",Georgia,serif;color:var(--ink);margin:0 0 20px}.contact-section nav{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-section a{display:inline-flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:30px;padding:13px 23px;color:var(--green);text-decoration:none;font-size:13px;transition:background .2s,transform .2s}.contact-section a:hover{background:var(--surface);transform:translateY(-3px)}
