body {
  margin: 0;
  font-family: 'Inter', Arial, sans-serif;
  background: linear-gradient(120deg, #192336 0%, #202a40 100%);
  color: #fff;
  min-height: 100vh;
}
#header {
  width: 100%;
  background: #212c3d;
  display: flex;
  align-items: center;
  height: 60px;
  border-bottom: 1px solid #253050;
  justify-content: center;
}
#site-logo {
  height: 54px;
  margin: 0 auto;
}
#main-grid {
  display: grid;
  grid-template-columns: 1.1fr 2fr 1.1fr;
  gap: 28px;
  max-width: 1500px;
  margin: 16px auto 0 auto;
  padding: 0 18px;
}
.card {
  background: rgba(34, 44, 62, 0.82);
  border-radius: 18px;
  box-shadow: 0 4px 32px #0003;
  /*border: 1px solid #253050;*/
  border: 1px solid #474747;
  margin-bottom: 24px;
  padding: 0;
  overflow: hidden;
}
.card-title {
  font-weight: 700;
  font-size: 1.16rem;
  padding: 20px 28px 14px 28px;
  color: #22e07c;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #233044;
}
.card-title .fa-youtube { color: #FF0033; }
.card-title .fa-bolt { color: #FFD23E; }
.card-title .fa-gamepad { color: #66aaff; }
.card-title .fa-comments { color: #FFD23E; }
#twitch-tabs {
  padding: 19px 20px 17px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 400px;
  overflow-y: auto;
}
.twitch-tab {
  width: 95%;
  background: rgba(43, 56, 82, 0.8);
  border: 1.5px solid #253050;
  border-radius: 13px;
  padding: 7px 2px 7px 2px;
  cursor: pointer;
  transition: background 0.18s, border 0.18s, color 0.18s;
  display: flex;
  align-items: center;
  gap: 18px;
  position: relative;
}
.twitch-tab.selected {
  background: rgba(120, 75, 255, 0.22);
  border: 2.5px solid #a685ff;
}
.twitch-tab img {
  width: 37px;
  height: 37px;
  border-radius: 50%;
  border: 2px solid #444;
  object-fit: cover;
  background: #192336;
  transition: border 0.18s;
  margin-right: 0;
}
.twitch-tab.online img { border-color: #22e07c; }
.twitch-tab.selected img { border-color: #FFD23E; }
.twitch-tab.offline img { filter: grayscale(1); opacity: 0.5; border-color: #444; }
.twitch-tab .tab-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.twitch-tab .tab-name {
  font-weight: 500;
  font-size: 1.08rem;
  color: #ffd23e;
  margin-bottom: 1px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.twitch-tab.online .tab-name { color: #22e07c; }
.twitch-tab.selected .tab-name { color: #FFD23E; }
.twitch-tab .tab-status {
  font-size: 0.97em;
  font-weight: 400;
  color: #22e07c;
}
.twitch-tab.offline .tab-name { color: #aaa; }
.twitch-tab.offline .tab-status { color: #aaa; }
.twitch-tab .online-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #253050;
  border: 2.5px solid #22e07c;
  margin-left: auto;
  margin-right: 8px;
  display: block;
  box-shadow: 0 0 0 2px #21e07c18;
  transition: background 0.15s, border 0.15s;
}
.twitch-tab.online.selected .online-dot {
  background: #22e07c !important;
  border: 2.5px solid #22e07c !important;
  box-shadow: 0 0 0 2px #21e07c60 !important;
}

.twitch-tab.offline .online-dot { border: 2px solid #444; background: #222; opacity: 0.22; }
/*.twitch-tab .viewers {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #22e07c;
  font-size: 0.89em;
  font-weight: 500;
}*/
.twitch-tab .viewers {display: none;}
.twitch-tab .fa-eye { color: #22e07c; }
.twitch-separator hr {
  border: none;
  border-top: 1px solid #23232a;
  margin: 13px 0 7px 0;
  width: 90%;
  margin-left: 5%;
}
#player-with-info {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: transparent;
}
#twitch-player-container {
  width: 100%;
  background: #111;
  aspect-ratio: 16/9;
  min-height: 240px;
  border-radius: 0;
  position: relative;
  box-shadow: 0 2px 14px #0003;
  display: flex;
  align-items: center;
  justify-content: center;
}
#twitch-player {
  width: 100%;
  height: 100%;
  min-height: 120px;
  display: block;
  border: none;
  background: #000;
  border-radius: 0;
}
#twitch-stream-info {
  background: rgba(43, 56, 82, 0.7);
  border-top: 1px solid #233044;
  padding: 18px 28px 18px 28px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.stream-info-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 2.5px solid #a685ff;
  background: #233044;
  object-fit: cover;
}
.stream-info-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.stream-info-user {
  font-size: 1.15rem;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.01em;
}
.stream-info-live {
  color: #fff;
  background: #ff386a;
  border-radius: 6px;
  font-size: 0.93em;
  font-weight: 700;
  padding: 2.5px 11px;
  margin-left: 10px;
  text-transform: uppercase;
  box-shadow: 0 1px 8px #ff386a10;
}
.stream-info-title {
  font-size: 1.06rem;
  color: #FFD23E;
  font-weight: 450;
  line-height: 1.33;
  word-break: break-word;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre-line;
  margin-bottom: 0;
}
.stream-info-viewers {
  font-size: 1.07rem;
  color: #22e07c;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 5px;
}
.stream-info-viewers i { color: #22e07c; font-size: 1.13em; margin-right: 2px; }




.large-card#youtube-section {
  padding: 0;
}
.large-card #youtube-videos {
  padding: 0;
  margin: 0;
}
/* Видаляю старий селектор, щоб не перекривав нові стилі */
/* .large-card #youtube-videos iframe {
  width: 100%;
  height: 180px;
  min-height: 190px;
  border: none;
  background: #000;
  display: block;
} */

/* Новини: зменшений блок */
#streamers-col #news-section {
  margin-bottom: 24px;
}
#streamers-col #news-section a{
  text-decoration: none;
}
#streamers-col #news-section .card-title {
  font-size: 1em;
  padding: 14px 18px 10px 18px;
}
#streamers-col #news-section #news-content {
  padding: 10px 14px 10px 14px;
  max-height: 520px;
  font-size: 0.97em;
  gap: 7px;
}

/* Адаптація під мобільні */
@media (max-width: 900px) {
  .large-card #youtube-videos iframe {
    height: 250px;
    border-radius: 0 0 12px 12px;
  }
  #streamers-col #news-section #news-content {
    max-height: 170px;
    font-size: 0.95em;
    padding: 7px 7px;
  }
}
@media (max-width: 650px) {
  .large-card#youtube-section,
  .large-card #youtube-videos {
    width: 100vw;
    max-width: 100vw;
    border-radius: 7px;
    padding: 0;
  }
  .large-card #youtube-videos iframe {
    height: 250px;
    min-height: 250px;
    border-radius: 0 0 7px 7px;
    margin-bottom: 20px;
  }
  #streamers-col #news-section {
    width: 100vw;
    max-width: 100vw;
    border-radius: 7px;
    padding: 0;
  }
  #streamers-col #news-section .card-title {
    font-size: 0.97em;
    padding: 9px 7px 7px 7px;
  }
  #streamers-col #news-section #news-content {
    max-height: 120px;
    font-size: 0.93em;
    padding: 5px 4px 5px 4px;
    gap: 5px;
  }
}



