* { box-sizing: border-box; }
body { margin: 0; background: #edf7ff; color: #173c58; font-family: system-ui, sans-serif; line-height: 1.75; }
main, header, footer { width: min(760px, calc(100% - 32px)); margin-inline: auto; }
header a { display: inline-flex; align-items: center; gap: 12px; margin: 20px 0; text-decoration: none; font-weight: 700; }
header strong { color: #a31e63; }
a { color: #175b86; text-underline-offset: 4px; }
:focus-visible { outline: 3px solid #b12672; outline-offset: 5px; }
article { padding: clamp(20px, 5vw, 50px); border: 1px solid #b1cadb; border-top: 5px solid #ec69ad; border-radius: 18px; background: #fff; box-shadow: 0 5px #d6eaf8, 0 10px #b8d6e9; }
h1 { font-size: clamp(1.55rem, 4vw, 2.2rem); line-height: 1.45; margin: 16px 0; }
h2 { font-size: 1.3rem; }
.bookmark { display: inline-block; margin: 0; padding: 4px 12px; border-radius: 4px; background: #ffe98a; font-size: .85rem; font-weight: 700; }
.meta, small, .sources { font-size: .875rem; }
.summary { margin: 24px 0; }
.cover { display: block; max-width: 480px; border-radius: 12px; overflow: hidden; background: #184d73; color: white; text-align: center; }
.cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.cover span { display: block; padding: 12px 16px; font-weight: 700; }
.actions, footer { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.actions { margin-top: 18px; }
footer { padding: 32px 0; }
.episodes { list-style: none; padding: 0; }
.episodes li { padding: 12px 0; border-bottom: 1px solid #dae7f1; }
.episodes small { display: block; }
