/* Editorial listening-library styling: preserve the existing palette and page structure. */
:root{--deep:#173e3b;--sage:#8fa79c;--light:#e7eee9;--cream:#f6f4ed;--paper:#fffef9;--gold:#c19d5e;--text:#243b38;--muted:#71817a;--line:#e2e7e0;--shadow-soft:0 18px 48px #193b3910;--shadow-card:0 15px 35px #193b3912}
body{background:radial-gradient(ellipse at 50% -20%,#fffef9 0,transparent 56%),var(--cream)}
.topbar{height:82px;border-bottom-color:#173e3b18}
.brandmark{width:42px;height:42px;background:var(--deep);border-color:var(--gold);color:#e4c987;box-shadow:0 5px 14px #173e3b24}
.brand b{font-size:16px;letter-spacing:.06em}.brand small{letter-spacing:.2em}
.admin-entry,.nav{transition:background .2s,border-color .2s,transform .2s}.admin-entry:hover{border-color:var(--gold);transform:translateY(-1px)}
.hero{position:relative;isolation:isolate;overflow:hidden;margin-top:23px;padding:58px 48px 43px;border:1px solid #345a5140;border-radius:19px;background:radial-gradient(circle at 78% 56%,#8fa79c18 0 13%,transparent 13.3%),linear-gradient(132deg,#173e3b 0%,#1b4742 58%,#12332f 100%);box-shadow:0 24px 60px #173e3b1c}
.hero:before{content:"";position:absolute;z-index:-1;width:390px;height:390px;right:-72px;top:50%;transform:translateY(-50%);border-radius:50%;border:1px solid #c19d5e25;box-shadow:0 0 0 18px #ffffff05,0 0 0 38px #ffffff04,0 0 0 60px #c19d5e0a,0 0 0 83px #ffffff03}
.hero>*{position:relative;z-index:1}.hero .eyebrow{color:#e0c78f}.hero .eyebrow:before{background:var(--gold);width:27px;height:2px}
.hero h1{color:#fffef9;letter-spacing:-.035em;line-height:1.22;margin-top:22px}.hero p{color:#d5e0d9;max-width:510px}
.hero .primary{background:var(--gold);border-color:var(--gold);color:#173e3b;box-shadow:0 8px 20px #0d282330}.hero .primary:hover{background:#d5b877;border-color:#d5b877}
.hero .outline{border-color:#ffffff70;color:#fffef9;background:#ffffff08}.hero .outline:hover{background:#ffffff16}
.hero-art{min-height:290px}.orbit{width:285px;height:285px;border-color:#c19d5e58;box-shadow:0 0 0 18px #ffffff06,0 0 0 38px #ffffff04}.orbit:before{inset:23px;border-color:#d9c48b40;box-shadow:0 0 0 13px #ffffff04}.orbit:after{inset:49px;border-color:#ffffff2b}
.hero-art .record-graphic{display:block;width:min(100%,390px);height:auto;overflow:visible;filter:drop-shadow(0 18px 28px #071d1b40)}
.record-disc{transform-box:view-box;transform-origin:210px 190px}.is-playing .record-disc{animation:record-spin 12s linear infinite}@keyframes record-spin{to{transform:rotate(360deg)}}
.cover{border:1px solid #d9c48b80;border-radius:10px;background:linear-gradient(150deg,#2a5a52,#153a35);box-shadow:0 25px 55px #071d1b66;transform:rotate(2deg)}.cover:after{border-color:#d9c48b70;box-shadow:0 0 0 17px #ffffff0a,0 0 0 36px #ffffff07}.cover-small,.cover-foot{color:#e7d7ad}.star{color:#e4c987}
.stats{border-radius:13px;border-color:#dce3dc;background:#fffefb;box-shadow:var(--shadow-soft);overflow:hidden}.stats>div{padding:22px 25px}.stats b{font-size:29px;letter-spacing:-.04em}.stats span{font-size:12px}.stats small{letter-spacing:.04em}
.section h2{font-size:31px;letter-spacing:-.035em}.section-head{margin-bottom:22px}.section-head p{font-size:13px}.kicker{letter-spacing:.22em;font-size:10px}
.search{border-radius:99px;padding:11px 16px;box-shadow:0 5px 18px #173e3b08}.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c19d5e20}
.filters{gap:9px;margin-bottom:19px}.filter,.topic-filter{padding:9px 15px;border-color:#d8dfd8;border-radius:99px;transition:.18s}.filter.selected,.topic-filter.selected{background:var(--gold);border-color:var(--gold);color:var(--deep);box-shadow:0 5px 14px #c19d5e24}.filter:hover,.topic-filter:hover{border-color:var(--gold);color:var(--deep)}
.popular-topics,.popular-episodes-section{border-radius:13px;box-shadow:0 9px 24px #173e3b08}.popular-topics{background:#fffef9;border-color:#e5e5d9;padding:22px 24px}.popular-episodes-section{background:linear-gradient(135deg,#e9eee8,#f0eee4);padding:20px 23px}.popular-topics h3,.popular-episodes-section h3{font-size:20px;letter-spacing:-.02em}
.popular-topic{border-color:#e1e5dc;box-shadow:0 3px 10px #173e3b08;transition:transform .18s,border-color .18s}.popular-topic:hover,.popular-episode:hover{transform:translateY(-2px);border-color:var(--gold)}
.popular-episode{border-color:#e0e5dd;border-radius:9px;box-shadow:0 4px 12px #173e3b08;transition:transform .18s,border-color .18s}.popular-episode>b{font-size:19px}
.episodes{gap:17px}.episode{border-radius:13px;border-color:#e0e5de;box-shadow:0 5px 18px #173e3b08;transition:transform .2s,box-shadow .2s,border-color .2s}.episode:hover{transform:translateY(-4px);border-color:#c6d2c9;box-shadow:var(--shadow-card)}
.episode-top{padding-top:18px}.pill{background:#e9eee8;color:#45645a;padding:6px 11px;font-size:10px;letter-spacing:.02em}.code{color:#87948a}
.episode-body{padding-top:15px;padding-bottom:17px}.episode h3{font-size:18px;line-height:1.48;letter-spacing:-.018em}.meta{font-size:11px}.episode-bottom{padding-top:12px;padding-bottom:12px;border-top-color:#e9ece6}.episode-bottom button{border-radius:7px}.miniplay{width:36px;height:36px;box-shadow:0 5px 12px #173e3b20}.miniplay:hover{background:#255650;transform:scale(1.04)}
.listener-preview{border:1px solid #e7ebe4;border-radius:8px;background:#f7f7f1;padding:10px 12px}.episode-description,.key-points{border-radius:9px}.key-points{background:#f3f3eb}
.upload-panel{border-radius:14px;border-color:#d5dfd6;background:linear-gradient(120deg,#e8eee8,#f0eee5);box-shadow:var(--shadow-soft);padding:25px}
.primary,.outline{border-radius:8px;transition:transform .18s,box-shadow .18s,background .18s}.primary:hover,.outline:hover{transform:translateY(-1px)}.primary{box-shadow:0 5px 14px #173e3b16}.outline{background:#fffef9}
.player{border-top:2px solid var(--gold);box-shadow:0 -10px 35px #102c282b}.progress{height:4px}.controls button.play{background:var(--gold);color:var(--deep)}.controls button.play:hover{background:#dfc585}
.backdrop{backdrop-filter:blur(5px)}.modal{border:1px solid #ffffff80;border-radius:16px;box-shadow:0 28px 80px #071d1b42}.modal-head{padding:22px 25px;background:#fffefb}.modal-head h3{font-size:23px;letter-spacing:-.025em}.modal-body{padding:24px 25px}.close{width:38px;height:38px;transition:transform .18s,background .18s}.close:hover{background:#dfe8e2;transform:rotate(6deg)}
.discussion{margin-top:25px;padding-top:24px}.discussion form{border:1px solid #e4e9e2;border-radius:11px;background:#f5f5ee}.discussion input,.discussion textarea,.modal input,.modal select{border-radius:8px}.discussion input:focus,.discussion textarea:focus,.modal input:focus,.modal select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c19d5e1c}
.listener-comment{border-radius:10px;box-shadow:0 3px 12px #173e3b07}.source-pdf-viewer{border-radius:10px}.pdf-open-link{border-radius:8px}
.footer{border-top-color:#dfe4dc}
.auth-gate{background:radial-gradient(circle at 82% 14%,#e8dfc8 0,transparent 26%),linear-gradient(145deg,#e9eee8,#f8f6ef 48%,#e9eee8)}.auth-card{border-radius:17px;border-color:#e0e5dd;box-shadow:0 30px 85px #18383320}.auth-card h1{font-size:30px;letter-spacing:-.035em}.login-form input{border-radius:8px}.login-form .primary,.google-login{padding:13px}.google-login{box-shadow:none}
.admin-summary,.analytics-panel,.admin-record,.admin-card,.admin-section-card{border-radius:13px;box-shadow:0 7px 22px #173e3b09}
@media(max-width:780px){.hero{margin-top:15px;padding:39px 28px 29px;border-radius:16px}.hero:before{width:300px;height:300px;right:-100px}.hero-art{min-height:300px}.hero-art .record-graphic{width:min(100%,360px)}.orbit{width:225px;height:225px}.stats>div{padding:17px 12px}}
@media(max-width:480px){.topbar{height:68px}.hero{padding:32px 21px 24px}.hero h1{font-size:38px}.hero-art{min-height:280px}.hero-art .record-graphic{width:min(100%,330px)}.orbit{width:190px;height:190px}.cover{width:149px;height:174px}.stats{border-radius:11px}.stats b{font-size:21px}.section h2{font-size:27px}.popular-topics,.popular-episodes-section{padding:17px}.episodes{gap:13px}.episode{border-radius:12px}.episode h3{font-size:18px}.modal{border-radius:14px}.modal-head{padding:18px}.modal-body{padding:18px}.discussion{margin-top:21px;padding-top:19px}}
@media(prefers-reduced-motion:reduce){.episode,.popular-topic,.popular-episode,.primary,.outline{transition:none}.is-playing .record-disc{animation:none}}
