:root{
  --bg:var(--color-bg);--panel:var(--color-surface);--panel2:var(--color-surface-2);--panel3:var(--color-surface-3);--text:var(--color-text);--muted:var(--color-muted);--line:var(--color-line);
  --accent:var(--color-accent);--accent2:var(--color-accent-2);--good:var(--color-good);--warn:var(--color-warn);--bad:var(--color-bad);--radius:18px;--max:1180px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.58}
a{color:var(--color-accent-2-text)} a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit} button{cursor:pointer}
.hero{max-width:var(--max);margin:0 auto;padding:116px 18px 34px;display:grid;grid-template-columns:1.18fr .82fr;gap:28px;align-items:center}
.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-text);font-weight:850}.hero h1{font-size:clamp(2.6rem,7vw,5.8rem);line-height:.94;margin:.18em 0 .26em;letter-spacing:-.055em}.hero p{font-size:1.12rem;color:var(--muted);max-width:760px}.hero-card{background:linear-gradient(155deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:28px;padding:25px;position:relative;overflow:hidden}.hero-card:after{content:"≠";position:absolute;right:16px;top:-42px;font-size:11rem;color:color-mix(in srgb, var(--accent) 10%, transparent);transform:rotate(8deg)}
.callout{border-left:4px solid var(--accent);background:var(--panel);padding:14px 16px;border-radius:0 14px 14px 0;color:var(--muted)}
.callout strong{color:var(--text)}
.container{max-width:var(--max);margin:auto;padding:30px 18px}.section-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:18px 0}.section-title h2{font-size:clamp(1.75rem,3vw,2.7rem);margin:0}.section-title p{color:var(--muted);max-width:650px;margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.step{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:16px}.step b{display:block;color:var(--color-accent-text);font-size:1.05rem}.step p{margin:.4em 0 0;color:var(--muted);font-size:.93rem}
.formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin-top:18px}.formula .node{border:1px solid var(--line);background:var(--panel2);border-radius:15px;padding:15px;min-height:100px}.formula .arrow{font-size:1.55rem;color:var(--color-accent-text)}.formula small{color:var(--muted)}
.guide-layout{display:grid;grid-template-columns:310px 1fr;gap:18px;align-items:start}.guide-menu{position:sticky;top:70px;border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:10px}.guide-menu button{width:100%;border:0;background:transparent;color:var(--muted);padding:10px 11px;border-radius:11px;text-align:left}.guide-menu button:hover,.guide-menu button.active{background:var(--panel2);color:var(--text)}.guide-menu .group-label{font-size:.76rem;color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.08em;padding:9px 10px 4px;font-weight:800}
.guide-card{border:1px solid var(--line);background:var(--panel);border-radius:22px;padding:23px}.guide-card h3{font-size:2rem;margin:.1em 0}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:16px}.box{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:15px}.box h4{margin:0 0 8px}.box ul{margin:.2em 0;padding-left:20px}.chips{display:flex;gap:7px;flex-wrap:wrap}.example{margin-top:13px;border-left:3px solid var(--accent2);padding:12px 14px;background:var(--panel3);border-radius:0 12px 12px 0}.example b{color:var(--color-accent-2-text)}
.workbench{display:grid;grid-template-columns:1.06fr .94fr;gap:18px}.tool{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:20px}.tool h3{margin-top:0}.field{margin-bottom:13px}.field label{display:block;font-weight:750;margin-bottom:5px}.field small{display:block;color:var(--muted);margin-top:5px}.field textarea{min-height:110px;resize:vertical}.buttons{display:flex;gap:8px;flex-wrap:wrap}.output{background:var(--panel3);border:1px solid var(--line);border-radius:14px;padding:14px;min-height:90px}.output strong{color:var(--color-accent-text)}
.progress-wrap{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:14px;color:var(--muted)}.notes-grid{display:grid;gap:10px;max-height:700px;overflow:auto;padding-right:3px}.note-row{border:1px solid var(--line);background:var(--panel2);border-radius:13px;padding:12px}.note-row label{display:flex;gap:9px;align-items:center;font-weight:800}.note-row textarea{margin-top:8px;width:100%;min-height:80px;background:var(--panel3);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px;resize:vertical}.note-row textarea:disabled{opacity:.45}
.listen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.listen{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel);border-radius:17px;padding:16px}.listen .work{font-weight:800}.listen p{color:var(--muted);font-size:.92rem}.listen a{margin-top:auto;align-self:flex-end;display:inline-flex;text-decoration:none;background:var(--color-primary);color:var(--color-primary-content);font-weight:850;border-radius:10px;padding:8px 10px}.listen ul{padding-left:20px;margin-bottom:14px}.listen li{margin:.25em 0}
.quiz{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:20px}.quiz-q{font-size:1.13rem;font-weight:800}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.feedback{min-height:54px;color:var(--muted)}
.glossary-toolbar{display:flex;gap:10px;margin:14px 0}.glossary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.term{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px}.term b{color:var(--color-accent-text)}.term p{margin:.4em 0 0;color:var(--muted);font-size:.92rem}
.sources{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px}.source p{color:var(--muted);font-size:.9rem;margin:.35em 0}.source a{word-break:break-word}

