/* U12 Trainer-App · app.css — Gestaltung nach „Trainer App · verbindliche Designübernahme“ (Sollbilder T01–T22, D01–D08, 31.10.2026).
   Familie mit CoachPredrag: Systemschrift, deckende Flächen, violette Hauptaktion, ausgeschriebene Statuswörter.
   Maße in CSS-Pixeln bei 390 Breite: Seitenrand 20, Inhalt 350, Karte innen 16, Radien Karte/Button 12 · Chip 8 · Tag 10 · Kennung 9 · Notfall 22.
   Schriftgrößen in rem (skalieren mit der Textgröße des Geräts). Keine Verläufe, Schatten, Glas oder Dekorflächen.
   Farbquelle: Werte aus dem Auftrag (tokens.json lag nicht bei) — einmal als Rohpalette definiert, unten nur zugeordnet. */

/* ===== Rohpaletten (einzige Stelle mit Farbwerten der Oberfläche) ===== */
:root{
  --l-bg:#F5F5F9; --l-surface:#FFFFFF; --l-raised:#ECEEF5; --l-text:#171C2B; --l-text2:#535D73; --l-accent:#6241B5; --l-on-accent:#FFFFFF;
  --l-ok:#25664A; --l-warn:#80520F; --l-err:#AD2837; --l-ctl:#7C8497; --l-line:#D5D9E4;
  --d-bg:#0D1220; --d-surface:#181F30; --d-raised:#242D43; --d-text:#F2F3F8; --d-text2:#B2B9CC; --d-accent:#B9A5FF; --d-on-accent:#0D1220;
  --d-ok:#99D7BA; --d-warn:#E9B977; --d-err:#F6A8AE; --d-ctl:#77839B; --d-line:#35415B;
  /* Spielfeld (gleich in beiden Schemata, Bühne 350 × 205 der Sollbilder) */
  --field-out:#204D37; --field-in:#285C42; --field-line:#D7E9DC;

  --font:-apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --sa-top:env(safe-area-inset-top, 0px); --sa-bottom:env(safe-area-inset-bottom, 0px);
  --sa-left:env(safe-area-inset-left, 0px); --sa-right:env(safe-area-inset-right, 0px);
  --pad:20px; --r:12px; --r-chip:8px; --r-day:10px; --navh:60px; --col:640px;
}
/* ===== Zuordnung hell (Standard) ===== */
:root{
  color-scheme:light;
  --bg:var(--l-bg); --surface:var(--l-surface); --raised:var(--l-raised); --text:var(--l-text); --text2:var(--l-text2);
  --accent:var(--l-accent); --on-accent:var(--l-on-accent); --ok:var(--l-ok); --warn:var(--l-warn); --err:var(--l-err); --ctl:var(--l-ctl); --line:var(--l-line);
}
/* ===== Zuordnung dunkel — Gerät dunkel, ausdrücklich dunkel, und Live-Ansichten (Platz-Modus, Spielminuten) immer ===== */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:var(--d-bg); --surface:var(--d-surface); --raised:var(--d-raised); --text:var(--d-text); --text2:var(--d-text2);
    --accent:var(--d-accent); --on-accent:var(--d-on-accent); --ok:var(--d-ok); --warn:var(--d-warn); --err:var(--d-err); --ctl:var(--d-ctl); --line:var(--d-line);
  }
}
:root[data-theme="dark"], .live{
  color-scheme:dark;
  --bg:var(--d-bg); --surface:var(--d-surface); --raised:var(--d-raised); --text:var(--d-text); --text2:var(--d-text2);
  --accent:var(--d-accent); --on-accent:var(--d-on-accent); --ok:var(--d-ok); --warn:var(--d-warn); --err:var(--d-err); --ctl:var(--d-ctl); --line:var(--d-line);
}

/* ===== Tokens der vorhandenen Skizzen und Animationen (skizzen.js, anim*.js lesen sie) — Feld in den Grüntönen der Bühne ===== */
:root{
  --pitch:var(--field-in); --pitch-2:#2B6146; --pitch-line:var(--field-line); --pitch-mark:rgba(255,255,255,.5); --pitch-ink:#FFFFFF; --pitch-pill:rgba(8,24,15,.78);
  --grass:var(--field-in); --grass-2:#2B6146; --grass-edge:var(--field-out); --chalk:var(--field-line); --zone:rgba(255,255,255,.08);
  --team-v:#8A5CD6; --team-w:#FFFFFF; --team-w-ring:#2A2238; --wait:#A9A3B6; --head:#7A5A48;
  --att:#E9732A; --def:#6E4FCB; --tw:#2F74CF; --trainer:#E5574B; --ball:#FFFFFF; --ball-ink:#1D1A22;
  --cone-y:#F5C531; --cone-b:#4A86D8; --cone-r:#E74C3C; --cone-o:#F08A24; --cone-big:#F08A24; --net:rgba(255,255,255,.28);
  --pa-o:#E9732A; --pa-l:#6E4FCB; --pa-v:#8457D6; --pa-w:#FFFFFF; --pa-tw:#2F74CF; --pa-g:#A9A3B6; --pa-ye:#F5C531; --pa-gn:#0E5C2F; --pa-bl:#2F6FD1; --pa-rd:#C0392B;
  --hl-info:#BFE0FF; --hl-good:#C8F7D2; --good:#1E6B35; --good-bg:#E4F2E7; --bad:#9A3131; --bad-bg:#FAEAEA; --info:#1B5AA3; --info-bg:#E5EFFB;
  --tag-ink:#171C2B; --tag-bg:#FFFFFF; --band:#0D1220; --band-ink:#F2F3F8; --ink:#171C2B;
  --font-body:var(--font); --font-display:var(--font);
}

/* ===== Grundlagen ===== */
*,*::before,*::after{box-sizing:border-box}
:root{padding:0 !important}  /* sichere Bereiche regelt die App selbst (Kopf, Navigation, Blätter) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.5625rem;overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-numeric:normal}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0;padding:0;margin:0;text-align:inherit}
p,h1,h2,h3,h4,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
a{color:var(--accent)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
/* Überschriften erhalten den Fokus nur programmatisch beim Öffnen eines Blatts (Bildschirmleser) — ohne sichtbaren Rahmen */
[tabindex="-1"]:focus-visible{outline:none}
[hidden]{display:none !important}
.sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.num{font-variant-numeric:tabular-nums}

