/* Podli webplayer — computerweergave. Op een telefoon (smal scherm) verdwijnt
   de player en verschijnt het downloadscherm (#mobile). */
:root{color-scheme:dark;--bg:#0a0a0f;--panel:#12101a;--line:#221c30;--text:#f4f0ff;--muted:#8b7fa8;
  --accent:#7c3aed;--accent2:#9d5cf6;--bar:84px;--side:264px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--accent2);text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block}

#app{display:grid;grid-template-columns:var(--side) 1fr;grid-template-rows:1fr var(--bar);height:100vh}
#mobile{display:none}

/* ---------- zijbalk ---------- */
.side{grid-row:1;background:var(--panel);border-inline-end:1px solid var(--line);padding:22px 18px;
  display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--text)}
.brand img{width:32px;height:32px;border-radius:8px}
.brand b{color:var(--accent)}
.brand small{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:#c9bfe0;font-weight:600}
.nav a:hover{background:#1a1626}
.nav a.on{background:#241a3d;color:#fff}
.nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cta{margin-top:auto;background:linear-gradient(150deg,#2a1a4d,#160f26);border:1px solid #3a2a63;border-radius:16px;padding:16px}
.cta h2{margin:0 0 6px;font-size:15px}
.cta p{margin:0 0 12px;font-size:12.5px;color:#c9bfe0;line-height:1.45}
.qrs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qrs figure{margin:0;text-align:center}
.qrs img{width:100%;height:auto;background:#fff;border-radius:10px;padding:6px;image-rendering:pixelated}
.qrs figcaption{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.25}

/* ---------- hoofdvlak ---------- */
.main{grid-row:1;overflow-y:auto;padding:26px 34px 40px;position:relative}
.main::before{content:'';position:absolute;inset:0 0 auto 0;height:320px;pointer-events:none;
  background:radial-gradient(700px 320px at 40% -120px,rgba(124,58,237,.22),transparent 70%)}
.main>*{position:relative}
.top{display:flex;align-items:center;gap:16px;margin:0 0 26px}
.searchbar{display:flex;gap:10px;align-items:center;flex:1;max-width:620px}
.langpick{margin-inline-start:auto;display:flex;align-items:center;gap:6px;color:#c9bfe0;border:1px solid var(--line);
  border-radius:999px;padding:0 6px 0 12px;background:#17131f;flex-shrink:0}
.langpick:hover,.langpick:focus-within{border-color:var(--accent);color:#fff}
.langpick svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lang{background:transparent;color:inherit;border:none;outline:none;padding:9px 4px;font-size:13px;cursor:pointer;max-width:170px}
.lang option{background:#17131f;color:#f4f0ff}
.searchbar input{flex:1;background:#17131f;color:var(--text);border:1px solid var(--line);border-radius:14px;
  padding:13px 16px;font-size:16px;outline:none}
.searchbar input:focus{border-color:var(--accent)}
h1{font-size:26px;line-height:1.2;margin:0 0 6px}
h2.sec{font-size:17px;margin:30px 0 14px}
.hint{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;list-style:none;margin:0;padding:0}
.tile{display:block;color:var(--text)}
.tile img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:16px;background:#17131f;
  transition:transform .15s ease,box-shadow .15s ease}
.tile:hover img{transform:translateY(-3px);box-shadow:0 12px 36px rgba(124,58,237,.35)}
.tile .n{font-weight:700;font-size:14px;margin:9px 0 0;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile .a{font-size:12.5px;color:var(--muted);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;margin:0 0 16px;
  background:none;border:none;padding:0}
.back:hover{color:var(--text)}
.hero{display:flex;gap:24px;align-items:flex-start;margin:0 0 8px}
.hero img{width:180px;height:180px;border-radius:20px;object-fit:cover;background:#17131f;flex-shrink:0;
  box-shadow:0 14px 48px rgba(124,58,237,.35)}
.hero .au{color:var(--muted);margin:0 0 12px}
.hero .ds{color:#b9aed3;font-size:14px;margin:12px 0 0;max-width:70ch;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.btn{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:9px 20px;font-weight:700;font-size:14px}
.btn:hover{background:var(--accent2)}
.btn.ghost{background:transparent;border:1px solid #4a3a73;color:#e6dcff}
.btn.ghost:hover{background:#1a1626}

.eps{list-style:none;margin:0;padding:0}
.ep{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.ep .pl{width:44px;height:44px;border-radius:50%;border:none;background:#241a3d;display:grid;place-items:center}
.ep .pl:hover,.ep.cur .pl{background:var(--accent)}
.ep .pl svg{width:18px;height:18px;fill:#fff}
.ep .t{font-weight:700;font-size:15px;background:none;border:none;padding:0;text-align:start;color:var(--text)}
.ep.cur .t{color:var(--accent2)}
.ep .m{color:var(--muted);font-size:12.5px;margin:2px 0 0}
.ep .pg{height:3px;background:#2a2438;border-radius:2px;margin:8px 0 0;max-width:240px;overflow:hidden}
.ep .pg i{display:block;height:100%;background:var(--accent)}
.ep .nt{color:#b9aed3;font-size:13.5px;margin:8px 0 0;white-space:pre-line;max-width:80ch;overflow-wrap:anywhere}
.more{margin:18px 0 0}
.err{color:#ffb4c0}

/* ---------- speler onderin ---------- */
.bar{grid-column:1 / -1;grid-row:2;background:#0f0c16;border-top:1px solid var(--line);
  display:grid;grid-template-columns:minmax(200px,1fr) minmax(360px,2fr) minmax(200px,1fr);
  align-items:center;gap:20px;padding:0 22px}
.now{display:flex;align-items:center;gap:12px;min-width:0}
.now img{width:52px;height:52px;border-radius:10px;object-fit:cover;background:#17131f;flex-shrink:0}
.now .tt{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now .ss{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now>div{min-width:0}
.mid{display:flex;flex-direction:column;gap:4px;align-items:center}
.ctl{display:flex;align-items:center;gap:14px}
.ctl button{background:none;border:none;color:#c9bfe0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  font-size:11px;font-weight:700}
.ctl button:hover{color:#fff;background:#1a1626}
.ctl button:disabled{opacity:.35;cursor:default;background:none}
.ctl .pp{width:42px;height:42px;background:var(--accent);color:#fff}
.ctl .pp:hover{background:var(--accent2)}
.ctl svg{width:20px;height:20px;fill:currentColor}
.seek{display:flex;align-items:center;gap:10px;width:100%;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.seek span{min-width:48px}.seek span:last-child{text-align:end}
input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:16px;flex:1;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;background:#2a2438;border-radius:2px}
input[type=range]::-moz-range-track{height:4px;background:#2a2438;border-radius:2px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;margin-top:-4px}
input[type=range]::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff}
.right{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.right select{background:#17131f;color:#c9bfe0;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12.5px}
.right input[type=range]{max-width:110px}
.right svg{width:18px;height:18px;fill:none;stroke:#8b7fa8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ---------- downloadscherm (telefoon) ---------- */
.dl{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:36px 26px;background:radial-gradient(520px 380px at 50% -60px,rgba(124,58,237,.35),transparent 70%),var(--bg)}
.dl .ic{width:112px;height:112px;border-radius:26px;box-shadow:0 18px 60px rgba(124,58,237,.5);margin:0 0 26px}
.dl h1{font-size:25px;margin:0 0 10px}
.dl p{color:#c9bfe0;margin:0 auto 26px;max-width:34ch}
.dl .badges{display:flex;flex-direction:column;gap:12px;align-items:center;margin:0 0 26px}
.dl .badge svg{height:58px;width:auto;display:block}
.dl .tag{color:var(--muted);font-size:13px;margin:0}
.dl .home{margin-top:26px;font-size:13.5px}

/* Smal scherm = telefoon: geen player, wel het downloadscherm. */
@media (max-width:759px){
  #app{display:none}
  #mobile{display:block}
}
@media (max-width:1100px) and (min-width:760px){
  :root{--side:220px}
  .main{padding:22px 22px 36px}
  .bar{grid-template-columns:minmax(160px,1fr) minmax(300px,2fr) auto}
  .right input[type=range]{display:none}
}
