
:root{--navy:#102238;--gold:#E8B04C;--ivory:#F0ECE2;--gray:#A0B2C4;--panel:#172f4b;--max:1120px}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--navy);color:var(--ivory);font-family:"Avenir Next",Avenir,system-ui,sans-serif;line-height:1.55}a{color:inherit}header,main,footer{width:min(var(--max),calc(100% - 40px));margin:auto}header{padding:38px 0 22px}.brand,.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.15em;text-decoration:none}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--ivory);color:var(--navy);padding:10px;z-index:2}.hero{padding:8vh 0 10vh;border-bottom:2px solid var(--gold)}.hero.compact{padding:5vh 0}.hero h1,.episode h1{max-width:850px;margin:.12em 0;font-family:Georgia,serif;font-size:clamp(3rem,9vw,7.5rem);line-height:.94;letter-spacing:-.04em}.hero.compact h1,.episode h1{font-size:clamp(2.8rem,7vw,6rem)}.lede{max-width:650px;color:var(--gray);font-size:1.3rem}section{padding:54px 0}h2{font-family:Georgia,serif;font-size:2rem}.show-card{display:grid;grid-template-columns:minmax(220px,390px) 1fr;gap:42px;align-items:center;padding:44px 0;border-top:1px solid #35506d}.show-card img,.episode-art{width:100%;height:auto}.show-card p,.hint{color:var(--gray);max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.button,button{display:inline-block;border:2px solid var(--gold);border-radius:2px;background:var(--gold);color:var(--navy);font:inherit;font-weight:700;padding:10px 15px;text-decoration:none;cursor:pointer}.button.secondary{background:transparent;color:var(--ivory)}button:focus-visible,a:focus-visible{outline:3px solid var(--ivory);outline-offset:3px}.pocket-note{margin:40px 0 80px;padding:28px;border-left:8px solid var(--gold);background:var(--panel)}.episode-list{list-style:none;padding:0}.episode-list li{display:grid;grid-template-columns:3rem 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #35506d}.episode-list span{color:var(--gold)}.episode{padding:6vh 0}.episode-art{max-width:600px;display:block;margin:40px 0}dl{display:grid;grid-template-columns:120px 1fr;gap:8px 20px}dt{color:var(--gray)}dd{margin:0;overflow-wrap:anywhere}code{color:var(--gold)}footer{color:var(--gray);padding:35px 0 65px;border-top:1px solid #35506d}
@media(max-width:720px){.show-card{grid-template-columns:1fr}.show-card img{max-width:420px}.hero{padding-top:5vh}dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.button,button{transition:transform .15s ease}.button:hover,button:hover{transform:translateY(-2px)}}
