:root{
  --bg:#f6f7f4; --surface:#fff; --ink:#1d2621; --muted:#66706a; --line:#e3e6e1;
  --brand:#1f4d36; --brand-soft:#e7f0ea; --live:#fff3c4; --live-ink:#5c4400;
  --chunk:#d9f2e3; --chunk-ink:#14532d; --chunk-line:#2f9e5f; --gold:#c08a1e;
  --radius:14px; --font:'Manrope',system-ui,sans-serif; --serif:'Fraunces',Georgia,serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);}
a{color:inherit}
.pc-top{display:flex;align-items:center;gap:14px;padding:16px 22px;max-width:1240px;margin:0 auto;}
.pc-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700;font-size:14px;color:var(--muted);padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);}
.pc-back:hover{color:var(--ink);border-color:#cfd4cd;}
.pc-brand{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--brand);margin-left:auto;}
.pc-wrap{max-width:1240px;margin:0 auto;padding:0 22px 60px;}

/* ---------- Hub ---------- */
.pc-hero{padding:18px 0 22px;}
.pc-hero h1{font-family:var(--serif);font-size:clamp(28px,4vw,40px);margin:0 0 6px;color:var(--brand);}
.pc-hero p{margin:0;color:var(--muted);font-size:16px;max-width:640px;line-height:1.55;}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;}
.pc-card{display:flex;flex-direction:column;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s;}
.pc-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px -16px rgba(20,50,35,.45);border-color:#c9d6cd;}
.pc-thumb{position:relative;aspect-ratio:16/9;background:#dfe5df center/cover no-repeat;}
.pc-thumb .pc-dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.78);color:#fff;font-size:12px;font-weight:700;padding:2px 7px;border-radius:6px;}
.pc-thumb .pc-play{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--brand);font-size:18px;opacity:0;transition:opacity .15s;}
.pc-card:hover .pc-play{opacity:1;}
.pc-new{position:absolute;left:8px;top:8px;background:var(--gold);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:999px;}
.pc-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.pc-title{font-weight:800;font-size:15px;line-height:1.35;}
.pc-src{font-size:12.5px;color:var(--muted);}
.pc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;}
.pc-tag{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);}
.pc-tag.chunk{background:var(--chunk);color:var(--chunk-ink);}
.pc-soon{border:1px dashed #cfd6cf;border-radius:var(--radius);display:grid;place-items:center;min-height:200px;color:var(--muted);font-weight:700;font-size:14px;text-align:center;padding:16px;}

/* ---------- Episode ---------- */
.ep-head{padding:6px 0 18px;}
.ep-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}
.ep-head h1{font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);margin:6px 0 6px;line-height:1.2;}
.ep-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:14px;align-items:center;}
.ep-meta .pc-tag{font-size:12px;}
.ep-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:20px;align-items:start;}
.ep-video{background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;position:relative;}
.ep-video iframe,.ep-video #ytPlayer{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ep-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);margin:10px 2px 0;}
.ep-legend span{display:inline-flex;align-items:center;gap:6px;}
.ep-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;}
.ep-legend i.live{background:var(--live);border:1px solid #e9d27a;}
.ep-legend i.chunk{background:var(--chunk);border-bottom:2px solid var(--chunk-line);}

.ep-tx{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;}
.ep-tx-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);}
.ep-tx-head b{font-size:15px;}
.ep-follow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;user-select:none;}
.ep-follow input{accent-color:var(--brand);width:16px;height:16px;}
.ep-tx-body{overflow-y:auto;padding:10px 10px 30px;scroll-behavior:smooth;}
.cue{display:flex;gap:10px;padding:7px 10px;border-radius:9px;cursor:pointer;line-height:1.6;font-size:15.5px;color:#3c4640;transition:background .2s,color .2s;}
.cue:hover{background:#f2f4f1;}
.cue .t{flex-shrink:0;width:38px;font-size:12px;font-weight:700;color:#9aa39d;padding-top:3px;font-variant-numeric:tabular-nums;}
.cue.past{color:#7b857f;}
.cue.live{background:var(--live);color:var(--ink);font-weight:600;}
.cue.live .t{color:var(--live-ink);}
mark.ch{background:var(--chunk);color:var(--chunk-ink);border-bottom:2px solid var(--chunk-line);border-radius:3px;padding:0 2px;font-weight:700;cursor:pointer;}
.cue.live mark.ch{background:#bfe8cf;}
mark.ch sup{font-size:10px;font-weight:800;margin-left:2px;color:var(--chunk-line);}

.ep-chunks{margin-top:34px;}
.ep-chunks h2{font-family:var(--serif);font-size:26px;margin:0 0 4px;color:var(--brand);}
.ep-chunks > p{margin:0 0 18px;color:var(--muted);}
.ck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;}
.ck{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--chunk-line);border-radius:12px;padding:16px 18px;scroll-margin-top:20px;transition:box-shadow .3s,border-color .3s;}
.ck.flash{box-shadow:0 0 0 3px rgba(47,158,95,.35);}
.ck-top{display:flex;align-items:baseline;gap:10px;}
.ck-n{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--chunk);color:var(--chunk-ink);font-size:12px;font-weight:800;display:grid;place-items:center;}
.ck-ph{font-weight:800;font-size:17px;}
.ck-lv{margin-left:auto;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#eef1ee;color:#4a554e;}
.ck-lv.c1,.ck-lv.c2{background:#f3e8ff;color:#6b21a8;}
.ck-lv.b2{background:#e0f2fe;color:#075985;}
.ck-def{margin:8px 0 8px;font-size:14.5px;line-height:1.5;}
.ck-tr{display:grid;gap:3px;font-size:13.5px;color:#4a554e;margin-bottom:10px;}
.ck-ex{display:grid;gap:7px;}
.ck-ex div{font-size:14px;line-height:1.5;background:#f7f8f6;border-radius:8px;padding:7px 10px;}
.ck-ex b{color:var(--chunk-ink);}
.ck-ex .lab{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;}
.ck-hear{margin-top:10px;background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--brand);cursor:pointer;}
.ck-hear:hover{border-color:var(--brand);background:var(--brand-soft);}

@media (max-width:900px){
  .ep-main{grid-template-columns:1fr;}
  .ep-tx-body{max-height:56vh;}
}
@media (max-width:560px){
  .pc-top,.pc-wrap{padding-left:14px;padding-right:14px;}
  .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .ck-grid{grid-template-columns:1fr;}
}

/* ---------- Luxury hub ---------- */
body.lux{min-height:100vh;color:#efe9da;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(201,162,79,.16), transparent 60%),
    radial-gradient(900px 500px at 110% 110%, rgba(47,120,84,.22), transparent 60%),
    linear-gradient(160deg,#0f1f18 0%,#0b1511 55%,#070d0a 100%);
  background-attachment:fixed;}
.lux .pc-top{padding-top:22px;}
.lux .pc-back{background:rgba(255,255,255,.04);border-color:rgba(239,233,218,.14);color:#cfc7b2;}
.lux .pc-back:hover{color:#fff;border-color:rgba(201,162,79,.6);}
.lux .pc-brand{color:#d8b866;font-size:18px;letter-spacing:.02em;}
.lux-hero{text-align:center;padding:9vh 0 6vh;}
.lux-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:#c9a24f;}
.lux-kicker::before,.lux-kicker::after{content:"";display:inline-block;width:34px;height:1px;background:rgba(201,162,79,.55);vertical-align:middle;margin:0 14px;}
.lux-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.6vw,64px);line-height:1.08;margin:18px 0 0;color:#f6f1e3;}
.lux-hero h1 em{font-style:italic;color:#d8b866;}
.lux-row{display:flex;gap:28px;overflow-x:auto;padding:18px 6px 40px;scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:safe center;}
.lux-row::-webkit-scrollbar{display:none;}
.lux-card{flex:0 0 260px;scroll-snap-align:center;text-decoration:none;color:inherit;
  border-radius:18px;overflow:hidden;background:rgba(255,255,255,.035);
  border:1px solid rgba(239,233,218,.10);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);
  animation:luxFloat 6s ease-in-out infinite;transition:border-color .3s,box-shadow .3s;}
.lux-card:nth-child(2){animation-delay:-1.5s}.lux-card:nth-child(3){animation-delay:-3s}
.lux-card:nth-child(4){animation-delay:-4.5s}.lux-card:nth-child(5){animation-delay:-2.2s}.lux-card:nth-child(6){animation-delay:-3.7s}
.lux-card:hover{border-color:rgba(201,162,79,.55);box-shadow:0 34px 70px -28px rgba(201,162,79,.35);animation-play-state:paused;}
@keyframes luxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.lux-thumb{position:relative;aspect-ratio:4/5;background:#14251d center/cover no-repeat;}
.lux-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,10,0) 35%,rgba(7,13,10,.92) 100%);}
.lux-play{position:absolute;z-index:1;left:18px;bottom:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#d8b866;color:#0f1f18;font-size:17px;box-shadow:0 8px 24px rgba(216,184,102,.35);transition:transform .3s;}
.lux-card:hover .lux-play{transform:scale(1.08);}
.lux-dur{position:absolute;z-index:1;right:16px;bottom:30px;font-size:12px;font-weight:700;color:#cfc7b2;letter-spacing:.04em;}
.lux-new{position:absolute;z-index:1;left:16px;top:16px;font-size:10px;font-weight:800;letter-spacing:.2em;color:#0f1f18;background:#d8b866;padding:4px 9px;border-radius:999px;}
.lux-info{padding:16px 18px 20px;}
.lux-title{font-family:var(--serif);font-size:19px;line-height:1.25;color:#f6f1e3;}
.lux-src{margin-top:6px;font-size:12.5px;color:#9e977f;letter-spacing:.02em;}
.lux-ghost{flex:0 0 260px;border-radius:18px;border:1px dashed rgba(239,233,218,.12);display:grid;place-items:center;
  color:rgba(239,233,218,.35);font-size:13px;letter-spacing:.18em;text-transform:uppercase;min-height:440px;
  animation:luxFloat 6s ease-in-out infinite;animation-delay:-2s;}
@media (prefers-reduced-motion:reduce){.lux-card,.lux-ghost{animation:none}}
@media (max-width:560px){.lux-hero{padding:7vh 0 4vh}.lux-card,.lux-ghost{flex-basis:78vw}.lux-row{justify-content:flex-start}}

/* ---------- Luxury hub: compact row of 7 ---------- */
.lux .pc-wrap{max-width:1320px;}
.lux-hero{padding:7vh 0 5vh;}
.lux-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;overflow:visible;padding:10px 0 40px;justify-content:stretch;}
.lux-card,.lux-ghost{flex:none;min-width:0;}
.lux-card{border-radius:14px;}
.lux-thumb{aspect-ratio:16/9;}
.lux-thumb::after{background:linear-gradient(180deg,rgba(7,13,10,0) 45%,rgba(7,13,10,.75) 100%);}
.lux-play{left:10px;bottom:10px;width:30px;height:30px;font-size:11px;}
.lux-dur{right:10px;bottom:12px;font-size:11px;}
.lux-new{left:8px;top:8px;font-size:9px;padding:3px 7px;letter-spacing:.16em;}
.lux-info{padding:10px 12px 14px;}
.lux-title{font-size:14.5px;line-height:1.3;}
.lux-src{font-size:11.5px;margin-top:4px;}
.lux-ghost{min-height:0;aspect-ratio:auto;border-radius:14px;font-size:10.5px;letter-spacing:.16em;padding:30px 8px;text-align:center;}
@keyframes luxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (max-width:1180px){.lux-row{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media (max-width:860px){.lux-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:560px){.lux-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.lux-card,.lux-ghost{flex-basis:auto;}}
.lux-hero{padding:5vh 0 5vh;}
.lux-hero h1{margin:0;font-size:clamp(38px,6vw,68px);letter-spacing:.005em;}
.lux-tag{margin:14px 0 0;font-size:clamp(15px,1.6vw,18px);color:#b9b29c;letter-spacing:.04em;}
.lux-tag::before,.lux-tag::after{content:"";display:inline-block;width:30px;height:1px;background:rgba(201,162,79,.5);vertical-align:middle;margin:0 14px;}
.lux-hero{padding:0 0 5vh;margin-top:-26px;}
.lux-hero .lux-kicker{display:block;margin-bottom:22px;}
.lux-hero h1{font-size:clamp(34px,5.2vw,60px);}

/* word-by-word follow: the line itself stays plain, the words light up as they are spoken */
.cue.live{background:transparent;font-weight:400;color:#a7aea9;}
.cue.live .w{transition:color .15s,background .15s;}
.cue.live .w.said{color:var(--ink);}
.cue.live .w.now{color:var(--ink);background:#f6e3a6;border-radius:4px;box-shadow:0 0 0 2px #f6e3a6;}
.cue.live mark.ch .w.said,.cue.live mark.ch .w.now{color:#1f5a3a;}
.cue.live mark.ch{background:#dff1e5;}

/* register badge + example level */
.ck-rg{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-left:auto;}
.ck-rg + .ck-lv{margin-left:-4px;}
.ck-rg.formal{background:#22302a;color:#f3ead2;}
.ck-rg.neutral{background:#fff;color:#55605a;box-shadow:inset 0 0 0 1px #d6dbd5;}
.ck-rg.informal{background:#fdeedd;color:#9a5512;}
.ck-exlv{font-style:normal;display:inline-block;font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:5px;margin-right:7px;background:#e3efe7;color:#1f4d36;letter-spacing:.02em;}

/* third example: real life */
.ck-ex .ck-rl{background:#fbf6ea;border:1px dashed #e6d6ab;}
.ck-ex .ck-rl .lab{color:#8a6a1c;}
/* 5 per row */
.lux-row{grid-template-columns:repeat(5,minmax(0,1fr));}
@media (max-width:1180px){.lux-row{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:860px){.lux-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:560px){.lux-row{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---------- Episode: Midnight gold (option A) ---------- */
body.ep-gold{min-height:100vh;color:#efe8d6;
  --ink:#efe8d6; --muted:#a39d8a; --line:rgba(216,184,102,.18); --gold:#d8b866;
  background:
    radial-gradient(1100px 560px at 10% -10%, rgba(201,162,79,.13), transparent 60%),
    radial-gradient(900px 520px at 110% 100%, rgba(47,120,84,.18), transparent 60%),
    linear-gradient(160deg,#0f1f18 0%,#0b1511 55%,#070d0a 100%);
  background-attachment:fixed;}
.ep-gold .pc-back{background:rgba(255,255,255,.04);border-color:rgba(239,233,218,.14);color:#cfc7b2;}
.ep-gold .pc-back:hover{color:#fff;border-color:rgba(216,184,102,.6);}
.ep-gold .pc-brand{color:#d8b866;font-size:18px;}
.ep-gold .ep-head{padding:14px 0 24px;}
.ep-gold .ep-kicker{display:inline-flex;align-items:center;gap:12px;letter-spacing:.3em;font-size:11px;color:#c9a24f;}
.ep-gold .ep-kicker::before,.ep-gold .ep-kicker::after{content:"";width:26px;height:1px;background:rgba(201,162,79,.55);}
.ep-gold .ep-head h1{font-weight:600;font-size:clamp(28px,4vw,44px);color:#f6f1e3;margin:10px 0 10px;}
.ep-gold .ep-head h1 em{font-style:italic;color:#d8b866;}
.ep-gold .ep-meta{color:#a39d8a;}
.ep-gold .ep-meta .pc-tag{background:transparent;border:1px solid rgba(216,184,102,.4);color:#e2c67c;}
.ep-gold .ep-video{border:1px solid rgba(216,184,102,.25);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.ep-gold .ep-legend{color:#8d8670;}
.ep-gold .ep-legend i.live{background:#d8b866;border:0;}
.ep-gold .ep-legend i.chunk{background:transparent;border:0;border-bottom:2px solid #d8b866;border-radius:0;}

.ep-gold .ep-tx{background:rgba(17,28,24,.82);border-color:rgba(216,184,102,.2);backdrop-filter:blur(6px);}
.ep-gold .ep-tx-head{border-bottom-color:rgba(216,184,102,.15);}
.ep-gold .ep-tx-head b{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#c9a24f;font-weight:800;}
.ep-gold .ep-follow{color:#a39d8a;}
.ep-gold .ep-follow input{accent-color:#d8b866;}
.ep-gold .ep-tx-body::-webkit-scrollbar{width:6px}
.ep-gold .ep-tx-body::-webkit-scrollbar-thumb{background:rgba(216,184,102,.25);border-radius:6px}
.ep-gold .cue{color:#b9b3a0;}
.ep-gold .cue:hover{background:rgba(216,184,102,.06);}
.ep-gold .cue .t{color:#6c6a5c;}
.ep-gold .cue.past{color:#6f7a72;}
.ep-gold .cue.live{background:transparent;color:#5d625c;}
.ep-gold .cue.live .t{color:#d8b866;}
.ep-gold .cue.live .w.said{color:#f3ecd9;}
.ep-gold .cue.live .w.now{color:#16130a;background:#d8b866;box-shadow:0 0 0 2px #d8b866;}
.ep-gold mark.ch{background:transparent;color:#e9cf8a;border-bottom:1px solid #d8b866;border-radius:0;padding:0 1px;font-weight:600;}
.ep-gold .cue.live mark.ch{background:rgba(216,184,102,.1);}
.ep-gold .cue.live mark.ch .w.said{color:#f1d896;}
.ep-gold .cue.live mark.ch .w.now{color:#16130a;}
.ep-gold mark.ch sup{color:#c9a24f;}

.ep-gold .ep-chunks{margin-top:48px;}
.ep-gold .ep-chunks h2{color:#f6f1e3;font-size:30px;font-weight:600;}
.ep-gold .ep-chunks > p{color:#a39d8a;}
.ep-gold .ck{background:rgba(17,28,24,.7);border:1px solid rgba(216,184,102,.2);border-left:1px solid rgba(216,184,102,.2);border-radius:14px;transition:border-color .25s,transform .25s;}
.ep-gold .ck:hover{border-color:rgba(216,184,102,.5);transform:translateY(-2px);}
.ep-gold .ck.flash{box-shadow:0 0 0 2px rgba(216,184,102,.55);}
.ep-gold .ck-n{background:transparent;border:1px solid rgba(216,184,102,.55);color:#d8b866;}
.ep-gold .ck-ph{font-family:var(--serif);font-weight:600;font-size:19px;color:#f6f1e3;}
.ep-gold .ck-lv,.ep-gold .ck-lv.b2,.ep-gold .ck-lv.c1,.ep-gold .ck-lv.c2{background:transparent;border:1px solid rgba(216,184,102,.45);color:#e2c67c;}
.ep-gold .ck-rg{background:transparent !important;box-shadow:none !important;letter-spacing:.14em;}
.ep-gold .ck-rg.formal{color:#e2c67c;border:1px solid rgba(216,184,102,.45);}
.ep-gold .ck-rg.neutral{color:#b9b3a0;border:1px solid rgba(239,233,218,.2);}
.ep-gold .ck-rg.informal{color:#f0a868;border:1px solid rgba(240,168,104,.45);}
.ep-gold .ck-def{color:#d6cfbb;}
.ep-gold .ck-tr{color:#a39d8a;}
.ep-gold .ck-ex div{background:rgba(255,255,255,.035);border:1px solid rgba(239,233,218,.06);color:#d9d2be;}
.ep-gold .ck-ex b{color:#ecd08a;}
.ep-gold .ck-ex .lab{color:#8d8670;}
.ep-gold .ck-exlv{background:rgba(216,184,102,.14);color:#e2c67c;}
.ep-gold .ck-hear{border-color:rgba(216,184,102,.35);color:#e2c67c;}
.ep-gold .ck-hear:hover{background:rgba(216,184,102,.1);border-color:#d8b866;}

/* ---------- Episode: Ivory editorial (option B) ---------- */
body.ep-ivory{min-height:100vh;background:#f7f2e8;color:#231d17;
  --ink:#231d17; --muted:#7a6f5f; --line:#ddd3bf; --wine:#6e1f2b; --paper:#fbf8f1;}
.ep-ivory .pc-top{border-bottom:1px solid #231d17;max-width:1240px;padding:18px 22px 12px;}
.ep-ivory .pc-back{background:transparent;border-color:#cfc4ad;color:#5c5246;border-radius:999px;}
.ep-ivory .pc-back:hover{border-color:var(--wine);color:var(--wine);}
.ep-ivory .pc-brand{color:#231d17;font-size:15px;letter-spacing:.28em;text-transform:uppercase;font-family:var(--font);font-weight:800;}
.ep-ivory .ep-head{padding:26px 0 26px;border-bottom:1px solid var(--line);margin-bottom:24px;}
.ep-ivory .ep-kicker{color:var(--wine);letter-spacing:.26em;font-size:11px;}
.ep-ivory .ep-head h1{font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1.08;color:#231d17;max-width:900px;margin:10px 0 12px;}
.ep-ivory .ep-head h1 em{font-style:italic;color:var(--wine);}
.ep-ivory .ep-meta{color:var(--muted);font-style:italic;font-family:var(--serif);font-size:15px;}
.ep-ivory .ep-meta .pc-tag{background:transparent;border:1px solid #231d17;color:#231d17;font-style:normal;font-family:var(--font);letter-spacing:.08em;}
.ep-ivory .ep-video{border-radius:4px;box-shadow:0 1px 0 #d9cfba,0 24px 40px -28px rgba(60,40,20,.5);}
.ep-ivory .ep-legend{color:var(--muted);font-style:italic;}
.ep-ivory .ep-legend i.live{background:#ecd9b0;border:0;}
.ep-ivory .ep-legend i.chunk{background:transparent;border:0;border-bottom:2px solid var(--wine);border-radius:0;}

.ep-ivory .ep-tx{background:var(--paper);border:1px solid var(--line);border-radius:4px;}
.ep-ivory .ep-tx-head{border-bottom:1px solid #231d17;margin:0 14px;padding:12px 2px;}
.ep-ivory .ep-tx-head b{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:800;}
.ep-ivory .ep-follow{color:var(--muted);}
.ep-ivory .ep-follow input{accent-color:var(--wine);}
.ep-ivory .cue{font-family:var(--serif);font-size:16.5px;line-height:1.7;color:#5c5246;border-radius:2px;}
.ep-ivory .cue:hover{background:#f1ead9;}
.ep-ivory .cue .t{font-family:var(--font);color:#b3a78f;}
.ep-ivory .cue.past{color:#9a8f7d;}
.ep-ivory .cue.live{background:transparent;color:#b8ad98;font-weight:400;}
.ep-ivory .cue.live .t{color:var(--wine);}
.ep-ivory .cue.live .w.said{color:#231d17;}
.ep-ivory .cue.live .w.now{color:#231d17;background:#ecd9b0;box-shadow:0 0 0 2px #ecd9b0;}
.ep-ivory .ep-tx-body .cue:first-child .x::first-letter{float:left;font-size:44px;line-height:.85;margin:4px 6px 0 0;color:var(--wine);}
.ep-ivory mark.ch{background:transparent;color:var(--wine);border-bottom:1px solid var(--wine);border-radius:0;padding:0;font-weight:600;}
.ep-ivory .cue.live mark.ch{background:transparent;}
.ep-ivory .cue.live mark.ch .w.said,.ep-ivory .cue.live mark.ch .w.now{color:var(--wine);}
.ep-ivory mark.ch sup{color:var(--wine);font-family:var(--font);}

.ep-ivory .ep-chunks{margin-top:52px;border-top:1px solid #231d17;padding-top:22px;}
.ep-ivory .ep-chunks h2{color:#231d17;font-size:34px;font-weight:600;}
.ep-ivory .ep-chunks > p{color:var(--muted);font-style:italic;font-family:var(--serif);}
.ep-ivory .ck-grid{gap:0 34px;}
.ep-ivory .ck{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 2px 22px;}
.ep-ivory .ck.flash{box-shadow:none;background:#f1e6cc;}
.ep-ivory .ck-n{width:auto;height:auto;background:transparent;border-radius:0;color:var(--wine);font-family:var(--serif);font-size:30px;font-weight:600;line-height:1;}
.ep-ivory .ck-ph{font-family:var(--serif);font-weight:600;font-size:21px;color:#231d17;}
.ep-ivory .ck-lv,.ep-ivory .ck-lv.b2,.ep-ivory .ck-lv.c1,.ep-ivory .ck-lv.c2{background:transparent;border:1px solid #231d17;color:#231d17;}
.ep-ivory .ck-rg{background:transparent !important;box-shadow:none !important;letter-spacing:.14em;}
.ep-ivory .ck-rg.formal{color:var(--wine);border:1px solid var(--wine);}
.ep-ivory .ck-rg.neutral{color:#5c5246;border:1px solid #b3a78f;}
.ep-ivory .ck-rg.informal{color:#a65a14;border:1px solid #d9a066;}
.ep-ivory .ck-def{font-family:var(--serif);font-size:16px;color:#3a3229;}
.ep-ivory .ck-tr{color:var(--muted);}
.ep-ivory .ck-ex div{background:transparent;border-left:2px solid #e2d6bd;border-radius:0;padding:4px 0 4px 12px;font-family:var(--serif);font-style:italic;font-size:15px;color:#3a3229;}
.ep-ivory .ck-ex .lab{font-family:var(--font);font-style:normal;color:#9a8f7d;}
.ep-ivory .ck-ex b{color:var(--wine);font-style:normal;}
.ep-ivory .ck-exlv{background:transparent;border:1px solid #cfc4ad;color:#5c5246;}
.ep-ivory .ck-hear{border-color:#231d17;color:#231d17;}
.ep-ivory .ck-hear:hover{background:var(--wine);border-color:var(--wine);color:#fbf8f1;}

/* ---------- Theme switcher ---------- */
.th-sw{display:inline-flex;gap:2px;padding:3px;border-radius:999px;margin-left:auto;border:1px solid var(--line);background:rgba(127,127,127,.06);}
.th-sw + .pc-brand{margin-left:14px;}
.th-sw button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s;}
.th-sw button.on{background:var(--ink);color:var(--bg,#fff);}
.ep-gold .th-sw button.on{background:#d8b866;color:#16130a;}
.ep-ivory .th-sw button.on{background:#231d17;color:#f7f2e8;}
.ep-notebook .th-sw button.on{background:#2b2a26;color:#fffdf6;}
.th-sw .d{width:10px;height:10px;border-radius:50%;display:inline-block;}
.th-sw .d-gold{background:#d8b866;box-shadow:inset 0 0 0 2px #0f1f18;}
.th-sw .d-ivory{background:#f7f2e8;box-shadow:inset 0 0 0 2px #6e1f2b;}
.th-sw .d-notebook{background:#ffe66d;box-shadow:inset 0 0 0 2px #3a6ea5;}
@media (max-width:640px){.pc-top{flex-wrap:wrap}.th-sw{order:3;width:100%;justify-content:center;margin:6px 0 0}.th-sw + .pc-brand{margin-left:auto}}

/* ---------- Episode: Study notebook (option E) ---------- */
body.ep-notebook{min-height:100vh;color:#2b2a26;--ink:#2b2a26;--muted:#77736a;--line:#e3dccb;--bg:#fffdf6;--pen:#3a6ea5;
  background-color:#fffdf6;background-image:repeating-linear-gradient(#fffdf6 0 31px,#dfe8f3 31px 32px);background-attachment:local;}
.ep-notebook .pc-wrap{position:relative;}
.ep-notebook .pc-wrap::before{content:"";position:absolute;left:-14px;top:-80px;bottom:0;width:1.5px;background:#f2a7a7;}
.ep-notebook .pc-back{background:#fffdf6;border-color:#e3dccb;color:#5d5a50;}
.ep-notebook .pc-back:hover{border-color:var(--pen);color:var(--pen);}
.ep-notebook .pc-brand{font-family:'Caveat',cursive;font-weight:700;font-size:26px;color:var(--pen);}
.ep-notebook .ep-kicker{font-family:'Caveat',cursive;text-transform:none;letter-spacing:0;font-size:24px;font-weight:500;color:var(--pen);}
.ep-notebook .ep-kicker::after{content:" ✎";}
.ep-notebook .ep-head h1{font-weight:700;font-size:clamp(28px,4vw,44px);color:#2b2a26;margin:2px 0 10px;}
.ep-notebook .ep-head h1 em{font-style:normal;background:linear-gradient(transparent 52%,#ffe66d 52%);padding:0 3px;}
.ep-notebook .ep-meta .pc-tag{background:#fff;border:1.5px solid #2b2a26;color:#2b2a26;border-radius:6px;}
.ep-notebook .ep-meta .pc-tag.chunk{background:#c8f0c0;border-color:#c8f0c0;}
.ep-notebook .ep-video{border-radius:6px;transform:rotate(-.5deg);box-shadow:0 3px 0 #d9d2bd,0 18px 30px -22px rgba(60,50,20,.45);border:6px solid #fff;}
.ep-notebook .ep-legend{color:var(--muted);}
.ep-notebook .ep-legend i.live{background:transparent;border:0;border-bottom:3px solid #ff8a5c;border-radius:0;}
.ep-notebook .ep-legend i.chunk{background:#ffe66d;border:0;}
.ep-notebook .ep-tx{background:rgba(255,253,246,.92);border:1.5px solid #e3dccb;border-radius:8px;}
.ep-notebook .ep-tx-head{border-bottom:1.5px dashed #e3dccb;}
.ep-notebook .ep-tx-head b{font-family:'Caveat',cursive;font-size:24px;font-weight:700;color:var(--pen);}
.ep-notebook .ep-follow input{accent-color:var(--pen);}
.ep-notebook .cue{color:#8f8a7e;border-radius:4px;}
.ep-notebook .cue:hover{background:#fbf5e3;}
.ep-notebook .cue .t{color:#b9b2a2;}
.ep-notebook .cue.past{color:#77736a;}
.ep-notebook .cue.live{background:transparent;color:#bdb6a6;}
.ep-notebook .cue.live .t{color:#ff6b3d;}
.ep-notebook .cue.live .w.said{color:#2b2a26;}
.ep-notebook .cue.live .w.now{color:#2b2a26;background:transparent;box-shadow:inset 0 -3px 0 #ff8a5c;border-radius:0;}
.ep-notebook mark.ch{color:#2b2a26;border:0;border-radius:2px;padding:0 2px;font-weight:600;}
.ep-notebook mark.ch.h0{background:#ffe66d;} .ep-notebook mark.ch.h1{background:#c8f0c0;}
.ep-notebook mark.ch.h2{background:#ffd0e0;} .ep-notebook mark.ch.h3{background:#cfe8ff;}
.ep-notebook .cue.live mark.ch .w.said,.ep-notebook .cue.live mark.ch .w.now{color:#2b2a26;}
.ep-notebook mark.ch sup{color:#77736a;}
.ep-notebook .ep-chunks h2{font-family:'Caveat',cursive;font-size:40px;font-weight:700;color:var(--pen);}
.ep-notebook .ck-grid{gap:26px 22px;}
.ep-notebook .ck{border:0;border-radius:2px;padding:20px 20px 18px;box-shadow:0 10px 18px -12px rgba(60,50,20,.45);transition:transform .2s;}
.ep-notebook .ck:nth-child(odd){transform:rotate(-.7deg);} .ep-notebook .ck:nth-child(even){transform:rotate(.6deg);}
.ep-notebook .ck:hover{transform:rotate(0) translateY(-2px);}
.ep-notebook .ck.h0{background:#fff3a8;} .ep-notebook .ck.h1{background:#dcf5d4;}
.ep-notebook .ck.h2{background:#ffe0ea;} .ep-notebook .ck.h3{background:#dcefff;}
.ep-notebook .ck.flash{box-shadow:0 0 0 3px #ff8a5c;}
.ep-notebook .ck-n{background:#2b2a26;color:#fffdf6;}
.ep-notebook .ck-ph{font-family:'Caveat',cursive;font-size:27px;font-weight:700;line-height:1.05;}
.ep-notebook .ck-lv,.ep-notebook .ck-lv.b2,.ep-notebook .ck-lv.c1,.ep-notebook .ck-lv.c2{background:rgba(255,255,255,.7);color:#2b2a26;}
.ep-notebook .ck-rg{background:rgba(255,255,255,.7) !important;box-shadow:none !important;color:#2b2a26 !important;}
.ep-notebook .ck-rg.formal{color:#3a6ea5 !important;} .ep-notebook .ck-rg.informal{color:#c0501c !important;}
.ep-notebook .ck-def{color:#2b2a26;}
.ep-notebook .ck-tr{color:#5d5a50;}
.ep-notebook .ck-ex div{background:rgba(255,255,255,.55);border-radius:4px;}
.ep-notebook .ck-ex b{color:#2b2a26;box-shadow:inset 0 -3px 0 rgba(255,138,92,.55);}
.ep-notebook .ck-ex .lab{color:#77736a;}
.ep-notebook .ck-exlv{background:#2b2a26;color:#fffdf6;}
.ep-notebook .ck-hear{background:rgba(255,255,255,.7);border-color:transparent;color:#2b2a26;}
.ep-notebook .ck-hear:hover{background:#2b2a26;color:#fffdf6;}
@media (max-width:700px){.ep-notebook .pc-wrap::before{display:none}}

/* ---------- Hub: notebook design (default) + shared bits ---------- */
.nb-brand,.nb-note,.nb-count,.nb-hint,.nb-tape{display:none;}
.lux .lux-new{text-transform:uppercase;}
.lux .hl{color:inherit;}
.lux .th-sw{border-color:rgba(239,233,218,.14);background:rgba(255,255,255,.04);}
.lux .th-sw button{color:#a39d8a;}
.lux .th-sw button.on{background:#d8b866;color:#16130a;}
.th-sw + .nb-brand{margin-left:14px;}
body.nbk{min-height:100vh;color:#2b2a26;--ink:#2b2a26;--muted:#77736a;--line:#e3dccb;--pen:#3a6ea5;
  background-color:#fffdf6;background-image:repeating-linear-gradient(#fffdf6 0 31px,#dfe8f3 31px 32px);}
.nbk .pc-top{max-width:1320px;padding-top:22px;}
.nbk .pc-back{background:#fffdf6;border-color:#e3dccb;color:#5d5a50;}
.nbk .pc-back:hover{border-color:var(--pen);color:var(--pen);}
.nbk .th-sw button.on{background:#2b2a26;color:#fffdf6;}
.nbk .nb-brand{display:inline;font-family:'Caveat',cursive;font-weight:700;font-size:26px;color:var(--pen);}
.nbk .pc-wrap{position:relative;max-width:1320px;}
.nbk .pc-wrap::before{content:"";position:absolute;left:-14px;top:-90px;bottom:0;width:1.5px;background:#f2a7a7;}
.nbk .pc-wrap::after{content:"";position:absolute;left:-46px;top:20px;bottom:40px;width:16px;background:radial-gradient(circle,#ece4d0 6px,transparent 7px) 0 0/16px 150px repeat-y;}
.nbk .lux-hero{text-align:center;padding:2vh 0 4vh;margin:0;}
.nbk .lux-kicker{display:none !important;}
.nbk .nb-note{display:block;font-family:'Caveat',cursive;font-size:28px;color:var(--pen);transform:rotate(-1.5deg);}
.nbk .lux-hero h1{font-family:var(--serif);font-weight:700;color:#2b2a26;font-size:clamp(36px,5.4vw,64px);margin:4px 0 6px;}
.nbk .hl{background:linear-gradient(transparent 55%,#ffe66d 55%);padding:0 6px;}
.nbk .nb-count{display:block;font-family:'Caveat',cursive;font-size:22px;color:#77736a;}
.nbk .lux-row{gap:26px;padding:26px 6px 30px;}
.nbk .lux-card{animation:none;background:#fff;border:0;border-radius:2px;padding:8px 8px 14px;position:relative;overflow:visible;
  box-shadow:0 12px 22px -12px rgba(60,50,20,.5);transition:transform .25s,box-shadow .25s;}
.nbk .lux-card:nth-child(5n+1){transform:rotate(-2deg);} .nbk .lux-card:nth-child(5n+2){transform:rotate(1.5deg) translateY(8px);}
.nbk .lux-card:nth-child(5n+3){transform:rotate(-1deg);} .nbk .lux-card:nth-child(5n+4){transform:rotate(2deg) translateY(6px);}
.nbk .lux-card:nth-child(5n){transform:rotate(-1.6deg);}
.nbk .lux-card:hover{transform:rotate(0) translateY(-4px) scale(1.02);box-shadow:0 22px 30px -14px rgba(60,50,20,.55);border:0;}
.nbk .nb-tape{display:block;position:absolute;z-index:2;top:-11px;left:50%;width:70px;height:22px;margin-left:-35px;background:rgba(255,230,109,.78);}
.nbk .lux-card:nth-child(4n+2) .nb-tape{background:rgba(200,240,192,.85);} .nbk .lux-card:nth-child(4n+3) .nb-tape{background:rgba(255,208,224,.85);}
.nbk .lux-card:nth-child(4n) .nb-tape{background:rgba(207,232,255,.9);}
.nbk .lux-thumb{border-radius:0;}
.nbk .lux-thumb::after{display:none;}
.nbk .lux-play{background:#2b2a26;color:#fffdf6;box-shadow:none;}
.nbk .lux-dur{background:#2b2a26;color:#fffdf6;padding:1px 6px;border-radius:4px;bottom:10px;}
.nbk .lux-new{background:transparent;color:#c0501c;font-family:'Caveat',cursive;font-size:22px;font-weight:700;letter-spacing:0;top:auto;bottom:-6px;left:auto;right:6px;transform:rotate(-8deg);padding:0;z-index:2;}
.nbk .lux-new::after{content:"!";}
.nbk .lux-info{padding:10px 4px 0;}
.nbk .lux-title{font-family:'Caveat',cursive;font-weight:700;font-size:23px;line-height:1.05;color:#2b2a26;}
.nbk .lux-src{color:#77736a;}
.nbk .lux-ghost{animation:none;border:2px dashed #cfc6b0;border-radius:4px;color:#9a948a;font-family:'Caveat',cursive;font-size:22px;letter-spacing:0;text-transform:none;transform:rotate(1deg);}
.nbk .nb-hint{display:block;font-family:'Caveat',cursive;font-size:24px;color:var(--pen);transform:rotate(-1deg);margin:4px 0 30px;}
@media (max-width:700px){.nbk .pc-wrap::before,.nbk .pc-wrap::after{display:none}.nbk .nb-brand{display:none}}
/* notebook: margin line + holes run the full page height */
.nbk .pc-wrap::before,.nbk .pc-wrap::after,.ep-notebook .pc-wrap::before{display:none;}
body.nbk::before,body.ep-notebook::before{content:"";position:fixed;top:0;bottom:0;left:max(10px,calc(50% - 660px));width:1.5px;background:#f2a7a7;z-index:0;pointer-events:none;}
body.nbk::after,body.ep-notebook::after{content:"";position:fixed;top:30px;bottom:0;left:max(-20px,calc(50% - 694px));width:16px;background:radial-gradient(circle,#ece4d0 6px,transparent 7px) 0 0/16px 150px repeat-y;pointer-events:none;}
@media (max-width:1360px){body.nbk::after,body.ep-notebook::after{display:none}}
@media (max-width:700px){body.nbk::before,body.ep-notebook::before{display:none}}
.nbk .lux-new{top:6px;left:8px;right:auto;bottom:auto;background:#fffdf6;padding:0 7px;border-radius:3px;font-size:20px;line-height:1.15;transform:rotate(-6deg);box-shadow:0 2px 4px rgba(0,0,0,.15);}

/* IELTS Speaking practice section (sample answers built from the episode's chunks) */
.ep-speak{margin-top:44px;}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.sp-card{border:1px solid var(--line);border-radius:var(--radius,14px);padding:14px 16px;background:color-mix(in srgb,var(--ink) 3%,transparent);}
.sp-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;}
.sp-num{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;background:var(--gold);color:#fff;}
.sp-part{font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.sp-date{margin-left:auto;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-weight:600;}
.sp-q{margin:10px 0 8px;font-weight:700;font-size:16px;color:var(--ink);}
.sp-ans summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--gold);list-style:none;}
.sp-ans summary::-webkit-details-marker{display:none;}
.sp-ans summary::before{content:"▸ ";}
.sp-ans[open] summary::before{content:"▾ ";}
.sp-ans p{margin:10px 0 8px;line-height:1.65;color:var(--ink);}
.sp-ck{background:color-mix(in srgb,var(--gold) 26%,transparent);padding:0 3px;border-radius:4px;}
.sp-chips{display:flex;flex-wrap:wrap;gap:6px;}
.sp-chip{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);color:var(--ink);}
.ep-notebook .sp-card{background:#fffef8;}
.ep-notebook .sp-q,.ep-notebook .sp-ans summary{font-family:'Caveat',cursive;font-size:22px;}
.ep-notebook .sp-ans summary{color:var(--pen);}
.sp-ck2{background:color-mix(in srgb,#2f9e5f 18%,transparent);padding:0 3px;border-radius:4px;}
.sp-st{color:#e0631a;font-weight:700;background:none;}
.sp-listen{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--muted);font-weight:600;}
.sp-say{font:inherit;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;}
.sp-say:hover{border-color:var(--gold);}
.sp-say.playing{background:var(--gold);border-color:var(--gold);color:#fff;}
.sp-list{list-style:none;margin:6px 0 0;padding:0;border-top:1px dashed var(--line);}
.sp-list li{padding:8px 0;border-bottom:1px dashed var(--line);}
.sp-ph{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sp-ph b{margin-right:4px;color:var(--ink);}
.sp-tr{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:3px;font-size:13px;color:var(--muted);}
.ep-notebook .sp-ans p{font-size:15.5px;}