/* ===== Seitengerüst ===== */
.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.wrap{width:100%;max-width:calc(var(--col) + 2 * var(--pad));margin-inline:auto;padding-inline:max(var(--pad), var(--sa-left)) max(var(--pad), var(--sa-right))}
.main{flex:1;padding-top:17.5px;padding-bottom:calc(var(--navh) + var(--sa-bottom) + 32px)}
.main:focus{outline:none}
body.no-nav .main{padding-bottom:calc(var(--sa-bottom) + 32px)}

/* ===== Kopfzeile: Kennung oder Rückweg, Notfall immer gleich (94 × 44, Radius 22) ===== */
.hd{position:sticky;top:0;z-index:20;background:var(--bg);padding-top:var(--sa-top)}
.hd-in{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:11.5px;min-height:56.5px}
.hd-id{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;padding-top:4px;min-height:calc(2.5rem + 4px)}
.kenn{width:30px;height:30px;flex:none;border-radius:9px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;
  font-size:17px;line-height:1;font-weight:700}
.hd-tx{display:grid;min-width:0;padding-top:3.8px;margin-bottom:-4.8px}
.hd-name{font-size:min(1.0625rem, 22px);line-height:min(1.375rem, 28.47px);font-weight:700}
.hd-sub{font-size:min(.8125rem, 17px);line-height:min(1.125rem, 23.54px);color:var(--text2);overflow-wrap:anywhere;margin-top:1px}
.hd-back{display:flex;align-items:center;gap:0;min-height:44px;flex:1;min-width:0;margin-left:-6px;padding:0 8px 0 6px;color:var(--text);border-radius:10px}
.hd-back .chev{width:7px;height:12px;flex:none;color:var(--accent);margin:0 21px 0 2.5px}
.hd-back span{font-size:min(1.0625rem, 20px);line-height:min(1.375rem, 25.88px);font-weight:700;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* Beschriftung wie im Soll linksbündig mit 11 Innenabstand; wächst bei großer Schrift statt abzuschneiden */
.sos{flex:none;min-width:94px;max-width:55%;min-height:44px;border-radius:22px;border:1px solid var(--err);background:var(--surface);color:var(--err);
  font-size:min(.8125rem, 17px);line-height:min(1.125rem, 23px);font-weight:700;display:flex;align-items:center;justify-content:flex-start;gap:4px;padding:0 10px;text-align:left}
.sos:active{background:var(--raised)}

/* ===== Hauptnavigation: drei gleiche Bereiche (Platzansicht: Heute · Training · Spieltag), 60 hoch plus sicherer Bereich ===== */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--sa-bottom)}
.nav-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:calc(var(--col) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--sa-left) var(--sa-right)}
/* Beschriftung wächst bei großer Schrift nur bis 15 px mit (fünf Bereiche müssen bei 320 nebeneinander passen, wie Tab-Leisten in iOS) */
.nav button{min-height:var(--navh);min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5.5px;padding-top:8.5px;color:var(--text2);
  font-size:min(.8125rem, 15px);line-height:min(1.125rem, 20px);font-weight:400;overflow-wrap:normal}
.nav button svg{width:24px;height:24px;flex:none}
.nav button[aria-current="page"]{color:var(--accent)}
body.no-nav .nav{display:none}

/* ===== Schrift nach Rollen ===== */
.date{font-size:.9375rem;line-height:1.375rem;color:var(--text2)}
.h-page{font-size:min(1.6875rem, 40px);line-height:min(2.25rem, 53.33px);font-weight:700;margin-top:8px;letter-spacing:0}
.h-title{font-size:min(1.9375rem, 40px);line-height:min(2.25rem, 46.45px);font-weight:700}
.h-view{font-size:min(1.75rem, 40px);line-height:min(2.125rem, 48.57px);font-weight:700}
.h-sec{font-size:min(1.5rem, 32px);line-height:min(1.875rem, 40.0px);font-weight:700}
.h-sub{font-size:min(1.3125rem, 28px);line-height:min(1.625rem, 34.67px);font-weight:700}
.h-20{font-size:min(1.25rem, 28px);line-height:min(1.625rem, 36.4px);font-weight:700}
.meta{font-size:.9375rem;line-height:1.375rem;color:var(--text2)}
.small{font-size:.8125rem;line-height:1.125rem;color:var(--text2)}
.body{font-size:1.0625rem;line-height:1.5625rem}
.body2{font-size:1.0625rem;line-height:1.5625rem;color:var(--text2)}
.q19{font-size:1.1875rem;line-height:1.6875rem}
.c-warn{color:var(--warn)} .c-ok{color:var(--ok)} .c-err{color:var(--err)} .c-acc{color:var(--accent)} .c-2{color:var(--text2)}
.bold{font-weight:700}

/* ===== Flächen ===== */
.card{background:var(--surface);border-radius:var(--r);padding:16px;min-width:0}
.card.raised{background:var(--raised)}
.stack{display:grid;gap:12px;min-width:0}
.stack > *{min-width:0}

/* ===== Chips (Status) 28 hoch, Radius 8 — Text immer ausgeschrieben ===== */
.chip{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:var(--r-chip);background:var(--raised);color:var(--text2);
  font-size:.8125rem;line-height:1.125rem;font-weight:700;white-space:nowrap;max-width:100%}
.chip.warn{color:var(--warn)} .chip.ok{color:var(--ok)} .chip.acc{color:var(--accent)} .chip.err{color:var(--err)} .chip.txt{color:var(--text)}
.chip.team-w{box-shadow:inset 0 0 0 1px var(--ctl)}
button.chip{min-height:44px;background:none;padding:0;border-radius:var(--r-chip)}
button.chip > span{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:var(--r-chip);background:var(--raised)}

/* ===== Schaltflächen: eine Hauptaktion (Violett), sonst ruhige Fläche oder Link ===== */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:15px 16px;border-radius:var(--r);
  font-size:1rem;line-height:1.375rem;font-weight:700;text-align:center;background:var(--raised);color:var(--text)}