/* Affektenlehre: Inhaltsverzeichnis, Abschnitte, Karten, Zitate, Tabellen */
.aff-toc{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:14px 18px;margin-bottom:8px}.aff-toc b{display:block;color:var(--color-accent-text);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.aff-toc ol{margin:0;padding-left:20px;columns:2 220px;column-gap:28px}.aff-toc li{margin:.2em 0;break-inside:avoid}
.aff-section{margin-top:38px;scroll-margin-top:80px}.aff-section>h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:12px}.aff-section p,.aff-list{max-width:860px}.aff-section h3{font-size:1.25rem}
.aff-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.aff-cards .box p,.guide-grid .box p{margin:.4em 0 0;color:var(--muted)}.box h3{font-size:1.1rem;margin:0 0 6px}
.aff-quote{margin:14px 0;max-width:860px;border-left:4px solid var(--accent2);background:var(--panel2);border-radius:0 14px 14px 0;padding:14px 18px;font-style:italic}.aff-quote cite{display:block;margin-top:6px;font-style:normal;font-size:.88rem;color:var(--muted)}
.aff-list{padding-left:20px}.aff-list li{margin:.3em 0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--panel);margin:12px 0}.d-table thead{color:var(--muted)}.d-table .aff-em{font-weight:800;color:var(--color-accent-text)}

@media (max-width:950px){.hero{grid-template-columns:1fr}.guide-layout{grid-template-columns:1fr}.guide-menu{position:static;display:grid;grid-template-columns:1fr 1fr}.guide-menu .group-label{grid-column:1/-1}.workbench,.sources{grid-template-columns:1fr}.listen-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.formula{grid-template-columns:1fr}.formula .arrow{transform:rotate(90deg);text-align:center}.glossary{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.guide-menu{grid-template-columns:1fr}.guide-grid,.quiz-options,.listen-grid,.steps,.glossary{grid-template-columns:1fr}.hero{padding-top:100px}.section-title{display:block}.section-title p{margin-top:7px}.notes-grid{max-height:none;overflow:visible}}
@media print{.topbar,.buttons,#quiz,#hoerlabor,.hero-card,.guide-menu{display:none!important}body{background:white;color:black}.hero,.container{max-width:none;padding:15px}.hero{display:block}.guide-layout,.workbench{display:block}.guide-card,.tool,.box,.note-row{border:1px solid #aaa;background:white;color:black;break-inside:avoid}.muted,.hero p,.section-title p,.step p,.source p{color:#333!important}textarea{border:1px solid #999!important;background:white!important;color:black!important}.notes-grid{max-height:none;overflow:visible}}