#youtube-videos {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.youtube-row {
  display: flex;
  gap: 24px;
}
.youtube-row > * {
  flex: 1 1 0;
}

.youtube-iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border: none;
  background: #000;
  transition: box-shadow 0.2s;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  border-radius: 12px;
  margin: 0 0;
  min-width: 0;
  min-height: 0;
  height: auto;
}

.youtube-iframe.youtube-selected {
  width: 100% !important;
  aspect-ratio: 16/9;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  border-radius: 16px;
  margin: 0 0;
}

@media (max-width: 900px) {
  .youtube-row {
    gap: 12px;
  }
  .youtube-iframe, .youtube-iframe.youtube-selected {
    border-radius: 10px;
  }
}

@media (max-width: 650px) {
  #youtube-videos {
    gap: 12px;
  }
  .youtube-row {
    flex-direction: column;
    gap: 12px;
  }
  .youtube-iframe, .youtube-iframe.youtube-selected {
    border-radius: 10px;
  }
}
.youtube-channels-switcher {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 18px 0 8px 0;
  flex-wrap: wrap;
}
.youtube-channel-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 4px 6px 4px 6px;
  background: linear-gradient(120deg, #222b41 0%, #2b3750 100%);
  /*color: #FFD23E;*/
  color: #f9f9f9;
  border: none;
  border-radius: 17px;
  font-size: 0.95em;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
  position: relative;
  outline: none;
  min-width: unset;
}