.btn.pri{background:var(--accent);color:var(--on-accent)}
.btn.h56{min-height:56px;padding-block:17px}
.btn.h60{min-height:60px;padding-block:19px}
.btn.h48{min-height:48px;padding-block:13px}
.btn.h49{min-height:49px;padding-block:13.5px}
.btn:disabled{opacity:.55;cursor:default}
.btn.pri:active{background:color-mix(in srgb, var(--accent) 86%, var(--text))}
.btn:not(.pri):active{background:color-mix(in srgb, var(--raised) 85%, var(--text))}
.btn svg{width:20px;height:20px;flex:none}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:1.0625rem;line-height:1.375rem;font-weight:700;text-align:left}
.link.c{justify-content:center;width:100%}
.btn-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.btn-row.block{grid-template-columns:minmax(0,166fr) minmax(0,172fr)}

/* Zeile mit Pfeil (Einstieg in Details): Text Akzent, Pfeil rechts */
.lrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;color:var(--accent);
  font-size:1.0625rem;line-height:1.375rem;font-weight:700;text-align:left}
.lrow .chev-r{width:5px;height:10px;flex:none;color:var(--accent);margin-right:11px}
.lrow.div{border-bottom:1px solid var(--line)}
.chev-r path,.chev path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ===== Listen in Karten: ganze Zeile bedienbar, Trennlinien 15 eingerückt ===== */
.list{background:var(--surface);border-radius:var(--r);padding:0 15px;min-width:0}
.list > .li + .li{border-top:1px solid var(--line)}
.li{display:flex;align-items:center;gap:12px;width:100%;min-height:67px;padding:12px 0;text-align:left;color:var(--text)}
.li .chev-r{width:5px;height:10px;flex:none;color:var(--text2);margin-right:.5px}
.li-main{flex:1;min-width:0;display:grid}
.li-t{font-size:1rem;line-height:1.375rem;font-weight:700}
.li-m{font-size:.8125rem;line-height:1.125rem;color:var(--text2)}

/* Ablaufzeile (D08): Dauer 25 · Titel 16 · Meta 13 · Zeitspalte 54 */
.flow .li{padding:12px 0 6px 0;align-items:flex-start;min-height:67px}
.dur{width:44px;flex:none;display:grid;margin-left:-1px}
.dur b{font-size:min(1.5625rem, 32px);line-height:min(1.75rem, 35.84px);font-weight:700;font-variant-numeric:tabular-nums}
.dur span{font-size:.8125rem;line-height:1rem;color:var(--text2);letter-spacing:.02em;margin-top:3.5px}
.flow .li-t{margin-top:-1px}
.flow .li-m{margin-top:3.5px}
.flow .chev-r{align-self:center;margin-top:-3px}
.flow .li.pause .dur b,.flow .li.pause .li-t{color:var(--text)}
.flow .li.now{box-shadow:inset 3px 0 0 var(--accent)}

/* Einfache Zeilen ohne Karte (Material, Antworten): Linie unten */
.rows > *{border-bottom:1px solid var(--line)}
.mrow{display:grid;grid-template-columns:98px minmax(0,1fr);gap:0;align-items:baseline;padding:17.5px 0 22.5px 2px}
.mrow b{font-size:min(1.25rem, 28px);line-height:min(1.375rem, 30.8px);font-weight:700;font-variant-numeric:tabular-nums}
.mrow span{font-size:1rem;line-height:1.375rem;color:var(--text2)}
.mrow.full{grid-template-columns:minmax(0,1fr)}

/* ===== Heute ===== */
.today-card{display:grid;margin-top:24px;padding-bottom:14px}
.today-card .chip{justify-self:start}
.today-card .when{margin-top:12px}
.today-card .plan-n{font-size:min(1.8125rem, 40px);line-height:min(2.125rem, 46.9px);font-weight:700;margin-top:12px}
.today-card .plan-s{font-size:min(1.25rem, 28px);line-height:min(1.625rem, 36.4px);font-weight:700;margin-top:6px}
.today-card .lines{margin-top:17px;font-size:1.0625rem;line-height:1.46875rem;color:var(--text2)}
.today-card .btn{margin-top:11.5px}
.wk-h{margin-top:28.5px}
.wk-d{margin-top:6px}
/* Woche kompakt: 44 × 70 bei 390; auf schmalen Geräten werden nur die Abstände (bis 2) und dann die Kacheln schmaler — kein seitliches Scrollen */
.days{display:grid;grid-template-columns:repeat(7,minmax(0,44px));column-gap:clamp(2px, calc((100vw - 348px) / 6), 6px);margin-top:15px;padding-bottom:0}
.days::-webkit-scrollbar{display:none}
.day{width:100%;min-width:0;min-height:70px;border-radius:var(--r-day);background:var(--surface);display:flex;flex-direction:column;align-items:center;padding-top:8.5px;color:var(--text)}
.day .wd{font-size:min(.8125rem, 16px);line-height:min(1.125rem, 22.15px);color:var(--text2);align-self:flex-start;padding-left:10.5px}
.day .dn{font-size:min(1.125rem, 24px);line-height:min(1.375rem, 29.33px);font-weight:700;margin-top:8px;margin-left:-2px;font-variant-numeric:tabular-nums}
.day.ev .dn{color:var(--accent)}
.day.sel{background:var(--raised)}
.day.today .dn{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.day .mk{font-size:.6875rem;line-height:.875rem;color:var(--text2);margin-top:1px}
.daylist{display:grid;margin-top:16px}
.daylist .li{min-height:56px}
.wk-note{margin-top:24px}
.task{margin-top:24px}

/* ===== Training · Plan ===== */
.plan-top .h-title{margin-top:8px}
.plan-sub{font-size:min(1.25rem, 28px);line-height:min(1.625rem, 36.4px);color:var(--text2);margin-top:4.5px}
.plan-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 36px;margin-top:17px}
.plan-meta .meta{font-size:.9375rem}
.focus{margin-top:13px;padding-top:11.5px;padding-bottom:21.5px}
.focus .small{font-weight:700}
.focus .ft{font-size:1.1875rem;line-height:1.625rem;font-weight:700;margin-top:11.5px}
.prep-link{margin-top:8.5px}
.sec-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.flow-h{margin-top:10px}
.flow-h .small{margin-right:42px;position:relative;top:-2px}
.flow{margin-top:12px}
/* angedockte Hauptaktion: eigene Grundfläche, damit nichts darunter durchscheint; Liste bleibt bis zur letzten Zeile erreichbar */
.dock{position:sticky;bottom:calc(var(--navh) + var(--sa-bottom));z-index:5;margin:0 calc(-1 * var(--pad));padding:16px var(--pad);background:var(--bg)}
body.no-nav .dock{bottom:var(--sa-bottom)}
/* Woche ohne Plan (T20) */
.np-title{font-size:min(1.8125rem, 40px);line-height:min(2.25rem, 49.66px);margin-top:7px}
.np-range{margin-top:6px}
.np-card{margin-top:37px;padding:21px 16px 20px}
.np-h{font-size:min(1.625rem, 32px);line-height:min(1.875rem, 36.92px);font-weight:700}
.np-txt{margin-top:23px;font-size:1.125rem;line-height:1.6875rem;color:var(--text2)}
.np-btn{margin-top:13.5px}
.plan-more{margin-top:28px;display:grid;gap:12px}
.plan-split{display:block}
.plan-side{display:none}
.wk-list .li{min-height:60px}
.notice{display:grid;gap:4px}
.notice.warn .h-20{color:var(--warn)}
.notice.err .h-20{color:var(--err)}

