/* ════════════════════════════════════════════════════════════════
   HAMSHA RADIO HUB — V1
   Light mode is the DEFAULT theme. Dark theme via [data-theme="dark"].
   ════════════════════════════════════════════════════════════════ */

:root,
[data-theme="light"] {
  --bg: #eef2f8;
  --bg-grad-a: #f7faff;
  --bg-grad-b: #e3ebf7;
  --surface: #ffffff;
  --surface-2: #f2f6fc;
  --surface-3: #e8eef8;
  --text: #0e1a30;
  --text-2: #43536e;
  --text-3: #74839c;
  --border: #d7e0ee;
  --border-strong: #bcccdf;
  --blue: #1457e6;
  --blue-2: #0ea5e9;
  --navy: #0b1e3f;
  --green: #0da35a;
  --green-soft: #e2f6ec;
  --amber: #b45309;
  --amber-soft: #fdf1de;
  --red: #d5342c;
  --red-soft: #fdeceb;
  --header-bg: rgba(255, 255, 255, .88);
  --shadow: 0 10px 30px rgba(13, 42, 92, .10);
  --shadow-lg: 0 22px 48px rgba(13, 42, 92, .16);
  --active-ring: rgba(13, 163, 90, .45);
  --loader-bg-a: #fdfefe;
  --loader-bg-b: #dbe9fb;
  color-scheme: light;
}

[data-theme="dark"] {
  --bg: #060d1e;
  --bg-grad-a: #0a1730;
  --bg-grad-b: #050a17;
  --surface: #0d1a33;
  --surface-2: #11223f;
  --surface-3: #16294c;
  --text: #edf3fd;
  --text-2: #a9bcd9;
  --text-3: #7288a8;
  --border: #1e3460;
  --border-strong: #2b4a85;
  --blue: #3b82f6;
  --blue-2: #38bdf8;
  --navy: #081226;
  --green: #25c26e;
  --green-soft: rgba(37, 194, 110, .14);
  --amber: #f2b04e;
  --amber-soft: rgba(242, 176, 78, .13);
  --red: #ff6f66;
  --red-soft: rgba(255, 111, 102, .12);
  --header-bg: rgba(7, 15, 32, .88);
  --shadow: 0 12px 32px rgba(0, 0, 0, .38);
  --shadow-lg: 0 24px 52px rgba(0, 0, 0, .5);
  --active-ring: rgba(37, 194, 110, .55);
  --loader-bg-a: #0a1a3a;
  --loader-bg-b: #040816;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(14, 165, 233, .16), transparent 60%),
    radial-gradient(900px 480px at -10% 0%, rgba(20, 87, 230, .12), transparent 55%),
    linear-gradient(180deg, var(--bg-grad-a), var(--bg-grad-b) 55%, var(--bg));
  background-attachment: fixed;
  color: var(--text);
  min-height: 100vh;
  transition: background-color .35s ease, color .35s ease;
}

.wrap { width: min(1240px, 100% - 2.5rem); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
button { font: inherit; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
svg { flex: none; }

:focus-visible { outline: 3px solid var(--blue-2); outline-offset: 2px; border-radius: 6px; }

/* ───────────────────────── LOADER ───────────────────────── */
.loader {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .35rem; padding: 2rem 1.25rem; text-align: center;
  background:
    radial-gradient(640px 420px at 50% 38%, rgba(14, 165, 233, .22), transparent 65%),
    radial-gradient(420px 300px at 50% 42%, rgba(250, 190, 40, .14), transparent 70%),
    linear-gradient(180deg, var(--loader-bg-a), var(--loader-bg-b));
  opacity: 1; visibility: visible;
  transition: opacity .7s ease, visibility 0s linear .7s;
}
.loader--done { opacity: 0; visibility: hidden; pointer-events: none; }

.loader__stage { position: relative; width: min(240px, 58vw); aspect-ratio: 1 / 1.02; display: grid; place-items: center; }

.loader__halo {
  position: absolute; inset: 2% -6%;
  background:
    radial-gradient(circle at 50% 46%, rgba(56, 189, 248, .5), rgba(37, 99, 235, .18) 46%, transparent 70%);
  filter: blur(6px);
  animation: haloPulse 2.4s ease-in-out infinite;
}
@keyframes haloPulse {
  0%, 100% { transform: scale(.94); opacity: .75; }
  50% { transform: scale(1.07); opacity: 1; }
}

/* Subtle “torn-edge” glow frame echoing the logo artwork */
.loader__stage::before,
.loader__stage::after {
  content: ""; position: absolute; border-radius: 38% 62% 55% 45% / 48% 42% 58% 52%;
  border: 2px solid rgba(56, 189, 248, .35);
  inset: 6% 2%;
  animation: haloSpin 14s linear infinite;
}
.loader__stage::after {
  inset: 11% 7%;
  border-color: rgba(250, 190, 40, .35);
  animation-duration: 20s; animation-direction: reverse;
}
@keyframes haloSpin { to { transform: rotate(360deg); } }

.loader__logo {
  position: relative; z-index: 2;
  width: 88%; height: auto;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, .75)) drop-shadow(0 10px 26px rgba(2, 20, 60, .4));
  animation: logoGlow 2.4s ease-in-out infinite;
}
@keyframes logoGlow {
  0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 0 10px rgba(56, 189, 248, .55)) drop-shadow(0 10px 22px rgba(2, 20, 60, .35)); }
  50% { transform: translateY(-6px) scale(1.015); filter: drop-shadow(0 0 26px rgba(56, 189, 248, .95)) drop-shadow(0 0 12px rgba(250, 190, 40, .55)) drop-shadow(0 16px 28px rgba(2, 20, 60, .4)); }
}

