
:root{--paper:#FBF8F1;--navy:#0F2333;--brass:#C99A2E;--ink:#22303C;--muted:#64748B;--line:#E3DAC6}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.55}
h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;color:var(--navy)}
a{color:var(--navy)}
.review-banner{background:var(--brass);color:#231a04;font-size:13px;font-weight:600;text-align:center;padding:8px 12px;letter-spacing:.02em}
.site-header{background:var(--navy);color:var(--paper);padding:26px 20px 20px;background-image:linear-gradient(rgba(251,248,241,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(251,248,241,.045) 1px,transparent 1px);background-size:28px 28px}
.site-header .wrap{max-width:960px;margin:0 auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-header img{width:74px;height:74px;border-radius:8px;border:1px solid rgba(251,248,241,.35)}
.site-header h1{color:var(--paper);margin:0;font-size:30px;line-height:1.15}
.site-header .sub{color:#D8C98F;margin:4px 0 0;font-size:15px}
nav.main{background:var(--navy);border-top:1px solid rgba(251,248,241,.15)}
nav.main .wrap{max-width:960px;margin:0 auto;padding:0 20px;display:flex;gap:26px}
nav.main a{color:var(--paper);text-decoration:none;padding:11px 2px;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
nav.main a:hover{color:var(--brass)}
main{max-width:960px;margin:0 auto;padding:28px 20px 48px}
.intro{font-size:18px;max-width:44em}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:700}
.ep-card{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0;align-items:flex-start}
.ep-card img{width:118px;height:118px;border-radius:8px;flex:none}
.ep-card h3{margin:2px 0 6px;font-size:20px;line-height:1.25}
.meta{font-size:13px;color:var(--muted);letter-spacing:.04em}
.actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600}
.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn:hover{opacity:.9}
.player{background:var(--navy);border-radius:12px;padding:18px;color:var(--paper);margin:18px 0}
.player audio{width:100%;margin:10px 0}
.player .ph{font-size:13px;color:#D8C98F}
.chap{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:6px 0;font-size:15px;cursor:pointer;min-height:48px}
.chap:hover{border-color:var(--brass)}
.chap .t{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-left:8px}
.speeds{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.speeds button{background:transparent;border:1px solid rgba(251,248,241,.5);color:var(--paper);border-radius:6px;padding:7px 12px;cursor:pointer;font-size:14px;min-height:40px}
.skips{display:flex;gap:16px;justify-content:center;margin-top:12px}
.skips .skp{background:transparent;border:1px solid var(--brass);color:#E9CE7A;border-radius:50%;width:52px;height:52px;font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0 0 3px}
.mini .mskp{background:transparent;border:1px solid rgba(251,248,241,.45);color:var(--paper);border-radius:50%;width:38px;height:38px;padding:0 0 2px;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.mini{display:none}
@media (max-width:640px){
 .mini{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--navy);color:var(--paper);padding:10px 14px;gap:12px;align-items:center;z-index:50;box-shadow:0 -2px 10px rgba(0,0,0,.25)}
 .mini button{background:var(--brass);border:none;color:#231a04;font-weight:700;border-radius:50%;width:42px;height:42px;font-size:16px;flex:none;cursor:pointer}
 .mini .mt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}
 .mini .mtime{font-variant-numeric:tabular-nums;font-size:13px;color:#D8C98F;flex:none}
 main{padding-bottom:96px}
}
.speeds button.active{background:var(--brass);color:#231a04;border-color:var(--brass);font-weight:700}
.prevnext{display:flex;justify-content:space-between;gap:14px;margin-top:34px;flex-wrap:wrap}
.prevnext a{min-width:min(240px,100%)}
.prevnext a{flex:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none}
article.read{max-width:42em;margin:0 auto;font-size:18.5px;line-height:1.75}
article.read h2{margin-top:1.6em;border-top:2px solid var(--brass);padding-top:.7em}
article.read p{margin:1em 0}
.toc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:18px 0}
.toc a{display:block;padding:3px 0;text-decoration:none}
footer{background:var(--navy);color:#B9C4CC;padding:26px 20px;font-size:13.5px}
footer .wrap{max-width:960px;margin:0 auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.dom{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.dom .n{font-weight:700;color:var(--navy)}
.badge{display:inline-block;background:var(--brass);color:#231a04;border-radius:20px;font-size:12px;font-weight:700;padding:2px 9px;margin-left:6px}
.layer{margin:22px 0}
@media (max-width:640px){
 .site-header h1{font-size:24px}
 .site-header img{width:56px;height:56px}
 .ep-card{flex-direction:column}
 .ep-card img{width:100%;height:auto;max-height:220px;object-fit:cover}
 article.read{font-size:17.5px}
}
