
:root{
  --cream:#fff4dc;
  --cream2:#f8e7bf;
  --paper:#fffaf0;
  --ink:#0e2430;
  --muted:#5a625f;
  --teal:#064c52;
  --teal2:#0f6670;
  --red:#cf2f24;
  --gold:#d89a00;
  --black:#101820;
  --line:#0e2430;
  --shadow: 8px 8px 0 rgba(14,36,48,.95);
  --soft: 0 22px 70px rgba(14,36,48,.16);
  --radius:28px;
  --cat:#064c52;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 5% 82%, rgba(216,154,0,.22), transparent 18rem),
    radial-gradient(circle at 96% 20%, rgba(207,47,36,.11), transparent 22rem),
    linear-gradient(180deg,var(--cream),#fff8e8 58%,#f9eed7);
  color:var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer;color:inherit}
.shell{width:min(1180px,calc(100% - 28px));margin:0 auto}
.siteHero{
  position:relative;
  overflow:hidden;
  padding:18px 0 54px;
  border-bottom:4px solid var(--line);
}
.siteHero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle,rgba(14,36,48,.16) 1.5px,transparent 1.5px);
  background-size:18px 18px;
  opacity:.18;
  mask-image:linear-gradient(90deg,#000,transparent 34%,transparent);
}
.tubeLines{position:absolute;left:-30px;top:0;width:290px;height:250px;opacity:.85}
.tubeLines .line{position:absolute;display:block;width:320px;height:8px;border-radius:999px;transform-origin:left center}
.tubeLines .red{background:var(--red);transform:rotate(42deg);left:0;top:72px}
.tubeLines .teal{background:var(--teal);transform:rotate(-48deg);left:92px;top:130px}
.tubeLines .gold{background:var(--gold);transform:rotate(130deg);left:160px;top:-20px}
.node{position:absolute;width:32px;height:32px;border-radius:50%;background:var(--paper);border:7px solid var(--line)}
.n1{left:18px;top:125px}.n2{left:120px;top:66px}.n3{left:155px;top:170px}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
  z-index:2;
}
.brand{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;color:var(--ink);
  font-weight:950;font-size:clamp(1.1rem,2vw,1.55rem);
  letter-spacing:-.04em;
}
.roundel{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;background:var(--red);
  border:8px solid var(--ink);
  box-shadow:4px 4px 0 var(--teal);
  font-weight:950;letter-spacing:-.12em;
}
.topActions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.chip,.primary,.secondary,.dark,.fileButton{
  border:3px solid var(--line);
  border-radius:999px;
  padding:10px 15px;
  font-weight:950;
  background:var(--paper);
  box-shadow:3px 3px 0 var(--line);
  transition:transform .13s ease,box-shadow .13s ease;
}
.chip:hover,.primary:hover,.secondary:hover,.dark:hover,.fileButton:hover{
  transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--line)
}
.install,.primary{background:var(--gold)}
.dark{background:var(--ink);color:#fff}
.secondary{background:#fff}
.heroInner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(22px,4vw,46px);
  align-items:end;
  padding-top:54px;
}
.routeBadge{
  display:inline-flex;
  background:var(--teal);
  color:#fff;
  border:3px solid var(--line);
  border-radius:22px;
  padding:10px 15px;
  box-shadow:4px 4px 0 var(--line);
  font-weight:950;
  letter-spacing:.04em;
  margin:0 0 22px;
}
h1{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(4.2rem,11vw,10.8rem);
  line-height:.78;
  letter-spacing:-.085em;
  color:var(--ink);
  text-wrap:balance;
}
.tagline{
  margin:18px 0 8px;
  font-weight:950;
  color:var(--teal);
  font-size:clamp(1.6rem,4vw,3.1rem);
  letter-spacing:-.045em;
}
.intro{
  max-width:720px;
  margin:0;
  color:#23383f;
  font-size:clamp(1.06rem,2vw,1.34rem);
  line-height:1.52;
}
.previewBoard{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:12px;
}
.miniCard{
  min-height:148px;
  border:5px solid var(--teal);
  border-radius:26px;
  background:var(--paper);
  display:grid;
  align-content:center;
  gap:9px;
  padding:22px;
  text-align:center;
  box-shadow:5px 5px 0 rgba(14,36,48,.95);
  position:relative;
}
.miniCard:before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid currentColor;
  border-radius:18px;
  opacity:.38;
  pointer-events:none;
}
.miniCard span{
  display:block;
  font-size:clamp(1.2rem,2.5vw,1.75rem);
  font-weight:950;
  line-height:1.05;
  overflow-wrap:anywhere;
}
.miniCard small{
  display:block;font-weight:800;color:#24383f;line-height:1.25
}
.miniCard.red{border-color:var(--red);color:var(--red)}
.miniCard.gold{border-color:var(--gold);color:var(--gold)}
.miniCard.teal{border-color:var(--teal);color:var(--teal)}
.skyline{
  position:absolute;right:0;bottom:-4px;width:min(590px,50vw);height:155px;
  opacity:.22;display:flex;align-items:end;gap:8px;justify-content:flex-end;padding-right:30px
}
.skyline span{display:block;width:44px;background:var(--ink);border-radius:8px 8px 0 0}
.skyline span:nth-child(1){height:70px}.skyline span:nth-child(2){height:110px}.skyline span:nth-child(3){height:82px}.skyline span:nth-child(4){height:132px}.skyline span:nth-child(5){height:95px}.skyline span:nth-child(6){height:150px;width:68px}