/* CSS sparkles ✦ around the logo */
.loader__sparkles span {
  position: absolute; z-index: 3; width: 10px; height: 10px; pointer-events: none;
  background: radial-gradient(circle, #fff 0 22%, #7dd3fc 45%, transparent 72%);
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
  animation: sparkle 1.8s ease-in-out infinite;
}
.loader__sparkles span:nth-child(1) { top: 8%;  left: 12%; animation-delay: 0s; }
.loader__sparkles span:nth-child(2) { top: 16%; right: 8%; width: 14px; height: 14px; animation-delay: .3s; background: radial-gradient(circle, #fff 0 22%, #fcd34d 48%, transparent 72%); }
.loader__sparkles span:nth-child(3) { top: 46%; left: -2%; animation-delay: .6s; }
.loader__sparkles span:nth-child(4) { top: 52%; right: -3%; width: 8px; height: 8px; animation-delay: .9s; }
.loader__sparkles span:nth-child(5) { bottom: 14%; left: 16%; width: 8px; height: 8px; animation-delay: 1.2s; background: radial-gradient(circle, #fff 0 22%, #fcd34d 48%, transparent 72%); }
.loader__sparkles span:nth-child(6) { bottom: 8%; right: 18%; animation-delay: 1.5s; }
@keyframes sparkle {
  0%, 100% { transform: scale(.35) rotate(0deg); opacity: 0; }
  45% { transform: scale(1.15) rotate(45deg); opacity: 1; }
  60% { transform: scale(.85) rotate(60deg); opacity: .8; }
}

/* Lightweight JS particle dots */
.loader__particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.loader__particles i {
  position: absolute; bottom: -12px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(125,211,252,.75) 55%, transparent 75%);
  box-shadow: 0 0 10px 2px rgba(125, 211, 252, .55);
  animation: floatUp linear infinite;
  will-change: transform, opacity;
}
.loader__particles i.gold {
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(252,211,77,.8) 55%, transparent 75%);
  box-shadow: 0 0 10px 2px rgba(252, 211, 77, .5);
}
@keyframes floatUp {
  0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0; }
  12% { opacity: 1; }
  85% { opacity: .85; }
  100% { transform: translate3d(var(--drift, 18px), -105vh, 0) scale(.55); opacity: 0; }
}

.loader__brand { margin: .9rem 0 0; font-size: clamp(1.35rem, 4.5vw, 1.9rem); font-weight: 800; letter-spacing: .14em; }
.loader__brand span { color: var(--blue); }
.loader__tag { margin: 0; color: var(--text-2); font-size: .82rem; letter-spacing: .22em; text-transform: uppercase; }
.loader__bar { width: min(240px, 60vw); height: 5px; margin-top: 1.15rem; border-radius: 99px; background: var(--surface-3); overflow: hidden; }
.loader__bar i { display: block; height: 100%; width: 40%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--blue-2), #f5b921); animation: loadSlide 1.15s ease-in-out infinite; }
@keyframes loadSlide { 0% { transform: translateX(-110%);} 100% { transform: translateX(360%);} }
.loader__hint { margin: .55rem 0 0; color: var(--text-3); font-size: .85rem; animation: hintBlink 1.6s ease-in-out infinite; }
@keyframes hintBlink { 0%,100% { opacity: .45; } 50% { opacity: 1; } }

/* Page reveal after loader fade-out */
.page { opacity: 0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease; }
body.is-loaded .page { opacity: 1; transform: none; }
body:not(.is-loaded) { overflow: hidden; }

/* ───────────────────────── HEADER ───────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--header-bg);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .65rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: inherit; min-width: 0; }
.brand__mark { position: relative; width: 52px; height: 52px; flex: none; display: grid; place-items: center; }
.brand__mark img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 8px rgba(56, 189, 248, .55)); }
.brand__live-dot { position: absolute; right: 1px; bottom: 3px; width: 10px; height: 10px; border-radius: 50%; background: var(--green); border: 2px solid var(--surface); box-shadow: 0 0 0 3px var(--green-soft); }
.brand__text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.brand__text strong { font-size: clamp(.98rem, 2.6vw, 1.2rem); letter-spacing: .09em; white-space: nowrap; }
.brand__text small { color: var(--text-2); font-size: .78rem; letter-spacing: .06em; }

.site-header__tools { display: flex; align-items: center; gap: .6rem; flex: none; }
.net-status { display: inline-flex; align-items: center; gap: .45rem; margin: 0; padding: .42rem .7rem; border: 1px solid var(--border); border-radius: 99px; background: var(--surface); font-size: .8rem; font-weight: 600; color: var(--text-2); }
.net-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.net-status[data-state="offline"] { color: var(--red); }
.net-status[data-state="offline"] i { background: var(--red); box-shadow: 0 0 0 3px var(--red-soft); }

.theme-toggle { display: inline-flex; align-items: center; gap: .45rem; padding: .48rem .75rem; border-radius: 99px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font-weight: 600; font-size: .85rem; transition: border-color .2s, transform .15s; }
.theme-toggle:hover { border-color: var(--border-strong); transform: translateY(-1px); }
.theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="light"] .icon--moon { display: none; }
[data-theme="dark"] .icon--sun { display: none; }

/* ───────────────────────── MAIN / PLAYER BAR ───────────────────────── */
.main { padding-block: 1.4rem 2.2rem; }

.player-bar {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  background: linear-gradient(135deg, var(--navy), #123a7d 58%, #0b5fa5);
  color: #eaf2ff; border: 1px solid rgba(125, 211, 252, .35);
  border-radius: 18px; padding: 1rem 1.15rem; box-shadow: var(--shadow-lg);
}
.player-bar__eq { display: flex; align-items: flex-end; gap: 3px; height: 30px; width: 34px; flex: none; }
.player-bar__eq i { flex: 1; height: 22%; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #7dd3fc, #38bdf8); }
.player-bar.is-playing .player-bar__eq i { animation: eqBounce .9s ease-in-out infinite alternate; }
.player-bar.is-playing .player-bar__eq i:nth-child(2) { animation-delay: .15s; }
.player-bar.is-playing .player-bar__eq i:nth-child(3) { animation-delay: .3s; }
.player-bar.is-playing .player-bar__eq i:nth-child(4) { animation-delay: .45s; }
.player-bar.is-playing .player-bar__eq i:nth-child(5) { animation-delay: .6s; }
@keyframes eqBounce { from { height: 14%; } to { height: 96%; } }

.player-bar__info { flex: 1 1 260px; min-width: 0; }
.player-bar__label { margin: 0; font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; color: #9fc6f5; }
.player-bar__station { margin: .1rem 0 0; font-size: 1.15rem; font-weight: 800; letter-spacing: .02em; }
.player-bar__message { margin: .15rem 0 0; font-size: .88rem; color: #c9dcf7; }
.player-bar__message.is-error { color: #ffb4ae; }
.player-bar__controls { display: flex; gap: .5rem; flex: none; }

.state-pill { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .7rem; border-radius: 99px; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: var(--surface-3); color: var(--text-2); border: 1px solid var(--border); white-space: nowrap; }
.state-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.state-pill[data-state="playing"] { background: var(--green-soft); color: var(--green); border-color: transparent; }
.state-pill[data-state="playing"]::before { animation: pulseDot 1.2s ease-in-out infinite; }
.state-pill[data-state="connecting"] { background: var(--amber-soft); color: var(--amber); border-color: transparent; }
.state-pill[data-state="connecting"]::before { animation: pulseDot .7s ease-in-out infinite; }
.state-pill[data-state="paused"] { background: var(--amber-soft); color: var(--amber); border-color: transparent; }
.state-pill[data-state="error"] { background: var(--red-soft); color: var(--red); border-color: transparent; }
@keyframes pulseDot { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.45); opacity: .55; } }

/* ───────────────────────── SECTION HEAD ───────────────────────── */
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 1.5rem 0 1rem; }
.section-head h1 { margin: 0; font-size: clamp(1.35rem, 3vw, 1.7rem); letter-spacing: .01em; }
.section-head p { margin: .2rem 0 0; color: var(--text-2); font-size: .92rem; }
.section-head__note { display: inline-flex; align-items: center; gap: .5rem; margin: 0 !important; padding: .55rem .8rem; background: var(--surface); border: 1px dashed var(--border-strong); border-radius: 12px; font-size: .85rem !important; }
.section-head__note svg { width: 19px; height: 19px; fill: none; stroke: var(--blue); stroke-width: 1.7; stroke-linecap: round; }

/* ───────────────────────── GRID + CARDS ───────────────────────── */
.grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
@media (max-width: 1080px) { .grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .grid { grid-template-columns: 1fr; } }

.card {
  position: relative; display: flex; flex-direction: column; gap: .45rem;
  background: var(--surface); border: 1.5px solid var(--border); border-radius: 20px;
  padding: 1.15rem; box-shadow: var(--shadow);
  transition: border-color .25s, box-shadow .25s, transform .2s;
  overflow: hidden;
}
.card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--accent), var(--blue-2)); opacity: .9; }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--border-strong); }
.card[data-state="playing"] { border-color: var(--green); box-shadow: 0 0 0 4px var(--active-ring), var(--shadow-lg); }
.card[data-state="connecting"] { border-color: var(--amber); }
.card[data-state="error"] { border-color: var(--red); }

