/* Schriften, selbst gehostet (SIL OFL, siehe schrift/LIZENZ.txt): Unbounded für Überschriften, Geist für Text und Bedienung, Geist Mono für Zahlen.
   Fraunces ist seit 01.11. raus – --serif zeigt jetzt auf Geist, die großen Überschriften stehen unten im Block „Unterseiten im Look der Startseite“. */
@font-face{font-family:"Geist";src:url(schrift/geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Unbounded";src:url(schrift/unbounded-latin.woff2) format("woff2");font-weight:600 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";src:url(schrift/unbounded-latin-ext.woff2) format("woff2");font-weight:600 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";src:url(schrift/geist-mono.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Farben (01.11.): EIN Akzent – Melihs Eisblau wie sein Neonschild, Grund Graphit, Rot nur für „Live“. Vorher warmes Messing – passte ihm nicht.
   Kein Leuchten, keine Verläufe, keine Pillen, keine Großbuchstaben-Labels (tasteskill, 31.10.) – einzige Ausnahme: der aktive Reiter oben leuchtet (Melih 01.11.).
   Die alten Namen zeigen auf die neue Palette. */
:root{
  --nacht:#060708; --holz:#0e1013; --holz2:#15181d; --linie:#23272e; --text:#ececec; --leise:#8b929c; --hell:#d5dae0;
  --akzent:#66ffff; --akzent-hell:#b3ffff; --live:#ff3b2f;
  --tuerkis:var(--akzent); --bernstein:var(--hell); --gold:var(--hell); --lila:var(--akzent);
  --kopf:"Geist",system-ui,sans-serif;
  --serif:"Geist",system-ui,sans-serif;
  --text-schrift:"Geist",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
  --anzeige:"Unbounded","Geist",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--nacht);color:var(--text);font:17px/1.65 var(--text-schrift);overflow-x:clip}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--tuerkis);outline-offset:3px;border-radius:6px}
