/* Krypto KI Revolution — Kursbereich, Branding wie Krypto-Landingpage */
:root{
  --bg-0:#020218;
  --bg-1:#0A0C2C;
  --panel:rgba(255,255,255,.045);
  --panel-strong:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.09);
  --text:#E9EDF5;
  --muted:#8B95A9;
  --accent:#3D6BFF;
  --accent-soft:rgba(61,107,255,.13);
  --accent-glow:rgba(61,107,255,.35);
  --violet:#7C5CFF;
  --green:#2BD489;
  --font-sans:"Red Hat Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
html[data-theme="light"]{
  --bg-0:#F5F7FC;
  --bg-1:#FFFFFF;
  --panel:#FFFFFF;
  --panel-strong:#FFFFFF;
  --line:rgba(10,12,44,.1);
  --text:#0A0C2C;
  --muted:#5C6678;
  --accent-soft:rgba(61,107,255,.09);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--bg-0);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
}
html[data-theme="dark"] body{
  background:radial-gradient(1200px 700px at 70% -10%, rgba(61,107,255,.14), transparent 60%), var(--bg-0);
}
html[data-theme="light"] .lesson-item,
html[data-theme="light"] .panel,
html[data-theme="light"] .login-card,
html[data-theme="light"] .continue-card,
html[data-theme="light"] .bonus-card{box-shadow:0 6px 24px rgba(10,12,44,.06)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
::selection{background:var(--accent);color:#fff}
.wrap{max-width:820px;margin:0 auto;padding:32px 22px 120px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* Topbar */
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 22px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:color-mix(in srgb, var(--bg-0) 88%, transparent);
  backdrop-filter:blur(12px);z-index:20;
}
.logo{font-weight:900;letter-spacing:.06em;font-size:15px}
.logo-dot{font-size:9px;vertical-align:super;color:var(--accent)}
.countdown{display:flex;align-items:center;gap:10px}
.cd-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cd-cells{display:flex;gap:6px}
.cd-cell{display:flex;flex-direction:column;align-items:center;min-width:38px;
  background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;padding:3px 6px}
.cd-cell b{font-size:16px;color:var(--accent)}
.cd-cell i{font-style:normal;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* Login */
.login-card{
  max-width:420px;margin:10vh auto 0;background:var(--panel);
  border:1px solid var(--line);border-radius:16px;padding:32px 28px;
}
.login-card h1{font-size:22px;font-weight:800;margin-bottom:8px}
.login-card p{margin-bottom:18px}
.login-card label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.login-card input{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg-1);color:var(--text);font:inherit;margin-bottom:14px;
}
.login-card input:focus{outline:2px solid var(--accent)}
.form-error{color:#FF5C7A;font-size:14px}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:10px;font-weight:700;font-size:15px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:active{transform:scale(.98)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;
  box-shadow:0 4px 18px var(--accent-glow)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn-ghost{border:1px solid var(--line);background:var(--panel)}
.btn-block{width:100%}
.btn.small{font-size:13px;padding:8px 14px}

/* Kursübersicht */
.backlink{color:var(--muted);font-size:14px;display:inline-block;margin-bottom:18px}
.backlink:hover{color:var(--text)}
.course-title{font-size:30px;font-weight:900;letter-spacing:-.01em}
.progress-line{font-size:14px;color:var(--muted);margin-top:8px}
.progressbar{height:6px;background:var(--panel-strong);border-radius:99px;overflow:hidden;margin:8px 0 20px}
.progressbar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--violet));border-radius:99px}
.search input{
  width:100%;padding:11px 16px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);color:var(--text);font:inherit;margin-bottom:20px;
}
.search input:focus{outline:2px solid var(--accent)}

