/* VTW Turnier — Handy-Seite (leicht, hell, gut lesbar) */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.phone { font-family: var(--font-body); background: var(--paper); color: var(--fg); padding-bottom: 30px; }
.p-head { background: var(--black); color: var(--gold); position: sticky; top: 0; z-index: 10; }
.p-head .p-inner { display: flex; align-items: center; gap: 12px; padding: 12px 16px; max-width: 640px; margin: 0 auto; }
.p-head img { height: 34px; width: auto; display: block; flex-shrink: 0; }
.p-head .t { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 16px; line-height: 1.1; }
.p-head .t small { display: block; font-size: 10px; letter-spacing: .14em; color: var(--fg-on-dark-muted); }
.p-head .clk { margin-left: auto; font-family: var(--font-mono); font-weight: 800; font-size: 20px; color: var(--gold-bright); }
.p-tabs { position: sticky; top: 58px; background: var(--white); z-index: 9; box-shadow: var(--shadow-sm); }
.p-tabs .p-inner { display: flex; max-width: 640px; margin: 0 auto; }
.p-tab { flex: 1; text-align: center; padding: 12px 4px; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: 13px; color: var(--fg-muted); border-bottom: 3px solid transparent; background: none; border-top: 0; border-left: 0; border-right: 0; }
.p-tab.active { color: var(--gold-deep); border-bottom-color: var(--gold); }
.p-body { padding: 12px; max-width: 640px; margin: 0 auto; }
.p-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r-md); box-shadow: var(--shadow-sm); margin-bottom: 12px; overflow: hidden; }
.p-card h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 15px; margin: 0; padding: 10px 14px; background: var(--gold-wash); color: var(--fg); display: flex; align-items: center; gap: 8px; }
.p-card .bl { width: 26px; height: 26px; border-radius: 6px; background: var(--gold); color: var(--fg-on-gold); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-brand); font-size: 14px; }
.p-row { display: grid; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; padding: 9px 12px; border-top: 1px solid var(--border); font-size: 14px; }
.p-row .tm { font-family: var(--font-mono); font-weight: 800; color: var(--gold-deep); font-size: 13px; }  /* offen = gelb */
.p-row.done .tm { color: var(--fg); }   /* fertig = schwarz */
.p-row.done .nm b { color: var(--fg); }
.p-row.cur { background: #ebedf1; box-shadow: inset 3px 0 0 var(--gold); }
.p-row.cur .tm { color: var(--gold-deep); }
/* LIVE-Anzeige beim aktuellen Spiel (passend zum Livestream-Button) */
.p-row .sc.live { color: #E60023; font-weight: 800; display: inline-flex; align-items: center; gap: 5px; letter-spacing: .04em; }
.p-row .sc.live .ldot { width: 9px; height: 9px; border-radius: 999px; background: #E60023; animation: livepulse2 1.3s infinite; }
@keyframes livepulse2 { 0% { box-shadow: 0 0 0 0 rgba(230,0,35,.55);} 70% { box-shadow: 0 0 0 7px rgba(230,0,35,0);} 100% { box-shadow: 0 0 0 0 rgba(230,0,35,0);} }
/* Pause / Programmpunkt */
.p-row.p-break { background: var(--gold-wash); }
.p-row.p-break .nm b { color: var(--gold-deep); }
.p-row .nm b { font-weight: 700; }
.p-row .g { font-size: 11px; color: var(--fg-faint); text-transform: uppercase; letter-spacing: .04em; }
.p-row .sc { font-family: var(--font-mono); font-weight: 800; }
table.ptbl { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
table.ptbl th:nth-child(1), table.ptbl td:nth-child(1) { width: 26px; }
table.ptbl th:nth-child(2), table.ptbl td:nth-child(2) { width: auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
table.ptbl th:nth-child(n+3), table.ptbl td:nth-child(n+3) { width: 44px; }
table.ptbl th { text-align: right; font-size: 10px; text-transform: uppercase; color: var(--fg-muted); padding: 6px; border-bottom: 2px solid var(--gold); }
table.ptbl th:first-child, table.ptbl td:first-child, table.ptbl .n { text-align: left; }
table.ptbl td { padding: 7px 6px; border-bottom: 1px solid var(--border); text-align: right; font-variant-numeric: tabular-nums; }
table.ptbl tr.q td { background: var(--gold-wash); font-weight: 700; }
.pbm { border-left: 4px solid var(--gold); background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--gold); border-radius: 8px; padding: 8px 10px; margin: 8px 12px; font-size: 13px; }
.pbm .r { display: flex; justify-content: space-between; padding: 2px 0; }
.pbm .r.w { font-weight: 800; color: var(--gold-deep); }
.pbm .meta { font-size: 10px; text-transform: uppercase; color: var(--fg-faint); }
.p-empty { text-align: center; color: var(--fg-muted); padding: 30px; }
.p-note { background: #fff8e6; border: 1px solid #f2d69a; color: #7a5a12; border-radius: var(--r-md); padding: 12px 16px; margin: 0 0 12px; font-size: 13px; line-height: 1.45; text-align: center; }
.p-note b { color: #6b4e0a; }
.p-note-h { font-weight: 800; color: #6b4e0a; font-size: 14px; line-height: 1.35; }
.p-note-s { color: #7a5a12; font-size: 12.5px; line-height: 1.4; margin-top: 6px; }

/* Eingebetteter YouTube-Player (16:9, responsiv) */
.p-video { position: relative; width: 100%; padding-top: 56.25%; background: #000; border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-md); }
.p-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* roter LIVE-Reiter */
.p-tab.p-tab-live { color: #E60023; }
.p-tab.p-tab-live.active { border-bottom-color: #E60023; }
.p-tab.p-tab-live .dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; background: #E60023; margin-right: 3px; vertical-align: middle; animation: livepulse2 1.3s infinite; }

/* Livestream-Button */
.p-live-wrap { max-width: 640px; margin: 0 auto; padding: 12px 12px 0; }
.p-live { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px; background: #E60023; color: #fff; border-radius: var(--r-md); font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; text-decoration: none; box-shadow: 0 4px 14px rgba(230,0,35,.35); }
.p-live:active { transform: translateY(1px); }
.p-live .dot { width: 11px; height: 11px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.6); animation: livepulse 1.4s infinite; }
@keyframes livepulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.5); } 70% { box-shadow: 0 0 0 9px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }

/* Fußzeile (Copyright + Sponsoring) */
.p-foot { max-width: 640px; margin: 8px auto 0; padding: 18px 14px 26px; text-align: center; font-size: 12px; color: var(--fg-faint); border-top: 1px solid var(--border); }
.p-foot a { color: var(--fg); text-decoration: none; font-weight: 800; }
.p-foot a:hover { text-decoration: underline; }
