/* archive: scoped component styles. */
body:has(.archive-hero){background:radial-gradient(ellipse at 85% 5%,#39453844,transparent 55%),#101b1b}
.archive-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:35px 0 48px;border-bottom:1px solid #bda27d30}
.section-kicker{font-size:11px;color:#c0aa86;letter-spacing:.04em;margin:0 0 10px}
.archive-hero h1{font-size:clamp(29px,3.4vw,46px);line-height:1.6;margin:0 0 16px;font-weight:400;letter-spacing:-1px}
.archive-hero h1 em{font-style:normal;color:#e1bd84}
.archive-intro{font-size:13px;line-height:2.2;color:#b5bfb4;max-width:550px}
.archive-count{font-size:11px;color:#c0aa86;margin:24px 0 0}
.archive-count span{margin-inline:12px;color:#667064}
.archive-machine{position:relative;padding:25px 30px;border-radius:16px;border:1px solid #8d6749;background:repeating-linear-gradient(2deg,transparent 0 3px,#180d0740 4px,transparent 7px),linear-gradient(120deg,#705136,#39271d 65%,#5c3c28);box-shadow:inset 0 2px 2px #e8bd7c44,inset 0 -4px 5px #1c100c,0 24px 40px #0005;transform:rotate(-3deg)}
.archive-machine::before,.archive-machine::after{content:'+';position:absolute;top:7px;color:#ad8b5b;font-size:12px;line-height:1}
.archive-machine::before{right:10px}
.archive-machine::after{left:10px}
.tape-label{display:flex;align-items:center;justify-content:space-between;direction:ltr;font:10px Georgia,serif;letter-spacing:.16em;color:#dbc19a}
.tape-label span{font:11px "Vazirmatn",Tahoma,sans-serif;letter-spacing:0}
.tape-reels{margin:22px 0;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border:1px solid #1b1510;border-radius:70px;background:linear-gradient(#141e1c,#26312a);box-shadow:inset 0 3px 6px #0008}
.tape-reels i,.archive-reel{display:block;aspect-ratio:1;border:7px solid #c0aa80;border-radius:50%;background:radial-gradient(circle,#201b14 0 9%,#dac59b 10% 19%,transparent 20%),repeating-conic-gradient(#c0aa80 0deg 24deg,#272b24 25deg 95deg,#c0aa80 96deg 120deg);box-shadow:0 0 0 2px #716044,0 5px 8px #0007,inset 0 0 0 2px #e8d0a144}
.tape-reels i{width:88px}
.tape-reels b{height:1px;background:#8b754e;flex:1;margin:0 10px}
.tape-rule{height:10px;background:repeating-linear-gradient(90deg,#b89b65 0 1px,transparent 1px 7px);opacity:.5;margin-bottom:12px}
.tape-foot{display:block;text-align:center;font-size:9px;color:#d0b38a}
.archive-toolbar{padding:28px 0}
.archive-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.archive-filters a{border:1px solid #536052;border-radius:6px;padding:7px 15px;text-decoration:none;font-size:12px;color:#bdc7ba;transition:background .15s}
.archive-filters a:hover{background:#283a31}
.archive-filters a[aria-current]{background:#d5bc90;color:#2e3025;border-color:#e6d3ab;box-shadow:inset 0 1px 0 #ffefd0}
.episode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.episode-card{display:grid;grid-template-columns:110px minmax(0,1fr);overflow:hidden;border:1px solid #4d5140;border-radius:12px;background:linear-gradient(125deg,#24332b,#1a2823);box-shadow:0 7px 18px #0002;align-items:stretch}
.episode-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px 12px;background:repeating-linear-gradient(0deg,#120e091a 0 1px,transparent 1px 4px),linear-gradient(120deg,#58422d,#31281d);border-inline-end:1px solid #716044;min-height:225px;color:#c7ab7d}
.episode-art>span{font:8px Georgia,serif;letter-spacing:.12em}
.episode-art small{font-size:8px;text-align:center}
.archive-reel{width:67px;border-width:5px}
.episode-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px}
.episode-meta{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;width:100%;font-size:10px;color:#a7b2a3;margin-bottom:15px;font-variant-numeric:tabular-nums}
.episode-program{font-size:11px;color:#dfbe86;text-decoration:none}
.episode-body h2{font-size:18px;font-weight:500;line-height:1.9;margin:8px 0 18px}
.episode-body h2 a{color:#efe7d7;text-decoration:none}
.episode-body h2 a:hover{color:#f0cc96}
.episode-notes{width:100%;margin:0 0 20px}
.episode-notes summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#afbcad;list-style:none;padding-bottom:8px;border-bottom:1px solid #c9b89220}
.episode-notes summary::-webkit-details-marker{display:none}
.episode-notes[open] summary span{transform:rotate(45deg)}
.episode-notes .markdown{font-size:12px;margin-top:15px;max-height:340px;overflow:auto;padding-inline-end:8px}
.episode-notes .markdown h1{font-size:18px}
.episode-featured{grid-column:1/-1;grid-template-columns:200px minmax(0,1fr);border-color:#8a754e}
.episode-featured .episode-art{min-height:240px}
.episode-featured .archive-reel{width:115px;border-width:9px}
.episode-featured .episode-body{padding:28px 32px}
.episode-featured h2{font-size:24px}
.episode-featured .episode-notes{max-width:680px}
.archive-empty{grid-column:1/-1;text-align:center;padding:60px 24px;border:1px dashed #73644d;border-radius:12px;color:#abb8aa}
.archive-empty>span{font-size:48px;color:#c5a879}
.archive-empty h2{color:#e2c99e}
.archive-empty .listen-key{margin-top:16px}
.archive-pagination{padding:28px;font-size:12px}
@media(min-width:1000px){body:has(.archive-hero) #main{max-width:1240px;padding-inline:40px}}
@media(max-width:1050px){.archive-hero{gap:35px}.tape-reels{padding:15px}.tape-reels i{width:70px}.episode-card{grid-template-columns:85px minmax(0,1fr)}.episode-featured{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:680px){.archive-hero{grid-template-columns:1fr;gap:28px;padding:20px 0 32px}.archive-hero h1{font-size:34px}.archive-machine{max-width:380px;width:100%;justify-self:center;transform:rotate(-2deg);padding:20px 25px}.tape-reels{margin:16px 0}.tape-reels i{width:70px}.archive-intro{font-size:12px}.episode-grid{grid-template-columns:1fr;gap:16px}.episode-card,.episode-featured{grid-template-columns:75px minmax(0,1fr)}.episode-art,.episode-featured .episode-art{min-height:220px;padding:20px 8px}.archive-reel,.episode-featured .archive-reel{width:52px;border-width:4px}.episode-art>span{font-size:6px}.episode-art small{font-size:7px}.episode-body,.episode-featured .episode-body{padding:20px 16px}.episode-body h2,.episode-featured h2{font-size:17px}.episode-meta{font-size:9px}.archive-filters a{font-size:11px;padding:6px 10px}}

/* collection shelf: book categories inside a program */
.archive-shelf{padding:30px 0 6px;border-bottom:1px solid #bda27d20}
.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px}
.shelf-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid #4d5140;border-radius:12px;background:linear-gradient(125deg,#22312a,#182420);text-decoration:none;color:#e8e2d3;transition:background .15s,border-color .15s}
.shelf-card:hover{background:#26362e;border-color:#6d7a63}
.shelf-card.is-current{border-color:#d5bc90;box-shadow:inset 0 0 0 1px #d5bc9066}
.shelf-kicker{font-size:10px;color:#c0aa86;letter-spacing:.04em}
.shelf-card h2{font-size:17px;font-weight:500;margin:0;line-height:1.7}
.shelf-author{font-size:12px;color:#b5bfb4;margin:0;line-height:1.9}
.archive-intro .shelf-author{font-size:13px;color:#d5bc90;margin:0 0 8px}
.shelf-count{font-size:11px;color:#a7b2a3}
.shelf-back{font-size:12px;color:#dfbe86;text-decoration:none}
@media(max-width:680px){.shelf-grid{grid-template-columns:1fr 1fr;gap:10px}.shelf-card{padding:14px}}

/* collection covers: bookshelf thumbnails and the cassette face */
.shelf-card{flex-direction:row;align-items:center;gap:14px}
.shelf-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.shelf-cover{width:66px;height:90px;object-fit:cover;border-radius:6px;border:1px solid #1b1510;flex:none;box-shadow:0 4px 10px #0004}
.tape-cover{display:block;width:100%;aspect-ratio:1.35;object-fit:contain;background:#0f1918;border-radius:8px;border:1px solid #1b1510;margin:18px 0 12px;box-shadow:inset 0 0 0 2px #e8d0a144,0 8px 18px #0006}
.archive-machine.has-cover{transform:rotate(-2deg)}
@media(max-width:680px){.shelf-cover{width:52px;height:72px}.shelf-card{gap:10px}}

/* book cover on episode cards + pagination */
.episode-art.has-cover{padding:10px;background:linear-gradient(150deg,#4a3a29,#221c14)}
.episode-cover{display:block;width:100%;max-height:205px;aspect-ratio:2/3;object-fit:cover;border-radius:5px;border:1px solid #1b1510;box-shadow:0 5px 12px #0007}
.archive-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:34px 0 8px;padding:14px 0;border-top:1px solid #bda27d22}
.page-numbers{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.page-numbers a,.page-numbers .page-current,.page-numbers .page-gap{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #536052;border-radius:8px;color:#c8d2c4;text-decoration:none;font-size:13px;font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s}
.page-numbers a:hover{background:#283a31;border-color:#7d8b72}
.page-numbers .page-current{background:#d5bc90;border-color:#e6d3ab;color:#2e3025;font-weight:700}
.page-numbers .page-gap{border-color:transparent;color:#7f8a7b}
.page-arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #536052;border-radius:50%;color:#c8d2c4;text-decoration:none;font-size:18px;transition:background .15s}
.page-arrow:hover{background:#283a31}
.page-arrow.is-disabled{opacity:.3;cursor:default}
@media(max-width:680px){.archive-pagination{gap:6px}.page-numbers a,.page-numbers .page-current,.page-numbers .page-gap{min-width:32px;height:32px;font-size:12px}.page-arrow{width:34px;height:34px}.episode-art.has-cover{padding:8px}.episode-cover{max-height:200px}}