.continue-card{
  display:flex;align-items:center;gap:16px;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:24px;
  transition:border-color .15s;
}
.continue-card:hover{border-color:var(--accent)}
.cc-thumb{
  width:64px;height:44px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;font-size:14px;
}
.cc-kicker{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.cc-title{display:block;font-weight:800}
.cc-sub{display:block;font-size:13px;color:var(--muted)}

.module-hero{
  background:linear-gradient(135deg,#0F2FD0 0%, var(--violet) 100%);
  border-radius:16px;padding:44px 28px 24px;color:#fff;margin-bottom:12px;
}
.module-hero h2{font-size:22px;font-weight:900}
.module-hero p{opacity:.85;font-size:14px}

/* Lektionen */
.lesson-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.lesson-item{
  display:flex;gap:14px;align-items:center;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  transition:border-color .15s;
}
a.lesson-item:hover{border-color:var(--accent)}
.lesson-item.is-locked{opacity:.55}
.lesson-item.is-done .ls-num{background:var(--green);color:#04120B}
.ls-num{
  width:30px;height:30px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:14px;
}
.ls-title{display:block;font-weight:700;font-size:15px}
.ls-state{display:block;font-size:12.5px;color:var(--muted)}
.ls-state.done{color:var(--green)}

/* Bonus */
.bonus-card{
  margin-top:20px;border:1px dashed var(--line);border-radius:14px;padding:20px;
  display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--panel);
}
.bonus-card.unlocked{border-style:solid;border-color:var(--accent)}
.bonus-badge{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--violet)}
.bonus-text{font-weight:700}
.bonus-progress{font-size:13px;color:var(--muted)}

/* Lektionsseite */
.lesson-head{display:flex;justify-content:space-between;align-items:baseline}
.lesson-head .backlink{margin-bottom:10px}
h1{font-size:26px;font-weight:900;margin-bottom:16px}
.player{
  position:relative;width:100%;aspect-ratio:16/9;background:#000;
  border-radius:14px;overflow:hidden;border:1px solid var(--line);
}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player.placeholder{display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,var(--bg-1),#000)}
.player.placeholder p:first-child{font-size:34px;margin-bottom:8px}
.chapters{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.chapters h3,.summary h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chapters ul{list-style:none}
.chapters li{padding:5px 0;font-size:14.5px}
.ch-time{display:inline-block;min-width:48px;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.lesson-actions{margin:14px 0}
.summary{margin-top:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.summary p{font-size:15px}
.gate-text{text-align:center;color:var(--muted);font-size:13.5px;margin-top:18px}
.lesson-nav{display:flex;gap:12px;justify-content:space-between;margin-top:14px}
.lesson-nav .btn{flex:1}
#dev-complete{margin-top:14px;width:100%}

/* Profil */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:14px}
.panel h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.theme-switch{display:flex;gap:8px}
.theme-switch button{
  padding:9px 18px;border-radius:10px;border:1px solid var(--line);background:var(--bg-1);font-weight:700;font-size:14px;
}
.theme-switch button.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* Rechtliches */
.privacy-note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}
.privacy-note a{text-decoration:underline}
.legal h1{margin-bottom:18px}
.legal h3{margin:22px 0 8px;font-size:17px}
.legal p{margin-bottom:12px;font-size:14.5px}
.legal a{color:var(--accent);text-decoration:underline}

/* Bottom-Nav + Footer */
.bottomnav{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;gap:4px;background:color-mix(in srgb, var(--bg-1) 92%, transparent);
  border:1px solid var(--line);border-radius:16px;padding:6px;backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:30;
}
.bn-item{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  font-size:11.5px;font-weight:700;padding:8px 18px;border-radius:12px;color:var(--muted);
}
.bn-item:hover{background:var(--accent-soft);color:var(--text)}
.bn-ico{font-size:15px}
.foot{display:flex;gap:8px;justify-content:center;padding:20px;color:var(--muted);font-size:13px}
.foot a:hover{color:var(--text)}

@media (max-width:560px){
  .cd-label{display:none}
  .course-title{font-size:24px}
  .wrap{padding-top:20px}
}