/* ===== Spieltag (T07) ===== */
.gd-title{margin-top:11px}
.g-card{margin-top:28px;display:grid;padding:18px 16px 15px}
.g-when{font-size:1rem;line-height:1.375rem;color:var(--text2);margin-top:14px}
.g-teams{font-size:min(1.5rem, 32px);line-height:min(2.3125rem, 49.33px);font-weight:700;margin-top:13.5px}
.g-meet{font-size:1rem;line-height:1.375rem;color:var(--warn);margin-top:16.5px}
.g-cta{margin-top:29.5px}
.g-fh{margin-top:30px}
.g-focus{font-size:1.1875rem;line-height:1.75rem;margin-top:13.5px}
.g-also{margin-top:33.5px;display:grid;gap:4px;width:100%;text-align:left;padding:10.5px 16px 6.5px}
.g-also-t{font-size:1rem;line-height:1.375rem;font-weight:700}

/* ===== Unteransichten (Blätter): eigener Kopf mit Rückweg und Notfall, ohne Navigation ===== */
.layer{position:fixed;inset:0;z-index:40;background:var(--bg);color:var(--text);display:flex;flex-direction:column}
.layer-b{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.layer .hd{position:sticky}
.layer-in{padding-top:22px;padding-bottom:calc(var(--sa-bottom) + 40px)}
.layer.notf{z-index:60}
.layer[aria-hidden="true"]{visibility:hidden}

/* ===== Bühne für Skizzen und Animationen (350 × 205) ===== */
.stage{position:relative;width:100%;aspect-ratio:350 / 205;border-radius:var(--r);background:var(--field-out);overflow:hidden;min-width:0}
.stage > .an, .stage > .player-st{position:absolute;inset:0}
.stage .an{display:block;background:none;border:0;padding:0;border-radius:0}
.stage .an-stage{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;background:var(--field-out)}
.stage .an-scene,.stage .an-cap,.stage .an-ctrl,.stage .an-row,.stage .an-steps,.stage .an-legend{display:none}
.stage svg.sk{position:absolute;inset:0;width:100%;height:100%}
.stage .cpsk{position:absolute;inset:0;display:grid;place-items:center}
.stage .cpsk svg{width:100%;height:100%}
/* Originalzeichnungen (skizzen.js, anim*.js) unverändert — Klassen der Skizzen wie in Fassung 1, Farben aus den Feld-Tokens */
.an-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sk{display:block;width:100%;height:auto;max-width:100%;font-family:var(--font)}
.sk-grass{fill:var(--pitch)} .sk-stripe{fill:var(--pitch-2)}
.sk-field{fill:none;stroke:var(--pitch-line)} .sk-field.dash{stroke-dasharray:1.1 .7}
.sk-zone{fill:rgba(255,255,255,.14)} .sk-ghost{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.35);stroke-width:.12;stroke-dasharray:.6 .5}
.sk-l-white{stroke:var(--pitch-line)} .sk-l-mid{stroke:#BBD7FF;stroke-dasharray:.6 .5;opacity:.9} .sk-l-kanal{stroke:#F5D96A;stroke-dasharray:.7 .5;opacity:.9} .sk-l-konter{stroke:#FF8A80;stroke-dasharray:1 .55} .sk-l-zone{stroke:#D7F7DE;stroke-dasharray:.7 .5}
.sk-cone-y{fill:var(--cone-y);stroke:rgba(0,0,0,.35);stroke-width:.06} .sk-cone-b{fill:var(--cone-b);stroke:rgba(0,0,0,.35);stroke-width:.06} .sk-cone-r{fill:var(--cone-r);stroke:rgba(0,0,0,.35);stroke-width:.06}
.sk-bc{fill:var(--cone-big);stroke:rgba(0,0,0,.35);stroke-width:.08}
.sk-net{fill:var(--net);stroke:var(--pitch-line);stroke-width:.08} .sk-post{stroke:#FFFFFF;stroke-linecap:round}
.sk-gate{stroke:#FFFFFF;stroke-dasharray:.35 .3;opacity:.85}
.sk-tx{fill:var(--pitch-ink);font-weight:700;paint-order:stroke;stroke:rgba(10,30,16,.55);stroke-width:.18}
.sk-tx.sk-sm{font-weight:700} .sk-tx.red{fill:#FFD2CC} .sk-lab{fill:rgba(255,255,255,.85)}
.sk-dimline{stroke:#FFFFFF;opacity:.8}
.sk-dimpill{fill:var(--pitch-pill)} .sk-dimtx{fill:#FFFFFF;font-weight:700}
.sk-ball{fill:#FFFFFF;stroke:#1B1B1B;stroke-width:.07}
.sk-al{fill:#FFFFFF;font-weight:700;font-family:var(--font)} .sk-al.dark{fill:#1F1829}
.pa-o{fill:var(--pa-o);stroke:#fff;stroke-width:.1} .pa-l{fill:var(--pa-l);stroke:#fff;stroke-width:.1} .pa-v{fill:var(--pa-v);stroke:#fff;stroke-width:.1}
.pa-w{fill:var(--pa-w);stroke:#2B2238;stroke-width:.14} .pa-tw{fill:var(--pa-tw);stroke:#fff;stroke-width:.1} .pa-g{fill:var(--pa-g);stroke:#fff;stroke-width:.08;opacity:.9}
.pa-ye{fill:var(--pa-ye);stroke:#3B2A00;stroke-width:.1} .pa-gn{fill:var(--pa-gn);stroke:#fff;stroke-width:.1} .pa-bl{fill:var(--pa-bl);stroke:#fff;stroke-width:.1} .pa-rd{fill:var(--pa-rd);stroke:#fff;stroke-width:.1}
.sk-coach{stroke:#FF5A4A;stroke-linecap:round;fill:none} .sk-coachbg{fill:rgba(255,255,255,.9)}
.sk-arrows.fade{opacity:.8}
.sk-ar-pass{stroke:#1B1B1B} .sk-ar-shot{stroke:#1B1B1B;stroke-dasharray:.25 .3} .sk-ar-throw{stroke:#1B1B1B;stroke-dasharray:.6 .35}
.sk-ar-run{stroke-dasharray:.55 .38}
svg .c-o{stroke:#FFB37A} svg .c-l{stroke:#E2D3FF} svg .c-v{stroke:#E2D3FF} svg .c-ink{stroke:#FFFFFF} svg .c-tw{stroke:#BFD8FF} svg .c-ye{stroke:#FFE58A} svg .c-gn{stroke:#B6F0C8} svg .c-bl{stroke:#BFD8FF} svg .c-rd{stroke:#FFC1B8}
.mk-ink{fill:#1B1B1B} .mk-o{fill:#FFB37A} .mk-l{fill:#E2D3FF} .mk-v{fill:#E2D3FF} .mk-tw{fill:#BFD8FF} .mk-ye{fill:#FFE58A} .mk-gn{fill:#B6F0C8} .mk-bl{fill:#BFD8FF} .mk-rd{fill:#FFC1B8}
.sk-brake{stroke:#FFE58A;stroke-linecap:round}
.sk-thumb .sk-dims{display:none}
.stage-empty{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;color:var(--field-line);font-size:.9375rem;line-height:1.375rem}
.pl-ctrl{margin-top:16px}
.pl-ctrl .btn{font-size:1rem}
.pl-more{display:grid;gap:10px;margin-top:12px}
.pl-cap{font-size:.9375rem;line-height:1.375rem;color:var(--text2);min-height:1.375rem}
.pl-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tchip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0;background:none;border-radius:var(--r-chip)}
.tchip > span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--r-chip);background:var(--raised);color:var(--text);
  font-size:.8125rem;line-height:1.125rem;font-weight:700;white-space:nowrap}
.tchip[aria-pressed="true"] > span{background:var(--accent);color:var(--on-accent)}
.tchip.icon > span{width:44px;justify-content:center;padding:0}
.tchip svg{width:18px;height:18px}
.pl-scrub{flex:1 1 140px;min-width:120px;accent-color:var(--accent);height:44px}
.pl-clock{font-size:.8125rem;color:var(--text2);font-variant-numeric:tabular-nums;min-width:72px}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem;line-height:1.125rem;color:var(--text2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}

/* Blockdetail (T06/T22) */
.blk-title{font-size:min(1.6875rem, 40px);line-height:min(2rem, 47.41px);font-weight:700;margin-top:-1.5px}
.blk-meta{margin-top:8.5px}
.blk-stage{margin-top:26px}
.kids{margin-top:33px}
.kids ol{display:grid;gap:0;margin-top:10px}
.kids li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:baseline;padding:8px 0 12px}
.kids li b{color:var(--accent);font-size:1.0625rem;line-height:1.5625rem;font-weight:700;padding-left:2px;position:relative;top:-3.5px}
.kids li span{font-size:1.0625rem;line-height:1.5625rem}
.trainer-link{margin-top:21.5px}
details.fold.trainer-link,details.fold.trainer-link:last-child{border-top:0;border-bottom:0}
.detail{display:grid;gap:12px}
.detail h3{font-size:1.0625rem;line-height:1.5625rem;font-weight:700}
.detail p,.detail li{font-size:1.0625rem;line-height:1.5625rem}
.detail ul.dots li{position:relative;padding-left:16px}
.detail ul.dots li::before{content:"";position:absolute;left:2px;top:.68em;width:5px;height:5px;border-radius:50%;background:var(--text2)}
.detail .meta{font-size:.9375rem}

/* Aufklappen ohne Zierrat */
details.fold{border-top:1px solid var(--line)}
details.fold:last-child{border-bottom:1px solid var(--line)}
details.fold > summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;cursor:pointer;
  font-size:1.0625rem;line-height:1.375rem;font-weight:700;color:var(--accent)}
details.fold > summary::-webkit-details-marker{display:none}
details.fold > summary .chev-r{width:5px;height:10px;flex:none;margin-right:11px;transition:transform .15s}
details.fold[open] > summary .chev-r{transform:rotate(90deg)}
details.fold > .fold-b{padding:0 0 18px;display:grid;gap:12px}
@media (prefers-reduced-motion: reduce){details.fold > summary .chev-r{transition:none}}

/* Begriffspaare: stapeln statt Spalten (behebt die verdrängte Textspalte) */
.kv{display:grid;gap:14px}
.kv > div{display:grid;gap:2px}
.kv dt{font-size:.9375rem;line-height:1.375rem;font-weight:700;color:var(--text)}
.kv dd{font-size:1.0625rem;line-height:1.5625rem;color:var(--text2);overflow-wrap:anywhere}

/* ===== Vorbereitung (T05) ===== */
.prep-h{font-size:min(1.9375rem, 40px);line-height:min(2.25rem, 46.45px);font-weight:700;margin-top:1px}
.prep-meta{margin-top:7.5px}
.assume{margin-top:27px;padding-bottom:13px}
.assume .h-sub{font-size:min(1.5rem, 32px);line-height:min(1.875rem, 40.0px);margin-top:10.5px}
.assume .meta{margin-top:5.5px}
.mat-h{margin-top:31.5px}
.mat{margin-top:0}
.prep-btn{margin-top:38px}
.prep-alt{margin-top:15px}

/* ===== Platz-Modus (T08) — immer dunkel ===== */
.live .meta.sess{margin-top:-4px}
.run-st{display:flex;align-items:center;justify-content:space-between;margin-top:19px}
.run-st > .small{margin-right:32.5px}
.run-t{font-size:min(1.6875rem, 40px);line-height:min(2rem, 47.41px);font-weight:700;margin-top:21px}
.run-l{margin-top:16.5px}
.clock{font-size:min(5rem, 21vw);line-height:1;font-weight:700;font-variant-numeric:tabular-nums;margin-top:13.5px}
.clock.over{color:var(--warn)}
.prog{height:6px;border-radius:3px;background:var(--raised);overflow:hidden;margin-top:24.5px}
.prog i{display:block;height:100%;width:0;min-width:18px;background:var(--accent);border-radius:3px}
.run-txt{margin-top:24px;font-size:1.1875rem;line-height:1.6875rem}
.run-btns{display:grid;grid-template-columns:minmax(0,165fr) minmax(0,173fr);gap:12px;margin-top:32.5px}
.run-next{display:grid;gap:7.5px;margin-top:26px;text-align:left;width:100%;padding:12.5px 16px 12px}
.run-next .h-20{font-size:min(1.25rem, 28px)}
.run-skz{margin-top:9px}
details.fold.run-skz{border-top:0}
.run-grid{display:block}
@media (orientation: landscape) and (max-height: 540px){
  .run-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-items:start}
  .run-b > .run-txt:first-child{margin-top:4px}
  .run-b .run-btns{margin-top:20px}
}
.run-foot{display:flex;justify-content:space-between;align-items:center;margin-top:17px}
.run-foot button{min-height:44px;font-size:1rem;line-height:1.375rem;color:var(--text2)}
.run-foot button:last-child{padding-right:17.5px}
.iv{border-radius:var(--r);padding:10px 12px;font-weight:700;margin-top:14px;background:var(--raised)}
.iv.an{color:var(--ok)} .iv.pause{color:var(--warn)}
.banner{border-radius:var(--r);padding:14px 16px;background:var(--raised);font-size:.9375rem;line-height:1.375rem}
.banner.warn{color:var(--warn)} .banner.err{color:var(--err)}
.blist{display:grid}
.blist > *{border-bottom:1px solid var(--line)}

/* Abschlussfragen und Auswahl (Antworten 48 hoch, Abstand 10) */
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r);background:var(--raised);color:var(--text);
  font-size:1rem;line-height:1.375rem;font-weight:700;text-align:center}
.opt[aria-checked="true"],.opt[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.opt.left{justify-content:flex-start;text-align:left}
.opts.row{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}

/* ===== Spielminuten (T09) — immer dunkel ===== */
.g-title{font-size:min(1.125rem, 26px);line-height:min(1.5rem, 34.67px);font-weight:700;margin-top:-2px}
.g-st{margin-top:11px;font-size:.9375rem;line-height:1.375rem}
.g-clock{font-size:min(4.375rem, 18vw);line-height:1;font-weight:700;font-variant-numeric:tabular-nums;margin-top:14.5px}
.g-act{margin-top:28.5px}
.g-h{display:flex;align-items:baseline;justify-content:space-between;margin-top:25.5px}
.g-h .h-sub{font-size:min(1.25rem, 28px);line-height:min(1.625rem, 36.4px)}
.g-h .small{margin-right:40.5px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:21px}
.tile{display:grid;align-content:start;min-height:65px;padding:5.5px 13px 6px;border-radius:var(--r);background:var(--raised);border:1px solid var(--ctl);text-align:left;color:var(--text)}
.tile .tn{font-size:min(1.4375rem, 30px);line-height:min(1.625rem, 33.91px);font-weight:700;font-variant-numeric:tabular-nums}
.tile .tm{font-size:min(.8125rem, 17px);line-height:min(1.125rem, 23.54px);color:var(--text2);font-variant-numeric:tabular-nums;margin-top:7.5px}
.tile .tm.warn{color:var(--warn)} .tile .tm.ok{color:var(--ok)}
.g-bh{margin-top:27px;font-size:1.0625rem;line-height:1.5rem}
.bench{display:grid;gap:10px;margin-top:17.5px}
.brow{display:flex;align-items:flex-start;gap:24px;min-height:65px;padding:13.5px 16px;border-radius:var(--r);background:var(--surface);text-align:left;width:100%;color:var(--text)}
.brow .tn{font-size:min(1.4375rem, 30px);line-height:min(1.625rem, 33.91px);font-weight:700;min-width:26px;font-variant-numeric:tabular-nums}
.brow .bm{font-size:.875rem;line-height:1.375rem;font-variant-numeric:tabular-nums;margin-top:2.5px}
.g-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.g-foot button{min-height:44px;font-size:.9375rem;line-height:1.375rem}
.g-foot button:last-child{padding-right:17.5px}
.g-sum{margin-top:12px}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:44px;height:44px;border-radius:var(--r);background:var(--raised);font-size:min(1.25rem, 28px);font-weight:700}
.stepper output{min-width:36px;text-align:center;font-size:min(1.25rem, 28px);font-weight:700;font-variant-numeric:tabular-nums}
.prow{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;padding:6px 0}
.prow .inp{text-align:center}
.prow .tg{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Eingaben ===== */
.inp{width:100%;min-height:48px;border-radius:var(--r);border:1px solid var(--ctl);background:var(--surface);color:var(--text);padding:12px 14px;font-size:1.0625rem;line-height:1.375rem}
textarea.inp{min-height:96px;resize:vertical}
.inp::placeholder{color:var(--text2);opacity:1}
.field{display:grid;gap:6px}
.field label{font-size:.9375rem;line-height:1.375rem;font-weight:700}
.search{width:100%;min-height:52px;border-radius:var(--r);border:0;background:var(--surface);color:var(--text);padding:14px 18px;font-size:1rem;line-height:1.5rem}
.search::placeholder{color:var(--text2);opacity:1}
.search:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ===== Rückmeldung (T10–T12, T21) ===== */
.fb-h{font-size:min(1.75rem, 40px);line-height:min(2.125rem, 48.57px);font-weight:700}
.fb-meta{margin-top:8px}
.fb-chip{margin-top:22px}
.fb-q{font-size:min(1.3125rem, 28px);line-height:min(1.625rem, 34.67px);font-weight:700;margin-top:26px}
.fb-q.fb-sw{margin-top:38px}
.fb-opts{margin-top:16px}
.fb-team{margin-top:32px}
.fb-rows{margin-top:-3.75px}
/* Teamzeile (T10): Team links, Antwort rechtsbündig wie im Soll — ohne Pfeil; aufgeklappt folgen die Antworten */
.trow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-height:59px;padding:19px 0 17px;border-bottom:1px solid var(--line);text-align:left;color:var(--text)}
.trow b{font-size:1rem;line-height:1.375rem;font-weight:700;min-width:72px}
.trow span{flex:1;font-size:.9375rem;line-height:1.375rem;color:var(--text2);text-align:right;padding-right:66.5px}
.trow .chev-r{display:none}
.trow + .opts{margin:12px 0 14px}
.fb-more{margin-top:15.5px}
.fb-go{margin-top:42px}
.fb-sum{display:grid;gap:0;margin-top:30px;padding-top:17.5px;padding-bottom:17px}
.fb-sum .h-20{font-size:1.0625rem;line-height:1.375rem;font-weight:700}
.fb-sum .lines{margin-top:18px;font-size:1rem;line-height:1.5rem;color:var(--text2);white-space:pre-line}
.fb-sum .link{margin-top:18px;font-size:.9375rem;min-height:30px}
.copy-st{margin-top:30px;padding:15.5px 16px 21px}
.copy-st .h-20{font-size:min(1.3125rem, 28px);line-height:min(1.5rem, 32.0px)}
.copy-st .meta{margin-top:12.5px}
.handoff{margin-top:35px;font-size:1.0625rem;line-height:1.5625rem;color:var(--text2)}
.copy-go{margin-top:43px}
.fb-back{margin-top:8px;font-size:1rem;padding-right:8.5px}
/* T21 Speicherfehler: Fehlerkarte 350 × 145, Eingaben bleiben offen */
.err-card{margin-top:41px;padding:17.5px 16px 9px}
.err-copy{margin-top:38px}
.err-retry{margin-top:15px}
.fb-sum.err-sum{margin-top:47px}
.fb-sum.err-sum{padding-bottom:23px}
.err-sum .h-20{font-size:min(1.125rem, 28px);line-height:min(1.375rem, 34.22px)}
.err-sum .lines{line-height:1.375rem;margin-top:23px}
.out{white-space:pre-wrap;font-size:.9375rem;line-height:1.375rem;background:var(--raised);border-radius:var(--r);padding:14px 16px;color:var(--text);user-select:text;-webkit-user-select:text;overflow-wrap:anywhere}
.err-card .h-20{color:var(--err);font-size:min(1.3125rem, 28px);line-height:min(1.625rem, 34.67px)}
.err-card .body{margin-top:17px;font-size:1.0625rem;line-height:1.5625rem}

/* ===== Übungen (T13–T16) ===== */
.ex-title{margin-top:5.5px}
.ex-search{margin-top:28.5px}
.ex-fil{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;min-height:44px}
.ex-fil .tchip > span{min-height:28px;padding:0 11px;color:var(--accent);background:var(--raised);font-size:.8125rem}
.ex-fil .tchip.fbtn > span{color:var(--text2);min-width:96px;justify-content:flex-start;padding:0 12px}
.ex-fil .fcount{margin-left:8px}
.ex-h{margin-top:10.5px;color:var(--accent);font-size:1rem;line-height:1.5rem;font-weight:700}
.ex-n{margin-top:6.5px}
.exlist{display:grid;gap:20px;margin-top:28.5px}
.exrow{display:flex;align-items:flex-start;gap:16px;min-height:99px;padding:14px 16px 14px 14px;border-radius:var(--r);background:var(--surface);text-align:left;width:100%;color:var(--text)}
.thumb{width:66px;height:66px;flex:none;border-radius:var(--r-day);background:var(--field-in);overflow:hidden;display:grid;place-items:center;position:relative}
.thumb svg{width:100%;height:100%;display:block}
.thumb.none{background:var(--raised);color:var(--text2);font-size:.6875rem;line-height:.875rem;text-align:center;padding:4px}
.exrow .et{font-size:1.0625rem;line-height:1.375rem;font-weight:700;padding-top:4px}
.exrow .es{font-size:.8125rem;line-height:1.125rem;margin-top:21.5px}
.ex-vp details.fold{border-top:0}
.es.warn{color:var(--warn)} .es.n{color:var(--text2)}
.fil-sheet{display:grid;gap:10px}
.ex-d-h{font-size:min(1.75rem, 40px);line-height:min(2.125rem, 48.57px);font-weight:700;margin-top:-2.5px}
.ex-d-chip{margin-top:17.5px}
.ex-stage{margin-top:23px}
.ex-anim{margin-top:15px}
.obs{margin-top:36.5px}
.obs .h-sub{font-size:min(1.375rem, 28px);line-height:min(1.75rem, 35.64px)}
.obs .q19{margin-top:16.5px}
.ex-links{margin-top:8.5px}
.ex-links details.fold:first-child{border-top:0}
.ex-links details.fold:last-child{border-bottom:0}
.ex-links details.fold > summary{min-height:61px}
.ex-links .lrow{min-height:62px}
.ex-origin{margin-top:10.5px}
.ex-origin details.fold{border-top:0;border-bottom:0}
.ex-origin details.fold > summary{font-weight:400;color:var(--text2);font-size:.9375rem}
.ex-origin details.fold > summary .chev-r{display:none}

/* ===== Saison (T17–T19) ===== */
.sa-title{margin-top:6px}
.area-btn{margin-top:28px}
.cal-h{font-size:min(1.5rem, 32px);line-height:min(1.875rem, 40.0px);font-weight:700;margin-top:31.5px}
/* Monatsraster wie T17: Kacheln 44 × 46, Abstand 6 waagerecht und 10 senkrecht, linksbündig; schrumpft auf schmalen Geräten */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,44px));justify-content:start;column-gap:clamp(2px, calc((100vw - 348px) / 6), 6px);row-gap:10px;margin-top:17.5px}
.cal .wd{font-size:min(.8125rem, 16px);line-height:min(1.125rem, 22.15px);color:var(--text2);text-align:left;padding:0 0 4.5px 6.5px}
.cd{width:100%;max-width:44px;min-height:46px;padding-bottom:6px;border-radius:var(--r-day);background:var(--surface);display:grid;place-items:center;font-size:min(1.0625rem, 22px);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;position:relative}
.cd.ev{color:var(--accent)}
.cd.sel{background:var(--raised)}
.cd.out{background:none}
/* Ferien: gestrichelte Kante statt Muster — keine Verläufe */
.cd.fer{background:none;border:1px dashed var(--ctl)}
.cd .mk{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font-size:.625rem;line-height:.75rem;color:var(--text2);font-weight:700}
.cd.today::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:1px;background:var(--text)}
.day-h{margin-top:39px;font-size:min(1.25rem, 28px);line-height:min(1.625rem, 36.4px)}
.evcard{display:grid;gap:12.5px;margin-top:18px;padding:15.5px 16px 28px}
.evcard .et{font-size:min(1.1875rem, 28px);line-height:min(1.5rem, 35.37px);font-weight:700;display:flex;gap:10px}
.evcard .es{font-size:.9375rem;line-height:1.375rem}
.lf-now{margin-top:34px}
.lf-now .meta{font-size:1.0625rem;line-height:1.5rem}
.lf-now .h-20{font-size:min(1.1875rem, 28px);line-height:min(1.625rem, 38.32px);margin-top:10px}
.stand-h{font-size:min(1.8125rem, 40px);line-height:min(2.125rem, 46.9px);font-weight:700;margin-top:-1px}
.stand-h + .prep-meta{margin-top:8.5px}
.stand-src{margin-top:14px}
/* T19: vier Einstiegszeilen 350 × 85, Titel 21, Ergänzung 15 */
.entries{display:grid;gap:18px;margin-top:25px}
.entry{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:85px;padding:13.75px 16px 14.9px;border-radius:var(--r);background:var(--surface);text-align:left;width:100%;color:var(--text)}
.entry .h-sub{font-size:min(1.3125rem, 28px);line-height:min(1.625rem, 34.67px)}
.entry .meta{margin-top:8.35px}
.entry .chev-r{width:5px;height:10px;color:var(--text2);margin:18.25px .5px 0 0;flex:none;align-self:flex-start}
.foot-note{margin-top:36px;font-size:1rem;line-height:1.40625rem;color:var(--text2)}
.olist{display:grid;gap:12px}
.oitem{display:grid;gap:6px}
.oitem .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tl{display:grid;gap:12px}
.lf{display:grid;gap:6px}
.lf.now{box-shadow:inset 0 0 0 2px var(--accent)}
.kwrow{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.stufe{display:flex;gap:4px;margin-top:6px}
.stufe i{height:6px;flex:1;border-radius:3px;background:var(--raised)}
.stufe i.on{background:var(--accent)}
.gm{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.gm .nr{font-weight:700;color:var(--text2);font-variant-numeric:tabular-nums}
.gm .erg{font-weight:700;font-size:min(1.25rem, 28px);font-variant-numeric:tabular-nums}
.teamtag{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.teamtag i{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none}
.teamtag.w i{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ctl)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--raised);border-radius:var(--r);padding:4px}
.seg button{min-height:44px;border-radius:9px;font-size:.9375rem;font-weight:700;color:var(--text2)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--text)}

/* ===== Notfall ===== */
.sos-h{font-size:min(1.75rem, 40px);line-height:min(2.125rem, 48.57px);font-weight:700;color:var(--err)}
.sos-card{border-radius:var(--r);padding:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--err);display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.sos-card .h-sub{color:var(--err)}
.n144{font-size:min(3.5rem, 22vw);line-height:1;font-weight:700;color:var(--err);font-variant-numeric:tabular-nums}
.cl{display:grid;gap:8px}
.cl label{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:var(--r);background:var(--raised);font-size:1.0625rem}
.cl input{width:22px;height:22px;accent-color:var(--accent);flex:none}

/* ===== Probespieler-Liste (bleibt bei der Einheit) ===== */
.pl-i{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.pl-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}

/* ===== Hinweis-Toast (nur nach tatsächlichem Erfolg) ===== */
.toast{position:fixed;left:50%;bottom:calc(var(--navh) + var(--sa-bottom) + 16px);transform:translateX(-50%);z-index:80;background:var(--text);color:var(--bg);
  border-radius:var(--r);padding:12px 16px;font-size:.9375rem;line-height:1.375rem;font-weight:700;max-width:calc(100% - 40px);text-align:center}

/* ===== Breite Displays: dieselben Bausteine; Plan mit Einheitenliste ab 768 ===== */
@media (min-width:768px){
  :root{--col:600px}
  .plan-split.two{display:grid;grid-template-columns:240px minmax(360px,1fr);gap:24px;align-items:start}
  .plan-split.two .plan-side{display:block;position:sticky;top:calc(var(--sa-top) + 80px)}
  .wrap.wide{max-width:calc(240px + 24px + var(--col) + 2 * var(--pad))}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto !important}}

/* ===== Platzansicht (M10): Statuszeile, Fassung, Hinweis „Neue Fassung“, geplante Angaben — gleiche Bausteine, keine neuen Flächen ===== */
.pz-status{display:flex;align-items:baseline;gap:8px;margin-top:10px;font-size:.8125rem;line-height:1.125rem;color:var(--text2)}
.pz-status::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:currentColor;transform:translateY(-1px)}
.pz-status.ok{color:var(--ok)} .pz-status.warn{color:var(--warn)} .pz-status.err{color:var(--err)}
.termin .fz{margin-top:12px}
.plan-meta + .fz{margin-top:10px}
.nf{display:grid;gap:8px;margin-top:14px;color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}
.nf-t{font-weight:700}
.nf .btn{margin-top:4px}
.layer .dock{bottom:var(--sa-bottom)}
a.lrow{text-decoration:none}
.ex-plan-h{margin-top:32px}
.exlist.ex-plan{margin-top:16px;gap:12px}
.blk-ex{margin-top:28px}
.card.geplant{margin-top:16px;display:grid;gap:10px}
.geplant-t{white-space:pre-line}
.pm-neu{display:grid;gap:8px;margin-top:12px}
