:root{--gruen:#187a4a;--gruen-dunkel:#0f5c37;--gruen-hell:#e4f2ea;--rot:#e63f2a;--bg:#f4f5f4;--karte:#fff;--text:#1a1a1a;--leise:#6b7280;--linie:#e5e7eb;--sieg:#16a34a;--niederlage:#dc2626;--remis:#6b7280;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);overflow:hidden}a{color:inherit}#app{flex-direction:column;height:100dvh;display:flex}.kopf{background:var(--gruen);color:#fff;padding-top:env(safe-area-inset-top);border-bottom:3px solid var(--rot);flex-shrink:0}.kopf__zeile{align-items:center;gap:10px;max-width:640px;margin:0 auto;padding:12px 16px;display:flex}.kopf__logo{background:#fff;border-radius:50%;width:36px;height:36px}.kopf__titel{flex:1;min-width:0}.kopf__titel h1{font-size:1.15rem;line-height:1.2}.kopf__titel p{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.zurueck{padding:0 8px 4px 0;font-size:2rem;line-height:1;text-decoration:none}.info-knopf{border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font:italic 700 16px Georgia,serif;text-decoration:none;display:grid}.tabs{align-items:stretch;max-width:640px;margin:0 auto;display:flex}.tab{text-align:center;color:#ffffffb3;border-bottom:3px solid #0000;flex:1;padding:10px 2px;font-size:.8rem;font-weight:600;text-decoration:none}.tab--an{color:#fff;border-bottom-color:#fff}.offline{color:#92400e;text-align:center;background:#fef3c7;padding:6px 16px;font-size:.8rem}.inhalt{-webkit-overflow-scrolling:touch;padding:12px 16px calc(env(safe-area-inset-bottom) + 24px);flex:1;width:100%;max-width:640px;margin:0 auto;overflow-y:auto}.abschnitt{text-transform:uppercase;letter-spacing:.08em;color:var(--leise);margin:18px 4px 6px;font-size:.7rem;font-weight:600}.karte{background:var(--karte);border-radius:14px;margin-bottom:8px;padding:12px 14px;text-decoration:none;display:block;box-shadow:0 1px 3px #0000000f}a.karte:active{transform:scale(.985)}.karte--favorit{border-left:4px solid var(--rot)}.klein{color:var(--leise);margin-top:4px;font-size:.82rem}.mitte{text-align:center}.leer{color:var(--leise);text-align:center;padding:32px 16px;font-size:.9rem}.hinweis{color:var(--leise);margin:14px 4px 0;font-size:.82rem}.stand{color:var(--leise);text-align:center;margin-top:20px;font-size:.75rem}.liga{color:var(--leise);margin:4px 4px 8px;font-size:.8rem}.team-zeile{align-items:center;gap:12px;display:flex}.badge{background:var(--gruen-dunkel);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;min-width:46px;height:38px;padding:0 6px;font-size:.75rem;font-weight:700;display:grid}.badge--jugend{background:var(--rot)}.team-zeile__text{flex-direction:column;flex:1;min-width:0;display:flex}.team-zeile__name{font-weight:600}.team-zeile__liga{color:var(--leise);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.team-zeile__naechstes{color:var(--gruen-dunkel);margin-top:3px;font-size:.78rem;font-weight:500}.stern{color:#d1d5db;cursor:pointer;background:0 0;border:none;padding:6px;font-size:1.35rem}.stern--an{color:var(--rot)}.stern--kopf{color:#ffffff80;padding:0 12px}.stern--kopf.stern--an{color:#fff}.heute-karte{background:var(--gruen-hell);align-items:center;gap:12px;display:flex}.heute-karte__icon{font-size:1.6rem}.heute-karte>span:nth-child(2){flex-direction:column;flex:1;display:flex}.heute-karte__text{color:var(--gruen-dunkel);font-size:.82rem}.pfeil{color:var(--gruen);font-size:1.5rem}.install-karte{border:1px dashed var(--gruen);box-shadow:none;align-items:center;gap:12px;display:flex}.install-karte>span:first-child{font-size:1.5rem}.install-karte>span:nth-child(2){flex-direction:column;flex:1;display:flex}.install-karte .klein{margin-top:0}.anleitung ol{gap:8px;padding-left:20px;font-size:.92rem;display:grid}button.knopf{font:inherit;cursor:pointer;border:none;font-size:.88rem;font-weight:600}.spiel{align-items:center;gap:12px;display:flex}.spiel__datum{text-align:center;flex-direction:column;flex-shrink:0;width:46px;display:flex}.spiel__tag{text-transform:uppercase;color:var(--leise);font-size:.7rem}.spiel__dm{font-weight:700}.spiel__mitte{flex-direction:column;flex:1;min-width:0;display:flex}.spiel__team{color:var(--gruen-dunkel);font-size:.72rem;font-weight:700}.spiel__paarung{font-size:.92rem;font-weight:600}.spiel__ort{color:var(--leise);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.spieltag{padding-bottom:4px}.spieltag__kopf{align-items:center;gap:12px;padding-bottom:6px;display:flex}.spieltag__spiel{border-top:1px solid var(--linie);align-items:center;gap:12px;padding:8px 0;text-decoration:none;display:flex}.spieltag__zeit{text-align:center;width:46px;color:var(--gruen-dunkel);font-size:.9rem;font-weight:700}.spieltag__gegner{flex:1;font-size:.9rem;font-weight:500}.marke{vertical-align:2px;text-transform:uppercase;letter-spacing:.04em;background:var(--linie);color:var(--leise);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:.62rem;font-weight:700;display:inline-block}.marke--heim{background:var(--gruen-hell);color:var(--gruen-dunkel)}.spiel__zeit{color:var(--gruen-dunkel);font-size:.9rem;font-weight:700}.ergebnis{color:#fff;white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:.85rem;font-weight:700}.ergebnis--s{background:var(--sieg)}.ergebnis--n{background:var(--niederlage)}.ergebnis--u{background:var(--remis)}.chips{gap:8px;margin:4px 0;display:flex;overflow-x:auto}.chip{background:var(--karte);border:1px solid var(--linie);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.8rem;text-decoration:none}.chip--an{background:var(--gruen);border-color:var(--gruen);color:#fff}.karte--tabelle{padding:4px 0;overflow-x:auto}.tabelle{border-collapse:collapse;width:100%;font-size:.8rem}.tabelle th,.tabelle td{text-align:center;padding:7px 5px}.tabelle th{color:var(--leise);font-size:.7rem;font-weight:600}.tabelle tbody tr+tr td{border-top:1px solid var(--linie)}.tabelle .links{text-align:left}.tabelle tr.eigen td{background:var(--gruen-hell);font-weight:700}.training{align-items:center;gap:12px;display:flex}.training__tag{width:92px;color:var(--gruen-dunkel);font-weight:700}.training__mitte{flex-direction:column;display:flex}.detail{text-align:center;padding:18px 14px}.detail__datum{color:var(--leise);margin-bottom:12px;font-size:.85rem}.detail__paarung{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-weight:600;display:grid}.detail__paarung .eigen{color:var(--gruen-dunkel)}.detail__ergebnis{font-size:1.4rem;font-weight:800}.knoepfe{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.knoepfe--voll .knopf{text-align:center;flex:1;padding:12px}.knopf{background:var(--gruen);color:#fff;border-radius:10px;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.knopf--leise{background:var(--linie);color:var(--text)}.abo{margin-top:16px}.zeiten{border-collapse:collapse;width:100%;font-size:.85rem}.zeiten td{padding:3px 0}.zeiten td:last-child{text-align:right;color:var(--leise)}.karte strong+.zeiten,.karte .klein+.zeiten{margin-top:8px}.ok{color:var(--gruen);font-weight:600}.err{color:var(--rot);font-weight:600}
