/* R19 remains isolated. R20 uses locally hosted, OFL-licensed display fonts. */
@font-face { font-family:DSEG7; src:url('../fonts/DSEG7Classic-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:DSEG14; src:url('../fonts/DSEG14Classic-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
.r19-scoreboard { box-sizing:border-box; width:100%; max-width:940px; margin-inline:auto; color:#fff0d9; font-family:Arial,Helvetica,sans-serif; isolation:isolate; }
.r19-scoreboard *, .r19-scoreboard *::before, .r19-scoreboard *::after { box-sizing:border-box; }
.r19-stage { position:relative; width:100%; aspect-ratio:2.64; container-type:inline-size; outline-offset:3px; touch-action:none; overflow:hidden; user-select:none; -webkit-user-select:none; }
.r19-stage:focus-visible { outline:2px solid #ffc078; }
.r19-canvas,.r19-fallback,.r19-overlays { position:absolute; inset:0; width:100%; height:100%; }
.r19-canvas { display:block; opacity:0; }
.r19-webgl .r19-canvas { opacity:1; }
.r19-webgl .r19-fallback { display:none; }
.r19-fallback { background:linear-gradient(130deg,#40474c 0%,#171e24 8%,#0b0e12 90%,#33383d 100%); border:clamp(3px,1cqw,8px) ridge #40474c; box-shadow:inset 0 0 0 2px #07090e, 0 9px 20px #0008; }
.r19-flat-panels { position:absolute; inset:3% 2% 12%; display:grid; grid-template-columns:29% 42% 29%; gap:1px; }
.r19-flat-panels i { background:linear-gradient(150deg,#0e131b,#080a0f); border:1px solid #3e4147; }
.r19-flat-scores { position:absolute; top:48%; transform:translateY(-50%); left:30%; width:40%; display:flex; justify-content:space-evenly; color:#ff8a34; font-weight:400; font-family:DSEG7,monospace; font-size:clamp(28px,11cqw,90px); line-height:1; text-shadow:0 0 4px #ff6d18,0 0 12px #f50; font-variant-numeric:tabular-nums; }
.r19-flat-scores span { min-width:37%; text-align:center; }
.r19-flat-scores b { font-weight:400; }
.r19-overlays { pointer-events:none; }
.r19-overlays > * { position:absolute; transform:translate(-50%,-50%); text-align:center; }
.r19-label { color:#ffd3a4; font-size:clamp(9px,2.6cqw,17px); font-weight:800; letter-spacing:.12em; text-shadow:0 0 5px #ff5b17; white-space:nowrap; }
.r19-team { width:24%; max-height:62%; color:#ffce9c; font-family:DSEG14,monospace; font-size:clamp(8px,2.7cqw,18px); line-height:1.5; font-weight:400; text-transform:uppercase; overflow-wrap:anywhere; text-wrap:balance; text-shadow:0 0 3px #ff6c1d; }
.r19-team-long { font-size:clamp(8px,2.4cqw,16px); }
.r19-strip { display:flex; align-items:center; justify-content:center; gap:clamp(6px,1.8cqw,14px); max-width:76%; font-family:DSEG14,monospace; font-weight:400; font-size:clamp(7.4px,2.45cqw,17px); line-height:1.35; color:#ffa44c; text-shadow:0 0 3px #ff6418; white-space:nowrap; text-transform:uppercase; }
.r19-strip-label,.r19-date,.r19-league { font:inherit; }
.r19-strip-label,.r19-date { flex-shrink:0; }
.r19-league { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.r19-date-sep { font:inherit; margin-inline:.1em; }
.r19-date[hidden],.r19-league[hidden] { display:none; }
/* R45: feste Positionen – „Ergebnis“ und Datum stehen immer an derselben Stelle, nur die Liga rechts wechselt */
.r19-strip { display:grid; grid-template-columns:minmax(0,1fr) auto auto minmax(0,1fr); justify-content:stretch; width:70%; max-width:70%; }
.r19-strip-label { grid-column:2; }
.r19-date { grid-column:3; }
.r19-league { grid-column:4; justify-self:end; text-align:right; }
.r19-youth .r19-label { color:#fff1a6; text-shadow:0 0 5px #ffb300; }
.r19-youth .r19-team { color:#ffeaa0; text-shadow:0 0 3px #ffbf1a; }
.r19-youth .r19-strip { color:#ffd84a; text-shadow:0 0 3px #ffaa00; }
.r19-youth .r19-flat-scores { color:#ffd21e; text-shadow:0 0 4px #ffb300,0 0 12px #f90; }
.r19-controls { display:flex; align-items:center; justify-content:center; gap:8px; padding:5px 2px 0; color:#f6e8d2; }
.r19-controls button,.r19-select { min-height:44px; background:#161e28; border:1px solid #8e6850; border-radius:7px; color:#fff2e2; font:600 14px/1.2 Arial,Helvetica,sans-serif; }
.r19-controls button { min-width:44px; padding:0; font-size:24px; cursor:pointer; }
.r19-controls button:disabled,.r19-select:disabled { opacity:.52; cursor:default; }
.r19-controls button:focus-visible,.r19-select:focus-visible,.r19-source:focus-visible { outline:2px solid #ff9b43; outline-offset:2px; }
.r19-select-wrap { min-width:0; }
.r19-select { width:min(47vw,240px); max-width:100%; padding:0 10px; text-overflow:ellipsis; cursor:pointer; }
.r19-count { font-family:DSEG7,monospace; font-size:11px; min-width:32px; text-align:center; white-space:nowrap; }
.r19-details { text-align:center; color:#f6eee2; font-size:clamp(12px,1.5vw,15px); line-height:1.4; padding:2px 5px 0; }
.r19-details p { margin:3px 0; }
.r19-state { font-weight:700; }
.r19-match { overflow-wrap:anywhere; }
.r19-meta { color:#c9cbd0; }
.r19-source { color:#ffb373; text-decoration:underline; display:inline-block; padding:5px; }
.r19-source[hidden] { display:none; }
.r19-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:380px) { .r19-team { font-size:clamp(8px,2.7cqw,11px); width:25%; } .r19-team-long { font-size:8px; } .r19-controls { gap:4px; } .r19-select { width:min(43vw,172px); } }
@media (prefers-reduced-motion:reduce) { .r19-scoreboard * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
