/* Kicktipp-Rechner – mobil zuerst, passend zu stil.css, alle Klassen mit Präfix .kt- */
.kt{--kt-karte2:#1b1b20;margin:14px 0 24px;min-width:0}
.kt *{min-width:0}
.kt-vh,.kt-unsichtbar{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.kt-unsichtbar{left:-9999px;top:0}
.kt-label{display:block;font-family:'Plex',ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grau);font-weight:500}
.kt button,.kt select,.kt input{font:inherit;color:inherit}
.kt :focus-visible{outline:2px solid var(--rot);outline-offset:2px}

/* Auswahl */
.kt-wahl{display:flex;flex-direction:column;gap:14px;background:var(--karte);border-radius:14px;padding:14px}
.kt-feld .kt-label{margin-bottom:6px}
.kt-select{width:100%;appearance:none;-webkit-appearance:none;background:var(--kt-karte2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ff2d55' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid var(--linie);border-radius:10px;padding:11px 40px 11px 12px;font-weight:600;font-size:1rem;cursor:pointer}
.kt-select:disabled{opacity:.6;cursor:progress}
.kt-select optgroup{color:var(--grau);background:var(--karte)}
.kt-select option{color:var(--text);background:var(--karte)}
.kt-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.kt-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:var(--kt-karte2);border:1px solid var(--linie);border-radius:10px;padding:8px 10px;cursor:pointer;text-align:left;min-height:44px}
.kt-chip:hover{border-color:var(--grau)}
.kt-chip[aria-pressed="true"]{border-color:var(--rot);background:rgba(255,45,85,.12)}
.kt-chip-nr{font-family:'WmR Display',sans-serif;font-weight:700;font-size:1.15rem;line-height:1.1}
.kt-chip-info{display:flex;align-items:center;gap:5px;font-family:'Plex',monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grau)}
.kt-chip-datum{font-size:.74rem;color:var(--grau)}
.kt-punkt{width:7px;height:7px;border-radius:50%;background:var(--grau);flex-shrink:0}
.kt-st-laufend .kt-punkt{background:var(--rot);box-shadow:0 0 0 3px rgba(255,45,85,.25)}
.kt-st-laufend .kt-chip-info{color:var(--rot)}
.kt-st-kommend .kt-punkt{background:var(--gruen)}
.kt-st-beendet .kt-punkt{background:#55555f}
.kt-st-beendet{opacity:.85}

/* Punkteregel */
.kt-regel{background:var(--karte);border-radius:14px;margin:10px 0;padding:0 14px}
.kt-regel summary{cursor:pointer;padding:12px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}
.kt-regel summary::-webkit-details-marker{display:none}
.kt-regel summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--rot);border-bottom:2px solid var(--rot);transform:rotate(45deg);transition:transform .2s}
.kt-regel[open] summary::after{transform:rotate(-135deg)}
.kt-regel summary .kt-label{display:inline}
.kt-regel-kurz{font-family:'Plex',monospace;font-size:.8rem;color:var(--text)}
.kt-regel-inhalt{padding:0 0 14px}
.kt-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.kt-preset{background:var(--kt-karte2);border:1px solid var(--linie);border-radius:999px;padding:7px 12px;font-size:.85rem;cursor:pointer;min-height:36px}
.kt-preset[aria-pressed="true"]{background:var(--rot);border-color:var(--rot);color:#fff}
table.kt-zahlen{width:100%;margin:0 0 10px;font-size:.9rem;table-layout:fixed}
.kt-zahlen th,.kt-zahlen td{padding:4px 3px;border-bottom:0;text-align:center!important}
.kt-zahlen thead th{font-size:.62rem;letter-spacing:.06em;hyphens:auto}
.kt-zahlen tbody th{text-align:left!important;font-family:'WmR Text',sans-serif;text-transform:none;letter-spacing:0;color:var(--text);font-weight:600;font-size:.88rem;hyphens:manual}
.kt-zahlen thead th:first-child{width:30%}
.kt-zahl{width:100%;max-width:76px;background:var(--kt-karte2);border:1px solid var(--linie);border-radius:8px;padding:8px 4px;text-align:center;font-family:'Plex',monospace;font-size:1rem;-moz-appearance:textfield}
.kt-zahl:disabled{opacity:.45}
.kt-zahl::-webkit-inner-spin-button,.kt-zahl::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kt-schalter{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.92rem;padding:4px 0}
.kt-schalter input{appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:999px;background:#33333b;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}
.kt-schalter input::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:transform .2s}
.kt-schalter input:checked{background:var(--gruen)}
.kt-schalter input:checked::after{transform:translateX(18px)}
.kt-hinweis{font-size:.8rem;color:var(--grau);margin:8px 0 0}

/* Zustände */
.kt-status{min-height:0;font-size:.85rem;color:var(--gruen)}
.kt-status:not(:empty){margin:6px 0}
.kt-laden{display:flex;align-items:center;gap:10px;color:var(--grau);padding:28px 4px}
.kt-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--linie);border-top-color:var(--rot);animation:kt-dreh .8s linear infinite}
@keyframes kt-dreh{to{transform:rotate(360deg)}}
.kt-meldung{color:var(--grau);padding:18px 0}
.kt-fehler{background:rgba(255,45,85,.1);border:1px solid var(--rot);border-radius:12px;padding:12px 14px;margin:12px 0}
.kt-fehler p{margin:0 0 8px}