.card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; }
.card__visual { position: relative; width: 74px; height: 58px; flex: none; }
.card__disc {
  position: absolute; left: 0; top: 2px; width: 54px; height: 54px; border-radius: 50%;
  background:
    radial-gradient(circle at 32% 30%, rgba(255,255,255,.5), transparent 42%),
    conic-gradient(from 40deg, var(--accent), var(--blue-2), var(--navy), var(--accent));
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.16), var(--shadow);
  display: grid; place-items: center;
}
.card__disc i { width: 16px; height: 16px; border-radius: 50%; background: var(--surface); box-shadow: inset 0 0 0 4px rgba(0,0,0,.18); }
.card[data-state="playing"] .card__disc { animation: discSpin 5s linear infinite; }
@keyframes discSpin { to { transform: rotate(360deg); } }

.card__bars { position: absolute; right: 0; bottom: 2px; display: flex; align-items: flex-end; gap: 2.5px; height: 30px; }
.card__bars i { width: 4px; height: 30%; border-radius: 3px; background: var(--accent); opacity: .55; }
.card[data-state="playing"] .card__bars i { opacity: 1; animation: eqBounce .8s ease-in-out infinite alternate; }
.card[data-state="playing"] .card__bars i:nth-child(2) { animation-delay: .12s; }
.card[data-state="playing"] .card__bars i:nth-child(3) { animation-delay: .24s; }
.card[data-state="playing"] .card__bars i:nth-child(4) { animation-delay: .36s; }
.card[data-state="playing"] .card__bars i:nth-child(5) { animation-delay: .48s; }