.innen{max-width:1160px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Glut-Linie: Scroll-Fortschritt */
.glut-linie{position:fixed;left:0;top:0;height:2px;width:calc(var(--fortschritt,0) * 100%);z-index:60;background:var(--akzent)}

/* Kopf */
.kopf{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s}
.weiter .kopf,.kopf.offen{background:#060708f5;border-bottom:1px solid var(--linie)}
.kopf .innen{display:flex;align-items:center;gap:26px;height:68px;max-width:none;padding:0 6vw}   /* auf jeder Seite an derselben Stelle wie auf der Startseite (Melih 01.11.) */
.marke{font:700 20px var(--kopf);letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.marke span{color:var(--tuerkis)}
.menue{display:flex;gap:24px;font:500 15px var(--kopf);color:var(--hell)}
.menue a{text-decoration:none;padding:6px 0}
.menue a:hover{color:var(--tuerkis)}
/* Der Reiter, auf dem man gerade ist, leuchtet wie das Neonschild – die eine Ausnahme vom „kein Leuchten“ (Melih 01.11.: „Er soll mit Glow leuchten“) */
.menue a[aria-current]{position:relative;color:#e6ffff;text-shadow:0 0 4px #66ffff,0 0 12px #66ffffcc,0 0 26px #66ffff99}
.menue a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:#e6ffff;box-shadow:0 0 6px var(--akzent),0 0 14px var(--akzent),0 0 28px #66ffffaa}
.menue a[hidden]{display:none}
.kopf .rechts{margin-left:auto;display:flex;gap:12px;align-items:center}
.status{display:flex;align-items:center;gap:8px;font-size:14px;color:#d5dae0;white-space:nowrap}
.status i,.leiste i{width:9px;height:9px;border-radius:50%;background:#6b727c}
.status.live i,.ist-live .leiste i{background:var(--live);animation:puls 1.6s infinite}
@keyframes puls{0%{box-shadow:0 0 0 0 #ff3b2f99}70%{box-shadow:0 0 0 10px #ff3b2f00}}
.menue-knopf{display:none;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid #ffffff30;background:#060708aa}
.menue-knopf i,.menue-knopf i::before,.menue-knopf i::after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,background .25s}
.menue-knopf i{position:relative}
.menue-knopf i::before{position:absolute;top:-6px}
.menue-knopf i::after{position:absolute;top:6px}
.offen .menue-knopf i{background:transparent}
.offen .menue-knopf i::before{top:0;transform:rotate(45deg)}
.offen .menue-knopf i::after{top:0;transform:rotate(-45deg)}
/* Konto oben rechts – auf dem Handy steht es im Menü */
.konto:empty,.konto-handy{display:none}
.knopf.konto-an{box-shadow:inset 0 0 0 1.5px var(--lila)}
.konto-menue{position:relative}
.konto-menue summary{list-style:none;cursor:pointer;text-transform:none;padding:0 18px}
.konto-menue summary::-webkit-details-marker{display:none}
.konto-menue summary span{max-width:160px;overflow:hidden;text-overflow:ellipsis}
.konto-menue summary::after{content:"";border:5px solid transparent;border-top-color:currentColor;margin-top:5px}
.konto-menue div{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;display:grid;padding:8px;background:#060708f5;border:1px solid var(--linie);border-radius:12px;box-shadow:0 18px 50px #000c}
.konto-menue div a,.konto-menue div button{padding:12px 14px;border:0;border-radius:10px;background:none;text-align:left;text-decoration:none;font:600 15px var(--kopf)}
.konto-menue div a:hover,.konto-menue div button:hover{background:#ffffff12;color:var(--tuerkis)}

/* Knöpfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:44px;background:var(--akzent);color:#060708;text-decoration:none;border:0;border-radius:8px;font:600 15px var(--kopf);padding:0 20px;transition:transform .2s,background .2s,box-shadow .2s}
.knopf:hover{background:var(--akzent-hell)}
.knopf:active{transform:translateY(1px) scale(.98)}
.knopf.twitch{background:var(--akzent);color:#060708}
.knopf.twitch:hover{background:var(--akzent-hell)}
.knopf.hohl{background:none;color:var(--text);box-shadow:inset 0 0 0 1px #ffffff40}
.knopf.hohl:hover{background:#ffffff0d;box-shadow:inset 0 0 0 1px var(--akzent)}
/* Textlink statt zweitem Knopf – ein gefüllter Knopf pro Stelle reicht */
.textlink{color:var(--akzent);font-weight:600;text-decoration:underline;text-decoration-color:#66ffff66;text-underline-offset:4px;transition:text-decoration-color .2s}
.textlink:hover{text-decoration-color:var(--akzent)}

/* ---------- Eingang: Lounge mit Scroll-Kamerafahrt ---------- */
.eingang{position:relative;height:240svh}
.kulisse{position:sticky;top:0;height:100svh;overflow:hidden;container-type:size;background:#040506;--fx:.5;--fy:.5}
.buehne{--w:max(100cqw,179.17cqh);position:absolute;width:var(--w);aspect-ratio:2752/1536;
  left:clamp(calc(100cqw - var(--w)),calc(50cqw - var(--fx) * var(--w)),0px);
  top:clamp(calc(100cqh - var(--w) / 1.7917),calc(50cqh - var(--fy) * var(--w) / 1.7917),0px);
  transform-origin:32% 62%;transform:scale(var(--zoom,1));will-change:transform}
.raum{position:absolute;inset:0;width:100%;height:100%;display:block;animation:atmen 18s ease-in-out infinite alternate}
@keyframes atmen{to{filter:brightness(1.06) saturate(1.05)}}
/* Bewegte Flammen: Ausschnitt des Kaminfeuers, den app.js Zeile für Zeile verbiegt – zum Rand hin weich ausgeblendet */
.flammen{position:absolute;left:9%;top:46%;width:8.5%;height:34%;pointer-events:none;
  -webkit-mask:radial-gradient(50% 50% at 42% 58%,#000 55%,transparent);mask:radial-gradient(50% 50% at 42% 58%,#000 55%,transparent)}
.feuerschein{position:absolute;left:5%;top:50%;width:18%;height:36%;mix-blend-mode:screen;opacity:var(--flacker,.7);
  background:radial-gradient(closest-side,#ff9a3c99,#ff6a1a40 55%,transparent)}
/* Glut auf dem Shisha-Kopf */
.glut{position:absolute;left:28.25%;top:67.5%;width:2.4%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;mix-blend-mode:screen;opacity:var(--glut,.45);
  background:radial-gradient(closest-side,#ffe2a6,#ff8a2a 38%,#ff5a0055 68%,transparent)}
.regen{position:absolute;mix-blend-mode:screen;opacity:.5;pointer-events:none;
  background:repeating-linear-gradient(97deg,transparent 0 9px,#dce6ff2e 9px 10px,transparent 10px 23px);background-size:46px 140px;animation:regen .55s linear infinite;
  -webkit-mask:linear-gradient(transparent,#000 15%,#000 80%,transparent);mask:linear-gradient(transparent,#000 15%,#000 80%,transparent)}
.r1{left:77.9%;top:5%;width:6.3%;height:54%}
.r2{left:91.7%;top:0;width:7.6%;height:62%}
@keyframes regen{to{background-position:6px 140px}}
/* Neonschild: ausgeschaltet von Anfang an da, dann flackert es an */
.neon{position:absolute;left:49%;top:17.6%;width:24%}
.neon.an,.neon-handy .an{opacity:0;animation:neon-an 1.6s steps(1,end) 2.4s forwards,summen 6s ease-in-out 4.5s infinite}
@keyframes neon-an{0%{opacity:0}9%{opacity:1}13%{opacity:.1}21%{opacity:.9}25%{opacity:0}39%{opacity:1}43%{opacity:.3}50%,100%{opacity:1}}
@keyframes summen{0%,100%{opacity:1}50%{opacity:.88}}
.rauch{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.neon-handy{display:none;position:absolute;z-index:2;left:50%;top:11%;width:min(80vw,420px);translate:-50% 0}
.neon-handy img{display:block;width:100%}
.neon-handy .an{position:absolute;inset:0}
.schleier{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#060708b3 0%,transparent 18%),linear-gradient(0deg,#060708 0%,#060708aa 16%,transparent 45%),radial-gradient(ellipse at 40% 55%,transparent 45%,#000a 100%)}
.schleier::after{content:"";position:absolute;inset:0;background:#060708;opacity:var(--dunkel,0)}

/* Sätze über der Szene */
.satz{position:absolute;z-index:3;padding:0 24px;pointer-events:none}
.satz .aktionen{pointer-events:auto}
.s1{right:max(24px,calc(50% - 556px));bottom:8%;max-width:560px;opacity:var(--s1,1);transform:translateY(calc(var(--s1v,0) * 1px))}
.s1 small,.s2 small{display:block;font:italic 400 21px/1.3 var(--serif);color:var(--hell)}
.s1 h1{font:500 clamp(38px,5vw,74px)/1 var(--serif);letter-spacing:-.03em;margin:10px 0 24px;text-shadow:0 6px 40px #000}
.s1 h1 em{font-style:italic;color:var(--akzent)}
.s1 .aktionen{display:flex;gap:12px;flex-wrap:wrap}
.s2{left:0;right:0;top:80%;transform:translateY(calc(-50% + var(--s2v,30) * 1px));text-align:center;opacity:var(--s2,0)}
.s2 small{font-size:18px;margin-bottom:10px}
.s2 p{font:italic 400 clamp(28px,4vw,56px)/1.15 var(--serif);text-shadow:0 6px 40px #000}
.scrollhinweis{position:absolute;left:50%;translate:-50% 0;bottom:22px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;font:600 13px var(--kopf);color:var(--leise);opacity:var(--s1,1)}
.scrollhinweis span{width:2px;height:46px;background:linear-gradient(var(--tuerkis),transparent);animation:tropfen 1.8s ease-in-out infinite}
@keyframes tropfen{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* Einstieg beim Laden */
.s1 > *{animation:hoch 1.1s cubic-bezier(.2,.7,.2,1) both}
.s1 small{animation-delay:1.6s}.s1 h1{animation-delay:1.85s}.s1 .aktionen{animation-delay:2.15s}
@keyframes hoch{from{opacity:0;transform:translateY(30px);filter:blur(8px)}}
.kulisse::before{content:"";position:absolute;inset:0;z-index:4;background:#040506;pointer-events:none;animation:aufblenden 2.2s ease .2s forwards}
@keyframes aufblenden{to{opacity:0}}

/* ---------- Abschnitte ---------- */
section.teil{padding:128px 0 40px;scroll-margin-top:60px;position:relative;overflow-x:clip}
.ueber{display:block;font:italic 400 21px/1.3 var(--serif);color:var(--leise);margin-bottom:8px}
h2{font:500 clamp(36px,5vw,64px)/1.02 var(--serif);letter-spacing:-.03em}
.vorspann{color:var(--leise);max-width:62ch;margin-top:14px}

/* Live: Stream, Spiel-Infos, Unterstützen */
.bildschirm{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#040506;border:1px solid var(--linie);box-shadow:0 40px 90px #000c}
.bildschirm iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vorhang{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center;padding:24px;
  background:linear-gradient(#060708b3,#060708f0),url(bilder/lounge-melih-1200.jpg) 64% 26%/cover}
.ist-live .vorhang::before{content:"LIVE";position:absolute;left:16px;top:14px;background:var(--live);color:#fff;font:700 13px var(--kopf);letter-spacing:.14em;padding:4px 10px;border-radius:6px}
.abspielen{display:inline-flex;align-items:center;gap:14px;border:0;border-radius:8px;background:var(--tuerkis);color:#06201e;font:700 17px var(--kopf);padding:15px 28px 15px 22px;transition:transform .2s,box-shadow .2s}
.abspielen:hover{background:var(--akzent-hell)}
.abspielen:active{transform:scale(.98)}
.abspielen i{border-left:15px solid currentColor;border-block:9px solid transparent}
.vorhang p{max-width:440px;font-size:14px;color:var(--leise)}
.player-leiste{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.player-leiste[hidden]{display:none}
.geld-knoepfe{display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.hinweis-knopf{grid-column:1/-1;justify-self:end;min-height:44px;padding:0;border:0;background:none;color:var(--akzent);font:600 15px var(--kopf);text-decoration:underline;text-decoration-color:#66ffff66;text-underline-offset:4px}
.hinweis-knopf:hover{text-decoration-color:var(--akzent)}

/* Fenster: Prime-Sub-Anleitung */
.dialog{margin:auto;max-width:min(520px,calc(100vw - 32px));border:1px solid var(--linie);border-radius:12px;background:var(--holz);color:var(--text);padding:30px 24px 24px;box-shadow:0 40px 120px #000}
.dialog::backdrop{background:#040506cc}
.dialog h3{font:500 30px var(--serif);letter-spacing:-.02em;margin-bottom:8px;padding-right:40px}
.dialog p{color:var(--leise)}
.dialog ol{padding-left:22px;display:grid;gap:10px;margin:16px 0}
.dialog .klein{font-size:14px;margin-bottom:18px}
.dialog .zu{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:12px;background:none;font-size:30px;line-height:1;color:var(--leise)}
.dialog .zu:hover{color:var(--text)}
.dialog details{margin-top:12px;padding:0 16px;border:1px solid var(--linie);border-radius:12px;background:#ffffff06}
.dialog summary{display:flex;align-items:center;min-height:48px;cursor:pointer;list-style:none;font:700 15px var(--kopf);color:var(--bernstein)}
.dialog summary::-webkit-details-marker{display:none}
.dialog summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--leise)}
.dialog details[open] summary::after{content:"–"}
.dialog details ol{margin:2px 0 14px}
.dialog details .knopf{margin-bottom:16px}
.kopierfeld{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:10px;padding:8px 8px 8px 14px;border-radius:10px;border:1px solid var(--linie);background:#060708;color:var(--text);font:600 15px var(--mono);text-align:left}
.kopierfeld span{overflow-wrap:anywhere}
.kopierfeld i{flex:none;font:600 14px var(--kopf);font-style:normal;background:var(--tuerkis);color:#060708;padding:8px 11px;border-radius:8px}

/* Mitmachen */
.bestellung{margin-top:44px;display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
.hausregeln{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px;max-width:560px}
.hausregeln li{position:relative;padding-left:30px;color:var(--leise)}
.hausregeln li::before{content:"✓";position:absolute;left:0;color:var(--tuerkis);font-weight:700}
.hausregeln b{color:var(--text)}
.schildchen{display:inline-block;font:500 15px var(--kopf);color:var(--hell);border-left:2px solid var(--akzent);padding:2px 0 2px 12px}

/* Mitmachen: Formular, Karte */
.bestellformular{display:grid;gap:16px;margin-top:6px;max-width:560px}
.bestellformular[hidden],.feld[hidden],.schiene[hidden],.schildchen[hidden],.mini-bon[hidden],.clips-bereich[hidden],.plan[hidden]{display:none}
.anmeldung{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;color:var(--leise);font-size:15px}
.anmeldung b{color:var(--text)}
.textknopf{background:none;border:0;color:var(--tuerkis);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 4px}
.umschalter{display:flex;gap:8px;border:0;padding:0}
.umschalter label{flex:1;display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:12px;border:1.5px solid #ffffff30;cursor:pointer;font:700 15px var(--kopf)}
.umschalter input{position:absolute;opacity:0;pointer-events:none}
.umschalter label:has(input:checked){border-color:var(--tuerkis);background:#66ffff14;color:var(--tuerkis)}
.umschalter label:has(input:focus-visible){outline:3px solid var(--tuerkis);outline-offset:2px}
.feld{display:grid;gap:6px}
.feld label,.block label,.arena-form label,.feld-titel{font:600 15px var(--kopf);color:var(--bernstein)}
.feld input,.feld select,.feld textarea,.block input:not([type=checkbox]),.block textarea,.block select,.arena-form input,.waehler-suche{width:100%;font:16px/1.5 var(--text-schrift);color:var(--text);background:#060708;border:1.5px solid var(--linie);border-radius:12px;padding:12px 14px}
.feld input:focus,.feld select:focus,.feld textarea:focus,.block input:focus,.block textarea:focus,.block select:focus,.arena-form input:focus,.waehler-suche:focus{border-color:var(--tuerkis);outline:none}
.feld small{font-size:13px;color:var(--leise)}
.feld small.gut{color:var(--tuerkis)}
.feld small.schlecht,.meldung.fehler{color:#ff8f8f}
.honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Deine Bestellungen (nur angemeldet): Stand sehen, zurückziehen */
.meine{display:grid;gap:10px;max-width:560px;margin-top:30px;scroll-margin-top:96px}
.meine[hidden]{display:none}
.meine h3{font:600 15px var(--kopf);color:var(--bernstein)}
.meine-info{color:var(--leise);font-size:14px}
.meine-liste{list-style:none;padding:0;display:grid;gap:8px}
.meine-zeile{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.meine-zeile b{font-weight:600;overflow-wrap:anywhere}
.meine-zeile small{display:block;color:var(--leise);font-size:13px}
.meine-stand{padding:4px 8px;border-radius:6px;background:#ffffff10;color:var(--leise);font:600 13px var(--kopf);white-space:nowrap}
.meine-zeile.frei .meine-stand{background:#66ffff1a;color:var(--tuerkis)}
.meine-zeile.abgelehnt,.meine-zeile.zurueckgezogen{opacity:.6}
.meine-zeile .textknopf{grid-column:1 / -1;justify-self:start;min-height:34px;padding:0;font-size:14px}
.meine-leer{color:var(--leise);font-size:14px}
.bestellformular .knopf{justify-self:start}
.knopf:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.meldung{min-height:1.6em;font-size:15px;color:var(--tuerkis)}
/* Vorschlagen: schon angenommene Ideen und Sounds als schlichte Liste (kein Bon-Look mehr – Melih, 31.10.) */
.vorschlag-seite{display:grid;gap:30px;align-content:start}
.angenommen h3{font:italic 400 21px var(--serif);color:var(--leise);margin-bottom:8px}
.angenommen[hidden],.vorschlag[hidden]{display:none}
.angenommen ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--linie)}
.vorschlag{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--linie)}
.vorschlag-kopf{display:flex;justify-content:space-between;gap:12px;font:500 13px var(--mono);color:var(--leise)}
.vorschlag-kopf b{font-weight:500;color:var(--akzent)}
.vorschlag p{overflow-wrap:anywhere}
.vorschlag a{color:var(--akzent);font-size:14px}
.vorschlag small{color:var(--leise);font-size:13px}
.angenommen .textknopf{margin-top:8px}
.block h3{font:600 15px var(--kopf);color:var(--bernstein);margin-bottom:14px}
/* Abstände: in Blöcken regelt das Raster die Abstände; Beschriftung sitzt dicht an ihrem Feld, zum nächsten Feld ist mehr Luft; leere Meldungen nehmen keinen Platz */
.block h3{margin-bottom:0}
.block > label:not(.haken) + :is(input,textarea,select),.arena-form > label + input{margin-top:-6px}
.block > :is(input,textarea,select) + label{margin-top:8px}
.meldung:empty{display:none}
.eintrag{display:grid;gap:6px;background:var(--holz2);border:1px solid var(--linie);border-radius:12px;padding:16px 18px}
.eintrag .art{font:600 14px var(--kopf);color:var(--bernstein)}
.eintrag p{overflow-wrap:anywhere}
.eintrag a{color:var(--tuerkis)}
.eintrag small{color:var(--leise);font-size:13px}

/* Bon-Schiene: freigegebene Bestellungen hängen als Bons rechts neben dem Formular */

/* Clips (Highlights) – holt der Server automatisch von Twitch */

/* ---------- Team-Bereich: Reiter oben (bleiben beim Scrollen stehen), darunter Karten und Kacheln ---------- */
.unterseite.teambereich main{padding-top:110px}
.team-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:8px 24px;flex-wrap:wrap}
.team-kopf h1{margin-bottom:0}
.team-gruss{color:var(--leise);padding-bottom:12px}
.reiter{position:sticky;top:68px;z-index:20;display:flex;gap:6px;flex-wrap:wrap;margin:22px -8px 20px;padding:10px 8px;background:#060708f7;border-bottom:1px solid var(--linie)}
.reiter[hidden],.team-teil[hidden]{display:none}
.reiter button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:8px;border:1.5px solid #ffffff26;background:none;font:600 15px var(--kopf);color:#d5dae0;white-space:nowrap}
.reiter button:hover{border-color:#ffffff59}
.reiter button[aria-selected=true]{border-color:var(--tuerkis);color:var(--tuerkis);background:#66ffff14}
.zahl{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:4px;background:var(--akzent);color:#060708;font:600 12px var(--kopf);letter-spacing:0}
.team-teil{display:grid;gap:16px}
.teil-kopf{display:grid;gap:4px}
.teil-kopf h2{font:400 clamp(28px,3.4vw,38px)/1.15 var(--serif)}
.teil-kopf p{color:var(--leise);max-width:720px;font-size:15px}
.teil-kopf.klein{margin-top:12px}
.teil-kopf.klein h3{font:600 15px var(--kopf);color:var(--bernstein)}
.leer-hinweis{padding:18px;border-radius:12px;border:1px dashed var(--linie);color:var(--leise);font-size:15px;text-align:center}
.knopf.klein{min-height:40px;padding:0 16px;font-size:13px}
.knoepfe{display:flex;gap:8px;flex-wrap:wrap}
.block{display:grid;gap:12px;background:var(--holz);border:1px solid var(--linie);border-radius:12px;padding:22px}
.block[hidden],.knoepfe[hidden],.block .knoepfe[hidden]{display:none}   /* sonst schlägt display:grid/flex das hidden-Attribut (Discord-Kasten, 2FA-Kasten) */
.block h2{font:400 28px var(--serif)}
.block p{color:var(--leise);font-size:15px}
.block-kopf{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}
.block .block-kopf h3{margin-bottom:0}
.block-kopf small{color:var(--leise);font-size:13px}
.zeilen{display:grid;gap:8px}
.zeile{display:flex;gap:8px;flex-wrap:wrap}
.zeile input{flex:1 1 150px}
.zeile .weg{flex:none;width:44px;min-height:44px;border-radius:12px;border:1.5px solid var(--linie);background:none;font-size:22px;color:var(--leise)}
.haken,.block .haken{display:flex;gap:12px;align-items:center;min-height:44px;font:16px var(--text-schrift);letter-spacing:0;text-transform:none;color:var(--text)}
.tor[hidden]{display:none}
.avatar{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--farbe,var(--gold));color:#060708;font:700 14px var(--kopf)}
/* Warteschlange: Karten, darunter Listen und das Archiv */
.karten-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.bestell-karte{display:grid;gap:12px;align-content:start;padding:18px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.karten-kopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.karten-kopf .nr{font:700 13px var(--kopf);letter-spacing:.08em;color:var(--leise)}
.karten-kopf time{margin-left:auto;color:var(--leise);font-size:13px}
.art-chip{padding:3px 10px;border-radius:4px;font:600 13px var(--kopf);color:var(--bernstein);background:#66ffff1a}
.art-chip.sound{color:var(--akzent);background:#66ffff1f}
.karten-text{font:400 21px/1.35 var(--serif);overflow-wrap:anywhere}
.yt-link{color:var(--tuerkis);font-size:15px}
.karten-fuss{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #ffffff12}
.von{display:inline-flex;align-items:center;gap:8px;color:#d5dae0;font-size:15px}
.zeilen-liste{display:grid;gap:8px}
.zeile-eintrag{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--holz);border:1px solid var(--linie)}
.zeile-text{display:grid;flex:1 1 280px;min-width:0}
.zeile-text b{font-weight:600;overflow-wrap:anywhere}
.zeile-text small{color:var(--leise);font-size:13px}
.abzeichen-zahl{font:500 13px var(--mono);color:var(--hell);white-space:nowrap}
.archiv{padding:0 16px;border-radius:12px;border:1px solid var(--linie);background:#060708}
.archiv[open]{padding-bottom:16px}
.archiv summary{display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer;list-style:none;font:600 15px var(--kopf);color:#d5dae0}
.archiv summary::-webkit-details-marker{display:none}
.archiv summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:-45deg;transition:rotate .2s}
.archiv[open] summary::before{rotate:45deg}
.archiv-hinweis{color:var(--leise);font-size:14px;margin-bottom:10px}
/* Ideen-Ecke: Kacheln mit Namen */
.ideen-raster{columns:3 280px;column-gap:14px}
.idee-kachel{display:grid;gap:10px;margin-bottom:14px;break-inside:avoid;padding:16px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.idee-kopf{display:flex;align-items:center;gap:10px}
.idee-wer{display:grid;min-width:0;line-height:1.25}
.idee-wer small{color:var(--leise);font-size:12px}
.idee-kachel p{overflow-wrap:anywhere;white-space:pre-line}
.weg-knopf{margin-left:auto;width:32px;height:32px;border-radius:50%;border:1px solid var(--linie);background:none;color:var(--leise);font-size:18px;line-height:1}
.weg-knopf:hover{color:#ff8f8f;border-color:#ff8f8f}
/* Planung: vier Spalten */
.planung{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}
.planung-spalte{display:grid;gap:10px;align-content:start;padding:12px;border-radius:12px;background:#060708;border:1px solid var(--linie);border-top:3px solid var(--spalte,#6b727c)}
.planung-spalte.geplant{--spalte:var(--bernstein)}
.planung-spalte.laeuft{--spalte:var(--live)}
.planung-spalte.erledigt{--spalte:var(--tuerkis)}
.planung-spalte h3{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;font:600 15px var(--kopf);color:#d5dae0}
.planung-spalte .zahl{background:#ffffff1a;color:var(--text)}
.planung-spalte .leer-hinweis{padding:12px;font-size:14px}
.plan-karte{display:grid;gap:8px;padding:14px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.plan-art{font:600 13px var(--kopf);color:var(--bernstein)}
.plan-titel{font-weight:600;overflow-wrap:anywhere}
.plan-chips{display:flex;gap:6px;flex-wrap:wrap}
.mini-chip{padding:2px 8px;border-radius:6px;background:#ffffff10;color:#d5dae0;font-size:12px}
.plan-notiz{color:var(--leise);font-size:14px}
.plan-von{color:var(--leise);font-size:12px}
.plan-bearbeiten summary{cursor:pointer;color:var(--tuerkis);font-size:14px}
.plan-felder{display:grid;gap:6px;margin-top:8px}
.plan-felder input,.plan-felder select{width:100%;font:15px var(--text-schrift);color:var(--text);background:#060708;border:1.5px solid var(--linie);border-radius:10px;padding:8px 10px}
/* Turnier im Team-Bereich */
.schalter-reihe{display:flex;gap:4px 24px;flex-wrap:wrap}
.formular-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.fach{display:grid;gap:6px;align-content:start}
.fach.breit{grid-column:1 / -1}
.fach small{color:var(--leise);font-size:13px}
.spiel-fach{position:relative}
.vorschlaege{position:absolute;left:0;right:0;z-index:5;list-style:none;margin:2px 0 0;padding:6px;max-height:280px;overflow:auto;border-radius:12px;background:#0b0d10;border:1px solid var(--bernstein);box-shadow:0 20px 40px #000c}
.vorschlaege[hidden]{display:none}
.vorschlaege button{width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;text-align:left;font:15px var(--text-schrift);color:var(--text)}
.vorschlaege button:hover,.vorschlaege button:focus-visible{background:#ffffff12;outline:none}
.auswahl-chips{display:flex;gap:8px;flex-wrap:wrap}
.block .auswahl-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:8px;border:1.5px solid #ffffff26;cursor:pointer;font:15px var(--text-schrift);letter-spacing:0;text-transform:none;color:var(--text)}
.block .auswahl-chip:has(input:checked){border-color:var(--tuerkis);background:#66ffff14;color:var(--tuerkis)}
.auswahl-chip input{width:18px;height:18px;accent-color:var(--tuerkis)}
.block p.leise{color:var(--leise);font-size:14px}
/* 2FA im Team-Bereich: Schlüssel und Ersatzcodes gut lesbar */
.zweifaktor{max-width:680px;margin-top:20px}
.zweifaktor code,.zf-codes{font:600 17px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.06em;color:var(--text);overflow-wrap:anywhere}
.zf-schritte{padding-left:20px;display:grid;gap:8px}
.zf-codes{display:grid;grid-template-columns:repeat(2,max-content);gap:4px 28px;padding:0;list-style:none}
.zf-form input{max-width:190px;font:600 20px ui-monospace,Consolas,monospace;letter-spacing:.15em}
.zf-qr svg{display:block;width:min(260px,100%);height:auto;margin:6px 0 18px;border-radius:8px}
.spieler-text{display:flex;align-items:center;gap:12px}
.spieler-text .figur{width:64px;height:36px}
.spieler-info{display:flex;gap:6px;flex-wrap:wrap}
.spieler-zeile.raus{opacity:.55}
.spieler-zeile .nr{flex:none;width:30px;font:700 17px var(--kopf);color:var(--leise)}
/* Turnier im Team-Bereich in vier Schritten (Melih 02.11.): die Leiste zeigt, was erledigt ist und was gerade dran ist */
.tu-schritte{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tu-schritte button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 14px;border:1px solid var(--linie);border-radius:8px;background:var(--holz);color:#d5dae0;font:600 15px var(--kopf);text-align:left}
.tu-schritte b{font:700 18px var(--kopf);color:var(--leise)}
.tu-schritte .erledigt::after{content:"✓";margin-left:auto;color:var(--tuerkis)}
.tu-schritte [aria-current=step]{border:2px solid var(--akzent);color:var(--text)}
.tu-schritte [aria-current=step] b{color:var(--akzent)}
.tu-schritt{display:grid;gap:16px}
.tu-schritt[hidden],#tu-einstellungen[hidden],#tu-baum-block[hidden],#tu-live-block[hidden],#tu-einblenden[hidden]{display:none}
/* Schritt 3 auf einem Bildschirm: links der Turnierbaum, rechts „Jetzt im Stream“. Breiter als der Rest der Seite, die Höhe setzt team.js. */
.tu-leitung{grid-template-columns:minmax(0,1fr) 460px;align-items:stretch;height:var(--hoehe,auto);width:min(1680px,calc(100vw - 64px));margin-left:calc(50% - min(840px,50vw - 32px))}
.tu-leitung:has(#tu-live-block[hidden]){grid-template-columns:minmax(0,1fr)}
.tu-leitung > .leer-hinweis{grid-column:1/-1;align-self:start}
.tu-baum-teil,.tu-live-teil{min-height:0;overflow:auto;align-content:start}
.tu-baum-teil{padding:14px 18px}
.tu-baum-teil .baum-huelle{overflow:visible;margin-top:0;padding-bottom:0}
/* „Jetzt im Stream“: ein Kampf in der Reihenfolge, wie er abläuft – nummeriert wie die Schritte oben */
.tu-live-teil{gap:10px;padding:16px 18px}
.tu-live-teil .live-punkte{padding:10px}
.tu-live-teil .live-zeile select{flex:1 1 120px}
.kampf-schritte{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:kampf}
.kampf-schritte li{position:relative;display:grid;gap:6px;padding-left:30px;counter-increment:kampf}
.kampf-schritte li::before{content:counter(kampf);position:absolute;left:0;top:0;font:700 17px/1.3 var(--kopf);color:var(--akzent)}
.kampf-schritte small{color:var(--leise);font-size:13px}
.kampf-schalter,.block .kampf-schalter{min-height:40px;padding:4px 12px;border:1px solid var(--linie);border-radius:8px}
.arena-zeile{display:flex;gap:8px}
.arena-zeile input{flex:1 1 0;min-width:0}
.einblend-knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.einblend-knoepfe select{width:auto}
.einblend-knoepfe [aria-pressed=true]{border-color:var(--akzent);color:var(--akzent)}
/* Kompakter Turnierbaum (nur Schritt 3): kleinere Karten, Freilose ausgeblendet – so passen 16 Plätze auf einen Bildschirm */
.baum.kompakt{--spalt:28px}
.baum.kompakt .runde{width:196px}
.baum.kompakt .runde:first-child{width:236px}   /* erste Runde mit ⇄ und ↕: sonst werden die Namen abgeschnitten */
.baum.kompakt .runde-titel{padding-bottom:4px;font-size:13px}
.baum.kompakt .spiel{margin:3px 0}
.baum.kompakt .spiel-marke{display:none}   /* „Als Nächstes“ und „Live“ zeigt hier der farbige Rahmen, die Namen stehen rechts unter „Jetzt im Stream“ */
.baum.kompakt .platz-knopf{min-height:30px;padding:2px 8px;gap:8px;font-size:13px}
.baum.kompakt .namen{line-height:1.15}
.baum.kompakt .namen small{font-size:11px}
.baum.kompakt .platz .figur{width:34px;height:19px}
.baum.kompakt .platz .figur.initiale,.baum.kompakt .platz .figur.platzhalter{width:22px;height:22px;font-size:11px}
.baum.kompakt .wechseln{width:28px;font-size:14px}
.baum.kompakt .platz.freilos{display:none}
.baum.kompakt .pokal-karte{padding:12px 8px;gap:6px}
.baum.kompakt .pokal-karte .pokal{width:28px;height:28px}
.baum.kompakt .pokal-karte .namen b{font-size:17px}
@media (max-width:1100px){
  .tu-leitung{grid-template-columns:minmax(0,1fr);height:auto;width:auto;margin-left:0}
  .tu-baum-teil,.tu-live-teil{overflow:visible}
  .tu-baum-teil .baum-huelle{overflow-x:auto}
}
@media (max-width:700px){.tu-schritte{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Live im Stream: Spiel wählen, Punkte zählen */
.live-zeile{display:flex;gap:10px;flex-wrap:wrap}
.live-zeile select{flex:1 1 240px;width:100%}   /* 100 %: lange Spielnamen machen die Seite am Handy nicht breiter */
.live-punkte{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:16px;border-radius:12px;background:#060708;border:1px solid var(--linie)}
.live-seite{display:grid;justify-items:center;gap:10px;min-width:0}
.live-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.punkte-steuer{display:flex;align-items:center;gap:14px}
.punkte-steuer strong{min-width:44px;text-align:center;font:700 42px/1 var(--kopf);font-variant-numeric:tabular-nums;color:var(--text)}
.punkt-knopf{width:48px;height:48px;border-radius:50%;border:1.5px solid #ffffff30;background:none;font-size:24px;line-height:1}
.punkt-knopf:hover{border-color:var(--tuerkis);color:var(--tuerkis)}
.live-trenner{font:700 40px var(--kopf);color:var(--leise)}
/* wie im Stream: getauscht wandern die Spieler, die Farben bleiben an der Seite (Smash: links rot = P1, rechts blau = P2) */
.live-punkte.getauscht .live-trenner{order:1}
.live-punkte.getauscht .live-seite:first-child{order:2}
.live-punkte.farben .live-seite{padding-top:10px;border-top:4px solid var(--farbe)}
.live-punkte.farben .live-seite:first-child,.live-punkte.farben.getauscht .live-seite:last-child{--farbe:#fd3232}
.live-punkte.farben .live-seite:last-child,.live-punkte.farben.getauscht .live-seite:first-child{--farbe:#2985f5}
/* Nur für Melih: Overlay-Schlüssel – gestrichelt, damit es nicht wie ein normaler Bereich aussieht */
.geheim{margin-top:14px;padding:12px 14px;border:1px dashed #66ffff80;border-radius:12px;background:#66ffff0d}
.geheim p{margin:0 0 10px}
.block code,.teil-kopf code{font:14px var(--mono);color:var(--tuerkis);overflow-wrap:anywhere}
/* Protokoll */
.protokoll{display:grid}
.protokoll-zeile{display:grid;grid-template-columns:118px 150px minmax(0,1fr);gap:12px;padding:10px 4px;border-bottom:1px solid #ffffff10;font-size:15px}
.protokoll-zeile time{color:var(--leise);font-variant-numeric:tabular-nums}
.protokoll-zeile b{overflow:hidden;text-overflow:ellipsis;color:var(--bernstein);font-weight:600}
.protokoll-zeile span{overflow-wrap:anywhere}
#p-mehr[hidden]{display:none}
/* ---------- Turnier: eigener Bereich („Arena“) – gleiche Farben und Schriften wie die Lounge, dazu Gold und Scheinwerferlicht ---------- */
.regeln{white-space:pre-line}
.knopf.gold{background:var(--akzent);color:#060708}
.knopf.gold:hover{background:var(--akzent-hell)}
.unterseite.arena main{padding-top:68px}
.arena-kopf{position:relative;overflow:hidden;padding:60px 0 46px;border-bottom:1px solid var(--linie);background:var(--holz)}
.arena-held{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center}
.arena-held:has(.arena-cover:not([hidden])){grid-template-columns:auto minmax(0,1fr) auto}
.arena-cover{width:148px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;rotate:-2deg;box-shadow:0 0 0 1px #ffffff26,0 26px 60px #000d}
.arena-cover img{display:block;width:100%;height:100%;object-fit:cover}
.arena-cover[hidden],.arena-zahlen[hidden],.zahl-kachel[hidden],.arena-raster[hidden],.arena-abschnitt[hidden]{display:none}
.wappen{display:inline-flex;align-items:center;gap:10px;font:italic 400 21px var(--serif);color:var(--leise)}
.wappen-pokal{width:20px;height:20px;color:var(--akzent)}
.arena h1{margin:12px 0 10px}
.arena-meta{color:#d5dae0;font-size:19px}
.arena-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 10px;border-radius:4px;font:500 14px var(--kopf);color:var(--hell);background:#ffffff0d;border:1px solid #ffffff1f}
.chip i{width:8px;height:8px;border-radius:50%;background:currentColor}
.chip.gruen{color:var(--tuerkis);border-color:#66ffff55;background:#66ffff0f}
.chip.bernstein{color:var(--bernstein);border-color:#66ffff66;background:#66ffff12}
.chip.live{color:var(--live);border-color:#ff3b2f66;background:#ff3b2f12}
.chip.bernstein i,.chip.live i{animation:puls 1.6s infinite}
.chip.gold{color:var(--text);border-color:var(--gold);background:#ffffff1f}
.chip.grau{color:var(--leise)}
.arena-zahlen{display:grid;gap:12px;min-width:230px}
.zahl-kachel{padding:14px 0 0;border-top:1px solid var(--linie)}
.zahl-kachel span{display:block;font:italic 400 18px var(--serif);color:var(--leise)}
.zahl-kachel strong{display:block;margin-top:4px;font:500 30px/1.1 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.zahl-kachel small{color:var(--leise);font-size:13px}
.balken{height:6px;border-radius:4px;background:#ffffff14;margin:10px 0 7px;overflow:hidden}
.balken i{display:block;height:100%;width:calc(var(--anteil,0) * 100%);border-radius:inherit;background:var(--akzent);transition:width .6s ease}
#t-inhalt[hidden]{display:none}
.arena-raster{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}
.arena-raster:has(#t-seite[hidden]){grid-template-columns:minmax(0,760px)}
.arena-seite{display:grid;gap:18px;align-content:start}
.arena-seite[hidden],.arena-karte[hidden]{display:none}
.preise{list-style:none;padding:0;display:grid;gap:10px}
.preise li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;font-size:17px;color:var(--text)}
.preise b{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font:500 16px var(--mono);color:var(--text);box-shadow:inset 0 0 0 1px var(--linie)}
.preise li:first-child b{color:var(--akzent);box-shadow:inset 0 0 0 1px var(--akzent)}
.arena-ablauf{margin-top:34px}
.arena-karte{display:grid;gap:14px;align-content:start;padding:26px;border-radius:12px;background:var(--holz);border:1px solid var(--linie)}
.arena-karte h2{font:500 30px/1.15 var(--serif);letter-spacing:-.02em}
.arena-karte p{color:var(--leise)}
.arena-karte .knopf{justify-self:start}
.arena-mitmachen{border-color:#ffffff2e}
.arena-mitmachen h3.unter{font:600 15px var(--kopf);color:var(--bernstein);margin-top:6px}
.arena-form{display:grid;gap:12px}
.arena-form .knoepfe,.arena-mitmachen .knoepfe{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.feld-titel{margin-top:4px}
.ich-karte{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:14px;border-radius:12px;background:#060708;border:1px solid var(--linie)}
.ich-karte .namen b{font:400 26px/1.2 var(--serif)}
.ich-karte .namen small{font-size:15px}
.status-text{color:var(--text)!important}
.hinweis-text{padding:12px 14px;border-radius:12px;background:#66ffff12;border:1px solid #66ffff40;color:#d8f6f6!important}
.bestaetigt{font:700 14px var(--kopf);color:var(--tuerkis)!important}
/* Charakterauswahl wie im Spiel */
.waehler{display:grid;gap:10px}
.waehler-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-auto-rows:max-content;align-content:start;gap:6px;max-height:304px;overflow-y:auto;padding:6px;border-radius:12px;background:#060708;border:1px solid var(--linie);scrollbar-width:thin;scrollbar-color:#3d4a56 transparent}
.waehler-kachel{position:relative;display:block;padding:0;border:0;border-radius:8px;overflow:hidden;aspect-ratio:144/82;background:#040506;opacity:.8;outline:2px solid transparent;outline-offset:-2px;transition:opacity .15s,transform .15s,outline-color .15s}
.waehler-kachel:hover{opacity:1;transform:scale(1.05)}
.waehler-kachel[aria-selected=true]{opacity:1;outline-color:var(--akzent)}
.waehler-kachel[hidden]{display:none}
.waehler-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.waehler-wahl{font:700 14px var(--kopf);color:var(--bernstein)!important}
/* Ablauf als Zeitleiste: am PC waagerecht, auf dem Handy senkrecht */
.ablauf{list-style:none;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.ablauf li{position:relative;padding:28px 18px 0 0}
.ablauf li::before{content:"";position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;background:#ffffff2e;box-shadow:0 0 0 4px #ffffff0a}
.ablauf li::after{content:"";position:absolute;top:6px;left:24px;right:10px;height:2px;background:#ffffff14}
.ablauf li:last-child::after{display:none}
.ablauf li.fertig::before{background:var(--gold)}
.ablauf li.fertig::after{background:var(--hell)}
.ablauf li.jetzt::before{background:var(--akzent);box-shadow:0 0 0 4px #66ffff33}
.ablauf b{display:block;font:600 15px var(--kopf)}
.ablauf li.jetzt b{color:var(--akzent)}
.ablauf span{color:var(--leise);font-size:15px}
.arena-abschnitt{margin-top:56px}
.abschnitt-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--linie)}
.abschnitt-kopf h2{font:500 clamp(30px,4vw,42px)/1.1 var(--serif);letter-spacing:-.025em}
.abschnitt-kopf p{color:var(--leise);font-size:15px}
#t-baum-hinweis{color:var(--bernstein)}
#t-baum-hinweis[hidden]{display:none}
/* Spieler: Charakter-Bild (oder Anfangsbuchstabe), Twitch-Name, Name im Spiel */
.figur{display:block;flex:none;width:52px;height:30px;border-radius:6px;object-fit:cover;background:#040506}
.figur.initiale{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 15px var(--kopf);color:#060708;background:var(--hell)}
.figur.gross{width:120px;height:68px;border-radius:10px;box-shadow:0 0 0 1px #ffffff26}
.figur.gross.initiale{width:56px;height:56px;font-size:24px}
.namen{display:grid;min-width:0;line-height:1.3}
.namen b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.namen small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--leise);font-size:13px}
.spielerfeld{list-style:none;padding:0;margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.spielerfeld li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 12px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.spielerfeld .figur{width:64px;height:36px}
.spielerfeld li.ersatz{border-style:dashed}
.spielerfeld li.verpasst,.spielerfeld li.raus{opacity:.5}
.abzeichen{padding:4px 8px;border-radius:6px;font:600 13px var(--kopf);white-space:nowrap;color:var(--leise);background:#ffffff10}
.abzeichen.ok{color:var(--tuerkis);background:#66ffff1a}
.abzeichen.warnung{color:var(--bernstein);background:#66ffff1f;white-space:normal}
.abzeichen.gold{color:#060708;background:var(--hell)}
/* Turnierbaum: Runden nebeneinander, Linien verbinden die Spiele, der Champion steht am Ende */
.baum-huelle{overflow-x:auto;margin-top:18px;padding:4px 2px 18px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#3d4a56 transparent}
.baum{--spalt:56px;--linienfarbe:#3d4a56;display:flex;gap:var(--spalt);width:max-content}
.runde{display:flex;flex-direction:column;width:250px;scroll-snap-align:start}
.runde-titel{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px 10px;margin-bottom:4px;border-bottom:1px solid var(--linie);font:600 15px var(--kopf);color:var(--bernstein)}
.runde-titel small{font:600 11px var(--kopf);letter-spacing:.08em;color:var(--leise)}
.runde-spiele{flex:1;display:flex;flex-direction:column}
.paar{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-around}
.paar::after{content:"";position:absolute;top:25%;bottom:25%;right:calc(var(--spalt) / -2);width:calc(var(--spalt) / 2);border:2px solid var(--linienfarbe);border-left:0;border-radius:0 10px 10px 0}
.paar::before{content:"";position:absolute;top:50%;right:calc(var(--spalt) * -1);width:calc(var(--spalt) / 2);border-top:2px solid var(--linienfarbe)}
.paar.einzel::after{top:50%;bottom:auto;right:calc(var(--spalt) * -1);width:var(--spalt);border:0;border-top:2px solid var(--linienfarbe);border-radius:0}
.paar.einzel::before,.runde-champion .paar::after{display:none}
.spiel{margin:10px 0;border-radius:8px;overflow:hidden;background:var(--holz2);border:1px solid #2c3540}
.spiel.naechstes{border-color:var(--akzent)}
.spiel-marke{display:block;padding:3px 12px;background:#66ffff24;color:var(--bernstein);font:600 12px/1.6 var(--kopf)}
.platz{display:flex}
.platz + .platz{border-top:1px solid #ffffff12}
.platz-knopf{flex:1;display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;padding:8px 12px;border:0;background:none;color:var(--text);text-align:left;font:inherit;font-size:15px}
button.platz-knopf:hover{background:#ffffff0c}
.platz .figur{width:48px;height:27px}
.platz .figur.initiale{width:30px;height:30px;font-size:13px}
.platz .figur.platzhalter{width:30px;height:30px;border-radius:50%;border:1.5px dashed #ffffff30;background:none}
.platz.sieger .platz-knopf{background:#ffffff0a;box-shadow:inset 3px 0 0 var(--akzent)}
.platz.sieger b{color:var(--text)}
.platz.verlierer{opacity:.42}
/* Turnier-Seite: Arena-ID nur für die, die dran sind – und die Wand der bisherigen Champions */
.arena-zugang{display:grid;gap:6px;margin:16px 0;padding:16px 18px;border:2px solid var(--live);border-radius:12px;background:#ff3b2f14}
.arena-zugang-titel{font:600 15px var(--kopf);color:#f0a0a4}
.arena-zugang strong{font:700 26px var(--kopf);letter-spacing:.06em;color:#fff}
.arena-zugang small{color:var(--leise)}
.champion-wand{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.champion-wand li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--linie);border-radius:12px;background:var(--holz2)}
.champion-wand li div{display:grid;min-width:0}
.champion-wand b{font:700 17px var(--kopf);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.champion-wand small{color:var(--leise)}
.champion-pokal{width:22px;height:22px;color:var(--gold)}
/* Profil: großer Anfangsbuchstabe, vier Zahlen-Kacheln, darunter Siege und Bestellungen */
.arena-held:has(.profil-bild){grid-template-columns:auto minmax(0,1fr)}
.profil-bild{display:grid;place-items:center;width:110px;height:110px;border-radius:12px;font:500 54px var(--serif);color:#060708;background:var(--hell)}
.profil-zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:30px 0}
.profil-anmelden{max-width:620px;margin:30px 0}
.profil-hinweis{margin:24px 0 40px;color:var(--leise);font-size:14px}
.nur-lesen{margin-top:14px;padding:10px 14px;border-left:3px solid var(--akzent);background:var(--holz2);color:var(--hell);font-size:15px}
.nur-lesen[hidden]{display:none}
@media (max-width:600px){
  .arena-held:has(.profil-bild){grid-template-columns:minmax(0,1fr);gap:18px}
  .profil-bild{width:76px;height:76px;font-size:38px;border-radius:12px}
}
/* Raus: wie in echten Brackets durchgestrichen */
.platz.verlierer .namen b{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--live)}
/* Gerade im Match: rot mit pulsierendem Punkt */
.spiel.live{border-color:var(--live)}
.spiel-marke.live{display:flex;align-items:center;gap:7px;background:#ff3b2f26;color:#f0a0a4}
.spiel-marke.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live);animation:puls 1.4s infinite}
.platz.leer .namen b{color:var(--leise);font-weight:400;font-style:italic}
.haken-zeichen{margin-left:auto;padding-left:6px;color:var(--gold);font-weight:700}
.wechseln{flex:none;width:42px;border:0;border-left:1px solid #ffffff12;background:none;color:var(--leise);font-size:17px}
.wechseln:hover{color:var(--bernstein);background:#ffffff0c}
.wechseln.tauschen[aria-pressed=true]{color:#060708;background:var(--akzent)}
.pokal-karte{display:grid;justify-items:center;gap:10px;margin:10px 0;padding:24px 16px;text-align:center;border:1px solid var(--hell);border-radius:10px;background:var(--holz2)}
.pokal-karte .pokal{width:40px;height:40px;color:var(--akzent)}
.pokal-karte .namen{justify-items:center}
.pokal-karte .namen b{font:500 24px/1.2 var(--serif);color:var(--text);white-space:normal}
.pokal-karte.offen{opacity:.75}
.pokal-karte.offen .namen{color:var(--leise);font-size:15px}
.block .knoepfe{display:flex;gap:10px;flex-wrap:wrap}
.block .knoepfe [hidden]{display:none}
.tabelle-huelle{overflow-x:auto}
.tabelle{width:100%;border-collapse:collapse;font-size:15px}
.tabelle th{text-align:left;font:600 14px var(--kopf);color:var(--bernstein);padding:8px 10px;border-bottom:1px solid var(--linie)}
.tabelle td{padding:8px 10px;border-bottom:1px solid #ffffff10;white-space:nowrap}
.haken input{width:22px;height:22px;accent-color:var(--tuerkis)}
.tor{display:grid;gap:16px;justify-items:start;margin-top:20px}
.tor p{color:var(--leise);max-width:560px}
.testlogin{display:flex;gap:8px;flex-wrap:wrap}

/* Highlights */
.draussen{margin-top:52px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px}
.draussen a{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:baseline;gap:2px 18px;padding:16px 0;border-top:1px solid var(--linie);text-decoration:none}
.draussen a::after{content:"→";grid-column:3;grid-row:1;color:var(--leise);transition:color .2s,transform .2s}
.draussen a[href]:hover::after{color:var(--akzent);transform:translateX(3px)}
.draussen a[href]:hover strong{color:var(--akzent)}
.draussen a[aria-disabled]{opacity:.55}

.draussen small{font:500 15px var(--kopf);color:var(--leise)}
.draussen strong{font:500 22px/1.2 var(--serif);letter-spacing:-.01em;transition:color .2s}
.draussen span{grid-column:2;grid-row:2;color:var(--leise);font-size:14px;overflow-wrap:anywhere}

/* Ehrenwand */
.rahmen{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 36px}
/* Turnier-Champions: über die ganze Breite, der Neueste groß mit Charakter, darunter die früheren */
.bilderrahmen.champions{grid-column:1 / -1}
.bilderrahmen.champions[hidden]{display:none}
.champion-buehne{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;max-width:760px}
.champion-bild{width:120px;height:88px;object-fit:cover;object-position:50% 25%;border-radius:12px;background:#040506;box-shadow:0 0 0 1px var(--linie)}
span.champion-bild{display:grid;place-items:center;font:500 54px var(--serif);color:#060708;background:var(--hell)}
.champion-text{display:grid;gap:6px;justify-items:start;min-width:0}
.champion-name{font:500 clamp(30px,4vw,46px)/1.05 var(--serif);letter-spacing:-.03em;color:var(--text);overflow-wrap:anywhere}
.champion-text span:not(.chip){color:var(--leise)}
.champion-text small{font:600 15px var(--kopf);color:#d5dae0}
.champion-text span.champion-preis{color:var(--bernstein)}
.champion-liste{max-width:760px;margin:24px 0 0}
.champion-liste li b{color:var(--akzent)}
@media (max-width:600px){
  .champion-buehne{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .champion-text{justify-items:center}
}
.bilderrahmen{border-top:1px solid var(--linie);padding-top:20px}
.bilderrahmen > div{height:100%}
.bilderrahmen h3{font:italic 400 21px/1.3 var(--serif);color:var(--leise);margin-bottom:16px}
.ehre{list-style:none;padding:0;display:grid;gap:14px}
.ehre li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center}
.ehre b{font:italic 500 26px/1 var(--serif);color:var(--leise);text-align:center}
.ehre li:first-child b{color:var(--akzent)}
.ehre strong{display:block;font:500 21px/1.2 var(--serif);letter-spacing:-.01em;color:var(--text);overflow-wrap:anywhere}
.ehre span{display:block;color:var(--leise);font-size:14px}
.ehre em{font:500 17px var(--mono);font-style:normal;color:var(--hell);white-space:nowrap}
.ehre .frei b{color:#ffffff40}
.ehre .frei strong{color:#ffffff66;font-style:italic}
.ehre .hinweis{display:block;text-align:center;color:var(--leise);font-size:15px}
.meilensteine li{display:block}
.kamin{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.kamin li{font:500 21px/1.3 var(--serif);color:var(--text);overflow-wrap:anywhere}
.kamin .hinweis{font:15px/1.5 var(--text-schrift);color:var(--leise)}

/* Team */
.personal{margin-top:44px;display:flex;flex-wrap:wrap;gap:8px 40px}
.personal > .schild{flex:0 1 calc((100% - (var(--spalten,3) - 1) * 40px) / var(--spalten,3));max-width:440px}
.schild{border-top:1px solid var(--linie);padding:20px 0 4px}
.schild .rolle{display:block;font:italic 400 19px var(--serif);color:var(--leise)}
.schild h3{font:500 30px/1.15 var(--serif);letter-spacing:-.02em;margin:4px 0 0}
.schild .handle{display:inline-block;color:var(--tuerkis);font-size:15px;text-decoration:none;padding:2px 0}
.schild .handle:hover{text-decoration:underline}
.schild p{color:var(--leise);font-size:15px;margin-top:8px}
.schild p a{color:var(--tuerkis)}
.stammgaeste{margin-top:40px;padding-top:20px;border-top:1px solid var(--linie)}
.stammgaeste h3{font:italic 400 21px var(--serif);color:var(--leise);margin-bottom:12px}
.stammgaeste ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px}
.stammgaeste a{display:inline-flex;align-items:center;min-height:40px;color:var(--text);font-size:17px;text-decoration:underline;text-decoration-color:#ffffff30;text-underline-offset:5px}
.stammgaeste a:hover{color:var(--akzent);text-decoration-color:var(--akzent)}
.schild.gesucht{margin-top:40px;max-width:560px}
.schild.gesucht .rolle{color:var(--akzent)}

/* Business-Hinweis */
.reservierung{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;padding:30px 0;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);text-decoration:none}
.reservierung strong{transition:color .2s}
.reservierung:hover strong{color:var(--akzent)}
.reservierung strong{display:block;font:500 clamp(22px,2.6vw,30px)/1.25 var(--serif);letter-spacing:-.02em;max-width:640px}
.pfeil{font:700 15px var(--kopf);color:var(--tuerkis);white-space:nowrap}

footer{margin-top:100px;border-top:1px solid var(--linie);padding:24px 0 40px;color:var(--leise);font-size:14px}
footer .innen{display:flex;gap:22px;flex-wrap:wrap}
.leiste{display:none}

/* ---------- Unterseiten: Business, Impressum, Datenschutz ---------- */
.unterseite main{padding:130px 0 20px}
.unterseite{background:var(--nacht)}
.b-karte{position:relative;overflow:hidden;transition:border-color .25s}
.b-karte:hover{border-color:#ffffff66}
.unterseite h1{font:500 clamp(38px,5.4vw,68px)/1.02 var(--serif);letter-spacing:-.03em;margin:10px 0 18px;max-width:860px}
.b-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}
.b-karte{background:var(--holz2);border:1px solid var(--linie);border-radius:12px;padding:26px}
.b-karte h2{font:500 30px/1.15 var(--serif);letter-spacing:-.02em;margin-bottom:12px}
.b-karte ul,.b-karte ol{padding-left:20px;color:var(--leise);display:grid;gap:8px}
.b-karte li::marker{color:var(--akzent)}
.b-kontakt{margin-top:18px;padding:30px 28px;border-radius:12px;border:1px solid #66ffff55;background:var(--holz2);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.b-kontakt strong{display:block;font:400 30px/1.2 var(--serif)}
.b-kontakt span{color:var(--leise)}
.recht{max-width:760px}
.recht h2{font:500 24px/1.2 var(--serif);letter-spacing:-.01em;color:var(--text);margin:38px 0 8px}
.recht p{color:#d8dce2;margin-bottom:10px}
.recht a{color:var(--tuerkis)}

/* ---------- Scroll-Effekte ---------- */
.zeigen{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 80ms)}
.zeigen.da{opacity:1;transform:none;filter:none}
.wisch{clip-path:inset(0 100% 0 0);transform:none;filter:none;transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),opacity .3s}
.wisch.da{clip-path:inset(0 0 0 0)}
.schwingen{transition-delay:calc(var(--i,0) * 120ms)}
.drucken{clip-path:inset(0 0 100% 0);transform:none;filter:none;transition:clip-path 1.8s steps(16,end),opacity .2s}
.drucken.da{clip-path:inset(0 0 -20px 0)}

/* Startseite: Zwischen 1361 und 1500px passt „Gerade offline“ nicht neben die sieben Reiter (gemessen 02.11.: bis 1470px nötig). Der Live-Stand steht dort ohnehin groß im Plakat. */
@media (min-width:1361px) and (max-width:1500px){.kopf .status{display:none}}
/* Menü klappt schon unter 1360px ein (sieben Reiter, angemeldet „Dein Bruderpass“ und ein Name bis 160px, gemessen: 1336px nötig), sonst passt die Kopfzeile nicht */
@media (max-width:1360px){
  .menue{display:none}
  .menue-knopf{display:grid}
  .kopf.offen .menue{display:flex;flex-direction:column;gap:0;position:absolute;top:68px;left:0;right:0;padding:6px 18px 14px;background:#060708;border-bottom:1px solid var(--linie)}
  .kopf.offen .menue a{padding:14px 0;font-size:16px;border-bottom:1px solid #ffffff12}
  .kopf.offen .menue a[aria-current]::after{right:auto;width:36px;bottom:8px}
}
@media (max-width:900px){
  .konto{display:none}
  .kopf.offen .konto-handy{display:flex;flex-direction:column}
  .konto-handy span{padding:18px 0 2px;font-size:12px;color:var(--bernstein)}
  .konto-handy .an{color:var(--akzent)}
  .konto-handy button{padding:14px 0;border:0;background:none;text-align:left;font:inherit;font-size:16px;letter-spacing:inherit;text-transform:inherit}
  .kulisse{--fx:.31;--fy:.55}
  .eingang{height:210svh}
  .neon{display:none}
  .neon-handy{display:block;top:15%}
  .s1{bottom:7%;left:0;right:0}
  .scrollhinweis{display:none}
  .bestellung{grid-template-columns:1fr}
  .geld-knoepfe{justify-content:flex-start}
  .hinweis-knopf{justify-self:start}
  .rahmen,.b-raster{grid-template-columns:1fr}
  .personal > .schild{flex-basis:calc((100% - 18px) / 2)}
  .draussen{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chat-platz iframe{height:420px}
  section.teil{padding-top:90px}
  /* Leiste unten: erscheint, sobald man aus der Lounge-Fahrt raus ist */
  .leiste{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:55;padding:8px;border-radius:12px;background:#060708f7;border:1px solid var(--linie);box-shadow:0 18px 50px #000c;
    translate:0 150%;visibility:hidden;transition:translate .45s cubic-bezier(.2,.7,.2,1),visibility 0s .45s}
  .weiter .leiste{translate:0 0;visibility:visible;transition:translate .45s cubic-bezier(.2,.7,.2,1)}
  .leiste .knopf{min-height:48px;padding:0 14px}
  footer{padding-bottom:110px}
}
@media (max-width:480px){
  .status{display:none}
  .kopf .rechts .knopf{padding:0 16px;font-size:14px}
  .innen{padding:0 18px}
  .s1{padding:0 18px}
  .geld-knoepfe .knopf{flex:1 1 calc(50% - 5px);padding:0 12px}
  .draussen strong{font-size:22px}
  .personal > .schild{flex-basis:100%;max-width:none}
}
/* Team-Bereich auf dem Handy */
@media (max-width:700px){
  .kopf .innen{padding:0 16px}
  .unterseite.teambereich main{padding-top:96px}
  .reiter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .formular-raster,.karten-raster{grid-template-columns:minmax(0,1fr)}
  .protokoll-zeile{grid-template-columns:minmax(0,1fr);gap:2px}
  .karten-text{font-size:19px}
  /* Live-Punkte: Zahl oben, − und + darunter – so passen beide Spieler nebeneinander und die Knöpfe bleiben groß genug zum Tippen */
  .punkte-steuer{display:grid;grid-template-columns:auto auto;justify-items:center;gap:10px}
  .punkte-steuer strong{grid-column:1 / -1;grid-row:1}
}
/* Turnier auf Tablet und Handy */
@media (max-width:900px){
  .arena-held{grid-template-columns:minmax(0,1fr)}
  .arena-held:has(.arena-cover:not([hidden])){grid-template-columns:auto minmax(0,1fr)}
  .arena-zahlen{grid-column:1 / -1;grid-template-columns:1fr 1fr;min-width:0}
  .arena-raster{grid-template-columns:1fr}
}
@media (max-width:600px){
  .arena-kopf{padding:34px 0 28px}
  .arena-held,.arena-held:has(.arena-cover:not([hidden])){grid-template-columns:minmax(0,1fr);gap:18px}
  .arena-cover{width:96px}
  .arena-meta{font-size:17px}
  .zahl-kachel{padding:12px 14px}
  .zahl-kachel strong{font-size:26px}
  .arena-karte{padding:20px}
  .arena-ablauf{padding:20px}
  .ablauf{grid-auto-flow:row}
  .ablauf li{padding:0 0 18px 30px}
  .ablauf li:last-child{padding-bottom:0}
  .ablauf li::after{top:22px;bottom:2px;left:6px;right:auto;width:2px;height:auto}
  .ablauf li.fertig::after{background:var(--hell)}
  .arena-abschnitt{margin-top:44px}
  .ich-karte .figur.gross{width:96px;height:55px}
  .waehler-raster{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));max-height:260px}
  .baum{--spalt:40px}
  .runde{width:224px}
}

/* ---------- Startseite für Zuschauer (31.10.): Begrüßung, Neu hier?, Stream verpasst?, Rangliste ---------- */
/* Persönliche Begrüßung (angemeldet): wie eine Platzkarte am Tisch */
.s1 .gruss{display:grid;gap:2px;max-width:480px;margin:-8px 0 22px;padding:12px 16px;border-left:2px solid var(--akzent);background:#060708e0;animation-delay:2s}
.s1 .gruss[hidden]{display:none}
.s1 .gruss b{font:500 22px/1.25 var(--serif);letter-spacing:-.01em;color:var(--text)}
.s1 .gruss span{font-size:15px;color:var(--hell)}
/* Stream verpasst? (live ausgeblendet – dann gibt es den Player) */
/* Ehrenwand mit vier Spalten: Raids, Sub-Spender, Meilensteine, Rangliste */
.rahmen{grid-template-columns:repeat(4,minmax(0,1fr))}
.rahmen-link{display:inline-block;margin-top:16px;color:var(--akzent);font-size:14px;text-decoration:underline;text-decoration-color:#66ffff66;text-underline-offset:4px}
.champion-text small.champion-tipper{color:var(--akzent)}
@media (max-width:1100px){.rahmen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .rahmen{grid-template-columns:1fr}
  .s1 .gruss{margin-top:-10px}
}
@media (max-width:700px){
  .draussen{grid-template-columns:1fr}
}
/* Profil: Abzeichen, Lounge-Ausweis, Rangliste */
.abzeichen-liste{list-style:none;padding:0;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 32px}
.abzeichen-liste li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-top:1px solid #ffffff10;opacity:.45}
.abzeichen-liste li.da{opacity:1}
.abzeichen-liste b{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;font:600 14px var(--mono);color:var(--leise);box-shadow:inset 0 0 0 1px #ffffff2e}
.abzeichen-liste li.da b{color:#060708;background:var(--akzent);box-shadow:none}
.abzeichen-liste strong{display:block;font:500 19px/1.2 var(--serif);letter-spacing:-.01em;color:var(--text)}
.abzeichen-liste small{display:block;color:var(--leise);font-size:13px}
.ausweis{margin-top:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
.ausweis canvas{display:block;width:min(270px,70vw);height:auto;aspect-ratio:9/16;border-radius:12px;border:1px solid var(--linie);box-shadow:0 30px 70px #000c;background:#060708}
.ausweis-knoepfe{display:grid;gap:12px;justify-items:start}
.ausweis-knoepfe [hidden]{display:none}
.rangliste-karte{margin-top:28px;display:grid;gap:12px;scroll-margin-top:90px}
.rangliste-karte h2{font:500 28px/1.2 var(--serif);letter-spacing:-.02em}
.rangliste-karte p{color:var(--leise);max-width:640px}
.schalter{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-weight:600}
.schalter input{appearance:none;flex:none;width:52px;height:30px;margin:0;border-radius:8px;background:#23272e;border:1.5px solid var(--linie);position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.schalter input::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#9aa1ab;transition:transform .2s,background .2s}
.schalter input:checked{background:#66ffff33;border-color:var(--tuerkis)}
.schalter input:checked::after{transform:translateX(22px);background:var(--tuerkis)}
.schalter input:focus-visible{outline:2px solid var(--tuerkis);outline-offset:3px}
@media (max-width:600px){
  .ausweis{grid-template-columns:1fr;justify-items:center}
  .ausweis-knoepfe{justify-items:center;text-align:center}
}
/* Turnier: Tippspiel */
.tipp-raster{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.tipp-spiele{list-style:none;padding:0;display:grid;gap:12px}
.tipp-spiel{display:grid;gap:10px;padding:16px;border-radius:12px;background:var(--holz2);border:1px solid var(--linie)}
.tipp-spiel.live{border-color:var(--live)}
.tipp-runde{font:600 14px var(--kopf);color:var(--bernstein)}
.tipp-spiel.live .tipp-runde{color:var(--live)}
.tipp-seiten{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tipp-wahl{--anteil:0%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1.5px solid var(--linie);color:var(--text);font:inherit;text-align:left;cursor:pointer;
  background:linear-gradient(90deg,#66ffff24 0 var(--anteil),#060708 var(--anteil));transition:border-color .2s,box-shadow .2s}
.tipp-wahl:hover:not(:disabled){border-color:var(--tuerkis)}
.tipp-wahl:disabled{cursor:default}
.tipp-wahl.gewaehlt{border-color:var(--akzent);box-shadow:inset 0 0 0 1px var(--akzent)}
.tipp-wahl strong{font:400 18px/1.2 var(--serif);overflow-wrap:anywhere}
.tipp-anteil{font:700 15px var(--kopf);color:var(--tuerkis)}
.tipp-hinweis{color:var(--leise);font-size:13px}
.tipp-leer{padding:18px;border-radius:12px;border:1px dashed var(--linie);color:var(--leise);text-align:center}
.tipp-tabelle{position:sticky;top:90px}
.tipp-tabelle h3{font:600 15px var(--kopf);color:var(--bernstein);margin-bottom:14px}
.tipp-tabelle .ehre strong{font-size:18px}
.tipp-tabelle .ehre em{font-size:15px}
.tipp-ich{margin-top:14px;color:var(--tuerkis);font-weight:600}
.tipp-ich[hidden]{display:none}
#t-tipp-anmelden{margin-top:14px}
@media (max-width:900px){.tipp-raster{grid-template-columns:1fr}.tipp-tabelle{position:static}}
@media (max-width:520px){.tipp-seiten{grid-template-columns:1fr}}
/* freie Plätze auf der Ehrenwand: auch auf Platz 2 und 3 ohne Silber/Bronze */
.ehre li.frei b{color:#ffffff40}
/* Eingang: Knopf und Textlink nebeneinander, gut lesbar über dem Bild */
.s1 .aktionen{align-items:center;gap:14px 26px}
.s1 .textlink,.s1 small{text-shadow:0 2px 12px #000}

/* ---------- Startseite (31.10. abends): gebaut nach Melihs Content – Shisha, Just Chatting, Reactions, Zocken, Open End ----------
   Club und Barkarte waren Melih zu ruhig („passt nicht zu mir“). Jetzt: fette Schrift wie auf einem Plakat, echte Standbilder aus seinen
   Streams, seine Sprüche laufen beim Scrollen mit. Pro Bildschirm eine Sache. Akzent bleibt Messing – die Farben bringen die Fotos mit. */
section.teil[hidden]{display:none}
.start h2{font:800 clamp(44px,6.6vw,100px)/.92 var(--kopf);letter-spacing:-.045em}
.start h2 em{font:italic 400 1em/1 var(--serif);letter-spacing:-.03em;color:var(--akzent)}
figcaption{margin-top:10px;font:500 13px/1.4 var(--mono);color:var(--leise)}
/* Kopfzeile (auch auf den Unterseiten): Titel links, ein Satz rechts */
.kopfzeile{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px 56px;align-items:end;padding-bottom:26px;border-bottom:1px solid var(--linie)}
.kopfzeile .vorspann{margin:0;max-width:46ch}
.kopfzeile-seite{display:grid;gap:16px;justify-items:start}
.kopfzeile + *{margin-top:44px}
/* Ehrenwand: die Rahmen und Schilder haben schon eine Linie oben – sonst stehen zwei übereinander */
.kopfzeile:has(+ .rahmen),.kopfzeile:has(+ .personal){border-bottom:0;padding-bottom:0}
.start .kopfzeile h2{font-size:clamp(40px,5.4vw,80px)}

/* Heute: der nächste Stream als Plakat mit Melihs eigenem Twitch-Titel, daneben Melih – live steht dort der Stream */
.heute{padding-top:150px}
.heute-raster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px 64px;align-items:center}
.heute-wann{display:flex;align-items:center;gap:12px;font:500 clamp(17px,1.6vw,21px)/1.3 var(--mono);color:var(--akzent);margin-bottom:24px}
.heute-wann i{flex:none;width:10px;height:10px;border-radius:50%;background:currentColor}
.ist-live .heute-wann{color:var(--text)}
.ist-live .heute-wann i{background:var(--live);animation:puls 1.6s infinite}
.start .plakat{font-size:clamp(46px,7.6vw,118px);overflow-wrap:anywhere}
.start .plakat.lang{font-size:clamp(36px,5vw,76px)}
.plakat > span,.plakat > em{display:block}
.heute .vorspann{font-size:19px;margin-top:28px}
.heute .aktionen{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.heute-bild picture{display:block}
.heute-bild img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.buehne-bild{display:none;grid-column:1/-1}
.ist-live .heute-raster{grid-template-columns:1fr}
.ist-live .heute-bild{display:none}
.ist-live .buehne-bild{display:block}
.start .vorhang{background:linear-gradient(#060708b3,#060708eb),url(bilder/melih-nachts.jpg) 50% 30%/cover}
.buehne-bild .bildschirm{width:min(100%,calc(74vh * 16 / 9));margin:0 auto}
.buehne-bild .player-leiste{justify-content:center;gap:8px 28px;margin-top:14px}
.chat-platz{width:min(100%,calc(74vh * 16 / 9));margin:16px auto 0;border:1px solid var(--linie);border-radius:10px;overflow:hidden}
.chat-platz[hidden]{display:none}
.chat-platz iframe{display:block;width:100%;height:480px;border:0}

/* Sprüche aus dem Stream: ein Band, das beim Scrollen mitläuft (app.js setzt --x) */
.band{overflow:hidden;margin-top:120px;padding:26px 0;border-block:1px solid var(--linie)}
.band p{display:flex;width:max-content;transform:translateX(calc(var(--x,0) * 1px));will-change:transform}
.band span{font:800 clamp(36px,6vw,92px)/1.1 var(--kopf);letter-spacing:-.04em;color:var(--hell);white-space:nowrap}
.band span:nth-child(even){font:italic 400 clamp(36px,6vw,92px)/1.1 var(--serif);letter-spacing:-.02em;color:var(--akzent)}
.band span::after{content:"/";margin:0 .5em;font:400 .8em var(--kopf);color:var(--linie)}

/* Ein Abend bei Melih: Uhrzeit, ein Satz, ein echtes Bild aus dem Stream */
.abend-kopf{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px 56px;align-items:end;margin-bottom:28px}
.abend-kopf .vorspann{margin:0 0 .5em;font-size:19px}
.nacht{list-style:none;padding:0;margin:0}
.moment{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1.1fr);gap:20px 48px;align-items:start;padding:64px 0;border-top:1px solid var(--linie)}
.moment time{font:500 clamp(22px,2.2vw,30px)/1.3 var(--mono);color:var(--akzent)}
.moment h3{font:800 clamp(34px,4.2vw,64px)/.95 var(--kopf);letter-spacing:-.04em}
.moment.spaet h3{font:italic 400 clamp(32px,3.8vw,58px)/1.05 var(--serif);letter-spacing:-.02em}
.moment p{color:var(--leise);font-size:18px;max-width:38ch;margin-top:20px}
.moment .textlink{display:inline-block;margin-top:18px}
.moment .textlink[hidden]{display:none}
.moment figure{justify-self:end;width:100%}
.moment figure.hoch{width:min(100%,360px)}
.moment img{display:block;width:100%;height:auto;border-radius:6px}

/* Fotostreifen: echte Bilder aus dem Stream, groß und zum Wischen – fängt bündig mit dem Inhalt an und läuft bis zum Rand */
.streifen-huelle{margin-top:40px}
.streifen-huelle[hidden]{display:none}
.foto-streifen{--rand:max(24px,calc((100vw - 1160px) / 2 + 24px));display:grid;grid-auto-flow:column;grid-auto-columns:min(540px,84vw);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--rand);padding:4px var(--rand) 20px;scrollbar-width:thin;scrollbar-color:#3f4651 transparent}
.foto{position:relative;display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--holz);text-decoration:none;scroll-snap-align:start;isolation:isolate}
.foto[hidden]{display:none}
.foto img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.foto img[hidden]{display:none}
.foto::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 38%,#060708f2 94%)}
.foto:hover img{transform:scale(1.04)}
.foto strong,.foto small,.foto em{position:absolute;left:20px;right:20px}
.foto strong{bottom:42px;font:500 clamp(20px,2vw,26px)/1.2 var(--serif);letter-spacing:-.015em;color:var(--text);text-wrap:balance}
.foto small,.foto em{bottom:16px;font-size:14px;font-style:normal;color:var(--hell);font-variant-numeric:tabular-nums}
.foto-letzter small{top:16px;bottom:auto;font:italic 400 20px var(--serif);color:var(--text)}
.foto-letzter strong{bottom:42px}
.ist-live .foto-letzter{display:none}
.streifen-pfeile{display:flex;gap:8px}
.pfeil-knopf{width:44px;height:44px;border-radius:8px;border:1px solid #ffffff40;background:none;color:var(--text);font-size:18px;transition:border-color .2s,background .2s,transform .2s}
.pfeil-knopf:hover{border-color:var(--akzent);background:#ffffff0d}
.pfeil-knopf:active{transform:scale(.96)}

.start .foto strong{font:700 clamp(20px,2vw,26px)/1.15 var(--kopf);letter-spacing:-.02em}

/* Schluss: Road to Partner – Unterstützen links, die Lounge in Zahlen rechts, darunter Melih woanders */
.abschluss-raster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px 88px;align-items:center}
.abschluss h2{margin:4px 0 24px}
.abschluss-text p{color:var(--leise);max-width:46ch;font-size:18px}
.abschluss .geld-knoepfe{justify-content:flex-start;margin-top:30px}
.abschluss .hinweis-knopf{display:inline-block;margin-top:14px}
.zahlen{list-style:none;padding:0;margin:0}
.zahlen li{padding:18px 0 20px;border-top:1px solid var(--linie)}
.zahlen b{display:block;font:800 clamp(56px,7vw,104px)/.95 var(--kopf);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.zahlen span{font:600 19px/1.3 var(--kopf);margin-right:10px}
.zahlen small{color:var(--leise);font-size:15px}
.abschluss .draussen{margin-top:96px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}
.abschluss .draussen a{grid-template-columns:minmax(0,1fr) auto;padding:18px 0}
.abschluss .draussen small{grid-column:1;grid-row:1}
.abschluss .draussen strong{grid-column:1;grid-row:2;font:700 22px/1.2 var(--kopf);letter-spacing:-.02em}
.abschluss .draussen span{grid-column:1;grid-row:3}
.abschluss .draussen a::after{grid-column:2;grid-row:2}
.mehr{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:36px;color:var(--leise)}
.mehr a{color:var(--akzent);font-weight:600;text-decoration:underline;text-decoration-color:#66ffff66;text-underline-offset:4px;transition:text-decoration-color .2s}
.mehr a:hover{text-decoration-color:var(--akzent)}
.abschluss .reservierung{margin-top:56px}

/* Plakatzeilen kommen nacheinander rein */
.plakat.zeigen{opacity:1;transform:none}
.plakat.zeigen > *{opacity:0;transform:translateY(.3em);transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.plakat.zeigen > :nth-child(2){transition-delay:.09s}
.plakat.zeigen > :nth-child(3){transition-delay:.18s}
.plakat.zeigen > :nth-child(4){transition-delay:.27s}
.plakat.zeigen > :nth-child(5){transition-delay:.36s}
.plakat.zeigen.da > *{opacity:1;transform:none}

/* Unterseite Ehrenwand */
.ehren-personal{margin-top:120px}

@media (max-width:900px){
  .kopfzeile,.heute-raster,.abend-kopf,.abschluss-raster{grid-template-columns:1fr}
  .kopfzeile{gap:12px;padding-bottom:20px}
  .kopfzeile + *{margin-top:32px}
  .heute{padding-top:110px}
  .heute-bild{order:-1;max-width:520px}
  .heute-bild img{aspect-ratio:4/3;object-position:50% 25%}
  .moment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px}
  .moment time{grid-column:1/-1}
  .abschluss .draussen{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ehren-personal{margin-top:80px}
}
@media (max-width:600px){
  .heute{padding-top:64px}
  .heute .aktionen{display:none}
  .heute-bild{margin:0 -24px;max-width:none}
  .heute-bild img{border-radius:0}
  .heute-bild figcaption{padding:0 24px}
  .heute .aktionen .knopf{flex:1 1 100%}
  .band{margin-top:80px;padding:18px 0}
  .moment{grid-template-columns:1fr;gap:12px;padding:48px 0}
  .moment figure,.moment figure.hoch{justify-self:stretch;width:auto;margin:16px -24px 0}
  .moment img{border-radius:0}
  .moment figcaption{padding:0 24px}
  .streifen-pfeile{display:none}
  .foto{aspect-ratio:4/3}
  .abschluss .geld-knoepfe .knopf{flex:1 1 100%}
  .abschluss .draussen{grid-template-columns:1fr;margin-top:64px}
}

/* ---------- Unterseiten im Look der Startseite (01.11.): Überschriften in Unbounded, Beschriftungen gerade statt kursiv ---------- */
.unterseite h1,.teil-kopf h2,.abschnitt-kopf h2,.arena-karte h2,.champion-name{font-family:var(--anzeige);font-weight:800;letter-spacing:-.03em}
.unterseite h1{font-size:clamp(34px,4.6vw,64px);line-height:1.05}
.teil-kopf h2,.abschnitt-kopf h2{font-size:clamp(24px,2.8vw,34px)}
.arena-karte h2{font-size:24px}
.b-karte h2,.b-kontakt strong,.schild h3{font-family:var(--anzeige);font-weight:700;letter-spacing:-.02em;font-size:24px}
span.champion-bild{font:800 44px var(--anzeige)}
.recht h2{font:700 20px/1.3 var(--text-schrift);letter-spacing:0}
.ueber,.angenommen h3,.wappen,.zahl-kachel span,.bilderrahmen h3,.schild .rolle,.stammgaeste h3{font-style:normal;font-weight:500;font-size:15px;line-height:1.4}
.ehre b{font:800 22px/1 var(--anzeige)}
.ehre strong,.kamin li{font-weight:600;font-size:19px}
.abzeichen-liste strong{font-weight:600;font-size:17px}
.ehre .frei strong{font-style:normal}

/* ---------- Seitenkopf mit Rauch (01.11.) – alle Reiter so lebendig wie die Ehrenwand: Rauch der Startseite hinter der großen Überschrift, ein Wort in Eisblau ---------- */
.mit-held main{padding-top:0}
.seiten-held{padding:150px 0 54px;background:linear-gradient(#06070826,#060708 96%),url(bilder/rauch-standbild.jpg) 50% 30%/cover}
.seiten-held .kopfzeile{border-bottom:0;padding-bottom:0}
.seiten-held h1{margin:6px 0 0;font-size:clamp(40px,6vw,88px)}
.seiten-held h1 span{color:var(--akzent)}
.seiten-held h1.lang{font-size:clamp(34px,4.4vw,64px)}   /* lange Überschriften (Business) nicht über drei Zeilen */
@media (max-width:500px){.seiten-held h1.lang{font-size:8vw}}   /* „Zusammenarbeit“ passt am Handy sonst nicht in die Zeile – die Seite wackelte seitlich */
.seiten-held .vorspann{color:#c3c8ce}
/* Kurzer eisblauer Strich oben an einem Block */
.b-karte::before,.zahl-kachel::before{content:"";position:absolute;left:0;top:-1px;width:48px;height:2px;background:var(--akzent)}
.b-karte::before{left:26px;top:0}
.zahl-kachel{position:relative}
.zahl-kachel span{color:var(--akzent)}
/* Bruder-Pass: Kopf auf Rauch, Anfangsbuchstabe auf eisblauem Feld */
.profilseite main{padding-top:0}
.profilseite .arena-kopf{padding:120px 0 46px;border-bottom:0;background:linear-gradient(#06070826,#060708 96%),url(bilder/rauch-standbild.jpg) 50% 30%/cover}
.profilseite .wappen{color:var(--akzent)}
.profil-bild{background:var(--akzent);font:800 48px var(--anzeige)}
@media (max-width:700px){
  .seiten-held{padding:116px 0 36px}
  .profilseite .arena-kopf{padding:100px 0 32px}
}

/* ---------- Countdown mit Gameplay in den Ziffern (02.11.) – Turnier-Seite und Startseite ----------
   Video hinter einer schwarzen Maske mit weißen Ziffern (Multiplizieren): das Spiel ist nur in den Ziffern zu sehen.
   Lädt das Video nicht, leuchten die Ziffern eisblau (Hintergrund hinter der Maske). */
.turnier-uhr{position:relative;min-width:min(430px,100%);padding:20px 22px 22px;border:1px solid var(--linie);border-radius:16px;background:#000}
.turnier-uhr[hidden]{display:none}
.turnier-uhr::before{content:"";position:absolute;left:22px;top:-1px;width:48px;height:2px;background:var(--akzent)}
.uhr-titel{display:block;font:600 14px var(--text-schrift);color:var(--akzent)}
.spiel-ziffern{position:relative;isolation:isolate;margin-top:10px;background:var(--akzent);overflow:hidden}
.spiel-ziffern[hidden],.ziffern-namen[hidden]{display:none}
.spiel-ziffern video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 80%}
.ziffern-maske,.ziffern-namen{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;text-align:center}
.ziffern-maske{position:relative;margin:-1px;background:#000;color:#fff;mix-blend-mode:multiply;font:800 clamp(56px,6vw,90px)/1.05 var(--anzeige);letter-spacing:-.04em}   /* -1px: kein heller Rand an den Kanten */
.ziffern-namen{margin-top:6px;font:500 13px var(--text-schrift);color:var(--leise)}
.uhr-wann{margin-top:14px;font:500 15px var(--text-schrift);color:var(--hell)}
@media (max-width:700px){
  .turnier-uhr{min-width:0;padding:18px}
  .ziffern-maske{font-size:clamp(44px,15vw,72px)}
}
