html { scroll-behavior: smooth; }
body { background: #0a0608; color: #e9dfe2; -webkit-font-smoothing: antialiased; }
::selection { background: #c9285a; color: #fff; }

/* Slider */
.slides { display: flex; transition: transform .8s cubic-bezier(.65,0,.35,1); will-change: transform; }
.slide { min-width: 100%; }
.dot { width: 28px; height: 2px; background: rgba(255,255,255,.3); transition: background .3s, width .3s; }
.dot[aria-current="true"] { background: #e0527a; width: 44px; }

/* Reading typography */
.prose-confession { font-family: "Playfair Display", Georgia, serif; font-size: 1.2rem; line-height: 1.9; color: #e4d8dc; }
.prose-confession p { margin: 0 0 1.5em; }
.prose-confession p:first-of-type::first-letter { float: left; font-size: 4.2rem; line-height: .85; padding: .35rem .6rem 0 0; color: #e0527a; font-weight: 700; }
.prose-confession blockquote { border-left: 2px solid #c9285a; padding-left: 1.25rem; font-style: italic; color: #f08aa8; margin: 2em 0; }
.prose-confession hr { border: 0; text-align: center; margin: 2.5em 0; }
.prose-confession hr::after { content: "✦"; color: #c9285a; letter-spacing: 1em; }

.hairline { background: linear-gradient(to right, transparent, rgba(224,82,122,.5), transparent); height: 1px; }
.tag { transition: color .2s, border-color .2s, background .2s; }
.tag:hover { color: #fff; border-color: #e0527a; background: rgba(201,40,90,.18); }
.field { background: #110b0e; border: 1px solid #3a2430; color: #f3eaed; transition: border-color .2s, box-shadow .2s; }
.field:focus { outline: none; border-color: #e0527a; box-shadow: 0 0 0 3px rgba(224,82,122,.18); }

/* Age gate */
#age-gate[hidden] { display: none; }

/* Vertical book / season covers (2:3). Use with Theme::cover() */
.book { position: relative; overflow: hidden; box-shadow: 0 22px 40px -14px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06); transition: transform .4s, box-shadow .4s; }
.book::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 7px; z-index: 5; background: linear-gradient(to right, rgba(0,0,0,.5), rgba(255,255,255,.14), transparent); }
a:hover > .book, .book-link:hover .book { transform: translateY(-4px); box-shadow: 0 28px 48px -14px rgba(201,40,90,.35), 0 0 0 1px rgba(224,82,122,.4); }
.book-current .book { box-shadow: 0 0 0 2px #e0527a, 0 22px 40px -14px rgba(0,0,0,.8); }