.youtube-channel-btn .yt-avatar {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #FFD23E;
  background: #202a40;
  transition: border 0.18s, box-shadow 0.18s;
}
.youtube-channel-btn.active,
.youtube-channel-btn:hover,
.youtube-channel-btn:focus {
  background: linear-gradient(120deg, #FFD23E 0%, #ffed91 100%);
  color: #222b41;
  box-shadow: 0 4px 18px rgba(255,220,60,0.16);
}
.youtube-channel-btn.active .yt-avatar,
.youtube-channel-btn:hover .yt-avatar,
.youtube-channel-btn:focus .yt-avatar {
  border: 2px solid #222b41;
  box-shadow: 0 0 0 2px #FFD23E;
}
.yt-name {
  font-weight: 600;
  font-size: 0.96em;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .youtube-channel-btn { padding: 7px 10px 7px 8px; font-size: 0.97em; gap: 7px;}
  .youtube-channel-btn .yt-avatar { width: 24px; height: 24px;}
  .yt-name { font-size: 0.95em;}
}




#news-content {
  padding: 19px 20px 17px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 800px;
  overflow-y: auto;
}
.news-entry {
  background: rgba(43, 56, 82, 0.65);
  border-radius: 9px;
  padding: 13px 13px 10px 13px;
  margin-bottom: 9px;
  border: 1px solid #253050;
  display: flex;
  gap: 13px;
  align-items: center;
  transition: background 0.14s, border 0.14s;
}
.news-entry:hover {
  background: #232346;
  border-color: #FFD23E;
}
.news-date {
  color: #FFD23E;
  font-size: 0.99em;
  min-width: 56px;
  max-width: 70px;
  flex-shrink: 0;
  text-align: right;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0.85;
  margin-right: 7px;
}
.news-title {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: 1.04em;
  letter-spacing: 0.01em;
  transition: color 0.12s;
  white-space: pre-line;
  word-break: break-word;
  flex: 1;
  line-height: 1.45;
  display: block;
}
.news-title:hover { color: #FFD23E; text-decoration: underline; }
#twitch-chat-section {
  width: 100%;
  height: 500px;
  background: #222c3a;
  border-radius: 0 0 13px 13px;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
#twitch-chat-frame {
  width: 98%;
  height: 98%;
  border: none;
  background: #222c3a;
  border-radius: 0 0 13px 13px;
}



#chat-card .chat-title-row {
  display: flex;
  align-items: center;
  gap: 13px;
  justify-content: space-between;
}
#chat-card .chat-switcher {
  margin-left: auto;
  display: flex;
  align-items: center;
}
#chat-card .switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 22px;
}
#chat-card .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
#chat-card .slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #343434;
  transition: background 0.2s;
  border-radius: 22px;
}
#chat-card .slider:before {
  position: absolute;
  content: "";
  left: 3px; top: 3px;
  width: 16px; height: 16px;
  /*background: #FFD23E;*/
  background: #272727;
  border-radius: 50%;
  transition: transform 0.2s;
}
#chat-card input:checked + .slider {
  background: #FFD23E;
}
#chat-card input:checked + .slider:before {
  transform: translateX(26px);
  background: #222b41;
}


