/* Streamzeiten (/streamzeiten/): Kennzahlen, Wochenrhythmus-Heatmap, Streamtage, Spiele */
:root{--st-l0:#ffffff0a;--st-l1:rgba(227,173,79,.2);--st-l2:rgba(227,173,79,.38);--st-l3:rgba(232,183,98,.6);--st-l4:rgba(240,199,124,.82);--st-l5:var(--gold2)}
.st-status{color:var(--leise);margin:8px 0 18px}
.st-status[hidden],#stInhalt[hidden]{display:none}
.st-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
#stK1,#stK2,#stK3,#stK4{padding:18px 20px!important;display:flex;flex-direction:column;gap:4px;min-width:0}
.st-kachel span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.st-kachel b{font-size:30px;line-height:1.15;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-kachel small{color:var(--leise);font-size:13px}
#stRhythmus,#stKalender,#stSpiele{padding:22px 24px!important;margin:0 0 18px;min-width:0}
.st-kopf{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-bottom:18px}
.st-kopf h2{margin:0;font-size:20px}
.st-kopf p{margin:4px 0 0;color:var(--leise);font-size:14px}
.st-legende{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--leise)}
.st-legende span{margin:0 4px}
.st-legende i{width:14px;height:14px;border-radius:3px}
.st-l0{background:var(--st-l0)}.st-l1{background:var(--st-l1)}.st-l2{background:var(--st-l2)}.st-l3{background:var(--st-l3)}.st-l4{background:var(--st-l4)}
.st-l5{background:var(--st-l5);box-shadow:0 0 14px rgba(248,214,144,.32)}
/* Heatmap */
.st-heat{display:grid;grid-template-columns:30px repeat(24,minmax(0,1fr));gap:4px;align-items:center}
.st-heat .st-wt{font-size:12px;color:var(--leise);font-weight:700}
.st-heat .stunde{font-size:11px;color:var(--leise);text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}
.st-zelle{aspect-ratio:1;border-radius:4px;position:relative;animation:st-ein .5s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i) * 14ms);transition:transform .15s,outline-color .15s;outline:2px solid transparent;outline-offset:1px}
.st-zelle:hover,.st-zelle.aktiv{transform:scale(1.18);outline-color:#ffffffb3;z-index:1}
.st-zelle.jetzt::after{content:"";position:absolute;inset:-4px;border:1.5px solid var(--text);border-radius:6px;animation:st-puls 2.4s ease-in-out infinite}
@keyframes st-ein{from{opacity:0;transform:scale(.3)}}
@keyframes st-puls{50%{opacity:.25}}
.st-tabelle{margin-top:16px;color:var(--leise);font-size:13.5px}
.st-tabelle summary{cursor:pointer;width:max-content}
.st-tabelle>div{overflow-x:auto;overflow-y:hidden;margin-top:10px}
.st-tabelle table{border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.st-tabelle th,.st-tabelle td{padding:4px 7px;text-align:center;border-bottom:1px solid #ffffff12}
.st-tabelle th{color:var(--text);font-weight:700}
/* zwei Spalten */
.st-zwei{display:block}
.st-zwei>.glas{margin:0 0 18px}
/* Kalender */
.st-kal-huelle{width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 4px 6px;margin:-4px}
.st-kal{display:grid;grid-auto-flow:column;grid-template-rows:16px repeat(7,auto);grid-auto-columns:minmax(9px,1fr);gap:3px;width:100%}
.st-kal .monat{width:0;overflow:visible;font-size:11px;color:var(--leise);white-space:nowrap;grid-row:1;align-self:end}
.st-kal .st-kt{aspect-ratio:1;border-radius:3px;transition:transform .15s,outline-color .15s;outline:2px solid transparent;outline-offset:1px}
.st-kal .st-kt:hover,.st-kal .st-kt.aktiv{transform:scale(1.2);outline-color:#ffffffb3}
.st-kal .st-kt.leer{visibility:hidden}
.st-kal .st-kt.zukunft{background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff0d}
.st-kal .st-kt.zukunft:hover{transform:none;outline-color:transparent}
.st-kal .st-kt.heute{outline-color:var(--text)}
/* Spiele */
.st-balken{list-style:none;margin:0;padding:0;display:grid;gap:12px 36px;grid-template-columns:repeat(2,minmax(0,1fr))}
.st-balken li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 12px;align-items:center;font-size:14px}
.st-balken .cover{grid-row:1/3;width:36px;height:48px;object-fit:cover;border-radius:4px;box-shadow:0 4px 12px #0006;background:#ffffff0d}
.st-balken .cover.leer{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--leise);border:1px solid #ffffff14}
.st-balken .name{align-self:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-balken .wert{align-self:end;color:var(--leise);font-variant-numeric:tabular-nums}
.st-balken .spur{grid-column:2/-1;align-self:start;height:8px;background:#ffffff0d;border-radius:0 4px 4px 0}
.st-balken .spur i{display:block;height:100%;width:0;border-radius:0 4px 4px 0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .9s cubic-bezier(.2,.7,.3,1)}
.st-hinweis{margin:16px 0 0;color:var(--leise);font-size:12.5px;line-height:1.5}
.st-hinweis[hidden]{display:none}
.st-fussnote{color:var(--leise);font-size:13px;line-height:1.6;margin:0 0 24px;max-width:860px}
/* Tooltip */
.st-tip{position:fixed;z-index:60;pointer-events:none;background:rgba(12,19,25,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff1f;border-top:2px solid var(--gold);padding:8px 11px;font-size:13px;line-height:1.45;color:var(--text);max-width:240px;box-shadow:0 10px 30px #0008}
.st-tip[hidden]{display:none}
.st-tip b{display:block;color:var(--gold2);font-size:12px;letter-spacing:.04em}
@media (max-width:900px){.st-kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}.st-balken{grid-template-columns:1fr}}
@media (max-width:560px){
  .st-heat{grid-template-columns:22px repeat(24,minmax(0,1fr));gap:2px}
  .st-zelle{border-radius:2px}
  .st-heat .st-wt{font-size:10.5px}
  #stRhythmus,#stKalender,#stSpiele{padding:18px 14px!important}
  #stK1,#stK2,#stK3,#stK4{padding:14px 14px!important}
  .st-kachel b{font-size:23px}
}
@media (prefers-reduced-motion:reduce){.st-zelle{animation:none}.st-zelle.jetzt::after{animation:none}.st-balken .spur i{transition:none}}