.state-pill--card { font-size: .68rem; padding: .32rem .6rem; }

.card__name { margin: .15rem 0 0; font-size: 1.22rem; letter-spacing: .01em; }
.card__location { display: flex; align-items: center; gap: .35rem; margin: 0; color: var(--text-2); font-size: .9rem; font-weight: 600; }
.card__location svg { width: 16px; height: 16px; fill: none; stroke: var(--accent); stroke-width: 1.8; }

.card__warning { display: flex; gap: .5rem; margin: .35rem 0 0; padding: .6rem .7rem; border-radius: 12px; background: var(--amber-soft); color: var(--amber); font-size: .78rem; line-height: 1.45; }
.card__warning svg { width: 17px; height: 17px; margin-top: .1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.card__status { margin: .3rem 0 0; min-height: 2.5em; font-size: .88rem; line-height: 1.45; color: var(--text-2); }
.card[data-state="error"] .card__status { color: var(--red); }
.card[data-state="playing"] .card__status { color: var(--green); font-weight: 600; }

.card__controls { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: auto; padding-top: .45rem; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border-radius: 12px; border: 1px solid transparent; padding: .62rem .9rem; font-weight: 700; font-size: .9rem; transition: transform .15s, filter .2s, background .2s, border-color .2s; }
.btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.btn:active { transform: scale(.97); }
.btn--play { background: linear-gradient(135deg, var(--blue), var(--blue-2)); color: #fff; box-shadow: 0 8px 18px rgba(20, 87, 230, .3); }
.btn--play:hover:not(:disabled) { filter: brightness(1.08); }
.btn--play .ic-play { fill: currentColor; stroke: none; }
.btn--play .ic-spin { display: none; }
.card[data-state="connecting"] .btn--play .ic-play,
.player-bar .btn--play .ic-play { display: none; }
.card[data-state="connecting"] .btn--play .ic-spin { display: block; animation: spin 1s linear infinite; transform-origin: center; }
@keyframes spin { to { transform: rotate(360deg); } }
.card[data-state="playing"] .btn--play { background: linear-gradient(135deg, #0a8a4c, var(--green)); }
.btn--soft { background: var(--surface-2); color: var(--text); border-color: var(--border); }
.btn--soft:hover:not(:disabled) { border-color: var(--border-strong); }
.btn--ghost { background: transparent; color: inherit; border-color: currentColor; }
.player-bar .btn--ghost { color: #dceaff; }
.btn--danger { background: #d5342c; color: #fff; }
.btn--danger:hover:not(:disabled) { filter: brightness(1.1); }
.btn--danger svg rect { fill: currentColor; stroke: none; }
.btn--soft svg rect { fill: currentColor; stroke: none; }

/* Volume */
.volume { display: flex; align-items: center; gap: .55rem; padding-top: .55rem; border-top: 1px dashed var(--border); }
.volume__btn { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-2); }
.volume__btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.volume__btn .ic-mute { display: none; }
.volume.is-muted .volume__btn .ic-vol { display: none; }
.volume.is-muted .volume__btn .ic-mute { display: block; }
.volume input[type="range"] { flex: 1; min-width: 0; accent-color: var(--blue); height: 28px; cursor: pointer; }
.volume__value { min-width: 3.2ch; text-align: right; font-size: .82rem; font-weight: 700; color: var(--text-2); font-variant-numeric: tabular-nums; }

.stream-note, .noscript-note { margin: 1.2rem 0 0; padding: .85rem 1rem; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font-size: .88rem; line-height: 1.55; }
.noscript-note { border-color: var(--red); color: var(--red); font-weight: 600; }

/* ───────────────────────── FOOTER ───────────────────────── */
.site-footer { border-top: 1px solid var(--border); background: var(--surface); margin-top: auto; }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1.5rem; flex-wrap: wrap; padding-block: 1rem; }
.site-footer__brand { display: inline-flex; align-items: center; gap: .6rem; margin: 0; color: var(--text-2); font-size: .88rem; }
.site-footer__brand img { width: 34px; height: 34px; object-fit: contain; }
.site-footer__credit { margin: 0; color: var(--text-2); font-size: .92rem; }
.site-footer__credit a { color: var(--blue); font-weight: 700; text-decoration: none; }
.site-footer__credit a:hover { text-decoration: underline; }

/* ───────────────────────── RESPONSIVE / MOTION ───────────────────────── */
@media (max-width: 640px) {
  .wrap { width: calc(100% - 1.5rem); }
  .brand__text small { display: none; }
  .net-status span { display: none; }
  .net-status { padding: .48rem .55rem; }
  .player-bar { padding: .9rem; }
  .player-bar__controls { width: 100%; }
  .player-bar__controls .btn { flex: 1; }
  .theme-toggle__label { display: none; }
  .site-footer__inner { justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}
