@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Source+Sans+3:wght@300;400;500&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--cream:#F5F0E8;--warm-dark:#2A2420;--warm-mid:#5C4F42;--warm-light:#8C7D6D;--accent:#B85A35;--accent-hover:#9A4A2B;--accent-pale:#F0E0D2;--rule:#D4C9B8;--bg:#FAF7F2;--bg-alt:#F2EDE4;--hover-bg:#F7F3EC;--serif:'Playfair Display',Georgia,serif;--sans:'Source Sans 3','Segoe UI',Roboto,sans-serif}
body{font-family:var(--sans);color:var(--warm-dark);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;transition:color .15s}
a:hover{color:var(--accent-hover);text-decoration:underline}
img{max-width:100%;height:auto}
.site-wrapper{max-width:740px;margin:0 auto}
.site-header{padding:2.5rem 1.5rem 1.5rem;background:var(--bg-alt);border-bottom:2px solid var(--rule)}
.header-inner{display:flex;align-items:center;gap:1.5rem;max-width:640px;margin:0 auto}
.header-artwork{width:140px;height:140px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 12px rgba(42,36,32,.2)}
.header-text{flex:1}
.site-title{font-family:var(--serif);font-size:1.8rem;font-weight:600;letter-spacing:.01em;margin-bottom:.2rem}
.site-subtitle{font-size:.92rem;color:var(--warm-mid);font-weight:300;line-height:1.5}
nav{display:flex;justify-content:center;gap:2rem;padding:.85rem 0;border-bottom:1px solid var(--rule);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
nav a{color:var(--warm-mid);text-decoration:none}
nav a:hover{color:var(--accent)}
nav a.active{color:var(--accent);font-weight:500}
.episodes-section{max-width:660px;margin:0 auto;padding:0 1.5rem 2rem}
.section-label{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--warm-light);margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}
.episode{border-bottom:1px solid var(--rule);padding:1rem 0}
.ep-header{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .15s;user-select:none;-webkit-user-select:none}
.ep-header:hover{background:var(--hover-bg)}
.ep-badge{font-family:var(--serif);font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-pale);padding:.2rem .55rem;border-radius:4px;white-space:nowrap;margin-top:2px;letter-spacing:.02em;min-width:32px;text-align:center}
.ep-badge.special{background:#E8D5C4;color:#7A4228}
.ep-main{flex:1;min-width:0}
.ep-title-row{display:flex;align-items:baseline;gap:.5rem}
.ep-title{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--warm-dark);flex:1}
.ep-chevron{color:var(--warm-light);font-size:.7rem;transition:transform .25s ease;flex-shrink:0;margin-top:4px;display:inline-block}
.ep-chevron.open{transform:rotate(90deg)}
.ep-date{font-size:.78rem;color:var(--warm-light);margin-top:.15rem;font-weight:300}
.ep-player{display:flex;align-items:center;gap:.6rem;margin-top:.65rem}
.play-btn{width:34px;height:34px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.play-btn svg{width:11px;height:13px;fill:var(--bg);margin-left:2px}
.play-btn:hover{background:var(--accent-hover)}
.play-btn.playing svg{margin-left:0}
.progress-wrap{flex:1;height:20px;display:flex;align-items:center;cursor:pointer}
.progress-bar{width:100%;height:4px;background:var(--rule);border-radius:2px;position:relative;overflow:hidden}
.progress-fill{width:0%;height:100%;background:var(--accent);border-radius:2px;transition:width .1s linear}
.ep-time{font-size:.75rem;color:var(--warm-light);font-variant-numeric:tabular-nums;min-width:80px;text-align:right}
.ep-dl{font-size:.75rem;color:var(--warm-light);text-decoration:none;margin-left:.25rem;white-space:nowrap}
.ep-dl:hover{color:var(--accent)}
.ep-details{max-height:0;overflow:hidden;transition:max-height .35s ease;padding-left:3rem}
.ep-details.open{max-height:5000px}
.ep-shownotes{font-size:.88rem;color:var(--warm-mid);line-height:1.7;font-weight:300;padding:.75rem .5rem .5rem 0}
.ep-shownotes p{margin-bottom:.5rem}
.ep-shownotes img{max-width:240px;border-radius:4px;margin:.5rem 0}
.ep-shownotes a{color:var(--accent)}
.ep-shownotes hr{border:none;border-top:1px solid var(--rule);margin:1rem 0}
.ep-shownotes .ep-pre{font-size:.84rem;line-height:1.6;background:var(--bg-alt);padding:.75rem 1rem;border-radius:4px;margin:.5rem 0;white-space:pre-wrap;word-wrap:break-word}
.ep-shownotes strong{font-weight:500}
.site-footer{text-align:center;padding:1.5rem;font-size:.78rem;color:var(--warm-light);border-top:2px solid var(--rule);background:var(--bg-alt);line-height:1.8}
.footer-links{margin:.75rem 0;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.rss-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:var(--bg);padding:.3rem .7rem;border-radius:4px;font-size:.75rem;text-decoration:none;letter-spacing:.03em;transition:background .15s}
.rss-badge:hover{background:var(--accent-hover);color:var(--bg);text-decoration:none}
.footer-licence{margin-top:.75rem;border-top:1px solid var(--rule);padding-top:.75rem}
.footer-licence-note{margin-top:.25rem;font-size:.72rem}
.about-content{max-width:580px;margin:2rem auto;padding:0 1.5rem;font-size:.95rem;line-height:1.8;color:var(--warm-mid);font-weight:300}
.about-content h2{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--warm-dark);margin:1.5rem 0 .5rem}
.about-content p{margin-bottom:1rem}
@media(max-width:520px){.header-inner{flex-direction:column;text-align:center}.header-artwork{width:120px;height:120px}.site-title{font-size:1.5rem}.ep-details{padding-left:.5rem}nav{gap:1.25rem}}
