/* bumely.com, gemeinsame Stile (Rework 04.10.2026). Werte aus dem Studio, siehe Spec 04. */
:root {
  color-scheme: light;
  /* Kanäle */
  --k-tinte: 31, 27, 58;   --k-schatten: 31, 27, 58;
  --k-glut: 106, 85, 216;  --k-papier: 245, 244, 250;
  /* Flächen und Text */
  --papier: #FDFDA2;        /* Runde 2: Zitrone als Grundton (vorher A3 Nebel) */
  --flaeche: #FFFFF6;  --flaeche-leise: #F4F1D8;
  /* Polish: Zitrone über die ganze Seite, nur sanft heller und wieder satter, kein fast weißer Bruch */
  --grund-verlauf: linear-gradient(180deg, #FDFDA2 0%, #FEFEBC 12%, #FDFDAA 27%, #FEFEC2 43%, #FDFDAB 59%, #FEFEBF 75%, #FDFDAD 90%, #FDFDA2 100%);
  --marker-grund: #C5B9F5;
  --linie: #E2DDC4;    --linie-2: #CFC8E8;   --feldrand: #7F77A8;
  --haarlinie: rgba(31,27,58,.10);
  --tinte: #1F1B3A;    --tinte-2: #55506E;
  --glut: #B6A8F2;     --glut-hell: #C5B9F5;  --glut-tief: #6A55D8;
  --glut-hauch: #E4DDFB; --glut-text: #5A48B5;
  --zitrone: #FDFDA2;  --auf-zitrone: #1F1B3A;
  --marke: #1F1B3A;    /* Farbe der Wortmarke */
  --himmel: #9CCBF5;
  --gut: #1E7A4C;      --gut-hauch: #E7F3EC;
  --gefahr-text: #A3261D;
  --auf-glut: #1F1B3A; --auf-tinte: #FFFFFF;
  --schleier: rgba(31,27,58,.38);
  /* Glas (echtes backdrop-filter, nur Bedienebene) */
  --glas: rgba(255,255,236,.58);
  --glas-dicht: rgba(255,255,240,.88);
  --glas-dock: rgba(255,255,236,.88);
  --glas-rand: rgba(255,255,255,.75);
  --glas-glanz: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(255,255,255,.3);
  --glas-schatten: 0 10px 30px rgba(var(--k-schatten),.16), 0 1px 3px rgba(var(--k-schatten),.08);
  --glas-foto: rgba(20,18,31,.62);   /* .62 statt .55 der App: 5,2:1 statt 4,1:1 über Weiß */
  /* Scheibe (Inhalt, ohne backdrop-filter) */
  --scheibe: rgba(255,255,244,.62);
  --scheibe-rand: rgba(31,27,58,.09);
  --scheibe-glanz: inset 0 1px 0 rgba(255,255,255,.9);
  --scheibe-schatten: 0 1px 2px rgba(31,27,58,.06), 0 12px 32px -12px rgba(31,27,58,.14);
  /* Einlage (Füllung in Glas oder Scheibe) */
  --einlage: rgba(31,27,58,.06);
  --einlage-glanz: inset 0 1px 0 rgba(255,255,255,.5);
  /* Lichtfeld hinter Glas */
  /* Polish: auf Zitrone wirkt Lavendel-Licht grau, deshalb helles Licht und nur ein Hauch Lavendel */
  --licht-1: rgba(255,255,236,.8); --licht-2: rgba(182,168,242,.24); --licht-3: rgba(255,255,255,.6);
  /* Look-Kachel (immer dunkel, aus der App) */
  --look-kachel: radial-gradient(120% 80% at 50% 0%, rgba(182,168,242,.28), transparent 70%), linear-gradient(165deg, #2C2752, #18152E);
  --look-kachel-rand: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.12);
  /* Radien */
  --r-klein: 10px; --r-feld: 14px; --r-video: 16px; --r-inhalt: 20px;
  --r-glas: 28px;  --r-blatt: 32px; --r-blatt-handy: 34px; --r-telefon: 44px; --r-rund: 999px;
  /* Maße */
  --dock-h: 56px;
  --dock-oben: calc(10px + env(safe-area-inset-top));
  --rand: clamp(16px, 4vw, 40px);
  --spalt: clamp(16px, 2vw, 24px);
  --abschnitt: clamp(72px, 9vw, 128px);
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;
  /* Schrift */
  --ui: -apple-system, BlinkMacSystemFont, 'Instrument Sans', system-ui, sans-serif;
  --titel: 'Instrument Sans', -apple-system, system-ui, sans-serif;
  --display: 'Cherry Bomb One', 'Instrument Sans', -apple-system, sans-serif;
  --mono: ui-monospace, 'SF Mono', Menlo, monospace;
  /* Bewegung (aus der App) */
  --feder: cubic-bezier(.32, .72, 0, 1);
  --feder-klein: cubic-bezier(.34, 1.3, .64, 1);
  --weich: cubic-bezier(.25, .1, .25, 1);
  --kurve: cubic-bezier(.2, .7, .3, 1);
}
/* Dunkel: beide Blöcke gleich halten */
@media (prefers-color-scheme: dark) { :root {
  color-scheme: dark;
  --grund-verlauf: none; --marker-grund: #FDFDA2;
  --k-tinte: 245, 243, 255; --k-schatten: 0, 0, 0; --k-glut: 160, 143, 245; --k-papier: 20, 18, 31;
  --papier: #14121F; --flaeche: #1E1B2E; --flaeche-leise: #282440;
  --linie: #353050; --linie-2: #463F66; --feldrand: #8F87BD;
  --haarlinie: rgba(255,255,255,.08);
  --tinte: #F5F3FF; --tinte-2: #B9B3D6;
  --glut-tief: #A08FF5; --glut-hauch: #2D2752; --glut-text: #C9BEFF;
  --marke: #FDFDA2;
  --gut: #5BD39A; --gut-hauch: #143323; --gefahr-text: #FF9A90;
  --auf-tinte: #1F1B3A;
  --schleier: rgba(0,0,0,.55);
  --glas: rgba(44,40,70,.55); --glas-dicht: rgba(32,29,50,.88); --glas-dock: rgba(32,29,50,.86);
  --glas-rand: rgba(255,255,255,.14);
  --glas-glanz: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(255,255,255,.04);
  --glas-schatten: 0 10px 30px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.3);
  --scheibe: rgba(255,255,255,.05); --scheibe-rand: rgba(255,255,255,.08);
  --scheibe-glanz: inset 0 1px 0 rgba(255,255,255,.06);
  --scheibe-schatten: 0 1px 2px rgba(0,0,0,.3), 0 16px 40px -16px rgba(0,0,0,.6);
  --einlage: rgba(245,243,255,.07); --einlage-glanz: inset 0 1px 0 rgba(255,255,255,.05);
  --licht-1: rgba(182,168,242,.28); --licht-2: rgba(106,85,216,.35); --licht-3: rgba(253,253,162,.08);
  --look-kachel: radial-gradient(120% 80% at 50% 0%, rgba(182,168,242,.18), transparent 70%), linear-gradient(165deg, #2A2645, #121024);
  --look-kachel-rand: inset 0 0 0 1px rgba(255,255,255,.1), inset 0 1px 0 rgba(255,255,255,.14);
} }
.immer-dunkel {
  color-scheme: dark;
  --grund-verlauf: none; --marker-grund: #FDFDA2;
  --k-tinte: 245, 243, 255; --k-schatten: 0, 0, 0; --k-glut: 160, 143, 245; --k-papier: 20, 18, 31;
  --papier: #14121F; --flaeche: #1E1B2E; --flaeche-leise: #282440;
  --linie: #353050; --linie-2: #463F66; --feldrand: #8F87BD;
  --haarlinie: rgba(255,255,255,.08);
  --tinte: #F5F3FF; --tinte-2: #B9B3D6;
  --glut-tief: #A08FF5; --glut-hauch: #2D2752; --glut-text: #C9BEFF;
  --marke: #FDFDA2;
  --gut: #5BD39A; --gut-hauch: #143323; --gefahr-text: #FF9A90;
  --auf-tinte: #1F1B3A;
  --schleier: rgba(0,0,0,.55);
  --glas: rgba(44,40,70,.55); --glas-dicht: rgba(32,29,50,.88); --glas-dock: rgba(32,29,50,.86);
  --glas-rand: rgba(255,255,255,.14);
  --glas-glanz: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(255,255,255,.04);
  --glas-schatten: 0 10px 30px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.3);
  --scheibe: rgba(255,255,255,.05); --scheibe-rand: rgba(255,255,255,.08);
  --scheibe-glanz: inset 0 1px 0 rgba(255,255,255,.06);
  --scheibe-schatten: 0 1px 2px rgba(0,0,0,.3), 0 16px 40px -16px rgba(0,0,0,.6);
  --einlage: rgba(245,243,255,.07); --einlage-glanz: inset 0 1px 0 rgba(255,255,255,.05);
  --licht-1: rgba(182,168,242,.28); --licht-2: rgba(106,85,216,.35); --licht-3: rgba(253,253,162,.08);
  --look-kachel: radial-gradient(120% 80% at 50% 0%, rgba(182,168,242,.18), transparent 70%), linear-gradient(165deg, #2A2645, #121024);
  --look-kachel-rand: inset 0 0 0 1px rgba(255,255,255,.1), inset 0 1px 0 rgba(255,255,255,.14);
}
body { background: var(--papier) var(--grund-verlauf) no-repeat; background-size: 100% 100%; color: var(--tinte); }
.immer-dunkel { background: var(--papier); color: var(--tinte); }
/* Ruhendes Licht hinter der ganzen Seite, damit Scheiben und Dock überall Glas zeigen */
body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .7;
  background: radial-gradient(50% 35% at 8% 30%, var(--licht-1), transparent), radial-gradient(45% 35% at 95% 75%, var(--licht-2), transparent); }