/* Kopf / Summe */
.kt-titel{margin:22px 0 10px;font-size:clamp(1.25rem,4.5vw,1.6rem)}
.kt-summe{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.kt-summe>div:not(.kt-aktionen){background:var(--karte);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-top:3px solid var(--rot)}
.kt-summe strong{font-family:'WmR Display',sans-serif;font-size:1.7rem;line-height:1.1}
.kt-summe small{color:var(--grau);font-size:.8rem}
.kt-plus{color:var(--gruen)}
.kt-aktionen{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.kt-knopf{background:var(--rot);color:#fff;border:1px solid var(--rot);border-radius:10px;padding:11px 12px;font-weight:600;cursor:pointer;min-height:44px;flex:1 1 150px;white-space:nowrap;max-width:100%;min-width:0}
@media (max-width:480px){.kt-knopf{white-space:normal}} /* lange Beschriftungen (z. B. tr) umbrechen statt überstehen */
.kt-knopf:hover{filter:brightness(1.1)}
.kt-knopf.kt-zweit{background:var(--karte);border-color:var(--linie);color:var(--text)}
.kt-liste{margin:0 0 12px}
.kt-liste .kt-label{margin-bottom:6px}
.kt-liste-text{width:100%;background:var(--karte);color:var(--text);border:1px solid var(--linie);border-radius:10px;padding:10px 12px;font-family:'Plex',monospace;font-size:.85rem;line-height:1.6;resize:vertical}

/* Spiele */
.kt-spiele{display:grid;grid-template-columns:1fr;gap:10px}
.kt-spiel{background:var(--karte);border-radius:14px;padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;border:1px solid transparent}
.kt-ist-joker{border-color:rgba(255,45,85,.55)}
.kt-spiel-kopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:'Plex',monospace;font-size:.72rem;letter-spacing:.04em;color:var(--grau)}
.kt-analyse{margin-left:auto;font-family:'WmR Text',sans-serif;font-size:.82rem;letter-spacing:0;color:var(--text);padding:4px 0}
.kt-joker{background:var(--rot);color:#fff;border-radius:999px;padding:2px 8px;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}
.kt-joker-hinweis{margin:-4px 0 0;font-size:.78rem;color:var(--grau)}
.kt-paarung{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.kt-team{font-weight:600;font-size:.98rem;line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
.kt-heim{text-align:right}
.kt-tipp{font-family:'WmR Display',sans-serif;font-weight:800;font-style:italic;font-size:2.3rem;line-height:1;letter-spacing:-.02em;background:var(--kt-karte2);border-radius:12px;padding:8px 12px;white-space:nowrap}
.kt-tipp i{color:var(--rot);font-style:inherit;margin:0 .06em}
.kt-werte{display:flex;flex-wrap:wrap;gap:6px 18px}
.kt-werte b{font-family:'WmR Display',sans-serif;font-size:1.1rem}
.kt-top{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kt-top li{background:var(--kt-karte2);border-radius:8px;padding:5px 8px;display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-size:.82rem;color:var(--grau);border:1px solid transparent}
.kt-top li b{font-family:'WmR Display',sans-serif;color:var(--text);font-size:.98rem}
.kt-top li.kt-top-best{border-color:var(--rot)}
.kt-1x2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kt-1x2-kopf{display:flex;justify-content:space-between;font-family:'Plex',monospace;font-size:.72rem;color:var(--grau);margin-bottom:3px}
.kt-1x2-kopf b{color:var(--text);font-weight:500}
.kt-bar{display:block;height:6px;border-radius:3px;background:#24242a;overflow:hidden}
.kt-bar span{display:block;height:100%;background:#5a5a66;border-radius:3px;transition:width .35s ease}
.kt-fav .kt-bar span{background:var(--rot)}
.kt-fav .kt-1x2-kopf{color:var(--text)}
.kt-ergebnis{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:10px;padding:8px 12px;font-size:.9rem;background:var(--kt-karte2)}
.kt-ergebnis b{font-family:'WmR Display',sans-serif;font-size:1.05rem;margin-left:4px}
.kt-pkt{font-weight:600}
.kt-voll{background:var(--gruen);color:#0b0b0d}
.kt-teil .kt-pkt{color:var(--gruen)}
.kt-null .kt-pkt{color:var(--rot)}
.kt-fuss{font-size:.8rem;color:var(--grau);margin:14px 0 0}

@media (min-width:640px){
  .kt-wahl{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;align-items:start}
  .kt-summe{grid-template-columns:1fr 1fr auto}
  .kt-summe>div:first-child:nth-last-child(2){grid-column:1/3}
  .kt-aktionen{grid-column:auto;flex-direction:column;justify-content:center}
  .kt-knopf{flex:0 0 auto}
  .kt-team{font-size:1.08rem}
  .kt-tipp{font-size:2.7rem}
}
@media (max-width:639px){
  .kt-summe>div:first-child:nth-last-child(2){grid-column:1/-1} /* nur „Erwartete Punkte“ (noch nichts gespielt): volle Breite */
}
@media (max-width:360px){
  .kt-top{grid-template-columns:1fr}
  .kt-tipp{font-size:2rem;padding:6px 8px}
}

/* Erweiterung: Modi, Kombi, Tippschein, Quotenregel, Joker */
.kt [hidden]{display:none!important}
.kt-modi{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--karte);border-radius:12px;padding:4px;margin:0 0 10px}
.kt-modus{background:transparent;border:0;border-radius:9px;padding:9px 6px;font-size:.86rem;font-weight:600;line-height:1.2;cursor:pointer;min-height:44px;color:var(--grau)}
.kt-modus[aria-pressed="true"]{background:var(--rot);color:#fff}
.kt-zaehler{font-family:'Plex',monospace;font-weight:500;font-size:.78rem}
.kt-wahl-kombi,.kt-wahl-schein{display:flex}
.kt-ligenwahl{border:0;margin:0;padding:0}
.kt-ligenwahl legend{padding:0;margin-bottom:6px}
.kt-ligen-box{max-height:240px;overflow-y:auto;overscroll-behavior:contain;background:var(--kt-karte2);border:1px solid var(--linie);border-radius:10px;padding:6px 10px}
.kt-land{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 10px;padding:4px 0;border-bottom:1px solid var(--linie)}
.kt-land:last-child{border-bottom:0}
.kt-land-name{grid-column:1/-1;font-family:'Plex',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grau);padding:4px 0 2px}
.kt-check{display:flex;align-items:center;gap:8px;font-size:.92rem;min-height:36px;cursor:pointer}
.kt-check input{width:18px;height:18px;accent-color:var(--rot);flex-shrink:0;margin:0}
.kt-zeiten{display:flex;flex-wrap:wrap;gap:6px}
.kt-suche{background-image:none;padding-right:12px;font-weight:500}
.kt-treffer{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.kt-treffer:empty{display:none}
.kt-treffer-zeile{display:flex;align-items:center;gap:10px;background:var(--kt-karte2);border:1px solid var(--linie);border-radius:10px;padding:6px 6px 6px 12px}
.kt-treffer-info{display:flex;flex-direction:column;flex:1 1 auto}
.kt-treffer-meta{font-family:'Plex',monospace;font-size:.68rem;color:var(--grau);letter-spacing:.03em}
.kt-treffer-name{font-weight:600;font-size:.95rem;overflow-wrap:anywhere}
.kt-treffer-leer{color:var(--grau);font-size:.88rem;padding:4px 2px}
.kt-plus-knopf{flex:0 0 44px;width:44px;height:44px;border-radius:10px;border:1px solid var(--rot);background:var(--rot);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.kt-plus-knopf[aria-pressed="true"]{background:transparent;color:var(--gruen);border-color:var(--gruen);font-size:1.1rem}
.kt-qgitter{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px;margin:0 0 10px}
.kt-qgitter label{display:flex;flex-direction:column;gap:4px}
.kt-qgitter .kt-zahl{max-width:none}
.kt-extras{margin-top:10px}
.kt-klein{padding:8px 34px 8px 10px;font-size:.95rem;background-position:right 12px center}
.kt-mit{display:block;margin:0 0 8px}
.kt-mit .kt-label{margin-bottom:4px}
.kt-titel-unter{font-family:'Plex',monospace;font-size:.75rem;font-weight:500;color:var(--grau);letter-spacing:.04em;white-space:nowrap}
.kt-tag{margin:8px 0 -2px;font-family:'Plex',monospace;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grau)}
.kt-tag:first-child{margin-top:0}
.kt-ligatag{background:var(--kt-karte2);border:1px solid var(--linie);color:var(--text);border-radius:999px;padding:1px 8px;font-size:.66rem;letter-spacing:.02em;white-space:nowrap}
.kt-karte-knoepfe{display:flex;flex-wrap:wrap;gap:6px}
.kt-mini{background:var(--kt-karte2);border:1px solid var(--linie);border-radius:999px;padding:6px 12px;font-size:.82rem;cursor:pointer;min-height:36px}
.kt-mini:hover{border-color:var(--grau)}
.kt-mini-an{border-color:var(--rot);color:var(--text);background:rgba(255,45,85,.14)}
.kt-joker-empf:not(.kt-ist-joker){border-color:rgba(255,45,85,.35);border-style:dashed}
.kt-ist-joker{border-color:var(--rot);box-shadow:0 0 0 1px var(--rot) inset}
.kt-x2{font-size:.38em;font-style:normal;color:var(--rot);vertical-align:super;margin-left:.15em;letter-spacing:0}
.kt-quote-info{margin:-2px 0 0;font-size:.85rem}
.kt-quote-info .kt-label{margin-bottom:2px}
.kt-grau{color:var(--grau)}
.kt-strategie{margin:0 0 12px}
@media (min-width:640px){
  .kt-wahl-kombi{display:grid;grid-template-columns:3fr 2fr}
  .kt-wahl-schein{display:block}
  .kt-qgitter{grid-template-columns:repeat(4,1fr)}
  .kt-extras{grid-template-columns:repeat(2,minmax(0,200px))}
}
@media (prefers-reduced-motion:reduce){
  .kt *,.kt *::before,.kt *::after{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
  .kt-spinner{border-top-color:var(--grau)}
}

.kt-chip-ko{grid-column:span 2}
.kt-chip-runde{font-size:.95rem;line-height:1.15}
.kt-ko-hinweis{margin:-4px 0 12px;font-size:.85rem;color:var(--grau)}
