/* Blueheartradio V30: kompakte Song-History-Vorschau auf der Startseite. */
.hh-section{margin-top:48px;margin-bottom:54px}
.hh-heading{align-items:end}
.hh-heading h2 span{color:#77e8ff}
.hh-heading p{color:#94b9d2;margin:6px 0 0;font-size:.94rem}
.hh-full-link{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #3a7095;border-radius:99px;color:#d7f5ff;background:#0e2945;white-space:nowrap;font-size:.85rem;font-weight:750;transition:border-color .2s,background .2s}
.hh-full-link:hover{border-color:#65d9f7;background:#1b3d60;text-decoration:none}
.hh-panel{position:relative;isolation:isolate;overflow:hidden;padding:22px;border:1px solid #2c5477;border-radius:22px;background:radial-gradient(ellipse at 90% 0,#3544774f 0,transparent 43%),linear-gradient(155deg,#112b49,#091a31 78%);box-shadow:0 20px 48px #0004}
.hh-panel::before{content:'';position:absolute;inset:-90px -80px auto auto;width:260px;height:230px;background:radial-gradient(ellipse,#7c45d51e,transparent 70%);pointer-events:none;z-index:-1}
.hh-panel-top{display:flex;align-items:center;gap:10px;margin-bottom:19px;font-size:.69rem;letter-spacing:.095em;color:#8dc4df}
.hh-panel-top strong{color:#e4f8ff;font-weight:900}
.hh-live-dot{display:block;width:8px;height:8px;flex:none;background:#55e8bc;border-radius:50%;box-shadow:0 0 12px #64f5cc}
.hh-panel-separator{flex:1;border-top:1px solid #375a7a77}
.hh-panel-top [data-home-history-status]{font-weight:600;letter-spacing:0;color:#9fbad0}
.hh-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.hh-track{min-width:0;min-height:0;border:1px solid #33587b;border-radius:16px;overflow:hidden;background:#143050d1;box-shadow:0 8px 18px #0002;transition:transform .18s,border-color .18s,box-shadow .18s}
.hh-track:hover{transform:translateY(-3px);border-color:#68b6dc;box-shadow:0 12px 27px #0004}
.hh-art{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#143e59}
.hh-cover{display:block;width:100%;height:100%;object-fit:cover;background:#14395b}
.hh-rank{position:absolute;top:9px;left:9px;display:grid;place-items:center;min-width:31px;height:29px;padding:0 6px;border-radius:8px;background:#051b35d9;border:1px solid #86dfff66;backdrop-filter:blur(7px);font-size:.68rem;font-weight:900;color:#b7f2ff;font-variant-numeric:tabular-nums}
.hh-meta{display:flex;flex-direction:column;gap:4px;min-width:0;padding:13px 13px 14px}
.hh-song{color:#f2faff;font-weight:850;line-height:1.25;font-size:.93rem;overflow-wrap:anywhere}
.hh-artist{color:#b3cce0;font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}
.hh-time{display:flex;align-items:center;gap:5px;margin-top:7px;font-size:.71rem;color:#73cfe9;font-weight:750;font-variant-numeric:tabular-nums}
.hh-time::before{content:'◷';font-size:.9rem}
.hh-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:17px;font-size:.77rem;color:#85abc5}
.hh-footer a{color:#86e6fa;font-weight:750}
.hh-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:190px;border:1px dashed #3b5e80;border-radius:15px;color:#bad2e4;background:#1537555c;padding:25px}
@media(max-width:960px){.hh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:610px){.hh-section{margin-top:35px;margin-bottom:45px}.hh-heading{align-items:flex-start;flex-direction:column}.hh-full-link{padding:8px 13px}.hh-panel{padding:15px;border-radius:17px}.hh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hh-meta{padding:11px}.hh-art{aspect-ratio:1.15}.hh-panel-top{flex-wrap:wrap}.hh-panel-separator{display:none}.hh-panel-top [data-home-history-status]{width:100%;padding-left:17px}.hh-song{font-size:.87rem}.hh-artist{font-size:.76rem}.hh-time{font-size:.68rem}}
@media(max-width:370px){.hh-grid{grid-template-columns:1fr}.hh-track{display:flex;align-items:center}.hh-art{flex:0 0 104px;width:104px;height:104px;aspect-ratio:1}.hh-meta{flex:1}.hh-panel-top [data-home-history-status]{font-size:.68rem}}
@media(max-width:560px){.home-intro::before{inset:-35px 0}.sticky-player>span:first-child{display:none}.sticky-player{gap:9px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.hh-track,.hh-full-link{transition:none}.hh-track:hover{transform:none}}
