:root{--forest:#38583e;--forest-dark:#243e2a;--forest-soft:#edf2e9;--sand:#f5f1ea;--paper:#fdfbf7;--wood:#7a5c40;--gold:#bc995c;--text:#2e352f;--muted:#6d756d;--line:#dfe3d9;--danger:#9a3931;--sidebar-width:300px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--paper);font-size:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15;color:var(--forest)}h1{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.035em;margin-bottom:24px}h2{font-size:1.85rem;margin-bottom:20px}h3{font-size:1.1rem;line-height:1.35;margin-bottom:8px}a{color:var(--forest);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{background:var(--forest);color:#fff;border:1px solid var(--forest);border-radius:8px;padding:12px 21px;font-size:.9rem;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}button:hover,.button:hover{background:var(--forest-dark)}button:disabled{opacity:.5;cursor:default}button.secondary,.button.secondary{background:transparent;color:var(--forest);border-color:#cdd5c9}button.secondary:hover,.button.secondary:hover{background:var(--forest-soft)}button.text-button,.text-button{padding:6px 0;color:var(--forest);border:0;background:none;font-size:.85rem;text-decoration:none}button.text-button:hover,.text-button:hover{text-decoration:underline;background:none}.danger{color:var(--danger)!important}.compact{padding:7px 12px!important;font-size:.8rem!important}.full-width{width:100%}.muted{color:var(--muted)}.small{font-size:.82rem}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;line-height:1.7;font-weight:650;color:var(--wood);margin-bottom:14px}.logo{width:150px;height:auto;display:block}.brand{display:inline-flex}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.section-heading h2,.section-heading h3,.section-heading p{margin-bottom:0}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.download-link{font-size:.85rem;font-weight:600;white-space:nowrap}input,select,textarea{display:block;width:100%;color:var(--text);background:#fff;border:1px solid #cdd4c8;border-radius:7px;padding:11px 13px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--forest);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}label,legend{font-size:.84rem;font-weight:600}label{display:block;margin-bottom:7px}textarea{resize:vertical;min-height:120px;font-weight:400;line-height:1.65;margin-top:10px}summary{cursor:pointer;color:var(--forest);font-size:.88rem;padding:12px 0}details[open]>summary{margin-bottom:10px}audio{width:100%;height:44px}progress{display:block;appearance:none;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;background:var(--line);accent-color:var(--forest)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--forest);border-radius:10px}progress::-moz-progress-bar{background:var(--forest)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;padding:10px 20px;background:#fff;z-index:100}.skip-link:focus{top:10px}
/* Lernraum */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);overflow:auto;background:var(--sand);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:36px 24px 24px;z-index:10}.sidebar .brand{margin-bottom:35px}.sidebar-heading h2{font-size:1.75rem;margin-bottom:12px}.sidebar-heading .muted{font-size:.8rem;margin-bottom:24px}.sidebar-heading .eyebrow{font-size:.6rem}.week-links{display:flex;gap:6px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:26px}.week-links a{flex:1;text-align:center;padding:7px 2px;text-decoration:none;font-size:.73rem;border:1px solid #d5dbd0;border-radius:5px}.week-links a.selected{background:var(--forest);color:white;border-color:var(--forest)}.nav-caption{text-transform:uppercase;font-size:.63rem;letter-spacing:.15em;color:var(--muted);margin-bottom:12px}.lesson-link{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:.8rem;color:#5e685e;margin:3px -10px;padding:12px 10px;border-radius:7px;line-height:1.4}.lesson-link:hover{background:#eaece3}.lesson-link.active{background:#fff;color:var(--forest);box-shadow:0 2px 5px #243e2a05}.lesson-marker{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #cbd3c4;border-radius:50%;font-size:.65rem;color:var(--muted)}.lesson-marker.complete{background:var(--forest);color:white;border-color:var(--forest)}.sidebar-bottom{margin-top:auto;padding-top:32px;font-size:.73rem;color:var(--muted)}.sidebar-bottom p{margin-bottom:12px}.sidebar-bottom .text-button{font-size:.73rem}.course-main{margin-left:var(--sidebar-width);min-width:0}.topbar{height:85px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:25px;border-bottom:1px solid var(--line);font-size:.75rem;color:var(--muted)}.progress-box{width:210px;flex-shrink:0}.progress-box label{font-size:.64rem;font-weight:400;display:block;margin-bottom:7px}.menu-toggle{display:none}#contentArea{max-width:1050px;padding:55px 6% 30px;margin:auto;outline:0;min-height:65vh}.lesson-hero{display:grid;grid-template-columns:minmax(140px,30%) 1fr;gap:40px;align-items:center;margin-bottom:42px;padding-bottom:38px;border-bottom:1px solid var(--line)}.lesson-hero>img{width:100%;max-height:320px;object-fit:contain;mix-blend-mode:multiply}.lesson-hero h1{font-size:clamp(2rem,3.4vw,3.3rem);margin-bottom:17px}.lesson-hero p:last-child{font-size:1rem;color:var(--muted);margin-bottom:0}.lesson-section{margin:0 0 34px;padding:0}.lesson-section h2{font-size:1.55rem}.lesson-section h3{color:var(--forest);margin-top:24px}.lesson-section p,.lesson-section li{font-size:.95rem;line-height:1.85}.lesson-section ul{padding-left:23px}.audio-card{background:var(--sand);padding:28px 32px;border-radius:12px}.audio-card h2{margin-bottom:22px}.pdf-preview{border:1px solid var(--line);border-radius:9px;padding:0 18px;background:#fff}.pdf-preview iframe{width:100%;height:680px;display:block;border:0;border-top:1px solid var(--line);background:#fff;margin-bottom:18px}.thought-card{padding:38px 34px;background:var(--forest);color:#fff;border-radius:12px}.thought-card .eyebrow{color:#d5c6a6}.thought-card blockquote{font-family:Georgia,serif;font-size:1.65rem;line-height:1.45;margin:0 0 30px}.thought-card h2{color:#e5eadf;font-family:inherit;font-size:.8rem;margin-bottom:12px;letter-spacing:.07em}.reflection{padding-top:15px;border-top:1px solid var(--line)}.reflection h2{font-size:2rem}.reflection-form{display:grid;gap:24px;margin-top:30px}.reflection-form label{font-size:.9rem;font-weight:500;margin:0}.reflection-form p{margin-bottom:0}.reflection__hint{background:var(--sand);border-left:3px solid var(--gold);padding:20px}.save-state{font-size:.76rem!important;color:var(--muted);margin:22px 0 0}.course-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto;padding:26px 6% 42px;max-width:1050px;border-top:1px solid var(--line)}.course-footer .muted{font-size:.7rem}.course-footer button{font-size:.8rem}.loading-message{padding:60px 0;color:var(--muted)}.finish-card{padding:70px 0;max-width:600px}.finish-card h1{font-size:3rem}.access-card{max-width:620px;margin:10vh auto;padding:35px}.access-card .logo{margin-bottom:60px}
/* Startseite */
.welcome-header,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 6%;border-bottom:1px solid var(--line)}.welcome-main{max-width:1120px;padding:85px 35px 50px;margin:auto}.welcome-main>h1{font-size:clamp(3.5rem,7vw,6rem);margin-bottom:28px}.welcome-intro{max-width:580px;font-size:1.1rem;color:var(--muted)}.welcome-weeks{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:50px 0;margin-top:30px;border-top:1px solid var(--line)}.welcome-weeks span{font-family:Georgia,serif;color:var(--gold);font-size:1.75rem;display:block;margin-bottom:20px}.welcome-weeks h2{font-size:1.6rem;margin-bottom:12px}.welcome-weeks p{font-size:.85rem;color:var(--muted);max-width:230px}.entry-hint{padding:32px 36px;background:var(--forest-soft);border-radius:10px;border-left:3px solid var(--forest)}.entry-hint h2{font-size:1.4rem;margin-bottom:10px}.entry-hint p{font-size:.9rem;margin:0;max-width:720px}.welcome-footer{padding:28px 6%;font-size:.72rem;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--line)}
/* Verwaltung */
.admin-header{background:var(--sand);padding-top:23px;padding-bottom:23px}.admin-label{font-size:.75rem;color:var(--wood);margin-left:auto}.admin-main{max-width:1340px;margin:auto;padding:55px 5% 70px;min-height:75vh}.login-card{max-width:450px;margin:35px auto 60px}.login-card h1{font-size:2.8rem}.login-card form{margin-top:35px}.login-card input{margin-bottom:20px}.login-card button{width:100%}#loginMessage{color:var(--danger);font-size:.85rem;margin-top:14px}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:25px}.admin-title h1{font-size:3rem;margin-bottom:15px}.admin-title p:last-child{font-size:.85rem}.admin-count{background:var(--forest-soft);border:1px solid #d6dfcf;padding:9px 17px;border-radius:40px;color:var(--forest);font-size:.76rem;white-space:nowrap}.admin-columns{display:grid;grid-template-columns:340px 1fr;gap:27px;align-items:start}.panel{padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px}.panel h2{font-size:1.65rem}.invite-panel input{margin-bottom:20px}.invite-panel fieldset{padding:0;border:0;margin:24px 0}.invite-panel legend{margin-bottom:12px}.week-choice{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:7px;margin-bottom:9px;cursor:pointer}.week-choice input{width:17px;height:17px;padding:0;margin:0;accent-color:var(--forest);flex-shrink:0}.week-choice span span,.week-choice strong{display:block}.week-choice strong{font-size:.8rem}.week-choice .small{font-size:.7rem;font-weight:400;line-height:1.5}.filters{display:flex;align-items:center;gap:12px;margin:15px 0 22px}.filters label{margin:0;font-size:.76rem}.filters select{width:auto;margin-left:auto;font-size:.75rem;padding:6px 10px}.invite-card{padding:24px 0;border-top:1px solid var(--line)}.invite-card:first-child{padding-top:6px;border-top:0}.invite-card:last-child{padding-bottom:0}.invite-card>p{margin-bottom:5px}.status-badge{border-radius:30px;padding:4px 11px;font-size:.65rem;font-weight:600}.status-badge.active{background:#eaf1e5;color:#3c6336}.status-badge.expired{background:#f8efdc;color:#886823}.status-badge.revoked{background:#f5e6e3;color:#9a3931}.invite-link-row{display:flex;gap:12px;align-items:end;margin:12px 0 20px;flex-wrap:wrap}.invite-link-row label{flex:1;min-width:150px;margin:0;font-size:.75rem}.invite-link-row input{margin:5px 0 0;font-size:.72rem;padding:8px}.invite-link-row a{font-size:.75rem;padding:7px 0}.empty-state{padding:45px 15px;text-align:center;font-size:.85rem;color:var(--muted)}.admin-message{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:700px;width:90%;padding:16px 24px;background:var(--forest-dark);color:white;box-shadow:0 8px 35px #0002;border-radius:10px;z-index:20;font-size:.84rem}.admin-message.error{background:#773c32}#createdInvite{margin-top:28px;background:var(--forest-soft)}
@media(min-width:1500px){:root{--sidebar-width:320px}.sidebar{padding:42px 30px}.topbar{padding:0 8%}#contentArea{padding-top:65px}}
@media(max-width:1100px){.admin-columns{grid-template-columns:300px 1fr}.panel{padding:23px}.course-footer{flex-wrap:wrap}.course-footer .muted{order:3;width:100%;text-align:center}.lesson-hero{gap:24px}.progress-box{width:170px}}
@media(max-width:800px){:root{--sidebar-width:275px}.sidebar{top:74px;padding-top:25px;transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #0001}.sidebar.open{transform:translateX(0)}.course-main{margin-left:0}.topbar{height:74px;padding:0 20px;gap:16px;position:sticky;top:0;z-index:11}.topbar>span{font-size:.65rem}.progress-box{width:140px}.progress-box label{font-size:.55rem}.menu-toggle{display:flex;padding:5px 10px!important;font-size:1.1rem;flex-shrink:0}.lesson-hero{grid-template-columns:130px 1fr}.lesson-hero h1{font-size:2rem}#contentArea{padding:30px 6% 20px}.admin-columns{grid-template-columns:1fr}.invite-panel{max-width:none}.admin-main{padding:35px 5% 65px}.admin-title h1{font-size:2.5rem}.admin-title{align-items:flex-start}.admin-count{font-size:.65rem;padding:7px 12px}.welcome-main{padding-top:60px}.welcome-weeks{gap:25px}}
@media(max-width:520px){.logo{width:125px}.topbar{gap:10px}.topbar>span{max-width:135px;line-height:1.4}.progress-box{width:105px}.lesson-hero{grid-template-columns:1fr;gap:22px}.lesson-hero>img{max-height:200px;width:60%;margin:auto}.lesson-hero h1{font-size:2.4rem}.audio-card{padding:24px}.thought-card{padding:27px}.thought-card blockquote{font-size:1.4rem}.pdf-preview{padding:0 12px}.pdf-preview iframe{height:500px}.lesson-section .section-heading h2{font-size:1.3rem}.course-footer{gap:12px}.course-footer button{font-size:.72rem;padding:10px 12px}.welcome-main{padding:50px 24px 35px}.welcome-weeks{grid-template-columns:1fr;gap:12px;padding:30px 0}.welcome-weeks>div{display:grid;grid-template-columns:40px 1fr;gap:5px 15px}.welcome-weeks span{grid-row:span 2;font-size:1.5rem;margin:0}.welcome-weeks h2{margin:4px 0 8px}.welcome-weeks p{grid-column:2;max-width:none}.entry-hint{padding:25px}.admin-title{display:block}.admin-count{display:inline-block}.admin-header{gap:12px}.admin-label{font-size:.65rem}.admin-header .text-button{font-size:.7rem}.panel{padding:20px}.invitations-panel>.section-heading{align-items:flex-end}.invite-link-row{gap:9px}.invite-link-row label{flex-basis:100%}.access-card{margin-top:5vh;padding:30px 25px}.finish-card h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,.course-footer,.actions,.admin-header,audio{display:none!important}.course-main{margin:0}#contentArea{padding:0;max-width:none}.lesson-hero>img{max-height:120px}.pdf-preview iframe{height:600px}textarea{height:auto;min-height:130px}.thought-card{background:white;color:var(--forest);border:1px solid var(--line)}.thought-card .eyebrow{color:var(--wood)}}
