:root{
  --bg:#12100e; --panel:#1b1815; --panel2:#221e1a; --line:#39322b;
  --ink:#ece5da; --muted:#a2968785; --muted2:#b6a996; --gold:#c8a24a; --gold2:#e0bd63;
  --red:#c8503c; --green:#5b9a5b;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.6 Georgia,"Times New Roman",serif;
}
.wrap{width:100%; max-width:900px; margin:0 auto; padding:0 20px}
a{color:var(--gold2)}

/* ---- Hero ---- */
.hero{
  background:
    radial-gradient(120% 140% at 50% -20%, #2a2119 0%, #12100e 60%),
    linear-gradient(#161310,#12100e);
  border-bottom:1px solid var(--line); padding:56px 0 40px; text-align:center;
}
.eyebrow{
  text-transform:uppercase; letter-spacing:.28em; font-size:12px;
  color:var(--gold); margin:0 0 14px; font-family:Arial,Helvetica,sans-serif;
}
.hero h1{
  margin:0; font-size:clamp(34px,7vw,60px); letter-spacing:.04em;
  color:#fff; text-shadow:0 2px 24px rgba(200,162,74,.18);
}
.subheading{margin:.5em 0 0; font-size:clamp(17px,3vw,22px); color:var(--gold2); font-style:italic}
.lead{max-width:680px; margin:22px auto 0; color:var(--muted2); font-size:16px}
.stats{
  display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:34px auto 0; max-width:680px;
}
.stat{
  flex:1 1 130px; background:var(--panel); border:1px solid var(--line);
  border-radius:10px; padding:14px 10px;
}
.stat .num{display:block; font-size:30px; color:var(--gold2); font-weight:bold}
.stat .lbl{display:block; font-size:12px; color:var(--muted2); font-family:Arial,sans-serif; margin-top:4px}

/* ---- Episodes ---- */
main{padding:40px 20px 20px}
.episode{
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:20px 22px; margin:0 0 18px; box-shadow:0 6px 22px rgba(0,0,0,.25);
}
.ep-head{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.ep-num{
  flex:0 0 auto; width:42px; height:42px; border-radius:50%;
  background:linear-gradient(160deg,var(--gold2),var(--gold)); color:#1a1510;
  display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:20px;
  font-family:Arial,sans-serif;
}
.ep-title{flex:1 1 60%; margin:0; font-size:19px; color:#fff; line-height:1.35}
.watch{
  flex:0 0 auto; font-family:Arial,sans-serif; font-size:14px; text-decoration:none;
  background:var(--red); color:#fff; padding:8px 14px; border-radius:8px; white-space:nowrap;
}
.watch:hover{filter:brightness(1.1)}
.watch.missing{background:#3a3128; color:var(--muted2); font-style:italic}
.ep-url{margin:12px 0 0; font-size:12.5px; font-family:Arial,sans-serif; word-break:break-all}
.ep-url a{color:var(--muted2)}
.points{list-style:none; margin:14px 0 0; padding:0}
.points li{
  padding:8px 0 8px 4px; border-top:1px solid var(--line); color:var(--ink);
}
.points li:first-child{border-top:none}
.time{
  font-family:"Courier New",monospace; font-size:13px; color:var(--gold2);
  margin-right:8px; text-decoration:none; white-space:nowrap;
}
a.time:hover{text-decoration:underline}
.ptext{color:#d8cfc2}

/* ---- Footer ---- */
.foot{padding:26px 20px 50px; text-align:center; color:var(--muted2); font-size:14px; border-top:1px solid var(--line); margin-top:24px}
.foot strong{color:var(--gold2)}
.admin-link{margin-top:10px; font-family:Arial,sans-serif; font-size:13px}
.admin-link a{color:var(--muted2)}

/* ---- Admin ---- */
body.admin{font-family:Arial,Helvetica,sans-serif}
body.admin .wrap{max-width:760px; padding-top:34px; padding-bottom:60px}
body.admin h1{color:#fff; font-size:26px}
.flash{padding:12px 16px; border-radius:8px; margin:14px 0; font-size:15px}
.flash.ok{background:rgba(91,154,91,.18); border:1px solid var(--green); color:#bfe3bf}
.flash.bad{background:rgba(200,80,60,.16); border:1px solid var(--red); color:#f0bcb2}
.login{max-width:360px; margin-top:20px; background:var(--panel); border:1px solid var(--line); padding:22px; border-radius:12px}
label{display:block; margin-bottom:12px; color:var(--muted2); font-size:14px}
input[type=password],input[type=text],input[type=url]{
  width:100%; margin-top:6px; padding:10px 12px; border-radius:8px;
  border:1px solid var(--line); background:var(--panel2); color:var(--ink);
  font-size:15px; font-family:inherit;
}
input:focus{outline:none; border-color:var(--gold)}
button{
  background:linear-gradient(160deg,var(--gold2),var(--gold)); color:#1a1510;
  border:none; padding:11px 22px; border-radius:8px; font-size:15px; font-weight:bold;
  cursor:pointer; font-family:inherit;
}
button:hover{filter:brightness(1.06)}
.toolbar{display:flex; gap:18px; margin:6px 0 4px; font-size:14px}
.hint{color:var(--muted2); font-size:13.5px}
.hint code, code{background:var(--panel2); padding:2px 6px; border-radius:5px; color:var(--gold2)}
.ep-edit{
  background:var(--panel); border:1px solid var(--line); border-radius:10px;
  padding:14px 18px 4px; margin:0 0 14px;
}
.ep-edit legend{color:var(--gold2); font-weight:bold; padding:0 8px}
.field{color:var(--muted2)}
.save-bar{position:sticky; bottom:0; background:linear-gradient(transparent,var(--bg) 40%); padding:16px 0; text-align:right}

@media (max-width:560px){
  .ep-title{flex-basis:100%}
  .stat .num{font-size:24px}
}