@media (max-width: 700px) {
  #main {
    display: flex;
    flex-direction: column;
  }
  #news-section {
    order: 99;
  }
  #streams-section { order: 1; }
  .extra-block { order: 3; }
  #youtube-section { order: 2; }
}


.extra-block {
  text-align: center;
  padding: 34px 12px;
}
.extra-icon {
  width: 60px;
  height: 60px;
  background: #253050;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px auto;
  font-size: 2.2em;
  color: #66aaff;
}




#footer {
  background: #212c3d;
  border-top: 1px solid #253050;
  text-align: center;
  padding: 22px 0 13px 0;
  margin-top: 32px;
  color: #22e07c;
}
#footer h3 { margin-bottom: 13px; font-size: 1.16em; }
.social-inline {
  display: flex;
  gap: 18px;
  justify-content: center;
  align-items: center;
  margin-top: 0.2em;
  padding: 0;
}
.social-inline a {
  text-decoration: none;
  font-size: 32px;
  color: #f9f9f9;
  transition: color 0.2s;
  opacity: 0.88;
}
.social-inline a:hover { color: #FFD23E; opacity: 1; }
.social-inline .youtube:hover { color: #FF0033; }
.social-inline .discord:hover { color: #5661EA; }
.social-inline .threads:hover { color: #EEC83F; }
.social-inline .twitch:hover { color: #9147ff; }
.social-inline .donate { color: red; font-size: 28px; }
.social-inline .donate:hover { color: #ffd23e; }
@media (max-width: 1200px) {
  #main-grid { grid-template-columns: 1.3fr 2fr; }
  #chat-card { display: none; }
}
@media (max-width: 900px) {
  #main-grid { grid-template-columns: 1fr; gap: 11px; }
  #streamers-col, #center-col, #right-col { width: 100%; }
  #twitch-tabs, #news-content { padding: 10px 7px 7px 7px; }
  .card { border-radius: 12px; }
}
@media (max-width: 650px) {
  #header { height: 46px; min-height: 46px; }
  #site-logo { height: 32px; }
  #main-grid { grid-template-columns: 1fr; gap: 7px; margin-top: 11px; padding: 0 2vw; }
  .card { border-radius: 7px; padding: 0; }
  .card-title { font-size: 1.01em; padding: 13px 9px 9px 9px; }
  #twitch-tabs, #news-content { padding: 7px 3px 6px 3px; }
  #twitch-player-container { min-height: 110px; }
  #twitch-chat-section { height: 120px; }
}
@media (max-width: 650px) {
  #main-grid {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 11px;
    padding: 0 2vw;
  }

  #streamers-col {
    width: 100vw;
    padding: 0;
  }

  .card#twitch-section {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: none;
  }

  .card-title {
    font-size: 1.01em;
    padding: 13px 9px 9px 9px;
  }

  /* Twitch tabs: горизонтальний скрол, тільки аватарки */
  #twitch-tabs {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100vw;
    min-width: 0;
    padding: 0 2vw;
    height: 62px;
    background: #233044;
    overflow-x: auto;
    gap: 0;
    box-shadow: 0 8px 24px #0001;
    scrollbar-width: none;
    border-radius: 0 0 16px 16px;
    border: none;
  }

  #twitch-tabs::-webkit-scrollbar {
    display: none;
  }

  .twitch-tab, .twitch-tab.online, .twitch-tab.offline {
    min-width: 15vw !important;
    max-width: 15vw !important;
    width: 15vw !important;
    height: 54px !important;
    margin: 0 2vw 0 0 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    background: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    position: relative !important;
    box-shadow: none !important;
    border: none !important;
    flex-direction: column !important;
    transition: border 0.13s, box-shadow 0.13s;
  }

  .twitch-tab img {
    width: 12vw !important;
    height: 12vw !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    background: #23232a !important;
    object-fit: cover !important;
    display: block !important;
    transition: border 0.15s, box-shadow 0.15s;
    margin: 0 auto !important;
    box-shadow: 0 0 0 0px #0000 !important;
  }

  .twitch-tab.online img {
    border-color: #22e07c !important;
    box-shadow: 0 0 7px 1.5px #22e07c40 !important;
  }

  .twitch-tab.selected img {
    border-color: #FFD23E !important;
    box-shadow: 0 0 0 2px #FFD23E !important;
  }

  .twitch-tab.offline img {
    border-color: #444 !important;
    opacity: 0.35 !important;
    filter: grayscale(1) contrast(0.85) !important;
    background: #16161b !important;
  }

  .twitch-tab .tab-name,
  .twitch-tab .tab-status,
  .twitch-tab .online-dot,
  .twitch-tab .tab-meta,
  .twitch-tab .viewers {
    display: none !important;
  }

  /* Інші блоки */
  #player-with-info, #player-card, #news-section, #chat-card, #audio-section {
    width: 98vw;
    max-width: 98vw;
  }
}

