/* ============================================================
   MADSEN AKADEMIE · PED MASTERCLASS — Kurs-Shell
   Brand: LED-Palette (Pink/Purple/Blue) · Bebas Neue / DM Sans / Space Mono
   ============================================================ */
:root{
  --bg:#0a0a0a;--card:#111;--card2:#161616;--border:#1e1e1e;
  --pink:#EC1E80;--pink-200:#F94FA6;--purple:#8B2FC9;--purple-200:#B968E3;
  --blue:#1E40FF;--blue-200:#5C7CFF;--teal:#2ec4b6;--gold:#f4a024;
  --text:#ccc;--bright:#eee;--muted:#777;--dim:#444;
  --grad-led:linear-gradient(90deg,#1E40FF,#8B2FC9,#EC1E80);
  --grad-cta:linear-gradient(135deg,#EC1E80,#8B2FC9);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--pink);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ---------- TOPBAR ---------- */
.k-top{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:12px 20px;background:rgba(10,10,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border)}
.k-brand{display:flex;align-items:center;gap:10px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:#fff;line-height:1}
.k-brand .dot{width:10px;height:10px;border-radius:50%;background:var(--grad-cta);box-shadow:0 0 14px rgba(236,30,128,.6)}
.k-brand small{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--pink);display:block;margin-top:2px}
.k-top-right{display:flex;align-items:center;gap:16px}
.k-topbar-prog{display:flex;align-items:center;gap:9px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}
.k-topbar-prog .track{width:120px;height:6px;background:var(--card2);border-radius:3px;overflow:hidden}
.k-topbar-prog .fill{height:100%;background:var(--grad-led);width:0%;transition:width .5s ease}
.k-btn-ghost{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--bright);
  border:1px solid var(--border);border-radius:6px;padding:8px 12px;transition:all .2s;white-space:nowrap}
.k-btn-ghost:hover{border-color:var(--pink);color:#fff}

/* ---------- LAYOUT ---------- */
.k-wrap{max-width:960px;margin:0 auto;padding:0 22px}
.k-page{padding-top:60px}

/* ---------- MODULE HERO ---------- */
.k-hero{padding:46px 0 26px;position:relative;background:radial-gradient(ellipse at top,rgba(139,47,201,.16) 0%,transparent 62%)}
.k-eyebrow{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:4px;color:var(--pink);text-transform:uppercase;margin-bottom:14px}
.k-eyebrow .sep{color:var(--dim);margin:0 8px}
.k-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,11vw,84px);line-height:.88;color:#fff;letter-spacing:-1px;margin-bottom:14px}
.k-hero h1 .accent{background:var(--grad-cta);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.k-hero-sub{font-size:16px;color:var(--text);max-width:640px;line-height:1.55}.k-hero-sub strong{color:#fff}

/* ---------- VIDEO (VSL) ---------- */
.k-video-block{margin:26px 0 8px}
.k-video-label{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--purple-200);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.k-video-label .n{font-family:'Bebas Neue',sans-serif;font-size:16px;color:#fff;letter-spacing:.5px}
.k-video{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--border);border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(139,47,201,.15),0 30px 80px -30px rgba(236,30,128,.35)}
.k-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.k-video + .k-video-block{margin-top:22px}

/* ---------- SECTION HEADERS ---------- */
.k-sec-head{margin:44px 0 4px}
.k-sec-head .eb{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--pink);margin-bottom:8px}
.k-sec-head h2{font-family:'Bebas Neue',sans-serif;font-size:34px;color:#fff;letter-spacing:.3px;line-height:1}
.k-sec-head .rule{height:2px;background:var(--grad-led);margin-top:14px;border-radius:2px}
.k-sec-note{font-size:14px;color:var(--muted);margin-top:12px}

/* ---------- GUIDE (inline, ganze Seite scrollt) ---------- */
.k-guide-inline{max-width:960px;margin:0 auto;padding-top:4px}
.k-guide-inline .toc-wrap{position:static !important}   /* Sticky-TOC nicht unter Topbar kleben */
.k-guide-inline .scroll-progress{display:none}          /* eigener Fortschrittsbalken des Guides aus */
.k-guide-divider{max-width:960px;margin:36px auto 0;padding:0 22px}

/* ---------- QUIZ ---------- */
.k-quiz{margin:26px 0 10px}
.k-quiz-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.k-quiz-meta .score{color:var(--teal)}
.k-q{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 18px 14px;margin-bottom:14px;transition:border-color .25s}
.k-q.correct{border-color:rgba(46,196,182,.5)}
.k-q.wrong{border-color:rgba(236,30,128,.5)}
.k-q-num{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--purple-200);margin-bottom:8px}
.k-q-text{font-size:16px;color:#fff;font-weight:600;line-height:1.4;margin-bottom:14px}
.k-opts{display:flex;flex-direction:column;gap:8px}
.k-opt{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;background:var(--card2);border:1px solid var(--border);border-radius:9px;
  cursor:pointer;font-size:14.5px;color:var(--text);line-height:1.45;transition:all .16s;text-align:left}
.k-opt:hover{border-color:var(--purple-200);color:#fff}
.k-opt .mark{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--dim);display:flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);margin-top:1px;transition:all .16s}
.k-opt.sel{border-color:var(--pink);background:rgba(236,30,128,.08);color:#fff}
.k-opt.sel .mark{border-color:var(--pink);background:var(--pink);color:#fff}
.k-opt.ok{border-color:var(--teal);background:rgba(46,196,182,.1);color:#fff}
.k-opt.ok .mark{border-color:var(--teal);background:var(--teal);color:#04110f}
.k-opt.bad{border-color:var(--pink);background:rgba(236,30,128,.1);color:#fff}
.k-opt.bad .mark{border-color:var(--pink);background:var(--pink);color:#fff}
.k-opt.locked{pointer-events:none;opacity:.9}
.k-explain{margin-top:12px;padding:11px 13px;border-left:3px solid var(--teal);background:rgba(46,196,182,.06);border-radius:0 8px 8px 0;
  font-size:13.5px;color:var(--text);line-height:1.5;display:none}
.k-explain.show{display:block}
.k-explain strong{color:#fff}
.k-q.wrong .k-explain{border-left-color:var(--pink);background:rgba(236,30,128,.06)}

.k-quiz-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.k-btn{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;
  border:0;border-radius:9px;padding:15px 26px;cursor:pointer;transition:all .2s;color:#fff;background:var(--grad-cta)}
.k-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.k-btn:disabled{background:var(--card2);color:var(--dim);cursor:not-allowed;transform:none;filter:none;border:1px solid var(--border)}
.k-btn.sec{background:transparent;border:1px solid var(--border);color:var(--bright)}
.k-btn.sec:hover{border-color:var(--pink);color:#fff}
.k-quiz-result{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.5px;padding:14px 16px;border-radius:9px;display:none;margin-top:8px}
.k-quiz-result.show{display:block}
.k-quiz-result.pass{background:rgba(46,196,182,.1);border:1px solid rgba(46,196,182,.4);color:var(--teal)}
.k-quiz-result.fail{background:rgba(236,30,128,.08);border:1px solid rgba(236,30,128,.4);color:var(--pink-200)}

/* ---------- MODULE NAV FOOTER ---------- */
.k-navfoot{display:flex;align-items:stretch;justify-content:space-between;gap:14px;margin:40px 0 60px;flex-wrap:wrap}
.k-nav-card{flex:1;min-width:210px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:all .2s}
.k-nav-card.next{border-color:rgba(139,47,201,.4)}
.k-nav-card.next.ready:hover{border-color:var(--pink);transform:translateY(-2px)}
.k-nav-card .dir{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.k-nav-card .ttl{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;letter-spacing:.4px;line-height:1}
.k-nav-card.next.right{text-align:right}
.k-nav-card.locked{opacity:.55}
.k-nav-card.locked .ttl{color:var(--muted)}
.k-nav-lockmsg{font-family:'Space Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:.5px;margin-top:6px}

/* ============================================================
   INDEX / ÜBERSICHT
   ============================================================ */
.k-idx-hero{padding:72px 0 34px;text-align:center;position:relative;background:radial-gradient(ellipse at top,rgba(139,47,201,.2) 0%,transparent 60%)}
.k-idx-hero .eb{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:5px;color:var(--pink);text-transform:uppercase;margin-bottom:20px}
.k-idx-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(56px,14vw,120px);line-height:.84;color:#fff;letter-spacing:-2px;margin-bottom:18px}
.k-idx-hero h1 .accent{background:var(--grad-led);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.k-idx-hero p{font-size:17px;color:var(--text);max-width:600px;margin:0 auto;line-height:1.55}
.k-idx-stats{display:flex;justify-content:center;gap:36px;margin-top:30px;flex-wrap:wrap}
.k-idx-stat .n{font-family:'Bebas Neue',sans-serif;font-size:44px;line-height:1;color:#fff}
.k-idx-stat .n.p{color:var(--pink)}.k-idx-stat .n.u{color:var(--purple-200)}.k-idx-stat .n.b{color:var(--blue-200)}
.k-idx-stat .l{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:6px}

.k-progbar-big{max-width:600px;margin:34px auto 0}
.k-progbar-big .lbl{display:flex;justify-content:space-between;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.k-progbar-big .track{height:10px;background:var(--card2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.k-progbar-big .fill{height:100%;background:var(--grad-led);width:0%;transition:width .6s ease}

.k-chapter{margin:52px 0 0}
.k-chapter-head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.k-chapter-head .kn{font-family:'Bebas Neue',sans-serif;font-size:52px;line-height:.8;color:var(--dim);letter-spacing:-1px}
.k-chapter-head .kt{font-family:'Bebas Neue',sans-serif;font-size:30px;color:#fff;letter-spacing:.4px;line-height:1}
.k-chapter-head .kmeta{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:5px}
.k-chapter.c-pink .kt{color:#fff}.k-chapter.c-pink .kn{color:var(--pink)}
.k-chapter.c-purple .kn{color:var(--purple-200)}
.k-chapter.c-blue .kn{color:var(--blue-200)}
.k-chapter.c-teal .kn{color:var(--teal)}
.k-chapter.c-gold .kn{color:var(--gold)}

.k-mods{display:grid;grid-template-columns:1fr;gap:12px}
.k-mod{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:all .2s;position:relative;overflow:hidden}
.k-mod.open{cursor:pointer}
.k-mod.open:hover{border-color:var(--pink);transform:translateX(3px)}
.k-mod::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dim)}
.k-mod.done::before{background:var(--teal)}
.k-mod.current::before{background:var(--grad-cta)}
.k-mod-badge{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:var(--card2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--muted)}
.k-mod.done .k-mod-badge{background:rgba(46,196,182,.12);border-color:rgba(46,196,182,.4);color:var(--teal)}
.k-mod.current .k-mod-badge{background:rgba(236,30,128,.12);border-color:rgba(236,30,128,.4);color:var(--pink)}
.k-mod-body{flex:1;min-width:0}
.k-mod-title{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;letter-spacing:.3px;line-height:1.05}
.k-mod.locked .k-mod-title{color:var(--muted)}
.k-mod-sub{font-size:13px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-mod-tags{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
.k-tag{font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--border);border-radius:4px;padding:3px 7px}
.k-tag.vid{color:var(--purple-200);border-color:rgba(185,104,227,.3)}
.k-tag.txt{color:var(--blue-200);border-color:rgba(92,124,255,.3)}
.k-tag.done{color:var(--teal);border-color:rgba(46,196,182,.4)}
.k-mod-state{flex-shrink:0;font-family:'Space Mono',monospace;font-size:11px;color:var(--muted)}
.k-mod-state .ico{font-size:16px}
.k-mod.done .k-mod-state{color:var(--teal)}
.k-mod.current .k-mod-state{color:var(--pink)}

.k-foot{text-align:center;padding:50px 22px 70px;border-top:1px solid var(--border);margin-top:60px}
.k-foot .b{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;letter-spacing:1px}
.k-foot .s{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-top:8px}
.k-disclaimer{max-width:720px;margin:22px auto 0;font-size:11.5px;color:var(--dim);line-height:1.5}

@media(min-width:680px){
  .k-mods{grid-template-columns:1fr 1fr}
  .k-hero h1{letter-spacing:-2px}
}
@media(max-width:520px){
  .k-topbar-prog .track{width:74px}
  .k-brand small{display:none}
  .k-idx-stats{gap:22px}
}
