/* ================================================================
   LIVE-TICKER (Reiter "Live" unter Turnier) — Konzept-Optik (genehmigter Mock)
   Alle Klassen mit lt- Präfix; Tokens als --lt-* aus den Seiten-Variablen (style.css :root, Hell/Dunkel).
   Nur transform/opacity werden animiert; prefers-reduced-motion am Ende.
   ================================================================ */
:root {
    --lt-red: #b41717; --lt-red-d: #8a0e0e; --lt-red-t: #b41717;
    --lt-gold: var(--c-gold, #FCC200); --lt-gold-t: var(--c-gold-text, #9a6f00);
    --lt-cup-r: #e3262b; --lt-cup-b: #2f6ff2;
    --lt-ok: #34c759; --lt-ok-t: #1a7f37; --lt-bad: #ff3b30; --lt-bad-t: #c8000f;
    --lt-warn-t: #a45a00; --lt-warn-bg: rgba(255,149,0,.14); --lt-blue-t: #1d5fd6;
    --lt-bg: var(--c-bg, #f2f2f7); --lt-card: var(--c-card, #fff); --lt-t: var(--c-text, #1c1c1e); --lt-t2: var(--c-text-2, #6c6c70);
    --lt-line: var(--c-border, #e3e3e8); --lt-fill: rgba(0,0,0,.06); --lt-fill2: rgba(0,0,0,.035);
    --lt-glass: rgba(248,248,251,.88); --lt-glass-b: rgba(0,0,0,.08);
    --lt-sh: 0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(20,10,10,.06); --lt-sh-lg: 0 -8px 40px rgba(0,0,0,.18);
    --lt-display: var(--font, 'PoetsenOne-Regular', 'Helvetica Neue', sans-serif);
    --lt-body: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Roboto, sans-serif;
    --lt-ease: cubic-bezier(.2,.85,.25,1); --lt-spring: cubic-bezier(.34,1.5,.64,1); --lt-col: 430px;
}
@media (prefers-color-scheme: dark) {
    :root {
        --lt-red-t: #ff6b75; --lt-ok-t: #4cd964; --lt-bad-t: #ff6961; --lt-warn-t: #ffb340; --lt-warn-bg: rgba(255,159,10,.16); --lt-blue-t: #7aa8ff;
        --lt-gold-t: #FCC200; --lt-fill: rgba(255,255,255,.08); --lt-fill2: rgba(255,255,255,.04);
        --lt-glass: rgba(28,17,26,.88); --lt-glass-b: rgba(255,255,255,.1);
        --lt-sh: 0 1px 2px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.3);
    }
}
.lt-s, .lt-s *, .lt-s *::before, .lt-s *::after { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
:where(.lt-s) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(.lt-s) button:focus-visible, :where(.lt-s) input:focus-visible { outline: 3px solid var(--lt-gold); outline-offset: 2px; }
:where(.lt-s) svg { flex: none; }
:where(.lt-s) :where(h1, h2, h3) { font-family: var(--lt-display); font-weight: 400; margin: 0; letter-spacing: .2px; }
.lt-disp { font-family: var(--lt-display); font-weight: 400; letter-spacing: .2px; }
.lt-muted { color: var(--lt-t2); }
.lt-small { font-size: 12.5px; }
.lt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lt-det .lt-card, .lt-det .lt-tl { color: inherit; }
.lt-det { color: var(--lt-t); font: 15px/1.45 var(--lt-body); }
/* ---------- Avatare / Kacheln ---------- */
.lt-av{border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--lt-display);flex:none;text-shadow:0 1px 2px rgba(0,0,0,.35);width:46px;height:46px;font-size:16px}
.lt-tile{display:inline-grid;place-items:center;min-width:52px;height:60px;padding:0 6px;border-radius:13px;border:3px solid #fff;color:#fff;font:38px/1 var(--lt-display);font-variant-numeric:tabular-nums;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.lt-tile.lt-r{background:var(--lt-cup-r)}.lt-tile.lt-b{background:var(--lt-cup-b)}
.lt-tile.lt-bump{animation:ltBump .6s var(--lt-spring)}
@keyframes ltBump{35%{transform:scale(1.3)}}
.lt-tile.lt-sm{min-width:30px;height:30px;font-size:18px;border-width:2px;border-radius:8px;padding:0 4px;box-shadow:0 0 0 1px var(--lt-line),0 2px 5px rgba(0,0,0,.15)}

/* ---------- Abschnitt ---------- */
.lt-sech{display:flex;align-items:baseline;justify-content:space-between;margin:16px 4px 8px}
.lt-sech h2{font-size:19px}


/* Mini-Rack (Umstellen-Auswahl) */
.lt-mrack{flex:none;display:block;width:50px;height:52px}

/* ---------- Fokus-Karte (Dock-Sheet) ---------- */
.lt-hero{position:relative;margin-top:12px;border-radius:26px;overflow:hidden;color:#fff;background:linear-gradient(160deg,#b41717 0%,#8a0e0e 70%,#5c0909 100%);box-shadow:0 14px 34px rgba(138,14,14,.33);touch-action:pan-y}
.lt-hero::after{content:"";position:absolute;inset:-40% -30% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(252,194,0,.22),transparent 65%);pointer-events:none}
.lt-hero-in{position:relative;z-index:1;padding:14px 12px 12px}
.lt-h-top{display:flex;align-items:center;gap:7px;font:13px/1.2 var(--lt-display);min-height:26px}
.lt-h-top .lt-meta{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.95}
.lt-bl{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:12px/1 var(--lt-display);letter-spacing:.6px;flex:none}
.lt-bl.lt-live{background:#fff;color:var(--lt-red)}
.lt-bl.lt-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lt-red);animation:ltPulseR 1.4s ease-out infinite}
.lt-bl.lt-soft{background:rgba(255,255,255,.2);color:#fff}
.lt-bl.lt-gold{background:var(--lt-gold);color:#3a2a00}
.lt-tkchip{display:flex;align-items:center;gap:6px;margin-top:10px;min-height:30px;padding:0 10px 0 6px;border-radius:999px;background:rgba(0,0,0,.24);font:12.5px/1 var(--lt-display);width:max-content;max-width:100%}
.lt-tkchip .lt-av{width:22px;height:22px;font-size:9px;text-shadow:none}
.lt-tkchip span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lt-tkchip.lt-me{background:#fff;color:var(--lt-red)}
.lt-tkchip.lt-me i{width:8px;height:8px;border-radius:50%;background:var(--lt-red);margin-left:4px;animation:ltPulseR 1.4s ease-out infinite;flex:none}
.lt-tkchip.lt-idle{background:rgba(255,179,64,.28)}
.lt-h-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;margin:10px 0}
.lt-tm{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0}
.lt-tm .lt-av{border:2px solid rgba(255,255,255,.85)}
.lt-tm > span{font:15px/1.15 var(--lt-display);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lt-tm .lt-avw{position:relative}.lt-tm .lt-crown{position:absolute;right:-6px;top:-6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--lt-gold);color:#3a2a00;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.lt-tm.lt-win > span{color:var(--lt-gold)}
.lt-tiles{display:flex;align-items:center;gap:6px}
.lt-tiles .lt-c{font:24px/1 var(--lt-display);opacity:.6}
.lt-tbox{position:relative;height:178px;border-radius:18px;background:radial-gradient(ellipse at center,rgba(255,255,255,.07),transparent 70%),rgba(0,0,0,.28);overflow:hidden}
.lt-tbox::before{content:"";position:absolute;left:50%;top:12px;bottom:12px;width:1px;background:rgba(255,255,255,.18)}
.lt-tbox.lt-armed{box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.lt-rack{position:absolute;top:10px;width:146px;height:158px}
.lt-rack[data-s="1"]{left:12px}.lt-rack[data-s="2"]{right:12px}
.lt-cup{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;transition:transform .7s var(--lt-spring),opacity .35s;user-select:none;-webkit-user-select:none}
.lt-cup::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 27%,transparent 30%),var(--cc);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25),0 3px 6px rgba(0,0,0,.3);transition:transform .35s var(--lt-spring),opacity .3s}
.lt-cup.lt-r{--cc:var(--lt-cup-r)}.lt-cup.lt-b{--cc:var(--lt-cup-b)}
.lt-cup.lt-hit::before{background:transparent;box-shadow:inset 0 0 0 2px rgba(255,255,255,.26);transform:scale(.8)}
.lt-cup.lt-tap{touch-action:none}
.lt-cup.lt-gone{opacity:0;pointer-events:none}
.lt-cup:disabled{cursor:default}
.lt-tbox.lt-armed .lt-cup.lt-tap::before{box-shadow:inset 0 -3px 0 rgba(0,0,0,.25),0 0 0 2px rgba(255,255,255,.55),0 3px 6px rgba(0,0,0,.3)}
.lt-cup.lt-pressing::before{transform:scale(1.16)}
.lt-cup.lt-back::before{animation:ltCupBack .6s var(--lt-spring)}
@keyframes ltCupBack{0%{transform:scale(.3);opacity:0}}
.lt-cup.lt-splash::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--lt-gold);animation:ltSplash .6s ease-out forwards}
@keyframes ltSplash{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.7);opacity:0}}
.lt-cup.lt-nudge::before{animation:ltShake .4s}
.lt-ring{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid #fff;pointer-events:none;opacity:0}
.lt-ball{position:absolute;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 35%,#e9e4dc 70%,#cfc7bb);box-shadow:0 2px 5px rgba(0,0,0,.4);pointer-events:none;opacity:0;z-index:3}
.lt-shadowball{position:absolute;left:0;top:0;width:14px;height:6px;margin:-3px 0 0 -7px;border-radius:50%;background:rgba(0,0,0,.35);pointer-events:none;opacity:0;z-index:2}
.lt-flycancel{position:absolute;left:50%;bottom:10px;transform:translate(-50%,20px);opacity:0;pointer-events:none;min-height:44px;padding:0 16px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:14px/1 var(--lt-display);display:flex;align-items:center;gap:6px;transition:transform .3s var(--lt-spring),opacity .2s;z-index:4}
.lt-flycancel.lt-on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.lt-tbox-ov{position:absolute;inset:0;display:grid;place-items:center;background:rgba(40,0,0,.42);font:15px/1.2 var(--lt-display);opacity:0;pointer-events:none;transition:opacity .35s;z-index:5;text-align:center;padding:0 20px}
.lt-tbox-ov span{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.45);padding:10px 14px;border-radius:999px}
.lt-tbox.lt-ov .lt-tbox-ov{opacity:1}
.lt-h-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font:13px/1.3 var(--lt-display);opacity:.95;min-height:24px}
.lt-h-foot .lt-grow{flex:1}
.lt-coach{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.55);font:13px/1 var(--lt-display);pointer-events:none;white-space:nowrap;animation:ltCoach 4.5s var(--lt-ease) forwards;z-index:4}
@keyframes ltCoach{0%{opacity:0;transform:translate(-50%,-30%)}10%,80%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-50%)}}