/* ---------- Schrift ---------- */
@font-face { font-family: 'Instrument Sans'; src: url('/fonts/InstrumentSans-Variable.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Cherry Bomb One'; src: url('/fonts/CherryBombOne-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Archivo Black'; src: url('/fonts/ArchivoBlack-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Syne'; src: url('/fonts/Syne-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }

/* ---------- Grund ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--dock-h) + var(--dock-oben) + 24px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; font: 400 17px/1.55 var(--ui); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--glut-tief); outline-offset: 2px; }
main:focus, .abschnitt:focus, [data-dock]:focus { outline: none; }
.nur-vorlesen { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sym { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Typografie ---------- */
h1, h2, h3, .display { hyphens: manual; overflow-wrap: break-word; }
.display-xl { font: 400 clamp(44px, 6.4vw, 88px)/1.04 var(--display); isolation: isolate; letter-spacing: -.02em; text-wrap: balance; }
.display-l, .display { font: 400 clamp(40px, 5vw, 64px)/1.04 var(--display); letter-spacing: -.02em; text-wrap: balance; }
.h2 { font: 700 clamp(32px, 4vw, 52px)/1.05 var(--titel); letter-spacing: -.03em; text-wrap: balance; max-width: 18ch; }
.h3, h3 { font: 650 22px/1.2 var(--titel); letter-spacing: -.015em; }
.vorspann { font: 400 19px/1.5 var(--ui); color: var(--tinte-2); max-width: 60ch; text-wrap: pretty; }
.text { max-width: 68ch; }
.text p + p { margin-top: 1em; }
.klein { font-size: 15px; line-height: 1.45; }
.fein { font-size: 13px; line-height: 1.4; color: var(--tinte-2); }
.kennung { font: 500 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--tinte-2); }
.zahl { font: 600 clamp(28px, 3vw, 40px)/1 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.tab { font-variant-numeric: tabular-nums; }
.einheit { font-family: var(--ui); margin-left: .12em; letter-spacing: 0; }
@media (max-width: 760px) {
  .h3, h3 { font-size: 20px; }
  .vorspann { font-size: 17px; }
}
.marker { --m-h: 1.1em; --m-top: .3em; --m-rand: transparent; --m-voll: var(--marker-grund);
  position: relative; z-index: -1; color: var(--auf-zitrone); padding: 0 .2em; margin-inline: -.04em;
  /* Runde Kapsel nur über den Glyphen (Cherry Bomb hat 1,45em Inhaltshöhe, Band 0,3em bis 1,4em), sonst deckt sie die Zeile darüber ab.
     Drei Ebenen je Zeile: Mitte als Band, links und rechts ein Halbkreis; clone gibt jeder Zeile eigene runde Enden. */
  background:
    linear-gradient(var(--m-rand) 0 1px, var(--m-voll) 1px calc(100% - 1px), var(--m-rand) calc(100% - 1px)) calc(var(--m-h) / 2) var(--m-top) / calc(100% - var(--m-h)) var(--m-h) no-repeat,
    radial-gradient(closest-side, var(--m-voll) calc(100% - 1.5px), var(--m-rand) calc(100% - 1px), var(--m-rand) 99%, transparent 100%) 0 var(--m-top) / var(--m-h) var(--m-h) no-repeat,
    radial-gradient(closest-side, var(--m-voll) calc(100% - 1.5px), var(--m-rand) calc(100% - 1px), var(--m-rand) 99%, transparent 100%) 100% var(--m-top) / var(--m-h) var(--m-h) no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media not (prefers-color-scheme: dark) { .marker { --m-rand: rgba(31,27,58,.16); } }
.textlink { color: var(--glut-text); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; font-weight: 600; }
@media (hover: hover) { .textlink:hover { text-decoration-thickness: 2px; } }
.links-reihe { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; margin-top: 32px; }

/* ---------- Raster und Abschnitte ---------- */
.innen { width: min(1180px, 100% - 2 * var(--rand)); margin-inline: auto; }
.raster { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalt); row-gap: var(--spalt); }
.abschnitt { padding-block: var(--abschnitt); position: relative; }
.abschnitt + .abschnitt:not(.immer-dunkel) { padding-top: 0; }
.immer-dunkel + .abschnitt:not(.immer-dunkel) { padding-top: var(--abschnitt); }
@media (prefers-color-scheme: dark) {
  .abschnitt + .abschnitt.immer-dunkel, .immer-dunkel + .abschnitt:not(.immer-dunkel) { padding-top: 0; }
}
.kennzeile { display: flex; align-items: baseline; gap: 14px; border-top: 1px solid var(--haarlinie); padding-top: 16px; margin-bottom: 40px;
  font: 500 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--tinte-2); }
.kennzeile b { color: var(--glut-text); font-weight: 600; }
.kopf-block { display: grid; gap: 20px; margin-bottom: 48px; grid-template-columns: minmax(0, 1fr); }
.zwei { display: grid; gap: 40px var(--spalt); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
  .zwei { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .zwei > :first-child { grid-column: 1 / 6; }
  .zwei > :last-child { grid-column: 6 / 13; }
  .zwei.gleich > :first-child { grid-column: 1 / 7; }
  .zwei.gleich > :last-child { grid-column: 7 / 13; }
  .zwei.mitte { align-items: center; }
}

/* ---------- Materialien ---------- */
.glas, .blatt-innen, .sprach-pop { border: 1px solid var(--glas-rand); background: var(--glas-dicht);
  -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  box-shadow: var(--glas-glanz), var(--glas-schatten); }
.dock { border: 1px solid var(--glas-rand); background-color: var(--glas-dock);
  -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
  box-shadow: var(--glas-glanz), var(--glas-schatten); }
.dock, .blatt-innen { background-image: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%); }
@media (prefers-color-scheme: dark) { .dock, .blatt-innen { background-image: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 40%); } }
.glas-leicht { border: 1px solid var(--glas-rand); background-color: var(--glas);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  box-shadow: var(--glas-glanz), 0 2px 10px rgba(var(--k-schatten), .1); }
.glas-foto { background: var(--glas-foto); border: 1px solid rgba(255,255,255,.35); color: #fff;
  -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px rgba(0,0,0,.2); }
.scheibe { background: var(--scheibe); border: 1px solid var(--scheibe-rand); border-radius: var(--r-inhalt);
  box-shadow: var(--scheibe-glanz), var(--scheibe-schatten); }
.einlage { background: var(--einlage); box-shadow: var(--einlage-glanz); }

/* ---------- Lichtfeld ---------- */
.lichtfeld { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1;
  -webkit-mask-image: linear-gradient(transparent, #000 12%, #000 70%, transparent); mask-image: linear-gradient(transparent, #000 12%, #000 70%, transparent); }
.hero > .lichtfeld, .seitenkopf > .lichtfeld { -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.lichtfeld i { position: absolute; border-radius: 50%; }
.lichtfeld i:nth-child(1) { width: 640px; height: 640px; left: -120px; top: -160px; background: radial-gradient(closest-side, var(--licht-1), transparent); }
.lichtfeld i:nth-child(2) { width: 520px; height: 520px; right: -140px; top: 120px; background: radial-gradient(closest-side, var(--licht-2), transparent); }
.lichtfeld i:nth-child(3) { width: 420px; height: 420px; left: 38%; bottom: -180px; background: radial-gradient(closest-side, var(--licht-3), transparent); }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .lichtfeld.laeuft i:nth-child(1) { animation: schweben-1 18s ease-in-out infinite alternate; }
  .lichtfeld.laeuft i:nth-child(2) { animation: schweben-2 22s ease-in-out infinite alternate; }
  .lichtfeld.laeuft i:nth-child(3) { animation: schweben-3 15s ease-in-out infinite alternate; }
}
@keyframes schweben-1 { to { transform: translate(60px, 40px) scale(1.15); } }
@keyframes schweben-2 { to { transform: translate(-50px, 30px) scale(1.1); } }
@keyframes schweben-3 { to { transform: translate(40px, -30px) scale(1.12); } }
.mit-licht { position: relative; isolation: isolate; }

/* ---------- Dock ---------- */
/* Zum Inhalt: nur bei Tastaturfokus sichtbar, sonst auch beim Überscrollen am Handy nicht */
.springen { position: fixed; z-index: 40; left: 12px; top: calc(12px + env(safe-area-inset-top)); opacity: 0; pointer-events: none; transform: translateY(calc(-100% - 40px)); }
.springen:focus-visible { opacity: 1; pointer-events: auto; transform: none; }
.dock-halter { position: fixed; z-index: 30; top: var(--dock-oben); left: 50%; transform: translateX(-50%); width: min(1180px, calc(100% - 24px)); }
.dock-halter::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: var(--r-glas);
  box-shadow: 0 14px 40px rgba(var(--k-schatten), .22); opacity: 0; transition: opacity .2s var(--weich); }
.dock-halter.gescrollt::before { opacity: 1; }
.dock { height: var(--dock-h); padding: 6px; border-radius: var(--r-glas); display: flex; align-items: center; gap: 4px; overflow: hidden; position: relative; }
.marke { flex: none; width: 84px; height: 24px; margin-inline: 10px 6px; background: var(--marke);
  -webkit-mask: url(/assets/bumely-logo.svg) center/contain no-repeat; mask: url(/assets/bumely-logo.svg) center/contain no-repeat; }
.dock-tabs { display: flex; align-items: center; gap: 2px; margin-inline: auto; min-width: 0; overflow: hidden; }
.dock-tab { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 22px; font: 600 15px/1 var(--ui);
  color: var(--tinte-2); text-decoration: none; position: relative; white-space: nowrap; flex: none; isolation: isolate; }
.dock-tab::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--einlage);
  opacity: 0; transform: scale(.92); transition: opacity .2s var(--weich), transform .2s var(--weich); }
@media (hover: hover) { .dock-tab:hover { color: var(--tinte); } .dock-tab:hover::before { opacity: 1; transform: none; } }
.dock-tab[aria-current] { color: var(--glut-text); }
.dock-tab[aria-current]::before { opacity: 1; transform: none; background: rgba(var(--k-tinte), .08); }
.dock :focus-visible { outline-offset: -3px; }
.dock .knopf:focus-visible { outline-color: var(--auf-glut); }
.dock-rechts { display: flex; align-items: center; gap: 4px; margin-left: auto; flex: none; }
.rund-dock { width: 44px; height: 44px; flex: none; display: inline-grid; place-items: center; border: 0; border-radius: 50%; padding: 0;
  background: transparent; color: var(--tinte); cursor: pointer; text-decoration: none; position: relative; }
.rund-dock .sym { stroke-width: 1.7; width: 22px; height: 22px; }
@media (hover: hover) { .rund-dock:hover { background: var(--einlage); } }
.dock-anmelden { padding: 0 12px; min-height: 44px; display: inline-flex; align-items: center; font: 600 15px/1 var(--ui); color: var(--tinte-2); text-decoration: none; white-space: nowrap; border-radius: 22px; }
@media (hover: hover) { .dock-anmelden:hover { color: var(--tinte); } }
.dock .knopf.klein { margin-left: 4px; }
.knopf .kurz { display: none; }
.dock-menue { display: none; }
@media (max-width: 1179px) {
  .dock-tabs, .dock-anmelden, .dock-welt { display: none; }
  .dock-menue { display: inline-grid; }
  .dock-halter { width: calc(100% - 24px); }
}
@media (max-width: 760px) { .marke { width: 74px; height: 22px; } }
@media (max-width: 379px) { .knopf.klein .lang { display: none; } .knopf.klein .kurz { display: inline; } }
@media (max-width: 419px) { html[lang="fr"] .knopf.klein .lang { display: none; } html[lang="fr"] .knopf.klein .kurz { display: inline; } }
@supports not selector(:popover-open) { .dock-welt { display: none; } }

/* ---------- Knöpfe ---------- */
.knopf { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 26px;
  border: 1px solid rgba(var(--k-tinte), .2); border-radius: var(--r-rund); background-color: var(--glut); color: var(--auf-glut);
  background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 4px 14px rgba(var(--k-glut), .28);
  font: 600 17px/1 var(--ui); text-decoration: none; white-space: nowrap; cursor: pointer; }
.knopf.gross { height: 56px; padding: 0 30px; font-size: 18px; }
.knopf.klein { height: 44px; padding: 0 18px; font-size: 15px; }
@media (hover: hover) { .knopf:hover { background-color: var(--glut-hell); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 6px 18px rgba(var(--k-glut), .34); } }
.knopf .sym { width: 18px; height: 18px; stroke-width: 2; transition: translate .2s var(--kurve); }
@media (hover: hover) { .knopf:hover .weiter { translate: 3px 0; } }
.knopf.glas-knopf { color: var(--tinte); background-image: none; background-color: var(--glas); border-color: var(--glas-rand); box-shadow: var(--glas-glanz), 0 2px 10px rgba(var(--k-schatten), .1);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); }
@media (hover: hover) { .knopf.glas-knopf:hover { background-color: var(--glas-dicht); box-shadow: var(--glas-glanz), 0 6px 18px rgba(var(--k-schatten), .14); } }
.knopf.leise { height: 48px; font-size: 16px; color: var(--tinte); border-color: transparent; background-color: var(--einlage); background-image: none; box-shadow: var(--einlage-glanz); }
@media (hover: hover) { .knopf.leise:hover { background-color: rgba(var(--k-tinte), .12); box-shadow: var(--einlage-glanz); } }
.knopf.breit { width: 100%; }
.knopf-reihe { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
@media (max-width: 760px) {
  .hero .knopf-reihe, .schluss .knopf-reihe { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .hero .knopf-reihe .knopf, .schluss .knopf-reihe .knopf { width: 100%; }
}
.rund-knopf { width: 48px; height: 48px; flex: none; display: inline-grid; place-items: center; padding: 0; border-radius: 50%; border: 0; color: var(--tinte); cursor: pointer; }
.rund-knopf .sym { width: 20px; height: 20px; }
@media (hover: hover) { .rund-knopf.einlage:hover { background: rgba(var(--k-tinte), .12); } }
.pille { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--r-rund); font: 600 15px/1 var(--ui); text-decoration: none; color: var(--tinte); white-space: nowrap; }
@media (hover: hover) { a.pille:hover { background: rgba(var(--k-tinte), .12); } }
.chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: var(--r-rund); font: 600 14px/1 var(--ui); white-space: nowrap; }
.chip.mono { font: 600 13px/1 var(--mono); letter-spacing: .08em; }
a, button, summary, .knopf, .pille, .look-wahl { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.knopf, .pille, .rund-knopf, .rund-dock, .dock-tab, .look-wahl, .schritt-knopf, .dock-anmelden, summary { -webkit-user-select: none; user-select: none; }
:is(.knopf, .rund-knopf, .rund-dock, .dock-tab, .pille, .look-wahl, .schritt-knopf) {
  transition: scale .35s var(--feder-klein), translate .22s var(--kurve), background-color .18s var(--weich), color .18s var(--weich), box-shadow .18s var(--weich); }
:is(.knopf, .rund-knopf, .pille, .schritt-knopf):active:not([disabled]) { scale: .97; transition-duration: .1s; }
:is(.dock-tab, .rund-dock):active { scale: .92; transition-duration: .1s; }
.look-wahl:active { scale: .96; transition-duration: .1s; }

/* ---------- Zeiger-Licht ---------- */
/* Licht liegt zwischen Fläche und Text (isolation + z-index -1), sonst wäscht es die Schrift aus */
[data-licht] { position: relative; overflow: hidden; isolation: isolate; }
[data-licht]::after { content: ''; position: absolute; z-index: -1; left: 0; top: 0; width: 160px; height: 160px; margin: -80px 0 0 -80px;
  border-radius: 50%; pointer-events: none; opacity: 0;
  background: radial-gradient(closest-side, rgba(255,255,255,.5), rgba(255,255,255,0));
  transform: translate(var(--lx, -200px), var(--ly, -200px));
  transition: opacity .2s var(--weich); }
[data-licht].licht-an::after { opacity: 1; }
.immer-dunkel [data-licht]::after, .immer-dunkel[data-licht]::after { background: radial-gradient(closest-side, rgba(255,255,255,.16), rgba(255,255,255,0)); }
@media (prefers-color-scheme: dark) { [data-licht]::after { background: radial-gradient(closest-side, rgba(255,255,255,.16), rgba(255,255,255,0)); } }

/* ---------- Segment ---------- */
.segment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; border-radius: 14px; padding: 4px; gap: 2px; }
.segment button { min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--tinte-2); padding: 0 10px;
  font: 600 15px/1 var(--ui); position: relative; z-index: 1; cursor: pointer; transition: color .2s var(--weich), scale .35s var(--feder-klein); }
.segment button[aria-pressed="true"] { color: var(--tinte); }
@supports selector(:has(*)) {
  .segment::before { content: ''; position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc((100% - 12px) / 3);
    border-radius: 10px; background: var(--flaeche); box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 1px rgba(0,0,0,.04);
    transition: transform .35s var(--feder-klein); }
  .segment:has(> [aria-pressed="true"]:nth-child(2))::before { transform: translateX(calc(100% + 2px)); }
  .segment:has(> [aria-pressed="true"]:nth-child(3))::before { transform: translateX(calc(200% + 4px)); }
}
@supports not selector(:has(*)) { .segment button[aria-pressed="true"] { background: var(--flaeche); box-shadow: 0 1px 3px rgba(0,0,0,.12); } }

/* ---------- Blatt (Unterfenster) ---------- */
dialog.blatt { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none;
  margin: 0; padding: 24px; border: 0; background: transparent; display: none; color: var(--tinte); overflow: hidden; overflow: clip; overscroll-behavior: contain; }
dialog.blatt[open] { display: flex; align-items: center; justify-content: center; }
dialog.blatt::backdrop { background: var(--schleier); }
.blatt-innen { width: min(640px, 100%); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; gap: 24px; padding: 32px; border-radius: var(--r-blatt);
  box-shadow: var(--glas-glanz), 0 20px 60px rgba(0,0,0,.22); outline: none; }
.blatt.schmal .blatt-innen { width: min(420px, 100%); }
.blatt-kopf { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.blatt-titel { font: 700 28px/1.15 var(--titel); letter-spacing: -.02em; padding-top: 8px; }
.blatt-griff { display: none; }
html.blatt-offen { overflow: hidden; }
@media (max-width: 760px) {
  dialog.blatt[open] { align-items: flex-end; padding: max(12px, env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom)); }
  .blatt-innen, .blatt.schmal .blatt-innen { width: 100%; border-radius: var(--r-blatt-handy); padding: 0 20px 20px; box-shadow: var(--glas-glanz), 0 -2px 30px rgba(0,0,0,.14); }
  .blatt-griff { display: flex; justify-content: center; align-items: center; position: sticky; top: 0; z-index: 2;
    flex: 0 0 28px; margin: 0 -20px -12px; touch-action: none; cursor: grab; }
  .blatt-griff::before { content: ''; width: 36px; height: 5px; border-radius: 3px; background: rgba(var(--k-tinte), .25); }
  .blatt-titel { font-size: 24px; }
}
@media (prefers-reduced-motion: no-preference) {
  dialog.blatt[open]::backdrop { animation: schleier-ein .38s var(--weich); }
  dialog.blatt[open] .blatt-innen { animation: blatt-auf .38s var(--feder); }
  dialog.blatt.geht::backdrop { animation: schleier-aus .26s var(--weich) both; }
  dialog.blatt.geht .blatt-innen { animation: blatt-zu .26s var(--feder) both; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  dialog.blatt[open] .blatt-innen { animation-name: blatt-hoch; }
  dialog.blatt.geht .blatt-innen { animation-name: blatt-runter; }
}
@keyframes blatt-auf { from { transform: translateY(24px) scale(.97); opacity: 0; } }
@keyframes blatt-zu { to { transform: translateY(16px) scale(.98); opacity: 0; } }
@keyframes blatt-hoch { from { transform: translateY(100%); } }
@keyframes blatt-runter { to { transform: translateY(100%); } }
@keyframes schleier-ein { from { opacity: 0; } }
@keyframes schleier-aus { to { opacity: 0; } }
.blatt video { max-height: 70dvh; width: auto; margin-inline: auto; border-radius: var(--r-video); background: #0E0C17; aspect-ratio: 9 / 16; }

/* iOS-Liste */
.liste { border-radius: 14px; overflow: hidden; background: var(--einlage); box-shadow: var(--einlage-glanz); }
.scheibe > .liste { background: none; box-shadow: none; }
.liste li + li > *, .liste li + li.zeile { background-image: linear-gradient(var(--haarlinie), var(--haarlinie)); background-size: calc(100% - 16px) 1px; background-position: right top; background-repeat: no-repeat; }
.liste .zeile, .liste a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 16px; font-size: 16px; line-height: 1.3; color: var(--tinte); text-decoration: none; }
.liste a .sym { width: 22px; height: 22px; color: var(--glut-text); }
.liste a::after { content: ''; width: 8px; height: 8px; margin-left: auto; flex: none; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); opacity: .3; }
.liste a[aria-current] { color: var(--glut-text); }
@media (hover: hover) { .liste a:hover { background-color: var(--glut-hauch); } }
.liste a:active { background-color: var(--glut-hauch); }
.liste .haken::before { content: ''; flex: none; width: 20px; height: 20px; background: var(--gut);
  -webkit-mask: var(--haken-maske) center/contain no-repeat; mask: var(--haken-maske) center/contain no-repeat; }
