/* Blueheartradio Song History V29 — Namespaced styles */
.sh-page{--sh-cyan:#40d9fa;--sh-violet:#a677ff;--sh-text:#eaf6ff;max-width:1200px;margin:26px auto 46px}
.sh-page *{box-sizing:border-box}
.sh-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.sh-eyebrow{display:flex;align-items:center;gap:9px;color:#9cbdda;font-size:.76rem;letter-spacing:.16em;font-weight:850}
.sh-spark{width:9px;height:9px;border-radius:50%;background:var(--sh-cyan);box-shadow:0 0 16px var(--sh-cyan)}
.sh-heading h1{font-size:clamp(2.1rem,5vw,3.65rem);line-height:1.08;letter-spacing:-.045em;margin:12px 0 12px;font-weight:900;color:#f2f8ff}
.sh-heading h1 span{background:linear-gradient(100deg,#64e6ff,#a995ff 72%,#dd8ffc);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh-heading p{margin:0;color:#a9c4dc;max-width:570px;font-size:1.05rem}
.sh-refresh{background:#122d4a;border:1px solid #355c80;border-radius:100px;box-shadow:0 8px 24px #0002;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;white-space:nowrap;color:#e5f5ff;transition:background .2s,border-color .2s}
.sh-refresh:hover:not(:disabled){background:#1b416a;border-color:#58cbf9}
.sh-refresh:disabled{opacity:.63;cursor:wait}
.sh-refresh span{font-size:1.4rem;line-height:.7}
.sh-layout{display:grid;grid-template-columns:minmax(310px,.84fr) minmax(0,1.38fr);gap:20px;align-items:stretch}
.sh-now,.sh-recent{min-width:0;border:1px solid #264a70;border-radius:24px;overflow:hidden;box-shadow:0 17px 42px #0004}
.sh-now{position:relative;display:flex;flex-direction:column;isolation:isolate;background:radial-gradient(ellipse at 70% 12%,#463476 0,transparent 48%),linear-gradient(160deg,#142f54,#07192d 72%);padding:24px;min-height:600px}
.sh-now:before{content:"";position:absolute;inset:auto -35% -38% -35%;height:310px;background:radial-gradient(ellipse,#435dd63d 0,transparent 70%);pointer-events:none;z-index:-1}
.sh-now-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sh-onair{display:inline-flex;align-items:center;gap:8px;background:#f44eac20;color:#ffbded;border:1px solid #fa68d75c;padding:7px 11px;border-radius:99px;font-size:.72rem;font-weight:900;letter-spacing:.065em}
.sh-onair i{height:7px;width:7px;display:block;background:#ff78be;border-radius:50%;box-shadow:0 0 12px #ff82c3}
.sh-now-station{font-size:.68rem;font-weight:850;letter-spacing:.09em;color:#c2d6ff}
.sh-now-cover-wrap{width:min(78%,300px);aspect-ratio:1;margin:30px auto 23px;padding:7px;border:1px solid #5a72ad80;background:linear-gradient(135deg,#7398c83d,#a958dd26);box-shadow:0 24px 65px #0006,0 0 65px #754de622;border-radius:23px;transform:rotate(-2deg)}
.sh-now-cover{display:block;width:100%;height:100%;object-fit:cover;border-radius:17px;background:#183553}
.sh-now-details{margin-top:auto;position:relative}.sh-now-caption{color:#8ac8ee;font-size:.7rem;letter-spacing:.18em;font-weight:850}
.sh-now-details h2{font-size:clamp(1.5rem,2.6vw,2.3rem);letter-spacing:-.03em;line-height:1.18;margin:9px 0;overflow-wrap:anywhere;color:#fff}
.sh-now-details p{color:#bed2e8;font-size:1.07rem;margin:0 0 22px;overflow-wrap:anywhere}
.sh-now-bottom{border-top:1px solid #668ab03f;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;color:#b8d4e8;font-size:.78rem}
.sh-now-bottom b{color:white}
.sh-recent{background:linear-gradient(170deg,#112b49,#0c2038);padding:26px 24px;display:flex;flex-direction:column}
.sh-recent-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.sh-section-kicker{color:#71cdea;letter-spacing:.15em;font-size:.69rem;font-weight:850}
.sh-recent-head h2{margin:5px 0 0;color:#f6fbff;letter-spacing:-.022em;font-size:clamp(1.25rem,2.2vw,1.7rem)}
.sh-auto{font-size:.75rem;font-weight:700;white-space:nowrap;color:#7ae9bd;background:#0e594132;border:1px solid #43bc9b3b;border-radius:50px;padding:7px 10px}
.sh-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.sh-track{display:grid;grid-template-columns:27px 62px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;background:#1d3a58a3;border:1px solid #33557884;border-radius:14px;transition:border-color .15s,transform .15s,background .15s}
.sh-track:hover{border-color:#53a0cd90;background:#244360cc;transform:translateY(-1px)}
.sh-track-number{font-size:.76rem;color:#6f9ab9;font-weight:850;font-variant-numeric:tabular-nums}
.sh-track:first-child .sh-track-number{color:#83e6ff}
.sh-track-cover{display:block;width:62px;height:62px;object-fit:cover;background:#163450;border-radius:10px;border:1px solid #36658a}
.sh-track-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.sh-track-title{font-size:1rem;color:#f1f9ff;line-height:1.4;overflow-wrap:anywhere}
.sh-track-artist{font-size:.85rem;color:#a5c4dd;overflow-wrap:anywhere}
.sh-track-time{color:#9bbbd2;font-size:.76rem;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.sh-empty{padding:42px 20px;min-height:130px;text-align:center;border:1px dashed #365b7b;border-radius:15px;color:#a5c2da;background:#112e4c88}
.sh-recent-bottom{margin-top:auto;padding-top:20px;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#809fba;font-size:.76rem}
.sh-recent-bottom p{margin:0;color:#83afc9}.sh-azura{color:#6e8fa9}
.sh-notice{margin:20px 3px 0;color:#7f9eb6;font-size:.78rem}
@media(max-width:880px){.sh-layout{grid-template-columns:1fr}.sh-now{min-height:0}.sh-now-cover-wrap{width:min(58%,275px);margin:20px auto}.sh-track{grid-template-columns:26px 60px minmax(0,1fr) auto}}
@media(max-width:540px){.sh-page{margin:12px auto 28px}.sh-heading{align-items:flex-start;flex-direction:column;margin-bottom:16px}.sh-heading h1{margin:9px 0}.sh-heading p{font-size:.94rem}.sh-refresh{padding:9px 14px}.sh-now,.sh-recent{border-radius:18px}.sh-now{padding:20px}.sh-now-cover-wrap{width:min(75%,250px);margin:24px auto 23px}.sh-now-station{font-size:.65rem}.sh-recent{padding:20px 14px}.sh-auto{font-size:.65rem}.sh-track{grid-template-columns:16px 51px minmax(0,1fr);gap:9px;padding:10px}.sh-track-number{font-size:.65rem}.sh-track-cover{height:51px;width:51px}.sh-track-info{gap:2px}.sh-track-title{font-size:.89rem}.sh-track-artist{font-size:.77rem}.sh-track-time{grid-column:3;justify-self:start;text-align:left;margin-top:-3px;font-size:.69rem}.sh-recent-bottom{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.sh-track,.sh-refresh{transition:none}.sh-track:hover{transform:none}}
