:root {
    --a45sc-bg: var(--a45-bg, #f6f1ea);
    --a45sc-surface: var(--a45-surface, #fffdfa);
    --a45sc-surface-2: var(--a45-surface-2, #efe6db);
    --a45sc-text: var(--a45-text, #1a1818);
    --a45sc-muted: var(--a45-muted, #6b625d);
    --a45sc-border: var(--a45-border, #dfd4c6);
    --a45sc-shadow: 0 24px 60px rgba(31, 24, 38, .12);
    --a45sc-tv: #6d42d8;
    --a45sc-tv-2: #28c8e6;
    --a45sc-movie: #e66036;
    --a45sc-movie-2: #e7ad37;
    --a45sc-green: #1d9b61;
    --a45sc-red: #cf3d53;
    --a45sc-max: 1260px;
    --a45sc-radius: 26px;
}

:root[data-theme="dark"] {
    --a45sc-bg: #111010;
    --a45sc-surface: #1b191a;
    --a45sc-surface-2: #252123;
    --a45sc-text: #f5f0eb;
    --a45sc-muted: #b9aca5;
    --a45sc-border: #3b3335;
    --a45sc-shadow: 0 24px 70px rgba(0, 0, 0, .38);
    --a45sc-tv: #9b72ff;
    --a45sc-tv-2: #50dff5;
    --a45sc-movie: #ff8058;
    --a45sc-movie-2: #ffd36e;
}

.a45sc-template-main {
    width: 100%;
    overflow: clip;
}

.a45sc-app,
.a45sc-mini {
    color: var(--a45sc-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.a45sc-app {
    width: min(calc(100% - 32px), var(--a45sc-max));
    margin: clamp(20px, 4vw, 52px) auto 80px;
}

.a45sc-app *,
.a45sc-mini * {
    box-sizing: border-box;
}

.a45sc-app h1,
.a45sc-app h2,
.a45sc-app h3,
.a45sc-mini h2 {
    color: inherit;
}

.a45sc-app a,
.a45sc-mini a {
    text-decoration: none;
}

.a45sc-hero {
    isolation: isolate;
    position: relative;
    min-height: clamp(390px, 54vw, 560px);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--a45sc-border) 72%, transparent);
    border-radius: clamp(24px, 4vw, 42px);
    background:
        radial-gradient(circle at 13% 12%, color-mix(in srgb, var(--a45sc-tv) 28%, transparent), transparent 32%),
        radial-gradient(circle at 90% 82%, color-mix(in srgb, var(--a45sc-movie) 26%, transparent), transparent 35%),
        linear-gradient(135deg, #11101b 0%, #181526 48%, #171113 100%);
    color: #fff;
    box-shadow: var(--a45sc-shadow);
}

.a45sc-hero::before,
.a45sc-hero::after {
    content: "";
    position: absolute;
    inset: auto;
    z-index: -1;
    width: 42%;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    animation: a45sc-orbit 20s linear infinite;
}

.a45sc-hero::before { right: -10%; top: -22%; }
.a45sc-hero::after { left: -18%; bottom: -44%; animation-direction: reverse; animation-duration: 28s; }

.a45sc-hero__grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .24;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.a45sc-hero__glow {
    position: absolute;
    z-index: -1;
    width: 440px;
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .38;
    animation: a45sc-drift 11s ease-in-out infinite alternate;
}

.a45sc-hero__glow--one { left: -130px; top: -160px; background: var(--a45sc-tv); }
.a45sc-hero__glow--two { right: -150px; bottom: -180px; background: var(--a45sc-movie); animation-delay: -5s; }

.a45sc-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    width: min(760px, 74%);
    padding: clamp(40px, 7vw, 88px);
    flex-direction: column;
    justify-content: center;
}

.a45sc-kicker {
    margin: 0 0 16px;
    color: #d8cfff;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.a45sc-hero h1 {
    max-width: 11ch;
    margin: 0;
    color: #fff;
    font-size: clamp(3.3rem, 8vw, 7.8rem);
    line-height: .86;
    letter-spacing: -.065em;
    text-wrap: balance;
}

.a45sc-hero__copy {
    max-width: 62ch;
    margin: 26px 0 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 1.6vw, 1.22rem);
    line-height: 1.65;
}

.a45sc-updated {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.67);
    font-size: .88rem;
}

.a45sc-live-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #66efae;
    box-shadow: 0 0 0 0 rgba(102,239,174,.55);
    animation: a45sc-live 2s ease-out infinite;
}

.a45sc-hero__marks {
    position: absolute;
    right: clamp(18px, 5vw, 74px);
    top: 50%;
    display: grid;
    transform: translateY(-50%);
    gap: 8px;
    text-align: right;
    font-size: clamp(2.3rem, 7vw, 7rem);
    font-weight: 1000;
    line-height: .8;
    letter-spacing: -.08em;
    opacity: .13;
}

.a45sc-jam45 {
    margin: clamp(20px, 3vw, 34px) 0;
    border-radius: 22px;
    background: linear-gradient(115deg, #080a0d, #121926 55%, #15100d);
    box-shadow: 0 16px 40px rgba(10,10,15,.18);
    overflow: hidden;
}

.a45sc-jam45 > a {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(18px, 3vw, 34px);
    min-height: 130px;
    padding: 22px clamp(22px, 4vw, 52px);
    color: #fff;
}

.a45sc-jam45 > a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 50%, rgba(130,91,255,.24), transparent 30%), radial-gradient(circle at 85% 50%, rgba(255,124,65,.18), transparent 30%);
    pointer-events: none;
}

.a45sc-jam45__mark,
.a45sc-jam45__copy,
.a45sc-jam45__button { position: relative; z-index: 1; }

.a45sc-jam45__mark {
    display: inline-flex;
    align-items: baseline;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.65rem);
    font-weight: 1000;
    letter-spacing: -.07em;
    text-shadow: 0 0 22px rgba(129,87,255,.8);
    animation: a45sc-brand-pulse 3.2s ease-in-out infinite;
}

.a45sc-jam45__mark span { color: #a783ff; }
.a45sc-jam45__copy { display: grid; gap: 4px; }
.a45sc-jam45__copy strong { font-size: clamp(1rem, 1.8vw, 1.25rem); }
.a45sc-jam45__copy small { color: rgba(255,255,255,.68); font-size: .88rem; }
.a45sc-jam45__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 17px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 800;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease;
}
.a45sc-jam45 > a:hover .a45sc-jam45__button,
.a45sc-jam45 > a:focus-visible .a45sc-jam45__button { transform: translateX(4px); background: rgba(255,255,255,.15); }

.a45sc-section-nav {
    position: sticky;
    top: 78px;
    z-index: 30;
    display: flex;
    justify-content: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    margin: 24px auto 34px;
    padding: 7px;
    border: 1px solid var(--a45sc-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--a45sc-surface) 90%, transparent);
    box-shadow: 0 10px 30px rgba(26,20,25,.08);
    backdrop-filter: blur(16px);
}

