:root{color-scheme:dark;
--bg:#16181d;--surface:#1e2128;--deep:#0f1114;--line:#2a2d36;--line2:#3a3e47;
--ink:#e8e9ec;--soft:#c9cbd1;--muted:#9da2ac;--dim:#6b707b;--white:#fff;
--accent:#3a4fe0;--accent-hover:#4b5ff0;--link:#9aa8ff;--link-hover:#c0c8ff;
--sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:var(--link)}a:hover{color:var(--link-hover)}
a:focus-visible,summary:focus-visible{outline:2px solid #5568f0;outline-offset:2px;border-radius:8px}
img,svg{flex-shrink:0}
h1,h2,h3,p{overflow-wrap:break-word}
code{font-family:var(--mono)}
.mono{font-family:var(--mono)}
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Kopf */
.site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}
.site-header-inner{max-width:1264px;margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none}
.brand:hover{color:#fff}
.brand-name{font-size:18px;font-weight:700}
.brand-mark{border-radius:8px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.brand-mark-md{width:30px;height:30px}.brand-mark-sm{width:26px;height:26px}
.head-right{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:500}
.nav a:hover{background:var(--surface);color:#fff}
.nav a[aria-current="page"]{background:var(--surface);color:#fff;font-weight:600}
.nav a.nav-github{gap:8px;margin-left:6px;padding:0 14px;background:var(--surface);border:1px solid var(--line2);font-weight:600}
.mobile-tools{display:none;align-items:center;gap:8px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer}
.icon-btn:hover{color:#fff;border-color:var(--line2)}
.menu{position:static}
.menu>summary{list-style:none}
.menu>summary::-webkit-details-marker{display:none}
.menu .i-close{display:none}
.menu[open]>summary{border-color:var(--accent)}
.menu[open] .i-open{display:none}.menu[open] .i-close{display:inline}
.menu-panel{position:absolute;left:0;right:0;top:100%;padding:4px 16px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column}
.menu-panel a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:17px;font-weight:500}
.menu-panel a svg{color:var(--dim)}
.menu-panel a[aria-current="page"]{font-weight:600;color:#fff}
.menu-panel a.menu-cta{margin-top:16px;justify-content:center;min-height:48px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-size:15px;font-weight:600}
.langsw{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.langsw a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:18px;color:var(--soft);font-size:14px;font-weight:500;text-decoration:none}
.langsw a:hover{color:#fff}
.langsw a[aria-current="true"]{background:var(--accent);color:#fff;font-weight:600}

/* Allgemein */
.wrap{max-width:1264px;margin:0 auto;padding-left:32px;padding-right:32px}
.section{max-width:1264px;margin:0 auto;padding:0 32px 88px;display:flex;flex-direction:column;gap:28px}
.section-head{display:flex;flex-direction:column;gap:8px;max-width:640px}
.section-head.wide{max-width:680px;gap:10px}
.rule{border-top:1px solid var(--line);padding-top:28px}
.h2{margin:0;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.h2-lg{font-size:clamp(28px,3.4vw,38px);line-height:1.12;letter-spacing:-.025em}
.sub{margin:0;color:var(--muted)}
.sub-lg{font-size:17px}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;align-self:flex-start;height:26px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:600}
.badge-blue{background:#142640;color:#8db8ff}
.badge-gray{background:#2a2d34;color:var(--soft)}
.badge-mono{font-family:var(--mono);font-weight:400}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:10px;text-decoration:none;font-weight:600}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);color:#fff}
.btn-secondary{background:var(--surface);border:1px solid var(--line2);color:var(--ink)}
.btn-secondary:hover{color:#fff;border-color:#4a4e58}
.center-row{display:flex;justify-content:center}
.btn-wide{justify-content:center;gap:10px;padding:0 22px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;text-decoration:none}
.link-arrow.underline{text-decoration:underline;gap:6px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}
.card h3{margin:0;font-size:17px;font-weight:600}
.card p{margin:0;font-size:14px;color:var(--muted)}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.code-inline{font-family:var(--mono);font-size:13px;background:var(--bg);padding:1px 4px;border-radius:4px;color:var(--ink)}

/* Startseite: Hero */
.hero{max-width:1264px;margin:0 auto;padding:88px 32px 56px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero-title{margin:0;max-width:900px;font-size:clamp(36px,5.4vw,60px);line-height:1.05;font-weight:700;letter-spacing:-.03em}
.lead{margin:0;max-width:680px;font-size:19px;line-height:1.55;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.stack{margin:0;font-family:var(--mono);font-size:13px;color:var(--muted)}

/* Startseite: nachgebaute Oberfläche (dekorativ) */
.mock-sec{max-width:1264px;margin:0 auto;padding:0 32px 88px}
.mock-frame{overflow-x:auto;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.mock{min-width:1040px;display:flex}
.mock-side{width:216px;flex-shrink:0;background:var(--deep);padding:18px 12px;display:flex;flex-direction:column;gap:4px}
.mock-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;font-size:16px;font-weight:700}
.mock-nav{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:10px;color:var(--soft);font-size:14px}
.mock-nav span.l{flex:1}
.mock-nav.on{background:var(--line);color:#fff;font-weight:600}
.count{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.count.gray{background:#33363f;color:var(--ink)}
.mock-lang{margin-top:auto;padding:10px;border-radius:10px;background:var(--surface);color:#b5b8c0;font-size:12px}
.mock-main{flex:1;min-width:0;background:var(--bg);padding:24px 28px;display:flex;flex-direction:column;gap:16px}
.mock-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.mock-head-text{display:flex;flex-direction:column;gap:2px}
.mock-title{font-size:22px;font-weight:700;letter-spacing:-.02em}
.mock-sub{font-size:13px;color:var(--muted)}
.mock-pills{display:flex;align-items:center;gap:8px}
.mock-pill{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;border-radius:18px;border:1px solid var(--line);background:var(--surface);font-size:12px;color:var(--soft);white-space:nowrap}
.mock-pill.week{border-radius:10px;font-family:var(--mono);color:var(--ink)}
.mock-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mock-day{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:196px}
.mock-day.today{background:var(--surface);border:2px solid var(--accent);padding:9px}
.mock-day.later{background:var(--surface)}
.mock-day-label{font-size:12px;color:var(--muted)}
.mock-day.today .mock-day-label{font-weight:600;color:var(--link)}
.mock-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}
.mock-card-title{font-size:13px;font-weight:600}
.mock-card-meta{font-size:11px;color:var(--muted)}
.mock-row{display:flex;align-items:center;gap:6px;font-size:11px}
.plat{width:22px;height:18px;border-radius:4px;color:#fff;font-family:var(--mono);font-size:10px;display:inline-flex;align-items:center;justify-content:center}
.plat-ig{background:#a61e6e}.plat-yt{background:#c2410c}.plat-tt{background:#000;box-shadow:0 0 0 1px #2f333d}
.st{margin-left:auto;padding:1px 6px;border-radius:6px;font-weight:600;text-align:right}
.st-pub{background:#12301f;color:#6fd39f}.st-fail{background:#3a1a1f;color:#ff9a90}.st-run{background:#3a2c0f;color:#f0b444}
.st-plan{background:#2a1f45;color:#c4aeff}.st-ready{background:#142640;color:#8db8ff}.st-imp{background:#2a2d34;color:var(--soft)}
.mock-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted)}
.mock-legend span.k{display:inline-flex;align-items:center;gap:6px}
.caption{margin:12px 0 0;font-size:12px;color:var(--muted)}
.phone-sec{display:none;padding:0 20px 56px;flex-direction:column;align-items:center;gap:12px}
.phone{width:100%;max-width:300px;border-radius:40px;padding:10px;background:#0b0c0f;border:1px solid #2f333d;box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03) inset}
.phone-screen{position:relative;border-radius:31px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;height:560px}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:10px 22px 4px;font-size:11px;font-weight:600}
.phone-notch{width:74px;height:20px;border-radius:10px;background:#0b0c0f}
.phone-status .net{font-family:var(--mono);font-size:10px}
.phone-head{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;border-bottom:1px solid var(--line)}
.phone-title{font-size:17px;font-weight:700;color:#fff}
.phone-btns{display:flex;gap:6px}
.phone-btn{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}
.phone-btn.primary{background:var(--accent);color:#fff}
.phone-btn.more{background:var(--surface);border:1px solid var(--line);color:var(--soft);font-size:15px;line-height:1}
.phone-chips{display:flex;gap:6px;padding:10px 14px;overflow:hidden}
.chip{flex:none;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:13px;background:var(--surface);border:1px solid var(--line);color:var(--soft);font-size:11px}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.phone-list{flex:1;overflow:hidden;padding:4px 14px;display:flex;flex-direction:column;gap:14px}
.phone-group{display:flex;flex-direction:column;gap:6px}
.phone-day{font-size:12px;font-weight:600;color:var(--muted)}
.phone-day.today{color:var(--link)}
.phone-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.phone-time{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--mono);font-size:12px}
.phone-time .plat{width:22px;height:16px;font-size:9px;font-weight:600}
.phone-time .plat-ig{background:#c13584}.phone-time .plat-yt{background:#e0362c}
.phone-item-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.phone-item-title{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phone-item-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.phone-item-meta .st{margin-left:0;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font-size:10px}
.phone-tabs{display:flex;border-top:1px solid var(--line);background:#1b1d23;padding:0 4px 10px}
.phone-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;padding:8px 0 6px;color:var(--muted);font-size:10px;font-weight:500}
.phone-tab.on{color:#aab5ff;font-weight:600}
.phone-badge{position:absolute;top:4px;left:54%;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;line-height:16px;text-align:center}
.phone-caption{margin:0;max-width:300px;text-align:center;font-size:12px;color:var(--muted)}

/* Video-Kacheln (Poster ohne Video-Datei) */
.poster{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:radial-gradient(120% 90% at 20% 10%,#263080 0%,#1a1f4a 40%,#121419 100%)}
.poster::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}
.poster-num{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 7px;border-radius:7px;background:rgba(255,255,255,.12);font-family:var(--mono);font-size:12px;font-weight:500;color:#fff}
.poster-mid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.play{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 32px rgba(58,79,224,.5)}
.poster-dur{position:absolute;right:12px;bottom:10px;display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:6px;background:rgba(0,0,0,.55);font-family:var(--mono);font-size:12px;color:#fff}
.soon-pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:rgba(227,179,65,.16);color:#f0c75e;font-size:13px;font-weight:600}
.soon-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;background:rgba(227,179,65,.16);color:#f0c75e;font-size:12px;font-weight:600}
.vcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.vcard{display:flex;flex-direction:column;gap:14px;padding:12px 12px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.vcard:hover{border-color:var(--line2);color:var(--ink)}
.vcard-text{display:flex;flex-direction:column;gap:6px;padding:0 6px}
.vcard-title{font-size:18px;font-weight:700;letter-spacing:-.01em}
.vcard-desc{font-size:14px;line-height:1.5;color:var(--muted)}

/* Startseite: Funktionen, Grenzen, Ablauf */
.feat-icon{width:40px;height:40px;border-radius:10px;background:#222845;color:var(--accent);display:inline-flex;align-items:center;justify-content:center}
.band-dark{background:var(--deep)}
.band-surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-inner{max-width:1264px;margin:0 auto;padding:72px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:32px 56px;align-items:start}
.band-surface .band-inner{padding:80px 32px}
.band-text{display:flex;flex-direction:column;gap:10px}
.band-dark .h2{color:#fff}
.band-dark .sub{color:var(--soft)}
.nots{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.not{background:var(--surface);border:1px solid #2a2d35;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}
.not-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#fff}
.not-title svg{color:#ff9a90}
.not-desc{font-size:14px;color:var(--soft)}
.flow-sec{padding:88px 32px}
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.steps .card{gap:8px}
.step-num{font-family:var(--mono);font-size:13px;color:var(--muted)}
.statusbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.statusbox-label{font-size:13px;font-weight:600;margin-right:6px}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600}
.tag-sm{height:22px}
.statusbox>svg{color:var(--muted)}
.break{flex-basis:100%;height:0}
.statusbox-note{font-size:13px;color:var(--muted)}
.facts{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:4px 20px;padding:16px 18px;border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:0}
.fact dt{font-weight:600}
.fact dd{margin:0;font-size:14px;color:var(--muted)}
.fact code{font-size:13px}

/* Startseite: Selbst hosten */
.host-sec{max-width:1264px;margin:0 auto;padding:88px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px 48px;align-items:start}
.col{display:flex;flex-direction:column;gap:18px;min-width:0}
.col.tight{gap:10px}
.hsteps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.hstep{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:32px 1fr;gap:12px}
.hstep-num{width:28px;height:28px;border-radius:14px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px}
.hstep .m{color:var(--muted)}
.hstep .m strong{color:var(--ink)}
.msg{background:var(--deep);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.msg-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #2a2d35;font-size:12px;color:#b5b8c0}
.msg-body{margin:0;padding:18px 16px;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.note-sm{margin:0;font-size:13px;color:var(--muted)}

/* Startseite: Tutorials, Dokumentation */
.tut-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;border-top:1px solid var(--line);padding-top:56px}
.tut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px 40px;align-items:start}
.tut-feature{display:flex;flex-direction:column;gap:14px;color:var(--ink);text-decoration:none}
.tut-feature:hover{color:var(--ink)}
.tut-feature .poster{border-radius:16px;border:1px solid var(--line)}
.tut-feature .poster::before{background-size:40px 40px}
.tut-feature .play{width:72px;height:72px}
.poster-start{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:8px;background:rgba(255,255,255,.1);font-size:12px;font-weight:600;color:#fff}
.tut-feature .poster-dur{right:14px;bottom:12px;height:24px;padding:0 8px}
.tut-text{display:flex;flex-direction:column;gap:4px}
.kicker{font-size:13px;font-weight:600;color:var(--link)}
.tut-title{font-size:22px;font-weight:700;letter-spacing:-.015em}
.tut-desc{font-size:15px;color:var(--muted)}
.tut-list{display:flex;flex-direction:column}
.tut-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:6px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.tut-row:hover{background:#1b1e24;color:#fff}
.tut-row .n{font-family:var(--mono);font-size:13px;color:var(--dim)}
.tut-row .t{font-weight:500}
.tut-row .d{font-family:var(--mono);font-size:13px;color:var(--muted)}
.docs-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;border-top:1px solid var(--line);padding-top:28px}
.docs-head .h2{font-size:26px}
.docs-head span{font-size:13px;color:var(--muted)}
.docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.doc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}
.doc:hover{border-color:var(--line2);color:var(--ink)}
.doc-title{font-weight:600}
.doc-desc{font-size:14px;color:var(--muted)}
.section.last{padding-bottom:96px;gap:20px}

/* Fuß */
.site-footer{border-top:1px solid var(--line)}
.site-footer-inner{max-width:1264px;margin:0 auto;padding:24px 32px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;color:var(--muted)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}

/* Tutorials */
.tut-hero{max-width:1264px;margin:0 auto;padding:72px 32px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.tut-h1{margin:0;max-width:860px;font-size:clamp(34px,5vw,54px);line-height:1.06;font-weight:700;letter-spacing:-.03em}
.tut-lead{margin:0;max-width:680px;font-size:18px;line-height:1.55;color:var(--muted)}
.stats{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:4px;font-size:14px;color:var(--soft)}
.stats strong{font-family:var(--mono);color:#fff}
.player-sec{max-width:1264px;margin:0 auto;padding:0 32px 88px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.player-col{display:flex;flex-direction:column;gap:22px;min-width:0}
.player{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 90% at 20% 10%,#263080 0%,#1a1f4a 38%,#121419 100%)}
.player::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
.player-video{background:#000}
.player-video::before{content:none}
.player-video video{position:absolute;inset:0;display:block;width:100%;height:100%;background:#000}
.player-video p{margin:0;padding:24px;color:var(--soft)}
.player-top{position:absolute;top:20px;left:22px;display:flex;align-items:center;gap:10px}
.player-num{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 8px;border-radius:8px;background:rgba(255,255,255,.1);font-family:var(--mono);font-size:14px;font-weight:500;color:#fff}
.player-label{font-size:14px;color:var(--soft)}
.player-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}
.player .play{width:84px;height:84px;box-shadow:0 12px 40px rgba(58,79,224,.5)}
.player .soon-pill{height:32px;padding:0 14px;border-radius:16px;font-size:14px}
.player-title{max-width:640px;font-size:clamp(22px,3vw,34px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:#fff}
.player-bar{position:absolute;left:0;right:0;bottom:0;padding:14px 20px 16px;background:linear-gradient(transparent,rgba(0,0,0,.55));display:flex;flex-direction:column;gap:10px}
.bar{height:4px;border-radius:2px;background:rgba(255,255,255,.18)}
.bar-row{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:13px;color:var(--soft)}
.bar-row .hint{font-family:var(--sans);color:var(--muted)}
.vinfo{display:flex;flex-direction:column;gap:10px}
.vinfo h2{margin:0;font-size:30px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.vinfo p{margin:0;max-width:720px;font-size:16px;color:var(--soft)}
.vmeta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:4px;font-size:14px;color:var(--muted)}
.vmeta strong{color:var(--ink)}
.vmeta strong.mono{font-family:var(--mono)}
.chapters{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.chapters>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:600;color:#fff;cursor:pointer}
.chapters>summary::-webkit-details-marker{display:none}
.chapters>summary svg{color:var(--muted);transition:transform .15s}
.chapters[open]>summary svg{transform:rotate(180deg)}
.chapters ol{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2px 24px}
.chapters li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.chapters li .n{font-family:var(--mono);color:var(--dim)}
.pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.pager a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.pager a:hover{color:#fff;border-color:#4a4e58}
.pager a.next{margin-left:auto;border-color:var(--accent);background:var(--accent);color:#fff}
.pager a.next:hover{background:var(--accent-hover)}
.playlist{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px;position:sticky;top:16px}
.playlist-title{display:none;margin:6px 12px 4px;font-size:18px;font-weight:700;color:#fff}
.pl-group{margin:12px 12px 6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pl-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:12px;border:1px solid transparent;color:var(--ink);text-decoration:none}
.pl-item:hover{background:#22252d;color:#fff}
.pl-num{width:40px;height:40px;border-radius:10px;background:var(--line);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--soft)}
.pl-title{font-weight:500;line-height:1.3;min-width:0}
.pl-dur{font-family:var(--mono);font-size:13px;color:var(--muted)}
.pl-item.sel{border-color:var(--accent);background:#1d2556;color:#fff}
.pl-item.sel:hover{background:#1d2556}
.pl-item.sel .pl-num{background:var(--accent);color:#fff}
.pl-item.sel .pl-title{display:flex;flex-direction:column;font-weight:600}
.pl-item.sel .pl-title small{font-family:var(--mono);font-size:12px;font-weight:400;color:#aab5ff}
.pl-item.sel .pl-dur{color:var(--soft)}
.pl-item.soon{color:var(--muted)}
.pl-item.soon .pl-num{background:transparent;border:1px dashed var(--line2);color:var(--dim)}
.more-sec{max-width:1264px;margin:0 auto;padding:0 32px 96px;display:flex;flex-direction:column;gap:20px}
.more-sec .h2{font-size:26px}

/* Rechtliches */
.legal-header-inner{max-width:1184px;margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.seritha{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;text-decoration:none}
.seritha:hover{color:#fff}
.seritha img{width:36px;height:36px;display:block}
.seritha-name{font-size:18px;font-weight:700;letter-spacing:-.01em}
.seritha-name span{color:var(--muted);font-weight:500}
.crumb-sep{color:#4a4e58;font-size:18px}
.crumb-app{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none;font-size:17px;font-weight:600}
.crumb-app:hover{color:#fff}
.crumb-app .brand-mark{width:28px;height:28px}
.legal-host{font-family:var(--mono);font-size:13px;color:var(--muted)}
.legal-main{max-width:900px;margin:0 auto;padding:56px 20px 88px;display:flex;flex-direction:column;gap:22px;line-height:1.65}
.legal-title{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.legal-title h1{margin:0;font-size:clamp(34px,5vw,46px);line-height:1.1;font-weight:700;letter-spacing:-.03em;color:#fff}
.legal-title p{margin:0;color:var(--muted)}
.pills{display:flex;justify-content:center}
.pillgroup{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:26px;background:var(--surface);max-width:100%}
.pillgroup a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;color:var(--soft);font-size:15px;font-weight:500;text-decoration:none}
.pillgroup a:hover{color:#fff}
.pillgroup a[aria-current]{background:var(--accent);color:#fff;font-weight:600}
.pillgroup .sep{color:#4a4e58;padding:0 2px}
.lg{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,4vw,32px);scroll-margin-top:84px}
.lg h1,.lg h2.title{margin:0 0 6px;font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:#fff}
.lg h1.second{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.lg h2{margin:28px 0 8px;font-size:18px;line-height:1.35;font-weight:700;letter-spacing:-.01em;color:#fff}
.lg h3{margin:18px 0 6px;font-size:16px;font-weight:600;color:#fff}
.lg p{margin:0 0 10px}
.lg ul,.lg ol{margin:0 0 10px;padding-left:22px}
.lg li{margin:0 0 6px}
.lg table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 12px}
.lg th,.lg td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.lg th{font-size:12px;font-weight:600;color:var(--muted)}
.lg .mono{font-size:14px}
.lg .muted{color:var(--muted);font-size:14px}
.lg .note{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.instance{border-color:#33407a;background:#1b1f33}
.instance h2.title{font-size:20px}
.instance-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.instance-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line2);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.instance-links a:hover{color:#fff;border-color:#4a4e58}
.legal-footer-inner{max-width:1184px;margin:0 auto;padding:24px 32px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:13px;color:var(--muted)}
.legal-footer-inner a{display:inline-flex;align-items:center;min-height:44px}
.notfound{max-width:720px;margin:0 auto;padding:96px 20px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.notfound h1{margin:0;font-size:clamp(30px,5vw,44px);letter-spacing:-.02em}
@supports selector(:has(a)){
.tab-panel{display:none}
.tab-panel:target,.tab-panel:has(:target){display:block}
.legal-main:not(:has(.tab-panel:target,.tab-panel :target)) #tos{display:block}
.legal-main:not(:has(.tab-panel:target,.tab-panel :target)) .tab-pills a[href="#tos"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#tos:target,#terms:target,#agb:target,#nutzungsbedingungen:target) .tab-pills a[href="#tos"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#datenschutz:target,#privacy:target) .tab-pills a[href="#datenschutz"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#impressum:target,#imprint:target,#legal-notice:target) .tab-pills a[href="#impressum"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#datenloeschung:target,#data-deletion:target) .tab-pills a[href="#datenloeschung"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#lizenzen:target,#licenses:target,#licences:target) .tab-pills a[href="#lizenzen"]{background:var(--accent);color:#fff;font-weight:600}
.legal-main:has(#barrierefreiheit:target,#accessibility:target) .tab-pills a[href="#barrierefreiheit"]{background:var(--accent);color:#fff;font-weight:600}
}

/* Schmale Bildschirme */
@media (max-width:899px){
.site-header{position:sticky;top:0;background:rgba(22,24,29,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.site-header-inner{padding:8px 16px;flex-wrap:nowrap}
.desk-only{display:none !important}
.mobile-tools{display:flex}
}
@media (min-width:900px){.menu-panel{display:none}}
@media (max-width:759px){
.mock-sec{display:none}
.phone-sec{display:flex}
.player-sec{grid-template-columns:minmax(0,1fr);gap:24px}
.playlist{position:static}
.playlist-title{display:block}
.pager{flex-direction:column-reverse}
.pager a{justify-content:center;width:100%}
.pager a.next{margin-left:0}
}
@media (max-width:640px){
.hero{padding:40px 20px 36px}
.actions{width:100%}
.actions .btn{width:100%}
.section,.more-sec{padding:0 20px 56px}
.band-inner{padding:56px 20px}
.band-surface .band-inner{padding:56px 20px}
.flow-sec{padding:56px 20px}
.host-sec{padding:56px 20px}
.tut-head{padding-top:40px}
.tut-hero{padding:40px 20px 28px}
.player-sec{padding:0 16px 56px}
.player-top{top:12px;left:14px}
.player .play{width:56px;height:56px}
.player .play svg{width:24px;height:24px}
.player-title,.bar-row .hint{display:none}
.player-bar{padding:10px 14px 12px}
.site-footer-inner,.legal-footer-inner{padding:24px 20px 32px}
.legal-header-inner{padding:10px 16px}
.legal-host{display:none}
.legal-main{padding:36px 16px 64px}
.wrap{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}