/* ---------- Steuerung ---------- */
.lt-card{background:var(--lt-card);border-radius:20px;box-shadow:var(--lt-sh);padding:14px;margin-top:10px;position:relative}
.lt-ctl-in{animation:ltRise .4s var(--lt-ease) both}
@keyframes ltRise{from{opacity:0;transform:translateY(12px)}}
.lt-row{display:flex;align-items:center;gap:12px}
.lt-row .lt-grow{flex:1;min-width:0}
.lt-ttl{font:17px/1.2 var(--lt-display)}
.lt-sub{font-size:13px;color:var(--lt-t2);line-height:1.35;margin-top:2px}
.lt-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--lt-fill);color:var(--lt-t)}
.lt-ico.lt-red{background:rgba(180,23,23,.12);color:var(--lt-red-t)}
.lt-ico.lt-gold{background:rgba(252,194,0,.2);color:var(--lt-gold-t)}
.lt-ico.lt-warn{background:var(--lt-warn-bg);color:var(--lt-warn-t)}
.lt-ico.lt-ok{background:rgba(52,199,89,.15);color:var(--lt-ok-t)}
.lt-ico .lt-av{width:44px;height:44px;font-size:14px}
.lt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:14px;font:16px/1 var(--lt-display);transition:transform .18s var(--lt-spring),opacity .2s,background .2s;white-space:nowrap}
.lt-btn:active:not(:disabled){transform:scale(.96)}
.lt-btn:disabled{opacity:.45;cursor:default}
.lt-btn.lt-pri{background:var(--lt-red);color:#fff;box-shadow:0 6px 16px rgba(180,23,23,.3)}
.lt-btn.lt-sec{background:var(--lt-fill);color:var(--lt-t)}
.lt-btn.lt-out{box-shadow:inset 0 0 0 1.5px var(--lt-line);color:var(--lt-t)}
.lt-btn.lt-ok{background:var(--lt-ok);color:#06240f}
.lt-btn.lt-bad{background:var(--lt-bad);color:#fff}
.lt-btn.lt-ghost{color:var(--lt-red-t);min-height:44px;padding:0 8px;font-size:14px}
.lt-btn.lt-block{width:100%}
.lt-btn.lt-big{min-height:56px;font-size:17px}
.lt-btn.lt-nudge{animation:ltShake .4s}
.lt-btns{display:flex;gap:8px;margin-top:12px}.lt-btns>.lt-btn{flex:1}
.lt-mt{margin-top:12px}
.lt-note{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--lt-t2);line-height:1.35;margin-top:10px}
.lt-note svg{margin-top:1px}
.lt-actbar{display:grid;grid-template-columns:minmax(0,1fr) 68px 60px;gap:8px;margin-top:10px}
.lt-undo{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 14px;border-radius:18px;background:var(--lt-card);box-shadow:var(--lt-sh);text-align:left;transition:transform .18s var(--lt-spring),opacity .2s}
.lt-undo:active:not(:disabled){transform:scale(.97)}
.lt-undo:disabled{opacity:.5}
.lt-undo .lt-ico{width:40px;height:40px;border-radius:12px;background:rgba(180,23,23,.12);color:var(--lt-red-t)}
.lt-undo b{display:block;font:16px/1.2 var(--lt-display);font-weight:400}
.lt-undo small{display:block;font-size:12.5px;color:var(--lt-t2);margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lt-undo .lt-grow{min-width:0;flex:1}
.lt-morebtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;background:var(--lt-card);box-shadow:var(--lt-sh);font:12px/1 var(--lt-display);color:var(--lt-t2);min-height:64px}
.lt-morebtn svg{color:var(--lt-t)}
.lt-tkline{display:flex;align-items:center;gap:8px;margin:10px 4px 0;font-size:12.5px;color:var(--lt-t2)}
.lt-tkline .lt-dot{width:8px;height:8px;border-radius:50%;background:var(--lt-ok);flex:none}
.lt-confl{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.lt-confr{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-radius:14px;background:var(--lt-fill2);box-shadow:inset 0 0 0 1px var(--lt-line)}
.lt-confr .lt-grow{flex:1;min-width:0;font:15px/1.2 var(--lt-display)}
.lt-confr .lt-av{width:32px;height:32px;font-size:11px}
.lt-pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:8px;font:12px/1 var(--lt-display);white-space:nowrap}
.lt-pill.lt-ok{background:rgba(52,199,89,.16);color:var(--lt-ok-t)}
.lt-pill.lt-wait{background:var(--lt-warn-bg);color:var(--lt-warn-t)}
.lt-pill.lt-mute{background:var(--lt-fill);color:var(--lt-t2)}
.lt-pill.lt-red{background:rgba(180,23,23,.12);color:var(--lt-red-t)}
.lt-res{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 2px}

/* Verlauf */
.lt-tl{background:var(--lt-card);border-radius:20px;box-shadow:var(--lt-sh);padding:6px 14px}
.lt-tl-i{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 0 6px 2px}
.lt-tl-i::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--lt-line)}
.lt-tl-i:first-child::before{top:50%}.lt-tl-i:last-child::before{bottom:50%}
.lt-tl-i:only-child::before{display:none}
.lt-tl-d{position:relative;width:16px;height:16px;border-radius:50%;flex:none;border:3px solid var(--lt-card);box-shadow:0 0 0 1px var(--lt-line)}
.lt-tl-d.lt-r{background:var(--lt-cup-r)}.lt-tl-d.lt-b{background:var(--lt-cup-b)}.lt-tl-d.lt-g{background:var(--lt-gold)}.lt-tl-d.lt-n{background:var(--lt-t2)}
.lt-tl-i .lt-grow{flex:1;min-width:0;font-size:13.5px;line-height:1.3}
.lt-tl-i b{font:14.5px/1.2 var(--lt-display);font-weight:400}
.lt-tl-i .lt-grow span{display:block;color:var(--lt-t2);font-size:12px}
.lt-tl-i time{font-size:12px;color:var(--lt-t2);flex:none}
.lt-tl-i.lt-new{animation:ltRise .45s var(--lt-ease) both}
.lt-tl-i.lt-old{opacity:.5}
.lt-tl-i.lt-undone b{text-decoration:line-through;opacity:.6}
.lt-tl-more{display:block;width:100%;min-height:44px;font:14px/1 var(--lt-display);color:var(--lt-red-t);border-top:1px solid var(--lt-line)}

