.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--pink); margin-right: 6px; vertical-align: middle; animation: pulse 1.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: 0.25; } }
.livestats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin: 24px 0 8px; }
.livestats div { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; }
.livestats strong { font-size: 28px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.livestats span { color: var(--muted); font-size: 14px; }
.liverooms { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.liveroom { border: 2px solid var(--line); border-radius: 16px; padding: 12px 14px; }
.liveroom.on { border-color: var(--pink); }
.liveroom .head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.liveroom .head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.liveroom .clock { font-size: 26px; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.liveroom .sub { color: var(--muted); font-size: 14px; margin-bottom: 6px; }
.liveroom .p { display: flex; align-items: center; gap: 8px; padding: 2px 0; font-size: 15px; }
.liveroom .p .st { margin-left: auto; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.liveroom .p.holding .st { color: var(--pink); font-weight: 700; }
.liveroom .p.holding .avatar { animation: strain 0.35s ease-in-out infinite alternate; }
.liveroom .p.out { opacity: 0.45; }
.liveroom .p.out .avatar { filter: grayscale(1); }
.liveroom .p.won { font-weight: 800; }
.liveroom .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
@keyframes strain { from { transform: translateX(-1px) rotate(-2deg); } to { transform: translateX(1px) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .dot, .liveroom .p.holding .avatar { animation: none; } }
.empty { border: 1px dashed var(--line); border-radius: 14px; padding: 18px; color: var(--muted); }
.qt { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-bottom: 8px; }
.qt .row { display: flex; justify-content: space-between; gap: 8px; }
