/* Editorial finish: quieter surfaces, a consistent icon system and usable states. */
:root { --orange: var(--copper); --player-w: clamp(310px,24vw,370px); --shadow: 0 16px 44px #0003; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 5px; }
button, a, input, select, textarea { touch-action: manipulation; }
button:disabled { cursor: not-allowed; opacity: .5; }
body::before { opacity: .035; }
img { max-width: 100%; }
.radio-player { padding: 24px 24px 28px; border-right-color: #e7a57224; }
.radio-player::after { border-radius: 18px; }
.brand-lockup { gap: 10px; margin-bottom: 22px; }
.brand-mark { width: 65px; }
.brand-mark img { width: 65px; height: auto; }
.brand-lockup strong { font-size: clamp(17px,1.25vw,21px); letter-spacing: .075em; font-weight: 600; }
.brand-lockup span { font-size: 12px; }
.player-cover { border-color: #e7a57238; border-radius: 14px; box-shadow: 0 12px 32px #0003; }
.now-playing strong { font-size: clamp(25px,2vw,32px); line-height: 1.1; max-height: 2.2em; margin: 8px 0 3px; }
.now-playing > span:last-child { color: var(--muted); font-size: 14px; }
.player-controls { grid-template-columns: 48px 82px 48px; gap: 20px; margin: 20px auto 7px; }
.play-button { width: 82px; height: 82px; }
.reaction-button { width: 46px; height: 46px; border-color: #ffffff24; background: #ffffff03; }
.reaction-button svg { width: 20px; height: 20px; }
.reaction-button--like { color: #86c59b; }
.reaction-button--dislike { color: #dc8e87; }
.reaction-button.is-selected { border-color: currentColor; background: #ffffff0d; }
.reaction-button b { min-width: 18px; padding: 1px 4px; background: #171013; }
.playback-status { margin: 4px 0 9px; color: var(--muted); text-align: center; font-size: 10px; letter-spacing: .025em; }
.is-audio-buffering .play-button { animation: connecting 1.5s ease-in-out infinite; }
@keyframes connecting { 50% { box-shadow: 0 0 0 9px #e7894d24; } }
.vote-reveal { min-height: 34px; }
.vote-reveal__locked { max-width: 240px; margin: 0 auto; font-size: 11px; }
.volume-row { gap: 10px; }
.volume-row svg { display:block; width: 18px; height: 18px; }
.volume-row button { display: grid; place-items: center; min-width: 28px; min-height: 28px; }
.volume-row button[aria-pressed="true"] { opacity: .45; }
.volume-max { font-size: 9px; font-variant-numeric: tabular-nums; color: var(--muted); }
.listener-icon { width: 16px; height: 16px; color: var(--copper); }
.listener-row { font-size: 11px; margin-top: 13px; }
.waveform { display: none; }
.service-icons { display:flex; gap: 6px; margin: 18px 0; justify-content:center; flex-wrap:wrap; }
.service-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border:1px solid #ffffff14; border-radius:10px; background:#ffffff04; transition:background .2s,border-color .2s,transform .2s; }
.service-icon img { display:block; width:20px; height:20px; object-fit:contain; }
.service-icon:hover { background:#ffffff0c; border-color:#e7a57277; transform:translateY(-2px); }
.recent-mini { border-radius:12px; }
.recent-song { padding:10px 0; }
.recent-song strong { font-size:12px; }
.recent-song small,.recent-song span { font-size:11px; }
.recent-mini__list { max-height:360px; overflow:auto; scrollbar-width:thin; scrollbar-color:#e7a57244 transparent; }
.floating-header { background:#140e11eb; box-shadow:0 8px 28px #0002; border-color:#ffffff14; border-radius:18px; }
.main-nav { gap:clamp(13px,1.6vw,26px); }
.main-nav a,.nav-more > button { font-size:13px; }
.nav-more > div { top:100%; padding-top:14px; background:#171013; border-color:#ffffff1a; border-radius:12px; }
.nav-more.is-open > div { display:flex; opacity:1; visibility:visible; pointer-events:auto; }
.is-navigating .floating-header::after { position:absolute; bottom:0; left:20px; right:20px; height:2px; content:""; background:linear-gradient(90deg,transparent,var(--copper),transparent); animation:connecting 1s infinite; }
.hero-stage { min-height:710px; }
.hero-stage__portrait { top:82px; width:64%; filter:none; mask-image:linear-gradient(90deg,#000 0,#000 67%,transparent 100%),linear-gradient(0deg,transparent 0,#000 24%,#000 93%,transparent); mask-composite:intersect; }
.hero-stage__backdrop { opacity:.28; filter:blur(32px) saturate(.65); }
.hero-stage__giant-name { top:135px; font-size:clamp(70px,8vw,130px); max-height:1.65em; overflow:hidden; opacity:.48; pointer-events:none; }
.hero-stage__copy { top:44%; right:clamp(28px,4vw,70px); width:46%; transform:translateY(-15%); }
.hero-stage__copy h1 { font-size:clamp(40px,4.1vw,72px); line-height:1.03; letter-spacing:-.04em; max-height:3.09em; -webkit-line-clamp:3; margin:20px 0 16px; }
.hero-stage__copy p { font-size:14px; line-height:1.75; max-height:5.25em; overflow:hidden; }
.hero-stage__live { bottom:118px; }
.eyebrow { font-size:10px; letter-spacing:.15em; }
.charts-stage { gap:16px; }
.chart-panel { padding:24px; border-color:#ffffff13; border-radius:16px; }
.chart-panel--shifted { transform:none; }
.chart-panel .section-heading { flex-wrap:wrap; gap:12px; }
.chart-panel .section-heading h2 { font-size:clamp(24px,2.1vw,34px); line-height:1.1; }
.chart-panel .section-heading > a { font-size:11px; }
.chart-panel__empty { font-size:13px; line-height:1.8; margin:12px 0 0; }
.request-tile { border-radius:16px; min-height:230px; }
.request-tile strong { font-size:clamp(32px,3vw,48px); }
.section-heading h2 { font-size:clamp(30px,3vw,46px); line-height:1.1; }
.leaders-card { border-radius:16px; border-color:#ffffff16; }
.leaders-card__top:has(> [hidden]):not(:has(> :not([hidden]))) { display:none; }
.leaders-list li.leaderboard-empty { display:block; padding:24px 0; color:var(--muted); font-size:14px; line-height:1.7; text-align:center; }
.viewer-rank-card { border-radius:16px; }
.podium-card i { width:72px; height:72px; border:1px solid #e7a57244; background:linear-gradient(145deg,#53332d,#21161b); border-radius:50%; font-style:normal; font-family:var(--serif); font-size:24px; }
.podium-card { border-radius:16px; padding-top:32px; }
.podium-card i { color:var(--cream); }
.podium-card i::before,.podium-card i::after { display:none; }
.podium-card--first i { width:90px; height:90px; background:linear-gradient(145deg,#855635,#332019); }
.news-empty { padding:24px 28px; border:1px solid #ffffff12; border-radius:16px; color:var(--muted); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.news-empty p { margin:0; max-width:580px; }
.news-empty a { color:var(--copper); white-space:nowrap; font-size:13px; }
.page-intro h1 { font-size:clamp(44px,5vw,84px); line-height:1.06; overflow-wrap:anywhere; }
.page-intro { min-height:320px; }
.inner-hero { min-height:340px; padding-top:140px; padding-bottom:55px; }
.inner-hero h1 { font-size:clamp(44px,5.2vw,86px); line-height:1.05; }
.inner-hero p { font-size:16px; }
.leaders-section,.news-section { margin-top:90px; }
.schedule-strip { margin-top:90px; margin-bottom:80px; border-radius:16px; }
.schedule-strip h2 { font-size:32px; line-height:1.15; }
.schedule-strip p { font-size:13px; }
.chat-role { color:var(--copper); border:1px solid var(--line); border-radius:4px; padding:1px 5px; font-size:10px; }
.schedule-day li.is-current { border-left:2px solid var(--copper); padding-left:12px; }
.auth-dialog { max-width:480px; width:calc(100% - 32px); border-radius:20px; border:1px solid #e7a57238; }
.auth-dialog h2 { font-size:32px; line-height:1.15; }
.auth-dialog > p:not(.eyebrow) { font-size:14px; line-height:1.65; }
.auth-providers:empty { display:none; }
.vk-widget { margin:16px 0; min-height:44px; }
.email-auth-form { display:grid; gap:10px; border-top:1px solid var(--line-soft); margin-top:18px; padding-top:18px; }
.email-auth-form label { display:grid; gap:6px; font-size:13px; }
.email-auth-form input { width:100%; padding:12px 14px; background:#ffffff05; border:1px solid #ffffff20; border-radius:8px; color:var(--cream); }
.email-auth-form button { padding:10px 14px; border-radius:8px; border:1px solid var(--line); background:#e7894d12; cursor:pointer; }
.email-auth-form p { font-size:12px; margin:0; color:var(--muted); }
.account-link-actions { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.account-link-actions button,.linked-accounts button { border:1px solid var(--line-soft); background:#ffffff04; border-radius:8px; padding:8px 10px; font-size:12px; cursor:pointer; }
.linked-accounts article { flex-wrap:wrap; }
.catalog-admin-list { display:grid; gap:12px; }
.catalog-admin-list article { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; border-top:1px solid var(--line-soft); }
.catalog-admin-list button { border:1px solid var(--line-soft); border-radius:8px; padding:8px 12px; background:#ffffff04; cursor:pointer; }
.admin-content-search { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:20px 0; }
.admin-content-search input { min-width:200px; flex:1; padding:10px 12px; color:var(--cream); background:#ffffff05; border:1px solid var(--line-soft); border-radius:8px; }
.admin-content-search button { padding:10px 14px; border:1px solid var(--line); border-radius:8px; background:#e7894d10; cursor:pointer; }
.admin-content-search small { width:100%; color:var(--muted); }
.audit-list { list-style:none; padding:0; }
.audit-list li { display:grid; gap:4px; padding:16px 0; border-bottom:1px solid var(--line-soft); }
.audit-list small { color:var(--muted); }
.audit-list pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; color:var(--muted); margin:4px 0; }
.streaming-preferences label > span img { width:24px; height:24px; object-fit:contain; vertical-align:middle; }
.upload-control { display:grid; gap:8px; padding:12px; border:1px dashed var(--line); border-radius:8px; font-size:12px; }
.upload-control img { max-width:160px; max-height:100px; object-fit:contain; }
@media (min-width:1700px) { .service-icon { width:38px; height:38px; } .service-icon img { width:22px; height:22px; } }
@media (max-width:1180px) and (min-width:861px) {
  :root { --player-w:290px; } .radio-player { padding:22px 18px; } .service-icons { gap:5px; } .service-icon { width:31px; height:31px; }
  .hero-stage__copy { width:49%; right:28px; } .hero-stage__copy h1 { font-size:42px; }
}
@media (max-width:860px) {
  .radio-player { padding:9px 16px; } .playback-status { display:none; }
  body:not(.is-mobile-player-open) .radio-player .play-button { width:46px; height:46px; }
  .radio-player .now-playing strong { margin:0; max-height:1.3em; font-family:var(--sans); line-height:1.3; font-size:14px; }
  .radio-player .now-playing > span:last-child { font-size:12px; }
  .hero-stage { min-height:650px; }
  .hero-stage__portrait { top:74px; width:100%; opacity:.78; mask-image:linear-gradient(0deg,transparent 0,#000 48%,#000 93%,transparent); }
  .hero-stage::after { z-index:3; background:linear-gradient(0deg,#0b0709 2%,#0b0709d9 24%,#0b07091a 70%); }
  .hero-stage__giant-name { top:100px; width:95%; font-size:24vw; opacity:.22; }
  .hero-stage__copy { top:auto; right:24px; left:24px; bottom:95px; width:auto; transform:none; }
  .hero-stage__copy h1 { font-size:clamp(38px,10vw,60px); max-width:650px; }
  .hero-stage__copy p { font-size:14px; margin-bottom:20px; }
  .hero-stage__live { bottom:42px; }
  .main-nav a,.nav-more > button { font-size:15px; }
  .nav-more > div { position:static; padding:0; border:0; background:none; }
  .is-mobile-player-open .radio-player { gap:8px; padding-top:max(20px,env(safe-area-inset-top)); padding-bottom:max(28px,env(safe-area-inset-bottom)); }
  .is-mobile-player-open .radio-player > * { flex-shrink:0; }
  .is-mobile-player-open .brand-mark { width:55px; }
  .is-mobile-player-open .brand-lockup { margin-bottom:8px; }
  .is-mobile-player-open .player-cover-wrap { width:min(65vw,290px); }
  .is-mobile-player-open .now-playing strong { font-family:var(--serif); font-size:30px; max-height:2.2em; line-height:1.1; margin:6px 0; }
  .is-mobile-player-open .playback-status { display:block; margin:0; }
  .is-mobile-player-open .waveform { display:none; }
  .is-mobile-player-open .service-icons { gap:8px; margin:10px 0; }
  .is-mobile-player-open .service-icon { width:36px; height:36px; }
  .is-mobile-player-open .recent-mini { min-height:0; }
  .is-mobile-player-open .recent-mini__list { max-height:none; }
  .news-empty { align-items:flex-start; flex-direction:column; }
  .page-intro h1 { font-size:clamp(36px,9vw,64px); }
  .inner-hero { min-height:300px; padding:115px 22px 44px; }
  .inner-hero h1 { font-size:clamp(36px,10vw,60px); }
  .inner-hero--history { padding-bottom:130px; min-height:420px; }
  .podium-card i { width:42px; height:42px; font-size:18px; }
  .podium-card--first i { width:56px; height:56px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