:root { --haken-maske: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.gruppe-titel { margin: 0 0 8px 16px; }
.menue-inhalt { display: grid; gap: 20px; }
.menue-knoepfe { display: grid; gap: 10px; }
.fein-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; color: var(--tinte-2); }
.fein-links a { color: var(--tinte-2); text-decoration: none; padding: 6px 2px; }
@media (hover: hover) { .fein-links a:hover { color: var(--tinte); text-decoration: underline; } }

/* Sprachen (Popover, Menü, Chips) */
.sprach-pop { position: fixed; inset: auto; top: calc(var(--dock-oben) + var(--dock-h) + var(--dock-tief) + 8px); right: max(16px, (100vw - 1180px) / 2 + 16px); left: auto;
  margin: 0; width: 220px; padding: 6px; border-radius: 18px; color: var(--tinte); }
.sprach-pop .kennung { padding: 8px 10px 6px; }
.sprach-link { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border-radius: 8px; font: 600 16px/1 var(--ui); color: var(--tinte); text-decoration: none; }
@media (hover: hover) { .sprach-link:hover { background: var(--einlage); } }
.sprach-link[aria-current]::after { content: ''; margin-left: auto; width: 18px; height: 18px; background: var(--glut-text);
  -webkit-mask: var(--haken-maske) center/contain no-repeat; mask: var(--haken-maske) center/contain no-repeat; }
.sprach-pop nav { display: grid; }
@media (prefers-reduced-motion: no-preference) {
  .sprach-pop { transition: opacity .22s var(--feder), transform .22s var(--feder), overlay .22s allow-discrete, display .22s allow-discrete; }
  @starting-style { .sprach-pop:popover-open { opacity: 0; transform: translateY(-6px); } }
}
/* Menü am Handy: eine Zeile mit Globus öffnet das Sprach-Blatt (Runde 4) */
.liste-wert { margin-left: auto; color: var(--tinte-2); font-size: 15px; }
.menue-sprache::after { margin-left: 0; }
.sprach-liste { display: grid; }
.sprach-liste a + a { background-image: linear-gradient(var(--haarlinie), var(--haarlinie)); background-size: calc(100% - 16px) 1px; background-position: right top; background-repeat: no-repeat; }
.sprach-liste a::after { content: none; }
.sprach-liste a[aria-current]::after { content: ''; border: 0; transform: none; opacity: 1; margin-left: auto; }
.sprach-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sprach-chips .sprach-link { min-height: 44px; padding: 0 16px; border-radius: var(--r-rund); background: var(--einlage); box-shadow: var(--einlage-glanz); font-size: 15px; }
.sprach-chips .sprach-link[aria-current] { color: var(--glut-text); background: var(--glut-hauch); }
.sprach-chips .sprach-link[aria-current]::after { margin-left: 0; }

/* ---------- Untertitel-Probe ---------- */
.probe { --p-schrift: var(--display); --p-gewicht: 400; --p-text: #fff; --p-kontur: 1.26px #1F1B3A;
  --hl-grund: #FDFDA2; --hl-farbe: #1F1B3A; --p-schatten: none; }
.schriften-an .probe[data-look="kraeftig"] { --p-schrift: 'Archivo Black', var(--titel); }
.schriften-an .probe[data-look="schlicht"] { --p-schrift: 'Syne', var(--titel); }
.probe[data-look="kraeftig"] { --p-gewicht: 400; --p-kontur: 0 transparent;
  --hl-grund: linear-gradient(90deg, #FF1F4B, #FF4FB3); --hl-farbe: #fff; --p-schatten: 1.2px 1.2px 0 rgba(0,0,0,.65); }
.probe[data-look="schlicht"] { --p-gewicht: 700; --p-kontur: 0 transparent;
  --hl-grund: transparent; --hl-farbe: #fff; --p-schatten: 1px 1px 0 rgba(0,0,0,.55); }
html:not(.schriften-an) .probe[data-look="kraeftig"] { --p-gewicht: 700; }
.probe .probe-zeile { display: flex; flex-wrap: wrap; justify-content: center; gap: .08em .22em; min-height: 1.15em;
  font: var(--p-gewicht) var(--probe-gr, 22px)/1.15 var(--p-schrift); color: var(--p-text); text-shadow: var(--p-schatten); }
.wort { padding: 0 .18em; border-radius: .2em; background: transparent; }
.wort:not(.jetzt) { -webkit-text-stroke: var(--p-kontur); paint-order: stroke fill; }
.wort.jetzt { background: var(--hl-grund); color: var(--hl-farbe); text-shadow: none; }
.probe[data-probe] { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 0 7% 24%; overflow: hidden; }
.probe-bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.probe[data-probe] { isolation: isolate; }
.probe-bild + .probe-chip, .probe-chip { position: absolute; top: 14px; left: 14px; padding: 5px 10px; border-radius: var(--r-rund); font: 600 11px/1 var(--ui); letter-spacing: .04em; }
.probe-zeile.zeile-weg { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .js .probe[data-probe] .wort { opacity: 0; transform: translateY(6px) scale(.8); transition: opacity .18s var(--feder-klein), transform .18s var(--feder-klein); }
  .js .probe[data-probe] .wort.da { opacity: 1; transform: none; }
  .probe-zeile { transition: opacity .2s var(--weich); }
  .look-springt { animation: look-springt .35s var(--feder-klein); }
}
@keyframes look-springt { from { transform: scale(.94); } }
.look-kachel { background: var(--look-kachel); box-shadow: var(--look-kachel-rand); border-radius: var(--r-video); }

/* ---------- Telefon ---------- */
.telefon { width: 300px; padding: 10px; border-radius: var(--r-telefon); background: #0E0C17; position: relative;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), inset 0 1px 0 rgba(255,255,255,.14), 0 30px 80px -20px rgba(20,18,31,.6); }
.schirm { aspect-ratio: 9 / 16; border-radius: 34px; overflow: hidden; position: relative; background: var(--look-kachel); container-type: inline-size; isolation: isolate; }
@media (max-width: 760px) { .telefon { width: 232px; padding: 8px; border-radius: 36px; } .schirm { border-radius: 28px; } }
.telefon-halter { position: relative; display: grid; place-items: center; }
.karte-schraeg { position: absolute; width: 84px; height: 150px; border-radius: 16px; top: 50%; left: 50%; margin: -75px 0 0 -42px; }
.karte-schraeg.links { background: #8E9FD6; transform: rotate(-7deg) translate(-150px, 18px); }
.karte-schraeg.rechts { background: #7FAFCB; transform: rotate(7deg) translate(150px, 18px); }
@media (max-width: 760px) {
  .karte-schraeg.links { transform: scale(.8) rotate(-7deg) translate(-150px, 18px); }
  .karte-schraeg.rechts { transform: scale(.8) rotate(7deg) translate(150px, 18px); }
}
.demo { display: grid; justify-items: center; gap: 20px; }
/* Animationen anhalten (WCAG 2.2.2), gilt für alle Demos der Seite */
.anhalten { width: 44px; height: 44px; flex: none; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: 50%; cursor: pointer; }
.anhalten .sym { width: 18px; height: 18px; stroke-width: 2; }
.anhalten .spielen, .anhalten[aria-pressed="true"] .pause { display: none; }
.anhalten[aria-pressed="true"] .spielen { display: block; }
.telefon > .anhalten { position: absolute; top: 16px; right: 16px; z-index: 2; color: #fff; background: var(--glas-foto);
  border: 1px solid rgba(255,255,255,.35); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px rgba(0,0,0,.2); }
html:not(.js) .anhalten { display: none; }
@media (prefers-reduced-motion: reduce) { .anhalten { display: none; } }
.demo .segment { width: min(320px, 100%); }

/* ---------- Hero und Seitenkopf ---------- */
.hero, .seitenkopf { position: relative; isolation: isolate; padding-top: calc(var(--dock-oben) + var(--dock-h) + 48px); }
.hero-raster { min-height: calc(min(880px, 100svh) - var(--dock-oben) - var(--dock-h) - 96px); align-items: center; padding-bottom: 48px; }
.hero-text { grid-column: 1 / 8; display: grid; gap: 24px; justify-items: start; }
.hero .demo { grid-column: 8 / 13; }
.hero .demo .probe { --probe-gr: clamp(18px, 1.8vw, 24px); }
.hero-text .fein { margin-top: -8px; }
@media (max-width: 899px) {
  .hero-raster { min-height: 0; }
  .hero-text, .hero .demo { grid-column: 1 / -1; }
  .hero .demo { margin-top: 32px; }
}
.fakten { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px var(--spalt); border-top: 1px solid var(--haarlinie); padding-block: 24px var(--abschnitt); }
.fakten div { display: grid; gap: 10px; align-content: start; }
.fakten dd { font-size: 15px; line-height: 1.45; color: var(--tinte-2); max-width: 22ch; }
@media (max-width: 1099px) { .fakten { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .fakten { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.seitenkopf { padding-bottom: 8px; }
.seitenkopf .innen { display: grid; gap: 22px; justify-items: start; }
.pfad { display: flex; flex-wrap: wrap; gap: 8px; }
.pfad a { color: var(--tinte-2); text-decoration: none; }
@media (hover: hover) { .pfad a:hover { color: var(--tinte); text-decoration: underline; } }
.pfad [aria-current] { color: var(--glut-text); }
.sprung-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* ---------- Vorher/Nachher ---------- */
.vn { padding: 24px; display: grid; gap: 20px; --p: 0; }
.vn-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.vn-kopf .kennung { flex: 1 1 100%; }
.vn-etikett { display: grid; }
.vn-etikett b { grid-area: 1 / 1; font: 600 12px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; padding: 7px 12px; border-radius: var(--r-rund); }
.vn-etikett .roh { background: var(--einlage); opacity: calc(1 - var(--p)); }
.vn-etikett .fertig { background: var(--zitrone); color: var(--auf-zitrone); opacity: var(--p); }
.vn-dauer { font: 600 clamp(28px, 3vw, 40px)/1 var(--mono); font-variant-numeric: tabular-nums; }
.vn-spur { container-type: inline-size; position: relative; height: 96px; margin-top: 16px; }
.vn-balken { position: absolute; left: 0; top: 50%; width: calc(62cqw / var(--n)); border-radius: 99px; background: var(--tinte);
  transform: translate(calc((var(--x0) + (var(--x1) - var(--x0)) * var(--p)) * 1cqw), -50%); }
.vn-pause { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--w) * 1cqw); border-radius: 6px;
  background: repeating-linear-gradient(135deg, rgba(var(--k-glut), .35) 0 4px, transparent 4px 8px);
  transform-origin: left; transform: translateX(calc(var(--x0) * 1cqw)) scaleX(calc(1 - var(--p))); opacity: calc(1 - var(--p)); }
.vn-marke { position: absolute; left: 0; top: -20px; font: 500 12px/1 var(--mono); color: var(--glut-text); white-space: nowrap; font-variant-numeric: tabular-nums;
  transform: translateX(calc(var(--x0) * 1cqw)); opacity: calc(1 - var(--p) * 2); }
.vn-regler { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.vn input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; margin: 0; background: transparent; cursor: pointer; }
.vn input[type=range]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(var(--glut-tief), var(--glut-tief)) no-repeat, rgba(var(--k-tinte), .16); background-size: calc(var(--p) * 100%) 100%, auto; }
.vn input[type=range]::-moz-range-track { height: 4px; border-radius: 2px; background: rgba(var(--k-tinte), .16); }
.vn input[type=range]::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--glut-tief); }
.vn input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -12px; border-radius: 50%; background: #fff; border: 1px solid transparent;
  box-shadow: 0 0 0 .5px rgba(0,0,0,.06), 0 3px 8px rgba(0,0,0,.18), 0 1px 1px rgba(0,0,0,.16); transition: transform .2s var(--feder-klein), background-color .2s var(--weich); }
.vn input[type=range]::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 1px solid transparent; box-shadow: 0 3px 8px rgba(0,0,0,.18); }
.vn input[type=range]:active::-webkit-slider-thumb { transform: scale(1.2); background: rgba(255,255,255,.6); border-color: rgba(255,255,255,.8); box-shadow: inset 0 1px 0 #fff, 0 3px 10px rgba(0,0,0,.2); }
.vn input[type=range]:active::-moz-range-thumb { transform: scale(1.2); background: rgba(255,255,255,.6); }
.vn input[type=range]:focus-visible { outline-offset: 4px; border-radius: 8px; }
@media (max-width: 760px) { .vn { padding: 18px; } .vn-spur { height: 72px; } }

/* ---------- Hochladen: Vorschaureihe und Wasserkreise ---------- */
.vorschau-reihe { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3cqw; padding: 2cqw 7cqw 5cqw; }
.vorschau-reihe span { aspect-ratio: 9 / 16; border-radius: 4cqw; overflow: hidden; background-color: rgba(245,243,255,.09);
  background-image: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.1) 50%, transparent 80%); background-size: 200% 100%; }
.vorschau-reihe img { width: 100%; height: 100%; object-fit: cover; transition: opacity .3s var(--weich); }
.js .vorschau-reihe img:not(.geladen) { opacity: 0; }
@media (prefers-reduced-motion: no-preference) { .js .vorschau-reihe span:not(.voll) { animation: skelett 1.3s ease-in-out infinite; } }
@keyframes skelett { from { background-position: 150% 0; } to { background-position: -50% 0; } }
.wa-kachel { margin: auto 7cqw 8cqw; padding: 4cqw 4cqw 3cqw; border-radius: 6cqw; background: var(--flaeche); color: var(--tinte); position: relative; display: grid; gap: 1cqw; }
.wa-etappen { position: relative; display: grid; gap: 1.2cqw; }
.wa-schiene { position: absolute; left: 5.4cqw; top: 6cqw; bottom: 6cqw; width: 2.5px; margin-left: -1.25px; border-radius: 2px; background: var(--linie); }
.wa-schiene i { display: block; height: 100%; background: var(--glut-tief); transform-origin: top; transform: scaleY(var(--s, 0)); }
.wa-st { display: grid; grid-template-columns: 10.8cqw minmax(0, 1fr); gap: 3cqw; align-items: center; min-height: 11cqw; position: relative; }
.wa-kreis { width: 10.8cqw; height: 10.8cqw; overflow: visible; transition: transform .45s var(--feder-klein); }
.wa-grund { fill: var(--flaeche); }
.wa-welle path { fill: var(--glut); }
.wa-sym { fill: none; stroke: var(--tinte-2); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.wa-sym.wa-nass { stroke: var(--auf-glut); }
.wa-ring { fill: none; stroke: var(--linie-2); stroke-width: 2.6; }
.wa-st.dran .wa-ring { stroke: var(--glut-tief); }
.wa-st.ok .wa-ring { stroke: var(--tinte); }
.wa-st.ok .wa-kreis { transform: scale(1.08); }
.wa-st.pop .wa-kreis { animation: wa-pop .45s var(--feder-klein); }
.wa-lb { font: 700 4.4cqw/1.15 var(--ui); color: var(--tinte-2); }
.wa-st.dran .wa-lb, .wa-st.ok .wa-lb { color: var(--tinte); }
.wa-pegel, .wa-clip { transition: transform .6s linear; }
@media (prefers-reduced-motion: no-preference) {
  .laeuft .wa-welle { animation: wa-welle 1.1s linear infinite; }
}
@keyframes wa-welle { to { transform: translateX(-16px); } }
@keyframes wa-pop { 0% { transform: scale(.85); } 60% { transform: scale(1.18); } 100% { transform: scale(1.08); } }
.wa-statisch { width: min(100%, 300px); container-type: inline-size; }
.wa-statisch { padding-top: 14px; border-radius: 22px; }
.wa-statisch .wa-kachel { margin: 0 7cqw 7cqw; }
/* Aktionsblatt (Was Bumely kann) */
.aktionsblatt { position: absolute; left: 4cqw; right: 4cqw; bottom: 4cqw; display: grid; gap: 2.5cqw; }
.aktionsblatt > div { border-radius: 7cqw; overflow: hidden; }
.glas-bild { background: var(--glas-dicht); border: 1px solid var(--glas-rand); box-shadow: var(--glas-glanz), 0 8px 24px rgba(0,0,0,.3); }
.aktionsblatt span { display: flex; align-items: center; justify-content: center; min-height: 15cqw; font: 500 5.2cqw/1.2 var(--ui); color: var(--glut-text); padding: 0 4cqw; text-align: center; transition: background-color .15s var(--weich), scale .15s var(--weich); }
.aktionsblatt span + span { border-top: 1px solid var(--linie); }
.aktionsblatt .abbrechen span { font-weight: 700; }
.aktionsblatt span.gedrueckt { background: var(--einlage); scale: .97; }
@keyframes haken-zieht { to { stroke-dashoffset: 0; } }
.aktion-statisch { width: min(100%, 320px); container-type: inline-size; position: relative; aspect-ratio: 4 / 3; }
.aktion-statisch .aktionsblatt { position: static; }

/* ---------- Daten ---------- */
.daten { padding: 8px 24px; }
.daten div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 8px 24px; padding: 18px 0; align-items: baseline; }
.daten div + div { border-top: 1px solid var(--haarlinie); }
.daten dt { font: 500 12px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--tinte-2); }
.daten dd { font-size: 17px; }
@media (max-width: 760px) { .daten { padding: 4px 18px; } .daten div { grid-template-columns: minmax(0, 1fr); } }
.status-pille { display: inline-flex; align-items: center; gap: 10px; min-height: 36px; padding: 0 14px; border-radius: var(--r-rund);
  background: var(--einlage); box-shadow: var(--einlage-glanz); font: 600 14px/1 var(--ui); white-space: nowrap; }
.status-pille .punkt { width: 8px; height: 8px; border-radius: 50%; background: var(--gut); box-shadow: 0 0 0 3px rgba(91,211,154,.18); }
.daten-abschnitt .links-reihe a { color: var(--glut-text); }
.daten-fuss { display: grid; gap: 16px; justify-items: start; margin-top: 32px; }
.daten-fuss .links-reihe { margin-top: 0; }

/* ---------- Klappen ---------- */
.klappen { padding: 0; overflow: hidden; }
.klappe + .klappe { background-image: linear-gradient(var(--haarlinie), var(--haarlinie)); background-size: calc(100% - 16px) 1px; background-position: right top; background-repeat: no-repeat; }
.klappe summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 14px 20px; font: 700 16px/1.3 var(--ui); cursor: pointer; list-style: none; }
.klappe summary::-webkit-details-marker { display: none; }
.klappe summary::after { content: ''; flex: none; width: 9px; height: 9px; margin-right: 4px; border-right: 2px solid var(--tinte-2); border-bottom: 2px solid var(--tinte-2); transform: translateY(-2px) rotate(45deg); transition: transform .25s var(--feder-klein); }
.klappe[open] summary::after { transform: translateY(2px) rotate(-135deg); }
@media (hover: hover) { .klappe summary:hover { background: var(--einlage); } }
.klappe summary:focus-visible { outline-offset: -3px; }
.klappe p { padding: 0 20px 20px; color: var(--tinte-2); max-width: 70ch; }
.fragen-raster { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .fragen-raster { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalt); } .fragen-raster > :first-child { grid-column: 1 / 5; } .fragen-raster > :last-child { grid-column: 5 / 13; } }

