:root {
  --ink: #f4e8f1;
  --ink-soft: #c9b7c9;
  --purple: #e18aba;
  --purple-deep: #e18aba;
  --lilac: #3a2b3d;
  --pink: #ef9bc9;
  --butter: #f3d3e9;
  --paper: #fff8f1;
  --cream: #211824;
  --shadow: rgba(0,0,0,.3);
}
body.jessi-theme { background: #211824; color: var(--ink); }
body.jessi-theme .hero {
  background:
    radial-gradient(circle at 12% 12%, rgba(239,155,201,.17), transparent 18rem),
    radial-gradient(circle at 85% 80%, rgba(103,64,112,.38), transparent 25rem),
    radial-gradient(circle, rgba(255,237,250,.75) 1px, transparent 1.5px) 0 0 / 52px 52px,
    radial-gradient(circle, rgba(239,155,201,.5) 1px, transparent 1.5px) 25px 28px / 70px 70px,
    #241a2a;
}
body.jessi-theme .hero::before, body.jessi-theme .hero::after { border-color: rgba(239,155,201,.16); }
body.jessi-theme .hero::before { box-shadow: 0 0 0 3rem rgba(255,255,255,.025), 0 0 0 6rem rgba(239,155,201,.025); }
body.jessi-theme .hero::after { box-shadow: 0 0 0 3rem rgba(255,255,255,.025), 0 0 0 7rem rgba(239,155,201,.035); }
body.jessi-theme .hero-title em { color: #f1a3cd; }
body.jessi-theme .hero-rule { color: #ef9bc9; }
body.jessi-theme .hero-rule i { background: linear-gradient(90deg, transparent, #ef9bc9); }
body.jessi-theme .hero-rule i:last-child { transform: scaleX(-1); }
body.jessi-theme .hero-subtitle, body.jessi-theme .hero-pretitle { color: #d8c5d6; }
body.jessi-theme .scroll-cue { color: #f0a1ce; }
body.jessi-theme .section { color: #f4e8f1; }
body.jessi-theme .section-heading > p:last-child { color: #c9b7c9; }
body.jessi-theme .section-kicker { color: #f0a1ce; }
body.jessi-theme .polaroid { border-color: rgba(255,255,255,.12); background: #35283a; box-shadow: 0 .9rem 2.4rem rgba(0,0,0,.32); }
body.jessi-theme .photo-frame { background: #4a344d; }
body.jessi-theme .photo-caption { color: #fff3fb; }
body.jessi-theme .photo-date { color: #d8b7d1; }
body.jessi-theme .verdict-section { background: #110d15; }
body.jessi-theme .verdict-label { border-color: rgba(239,155,201,.55); color: #f2afd3; }
body.jessi-theme .verdict-text span { color: #f1a3cd; }
body.jessi-theme .verdict-small { color: #c9b7c9; }
body.jessi-theme .letter-section { background: radial-gradient(circle at 8% 10%, rgba(239,155,201,.13), transparent 20rem), radial-gradient(circle at 95% 90%, rgba(111,76,120,.2), transparent 24rem), #211824; }
body.jessi-theme .letter-paper { border-color: rgba(239,155,201,.28); background: repeating-linear-gradient(transparent 0 32px, rgba(116,40,86,.09) 32px 33px), #fff8f1; color: #342439; }
body.jessi-theme .letter-date, body.jessi-theme .letter-signature { color: #81395f; }
body.jessi-theme .letter-salutation, body.jessi-theme .letter-body { color: #45354a; }
body.jessi-theme .letter-body p.is-typing::after { color: #a44274; }
body.jessi-theme .letter-open { border-color: #211824; background: #f3d3e9; color: #211824; box-shadow: 4px 4px 0 #100d15; }
body.jessi-theme .envelope-mark { background: #e18aba; }
body.jessi-theme .footer { background: #17111b; color: #f4e8f1; }
body.jessi-theme .footer p { color: #c9b7c9; }
body.jessi-theme .footer-mark { color: #f0a1ce; }
body.jessi-theme .footer a { color: #f0a1ce; }
body.jessi-theme .skip-link { background: #100d15; }
body.jessi-theme :focus-visible { outline-color: #ffb8dc; }
body.jessi-theme .unlock-screen {
  background:
    radial-gradient(circle at 12% 12%, rgba(239,155,201,.16), transparent 18rem),
    radial-gradient(circle, rgba(255,237,250,.7) 1px, transparent 1.5px) 0 0 / 52px 52px,
    #211824;
}
body.jessi-theme .unlock-card { border-color: rgba(239,155,201,.25); background: rgba(48,35,52,.95); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.35); }
body.jessi-theme .unlock-card h1, body.jessi-theme .countdown strong { color: #f3d3e9; }
body.jessi-theme .unlock-intro, body.jessi-theme .unlock-date, body.jessi-theme .notify-note, body.jessi-theme .notify-status { color: #d2bfd0; }
body.jessi-theme .countdown > div { border-color: rgba(239,155,201,.18); background: #241a2a; }
body.jessi-theme .countdown span { color: #c9b7c9; }
body.jessi-theme .notify-button { background: #a44274; }
@media (prefers-reduced-motion: reduce) {
  body.jessi-theme .js .reveal, body.jessi-theme .js .reveal.is-visible, body.jessi-theme .js .polaroid.reveal, body.jessi-theme .js .polaroid.reveal.is-visible { color: inherit; }
}