.app{padding:34px 0 54px}
.controlPanel{
  background:var(--teal);
  color:#fff;
  border:4px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:clamp(18px,3vw,28px);
  display:grid;
  grid-template-columns:1fr minmax(280px,.6fr);
  gap:22px;
  align-items:center;
}
.label{
  margin:0 0 8px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:950;
}
.controlText h2{
  margin:0 0 8px;
  font-size:clamp(1.7rem,3vw,2.6rem);
  letter-spacing:-.055em;
  line-height:.95;
}
.controlText p:last-child{margin:0;line-height:1.5;color:rgba(255,255,255,.84)}
.controls{display:grid;gap:12px}
.controls label{font-weight:900}
select,input[type="search"],textarea{
  width:100%;
  border:3px solid var(--line);
  border-radius:18px;
  background:#fffdf8;
  color:var(--ink);
  padding:12px;
  outline:none;
}
.switch{
  display:flex!important;align-items:center;gap:10px;
  background:rgba(255,255,255,.11);
  border:2px solid rgba(255,255,255,.32);
  border-radius:18px;
  padding:12px;
}
.switch input{width:20px;height:20px;accent-color:var(--gold)}
.lessonLayout{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(310px,.84fr);
  gap:24px;
  margin-top:26px;
}
.wordStage,.panel{
  background:var(--paper);
  border:4px solid var(--line);
  border-radius:32px;
  box-shadow:var(--soft);
}
.wordStage{padding:clamp(18px,3vw,30px);box-shadow:var(--shadow)}
.cardTop{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:14px;flex-wrap:wrap;margin-bottom:18px;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--cat);
  color:#fff;
  border:3px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  font-weight:950;
}
.dateText{
  color:var(--muted);
  font-weight:950;
  text-align:right;
  line-height:1.3;
  flex:1 1 250px;
  min-width:0;
}
.wordPoster{
  border:6px solid var(--cat);
  border-radius:34px;
  background:#fff8e8;
  min-height:290px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  padding:28px;
  text-align:center;
  position:relative;
}
.wordPoster:before{
  content:"";
  position:absolute;
  inset:12px;
  border:2px solid var(--cat);
  border-radius:23px;
  opacity:.45;
}
.wordIcon{
  width:78px;height:78px;border-radius:50%;
  background:var(--cat);
  color:#fff;
  display:grid;place-items:center;
  font-size:2.1rem;
  border:3px solid var(--line);
  box-shadow:4px 4px 0 var(--line);
  position:relative;z-index:1;
}
.wordPoster h2{
  position:relative;z-index:1;
  margin:0;
  font-size:clamp(3rem,8vw,6.5rem);
  line-height:.82;
  letter-spacing:-.075em;
  color:var(--cat);
  overflow-wrap:anywhere;
}
.wordPoster p{
  position:relative;z-index:1;
  margin:0;
  font-size:clamp(1.35rem,3vw,2.2rem);
  font-weight:950;
  color:var(--ink);
  line-height:1.08;
}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.detailGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:22px;
}
.detailGrid section{
  background:#fff;
  border:3px solid rgba(14,36,48,.18);
  border-radius:24px;
  padding:16px;
  min-height:132px;
}
.detailGrid h3{
  margin:0 0 8px;
  color:var(--teal);
  font-size:.82rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.detailGrid p{margin:0;line-height:1.52}
.example{font-weight:950;font-size:1.08rem}
.sideRail{display:grid;gap:18px}
.panel{padding:20px}
.statsPanel{background:#fffdf8}
.statGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.statGrid div{
  border:3px solid var(--line);
  border-radius:20px;
  padding:13px;
  background:#fff;
}
.statGrid b{display:block;font-size:1.9rem;line-height:1}
.statGrid span{display:block;color:var(--muted);font-weight:850;margin-top:4px}
.progress{
  height:14px;border:3px solid var(--line);border-radius:999px;
  overflow:hidden;background:#fff;margin-top:16px
}
.progress i{display:block;height:100%;width:0;background:var(--red)}
.small{color:var(--muted);line-height:1.45;margin-bottom:0}
.quizPanel h2{
  margin:0 0 12px;
  font-size:1.35rem;
  letter-spacing:-.035em;
}
.quizOptions{display:grid;gap:9px}
.quizOption{
  border:3px solid var(--line);
  border-radius:18px;
  background:#fff;
  text-align:left;
  padding:12px;
  font-weight:900;
}
.quizOption.correct{background:#d9f8e2}
.quizOption.wrong{background:#ffd8d4}
textarea{min-height:104px;resize:vertical}
.voicePanel label{display:grid;gap:7px;margin-top:10px;font-weight:900}
input[type="range"]{width:100%;accent-color:var(--red)}
.syncButtons{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.fileButton{display:inline-flex;position:relative;overflow:hidden;background:#fff}
.fileButton input{position:absolute;inset:0;opacity:0;cursor:pointer}
.iosHint{
  border:3px dashed var(--line);
  border-radius:18px;
  padding:12px;
  margin-top:12px;
  background:#fff2bd;
}
.footer{
  padding:26px 0 44px;
  color:var(--muted);
  line-height:1.55;
}
.footer code{
  background:#fff;border:1px solid rgba(14,36,48,.2);
  border-radius:8px;padding:2px 5px;color:var(--ink)
}
.toast{
  position:fixed;left:50%;top:18px;transform:translateX(-50%);
  z-index:30;background:var(--ink);color:#fff;border:3px solid var(--line);
  border-radius:999px;padding:11px 16px;box-shadow:5px 5px 0 var(--red);
  font-weight:950;animation:toast 1.8s ease forwards
}
@keyframes toast{
  0%{opacity:0;transform:translate(-50%,-14px)}
  18%,80%{opacity:1;transform:translate(-50%,0)}
  100%{opacity:0;transform:translate(-50%,-14px)}
}
@media(max-width:940px){
  .heroInner,.lessonLayout,.controlPanel{grid-template-columns:1fr}
  .previewBoard{grid-template-columns:repeat(4,minmax(0,1fr))}
  .miniCard{min-height:120px;padding:16px}
  .detailGrid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .topbar{align-items:flex-start}
  .heroInner{padding-top:34px}
  .previewBoard{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  h1{font-size:clamp(4rem,18vw,7rem)}
  .tagline{font-size:clamp(1.55rem,8vw,2.4rem)}
  .dateText{text-align:left;flex-basis:100%}
  .wordPoster h2{font-size:clamp(2.8rem,16vw,5rem)}
  .statGrid{grid-template-columns:repeat(2,1fr)}
}


/* Final Kai fixes: niedriger Header, keine wuchtige Startfläche */
.siteHero{ padding:10px 0 24px !important; }
.topbar{ min-height:50px; }
.heroInner{ padding-top:18px !important; align-items:center; }
.routeBadge{ margin:0 0 10px !important; padding:7px 12px !important; }
h1{ font-size:clamp(3.1rem,7.6vw,6.8rem) !important; line-height:.82 !important; }
.tagline{ margin:8px 0 5px !important; font-size:clamp(1.28rem,2.8vw,2.1rem) !important; }
.intro{ font-size:clamp(.98rem,1.45vw,1.12rem) !important; max-width:660px !important; }
.previewBoard{ gap:10px !important; padding:2px !important; }
.miniCard{ min-height:98px !important; padding:14px 12px !important; border-width:4px !important; border-radius:22px !important; }
.miniCard span{ font-size:clamp(1rem,1.75vw,1.3rem) !important; }
.miniCard small{ font-size:.8rem !important; }
.skyline{ height:82px !important; }
.tubeLines{ transform:scale(.72) !important; transform-origin:left top !important; opacity:.58 !important; }
.footer{ text-align:center; font-weight:850; color:var(--ink); }
@media(max-width:940px){ .previewBoard{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:650px){
  .siteHero{padding-bottom:18px !important;}
  .heroInner{padding-top:14px !important;}
  .previewBoard{display:none !important;}
  .topActions{width:100%; justify-content:flex-start;}
  .chip{padding:9px 12px;}
}