/* ---------- Schluss und Fuß ---------- */
.schluss { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(96px, 12vw, 160px); text-align: center; }
.schluss .innen { display: grid; justify-items: center; gap: 24px; }
.schluss .knopf-reihe { justify-content: center; margin-top: 8px; }
.schluss .display-l { max-width: 16ch; }
.fuss { padding-block: 64px 32px; border-top: 1px solid var(--haarlinie); }
.fuss-oben { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); }
.fuss-marke { display: grid; gap: 18px; justify-items: start; align-content: start; }
.fuss-claim { font: 400 clamp(26px, 2.6vw, 34px)/1.1 var(--display); max-width: 14ch; }
.fuss-navi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px var(--spalt); }
.fuss-titel { font: 500 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--tinte-2); margin-bottom: 14px; }
.fuss-navi ul { display: grid; gap: 2px; }
.fuss-navi a { display: inline-flex; align-items: center; min-height: 36px; color: var(--tinte); text-decoration: none; font-size: 15px; }
@media (hover: hover) { .fuss-navi a:hover { color: var(--glut-text); text-decoration: underline; text-underline-offset: 4px; } }
@media (min-width: 900px) { .fuss-oben { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalt); } .fuss-marke { grid-column: 1 / 5; } .fuss-navi { grid-column: 6 / 13; } }
@media (max-width: 600px) { .fuss-navi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fuss-wortmarke { width: 100%; aspect-ratio: 3328 / 968; margin-block: 56px 24px; background: var(--marke); opacity: .07;
  -webkit-mask: url(/assets/bumely-logo.svg) center/contain no-repeat; mask: url(/assets/bumely-logo.svg) center/contain no-repeat; }
.fuss-unten { display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid var(--haarlinie); font-size: 13px; color: var(--tinte-2); }
.fuss-sprachen { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.fuss-sprachen a { color: var(--tinte-2); text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.fuss-sprachen a:hover, .fuss-sprachen a[aria-current] { color: var(--tinte); text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Unterseiten ---------- */
.schrift-liste { columns: 2; column-gap: 24px; font-size: 15px; color: var(--tinte); }
.schrift-liste li { padding: 4px 0; break-inside: avoid; }
.drei { display: grid; gap: var(--spalt); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .drei { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 600px) { .drei.vier { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .drei.vier { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.drei .scheibe { padding: 24px; display: grid; gap: 10px; align-content: start; }
.drei .scheibe .sym { color: var(--glut-text); }
.drei .scheibe p { color: var(--tinte-2); }
.hinweis-scheibe { padding: clamp(24px, 4vw, 40px); display: grid; gap: 14px; }
.bild-spalte { display: grid; justify-items: center; gap: 20px; }
.unterabschnitt { margin-top: 40px; display: grid; gap: 14px; }
.ueber-zeilen { display: grid; gap: 0; }
.ueber-zeilen > section { display: grid; gap: 16px; padding-block: 40px; border-top: 1px solid var(--haarlinie); }
@media (min-width: 900px) { .ueber-zeilen > section { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalt); } .ueber-zeilen h2 { grid-column: 1 / 6; } .ueber-zeilen .text { grid-column: 6 / 13; } }
.ueber-zeilen h2 { font: 700 clamp(24px, 2.4vw, 32px)/1.15 var(--titel); letter-spacing: -.02em; }

.stapel { display: grid; gap: 18px; align-content: start; grid-template-columns: minmax(0, 1fr); }
.text.stapel p + p { margin-top: 0; }
.aktion-statisch { padding: 16px; display: grid; align-content: end; border-radius: 22px; }
.aktion-statisch .aktionsblatt { gap: 10px; }
.aktion-statisch .aktionsblatt > div { border-radius: 20px; }
.aktion-statisch .aktionsblatt span { min-height: 50px; font-size: 16px; }
.ueber-zeilen h2 .kennung { display: block; margin-bottom: 14px; }
.ueber-zeilen h2 .kennung b { color: var(--glut-text); font-weight: 600; }
.fragen-seite .fragen-raster + .fragen-raster { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--haarlinie); }
.fragen-raster .kennung .nr { color: var(--glut-text); font-weight: 600; }
.klein-h2 { font-size: clamp(26px, 2.8vw, 36px); }
.noch-frage { margin-top: 56px; }
.schirm-video { background: #0E0C17; }
.schirm-video video { width: 100%; height: 100%; object-fit: cover; }
.seitenkopf + .abschnitt, .seitenkopf + .fragen-seite { padding-top: clamp(48px, 6vw, 80px); }

/* ---------- Gerät (eigene Zeichnung, kein Herstellerbild) ---------- */
/* Runde 3: Schirm 9:19,5 wie eine iPhone-Bildschirmaufnahme, Insel an der Stelle der echten (Abstand 2,8 %, Höhe 9,4 % der Schirmbreite). */
/* Polish: Rahmen aus Metall (Rand), schwarzes Glas (Innenfläche), Glanzkante und weicher, zweistufiger Schatten */
.geraet { --g-breite: 300px; --g-rand: 11px; --g-metall: 3px; --g-schirm: calc(var(--g-breite) - 2 * var(--g-rand));
  width: var(--g-breite); padding: calc(var(--g-rand) - var(--g-metall)); border: var(--g-metall) solid transparent; border-radius: 54px; position: relative; flex: none;
  background: linear-gradient(#050409, #050409) padding-box,
    linear-gradient(145deg, #77738A 0%, #2E2B3A 16%, #15131D 44%, #2B2837 70%, #6A6680 100%) border-box;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 0 0 .5px rgba(10,8,18,.55), 0 2px 4px rgba(20,18,31,.16),
    0 26px 50px -22px rgba(20,18,31,.5), 0 60px 120px -40px rgba(60,48,140,.42); }
.geraet::before, .geraet::after { content: ''; position: absolute; width: 3px; border-radius: 2px; background: linear-gradient(90deg, #4A4659, #23202D); }
.geraet::before { left: calc(-1 * var(--g-metall) - 2px); top: 24%; height: 12%; }
.geraet::after { right: calc(-1 * var(--g-metall) - 2px); top: 30%; height: 17%; background: linear-gradient(270deg, #4A4659, #23202D); }
.geraet .schirm { aspect-ratio: 9 / 19.5; border-radius: calc(var(--g-schirm) * .15); }
.geraet-insel { position: absolute; z-index: 9; left: 50%; top: calc(var(--g-rand) - var(--g-metall) + var(--g-schirm) * .028); width: calc(var(--g-schirm) * .32); height: calc(var(--g-schirm) * .094);
  margin-left: calc(var(--g-schirm) * -.16); border-radius: 999px; background: #000; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); }
/* Spiegelung auf dem Glas: schräger, sehr leiser Lichtstreif */
.geraet-glanz { position: absolute; z-index: 10; inset: calc(var(--g-rand) - var(--g-metall)); border-radius: calc(var(--g-schirm) * .15); pointer-events: none;
  background: linear-gradient(118deg, rgba(255,255,255,.2) 0%, rgba(255,255,255,.07) 17%, rgba(255,255,255,0) 31%),
    linear-gradient(300deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 14%); }
@media (prefers-color-scheme: dark) {
  .geraet { box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.07), 0 2px 4px rgba(0,0,0,.3), 0 26px 50px -22px rgba(0,0,0,.7), 0 60px 120px -40px rgba(106,85,216,.38); }
}
@media (max-width: 760px) { .geraet { --g-breite: 236px; --g-rand: 9px; --g-metall: 2.5px; border-radius: 44px; } }
.hero-film { justify-items: center; }
/* Hero-Video: volle Breite, unten bündig, Höhe aus dem Seitenverhältnis der Datei.
   Aufnahme 9:19,5 füllt den Schirm (Insel liegt über der Statusleiste), ein 9:16-Video
   lässt oben Platz für die Insel. Tausch nur über poster, data-src, width, height. */
.hero-film .schirm { background: #FCFD97; } /* Grundfarbe der Bildschirmaufnahme */
.hero-film video { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; max-height: 100%; object-fit: cover; }
.film-knopf { position: absolute; right: 22px; bottom: 22px; z-index: 3; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border-radius: 50%; cursor: pointer;
  color: #fff; background: var(--glas-foto); border: 1px solid rgba(255,255,255,.35); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px rgba(0,0,0,.2); }
.film-knopf .sym { width: 18px; height: 18px; stroke-width: 2; }
.film-knopf .spielen, .film-knopf[aria-pressed="true"] .pause { display: none; }
.film-knopf[aria-pressed="true"] .spielen { display: block; fill: currentColor; }
html:not(.js) .film-knopf { display: none; }

/* ---------- Was Bumely kann: drei Bühnen (Runde 3) ---------- */
/* Bewegung wie auf der alten Startseite (5956cea), Farben neu: Scheibe statt Comic-Rand, weiche Schatten. */
.sf-liste { display: grid; }
.sf-schritt { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: center; padding-block: 44px; }
.sf-schritt:first-child { padding-top: 8px; }
.sf-text { min-width: 0; max-width: 34rem; display: grid; gap: 16px; justify-items: start; }
.sf-nr { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: var(--r-rund); background: var(--einlage); box-shadow: var(--einlage-glanz); color: var(--glut-text); font-weight: 600; }
.sf-h3 { font: 650 clamp(28px, 3vw, 40px)/1.08 var(--titel); letter-spacing: -.02em; text-wrap: balance; }
.sf-p { font-size: clamp(16px, 1.35vw, 18px); line-height: 1.6; color: var(--tinte-2); max-width: 31em; text-wrap: pretty; }
.sf-bild { min-width: 0; display: flex; justify-content: center; }
.sf-buehne { --sf-grund: radial-gradient(110% 80% at 12% 0%, rgba(255,255,255,.9), rgba(255,255,255,0) 60%), radial-gradient(80% 70% at 100% 100%, rgba(253,253,162,.7), rgba(253,253,162,0) 70%), linear-gradient(160deg, #ECE6FD, #DDD4FA 58%, #E8E2FC);
  --sf-handy-schatten: 0 24px 40px -18px rgba(31,27,58,.55), 0 4px 10px -4px rgba(31,27,58,.22);
  position: relative; width: 100%; max-width: 540px; aspect-ratio: 1 / 1; border-radius: 28px; overflow: hidden; container-type: inline-size; transform-origin: 50% 70%; isolation: isolate;
  background: var(--sf-grund); border: 1px solid var(--scheibe-rand); box-shadow: var(--scheibe-glanz), var(--scheibe-schatten); }
@media (prefers-color-scheme: dark) {
  .sf-buehne { --sf-grund: radial-gradient(110% 80% at 12% 0%, rgba(182,168,242,.2), rgba(182,168,242,0) 60%), radial-gradient(80% 70% at 100% 100%, rgba(253,253,162,.07), rgba(253,253,162,0) 70%), linear-gradient(160deg, #2A2547, #1B1830);
    --sf-handy-schatten: 0 0 0 1px rgba(255,255,255,.1), 0 24px 40px -18px rgba(0,0,0,.8), 0 4px 10px -4px rgba(0,0,0,.5); }
}
.sf-b2 { max-width: 470px; aspect-ratio: 4 / 5; }
.sf-buehne img { display: block; }
.sf-handy { position: absolute; aspect-ratio: 9 / 16; overflow: hidden; background: #15131F; border: max(2px, .7cqw) solid #15131F; box-shadow: var(--sf-handy-schatten); }
.sf-handy > img { width: 100%; height: 100%; object-fit: cover; }
.sf-etikett { position: absolute; top: 6%; left: 8%; z-index: 3; font: 600 clamp(8px, 1.9cqw, 11px)/1 var(--ui); text-transform: uppercase; letter-spacing: .16em; white-space: nowrap;
  color: #fff; background: rgba(20,18,31,.72); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .5em .55em .45em .75em; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
/* Bühne 1: Schnitt. Die Status-Pille steht frei zwischen Roh-Handy und geparkter Schere, nie unter Schere oder Marke */
.sf-b1-handy { left: 6cqw; top: 6cqw; width: 19cqw; border-radius: 3.4cqw; }
.sf-b1-handy .sf-etikett { font-size: clamp(7px, 1.5cqw, 10px); top: 5%; left: 9%; }
.sf-spur { position: absolute; left: 5cqw; right: 5cqw; top: 47cqw; z-index: 2; padding: 3.6cqw 4cqw 0; border-radius: clamp(14px, 3.6cqw, 22px);
  background: var(--flaeche); border: 1px solid var(--scheibe-rand); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 18px 36px -18px rgba(31,27,58,.4), 0 2px 6px rgba(31,27,58,.06); }
@media (prefers-color-scheme: dark) { .sf-spur { box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 36px -18px rgba(0,0,0,.7); } }
.sf-spur-kopf { position: relative; display: flex; align-items: center; min-height: clamp(22px, 5cqw, 30px); }
.sf-spur-label { font: 600 clamp(9px, 2cqw, 11px)/1.2 var(--ui); text-transform: uppercase; letter-spacing: .16em; color: var(--tinte-2); }
.sf-status { position: absolute; left: 29cqw; top: 33cqw; z-index: 5; height: clamp(22px, 5cqw, 30px); display: flex; align-items: center; }
.sf-status > span { display: none; font: 600 clamp(10px, 2.2cqw, 13px)/1 var(--ui); white-space: nowrap; color: var(--auf-zitrone); background: var(--zitrone);
  border: 1px solid rgba(31,27,58,.18); border-radius: 999px; padding: .45em .85em .4em; transform-origin: 0 50%; box-shadow: 0 4px 10px -4px rgba(31,27,58,.3); }
.sf-status > span.sf-an { display: block; }
.sf-wellen { position: relative; height: 21cqw; margin: 3.4cqw 0 8.6cqw; }
.sf-balken { position: absolute; left: 0; top: 0; background: var(--tinte); border-radius: 99px; }
.sf-stille { position: absolute; left: 0; top: 0; height: 0; border-top: 2px dotted var(--tinte-2); margin-top: -1px; }
.sf-marke { position: absolute; left: 0; top: 0; z-index: 2; background: var(--glut); border: 1px solid rgba(31,27,58,.22); border-radius: 7px; opacity: 0; box-shadow: 0 6px 14px -6px rgba(106,85,216,.7); }
.sf-marke.sf-weg { background: var(--zitrone); }
.sf-marke-s { position: absolute; left: 0; top: 0; z-index: 2; font: 600 clamp(9px, 1.9cqw, 11px)/1 var(--mono); color: var(--tinte); white-space: nowrap; opacity: 0; font-variant-numeric: tabular-nums; }
.sf-strich { position: absolute; left: 0; top: 0; z-index: 3; height: 5px; background: var(--glut-tief); border-radius: 4px; opacity: 0; }
.sf-schere { position: absolute; left: 0; top: 0; z-index: 4; width: 31cqw; height: 31cqw; overflow: visible; }
.sf-sch-t { fill: none; stroke: #2C2752; stroke-width: 11; stroke-linecap: round; }
.sf-sch-l { fill: none; stroke: #B6A8F2; stroke-width: 6.2; stroke-linecap: round; }
.sf-sch-k { fill: #fff; stroke: #2C2752; stroke-width: 3; stroke-linejoin: round; }
.sf-sch-p { fill: #FDFDA2; stroke: #2C2752; stroke-width: 2.4; }
/* Bühne 2: Untertitel */
.sf-b2-handy { left: 19cqw; top: 7.4cqw; width: 62cqw; border-radius: clamp(20px, 6.4cqw, 30px); }
.sf-kipp { transform-origin: 50% 50%; }
.sf-kipp > span + span { display: none; }
.sf-kipp.sf-fertig { background: var(--zitrone); color: var(--auf-zitrone); border-color: rgba(31,27,58,.2); }
.sf-kipp.sf-fertig > span { display: none; }
.sf-kipp.sf-fertig > span + span { display: inline; }
.sf-ut { position: absolute; left: 0; right: 0; top: 78%; height: 0; z-index: 2; font-family: var(--display); font-size: 20px; line-height: 1.15; }
.sf-zeile { position: absolute; left: 50%; top: 0; width: max-content; white-space: nowrap; transform-origin: 50% 50%; }
.sf-wort { display: inline-block; padding: .04em .16em .08em; border-radius: .22em; color: #fff; -webkit-text-stroke: .07em #1F1B3A; paint-order: stroke fill; transform-origin: 50% 100%; opacity: 0; }
.sf-wort.sf-an { background: #FDFDA2; color: #1F1B3A; -webkit-text-stroke: 0; }
/* Bühne 3: Posten */
.sf-kachel { position: absolute; top: 9cqw; width: 20cqw; aspect-ratio: 1 / 1; z-index: 2; }
.sf-kachel:nth-of-type(1) { left: 14cqw; }
.sf-kachel:nth-of-type(2) { left: 40cqw; }
.sf-kachel:nth-of-type(3) { left: 66cqw; }
.sf-kachel-bild { width: 100%; height: 100%; background: #fff; border-radius: 26%; overflow: hidden; box-shadow: 0 0 0 1px rgba(31,27,58,.08), 0 16px 28px -14px rgba(31,27,58,.5); }
.sf-kachel-bild img { width: 100%; height: 100%; object-fit: cover; }
.sf-haken { position: absolute; right: -2.6cqw; top: -2.6cqw; width: 8cqw; height: 8cqw; min-width: 24px; min-height: 24px; display: grid; place-items: center; border-radius: 50%;
  background: var(--zitrone); border: 1px solid rgba(31,27,58,.18); box-shadow: 0 6px 12px -4px rgba(31,27,58,.35); transform: scale(0); }
.sf-haken svg { width: 72%; height: 72%; fill: none; stroke: #1F1B3A; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.sf-b3-handy { left: 39cqw; top: 39cqw; width: 22cqw; border-radius: 3.8cqw; z-index: 1; }
.sf-knopf { position: absolute; left: 0; right: 0; top: 84cqw; z-index: 3; width: max-content; margin-inline: auto; display: flex; align-items: center; min-height: max(34px, 9cqw); padding: 0 1.5em;
  font: 600 clamp(12px, 3cqw, 16px)/1 var(--ui); color: var(--auf-glut); white-space: nowrap; border: 1px solid rgba(31,27,58,.2); border-radius: 999px;
  background-color: var(--glut); background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 4px 14px rgba(106,85,216,.35); }
.sf-kopie { position: absolute; left: 0; top: 0; z-index: 5; width: 11cqw; aspect-ratio: 9 / 16; border-radius: 1.8cqw; overflow: hidden; background: #15131F; opacity: 0;
  box-shadow: 0 0 0 1px rgba(255,255,255,.4), 0 10px 18px -8px rgba(31,27,58,.55); }
.sf-kopie img { width: 100%; height: 100%; object-fit: cover; }
.sf-funke { position: absolute; left: 0; top: 0; z-index: 4; width: 2.4cqw; height: 2.4cqw; min-width: 9px; min-height: 9px; border-radius: 50%; background: var(--zitrone); box-shadow: 0 0 0 1px rgba(31,27,58,.2); opacity: 0; }
.sf-funke.sf-lav { background: var(--glut); }
.sf-zeiger { position: absolute; left: 0; top: 0; z-index: 6; width: max(24px, 6.4cqw); height: auto; overflow: visible; }
.sf-zeiger path { fill: #fff; stroke: #1F1B3A; stroke-width: 2; stroke-linejoin: round; }
@media (min-width: 900px) {
  .sf-schritt { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(48px, 7vw, 112px); min-height: max(560px, 70vh); padding-block: clamp(28px, 5vh, 64px); }
  .sf-schritt:nth-child(even) .sf-bild { order: -1; }
}
@media (max-width: 899px) {
  .sf-schritt { padding-block: 36px 44px; }
  .sf-buehne { max-width: 520px; }
  .sf-b2 { max-width: 440px; }
}

/* ---------- Ablauf-Szene "Easy." (Runde 3, Polish): Scroll steuert die App, vor und zurück ---------- */
/* Zustände setzt bumely.js aus der Scrollhöhe. Kurze Momente (Tipp-Welle, Sprung, Konfetti,
   Haken, Mini-Bewegungen in der Liste) laufen nur vorwärts, nur transform und opacity, und nie
   bei reduzierter Bewegung oder angehaltenen Animationen. */
#so-gehts .display-l { max-width: none; }
#so-gehts, .seite-so-gehts #ablauf { padding-bottom: clamp(40px, 5vw, 64px); }
#so-gehts .kopf-block, .seite-so-gehts #ablauf .kopf-block { margin-bottom: 0; }
#so-gehts .links-reihe { margin-top: 0; }
.kopf-block.mit-knopf { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.ablauf { position: relative; height: 520vh; }
.ablauf-buehne { position: sticky; top: calc(var(--dock-oben) + var(--dock-h) + var(--dock-tief));
  height: calc(100vh - var(--dock-oben) - var(--dock-h) - var(--dock-tief)); height: calc(100svh - var(--dock-oben) - var(--dock-h) - var(--dock-tief)); min-height: 560px;
  width: min(1180px, 100% - 2 * var(--rand)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 440px) auto; justify-content: space-evenly; gap: var(--spalt); align-items: center; }
.app-halter { --g-breite: min(320px, calc((100vh - var(--dock-h) - 90px) * .44)); position: relative; width: var(--g-breite); }
@supports (height: 100svh) { .app-halter { --g-breite: min(320px, calc((100svh - var(--dock-h) - 90px) * .44)); } }
/* Licht hinter dem Handy und Bodenschatten (bleibt stehen, wenn das Handy springt) */
.app-halter::before { content: ''; position: absolute; z-index: -1; inset: -14% -36%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255,255,238,.9), rgba(255,255,230,.35) 55%, rgba(255,255,230,0)); }
.app-halter::after { content: ''; position: absolute; z-index: -1; left: 10%; right: 10%; bottom: -2.5%; height: 5%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(31,27,58,.28), rgba(31,27,58,0)); }
@media (prefers-color-scheme: dark) {
  .app-halter::before { background: radial-gradient(closest-side, rgba(106,85,216,.34), rgba(106,85,216,.1) 55%, rgba(106,85,216,0)); }
  .app-halter::after { background: radial-gradient(closest-side, rgba(0,0,0,.55), rgba(0,0,0,0)); }
}
.app-geraet { --g-breite: inherit; }
.app-sprung { position: relative; transform-origin: 50% 100%; }

/* Schrittliste: Symbol, Fortschrittslinie, aktive Glas-Karte */
.ablauf-liste { position: relative; min-width: 0; }
.ab-segmente { display: none; }
.ablauf-texte { display: grid; gap: 4px; max-width: 440px; align-content: start; }
.ablauf-texte > li { position: relative; }
.ablauf-knopf { position: relative; isolation: isolate; display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; column-gap: 14px; row-gap: 3px;
  width: 100%; padding: 9px 18px 9px 10px; border: 0; border-radius: 22px; background: none; text-align: left; cursor: pointer; color: var(--tinte); }
.ablauf-knopf::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: var(--glas-dicht) linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0) 55%); border: 1px solid var(--glas-rand);
  box-shadow: var(--glas-glanz), 0 1px 2px rgba(var(--k-schatten), .06), 0 22px 44px -22px rgba(var(--k-schatten), .4);
  opacity: 0; transform: scale(.965); transition: opacity .3s var(--weich), transform .45s var(--feder-klein); }
@media (prefers-color-scheme: dark) { .ablauf-knopf::before { background-image: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 55%); } }
.ablauf-knopf[aria-pressed="true"]::before { opacity: 1; transform: none; }
.ab-kopf { grid-column: 2; display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.ab-kopf .kennung { flex: none; color: var(--glut-text); }
.ab-kopf b { font: 650 clamp(19px, 1.7vw, 23px)/1.2 var(--titel); letter-spacing: -.015em; color: var(--tinte-2); }
.ablauf-knopf[aria-pressed="true"] .ab-kopf b { color: var(--tinte); }
.ablauf-sub { grid-column: 2; color: var(--tinte-2); font-size: 16px; line-height: 1.45; text-wrap: pretty; }
@media (min-width: 900px) {
  .ablauf-knopf:not([aria-pressed="true"]) .ablauf-sub { display: none; }
  .ablauf-knopf[aria-pressed="true"] { padding-bottom: 16px; }
  .ablauf-texte > li { transition: transform .5s var(--feder); }
}
/* Linie zwischen den Symbolen, füllt sich mit dem Scroll */
.ab-linie { position: absolute; z-index: 0; left: 30px; top: 51px; bottom: -11px; width: 2px; margin-left: -1px; border-radius: 1px; overflow: hidden; pointer-events: none;
  background: rgba(var(--k-tinte), .13); transition: opacity .3s var(--weich); }
li.an .ab-linie { opacity: 0; }
.ab-linie i { display: block; height: 100%; background: linear-gradient(180deg, var(--glut-tief), var(--glut)); transform-origin: 50% 0; transform: scaleY(0); }
/* Fortschritt des aktiven Schritts: 2 px Balken unten in der Karte (die Linie läge unter dem Glas) */
.ab-fort { position: absolute; left: 64px; right: 20px; bottom: 5px; height: 2px; border-radius: 1px; overflow: hidden; pointer-events: none;
  background: rgba(var(--k-tinte), .1); opacity: 0; transition: opacity .3s var(--weich); }
.ab-fort i { display: block; height: 100%; background: linear-gradient(90deg, var(--glut-tief), var(--glut)); transform-origin: 0 50%; transform: scaleX(0); }
.ablauf-knopf[aria-pressed="true"] .ab-fort { opacity: 1; }
/* Symbol */
.ab-sym { --sym-grund: var(--flaeche); grid-row: 1; grid-column: 1; position: relative; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
  background: var(--sym-grund); color: var(--tinte-2); box-shadow: inset 0 0 0 1.5px var(--linie-2);
  transition: transform .45s var(--feder-klein); }
.ab-sym svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; overflow: hidden; }
.ab-sym::after { content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid rgba(106,85,216,.55); opacity: 0; pointer-events: none; }
li.fertig .ab-sym { --sym-grund: var(--glut-hauch); color: var(--glut-text); box-shadow: inset 0 0 0 1.5px rgba(var(--k-glut), .4); }
li.an .ab-sym { --sym-grund: var(--glut); color: #1F1B3A; transform: scale(1.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 0 0 4px rgba(var(--k-glut), .2), 0 8px 18px -6px rgba(106,85,216,.6); }
.ab-decke { fill: var(--sym-grund); stroke: none; transform-box: fill-box; transform-origin: 100% 50%; transform: scaleX(0); }
.ab-sym-galerie rect, .ab-sym-text :is(.ab-w, .ab-hl) { transform-box: fill-box; transform-origin: 50% 50%; }
.ab-welle { fill: var(--zitrone); stroke: none; }
.ab-sym-text .ab-hl { fill: var(--zitrone); stroke: none; opacity: 0; }
:is(li.an, li.fertig) .ab-sym-text .ab-hl { opacity: 1; }
/* Zitrone nur im aktiven Schritt, fertig wie die anderen Symbole in Lavendel */
li.fertig .ab-sym-laden .ab-welle { fill: rgba(var(--k-glut), .25); }
li.fertig .ab-sym-text .ab-hl { fill: currentColor; opacity: .3; }
.ab-sym-text .ab-w { stroke-width: 2.4; }
.ab-sym-sichern .ab-strich { opacity: 0; }
:is(li.an, li.fertig) .ab-sym-sichern .ab-pfeil { opacity: 0; }
:is(li.an, li.fertig) .ab-sym-sichern .ab-strich { opacity: 1; }
.ab-flieger { transform-box: view-box; transform-origin: 50% 50%; }
@media (prefers-reduced-motion: no-preference) {
  li.an .ab-sym-galerie rect { animation: ab-pop .5s var(--feder-klein) both; }
  li.an .ab-sym-galerie rect:nth-child(2) { animation-delay: .08s; }
  li.an .ab-sym-galerie rect:nth-child(3) { animation-delay: .16s; }
  li.an .ab-sym-galerie rect:nth-child(4) { animation-delay: .24s; }
  li.an .ab-sym-plus::after { animation: ab-ring 1.1s var(--weich) .15s 2 both; }
  li.an .ab-sym-plus svg { animation: ab-tipp .8s var(--feder-klein) .2s both; }
  li.an .ab-sym-wahl .ab-decke { animation: ab-decke .5s var(--feder) .2s both; }
  li.an .ab-sym-laden .ab-welle { animation: ab-welle 1.1s linear infinite; }
  li.an .ab-sym-text .ab-w1 { animation: ab-wort .36s var(--feder-klein) .12s both; }
  li.an .ab-sym-text :is(.ab-w2, .ab-hl) { animation: ab-wort .36s var(--feder-klein) .42s both; }
  li.an .ab-sym-text .ab-w3 { animation: ab-wort .36s var(--feder-klein) .72s both; }
  li.an .ab-sym-sichern .ab-pfeil { animation: ab-pfeil-weg .4s var(--weich) both; }
  li.an .ab-sym-sichern .ab-decke { animation: ab-decke .5s var(--feder) .32s both; }
  li.an .ab-sym-senden .ab-flieger { animation: ab-flug 1s var(--feder) .15s both; }
  .ablauf-knopf[aria-pressed="true"] .ablauf-sub { animation: ab-auf .4s var(--feder) both; }
}
@keyframes ab-pop { from { opacity: 0; transform: scale(.3); } }
@keyframes ab-ring { 0% { opacity: .9; transform: scale(.86); } 100% { opacity: 0; transform: scale(1.5); } }
@keyframes ab-tipp { 0% { transform: none; } 30% { transform: scale(.8); } 62% { transform: scale(1.14); } 100% { transform: none; } }
@keyframes ab-decke { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes ab-welle { to { transform: translateX(-8px); } }
@keyframes ab-wort { from { opacity: 0; transform: translateY(2px) scale(.3); } }
@keyframes ab-pfeil-weg { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(3px); } }
@keyframes ab-flug { 0% { opacity: 1; transform: none; } 38% { opacity: 0; transform: translate(9px, -9px) scale(.55); } 40% { opacity: 0; transform: translate(-9px, 9px) scale(.55); } 100% { opacity: 1; transform: none; } }
@keyframes ab-auf { from { opacity: 0; transform: translateY(5px); } }
@media (max-width: 899px) {
  .ablauf { height: 360vh; }
  .ablauf-buehne { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; justify-items: center; align-content: center; gap: 18px; min-height: 0; }
  .ablauf-liste { width: 100%; max-width: 420px; display: grid; gap: 10px; }
  .ab-segmente { order: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding-inline: 14px; }
  .ab-segmente span { height: 3px; border-radius: 2px; overflow: hidden; background: rgba(var(--k-tinte), .14); }
  .ab-segmente i { display: block; height: 100%; background: var(--glut-tief); transform-origin: 0 50%; transform: scaleX(0); }
  .ablauf-texte { max-width: none; align-items: end; }
  .ablauf-texte > li { grid-area: 1 / 1; transition: opacity .3s var(--weich), transform .4s var(--feder); }
  .ablauf-texte > li:not(.an) { opacity: 0; transform: translateY(10px) scale(.98); pointer-events: none; }
  .ab-linie { display: none; }
  .ablauf-knopf { cursor: default; padding: 12px 16px 12px 12px; row-gap: 2px; }
  .ablauf-knopf::before { opacity: 1; transform: none; }
  .ab-kopf b { font-size: 19px; }
  .ablauf-sub { font-size: 15px; }
  .ab-fort { display: none; }
  .app-halter { --g-breite: min(252px, calc((100vh - var(--dock-h) - 240px) * .46)); }
  @supports (height: 100svh) { .app-halter { --g-breite: min(252px, calc((100svh - var(--dock-h) - 240px) * .46)); } }
  .app-halter::before { inset: -8% -18%; }
}
/* Tastatur am Handy: der fokussierte Schritt zeigt seine Karte samt Fokusring, Enter scrollt hin */
@media (max-width: 899px) and (prefers-reduced-motion: no-preference) {
  .ablauf-texte > li:not(.an):focus-within { opacity: 1; transform: none; pointer-events: auto; z-index: 1; }
  .ablauf-texte:focus-within > li.an:not(:focus-within) { opacity: 0; }
}
/* Handy quer: Karte links, Handy rechts, sonst schrumpft das Gerät auf wenige Pixel */
@media (max-width: 899px) and (max-height: 500px) {
  .ablauf-buehne { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: none; }
  .app-halter { --g-breite: calc((100svh - var(--dock-oben) - var(--dock-h) - 24px) * .46); }
}
@media (max-width: 899px) and (prefers-reduced-motion: reduce) {
  .ab-segmente { display: none; }
  .ablauf-texte { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
  .ablauf-texte > li { grid-area: auto; }
  .ablauf-texte > li:not(.an) { opacity: 1; pointer-events: auto; }
  .ablauf-knopf { cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; }
  .ablauf-knopf::before { opacity: 0; }
  .ablauf-knopf[aria-pressed="true"]::before { opacity: 1; }
  .ablauf-knopf :is(.ablauf-sub, .kennung) { display: none; }
  .ab-sym { width: 32px; height: 32px; }
  .ab-sym svg { width: 18px; height: 18px; }
  .ab-kopf b { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .ablauf { height: auto; } .ablauf-buehne { position: relative; top: auto; height: auto; min-height: 0; padding-block: 8px 24px; } }
html:not(.js) .ablauf { height: auto; }
html:not(.js) .ablauf-buehne { position: relative; top: auto; height: auto; }

/* App-Schirm im Look des Studios */
.app-schirm { --a-grund: #FDFDA2; --a-karte: #FFFFF6; --a-weiss: #FFFFFF; --a-text: #1F1B3A; --a-text-2: #55506E; --a-glas: rgba(255,255,240,.9); --a-lila: #B6A8F2; --a-lila-text: #5A48B5; --a-einlage: rgba(31,27,58,.07);
  background: var(--a-grund); color: var(--a-text); font-family: var(--ui); }
@media (prefers-color-scheme: dark) { .app-schirm { --a-grund: #14121F; --a-karte: #1E1B2E; --a-weiss: #2A2645; --a-text: #F5F3FF; --a-text-2: #B9B3D6; --a-glas: rgba(32,29,50,.9); --a-lila-text: #C9BEFF; --a-einlage: rgba(245,243,255,.08); } }
.app-schirm > div, .app-schirm > nav { position: absolute; }
/* Statusleiste (eigene einfache Symbole), bleibt über Editor und Blättern stehen */
.a-status { left: 0; right: 0; top: 0; z-index: 9; height: 15cqw; display: flex; align-items: center; justify-content: space-between; padding: 0 9cqw; color: var(--a-text); pointer-events: none; }
.a-uhr { width: 18cqw; text-align: center; font: 650 4.4cqw/1 var(--ui); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.a-status-sym { width: 18cqw; display: flex; align-items: center; justify-content: center; gap: 1.6cqw; }
.a-signal { width: 5.2cqw; height: 3.5cqw; fill: currentColor; }
.a-akku { width: 7.4cqw; height: 3.6cqw; fill: currentColor; overflow: visible; }
.a-akku-rand { fill: none; stroke: currentColor; stroke-width: 1.4; opacity: .45; }
.a-akku-pol { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; opacity: .5; }
/* Schleier hinter Blättern wie in iOS */
.a-dimm { position: absolute; inset: 0; z-index: 4; background: rgba(106,85,216,.16); opacity: 0; pointer-events: none; }
@media (prefers-color-scheme: dark) { .a-dimm { background: rgba(20,18,31,.26); } }
/* Zähler neben dem Titel wie in der Galerie des Studios: 2, nach dem Hochladen 4 */
.a-titel { display: flex; align-items: center; gap: 2.4cqw; }
.a-zahl { display: grid; place-items: center; min-width: 7.4cqw; height: 7.4cqw; padding: 0 1.6cqw; border-radius: 999px; background: var(--a-lila); color: #1F1B3A; font: 650 4cqw/1 var(--ui); }
.a-zahl b { grid-area: 1 / 1; font: inherit; transition: opacity .2s var(--weich), transform .3s var(--feder-klein); }
.a-zahl b + b, .a-zahl.mehr b:first-child { opacity: 0; transform: scale(.4); }
.a-zahl.mehr b + b { opacity: 1; transform: none; }
/* Unten endet die Galerie an der Fertig-Leiste, damit zwischen Leiste und Dock nichts durchblitzt */
.a-galerie { inset: 0; padding: 16cqw 6cqw 0; transform-origin: 50% 30%; clip-path: inset(0 0 42cqw); }
.a-marke { display: block; width: 24cqw; height: 6.6cqw; margin: 0 0 5cqw; background: var(--a-text); }
.a-titel { font: 400 9cqw/1.1 var(--display); margin-bottom: 1.6cqw; }
/* Stand wie im Studio: grüner Punkt, "2 fertig", nach dem Hochladen 4 */
.a-stand { display: flex; align-items: center; gap: 1.2cqw; margin-bottom: 4cqw; font: 500 3.9cqw/1.2 var(--ui); color: var(--a-text-2); }
.a-stand i { width: 2.6cqw; height: 2.6cqw; margin-right: .8cqw; border-radius: 50%; background: #2E9E5B; }
.a-stand-zahl { display: grid; }
.a-stand-zahl b { grid-area: 1 / 1; font: inherit; transition: opacity .2s var(--weich), transform .3s var(--feder-klein); }
.a-stand-zahl b + b, .a-stand.mehr .a-stand-zahl b:first-child { opacity: 0; transform: scale(.4); }
.a-stand.mehr .a-stand-zahl b + b { opacity: 1; transform: none; }
.a-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5cqw; align-items: start; }
.a-karte { display: grid; gap: 1.6cqw; min-width: 0; }
.a-bild { position: relative; aspect-ratio: 9 / 13; border-radius: 5cqw; overflow: hidden; background: rgba(31,27,58,.08); transition: scale .15s var(--weich); container-type: inline-size; }
/* In der Kachel rechnen cqw mit der Kachelbreite */
.a-dauer { position: absolute; top: 5cqw; right: 5cqw; padding: 2cqw 3.6cqw; border-radius: 999px; background: rgba(20,18,31,.62); color: #fff;
  font: 600 7.4cqw/1 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.a-name { padding: 0 .6cqw; font: 600 3.6cqw/1.25 var(--ui); color: var(--a-text); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.a-bild-ut { position: absolute; left: 7.843%; right: 7.843%; bottom: 15.5%; --probe-gr: 9.412cqw; transform: scale(1.32); transform-origin: 50% 100%; opacity: 0; transition: opacity .3s var(--weich); }
.a-bild-ut.da, .a-kopie .a-bild-ut { opacity: 1; }
/* Wie im Editor nach dem Speichern: gleiche Größe zur Videobreite, das letzte Wort leuchtet */
.a-bild-ut .wort.jetzt:not(:last-child) { background: transparent; color: var(--p-text); text-shadow: var(--p-schatten); }
.a-bild-ut .wort:last-child { background: var(--hl-grund); color: var(--hl-farbe); text-shadow: none; }
/* Fertig-Leiste über dem Dock wie im Studio; beim Hochladen nimmt das Kärtchen ihren Platz ein */
.a-fertig { left: 3.5cqw; right: 3.5cqw; bottom: 24cqw; z-index: 3; display: grid; gap: 2cqw; padding: 2.4cqw 2.6cqw 2.6cqw; border-radius: 6cqw; background: var(--a-karte);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 1px rgba(31,27,58,.06), 0 10px 26px -12px rgba(31,27,58,.35); }
.a-fertig-titel { text-align: center; font: 500 3.4cqw/1.2 var(--ui); color: var(--a-text-2); }
.a-fertig-knoepfe { display: grid; grid-template-columns: 1fr 1fr; gap: 2cqw; }
.a-fertig-knoepfe span { display: block; height: 9cqw; padding: 0 2cqw; border-radius: 999px; background: var(--a-einlage); text-align: center;
  font: 600 3.3cqw/9cqw var(--ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.a-fertig-knoepfe .a-fertig-posten { color: #1F1B3A; background-color: var(--a-lila); background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 1px rgba(31,27,58,.12); }
.a-bild img, .a-wahl img, .a-ed-video > img, .a-kopie img, .a-ziel-bild img { width: 100%; height: 100%; object-fit: cover; }
.a-neu { opacity: 0; transform: scale(.8); }
.a-neu.da { opacity: 1; transform: none; }
.a-neu.da.pop { animation: karte-pop .6s var(--feder-klein) both; }
.a-neu.da.pop + .a-neu.da.pop { animation-delay: .12s; }
@keyframes karte-pop { from { opacity: 0; transform: scale(.5); } }
.a-bild.gedrueckt { scale: .94; }
.a-dock { left: 3.5cqw; right: 3.5cqw; bottom: 4cqw; display: grid; grid-template-columns: repeat(5, 1fr); align-items: end; padding: 2.5cqw 1cqw; border-radius: 9cqw;
  background: var(--a-glas); box-shadow: 0 2px 10px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.5); z-index: 4; }
.a-dock > span { display: grid; justify-items: center; gap: .8cqw; font: 600 3cqw/1.1 var(--ui); color: var(--a-text); transition: scale .15s var(--weich); }
.a-dock > span.an { color: var(--a-lila-text); }
.a-dock > span.gedrueckt { scale: .9; }
.a-dock svg { width: 6.5cqw; height: 6.5cqw; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.a-dock i { font-style: normal; white-space: nowrap; }
/* Lange Reiter wie im Studio ("Vue d’ensemble", "Genel bakış"): etwas kleiner, ragen mittig über die Spalte statt abgeschnitten */
html:is([lang="fr"], [lang="tr"]) .a-dock i { font-size: 2.7cqw; letter-spacing: -.01em; }
/* Plus: leuchtet weich auf (Glanz und Ring folgen --glow, nur über opacity und transform), kein Blinken */
.a-plus b { --glow: 0; position: relative; display: grid; place-items: center; width: 13cqw; height: 8.5cqw; border-radius: 5cqw; background: var(--a-lila); color: #1F1B3A;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  transform: translateY(calc(var(--glow) * -1cqw)) scale(calc(1 + .08 * var(--glow))); }
.a-plus b::before { content: ''; position: absolute; inset: -8cqw -10cqw; z-index: -1; border-radius: 999px; pointer-events: none;
  background: radial-gradient(closest-side, rgba(150,130,240,.85), rgba(182,168,242,.45) 50%, rgba(182,168,242,0)); opacity: var(--glow); transform: scale(calc(.4 + .6 * var(--glow))); }
.a-plus b::after { content: ''; position: absolute; inset: -1.4cqw; border-radius: 999px; pointer-events: none; border: .55cqw solid rgba(106,85,216,.6);
  opacity: calc(var(--glow) * .9); transform: scale(calc(.85 + .15 * var(--glow))); }
.a-plus b.gedrueckt { scale: .88; }
.a-plus b.pop { animation: plus-auf .6s var(--feder-klein); }
@keyframes plus-auf { 40% { transform: scale(1.16); } }
/* Auswahl */
.a-waehler { left: 0; right: 0; bottom: 0; z-index: 5; padding: 3cqw 5cqw 0; border-radius: 8cqw 8cqw 0 0; background: var(--a-karte);
  box-shadow: 0 -10px 30px rgba(0,0,0,.18); transform: translateY(105%); display: grid; gap: 3cqw; }
.a-griff { justify-self: center; width: 10cqw; height: 1.4cqw; border-radius: 1cqw; background: rgba(127,119,168,.4); }
.a-waehler-titel { font: 700 5cqw/1.2 var(--ui); text-align: center; }
.a-wahlen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5cqw; align-content: start; }
.a-wahl { aspect-ratio: 1; border-radius: 2cqw; overflow: hidden; position: relative; background: linear-gradient(160deg, #C9C0EC, #9CCBF5); transition: scale .15s var(--weich); }
.a-wahl:nth-child(3n+2) { background: linear-gradient(160deg, #F4D9A8, #E8A6B6); }
.a-wahl.a-wahl-b { background: linear-gradient(160deg, #BFE3CF, #9CCBF5); }
.a-wahl::before { content: ''; position: absolute; inset: 0; z-index: 1; border: .8cqw solid var(--a-lila); border-radius: inherit; opacity: 0; }
.a-wahl::after { content: ''; position: absolute; z-index: 2; right: 1.5cqw; bottom: 1.5cqw; width: 5.4cqw; height: 5.4cqw; border-radius: 50%; border: 1.5px solid #fff; background: rgba(0,0,0,.18); }
.a-wahl.an::before { opacity: 1; }
.a-wahl.an::after { background: var(--a-lila) var(--haken-maske) center / 70% no-repeat; border-color: #fff; }
.a-wahl.an.pop::after { animation: haken-pop .42s var(--feder-klein); }
.a-wahl.gedrueckt { scale: .92; }
.a-hinzu { margin: 0 0 7cqw; display: grid; place-items: center; height: 11cqw; border-radius: 6cqw; background: var(--a-lila); color: #1F1B3A; font: 600 4.4cqw/1 var(--ui); transition: scale .15s var(--weich); }
.a-hinzu.gedrueckt { scale: .94; }
/* Hochladen */
.a-laden { left: 5cqw; right: 5cqw; bottom: 24cqw; z-index: 3; opacity: 0; transform: translateY(12cqw); }
.a-laden .wa-kachel { margin: 0; background: var(--a-karte); box-shadow: 0 10px 30px rgba(0,0,0,.14); }
/* Editor wie im Studio */
.a-editor { inset: 0; z-index: 6; padding: 15cqw 5cqw 0; display: grid; align-content: start; gap: 3.4cqw; background: var(--a-grund); opacity: 0; transform-origin: 0 0; }
.a-ed-kopf { display: flex; align-items: center; justify-content: space-between; height: 10cqw; }
.a-zurueck { display: inline-flex; align-items: center; gap: .6cqw; height: 10cqw; padding: 0 3.6cqw 0 2.2cqw; border-radius: 999px; background: var(--a-weiss); font: 600 4.2cqw/1 var(--ui);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 8px rgba(31,27,58,.12); transition: scale .15s var(--weich); }
.a-zurueck.gedrueckt { scale: .93; }
.a-zurueck svg { width: 4.8cqw; height: 4.8cqw; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.a-pille { position: relative; display: grid; opacity: 0; transform: scale(.6); }
.a-pille.da { opacity: 1; transform: none; }
.a-pille b { grid-area: 1 / 1; display: inline-flex; align-items: center; justify-content: center; gap: 1.2cqw; height: 10cqw; padding: 0 4cqw; border-radius: 999px; white-space: nowrap;
  background-color: var(--a-lila); background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%); color: #1F1B3A; font: 600 4.2cqw/1 var(--ui);
  border: 1px solid rgba(31,27,58,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 3px 10px rgba(106,85,216,.35); }
.a-pille b svg { width: 4.4cqw; height: 4.4cqw; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.a-pille .a-p-gespeichert, .a-pille.gespeichert .a-p-speichern { opacity: 0; }
.a-pille.gespeichert .a-p-gespeichert { opacity: 1; }
.a-pille::after { content: ''; position: absolute; inset: 0; border-radius: 999px; pointer-events: none; opacity: 0; box-shadow: 0 0 0 3px rgba(106,85,216,.35), 0 0 18px 4px rgba(182,168,242,.9); }
.a-pille.pop { animation: pille-auf .35s var(--feder-klein); }
.a-pille.pop::after { animation: pille-leuchten .8s ease-out .15s 2; }
.a-pille.gedrueckt { scale: .94; }
.a-pille.gespeichert.glanz .a-p-gespeichert path { stroke-dasharray: 22; stroke-dashoffset: 22; animation: haken-zieht .5s var(--feder) .05s forwards; }
.a-pille.gespeichert.glanz::after { animation: pille-leuchten .8s ease-out; }
@keyframes pille-auf { 0% { opacity: 0; transform: scale(.6); } 50% { opacity: 1; } 100% { transform: scale(1); } }
@keyframes pille-leuchten { 0%, 100% { opacity: 0; } 35% { opacity: 1; } }
.a-ed-video { position: relative; justify-self: center; width: 51cqw; aspect-ratio: 9 / 16; border-radius: 7cqw; overflow: hidden; background: #0E0C17; box-shadow: 0 12px 26px -12px rgba(31,27,58,.5); }
.a-ed-video .probe { position: absolute; left: 4cqw; right: 4cqw; bottom: 22%; --probe-gr: 4.8cqw; }
.a-ed-video .wort { opacity: 0; transform: translateY(1.5cqw) scale(.8); transition: opacity .18s var(--feder-klein), transform .18s var(--feder-klein); }
.a-ed-video .wort.da { opacity: 1; transform: none; }
/* Abspielleiste wie im Studio: Knopf, Spur, Zeit, Ton */
.a-ed-leiste { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 2.6cqw; padding: 0 1cqw; }
.a-ed-play { display: grid; place-items: center; width: 9cqw; height: 9cqw; border-radius: 50%; background: var(--a-text); color: var(--a-grund); }
.a-ed-play svg { width: 4.2cqw; height: 4.2cqw; fill: currentColor; }
.a-ed-spur { position: relative; height: 1.2cqw; border-radius: 1cqw; background: rgba(127,119,168,.32); }
.a-ed-spur i { position: absolute; left: 0; top: 50%; width: 3.6cqw; height: 3.6cqw; margin-top: -1.8cqw; border-radius: 50%; background: var(--a-text); }
.a-ed-zeit { font: 500 3.6cqw/1 var(--mono); color: var(--a-text-2); font-variant-numeric: tabular-nums; }
.a-ed-ton { width: 5.2cqw; height: 5.2cqw; fill: none; stroke: var(--a-text); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.a-ed-reiter { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6cqw; padding: 1cqw; border-radius: 3.6cqw; background: var(--a-einlage); font: 600 3.8cqw/1 var(--ui); color: var(--a-text-2); }
.a-ed-reiter span { display: grid; place-items: center; height: 8.4cqw; border-radius: 2.6cqw; }
.a-ed-reiter .an { background: var(--a-weiss); color: var(--a-text); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
/* Posten-Blatt wie im Studio */
.a-posten { left: 0; right: 0; bottom: 0; z-index: 7; padding: 3cqw 6cqw 9cqw; border-radius: 8cqw 8cqw 0 0; background: var(--a-karte);
  box-shadow: 0 -10px 30px rgba(0,0,0,.2); transform: translateY(105%); display: grid; gap: 4.5cqw; }
.a-posten-titel { font: 400 8cqw/1.1 var(--display); }
.a-kanaele { display: flex; flex-wrap: wrap; gap: 2.2cqw; }
.a-kanal { display: inline-flex; align-items: center; gap: 1.6cqw; height: 10cqw; padding: 0 3.2cqw 0 2.2cqw; border-radius: 999px; background: var(--a-weiss); color: var(--a-text);
  box-shadow: inset 0 0 0 1px rgba(31,27,58,.12); font: 600 3.7cqw/1 var(--ui); white-space: nowrap; transition: scale .15s var(--weich); }
.a-kanal i { width: 4.2cqw; height: 4.2cqw; border-radius: 50%; background: #DCD6F2; }
.a-kanal.an { background: var(--a-text); color: var(--a-grund); box-shadow: none; }
.a-kanal.an i { background: #2E9E5B; }
.a-kanal.an.pop { animation: look-springt .35s var(--feder-klein); }
.a-kanal.gedrueckt { scale: .92; }
.a-einplanen { display: grid; place-items: center; height: 12cqw; border-radius: 999px; color: #1F1B3A; font: 600 4.4cqw/1 var(--ui); transition: scale .15s var(--weich);
  background-color: var(--a-lila); background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%); box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 4px 14px rgba(106,85,216,.3); }
.a-einplanen.gedrueckt { scale: .95; }
/* Finger und Tipp-Welle */
.a-finger { position: absolute; left: 0; top: 0; z-index: 12; width: 12cqw; height: 12cqw; margin: -6cqw 0 0 -6cqw; border-radius: 50%; pointer-events: none; opacity: 0;
  background: radial-gradient(circle at 40% 35%, rgba(255,255,255,.9), rgba(255,255,255,.5)); box-shadow: 0 0 0 .5cqw rgba(31,27,58,.3), 0 4px 12px rgba(31,27,58,.3); }
.a-welle { position: absolute; left: 0; top: 0; z-index: 11; width: 0; height: 0; pointer-events: none; }
.a-welle i { position: absolute; left: -9cqw; top: -9cqw; width: 18cqw; height: 18cqw; border-radius: 50%; opacity: 0;
  border: .7cqw solid rgba(106,85,216,.75); background: rgba(182,168,242,.35); }
.a-welle.los i { animation: welle .6s var(--weich) both; }
@keyframes welle { 0% { opacity: .95; transform: scale(.25); } 100% { opacity: 0; transform: scale(1.6); } }
/* Handy springt herein und freut sich, Konfetti regnet */
.app-halter.wartet { opacity: 0; transform: translateY(16%) scale(.88); }
.app-halter.rein { animation: handy-rein .95s cubic-bezier(.3, .7, .4, 1) both; }
@keyframes handy-rein {
  0% { opacity: 0; transform: translateY(16%) scale(.88); }
  32% { opacity: 1; transform: translateY(-3.5%) scale(1.025); }
  50% { transform: translateY(1.2%) scale(.992); }
  66% { transform: translateY(-.6%) scale(1.004); }
  82% { transform: translateY(.2%) scale(1); }
  100% { opacity: 1; transform: none; } }
.app-sprung.jubel { animation: handy-jubel 1.15s cubic-bezier(.3, .7, .4, 1) both; }
@keyframes handy-jubel {
  0% { transform: none; }
  14% { transform: translateY(-11%) scale(.97, 1.04); }
  30% { transform: translateY(0) scale(1.06, .92); }
  42% { transform: translateY(-4%) rotate(-3deg); }
  54% { transform: translateY(0) rotate(2.5deg); }
  66% { transform: rotate(-1.6deg); }
  78% { transform: rotate(.8deg); }
  100% { transform: none; } }
.a-konfetti { position: absolute; left: -10%; right: -10%; top: -6%; height: 0; z-index: 3; pointer-events: none; --fall: 600px; }
.a-konfetti i { position: absolute; left: var(--x); top: 0; width: 8px; height: 14px; border-radius: 2px; background: var(--c); box-shadow: 0 0 0 1px rgba(31,27,58,.1); opacity: 0; }
.a-konfetti i.r { width: 10px; height: 10px; border-radius: 50%; }
.a-konfetti i.s { width: 5px; height: 18px; }
.a-konfetti.regen i { animation: konfetti var(--t) cubic-bezier(.25, .6, .45, 1) var(--d) both; }
@keyframes konfetti { 0% { opacity: 0; transform: translate(0, -24px) rotate(0); } 8% { opacity: 1; } 82% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--dx), var(--fall)) rotate(var(--r)); } }
.a-ziel-bild { display: block; width: 100%; height: 100%; border-radius: 26%; overflow: hidden; background: #fff;
  box-shadow: 0 0 0 1px rgba(31,27,58,.08), 0 14px 26px -12px rgba(31,27,58,.5); }
.a-ziel.ok.pop .a-ziel-bild { animation: ziel-land .46s linear; }
@keyframes ziel-land { 15% { transform: scale(1.14, .86); } 35% { transform: translateY(-8%) scale(.94, 1.08); } 55% { transform: scale(1.03, .97); } 75% { transform: scale(.99, 1.01); } 100% { transform: none; } }
.a-haken { position: absolute; right: -16%; top: -16%; width: 44%; height: 44%; min-width: 20px; min-height: 20px; display: grid; place-items: center; border-radius: 50%;
  background: var(--zitrone); border: 1px solid rgba(31,27,58,.18); box-shadow: 0 6px 12px -4px rgba(31,27,58,.35); transform: scale(0); }
.a-haken svg { width: 70%; height: 70%; fill: none; stroke: #1F1B3A; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.a-ziel.ok .a-haken { transform: none; }
.a-ziel.ok.pop .a-haken { animation: haken-pop .38s var(--feder-klein) .07s both; }
@keyframes haken-pop { 0% { transform: scale(0) rotate(-50deg); } 60% { transform: scale(1.25) rotate(4deg); } 100% { transform: none; } }
.a-funken i { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: var(--zitrone); box-shadow: 0 0 0 1px rgba(31,27,58,.2); opacity: 0; }
.a-funken i:nth-child(even) { background: var(--glut); }
.a-ziel.ok.pop .a-funken i { animation: funke .55s var(--weich) both; }
@keyframes funke { 0% { opacity: 1; transform: rotate(var(--a)) translateX(calc(var(--ziel) * .4)) scale(1); } 100% { opacity: 0; transform: rotate(var(--a)) translateX(calc(var(--ziel) * 1.05)) scale(.25); } }
.a-kopie { position: absolute; left: 0; top: 0; z-index: 8; overflow: hidden; border-radius: 5cqw; opacity: 0; pointer-events: none; will-change: transform; container-type: inline-size;
  box-shadow: 0 0 0 1.5px rgba(255,255,255,.7), 0 6px 14px -8px rgba(31,27,58,.5); transition: box-shadow .3s var(--weich); }
.a-kopie.hoch { box-shadow: 0 0 0 1.5px rgba(255,255,255,.8), 0 22px 40px -14px rgba(31,27,58,.65); }
/* Runde 4: Startbildschirm wie im Studio ("Wähl deine Videos aus.") */
.a-start { inset: 0; z-index: 2; padding: 16cqw 6cqw 0; display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--a-grund); transform-origin: 50% 30%; }
.a-start .a-marke { align-self: flex-start; }
.a-start-bild { position: relative; width: 62cqw; height: 40cqw; margin: 8cqw 0 7cqw; }
.a-start-bild i { position: absolute; top: 9cqw; width: 18cqw; height: 28cqw; border-radius: 4cqw; background: #8F9BE0; box-shadow: 0 10px 22px -12px rgba(31,27,58,.5); }
.a-start-bild i:first-child { left: 4cqw; transform: rotate(-9deg); }
.a-start-bild i:last-child { right: 4cqw; background: #7FB6DD; transform: rotate(9deg); }
.a-start-bild i:nth-child(2) { left: 50%; top: 0; z-index: 1; width: 23cqw; height: 37cqw; margin-left: -11.5cqw; display: grid; align-content: center; justify-items: center; gap: 1.6cqw;
  background: linear-gradient(170deg, #9B8CF0, #4A3AA6); box-shadow: 0 16px 28px -14px rgba(31,27,58,.7); }
.a-start-bild b { display: block; width: 12cqw; height: 2.6cqw; border-radius: 1cqw; background: #FDFDA2; }
.a-start-bild b + b { width: 8cqw; opacity: .7; }
.a-start-titel { font: 400 7.4cqw/1.1 var(--display); margin-bottom: 2.6cqw; text-wrap: balance; }
.a-start-text { font: 500 3.5cqw/1.45 var(--ui); color: var(--a-text-2); max-width: 78cqw; text-wrap: balance; margin-bottom: 6cqw; }
.a-start-knopf { --glow: 0; position: relative; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 2cqw; height: 12cqw; border-radius: 999px;
  color: #1F1B3A; font: 600 4.2cqw/1 var(--ui); background-color: var(--a-lila); background-image: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 60%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 4px 14px rgba(106,85,216,.3); transition: scale .15s var(--weich); }
.a-start-knopf svg { width: 4.6cqw; height: 4.6cqw; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.a-start-knopf::after { content: ''; position: absolute; inset: -1.4cqw; border-radius: 999px; pointer-events: none; border: .55cqw solid rgba(106,85,216,.6);
  opacity: calc(var(--glow) * .9); transform: scale(calc(.94 + .06 * var(--glow))); }
.a-start-knopf.gedrueckt { scale: .95; }
/* Galerie: Stand 0, nach dem Hochladen 2 fertig; Fertig-Leiste erst danach */
.a-fertig { opacity: 0; }
/* Editor: Schrift, Größe, Farbe wie im Studio unter "Look" */
.a-ed-video .probe { transform-origin: 50% 100%; }
.schriften-an .a-ed-video .probe[data-schrift="syne"] { --p-schrift: 'Syne', var(--titel); }
.a-ed-video .probe[data-schrift="syne"] { --p-gewicht: 700; }
.schriften-an .a-ed-video .probe[data-schrift="archivo"] { --p-schrift: 'Archivo Black', var(--titel); }
.a-ed-video .probe[data-farbe="pink"] { --hl-grund: linear-gradient(90deg, #FF1F4B, #FF4FB3); --hl-farbe: #fff; }
.a-ed-feld { display: grid; gap: 1.8cqw; }
.a-ed-zeile { display: grid; grid-template-columns: 17cqw minmax(0, 1fr); align-items: center; gap: 2cqw; min-height: 8cqw; }
.a-ed-lb { font: 600 3.4cqw/1.2 var(--ui); color: var(--a-text-2); }
.a-schriften { display: flex; gap: 1.6cqw; white-space: nowrap; }
.a-schrift { display: grid; place-items: center; height: 8.6cqw; padding: 0 2.8cqw; border-radius: 999px; background: var(--a-weiss); color: var(--a-text);
  box-shadow: inset 0 0 0 1px rgba(31,27,58,.12); font: 400 3.4cqw/1 var(--titel); transition: scale .15s var(--weich); }
.schriften-an .a-schrift[data-s="cherry"] { font-family: 'Cherry Bomb One', var(--titel); }
.schriften-an .a-schrift[data-s="syne"] { font-family: 'Syne', var(--titel); font-weight: 700; }
.schriften-an .a-schrift[data-s="archivo"] { font-family: 'Archivo Black', var(--titel); }
.a-schrift.an { background: var(--a-text); color: var(--a-grund); box-shadow: none; }
.a-schrift.an.pop { animation: look-springt .35s var(--feder-klein); }
.a-schrift.gedrueckt { scale: .92; }
.a-regler { position: relative; height: 1.4cqw; border-radius: 1cqw; background: rgba(127,119,168,.32); }
.a-regler-voll { position: absolute; inset: 0; border-radius: inherit; background: var(--a-lila-text); transform-origin: 0 50%; transform: scaleX(.25); }
.a-regler-knopf { position: absolute; left: 25%; top: 50%; width: 6.4cqw; height: 6.4cqw; margin: -3.2cqw 0 0 -3.2cqw; border-radius: 50%; background: #fff;
  box-shadow: 0 0 0 1px rgba(31,27,58,.12), 0 2px 6px rgba(31,27,58,.3); }
.a-regler-knopf.gedrueckt { box-shadow: 0 0 0 1px rgba(31,27,58,.12), 0 0 0 2.4cqw rgba(182,168,242,.35), 0 2px 6px rgba(31,27,58,.3); }
.a-farben { display: flex; gap: 2.4cqw; }
.a-farbe { width: 7cqw; height: 7cqw; border-radius: 50%; background: var(--f); box-shadow: inset 0 0 0 1px rgba(31,27,58,.18); outline: .6cqw solid transparent; outline-offset: .6cqw; transition: scale .15s var(--weich); }
.a-farbe.an { outline-color: var(--a-lila-text); }
.a-farbe.an.pop { animation: look-springt .35s var(--feder-klein); }
.a-farbe.gedrueckt { scale: .88; }
/* Posten-Blatt: Wo und Wann wie im Studio */
.a-lb { margin-bottom: -2.4cqw; font: 600 3.4cqw/1.2 var(--ui); color: var(--a-text-2); }
.a-wann { display: grid; gap: 1.6cqw; }
.a-wann-z { display: flex; align-items: center; gap: 2.4cqw; min-height: 10cqw; padding: 0 3.4cqw; border-radius: 3.6cqw; background: var(--a-weiss);
  box-shadow: inset 0 0 0 1px rgba(31,27,58,.12); font: 600 3.5cqw/1.2 var(--ui); transition: scale .15s var(--weich); }
.a-wann-z i { flex: none; width: 4.4cqw; height: 4.4cqw; border-radius: 50%; box-shadow: inset 0 0 0 .5cqw rgba(127,119,168,.6); }
.a-wann-z.an { box-shadow: inset 0 0 0 .5cqw var(--a-lila-text); }
.a-wann-z.an i { box-shadow: inset 0 0 0 1.4cqw var(--a-lila-text); }
.a-wann-z.an.pop i { animation: haken-pop .38s var(--feder-klein); }
.a-wann-z.gedrueckt { scale: .96; }
/* Abschluss wie im Hero-Video: App tritt zurück, drei Kacheln, Kopien fliegen hin, Haken, "Über Buffer eingeplant" */
.app-schirm { --a-schleier: rgba(253,253,162,.88); }
@media (prefers-color-scheme: dark) { .app-schirm { --a-schleier: rgba(20,18,31,.88); } }
.a-ueberall { inset: 0; z-index: 7; display: grid; align-content: start; justify-items: center; padding-top: 48cqw; background: var(--a-schleier); opacity: 0; visibility: hidden; }
.a-ueberall-titel { font: 400 8.4cqw/1.1 var(--display); text-align: center; opacity: 0; }
.a-ziele { --ziel: 19cqw; display: flex; gap: 8cqw; margin-top: 8cqw; }
.a-ziel { position: relative; width: var(--ziel); height: var(--ziel); opacity: 0; transform: scale(.4); }
.a-ziel.da { opacity: 1; transform: none; }
.a-ziel.da.auf { animation: ziel-auf .5s var(--feder-klein) both; }
@keyframes ziel-auf { from { opacity: 0; transform: scale(.3) rotate(-12deg); } }
.a-toast { display: flex; align-items: center; gap: 2cqw; margin-top: 9cqw; padding: 2.6cqw 4.6cqw 2.6cqw 3.4cqw; border-radius: 999px; background: var(--a-karte); color: var(--a-text);
  font: 600 3.9cqw/1.2 var(--ui); white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 1px rgba(31,27,58,.1), 0 12px 26px -10px rgba(31,27,58,.5);
  opacity: 0; transform: translateY(4cqw) scale(.9); transition: opacity .25s var(--weich), transform .35s var(--feder); }
.a-toast i { width: 3.4cqw; height: 3.4cqw; border-radius: 50%; background: var(--a-lila); box-shadow: 0 0 0 .7cqw var(--a-text); }
.a-toast.da { opacity: 1; transform: none; }
.a-toast.da.pop { animation: toast-auf .6s var(--feder-klein) both; }
@keyframes toast-auf { from { opacity: 0; transform: translateY(6cqw) scale(.8); } }
/* Angehalten (WCAG 2.2.2): nichts läuft von selbst weiter */
html.angehalten :is(.ablauf, .sf-liste) *, html.angehalten :is(.ablauf, .sf-liste) *::before, html.angehalten :is(.ablauf, .sf-liste) *::after { animation: none !important; }

/* ---------- Runde 2: Fragen ---------- */
.faq { display: grid; gap: 28px; }
.faq-chips { margin: 0; }
.faq-chips .pille { background: var(--einlage); box-shadow: var(--einlage-glanz); }
.faq-chips .pille[aria-current] { color: var(--glut-text); background: var(--glut-hauch); }
.faq-gruppe { display: grid; gap: 12px; scroll-margin-top: calc(var(--dock-h) + var(--dock-oben) + 24px); }
.faq-titel { color: var(--glut-text); font-weight: 600; }
.faq.gefiltert .faq-gruppe:not(.an) { display: none; }
.faq.gefiltert .faq-titel { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
  .klappe[open] > p { animation: klappe-auf .32s var(--feder); }
  .faq.gefiltert .faq-gruppe.an { animation: klappe-auf .36s var(--feder); }
}
@keyframes klappe-auf { from { opacity: 0; transform: translateY(-8px); } }

/* ---------- Dock breit oben, beim Scrollen schwebende Glas-Kapsel (Runde 4) ---------- */
/* bumely.js setzt .kapsel (ab 56 px, zurück unter 24 px). --q läuft per CSS-Feder von 0 auf 1 und
   steuert alles zugleich: Breite der einen Glasform, Hintergrund, Schatten und 20 px tiefer
   (oben dann rund 30 px wie bei centaurio.dev). Ohne Bewegung springt --q direkt. */
@property --q { syntax: '<number>'; inherits: true; initial-value: 0; }
:root { --dock-tief: 20px; }
.dock-halter { --q: 0; --einzug: clamp(10px, calc((100vw - 1100px) / 2 + 40px), 120px); width: min(1180px, calc(100% - 2 * var(--rand)));
  transform: translateX(-50%) translateY(calc(var(--q) * var(--dock-tief))); }
.dock-halter.kapsel, html:not(.js) .dock-halter { --q: 1; }
@media (prefers-reduced-motion: no-preference) {
  .dock-halter.bereit { transition: --q .62s cubic-bezier(.32, .72, 0, 1);
    transition-timing-function: linear(0, 0.059, 0.195, 0.363, 0.531, 0.681, 0.805, 0.899, 0.965, 1.008, 1.033, 1.044, 1.046, 1.042, 1.035, 1.027, 1.02, 1.013, 1.008, 1.004, 1.001, 0.999, 0.998, 0.998, 1); }
}
.dock-halter::before { display: none; }
.dock { background: none; border-color: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; overflow: visible; isolation: isolate; }
/* Eine Glasform: beide Schichten teilen sich dieselbe Lage, die mit --q von voller Breite zur Kapsel einläuft */
.dock::before, .dock::after { content: ''; position: absolute; top: 0; bottom: 0; z-index: -1; border-radius: var(--r-glas); pointer-events: none;
  left: calc(var(--q) * var(--einzug)); right: calc(var(--q) * var(--einzug)); }
.dock::before { background: var(--glas); opacity: calc((1 - var(--q)) * .45); }
.dock::after { border: 1px solid var(--glas-rand);
  background: var(--glas-dock) linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%);
  -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
  box-shadow: var(--glas-glanz), var(--glas-schatten), 0 14px 40px rgba(var(--k-schatten), .16);
  opacity: min(1, var(--q) * 1.6); }
@media (prefers-color-scheme: dark) { .dock::after { background-image: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 40%); } }
.dock > .marke { width: 76px; height: 22px; transform: translateX(calc(var(--q) * var(--einzug) + (1 - var(--q)) * 14px)); }
.dock-rechts { transform: translateX(calc(var(--q) * -1 * var(--einzug))); }
@media (max-width: 1179px) { .dock-halter { width: calc(100% - 2 * var(--rand)); --einzug: clamp(8px, 3vw, 40px); } }
@media (max-width: 760px) { .dock-halter { width: calc(100% - 12px); --einzug: 6px; } .dock > .marke { width: 68px; height: 20px; } }
/* Französisch: die längeren Reiter passen in die Kapsel nur mittig und etwas enger, sonst schiebt sich die Marke über "Ce que fait Bumely" */
@media (min-width: 1180px) {
  html[lang="fr"] .dock-rechts { margin-left: 0; }
  html[lang="fr"] .dock-tab { padding-inline: 10px; }
  html[lang="fr"] .dock-anmelden { padding-inline: 8px; }
}

/* ---------- Einblenden ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js .einblenden { opacity: 0; transform: translateY(16px); }
  .js .einblenden.da { opacity: 1; transform: none; transition: opacity .6s var(--feder), transform .6s var(--feder); transition-delay: var(--verzug, 0ms); }
}

/* ---------- Rückfälle ---------- */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glas, .dock, .glas-leicht, .blatt-innen, .sprach-pop, .knopf.glas-knopf { background-color: var(--flaeche); }
  .glas-foto { background: rgba(20,18,31,.85); }
}
@media (prefers-reduced-transparency: reduce) {
  .glas, .dock, .glas-leicht, .blatt-innen, .sprach-pop, .knopf.glas-knopf { background-color: var(--flaeche); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .glas-foto { background: rgba(20,18,31,.85); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .scheibe { background: var(--flaeche); }
}
@media (prefers-contrast: more) {
  .glas, .dock, .glas-leicht, .blatt-innen, .sprach-pop, .knopf.glas-knopf { background-color: var(--flaeche); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--tinte); }
  .glas-foto { background: #000; border-color: #fff; }
  .scheibe { background: var(--flaeche); border-color: var(--tinte); }
  .knopf, .knopf.leise { border-color: var(--tinte); }
  .dock-tab[aria-current] { background: rgba(var(--k-tinte), .14); }
  .lichtfeld, body::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
