:root{--teal:#14b8a6;--teal-light:#2dd4bf;--teal-deep:#0f766e;--teal-tint:#e3f3f0;--teal-ink:#0b5c55;--bg:#f6f1e9;--bg-glow:#fbf3e6;--surface:#fffdf9;--surface-2:#fbf6ee;--border:#e8dfd0;--border-strong:#d9cdb8;--ink:#2a2724;--ink-soft:#6b6459;--ink-faint:#9a9184;--notice-bg:#fdf5e1;--notice-border:#f0e2bd;--notice-ink:#8a5a12;--danger:#b3261e;--success:#1a7f4f;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-pill:999px;--space-1:0.375rem;--space-2:0.625rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.25rem;--shadow-sm:0 1px 2px rgba(60,48,30,0.05);--shadow-md:0 6px 20px -8px rgba(60,48,30,0.18);--shadow-lg:0 18px 48px -18px rgba(60,48,30,0.28);--ring:0 0 0 3px rgba(20,184,166,0.28);--font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--t-display:clamp(2.1rem,1.5rem + 3vw,3.1rem);--t-h2:clamp(1.35rem,1.1rem + 1.2vw,1.7rem);--t-lede:clamp(1.05rem,1rem + 0.4vw,1.2rem);--t-body:1rem;--t-small:0.875rem;--maxw:680px;--maxw-wide:1080px}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--t-body);line-height:1.65;background-color:var(--bg);background-image:radial-gradient(1100px 520px at 50% -12%,var(--bg-glow) 0,transparent 62%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,h1,h2,h3{color:var(--ink)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.01em}p{max-width:62ch}strong{font-weight:650}em{font-style:italic}a{color:var(--teal-deep);text-underline-offset:2px}::selection{background:var(--teal-tint);color:var(--ink)}.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,1rem + 5vw,4.5rem) 1.25rem clamp(2.5rem,6vw,4rem)}.wrap-wide{max-width:var(--maxw-wide)}.chat-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:start}@media (min-width:860px){.chat-grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5)}}.progress{position:-webkit-sticky;position:sticky;top:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.progress-track{height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--teal-light));transition:width .4s ease}.progress-label{font-size:var(--t-small);color:var(--ink-soft);margin-bottom:var(--space-2);display:flex;justify-content:space-between;gap:var(--space-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(1.25rem,1rem + 1.5vw,1.9rem);box-shadow:var(--shadow-md)}.card+.card{margin-top:var(--space-4)}.overview,.steckbrief{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(1.25rem,1rem + 1.5vw,1.9rem);box-shadow:var(--shadow-md)}.overview h2,.steckbrief h2{font-size:var(--t-h2);margin-bottom:var(--space-3)}.overview dl,.steckbrief dl{display:grid;grid-gap:.15rem;gap:.15rem}.overview dt,.steckbrief dt{font-family:var(--font-body);font-weight:650;font-size:var(--t-small);letter-spacing:.02em;text-transform:uppercase;color:var(--teal-ink);margin-top:var(--space-3)}.overview dd,.steckbrief dd{color:var(--ink)}.hinweis,.notice{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);font-size:.95rem;line-height:1.55}.hinweis,.hinweis strong,.notice,.notice strong{color:var(--notice-ink)}.btn,button{font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.35rem;border-radius:var(--r-pill);border:1px solid transparent;background:var(--teal-deep);color:#fff;box-shadow:var(--shadow-sm);transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.btn:hover,button:hover{background:#0c6058;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active,button:active{transform:translateY(0)}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{background:transparent;color:var(--teal-deep);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--teal-tint);color:var(--teal-ink)}.input,input,textarea{font:inherit;width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.8rem 1rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--ink-faint)}.input:focus,input:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}textarea{min-height:3.25rem;resize:vertical;line-height:1.55}.field-label{display:block;font-size:var(--t-small);font-weight:650;letter-spacing:.02em;color:var(--ink-soft);margin-bottom:var(--space-2)}.chat{gap:var(--space-4)}.chat,.messages{display:flex;flex-direction:column}.messages{gap:var(--space-2)}.msg{padding:.8rem 1.1rem;border-radius:var(--r-md);max-width:85%;white-space:pre-wrap;line-height:1.6;box-shadow:var(--shadow-sm)}.msg.assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px;align-self:flex-start}.msg.user{background:var(--teal-deep);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.composer{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3);box-shadow:var(--shadow-sm)}.composer button{align-self:flex-end}.chat-page{max-width:var(--maxw-wide);margin:0 auto;height:100dvh;flex-direction:column;padding:var(--space-3) .9rem calc(var(--space-2) + env(safe-area-inset-bottom, 0px))}.chat-page,.chat-shell{display:flex;gap:var(--space-3)}.chat-shell{flex:1 1;min-height:0;flex-direction:column}.chat-page .progress{position:static;top:auto;padding:var(--space-2) var(--space-3)}.chat-grid.is-fill{flex:1 1;min-height:0;align-items:stretch}.chat-col,.chat-grid.is-fill>*{min-height:0}.chat-col{display:flex;flex-direction:column;gap:var(--space-3)}.chat-col .messages{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-1) var(--space-1) var(--space-1) 0;scroll-behavior:smooth;scrollbar-width:thin}.chat-page .brandfooter{margin-top:0;padding-top:var(--space-1)}.progress-right{display:flex;align-items:center;gap:var(--space-2)}.overview-toggle{padding:.3rem .7rem;font-size:var(--t-small);font-weight:600;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--teal-ink);box-shadow:none}.overview-toggle:hover{background:var(--teal-tint);transform:none}.overview-col{display:none}.sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;background:rgba(42,39,36,.42);opacity:0;pointer-events:none;transition:opacity .22s ease}.sheet.is-open{opacity:1;pointer-events:auto}.sheet-panel{width:100%;max-height:84vh;overflow-y:auto;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--space-3) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-lg);transform:translateY(101%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}.sheet.is-open .sheet-panel{transform:translateY(0)}.sheet-handle{width:40px;height:4px;border-radius:var(--r-pill);background:var(--border-strong);margin:0 auto var(--space-3)}.sheet-close{width:100%;margin-top:var(--space-3)}.sheet .overview{border:none;box-shadow:none;padding:0;background:transparent}.progress-phase{display:inline-flex;align-items:center;gap:var(--space-2)}.info-btn{width:1.4rem;height:1.4rem;padding:0;font-size:.82rem;font-weight:700;font-style:italic;line-height:1;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--teal-ink);box-shadow:none}.info-btn:hover{background:var(--teal-tint);transform:none}.info-body{margin-top:var(--space-2)}.info-body p{margin-bottom:var(--space-3);max-width:none}.info-body strong{color:var(--teal-ink)}@media (min-width:860px){.chat-page{padding:var(--space-4) 1.5rem var(--space-2)}.overview-col{display:block;align-self:stretch;overflow-y:auto;max-height:100%}.overview-sheet,.overview-toggle{display:none}.sheet{align-items:center;padding:var(--space-4)}.sheet .sheet-panel{max-width:560px;margin:0 auto;border-radius:var(--r-lg);max-height:82vh;transform:translateY(14px) scale(.98)}.sheet.is-open .sheet-panel{transform:translateY(0) scale(1)}.sheet-handle{display:none}}.error{color:var(--danger);font-size:.95rem}.ok{color:var(--success);font-weight:600}.welcome{display:flex;flex-direction:column;gap:var(--space-4)}.hero{margin-bottom:var(--space-2)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--t-small);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:var(--space-3)}.eyebrow:before{content:"";width:8px;height:8px;border-radius:var(--r-pill);background:var(--teal);box-shadow:0 0 0 4px var(--teal-tint)}.hero h1{font-size:var(--t-display);margin-bottom:var(--space-3)}.hero h1:after{content:"";display:block;width:3.5rem;height:3px;margin-top:var(--space-3);border-radius:var(--r-pill);background:linear-gradient(90deg,var(--teal),var(--teal-light))}.lede{font-size:var(--t-lede);color:var(--ink-soft);max-width:54ch}.access{display:flex;flex-direction:column;gap:var(--space-3)}.access .btn,.access button{align-self:flex-start}.brandfooter{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--t-small);color:var(--ink-faint);text-align:center;letter-spacing:.02em}.brandfooter strong{color:var(--ink-soft);font-weight:650}:focus-visible{outline:2px solid var(--teal-deep);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.iv-center{text-align:center;margin:var(--space-5) auto;display:grid;grid-gap:var(--space-3);gap:var(--space-3);justify-items:center}.iv-loading,.iv-muted{color:var(--ink-faint)}.iv-muted{font-size:var(--t-small)}.iv-page{display:flex;flex-direction:column;gap:var(--space-4)}.iv-hero{margin-bottom:0}.iv-page .hinweis{max-width:none}.iv-head{width:100%;max-width:780px;margin:0 auto}.iv-hero h1{font-size:clamp(1.9rem,1.4rem + 2.4vw,2.6rem)}.iv-toast{background:#e7f5ee;border:1px solid #bfe3cf;color:var(--success);border-radius:var(--r-md);padding:var(--space-2) var(--space-3);font-weight:600;max-width:none}.iv-status{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.iv-status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.iv-status-num{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--ink)}.iv-status-label{color:var(--ink-soft)}.iv-cta{width:100%;flex-direction:column;gap:.1rem;padding:.95rem 1.2rem;border-radius:var(--r-md);font-size:1.08rem;text-decoration:none}.iv-cta-sub{font-weight:500;font-size:var(--t-small);opacity:.9}.iv-chapters{list-style:none;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.iv-chapter{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.iv-chapter:hover{border-color:var(--teal);box-shadow:var(--shadow-md);transform:translateY(-1px)}.iv-chapter-nr{flex:none;width:2.2rem;height:2.2rem;border-radius:var(--r-pill);display:grid;place-items:center;font-weight:700;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--ink-soft)}.iv-chapter.is-laeuft .iv-chapter-nr,.iv-chapter.is-zusammenfassung .iv-chapter-nr{background:var(--teal-tint);border-color:var(--teal);color:var(--teal-ink)}.iv-chapter.is-bestaetigt .iv-chapter-nr{background:var(--success);border-color:var(--success);color:#fff}.iv-chapter.is-uebersprungen{opacity:.72}.iv-chapter-body{flex:1 1;min-width:0;display:grid;grid-gap:.15rem;gap:.15rem}.iv-chapter-title{font-weight:650}.iv-chapter-kurz{color:var(--ink-soft);font-size:var(--t-small);line-height:1.45}.iv-chapter-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--ink-faint);margin-top:.2rem}.iv-chapter-go{color:var(--ink-faint);font-size:1.5rem;line-height:1}.iv-badge{display:inline-block;padding:.1rem .55rem;border-radius:var(--r-pill);font-size:.75rem;font-weight:650;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft)}.iv-badge.is-laeuft{background:var(--teal-tint);border-color:#bfe3dd;color:var(--teal-ink)}.iv-badge.is-zusammenfassung{background:var(--notice-bg);border-color:var(--notice-border);color:var(--notice-ink)}.iv-badge.is-bestaetigt{background:#e7f5ee;border-color:#bfe3cf;color:var(--success)}.iv-chat-page,.iv-head{gap:var(--space-2)}.iv-head{display:grid;grid-gap:var(--space-2)}.iv-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);position:relative}.iv-back{color:var(--teal-ink);text-decoration:none;font-weight:600;font-size:var(--t-small)}.iv-head-actions{display:flex;gap:var(--space-1);position:relative}.iv-menu button,.iv-pill{padding:.3rem .8rem;font-size:var(--t-small);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--teal-ink);box-shadow:none}.iv-pill:hover{background:var(--teal-tint);transform:none;box-shadow:none}.iv-more{min-width:2.2rem;font-weight:800;letter-spacing:.05em}.iv-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;grid-gap:2px;gap:2px;min-width:15rem;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.iv-menu button{justify-content:flex-start;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);padding:.6rem .75rem;font-weight:550}.iv-menu button:hover{background:var(--teal-tint);transform:none;box-shadow:none}.iv-head-title{font-size:1.15rem;line-height:1.25}.iv-head-nr{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink)}.iv-head-progress{display:flex;align-items:center;gap:var(--space-2)}.iv-head-progress .progress-track{flex:1 1;height:6px}.iv-head-count{font-size:.8rem;color:var(--ink-soft);white-space:nowrap}.iv-chat-col{flex:1 1;min-height:0;width:100%;max-width:780px;margin:0 auto;gap:var(--space-2)}.iv-chat-col .messages{gap:var(--space-3)}.iv-chat-col .msg{max-width:92%}.iv-typing{display:inline-flex;gap:5px;padding:.95rem 1.1rem}.iv-typing span{width:7px;height:7px;border-radius:var(--r-pill);background:var(--ink-faint);animation:iv-blink 1.2s ease-in-out infinite}.iv-typing span:nth-child(2){animation-delay:.15s}.iv-typing span:nth-child(3){animation-delay:.3s}@keyframes iv-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.iv-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--notice-ink);font-size:.95rem}.iv-banner.is-calm{background:var(--surface-2);border-color:var(--border);color:var(--ink-soft);justify-content:flex-start}.iv-banner .btn{padding:.45rem .95rem;font-size:var(--t-small)}.iv-spinner{width:1rem;height:1rem;border-radius:var(--r-pill);border:2px solid var(--border-strong);border-top-color:var(--teal-deep);animation:iv-spin .8s linear infinite}@keyframes iv-spin{to{transform:rotate(1turn)}}.iv-summary-cta{width:100%;border-radius:var(--r-md)}.iv-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.iv-actions>*{flex:1 1;text-decoration:none}.iv-composer{gap:var(--space-2);padding:var(--space-2)}.iv-composer textarea{min-height:4.5rem;max-height:40vh}.iv-composer-hint{font-size:var(--t-small);color:var(--ink-soft)}.iv-composer-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.iv-composer-row .btn{margin-left:auto}.iv-composer-row .btn-ghost+.btn{margin-left:0}.iv-composer-note{font-size:.72rem;color:var(--ink-faint)}.iv-mic{padding:.55rem .95rem;font-size:var(--t-small);background:var(--surface-2);color:var(--teal-ink);border:1px solid var(--border-strong);box-shadow:none}.iv-mic:hover{background:var(--teal-tint);transform:none;box-shadow:none}.iv-mic.is-recording{background:var(--danger);border-color:var(--danger);color:#fff}.iv-recording{display:flex;align-items:center;gap:var(--space-2);min-height:4.5rem;padding:0 var(--space-3);border-radius:var(--r-sm);background:#fdecea;color:var(--danger);font-weight:600}.iv-rec-dot{width:10px;height:10px;border-radius:var(--r-pill);background:var(--danger);animation:iv-blink 1.2s infinite}.iv-summary{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--notice-border);border-radius:var(--r-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.iv-summary.is-confirmed{border-left-color:var(--success)}.iv-summary-kicker{font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--notice-ink)}.iv-summary.is-confirmed .iv-summary-kicker{color:var(--success)}.iv-summary-head h2{font-size:1.2rem;margin-top:.2rem}.iv-sum-section h3{font-family:var(--font-body);font-size:var(--t-small);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:var(--space-1)}.iv-sum-section ul{padding-left:1.1rem;display:grid;grid-gap:.3rem;gap:.3rem}.iv-sum-section ul.iv-sum-items,ul.iv-sum-items{list-style:none;padding-left:0}.iv-sum-items li{display:grid;grid-gap:.1rem;gap:.1rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.iv-sum-items li:last-child{border-bottom:none}.iv-sum-meta{font-size:var(--t-small);color:var(--ink-soft)}.iv-sum-note{font-size:var(--t-small);color:var(--ink-faint)}.iv-sum-terms{display:grid;grid-gap:.35rem;gap:.35rem}.iv-sum-terms dt{font-weight:650}.iv-sum-terms dd{color:var(--ink-soft);margin:0}.iv-admin blockquote,.iv-summary blockquote{border-left:3px solid var(--teal);padding:.2rem 0 .2rem .8rem;margin:.3rem 0;color:var(--ink-soft);font-style:italic}.iv-prio{justify-self:start;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.05rem .45rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-soft)}.iv-prio.is-hoch{background:#fdecea;color:var(--danger)}.iv-prio.is-mittel{background:var(--notice-bg);color:var(--notice-ink)}.iv-admin{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.iv-admin h2{font-size:1.2rem;margin-bottom:var(--space-2)}.iv-admin-login{max-width:420px;margin:var(--space-5) auto}.iv-admin-export{margin-top:var(--space-3);max-width:560px}.iv-admin-export a{text-decoration:none}.iv-admin-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.iv-admin-grid .card+.card{margin-top:0}.iv-table-wrap{overflow-x:auto}.iv-table{width:100%;border-collapse:collapse;font-size:var(--t-small)}.iv-table td,.iv-table th{text-align:left;vertical-align:top;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.iv-table th{color:var(--ink-soft);font-weight:650;white-space:nowrap}.iv-admin-chapters{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.iv-admin-chapter{padding:var(--space-3)}.iv-admin-chapter+.iv-admin-chapter{margin-top:0}.iv-admin-chapter summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);cursor:pointer}.iv-admin-chapter-title{font-weight:650;flex:1 1}.iv-admin-chapter[open] summary{margin-bottom:var(--space-3)}.iv-transcript{margin-top:var(--space-3);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.iv-transcript h3{font-size:1rem}.iv-transcript-msg{max-width:none;font-size:.95rem;white-space:pre-wrap}.iv-transcript-msg.is-user strong{color:var(--teal-ink)}@media (min-width:860px){.iv-admin-grid{grid-template-columns:1fr 1fr}.iv-head-title{font-size:1.3rem}}