.a45sc-section-nav__link {
    display: inline-flex;
    min-height: 44px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--a45sc-muted);
    font-weight: 800;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.a45sc-section-nav__link:hover { color: var(--a45sc-text); transform: translateY(-1px); }
.a45sc-section-nav__link.is-active { background: var(--a45sc-text); color: var(--a45sc-surface); }

.a45sc-hub-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 30px);
}

.a45sc-preview {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--a45sc-border);
    border-radius: var(--a45sc-radius);
    background: var(--a45sc-surface);
    box-shadow: var(--a45sc-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.a45sc-preview:hover { transform: translateY(-5px); box-shadow: 0 28px 70px rgba(31,24,38,.17); }
.a45sc-preview::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--a45sc-tv),var(--a45sc-tv-2)); }
.a45sc-preview--movies::before { background:linear-gradient(90deg,var(--a45sc-movie),var(--a45sc-movie-2)); }
.a45sc-preview__header { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:30px 30px 20px; }
.a45sc-preview__source { margin:0 0 6px; color:var(--a45sc-muted); font-size:.75rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.a45sc-preview h2 { margin:0; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1; }
.a45sc-preview__badge { padding:7px 10px; border-radius:999px; background:color-mix(in srgb,var(--a45sc-tv) 12%,var(--a45sc-surface)); color:var(--a45sc-tv); font-size:.72rem; font-weight:1000; letter-spacing:.12em; }
.a45sc-preview--movies .a45sc-preview__badge { background:color-mix(in srgb,var(--a45sc-movie) 12%,var(--a45sc-surface)); color:var(--a45sc-movie); }
.a45sc-preview__list { margin:0; padding:0 30px; list-style:none; }
.a45sc-preview__list li { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:13px; align-items:center; min-height:58px; border-top:1px solid var(--a45sc-border); }
.a45sc-preview__rank { color:var(--a45sc-muted); font-size:1.25rem; font-weight:1000; }
.a45sc-preview__title { min-width:0; overflow:hidden; color:var(--a45sc-text); font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.a45sc-preview__metric { color:var(--a45sc-muted); font-size:.82rem; font-weight:700; text-align:right; }
.a45sc-preview__footer { display:flex; justify-content:space-between; gap:16px; padding:22px 30px 28px; color:var(--a45sc-muted); font-size:.82rem; }
.a45sc-preview__footer a { color:var(--a45sc-text); font-weight:900; }

.a45sc-chart-shell {
    overflow: hidden;
    border: 1px solid var(--a45sc-border);
    border-radius: var(--a45sc-radius);
    background: var(--a45sc-surface);
    box-shadow: var(--a45sc-shadow);
}

.a45sc-tab-strip {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 14px;
    border-bottom: 1px solid var(--a45sc-border);
    background: var(--a45sc-surface-2);
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}

.a45sc-tab {
    appearance: none;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--a45sc-muted);
    cursor: pointer;
    font: inherit;
    font-size: .86rem;
    font-weight: 850;
    scroll-snap-align: start;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.a45sc-tab:hover { color:var(--a45sc-text); transform:translateY(-1px); }
.a45sc-tab.is-active { border-color:color-mix(in srgb,var(--a45sc-tv) 45%,transparent); background:color-mix(in srgb,var(--a45sc-tv) 13%,var(--a45sc-surface)); color:var(--a45sc-tv); }
.a45sc-app--movies .a45sc-tab.is-active { border-color:color-mix(in srgb,var(--a45sc-movie) 45%,transparent); background:color-mix(in srgb,var(--a45sc-movie) 13%,var(--a45sc-surface)); color:var(--a45sc-movie); }

.a45sc-panel { padding:clamp(22px,4vw,42px); animation:a45sc-panel-in .3s ease both; }
.a45sc-panel[hidden] { display:none !important; }
.a45sc-chart-header { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; padding-bottom:28px; }
.a45sc-chart-header__source { margin:0 0 9px; color:var(--a45sc-tv); font-size:.78rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.a45sc-app--movies .a45sc-chart-header__source { color:var(--a45sc-movie); }
.a45sc-chart-header h2 { margin:0; font-size:clamp(2rem,4vw,3.5rem); line-height:.98; }
.a45sc-chart-header p:last-child { max-width:760px; margin:13px 0 0; color:var(--a45sc-muted); }
.a45sc-source-link { display:inline-flex; align-items:center; gap:7px; padding:10px 14px; border:1px solid var(--a45sc-border); border-radius:999px; color:var(--a45sc-text); font-size:.82rem; font-weight:850; white-space:nowrap; }
.a45sc-source-link:hover { border-color:var(--a45sc-tv); color:var(--a45sc-tv); }
.a45sc-app--movies .a45sc-source-link:hover { border-color:var(--a45sc-movie); color:var(--a45sc-movie); }

.a45sc-chart-labels {
    display:grid;
    grid-template-columns:72px minmax(0,1.7fr) minmax(170px,.9fr) 90px;
    gap:16px;
    padding:0 16px 10px;
    color:var(--a45sc-muted);
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.a45sc-ranking { margin:0; padding:0; list-style:none; }
.a45sc-row {
    position:relative;
    display:grid;
    grid-template-columns:72px 92px minmax(0,1.7fr) minmax(170px,.9fr) 90px;
    gap:16px;
    align-items:center;
    min-height:116px;
    padding:14px 16px;
    border-top:1px solid var(--a45sc-border);
    transition:background .2s ease, transform .2s ease;
}
.a45sc-row:hover { background:color-mix(in srgb,var(--a45sc-tv) 5%,var(--a45sc-surface)); transform:translateX(3px); }
.a45sc-app--movies .a45sc-row:hover { background:color-mix(in srgb,var(--a45sc-movie) 5%,var(--a45sc-surface)); }
.a45sc-rank-number { display:inline-grid; place-items:center; width:54px; height:54px; border-radius:18px; background:var(--a45sc-surface-2); color:var(--a45sc-text); font-size:1.55rem; font-weight:1000; letter-spacing:-.04em; }
.a45sc-row:first-child .a45sc-rank-number { background:linear-gradient(145deg,var(--a45sc-tv),var(--a45sc-tv-2)); color:#fff; box-shadow:0 10px 24px color-mix(in srgb,var(--a45sc-tv) 30%,transparent); }
.a45sc-app--movies .a45sc-row:first-child .a45sc-rank-number { background:linear-gradient(145deg,var(--a45sc-movie),var(--a45sc-movie-2)); box-shadow:0 10px 24px color-mix(in srgb,var(--a45sc-movie) 30%,transparent); }
.a45sc-art { display:block; width:92px; height:76px; overflow:hidden; border-radius:15px; background:var(--a45sc-surface-2); }
.a45sc-art img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.a45sc-row:hover .a45sc-art img { transform:scale(1.06); }
.a45sc-art--placeholder { display:grid; place-items:center; background:linear-gradient(135deg,color-mix(in srgb,var(--a45sc-tv) 18%,var(--a45sc-surface-2)),var(--a45sc-surface-2)); color:color-mix(in srgb,var(--a45sc-tv) 45%,var(--a45sc-muted)); font-size:1.4rem; font-weight:1000; }
.a45sc-app--movies .a45sc-art--placeholder { background:linear-gradient(135deg,color-mix(in srgb,var(--a45sc-movie) 18%,var(--a45sc-surface-2)),var(--a45sc-surface-2)); color:color-mix(in srgb,var(--a45sc-movie) 45%,var(--a45sc-muted)); }
.a45sc-title-block { min-width:0; }
.a45sc-title-block h3 { margin:0; font-family:inherit; font-size:clamp(1rem,2vw,1.28rem); line-height:1.15; letter-spacing:-.02em; }
.a45sc-title-block h3 a { color:var(--a45sc-text); }
.a45sc-title-block h3 a:hover { color:var(--a45sc-tv); }
.a45sc-app--movies .a45sc-title-block h3 a:hover { color:var(--a45sc-movie); }
.a45sc-title-block p { margin:6px 0 0; color:var(--a45sc-muted); font-size:.82rem; line-height:1.35; }
.a45sc-title-block .a45sc-secondary { color:color-mix(in srgb,var(--a45sc-muted) 80%,var(--a45sc-text)); font-size:.76rem; }
.a45sc-metric-block { min-width:0; }
.a45sc-metric-block strong { display:block; overflow:hidden; color:var(--a45sc-text); font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.a45sc-meter { display:block; height:6px; margin-top:11px; overflow:hidden; border-radius:999px; background:var(--a45sc-surface-2); }
.a45sc-meter > span { display:block; width:var(--a45sc-meter); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--a45sc-tv),var(--a45sc-tv-2)); transform:scaleX(0); transform-origin:left; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.a45sc-app--movies .a45sc-meter > span { background:linear-gradient(90deg,var(--a45sc-movie),var(--a45sc-movie-2)); }
.a45sc-row.is-visible .a45sc-meter > span { transform:scaleX(1); }
.a45sc-trend { display:flex; min-height:40px; align-items:center; justify-content:center; gap:4px; border-radius:12px; font-size:.77rem; font-weight:1000; }
.a45sc-trend--up { background:color-mix(in srgb,var(--a45sc-green) 12%,transparent); color:var(--a45sc-green); }
.a45sc-trend--down { background:color-mix(in srgb,var(--a45sc-red) 12%,transparent); color:var(--a45sc-red); }
.a45sc-trend--same { background:var(--a45sc-surface-2); color:var(--a45sc-muted); }
.a45sc-trend--new { background:color-mix(in srgb,var(--a45sc-tv) 12%,transparent); color:var(--a45sc-tv); letter-spacing:.08em; }
.a45sc-app--movies .a45sc-trend--new { background:color-mix(in srgb,var(--a45sc-movie) 12%,transparent); color:var(--a45sc-movie); }

.a45sc-waiting {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:24px;
    align-items:center;
    padding:clamp(28px,5vw,58px);
    border:1px dashed var(--a45sc-border);
    border-radius:var(--a45sc-radius);
    background:var(--a45sc-surface);
}
.a45sc-waiting h2 { margin:0 0 10px; font-size:clamp(1.5rem,3vw,2.5rem); }
.a45sc-waiting p { margin:0; color:var(--a45sc-muted); }
.a45sc-waiting__pulse { width:58px; height:58px; border-radius:50%; background:linear-gradient(145deg,var(--a45sc-tv),var(--a45sc-movie)); box-shadow:0 0 0 0 color-mix(in srgb,var(--a45sc-tv) 30%,transparent); animation:a45sc-live 2s infinite; }

.a45sc-source-footer { margin:34px auto 0; padding:22px 26px; border:1px solid var(--a45sc-border); border-radius:18px; background:var(--a45sc-surface); color:var(--a45sc-muted); font-size:.8rem; line-height:1.55; }
.a45sc-source-footer p { margin:0; }
.a45sc-source-footer p + p { margin-top:6px; }

.a45sc-mini {
    margin-top: clamp(34px, 6vw, 74px);
    margin-bottom: clamp(34px, 6vw, 74px);
    padding: clamp(24px, 4vw, 44px);
    border: 1px solid var(--a45sc-border);
    border-radius: var(--a45sc-radius);
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb,var(--a45sc-tv) 10%,transparent), transparent 38%),
        radial-gradient(circle at 100% 100%, color-mix(in srgb,var(--a45sc-movie) 10%,transparent), transparent 36%),
        var(--a45sc-surface);
    box-shadow: var(--a45sc-shadow);
}
.a45sc-mini__header { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:24px; }
.a45sc-mini__header h2 { margin:0; font-size:clamp(2rem,4vw,3.4rem); }
.a45sc-mini__header > a { color:var(--a45sc-text); font-weight:900; }
.a45sc-mini__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.a45sc-mini-chart { overflow:hidden; border:1px solid var(--a45sc-border); border-radius:20px; background:color-mix(in srgb,var(--a45sc-surface) 90%,transparent); }
.a45sc-mini-chart > header { display:flex; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid var(--a45sc-border); }
.a45sc-mini-chart > header span { color:var(--a45sc-tv); font-size:.76rem; font-weight:1000; letter-spacing:.13em; text-transform:uppercase; }
.a45sc-mini-chart:nth-child(2) > header span { color:var(--a45sc-movie); }
.a45sc-mini-chart > header strong { overflow:hidden; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.a45sc-mini-chart ol { margin:0; padding:0 20px; list-style:none; }
.a45sc-mini-chart li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:52px; border-bottom:1px solid var(--a45sc-border); }
.a45sc-mini-chart li > span { color:var(--a45sc-muted); font-weight:1000; }
.a45sc-mini-chart li > strong { min-width:0; overflow:hidden; font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.a45sc-mini-chart li > small { color:var(--a45sc-muted); font-size:.72rem; }
.a45sc-mini-chart > a { display:block; padding:16px 20px; color:var(--a45sc-text); font-size:.82rem; font-weight:900; text-align:right; }

.a45sc-reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease; }
.a45sc-reveal.is-visible { opacity:1; transform:none; }
.a45sc-reveal-item { opacity:0; transform:translateY(10px); transition:opacity .45s ease, transform .45s ease, background .2s ease; }
.a45sc-reveal-item.is-visible { opacity:1; transform:none; }

@keyframes a45sc-orbit { to { transform:rotate(360deg); } }
@keyframes a45sc-drift { from { transform:translate3d(-3%,0,0) scale(.94); } to { transform:translate3d(5%,5%,0) scale(1.08); } }
@keyframes a45sc-live { 0% { box-shadow:0 0 0 0 rgba(102,239,174,.48); } 70% { box-shadow:0 0 0 12px rgba(102,239,174,0); } 100% { box-shadow:0 0 0 0 rgba(102,239,174,0); } }
@keyframes a45sc-brand-pulse { 0%,100% { transform:scale(1); filter:brightness(1); } 50% { transform:scale(1.025); filter:brightness(1.18); } }
@keyframes a45sc-panel-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media (max-width: 980px) {
    .a45sc-hero__content { width:86%; }
    .a45sc-hero__marks { opacity:.08; }
    .a45sc-hub-grid { grid-template-columns:1fr; }
    .a45sc-chart-labels { display:none; }
    .a45sc-row { grid-template-columns:58px 80px minmax(0,1fr) 78px; }
    .a45sc-metric-block { grid-column:3 / 5; display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,35%); gap:14px; align-items:center; }
    .a45sc-meter { margin:0; }
    .a45sc-art { width:80px; height:68px; }
}

@media (max-width: 720px) {
    .a45sc-app { width:min(calc(100% - 20px),var(--a45sc-max)); margin-top:16px; }
    .a45sc-hero { min-height:420px; border-radius:24px; }
    .a45sc-hero__content { width:100%; padding:36px 26px; }
    .a45sc-hero h1 { max-width:9ch; font-size:clamp(3.2rem,18vw,5rem); }
    .a45sc-hero__marks { right:20px; top:auto; bottom:28px; transform:none; font-size:3rem; }
    .a45sc-jam45 > a { grid-template-columns:1fr; min-height:0; gap:12px; text-align:center; }
    .a45sc-jam45__mark { justify-self:center; }
    .a45sc-jam45__button { justify-self:center; }
    .a45sc-section-nav { top:66px; width:100%; overflow-x:auto; justify-content:flex-start; }
    .a45sc-section-nav__link { flex:1 0 auto; }
    .a45sc-preview__header, .a45sc-preview__footer { padding-left:22px; padding-right:22px; }
    .a45sc-preview__list { padding:0 22px; }
    .a45sc-preview__list li { grid-template-columns:30px minmax(0,1fr); }
    .a45sc-preview__metric { grid-column:2; text-align:left; }
    .a45sc-panel { padding:22px 14px; }
    .a45sc-chart-header { display:block; }
    .a45sc-source-link { margin-top:18px; }
    .a45sc-row { grid-template-columns:50px 66px minmax(0,1fr) 58px; gap:10px; min-height:104px; padding:13px 6px; }
    .a45sc-rank-number { width:44px; height:44px; border-radius:14px; font-size:1.25rem; }
    .a45sc-art { width:66px; height:60px; border-radius:12px; }
    .a45sc-title-block h3 { font-size:.98rem; }
    .a45sc-title-block p { font-size:.75rem; }
    .a45sc-metric-block { grid-column:2 / 5; grid-template-columns:minmax(0,1fr) minmax(90px,32%); padding-left:0; }
    .a45sc-metric-block strong { font-size:.78rem; }
    .a45sc-trend { min-height:34px; font-size:.68rem; }
    .a45sc-waiting { grid-template-columns:1fr; }
    .a45sc-mini__header { align-items:flex-start; flex-direction:column; }
    .a45sc-mini__grid { grid-template-columns:1fr; }
}

@media (max-width: 420px) {
    .a45sc-tab { padding-inline:13px; font-size:.78rem; }
    .a45sc-row { grid-template-columns:44px 58px minmax(0,1fr) 50px; }
    .a45sc-art { width:58px; height:54px; }
    .a45sc-title-block .a45sc-secondary { display:none; }
    .a45sc-mini-chart li { grid-template-columns:26px minmax(0,1fr); }
    .a45sc-mini-chart li > small { grid-column:2; }
}

@media (prefers-reduced-motion: reduce) {
    .a45sc-app *,
    .a45sc-mini * { scroll-behavior:auto !important; animation:none !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
    .a45sc-reveal,
    .a45sc-reveal-item { opacity:1 !important; transform:none !important; }
    .a45sc-meter > span { transform:scaleX(1) !important; }
}

@media (prefers-contrast: more) {
    .a45sc-chart-shell,
    .a45sc-preview,
    .a45sc-mini,
    .a45sc-jam45,
    .a45sc-row { border-width:2px; }
    .a45sc-muted { color:var(--a45sc-text); }
}

/* Alpha 2 homepage order: On Screen, This Day in Music row, Get Featured. */
body.home .a45es-auto-home > .story-callout.a45sc-home-get-featured {
    margin-top: 28px;
    margin-bottom: 28px;
}

@media (max-width: 620px) {
    body.home .a45es-auto-home > .story-callout.a45sc-home-get-featured {
        width: calc(100% - 28px);
        margin-left: auto;
        margin-right: auto;
    }
}