/* Ticker-Banner (unten, über der Navigation) */

/* Sheet / Modal / Toast */
.lt-bd{position:fixed;inset:0;z-index:500;background:rgba(10,4,6,.45);opacity:0;pointer-events:none;transition:opacity .3s}
.lt-bd.lt-on{opacity:1;pointer-events:auto}
.lt-sheet{position:fixed;z-index:501;left:50%;bottom:0;width:min(100%,var(--lt-col));max-height:90vh;display:flex;flex-direction:column;background:var(--lt-bg);border-radius:24px 24px 0 0;box-shadow:var(--lt-sh-lg);transform:translate(-50%,105%);transition:transform .45s var(--lt-ease),visibility 0s .45s;visibility:hidden;will-change:transform}
.lt-sheet.lt-on{transform:translate(-50%,0);visibility:visible;transition:transform .45s var(--lt-ease),visibility 0s}
.lt-grab{height:22px;display:grid;place-items:center;flex:none}
.lt-grab::before{content:"";width:40px;height:5px;border-radius:3px;background:var(--lt-line)}
.lt-sh-head{display:flex;align-items:center;gap:6px;padding:0 10px 6px 16px;flex:none}
.lt-sh-head h2{flex:1;font-size:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt-ibtn[hidden]{display:none}
.lt-ibtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lt-fill);flex:none}
.lt-sh-body{overflow-y:auto;padding:4px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.lt-sh-body.lt-swap{animation:ltViewIn .35s var(--lt-ease) both}
.lt-sh-body.lt-swap.lt-back{animation-name:ltViewInL}
@keyframes ltViewIn{from{opacity:0;transform:translateX(26px)}}
@keyframes ltViewInL{from{opacity:0;transform:translateX(-26px)}}
/* Mehr-Sheet (Nov. 2026 vereinfacht): je Gruppe eine Liste mit großen Zeilen (>= 56 px), Titel + ggf. Stufen-Schild, keine Untertitel */
/* Orga-Knöpfe in der Kopfzeile des Ticker-Sheets (neben „?“, live_ticker.js renderAdm); Halten am Reset füllt den Kreis (transform) */
.lt-adm{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto}
.lt-adm[hidden]{display:none}
.lt-adm:not([hidden])+.dk-qbtn{margin-left:0}
.lt-admb{position:relative;overflow:hidden;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--dk-fill,var(--lt-fill));color:var(--lt-t);touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .18s var(--lt-spring)}
.lt-admb>svg{position:relative;z-index:1}
.lt-admb:active{transform:scale(.94)}
.lt-admb.lt-on{background:var(--lt-gold);color:#1c1c1e;box-shadow:0 0 0 3px color-mix(in srgb,var(--lt-gold) 30%,transparent)}
.lt-admr{color:var(--lt-red-t)}
.lt-admf{position:absolute;inset:0;border-radius:50%;background:var(--lt-red);transform:scale(var(--p,0));opacity:calc(.25 + var(--p,0) * .75)}
.lt-admr.lt-rel .lt-admf{transition:transform .3s var(--lt-ease),opacity .3s}
.lt-admr.lt-pressing,.lt-admr.lt-doneh{color:#fff}
.lt-admr.lt-nudge>svg{animation:ltShake .4s}
.lt-admr.lt-su-on{box-shadow:0 0 0 3px rgba(180,23,23,.3)}
/* Step-up für „Zurück auf Start“: inline direkt unter der Kopfzeile (kein Dialog) */
.lt-su{margin:0 0 10px}
.lt-su[hidden]{display:none}
.lt-sucard{padding:12px;border-radius:18px;background:var(--lt-card);box-shadow:var(--lt-sh),inset 0 0 0 1.5px rgba(180,23,23,.35);animation:ltSuIn .28s var(--lt-ease)}
.lt-suhead{display:flex;align-items:center;gap:8px;color:var(--lt-red-t)}
.lt-suhead b{flex:1;min-width:0;font:15.5px/1.2 var(--lt-display);font-weight:400;color:var(--lt-t)}
.lt-susub{margin:4px 2px 10px;font-size:13px;color:var(--lt-t2)}
.lt-surow{display:flex;gap:8px;margin-top:8px}
.lt-surow .lt-inp{flex:1;min-width:0}
.lt-surow .lt-btn{flex:none;min-height:48px;padding:0 14px}
.lt-sucard .lt-btn.lt-block{margin:0}
@keyframes ltSuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* Inline-Editor (Ergebnis eintragen/korrigieren) und PIN-Freigabe an Ort und Stelle */
.lt-edhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lt-edhead b{font:16px/1.2 var(--lt-display);font-weight:400}
.lt-edcard .lt-grp-h{margin-top:10px}
.lt-pinrow{margin-top:8px;padding:10px;border-radius:14px;background:var(--lt-fill2);box-shadow:inset 0 0 0 1px var(--lt-line)}
.lt-pinrow .lt-fld{margin:0 0 4px}
.lt-pinbtns{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.lt-pinbtns .lt-btn{min-height:48px}
.lt-entryb{margin-top:6px}
.lt-grp-h{font:12px/1 var(--lt-display);color:var(--lt-t2);letter-spacing:.5px;text-transform:uppercase;margin:14px 4px 8px}
.lt-rrteam{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px;border-radius:16px;background:var(--lt-card);box-shadow:var(--lt-sh);margin-bottom:8px;text-align:left}
.lt-rrteam .lt-grow{flex:1;min-width:0;font:15px/1.2 var(--lt-display)}
.lt-rrteam .lt-grow span{display:block;font:12.5px/1.3 var(--lt-body);color:var(--lt-t2)}
.lt-rrteam:disabled{opacity:.6}
.lt-forms{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lt-form{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:16px;background:var(--lt-card);box-shadow:var(--lt-sh);min-height:120px;font:14px/1.1 var(--lt-display);transition:transform .18s var(--lt-spring)}
.lt-form:active{transform:scale(.96)}
.lt-form.lt-cur{box-shadow:inset 0 0 0 2px var(--lt-line),var(--lt-sh);color:var(--lt-t2)}
.lt-form svg{height:64px;width:auto}
.lt-form small{font:11.5px/1 var(--lt-body);color:var(--lt-t2)}
.lt-stepper{display:flex;align-items:center;gap:10px;justify-content:center;margin:8px 0}
.lt-stepper .lt-tile{min-width:64px}
.lt-stepper .lt-ibtn{width:48px;height:48px;font:22px/1 var(--lt-display)}
.lt-wpick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lt-wpick button{min-height:64px;border-radius:16px;background:var(--lt-card);box-shadow:var(--lt-sh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:15px/1.15 var(--lt-display);padding:6px;transition:box-shadow .2s}
.lt-wpick button.lt-on{box-shadow:inset 0 0 0 2.5px var(--lt-gold),var(--lt-sh)}
.lt-wpick small{font:11.5px/1 var(--lt-body);color:var(--lt-t2)}
.lt-fld{display:block;margin:12px 0}
.lt-fld>span{display:block;font:12.5px/1.2 var(--lt-display);color:var(--lt-t2);margin:0 4px 6px}
.lt-inp{width:100%;min-height:48px;border-radius:13px;border:1.5px solid var(--lt-line);background:var(--lt-card);color:var(--lt-t);padding:0 14px;font-size:16px}
.lt-inp:focus{outline:none;border-color:var(--lt-red);box-shadow:0 0 0 4px rgba(180,23,23,.12)}
.lt-inp.lt-pin{font:26px/1 var(--lt-display);letter-spacing:12px;text-align:center}
.lt-inp.lt-err{animation:ltShake .4s;border-color:var(--lt-bad)}
.lt-tsel{display:flex;flex-wrap:wrap;gap:6px}
.lt-tsel button{min-height:44px;padding:0 12px;border-radius:12px;background:var(--lt-card);box-shadow:inset 0 0 0 1px var(--lt-line);font:14px/1 var(--lt-display)}
.lt-tsel button.lt-on{box-shadow:inset 0 0 0 2px var(--lt-red-t);color:var(--lt-red-t)}
.lt-hold{position:relative;overflow:hidden;width:100%;min-height:56px;border-radius:14px;background:rgba(180,23,23,.12);color:var(--lt-red-t);font:16px/1 var(--lt-display);display:flex;align-items:center;justify-content:center;gap:8px;touch-action:none;user-select:none;-webkit-user-select:none;margin-top:12px}
.lt-hold .lt-fill{position:absolute;inset:0;background:var(--lt-red);transform-origin:left;transform:scaleX(var(--p,0))}
.lt-hold.lt-okc{background:rgba(52,199,89,.15);color:var(--lt-ok-t)}
.lt-hold.lt-okc .lt-fill{background:#1f9a43}
.lt-hold.lt-rel .lt-fill{transition:transform .3s var(--lt-ease)}
.lt-hold .lt-lbl{position:relative;display:flex;align-items:center;gap:8px}
.lt-hold.lt-pressing .lt-lbl,
.lt-hold.lt-doneh .lt-lbl{color:#fff}
.lt-hold.lt-nudge .lt-lbl{animation:ltShake .4s}
.lt-hint{font-size:12.5px;color:var(--lt-t2);text-align:center;margin-top:6px;line-height:1.35}
.lt-modal{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:16px;background:rgba(10,4,6,.55);opacity:0;pointer-events:none;transition:opacity .25s}
.lt-modal.lt-on{opacity:1;pointer-events:auto}
.lt-modal .lt-box{background:var(--lt-bg);border-radius:24px;padding:20px 18px 14px;width:min(100%,370px);max-height:calc(100vh - 32px);overflow-y:auto;transform:scale(.92) translateY(10px);transition:transform .35s var(--lt-spring);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lt-modal.lt-on .lt-box{transform:none}
.lt-modal h3{font-size:21px;margin:10px 0 6px;line-height:1.2}
.lt-modal p{margin:0;color:var(--lt-t2);font-size:14px;line-height:1.4}
.lt-modal .lt-btn{margin-top:8px}
.lt-cons{margin:12px 0 0;padding:10px 12px;border-radius:14px;background:var(--lt-fill2);box-shadow:inset 0 0 0 1px var(--lt-line);font-size:13.5px;line-height:1.4;display:flex;flex-direction:column;gap:6px}
.lt-cons div{display:flex;gap:8px;align-items:flex-start}
.lt-cons svg{margin-top:2px}
.lt-toast{position:fixed;z-index:10000;left:50%;bottom:calc(var(--nav-h, 70px) + 12px);transform:translate(-50%,calc(100% + 140px));visibility:hidden;width:min(calc(100vw - 24px),calc(var(--lt-col) - 24px));padding:6px 6px 6px 14px;min-height:52px;border-radius:16px;background:#1c1c1e;color:#f7ede9;font:14px/1.3 var(--lt-display);display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .35s var(--lt-ease),visibility 0s .35s}
.lt-toast.lt-on{transform:translate(-50%,0);visibility:visible;transition:transform .45s var(--lt-spring),visibility 0s}
.lt-toast .lt-tx{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.lt-toast .lt-btn{min-height:44px;color:#FCC200;padding:0 12px;font-size:14px}
@keyframes ltPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.9)}70%{box-shadow:0 0 0 6px rgba(255,255,255,0)}100%{box-shadow:none}}
@keyframes ltPulseR{0%{box-shadow:0 0 0 0 rgba(180,23,23,.7)}70%{box-shadow:0 0 0 7px rgba(180,23,23,0)}100%{box-shadow:none}}
@keyframes ltPulse2{0%{opacity:1}50%{opacity:.35}100%{opacity:1}}
@keyframes ltShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.lt-swapfade{animation:ltRise .45s var(--lt-ease) both}

/* Weniger Bewegung */
@media (prefers-reduced-motion:reduce){
  *,
*::before,
*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
html.lt-rm *,
html.lt-rm *::before,
html.lt-rm *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}

/* ---------- Ergänzungen (nicht im Mock) ---------- */
.lt-tabdot { position: absolute; top: 7px; right: calc(50% - 38px); width: 8px; height: 8px; border-radius: 50%; background: var(--c-primary); box-shadow: 0 0 0 2px var(--c-card); animation: ltPulseR 1.6s ease-out infinite; }
.tab-btn.active .lt-tabdot { background: #fff; box-shadow: none; }
.tab-btn { position: relative; }
.lt-coachrow { display: flex; justify-content: center; margin-top: 8px; min-height: 30px; }
.lt-coachrow .lt-coach { position: static; transform: none; animation: ltCoachIn .5s var(--lt-ease) both; background: rgba(0,0,0,.4); }
@keyframes ltCoachIn { from { opacity: 0; transform: translateY(6px); } }
.lt-hold-note { text-align: center; }
.lt-reqrow { display: flex; align-items: center; gap: 10px; min-height: 56px; }
.lt-reqrow .lt-grow { flex: 1; min-width: 0; font: 15px/1.2 var(--lt-display); }
.lt-reqrow .lt-grow span { display: block; font: 12.5px/1.3 var(--lt-body); color: var(--lt-t2); }
.lt-reqbtns { display: flex; gap: 8px; margin-top: 8px; }
.lt-reqbtns .lt-btn { flex: 1; min-height: 44px; }
.lt-err { min-height: 20px; color: var(--lt-bad-t); font-size: 13px; margin: 4px 4px 4px; }
.lt-err.lt-hint { color: var(--lt-t2); }
.lt-center { text-align: center; }
@media (prefers-reduced-motion: reduce) {
    .lt-s *, .lt-s *::before, .lt-s *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
@media (max-width: 360px) { .lt-tile { min-width: 46px; font-size: 32px; } }

/* ================================================================
   Dezenter (28.10.): Fokus-Karte neutral statt roter Vollfläche, Übersicht mit großen Tischkarten
   ================================================================ */
.lt-det .lt-hero { color: var(--lt-t); }
.lt-hero { background: var(--lt-card); border: 1px solid var(--lt-line); box-shadow: var(--lt-sh); border-radius: 22px; }
.lt-hero::after { display: none; }
.lt-h-top .lt-meta { color: var(--lt-t2); opacity: 1; }
.lt-bl.lt-live { background: var(--lt-red); color: #fff; }
.lt-bl.lt-live::before { background: #fff; }
.lt-bl.lt-soft { background: var(--lt-fill); color: var(--lt-t2); }
.lt-tkchip { background: var(--lt-fill); color: var(--lt-t); }
.lt-tkchip.lt-me { background: rgba(180,23,23,.1); color: var(--lt-red-t); }
.lt-tkchip.lt-me i { background: var(--lt-red-t); }
.lt-tkchip.lt-idle { background: var(--lt-warn-bg); color: var(--lt-warn-t); }
.lt-tm .lt-av { border: 2px solid var(--lt-card); box-shadow: 0 0 0 1px var(--lt-line); }
.lt-tm.lt-win > span { color: var(--lt-gold-t); }
.lt-tiles .lt-c { color: var(--lt-t2); opacity: 1; }
.lt-tile { box-shadow: 0 0 0 1px var(--lt-line), 0 3px 8px rgba(0,0,0,.14); }
.lt-tbox { background: var(--lt-fill2); border: 1px solid var(--lt-line); }
.lt-tbox::before { background: var(--lt-line); }
.lt-tbox.lt-armed { box-shadow: inset 0 0 0 2px var(--lt-red-t); }
.lt-cup.lt-hit::before { box-shadow: inset 0 0 0 2px var(--lt-line); }
.lt-tbox.lt-armed .lt-cup.lt-tap::before { box-shadow: inset 0 -3px 0 rgba(0,0,0,.25), 0 0 0 2px var(--lt-t2), 0 3px 6px rgba(0,0,0,.3); }
.lt-ring { border-color: var(--lt-red-t); }
.lt-h-foot { color: var(--lt-t2); opacity: 1; }
.lt-sech h2 { font-size: 17px; }

/* Ticker bestätigen: Team immer mit Icon + Name (nicht im Fließtext verlieren) */
.lt-confr .lt-confsc{font-size:20px;min-width:40px;height:34px;padding:0 8px;display:grid;place-items:center;flex:none}
.lt-confr .lt-grow{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt-teamnote{display:flex;align-items:center;gap:10px}
.lt-teamnote .lt-av{width:30px;height:30px;font-size:11px}
.lt-btn .lt-av.lt-inbtn{width:24px;height:24px;font-size:9px;margin:0 2px 0 4px;text-shadow:none}
.lt-btn b{font-weight:800}

.lt-reqdot{width:10px;height:10px;border-radius:50%;background:var(--lt-bad);flex:none;animation:ltPulse 1.4s ease-out infinite}
.lt-det .lt-hero{margin-top:0}
#lt-histw .lt-sech{margin-top:12px}
@media (prefers-reduced-motion:reduce){ .lt-reqdot{animation:none} .lt-sucard{animation:none} .lt-admr.lt-rel .lt-admf,.lt-admb{transition:none} }
.lt-reqst{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--lt-warn-bg);color:var(--lt-warn-t);font-size:13.5px;line-height:1.35}
.lt-reqst svg{flex:none;margin-top:1px}
.lt-reqst b{display:block;font-size:14px;margin-bottom:2px}

/* ================================================================
   Live-Teil der Spielkarten im Reiter "Spiele" (live_ticker.js renderCards, seit 11/2026 statt Reiter "Live").
   Schlank, solange niemand tickert (nur Knöpfe); die Becheransicht klappt nur auf, wenn jemand tickert.
   Nur grid-template-rows/opacity/transform werden animiert; Hell/Dunkel über die --lt-Tokens.
   ================================================================ */
.mc-lt { margin: 0; color: var(--c-text, var(--lt-t)); }
.mc-lt-x { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .42s var(--lt-ease); }
.mc-lt-x.on { grid-template-rows: 1fr; }
.mc-lt-in { overflow: hidden; min-height: 0; position: relative; }
.mc-lt-tbl { padding: 6px 0 0; opacity: 0; transform: translateY(-6px) scale(.98); transition: opacity .3s, transform .42s var(--lt-ease); }
.mc-lt-x.on .mc-lt-tbl { opacity: 1; transform: none; transition-delay: .06s; }
.mc-lt-svg { display: block; width: 100%; height: auto; max-height: 104px; margin: 0 auto; }
.mc-lt-tab { fill: var(--lt-fill2); stroke: var(--lt-line); stroke-width: 1.2; }
.mc-lt-mid { stroke: var(--lt-line); stroke-width: 1.2; stroke-dasharray: 3 4; }
.mc-c-o { fill: none; stroke: var(--lt-t2); stroke-opacity: .32; stroke-width: 1.1; }
.mc-c-f { stroke: rgba(255,255,255,.9); stroke-width: 1.1; transform-box: fill-box; transform-origin: center; transition: transform .45s var(--lt-spring), opacity .35s; }
.mc-c-f.s1 { fill: var(--lt-cup-r); }
.mc-c-f.s2 { fill: var(--lt-cup-b); }
.mc-c.hit .mc-c-f { transform: scale(.2); opacity: 0; }
.mc-c.mc-splash .mc-c-o { animation: mcSplash .7s ease-out; }
@keyframes mcSplash { 0% { stroke: var(--lt-gold); stroke-opacity: 1; stroke-width: 3.2; } 100% { stroke-opacity: .32; stroke-width: 1.1; } }
.mc-lt-tk { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 2px 0 4px; font: 13px/1.2 var(--font, var(--lt-display)); color: var(--c-text-2, var(--lt-t2)); }
.mc-lt-who { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mc-lt-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--lt-t2); opacity: .6; }
.mc-lt-tk.on .mc-lt-dot, .mc-lt-tk.me .mc-lt-dot { background: var(--lt-red-t); opacity: 1; animation: ltPulse2 1.4s ease-out infinite; }
.mc-lt-tk.me { color: var(--lt-red-t); }
.mc-lt-go { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 12px;
    border: 1px solid var(--c-border, var(--lt-line)); color: var(--c-text, var(--lt-t)); font: 13.5px/1 var(--font, var(--lt-display)); white-space: nowrap; transition: transform .2s var(--lt-spring); }
.mc-lt-go:active { transform: scale(.96); }
.mc-lt .mc-live-btn svg { flex: none; }
.mc-lt .mc-live-acts { animation: mcLtIn .32s var(--lt-ease) both; }
@keyframes mcLtIn { from { opacity: 0; transform: translateY(-4px); } }
/* Live-Teil antippbar (öffnet das Dock-Sheet), solange jemand tickert; wer selbst tickert, sieht statt eines Knopfs nur einen Pfeil */
.mc-lt-open .mc-lt-in, .mc-lt-open .mc-lt-tk { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mc-lt-open .mc-lt-in:focus-visible { outline: 2px solid var(--lt-red-t); outline-offset: 2px; border-radius: 16px; }
.mc-lt-open .mc-lt-tk.me::after { content: ""; flex: none; width: 8px; height: 8px; margin: 0 6px 0 2px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .7; }
.mc-lt-line { display: flex; align-items: center; gap: 7px; min-height: 40px; font-size: 12.5px; color: var(--c-text-2, var(--lt-t2)); }
@media (max-width: 360px) { .mc-lt-go { padding: 0 10px; } .mc-lt-tk { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .mc-lt-x, .mc-lt-tbl, .mc-c-f { transition: none; } .mc-lt-tk .mc-lt-dot, .mc-lt .mc-live-acts, .mc-c.mc-splash .mc-c-o { animation: none; } }
/* Live-Punkt am Reiter "Spiele" (früher am Reiter "Live") */
.tab-btn .lt-tabdot, .tab-btn.active .lt-tabdot { right: 8px; top: 6px; background: var(--c-primary); box-shadow: 0 0 0 2px var(--c-card); }
/* Ausgeloggte Zuschauer (11/2026): der Live-Teil ist nur Status, "Einloggen" ein leiser Textknopf */
.mc-lt-view .mc-lt-dot { animation: none; }
.mc-lt-go.mc-lt-login { padding: 0 8px; background: transparent; border-color: transparent; color: var(--lt-red-t); }