::-webkit-scrollbar { width: 7px; background: #202026; }
::-webkit-scrollbar-thumb { background: #24242f; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #292938; }




#streams-switcher-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 18px 0 0 0;
  gap: 16px;
}
.streams-label {
  font-weight: 700;
  font-size: 1.13em;
  color: #FFD23E;
  margin-right: 8px;
  letter-spacing: 0.01em;
}
.switch {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 30px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #222b41;
  transition: background 0.3s;
  border-radius: 30px;
}
.slider:before {
  position: absolute;
  content: "";
  left: 4px; top: 4px;
  width: 22px; height: 22px;
  background: #FFD23E;
  border-radius: 50%;
  transition: transform 0.3s;
  box-shadow: 0 2px 8px #FFD23E55;
}
input:checked + .slider {
  background: #FFD23E;
}
input:checked + .slider:before {
  transform: translateX(26px);
  background: #222b41;
  box-shadow: 0 2px 8px #222b4155;
}

.switch-label {
  font-weight: 700;
  font-size: 1.13em;
  color: #FFD23E;
  min-width: 110px;
  text-align: center;
  transition: color 0.18s;
  display: none;
}
.switch-on { display: inline-block;}
input:checked ~ .switch-on { display: none; }
input:checked ~ .switch-off { display: inline-block; color: #ff386a;}





.audio-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 18px;
  margin-bottom: 12px;
  border-radius: 12px;
  overflow: hidden;
  background: #202a40;
  border: 1px solid #253050;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.audio-tab-btn {
  padding: 10px 24px;
  background: none;
  border: none;
  color: #FFD23E;
  font-weight: 700;
  font-size: 1.1em;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
  outline: none;
  border-right: 1px solid #253050;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}
.audio-tab-btn:last-child {
  border-right: none;
}
.audio-tab-btn.active {
  background: linear-gradient(90deg, #FFD23E 0%, #22e07c 100%);
  color: #222b41;
}
.audio-tab-btn:not(.active):hover {
  background: #232b3a;
  color: #fff;
}
.audio-tab-content {
  margin-top: 10px;
}

.music-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.03em;
  font-weight: 600;
  padding: 9px 18px;
  background: #232b3a;
  color: #FFD23E;
  border: none;
  border-radius: 9px;
  margin: 18px auto 0 auto;
  cursor: pointer;
  box-shadow: 0 2px 8px #0002;
  transition: background 0.14s, color 0.14s, box-shadow 0.14s;
}
.music-btn:hover {
  background: #FFD23E;
  color: #222b41;
  box-shadow: 0 4px 16px #FFD23E22;
}
.music-btn i {
  font-size: 1.18em;
}


.big-music-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.1em;
  font-weight: 700;
  padding: 12px 26px;
  background: linear-gradient(90deg, #FFD23E 0%, #22e07c 100%);
  color: #202a40;
  border: none;
  border-radius: 18px;
  margin: 0 auto 19px auto;
  cursor: pointer;
  box-shadow: 0 4px 24px #222b4150;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.big-music-btn:hover {
  background: linear-gradient(90deg, #FFD23E 0%, #ff386a 100%);
  color: #fff;
  box-shadow: 0 8px 32px #FFD23E30;
}
.big-music-btn i {
  font-size: 1.35em;
}

.podcast-block {
  margin-top: 25px;
  margin-bottom: 25px;
}
.podcast-title {
  font-size: 1.13em;
  color: #FFD23E;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: center;
}
.podcast-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 330px;
}
.podcast-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #232b3a;
  border-radius: 9px;
  padding: 18px 16px 15px 16px;
  cursor: pointer;
  transition: background 0.14s, box-shadow 0.14s;
  font-size: 1.04em;
  color: #FFD23E;
  box-shadow: 0 2px 8px #0002;
  min-height: 95px;
}

.podcast-list li img {
  width: 42px;
  height: 42px;
  border-radius: 7px;
  object-fit: cover;
  background: #222b41;
  margin-top: 2px;
}

.podcast-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

.podcast-title-row {
  font-weight: bold;
  /*color: #FFD23E;*/
  margin-bottom: 1px;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  line-height: 1.23;
  word-break: break-word;
}

.podcast-description {
  color: #ffe98a;
  font-size: 0.98em;
  margin-bottom: 2px;
  line-height: 1.37;
  white-space: normal;
  word-break: break-word;
  max-width: 260px;
  overflow: visible;
}

.podcast-duration {
  color: #22e07c;
  font-size: 0.96em;
  font-weight: 600;
  margin-top: 2px;
}
.podcast-list li:hover {
  background: #FFD23E;
  color: #222b41;
  box-shadow: 0 4px 16px #FFD23E22;
}

.podcast-list li:hover .podcast-description {color: #222b41;}

/*.podcast-list li:first-child {
  
  background: #FFD23E;
  color: #222b41;
  box-shadow: 0 4px 16px #FFD23E22;
}
.podcast-list li:first-child:hover {
  background: #232b3a;
  color: #FFD23E;
}
*/

.podcast-list li img {
  width: 38px;
  height: 38px;
  border-radius: 7px;
  object-fit: cover;
  background: #222b41;
}
/*.podcast-list li span {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}*/


.yt-author-btn {
  display: block;
  margin: 20px auto 20px auto;
  padding: 14px 32px;
  background: linear-gradient(90deg, #FFD23E 0%, #ff386a 100%);
  color: #202a40;
  font-size: 1.18em;
  font-weight: 700;
  border: none;
  border-radius: 18px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 24px #FFD23E30;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  cursor: pointer;
}
.yt-author-btn:hover {
  background: linear-gradient(90deg, #FFD23E 0%, #22e07c 100%);
  color: #222b41;
  box-shadow: 0 8px 32px #FFD23E60;
}
.header-nav {
  display: flex;
  gap: 10px;
  align-items: center;
}
.header-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #232b3a;
  color: #ffe98a;
  border: 1.5px solid #bfae5a;
  border-radius: 13px;
  font-weight: 500;
  font-size: 1.01em;
  padding: 6px 14px;
  text-decoration: none;
  transition: background 0.18s, color 0.18s, border 0.18s, box-shadow 0.18s;
  box-shadow: 0 1px 4px #FFD23E11;
}
.header-btn:hover, .header-btn:focus {
  background: #FFD23E;
  color: #222b41;
  border-color: #FFD23E;
  box-shadow: 0 4px 16px #FFD23E33;
}
.header-nav {
  display: flex;
  gap: 10px;
  align-items: center;
}
#header {
  justify-content: center;
  gap: 18px;
}
#site-logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px;
}
#site-logo {
  height: 48px;
  margin: 0 auto;
  display: block;
}
@media (max-width: 900px) {
  .header-nav { gap: 5px; }
  .header-btn { font-size: 0.95em; padding: 5px 8px; }
  #site-logo { height: 32px; }
  #header { gap: 6px; }
}
@media (max-width: 650px) {
  #header {
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: auto;
    min-height: unset;
  }
  #site-logo-link {
    margin: 0;
    order: 1;
  }
  .header-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    order: 2;
  }
  .header-btn {
    font-size: 0.91em;
    padding: 4px 7px;
    min-width: 90px;
    justify-content: center;
  }
  #site-logo { height: 26px; }
}
