body.is-watch #detailPage.detail-page {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  background: var(--bg-base) !important;
}

/* Final header geometry: protect the wordmark from older layout overrides. */
@media (min-width: 1381px) {
  .topbar,
  body.is-detail .topbar {
    grid-template-columns: minmax(230px, max-content) minmax(430px, 1fr) minmax(340px, 640px) max-content !important;
    column-gap: clamp(24px, 2.2vw, 44px) !important;
  }
  .topbar .logo { min-width: 230px !important; padding-left: 0 !important; }
  .topbar .header-nav { min-width: 0 !important; }
}

.watch-player-page {
  width: min(100%, 1920px);
  margin: 0 auto;
  padding: 22px clamp(14px, 2.2vw, 42px) 56px;
}

.ah-player-sourcebar {
  display: flex;
  width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9));
  align-items: stretch;
  gap: 10px;
  margin: 0 auto 12px;
}

.ah-player-source,
.ah-player-telegram {
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 7px;
  color: #e9eaed;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.ah-player-source {
  flex: 0 0 98px;
  background: #0d0f13;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.ah-player-source:hover { border-color: rgba(255, 255, 255, .24); background: #13161b; color: #fff; }
.ah-player-source.is-active { border-color: rgba(255, 255, 255, .34); background: #171a20; color: #fff; }

.ah-player-telegram {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 0 18px;
  border-color: rgba(73, 168, 210, .42);
  background: linear-gradient(100deg, #176d94, #218db8);
  color: #fff;
  box-shadow: 0 0 0 rgba(49, 181, 238, 0);
  animation: ah-telegram-double-pulse 1s ease-in-out infinite;
}
.ah-player-telegram svg { width: 21px; height: 21px; flex: 0 0 auto; fill: currentColor; }
.ah-player-telegram:hover { border-color: rgba(105, 199, 238, .62); background: linear-gradient(100deg, #1b789f, #2799c3); }

@keyframes ah-telegram-double-pulse {
  0%, 25%, 50%, 75%, 100% { box-shadow: 0 0 0 rgba(49, 181, 238, 0); filter: brightness(1); }
  12.5%, 62.5% { box-shadow: 0 0 18px rgba(49, 181, 238, .42); filter: brightness(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .ah-player-telegram { animation: none; }
}

.ah-player {
  --player-accent: var(--orange, #ff9367);
  --player-accent-soft: var(--orange-2, #ffc4a8);
  position: relative;
  width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9));
  aspect-ratio: 16 / 9;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 14px;
  background: var(--bg-base);
  color: #fff;
  outline: none;
  isolation: isolate;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
  user-select: none;
}

.ah-player__video,
.ah-player__upscale,
.ah-player__embed,
.ah-player__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ah-player__video { z-index: 1; object-fit: contain; background: #000; }
.ah-player__upscale { z-index: 1; display: block; object-fit: contain; background: #000; pointer-events: none; }
.ah-player__upscale[hidden] { display: none; }
.ah-player.is-upscaled .ah-player__video { opacity: 0; }
.ah-player__embed { z-index: 1; border: 0; background: #000; }
.ah-player__embed[hidden] { display: none; }
.ah-player__backdrop { z-index: 2; background: #090b0e center / cover no-repeat; transition: opacity .25s ease; }
.ah-player.has-video .ah-player__backdrop { opacity: 0; pointer-events: none; }
.ah-player.is-movie [data-player-select="season"],
.ah-player.is-movie [data-player-select="episode"],
.watch-player-page.is-movie .ah-episode-rail-wrap { display: none; }
.ah-player.is-kodik [data-player-select="season"],
.ah-player.is-kodik [data-player-select="episode"] { display: none; }

.ah-player button { font: inherit; color: inherit; }

.ah-player__upscale-notice {
  position: absolute;
  z-index: 18;
  left: 50%;
  bottom: 84px;
  max-width: min(460px, calc(100% - 36px));
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px;
  background: rgba(12, 13, 16, .9);
  box-shadow: 0 12px 35px rgba(0, 0, 0, .35);
  color: rgba(255, 255, 255, .84);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  transform: translateX(-50%);
}
.ah-player__upscale-notice[hidden] { display: none; }

.ah-player__shade { position: absolute; left: 0; right: 0; z-index: 3; pointer-events: none; transition: opacity .22s ease; }
.ah-player__shade--top { top: 0; height: 108px; background: linear-gradient(rgba(3, 4, 5, .86), rgba(3, 4, 5, .36) 58%, transparent); }
.ah-player__shade--bottom { bottom: 0; height: 160px; background: linear-gradient(transparent, rgba(3, 4, 5, .52) 35%, rgba(3, 4, 5, .96)); }

.ah-player__top {
  position: absolute;
  inset: 0 0 auto;
  z-index: 8;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding: 15px 18px;
  transition: opacity .22s ease;
}

.ah-player__title { margin: 8px 2px 0 auto; max-width: 34%; overflow: hidden; color: rgba(255, 255, 255, .62); font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.ah-player-select { position: relative; }
.ah-player-select > button {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  max-width: 220px;
  padding: 6px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}
.ah-player-select > button:hover,
.ah-player-select.is-open > button { background: rgba(255, 255, 255, .08); }
.ah-player-select.is-open > button { color: var(--player-accent); }
.ah-player-select small { color: rgba(255, 255, 255, .45); font-size: 10px; font-weight: 800; letter-spacing: .45px; text-transform: uppercase; }
.ah-player-select span { overflow: hidden; font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ah-player-select b { color: rgba(255, 255, 255, .44); font-size: 13px; transition: transform .15s ease; }
.ah-player-select.is-open b { transform: rotate(180deg); }

.ah-player-select__menu,
.ah-player-quality__menu,
.ah-player-settings__menu {
  position: absolute;
  z-index: 20;
  min-width: 190px;
  max-height: min(330px, 55vh);
  padding: 6px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 11px;
  background: rgba(12, 13, 16, .97);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .58);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-5px);
  transition: opacity .14s ease, transform .14s ease;
  scrollbar-color: rgba(255, 255, 255, .22) transparent;
  scrollbar-width: thin;
}
.ah-player-select__menu { top: calc(100% + 5px); left: 0; }
.ah-player-select.is-open .ah-player-select__menu,
.ah-player-quality.is-open .ah-player-quality__menu,
.ah-player-settings.is-open .ah-player-settings__menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ah-player-select__menu button,
.ah-player-quality__menu button,
.ah-player-settings__menu button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 11px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  text-align: left;
  font-size: 13px;
  font-weight: 700;
}
.ah-player-quality__menu button:disabled { opacity: .35; cursor: not-allowed; }
.ah-player-quality__up-arrow { margin-left: auto; color: var(--player-accent); font-size: 16px; line-height: 1; }
.ah-player-select__menu button:hover,
.ah-player-quality__menu button:hover,
.ah-player-settings__menu button:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.ah-player-select__menu button.is-active,
.ah-player-quality__menu button.is-active,
.ah-player-settings__menu button.is-active { color: var(--player-accent); }
.ah-player-select__menu button > span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ah-player-voice-badge {
  flex: 0 0 auto;
  padding: 2px 5px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 5px;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .25px;
}

.ah-player__center {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 7;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  padding: 0 0 0 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  color: #fff;
  transform: translate(-50%, -50%);
  transition: opacity .18s ease, transform .16s ease;
}
.ah-player__center svg { width: 34px; height: 38px; overflow: visible; fill: currentColor; filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .55)); }
.ah-player__center:hover { background: transparent; color: #fff; transform: translate(-50%, -50%) scale(1.08); }
.ah-player__center[hidden] { display: none; }
.ah-player:has(.ah-player__loading:not([hidden])) .ah-player__center,
.ah-player:has(.ah-player__error:not([hidden])) .ah-player__center { display: none; }
.ah-player.is-playing .ah-player__center { opacity: 0; pointer-events: none; }

.ah-player__seek-flash { position: absolute; top: 50%; z-index: 8; display: grid; width: 92px; height: 92px; place-items: center; border-radius: 50%; background: rgba(8, 9, 11, .58); color: #fff; font-size: 14px; font-weight: 900; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.72); }
.ah-player__seek-flash.is-left { left: 27%; }
.ah-player__seek-flash.is-right { left: 73%; }
.ah-player__seek-flash.is-visible { animation: ah-player-seek-flash .52s ease-out; }
@keyframes ah-player-seek-flash { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.7); } 28% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.12); } }

.ah-player__loading,
.ah-player__error { position: absolute; inset: 0; z-index: 6; display: grid; place-content: center; justify-items: center; gap: 13px; background: rgba(4, 5, 7, .78); text-align: center; }
.ah-player__loading[hidden], .ah-player__error[hidden] { display: none; }
.ah-player__loading span { width: 34px; height: 34px; border: 3px solid rgba(255, 255, 255, .13); border-top-color: var(--player-accent); border-radius: 50%; animation: ah-player-spin .72s linear infinite; }
.ah-player__loading p { color: rgba(255, 255, 255, .58); font-size: 13px; font-weight: 700; }
.ah-player__error strong { font-size: 18px; }
.ah-player__error span { max-width: 520px; color: rgba(255, 255, 255, .55); }
.ah-player__error button { padding: 10px 16px; border: 0; border-radius: 8px; background: #fff; color: #090a0c; cursor: pointer; font-weight: 800; }
@keyframes ah-player-spin { to { transform: rotate(360deg); } }

.ah-player__skip { position: absolute; right: 20px; bottom: 94px; z-index: 8; padding: 9px 14px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 8px; background: rgba(8, 9, 11, .82); cursor: pointer; font-size: 12px; font-weight: 800; opacity: 0; pointer-events: none; transition: opacity .2s ease, background .14s ease, color .14s ease; }
.ah-player__skip[hidden] { display: none; }
.ah-player.is-playing .ah-player__skip { opacity: 1; pointer-events: auto; }
.ah-player__skip:hover { background: #fff; color: #08090b; }

.ah-player__controls { position: absolute; inset: auto 0 0; z-index: 9; padding: 42px 22px 14px; transition: opacity .22s ease; }
.ah-player__seek { position: relative; display: flex; height: 26px; align-items: center; margin-bottom: 4px; cursor: pointer; touch-action: none; }
.ah-player__seek-track { position: relative; width: 100%; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .25); transition: height .12s ease; }
.ah-player__seek:hover .ah-player__seek-track { height: 6px; }
.ah-player__seek-track i,
.ah-player__seek-track b { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; }
.ah-player__seek-track i { background: rgba(255, 255, 255, .22); }
.ah-player__seek-track b { background: linear-gradient(90deg, var(--player-accent), var(--player-accent-soft)); }
.ah-player__seek-track span { position: absolute; top: 50%; left: 0; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: none; transform: translate(-50%, -50%) scale(.75); transition: transform .12s ease; }
.ah-player__seek:hover .ah-player__seek-track span { transform: translate(-50%, -50%) scale(1); }
.ah-player__seek em { position: absolute; bottom: calc(100% + 3px); left: 0; padding: 5px 8px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 6px; background: #0b0c0f; font-size: 11px; font-style: normal; font-weight: 800; opacity: 0; pointer-events: none; transform: translateX(-50%); }
.ah-player__seek:hover em { opacity: 1; }
.ah-player__row { display: flex; align-items: center; gap: 12px; }
.ah-player__icon,
.ah-player-quality > button { display: grid; min-width: 38px; height: 38px; place-items: center; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-weight: 800; transition: color .14s ease, background .14s ease; }
.ah-player__icon:hover,
.ah-player-quality > button:hover { background: rgba(255, 255, 255, .08); color: var(--player-accent); }
.ah-player__icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.ah-player__time { display: flex; gap: 6px; color: #fff; font-size: 13px; font-variant-numeric: tabular-nums; }
.ah-player__time i { color: rgba(255, 255, 255, .42); font-style: normal; }
.ah-player__spacer { flex: 1; }
.ah-player__volume { width: 78px; accent-color: var(--player-accent); cursor: pointer; }
.ah-player-quality { position: relative; }
.ah-player-quality__menu { right: 0; bottom: calc(100% + 7px); min-width: 150px; transform: translateY(5px); }
.ah-player-settings { position: relative; }
.ah-player-settings__menu { right: 0; bottom: calc(100% + 7px); min-width: 142px; transform: translateY(5px); }
.ah-player-settings__menu > strong { display: block; padding: 7px 11px 5px; color: rgba(255, 255, 255, .42); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.ah-player-settings__menu button::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: transparent; }
.ah-player-settings__menu button.is-active::after { background: var(--player-accent); }

.ah-player.is-playing.is-idle .ah-player__top,
.ah-player.is-playing.is-idle .ah-player__controls,
.ah-player.is-playing.is-idle .ah-player__shade,
.ah-player.is-playing.is-idle .ah-player__skip { opacity: 0; pointer-events: none; }

.ah-player.is-embed .ah-player__video,
.ah-player.is-embed .ah-player__backdrop,
.ah-player.is-embed .ah-player__center,
.ah-player.is-embed .ah-player__skip,
.ah-player.is-embed .ah-player__controls,
.ah-player.is-embed .ah-player__top,
.ah-player.is-embed .ah-player__shade--top,
.ah-player.is-embed .ah-player__shade--bottom {
  display: none !important;
}

.ah-episode-rail-wrap { display: grid; width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9)); grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 10px; align-items: center; margin: 16px auto 0; }
.ah-episode-rail { display: flex; gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-behavior: smooth; }
.ah-episode-rail::-webkit-scrollbar { display: none; }
.ah-episode-card,
.ah-episode-arrow { flex: 0 0 auto; min-height: 50px; border: 1px solid rgba(255, 255, 255, .075); border-radius: 9px; background: #131419; color: rgba(255, 255, 255, .68); cursor: pointer; font-weight: 800; transition: background .14s ease, border-color .14s ease, color .14s ease; }
.ah-episode-card { min-width: 116px; padding: 0 18px; }
.ah-episode-arrow { width: 42px; font-size: 25px; }
.ah-episode-card:hover,
.ah-episode-arrow:hover { background: #1a1b20; color: #fff; }
.ah-episode-card.is-active { border-color: var(--orange, #ff9367); background: rgba(255, 147, 103, .1); color: #fff; }

.episode-comments {
  width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9));
  margin: 56px auto 0;
  color: #f5f5f6;
}
.episode-comments > header { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.09); }
.episode-comments > header h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); letter-spacing: -.04em; }
.episode-comments > header span { min-width: 28px; padding: 5px 8px; border-radius: 999px; background: #202127; color: #a7a9b0; text-align: center; font-size: 12px; font-weight: 850; }
.episode-comment-form { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; margin-top: 22px; }
.episode-comment-form > img,
.episode-comment__avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; background: #24262c; }
.episode-comment-form textarea,
.episode-reply-form textarea { width: 100%; resize: vertical; padding: 14px 16px; border: 1px solid #30323a; border-radius: 12px; outline: 0; background: #15161a; color: #f6f6f7; font: inherit; line-height: 1.5; }
.episode-comment-form textarea:focus,
.episode-reply-form textarea:focus { border-color: rgba(255,145,102,.65); box-shadow: 0 0 0 3px rgba(255,145,102,.08); }
.episode-comment-form.is-replying textarea { border-color: rgba(255,145,102,.72); box-shadow: 0 0 0 3px rgba(255,145,102,.08); }
.episode-comment-form.is-replying footer span { color: #ffab87; }
.episode-comment-form footer,
.episode-reply-form > div { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-top: 9px; }
.episode-comment-form footer span { margin-right: auto; color: #777a83; font-size: 12px; }
.episode-comment-form footer button,
.episode-reply-form button,
.episode-comments-more { min-height: 38px; padding: 0 15px; border: 1px solid var(--border-default); border-radius: 9px; background: #1c1e23; color: #dddfe4; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.episode-comment-form footer button { border-color: transparent; background: #ff9367; color: #17100d; }
.episode-comment-form button:hover,
.episode-reply-form button:hover,
.episode-comments-more:hover { border-color: rgba(255,145,102,.62); color: var(--accent-hover); }
.episode-comment-form footer button:hover { color: #17100d; background: #ffad88; }
.episode-comment-form button:disabled,
.episode-comments-more:disabled { opacity: .55; cursor: wait; }
.episode-comments-list { margin-top: 28px; }
.episode-comments-empty { margin: 0; padding: 28px 0; color: #7f828a; }
.episode-comment { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.075); }
.episode-comment__content { min-width: 0; }
.episode-comment__content > header { display: flex; align-items: center; gap: 10px; }
.episode-comment__content > header button { padding: 0; border: 0; background: none; color: #f0f1f3; font: inherit; font-size: 13px; font-weight: 900; cursor: pointer; }
.episode-comment__content > header button:hover { color: #ffad88; }
.episode-comment__content > header time { color: #73767f; font-size: 11px; }
.episode-comment__content > p { margin: 11px 0 0; color: #d2d4d9; font-size: 14px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.episode-comment__actions { display: flex; align-items: center; gap: 5px; margin-top: 12px; }
.episode-comment__actions button { min-width: 30px; min-height: 28px; padding: 0 7px; border: 0; border-radius: 7px; background: transparent; color: #858890; font: inherit; font-size: 13px; font-weight: 850; cursor: pointer; }
.episode-comment__actions button:hover { background: rgba(255,255,255,.055); color: #f1f1f2; }
.episode-comment__actions button.is-active { background: rgba(255,145,102,.12); color: #ff9e76; }
.episode-comment__actions [data-comment-vote="up"]:hover,
.episode-comment__actions [data-comment-vote="up"].is-active { background: rgba(75, 201, 111, .13); color: #65dc88; }
.episode-comment__actions [data-comment-vote="down"]:hover,
.episode-comment__actions [data-comment-vote="down"].is-active { background: rgba(241, 88, 88, .13); color: #ff7373; }
.episode-comment__actions [data-comment-score] { min-width: 24px; color: #b3b5bc; text-align: center; font-size: 12px; font-weight: 850; }
.episode-comment__actions .episode-comment__reply { margin-left: 9px; }
.episode-comment__actions .episode-comment__delete { margin-left: auto; color: #e45f5f; }
.episode-comment__actions .episode-comment__delete:hover { background: rgba(241, 88, 88, .12); color: #ff7b7b; }
.episode-comment-replies { margin-top: 16px; padding-left: 18px; border-left: 1px solid rgba(255,145,102,.28); }
.episode-comment.is-reply { grid-template-columns: 34px minmax(0,1fr); padding: 16px 0; border-bottom: 0; }
.episode-comment.is-reply .episode-comment__avatar { width: 34px; height: 34px; }
.episode-reply-form { margin-top: 14px; }
.episode-comments-more { display: block; min-width: 150px; margin: 24px auto 0; }
.episode-comments-more[hidden] { display: none; }

/* Compact message bar: attachment mark, avatar and one-line editor. */
.episode-comment-form {
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: min(100%, 1120px);
  min-height: 68px;
  margin: 22px auto 0;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 12px;
  background: #08090b;
  transition: border-color .16s ease, background .16s ease;
}
.episode-comment-form:focus-within,
.episode-comment-form.is-replying { border-color: rgba(255, 255, 255, .28); background: #0b0c0f; }
.episode-comment-form > img { width: 42px; height: 42px; }
.episode-comment-form__editor { position: relative; min-width: 0; background: transparent !important; }
.episode-comment-form .episode-comment-form__editor textarea {
  display: block;
  width: 100%;
  height: 48px;
  min-height: 48px;
  max-height: 96px;
  padding: 12px 50px 12px 0;
  overflow-y: auto;
  resize: none;
  appearance: none;
  border: 0 !important;
  border-radius: 0;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}
.episode-comment-form .episode-comment-form__editor textarea:focus { border: 0; box-shadow: none; }
.episode-comment-form .episode-comment-form__editor textarea::placeholder { color: #8b8e94; opacity: 1; }
.episode-comment-form .episode-comment-form__editor footer { position: absolute; inset: 0 0 0 auto; display: flex; align-items: center; margin: 0; }
.episode-comment-form .episode-comment-form__editor footer span {
  position: absolute;
  top: calc(100% + 16px);
  right: 0;
  width: max-content;
  max-width: min(520px, 72vw);
  overflow: hidden;
  color: #a3a5aa;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.episode-comment-form .episode-comment-form__editor footer button {
  position: relative;
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  overflow: hidden;
  border-radius: 50%;
  opacity: 0;
  color: transparent;
  border-color: rgba(255, 255, 255, .18);
  background: #f2f2f2;
  transform: translateX(6px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, background .15s ease;
}
.episode-comment-form .episode-comment-form__editor footer button:hover { border-color: #fff; background: #fff; }
.episode-comment-form.is-replying .episode-comment-form__editor footer span { color: #d5d6d9; }
.episode-comment-form .episode-comment-form__editor footer button::after {
  content: "↑";
  display: grid;
  position: absolute;
  inset: 0;
  place-items: center;
  color: #17100d;
  font-size: 18px;
  line-height: 1;
}
.episode-comment-form:focus-within .episode-comment-form__editor footer button,
.episode-comment-form.is-replying .episode-comment-form__editor footer button { opacity: 1; transform: translateX(0); pointer-events: auto; }

@media (max-width: 900px) {
  .watch-player-page { padding: 18px 12px 42px; }
  .ah-player { width: min(100%, calc((100svh - 120px) * 16 / 9)); border-radius: 10px; }
  .ah-episode-rail-wrap { width: min(100%, calc((100svh - 120px) * 16 / 9)); }
  .episode-comments { width: min(100%, calc((100svh - 120px) * 16 / 9)); }
  .ah-player__top { gap: 0; padding: 9px; }
  .ah-player-select small, .ah-player__title { display: none; }
  .ah-player-select > button { max-width: 150px; min-height: 38px; padding: 5px 8px; }
  .ah-player__controls { padding: 32px 12px 8px; }
  .ah-player__volume { display: none; }
  .ah-player__center { width: 62px; height: 62px; }
  .episode-comment-form { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; min-height: 70px; padding: 9px 11px; }
  .episode-comment-form > img { width: 42px; height: 42px; }
  .episode-comment-form .episode-comment-form__editor textarea { height: 50px; min-height: 50px; padding-right: 52px; font-size: 15px; }
  .episode-comment-form .episode-comment-form__editor footer button { position: relative; width: 42px; min-width: 42px; padding: 0; overflow: hidden; color: transparent; }
  .episode-comment-form .episode-comment-form__editor footer button::after { content: "↑"; display: grid; position: absolute; inset: 0; place-items: center; color: #17100d; font-size: 18px; }
}

@media (max-width: 620px) {
  .ah-player-sourcebar { gap: 6px; margin-bottom: 8px; }
  .ah-player-source { flex-basis: 76px; }
  .ah-player-source, .ah-player-telegram { min-height: 38px; font-size: 11px; }
  .ah-player-telegram { gap: 6px; padding-inline: 10px; }
  .ah-player-telegram svg { width: 18px; height: 18px; }
  .ah-player__top { overflow-x: auto; }
  .ah-player-select > button { max-width: 118px; }
  .ah-player-select span { font-size: 11px; }
  .ah-player__row { gap: 4px; }
  .ah-player__icon, .ah-player-quality > button { min-width: 32px; height: 32px; padding-inline: 6px; }
  .ah-player__icon svg { width: 19px; height: 19px; }
  #ahPlayerPip { display: none; }
  .ah-player__skip { right: 10px; bottom: 70px; }
  .ah-episode-rail-wrap { grid-template-columns: minmax(0, 1fr); }
  .ah-episode-arrow { display: none; }
  .episode-comments { margin-top: 38px; }
  .episode-comment-form { grid-template-columns: 34px minmax(0,1fr); gap: 8px; }
  .episode-comment-form > img { width: 34px; height: 34px; }
  .episode-comment { grid-template-columns: 50px minmax(0,1fr); column-gap: 14px; }
  .episode-comment__avatar { width: 36px; height: 36px; }
  .episode-comment.is-reply { grid-template-columns: 40px minmax(0,1fr); column-gap: 12px; }
  .episode-comment__content > header time { display: none; }
  .episode-comment-replies { padding-left: 10px; }
}



/* ============================================================
   AnimeHub Player — Figma handoff pass (2026-09-15)
   Keeps the existing HLS/Anime4K logic and rebuilds the visual UI.
   ============================================================ */

body.is-watch .watch-player-page {
  --figma-panel: #090909;
  --figma-panel-2: #101010;
  --figma-border: rgba(255,255,255,.075);
  --figma-muted: rgba(255,255,255,.46);
  --figma-text: rgba(255,255,255,.88);
}

body.is-watch .ah-player {
  width: min(100%, 1120px, calc((100svh - 150px) * 16 / 9));
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 3px;
  background: #000;
  box-shadow: none;
}

body.is-watch .ah-player-sourcebar {
  width: min(100%, 1120px, calc((100svh - 150px) * 16 / 9));
  gap: 5px;
  margin-bottom: 7px;
}

body.is-watch .ah-player-source {
  flex-basis: 72px;
  min-height: 29px;
  border-color: rgba(255,255,255,.07);
  border-radius: 3px;
  background: #0a0a0a;
  font-size: 10px;
  font-weight: 700;
}

body.is-watch .ah-player-telegram {
  min-height: 29px;
  border-color: rgba(255,255,255,.07);
  border-radius: 3px;
  background: #0a0a0a;
  box-shadow: none;
  animation: none;
  color: rgba(255,255,255,.64);
  font-size: 10px;
  font-weight: 650;
}
body.is-watch .ah-player-telegram:hover {
  border-color: rgba(255,255,255,.14);
  background: #111;
  color: #fff;
}
body.is-watch .ah-player-telegram svg { width: 14px; height: 14px; }

body.is-watch .ah-player__shade--top {
  height: 82px;
  background: linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.16) 62%, transparent);
}
body.is-watch .ah-player__shade--bottom {
  height: 112px;
  background: linear-gradient(transparent, rgba(0,0,0,.46) 42%, rgba(0,0,0,.92));
}

body.is-watch .ah-player__top {
  gap: 2px;
  padding: 9px 12px;
}
body.is-watch .ah-player-select > button {
  min-height: 27px;
  max-width: 170px;
  gap: 5px;
  padding: 3px 7px;
  border-radius: 3px;
}
body.is-watch .ah-player-select > button:hover,
body.is-watch .ah-player-select.is-open > button {
  background: rgba(255,255,255,.055);
}
body.is-watch .ah-player-select small {
  font-size: 7px;
  font-weight: 650;
  letter-spacing: .18px;
}
body.is-watch .ah-player-select span {
  font-size: 9px;
  font-weight: 650;
}
body.is-watch .ah-player-select b {
  font-size: 9px;
  font-weight: 500;
}
body.is-watch .ah-player__title {
  margin-top: 6px;
  font-size: 9px;
  font-weight: 550;
}

/* Figma-like tiny, square menus */
body.is-watch .ah-player-select__menu,
body.is-watch .ah-player-quality__menu,
body.is-watch .ah-player-settings__menu,
body.is-watch .ah-player-speed__menu,
body.is-watch .ah-player-subtitles__menu {
  min-width: 142px;
  max-height: min(310px, 55vh);
  padding: 4px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 4px;
  background: rgba(7,7,7,.985);
  box-shadow: 0 14px 36px rgba(0,0,0,.5);
}

body.is-watch .ah-player-select__menu button,
body.is-watch .ah-player-quality__menu button,
body.is-watch .ah-player-settings__menu button,
body.is-watch .ah-player-speed__menu button,
body.is-watch .ah-player-subtitles__menu button {
  min-height: 26px;
  gap: 10px;
  padding: 5px 7px;
  border-radius: 2px;
  color: rgba(255,255,255,.66);
  font-size: 9px;
  font-weight: 600;
}
body.is-watch .ah-player-select__menu button:hover,
body.is-watch .ah-player-quality__menu button:hover,
body.is-watch .ah-player-settings__menu button:hover,
body.is-watch .ah-player-speed__menu button:hover,
body.is-watch .ah-player-subtitles__menu button:hover {
  background: rgba(255,255,255,.055);
  color: #fff;
}
body.is-watch .ah-player-select__menu button.is-active,
body.is-watch .ah-player-quality__menu button.is-active,
body.is-watch .ah-player-settings__menu button.is-active,
body.is-watch .ah-player-speed__menu button.is-active,
body.is-watch .ah-player-subtitles__menu button.is-active {
  background: rgba(255,255,255,.065);
  color: #fff;
}
body.is-watch .ah-player-settings__menu > strong,
body.is-watch .ah-player-speed__menu > strong,
body.is-watch .ah-player-subtitles__menu > strong {
  display: block;
  padding: 5px 7px 4px;
  color: rgba(255,255,255,.38);
  font-size: 7px;
  font-weight: 650;
  letter-spacing: .04em;
  text-transform: none;
}
body.is-watch .ah-player-menu-value {
  margin-left: auto;
  color: rgba(255,255,255,.38);
  font-size: 8px;
  font-style: normal;
  font-weight: 550;
}
body.is-watch .ah-player-settings__menu button.is-active .ah-player-menu-value {
  color: rgba(255,255,255,.78);
}

/* Bottom chrome */
body.is-watch .ah-player__controls {
  padding: 24px 11px 6px;
}
body.is-watch .ah-player__seek {
  height: 13px;
  margin-bottom: 0;
}
body.is-watch .ah-player__seek-track {
  height: 2px;
  border-radius: 0;
  background: rgba(255,255,255,.34);
}
body.is-watch .ah-player__seek:hover .ah-player__seek-track { height: 3px; }
body.is-watch .ah-player__seek-track i { background: rgba(255,255,255,.18); }
body.is-watch .ah-player__seek-track b { background: #f1f1f1; }
body.is-watch .ah-player__seek-track span {
  width: 7px;
  height: 7px;
  background: #fff;
  transform: translate(-50%, -50%) scale(.72);
}
body.is-watch .ah-player__seek:hover .ah-player__seek-track span {
  transform: translate(-50%, -50%) scale(1);
}
body.is-watch .ah-player__seek em {
  padding: 3px 5px;
  border-radius: 2px;
  background: #070707;
  font-size: 8px;
  font-weight: 600;
}
body.is-watch .ah-player__row {
  min-height: 27px;
  gap: 5px;
}
body.is-watch .ah-player__icon,
body.is-watch .ah-player-quality > button,
body.is-watch .ah-player-speed > button {
  min-width: 26px;
  height: 26px;
  padding: 0 5px;
  border-radius: 3px;
  color: rgba(255,255,255,.82);
  font-size: 9px;
  font-weight: 650;
}
body.is-watch .ah-player__icon:hover,
body.is-watch .ah-player-quality > button:hover,
body.is-watch .ah-player-speed > button:hover,
body.is-watch .ah-player-quality.is-open > button,
body.is-watch .ah-player-speed.is-open > button,
body.is-watch .ah-player-subtitles.is-open > button,
body.is-watch .ah-player-settings.is-open > button {
  background: rgba(255,255,255,.055);
  color: #fff;
}
body.is-watch .ah-player__icon svg {
  width: 15px;
  height: 15px;
  stroke-width: 1.65;
}
body.is-watch .ah-player__cc {
  min-width: 25px;
  font-size: 8px;
  letter-spacing: -.02em;
}
body.is-watch .ah-player__time {
  gap: 4px;
  font-size: 8px;
  font-weight: 500;
}
body.is-watch .ah-player__volume {
  width: 54px;
  height: 3px;
  accent-color: #fff;
}
body.is-watch .ah-player-quality,
body.is-watch .ah-player-settings,
body.is-watch .ah-player-speed,
body.is-watch .ah-player-subtitles {
  position: relative;
}
body.is-watch .ah-player-quality__menu,
body.is-watch .ah-player-settings__menu,
body.is-watch .ah-player-speed__menu,
body.is-watch .ah-player-subtitles__menu {
  right: 0;
  bottom: calc(100% + 5px);
  transform: translateY(4px);
}
body.is-watch .ah-player-quality.is-open .ah-player-quality__menu,
body.is-watch .ah-player-settings.is-open .ah-player-settings__menu,
body.is-watch .ah-player-speed.is-open .ah-player-speed__menu,
body.is-watch .ah-player-subtitles.is-open .ah-player-subtitles__menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
body.is-watch .ah-player-speed__menu,
body.is-watch .ah-player-subtitles__menu {
  position: absolute;
  z-index: 20;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease, transform .12s ease;
}
body.is-watch .ah-player-speed > button {
  border: 0;
  background: transparent;
  cursor: pointer;
}
body.is-watch .ah-player-subtitles.is-unavailable > button,
body.is-watch .ah-player-subtitles__menu button:only-of-type {
  color: rgba(255,255,255,.42);
}
body.is-watch .ah-player__download {
  width: 26px;
  min-width: 26px;
  height: 26px;
  padding: 5px;
  border-radius: 3px;
}
body.is-watch .ah-player__download img { width: 14px; height: 14px; }

/* The original figma player is basically square and very clean. */
body.is-watch .ah-player__center {
  width: 46px;
  height: 46px;
}
body.is-watch .ah-player__center svg {
  width: 25px;
  height: 29px;
}
body.is-watch .ah-player__skip {
  right: 12px;
  bottom: 58px;
  padding: 6px 9px;
  border-radius: 3px;
  background: rgba(7,7,7,.88);
  font-size: 9px;
  font-weight: 650;
}

/* Voice menu follows the Figma "Озвучки" sample. */
body.is-watch .ah-player-select[data-player-select="translation"] .ah-player-select__menu {
  min-width: 170px;
}
body.is-watch .ah-player-voice-badge {
  padding: 1px 3px;
  border-radius: 2px;
  font-size: 7px;
  font-weight: 700;
}

/* Episode rail visually recedes so the player remains the focus. */
body.is-watch .ah-episode-rail-wrap {
  width: min(100%, 1120px, calc((100svh - 150px) * 16 / 9));
  margin-top: 13px;
}

@media (max-width: 900px) {
  body.is-watch .ah-player,
  body.is-watch .ah-player-sourcebar,
  body.is-watch .ah-episode-rail-wrap,
  body.is-watch .episode-comments {
    width: min(100%, calc((100svh - 120px) * 16 / 9));
  }
}

@media (max-width: 620px) {
  body.is-watch .ah-player {
    border-radius: 2px;
  }
  body.is-watch .ah-player__controls {
    padding: 22px 7px 4px;
  }
  body.is-watch .ah-player__row { gap: 2px; }
  body.is-watch .ah-player__icon,
  body.is-watch .ah-player-quality > button,
  body.is-watch .ah-player-speed > button {
    min-width: 24px;
    height: 24px;
    padding-inline: 4px;
  }
  body.is-watch .ah-player__time { font-size: 7px; }
  body.is-watch .ah-player__top { padding: 6px; }
  body.is-watch .ah-player-select > button { min-height: 24px; }
  body.is-watch .ah-player-select span { font-size: 8px; }
  body.is-watch #ahPlayerPip { display: none; }
  body.is-watch .ah-player__volume { display: none; }
  body.is-watch .ah-player-settings__menu,
  body.is-watch .ah-player-speed__menu,
  body.is-watch .ah-player-subtitles__menu,
  body.is-watch .ah-player-quality__menu {
    min-width: 126px;
  }
}



/* ============================================================
   AnimeHub Player — Figma v2
   Reference: designer frame + settings states.
   ============================================================ */

body.is-watch .ah-player {
  --fg-ui: #f3f3f3;
  --fg-muted: rgba(255,255,255,.52);
  --fg-dim: rgba(255,255,255,.34);
  --menu-bg: #0c0c0c;
  --menu-row: #171717;
  width: min(100%, 1120px) !important;
  aspect-ratio: 16 / 9 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #000 !important;
  box-shadow: none !important;
}

body.is-watch .ah-player__backdrop {
  opacity: .35 !important;
  filter: blur(18px) brightness(.5) !important;
  transform: scale(1.04) !important;
}

body.is-watch .ah-player__shade--top {
  height: 72px !important;
  background: linear-gradient(rgba(0,0,0,.62), rgba(0,0,0,.08) 72%, transparent) !important;
}

body.is-watch .ah-player__shade--bottom {
  height: 74px !important;
  background: linear-gradient(transparent, rgba(0,0,0,.18) 28%, rgba(0,0,0,.82)) !important;
}

/* Top controls */
body.is-watch .ah-player__top {
  inset: 0 0 auto 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 11px 13px !important;
}

body.is-watch .ah-player-select {
  position: relative !important;
}

body.is-watch .ah-player-select > button {
  min-height: 22px !important;
  max-width: 156px !important;
  gap: 5px !important;
  padding: 2px 5px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: rgba(255,255,255,.75) !important;
  box-shadow: none !important;
}

body.is-watch .ah-player-select > button:hover,
body.is-watch .ah-player-select.is-open > button {
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
}

body.is-watch .ah-player-select small {
  display: none !important;
}

body.is-watch .ah-player-select span {
  overflow: hidden !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.is-watch .ah-player-select b {
  color: rgba(255,255,255,.55) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
}

body.is-watch .ah-player__title {
  margin: 4px 0 0 auto !important;
  color: rgba(255,255,255,.52) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: right !important;
}

/* Dropdowns, including voice list */
body.is-watch .ah-player-select__menu {
  top: calc(100% + 4px) !important;
  bottom: auto !important;
  min-width: 150px !important;
  max-height: 300px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--menu-bg) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.48) !important;
  transform: translateY(-2px) !important;
}

body.is-watch .ah-player-select.is-open .ah-player-select__menu {
  transform: translateY(0) !important;
}

body.is-watch .ah-player-select__menu button {
  position: relative !important;
  min-height: 26px !important;
  padding: 5px 7px 5px 20px !important;
  border-radius: 2px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
}

body.is-watch .ah-player-select__menu button::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  width: 2px !important;
  height: 2px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.56) !important;
  transform: translateY(-50%) !important;
}

body.is-watch .ah-player-select__menu button.is-active {
  background: var(--menu-row) !important;
  color: #fff !important;
}

body.is-watch .ah-player-select__menu button.is-active::before {
  width: 7px !important;
  height: 7px !important;
  background: #fff !important;
}

body.is-watch .ah-player-select__menu button:hover {
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
}

body.is-watch .ah-player-voice-badge {
  margin-left: 4px !important;
  padding: 1px 3px !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 2px !important;
  color: rgba(255,255,255,.84) !important;
  background: transparent !important;
  font-size: 6px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* No giant centered play button in the designer layout */
body.is-watch .ah-player__center {
  display: none !important;
}

/* Bottom control bar: everything sits on one line, exactly like the frame */
body.is-watch .ah-player__controls {
  inset: auto 0 0 !important;
  padding: 8px 11px 7px !important;
}

body.is-watch .ah-player__row {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 22px !important;
}

body.is-watch .ah-player__play,
body.is-watch .ah-player__mute,
body.is-watch .ah-player__download,
body.is-watch #ahPlayerSettingsButton,
body.is-watch #ahPlayerPip,
body.is-watch #ahPlayerFullscreen {
  flex: 0 0 auto !important;
  display: grid !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: rgba(255,255,255,.86) !important;
  box-shadow: none !important;
}

body.is-watch .ah-player__play:hover,
body.is-watch .ah-player__mute:hover,
body.is-watch .ah-player__download:hover,
body.is-watch #ahPlayerSettingsButton:hover,
body.is-watch #ahPlayerPip:hover,
body.is-watch #ahPlayerFullscreen:hover,
body.is-watch .ah-player-settings.is-open #ahPlayerSettingsButton {
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
}

body.is-watch .ah-player__icon svg,
body.is-watch .ah-player__download svg {
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.is-watch .ah-player__play svg {
  width: 13px !important;
  height: 13px !important;
  stroke: none !important;
  fill: currentColor !important;
}

body.is-watch .ah-player__play .is-pause {
  display: none !important;
}
body.is-watch .ah-player.is-playing .ah-player__play .is-play {
  display: none !important;
}
body.is-watch .ah-player.is-playing .ah-player__play .is-pause {
  display: block !important;
}

body.is-watch .ah-player__mute .is-muted {
  display: none !important;
}
body.is-watch .ah-player__mute.is-muted .is-sound {
  display: none !important;
}
body.is-watch .ah-player__mute.is-muted .is-muted {
  display: block !important;
}

body.is-watch .ah-player__seek {
  position: relative !important;
  flex: 1 1 auto !important;
  min-width: 40px !important;
  height: 12px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

body.is-watch .ah-player__seek-track {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.38) !important;
  transform: translateY(-50%) !important;
}

body.is-watch .ah-player__seek:hover .ah-player__seek-track {
  height: 2px !important;
}

body.is-watch .ah-player__seek-track i {
  height: 100% !important;
  background: rgba(255,255,255,.18) !important;
}
body.is-watch .ah-player__seek-track b {
  height: 100% !important;
  background: #fff !important;
}
body.is-watch .ah-player__seek-track span {
  width: 6px !important;
  height: 6px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: translate(-50%,-50%) !important;
}

body.is-watch .ah-player__seek em {
  bottom: 18px !important;
  padding: 2px 4px !important;
  border-radius: 2px !important;
  background: #090909 !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 7px !important;
  font-weight: 500 !important;
}

body.is-watch .ah-player__time {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: rgba(255,255,255,.66) !important;
  font-size: 7px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body.is-watch .ah-player__time b,
body.is-watch .ah-player__time span {
  color: inherit !important;
  font: inherit !important;
}
body.is-watch .ah-player__time i {
  color: rgba(255,255,255,.36) !important;
  font-style: normal !important;
}

body.is-watch .ah-player__volume,
body.is-watch .ah-player-quality[hidden] {
  display: none !important;
}

body.is-watch .ah-player__spacer {
  display: none !important;
}

/* Settings menu + subviews from the Figma states */
body.is-watch .ah-player-settings {
  position: relative !important;
}

body.is-watch .ah-player-settings__menu {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 6px) !important;
  z-index: 40 !important;
  display: block !important;
  width: 176px !important;
  min-width: 176px !important;
  max-height: none !important;
  padding: 5px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--menu-bg) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.52) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(4px) !important;
  transition: opacity .11s ease, transform .11s ease !important;
}

body.is-watch .ah-player-settings.is-open .ah-player-settings__menu {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

body.is-watch .ah-player-settings__view {
  display: none !important;
}

body.is-watch .ah-player-settings__view.is-active {
  display: block !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__menu.is-page-changing {
  overflow: hidden !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view.is-page-leaving {
  display: block !important;
  pointer-events: none !important;
}

body.is-watch .ah-player-settings__view > button,
body.is-watch .ah-player-settings__options > button {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  min-height: 28px !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 7px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: rgba(255,255,255,.66) !important;
  cursor: pointer !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  text-align: left !important;
}

body.is-watch .ah-player-settings__view > button:hover,
body.is-watch .ah-player-settings__options > button:hover {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
}

body.is-watch .ah-player-settings__view[data-settings-view="main"] > button span {
  flex: 1 1 auto !important;
}

body.is-watch .ah-player-settings__view[data-settings-view="main"] > button em {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

body.is-watch .ah-player-settings__view[data-settings-view="main"] > button b,
body.is-watch .ah-player-settings__back b {
  flex: 0 0 auto !important;
  color: rgba(255,255,255,.56) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
}

body.is-watch .ah-player-settings__back {
  margin-bottom: 2px !important;
  color: rgba(255,255,255,.84) !important;
}

body.is-watch .ah-player-settings__back span {
  flex: 1 1 auto !important;
}

body.is-watch .ah-player-settings__options > button {
  padding-left: 20px !important;
}

body.is-watch .ah-player-settings__options > button::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  width: 2px !important;
  height: 2px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.58) !important;
  transform: translateY(-50%) !important;
}

body.is-watch .ah-player-settings__options > button.is-active {
  background: var(--menu-row) !important;
  color: #fff !important;
}

body.is-watch .ah-player-settings__options > button.is-active::before {
  width: 7px !important;
  height: 7px !important;
  background: #fff !important;
}

body.is-watch .ah-player-settings__options > button:disabled {
  opacity: .36 !important;
  cursor: default !important;
}

body.is-watch .ah-player-settings__options > button em {
  margin-left: auto !important;
  color: rgba(255,255,255,.6) !important;
  font-size: 8px !important;
  font-style: normal !important;
}

body.is-watch .ah-player-settings__options > button img {
  width: 11px !important;
  height: 11px !important;
  margin-left: auto !important;
}

/* Skip callout */
body.is-watch .ah-player__skip {
  right: 12px !important;
  bottom: 42px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: rgba(12,12,12,.92) !important;
  color: rgba(255,255,255,.82) !important;
  box-shadow: none !important;
  font-size: 8px !important;
  font-weight: 550 !important;
}

/* Source switch remains functional but visually quiet outside the Figma frame */
body.is-watch .ah-player-sourcebar {
  width: min(100%,1120px) !important;
  gap: 4px !important;
  margin-bottom: 6px !important;
}
body.is-watch .ah-player-source {
  min-height: 25px !important;
  padding: 3px 8px !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 3px !important;
  background: #0a0a0a !important;
  font-size: 8px !important;
  font-weight: 600 !important;
}
body.is-watch .ah-player-source.is-active {
  border-color: rgba(255,255,255,.16) !important;
  background: #111 !important;
  color: #fff !important;
}
body.is-watch .ah-player-telegram {
  min-height: 25px !important;
  padding: 3px 8px !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 3px !important;
  background: #0a0a0a !important;
  color: rgba(255,255,255,.52) !important;
  box-shadow: none !important;
  animation: none !important;
  font-size: 8px !important;
}
body.is-watch .ah-player-telegram svg {
  width: 11px !important;
  height: 11px !important;
}

/* Episode rail should not visually compete with the player */
body.is-watch .ah-episode-rail-wrap {
  width: min(100%,1120px) !important;
  margin-top: 10px !important;
}

/* Responsive compression without changing the hierarchy */
@media (max-width: 700px) {
  body.is-watch .ah-player__top {
    gap: 1px !important;
    padding: 7px !important;
  }
  body.is-watch .ah-player-select > button {
    max-width: 105px !important;
    min-height: 20px !important;
    padding-inline: 4px !important;
  }
  body.is-watch .ah-player-select span,
  body.is-watch .ah-player__title {
    font-size: 7px !important;
  }
  body.is-watch .ah-player__controls {
    padding: 6px 6px 5px !important;
  }
  body.is-watch .ah-player__row {
    gap: 4px !important;
  }
  body.is-watch .ah-player__play,
  body.is-watch .ah-player__mute,
  body.is-watch .ah-player__download,
  body.is-watch #ahPlayerSettingsButton,
  body.is-watch #ahPlayerPip,
  body.is-watch #ahPlayerFullscreen {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
  }
  body.is-watch .ah-player__icon svg,
  body.is-watch .ah-player__download svg {
    width: 12px !important;
    height: 12px !important;
  }
  body.is-watch .ah-player__time {
    font-size: 6px !important;
    gap: 2px !important;
  }
  body.is-watch .ah-player-settings__menu {
    width: 160px !important;
    min-width: 160px !important;
  }
}

/* ============================================================
   AnimeHub Player — Figma v4
   Real CSS (v3 was accidentally appended with literal \\n escapes).
   Scale and quality badges matched to the supplied Figma frames.
   ============================================================ */
body.is-watch .ah-player {
  --ah-ui: #f6f6f6;
  --ah-ui-muted: rgba(255,255,255,.72);
  --ah-menu: rgba(8,8,8,.98);
  --ah-menu-row: #191919;
  --ah-menu-border: rgba(255,255,255,.06);
}

/* player frame */
body.is-watch .ah-player {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #000 !important;
}
body.is-watch .ah-player__shade--top {
  height: 108px !important;
  background: linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.10) 68%, transparent) !important;
}
body.is-watch .ah-player__shade--bottom {
  height: 150px !important;
  background: linear-gradient(transparent, rgba(0,0,0,.12) 24%, rgba(0,0,0,.86)) !important;
}

/* top controls: actual-size, not the 29% Figma canvas preview */
body.is-watch .ah-player__top {
  inset: 0 0 auto 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 18px 20px !important;
}
body.is-watch .ah-player-select > button {
  min-height: 34px !important;
  max-width: 250px !important;
  gap: 7px !important;
  padding: 5px 6px !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: rgba(255,255,255,.84) !important;
}
body.is-watch .ah-player-select small { display: none !important; }
body.is-watch .ah-player-select span {
  font-size: 13px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
  text-transform: uppercase !important;
}
body.is-watch .ah-player-select b {
  color: rgba(255,255,255,.62) !important;
  font-size: 13px !important;
}
body.is-watch .ah-player__title {
  margin: 0 0 0 auto !important;
  max-width: 38% !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

/* designer quality plaque */
body.is-watch .ah-player-quality-plaque {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-width: 42px !important;
  height: 25px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 0 7px !important;
  border: 1.5px solid rgba(255,255,255,.92) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.96) !important;
  color: #0b0b0b !important;
  box-sizing: border-box !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}
body.is-watch .ah-player-quality-plaque[hidden] { display: none !important; }
body.is-watch .ah-player-quality-plaque b {
  color: #0b0b0b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}
body.is-watch .ah-player-quality-plaque.is-upscaled {
  min-width: 49px !important;
}

/* season/episode/voice dropdowns */
body.is-watch .ah-player-select__menu {
  top: calc(100% + 8px) !important;
  bottom: auto !important;
  min-width: 235px !important;
  max-height: 390px !important;
  padding: 7px !important;
  border: 1px solid var(--ah-menu-border) !important;
  border-radius: 7px !important;
  background: var(--ah-menu) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.60) !important;
}
body.is-watch .ah-player-select__menu button {
  position: relative !important;
  min-height: 42px !important;
  padding: 9px 11px 9px 32px !important;
  border-radius: 5px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
  font-weight: 560 !important;
}
body.is-watch .ah-player-select__menu button::before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.65) !important;
  transform: translateY(-50%) !important;
}
body.is-watch .ah-player-select__menu button.is-active {
  background: var(--ah-menu-row) !important;
  color: #fff !important;
}
body.is-watch .ah-player-select__menu button.is-active::before {
  width: 9px !important;
  height: 9px !important;
  background: #fff !important;
}
body.is-watch .ah-player-voice-badge {
  padding: 2px 5px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}

/* bottom controls */
body.is-watch .ah-player__controls {
  inset: auto 0 0 !important;
  padding: 18px 20px 16px !important;
}
body.is-watch .ah-player__row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 44px !important;
}
body.is-watch .ah-player__play,
body.is-watch .ah-player__mute,
body.is-watch .ah-player__download,
body.is-watch #ahPlayerSettingsButton,
body.is-watch #ahPlayerPip,
body.is-watch #ahPlayerFullscreen {
  display: grid !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #fff !important;
}
body.is-watch .ah-player__play:hover,
body.is-watch .ah-player__mute:hover,
body.is-watch .ah-player__download:hover,
body.is-watch #ahPlayerSettingsButton:hover,
body.is-watch #ahPlayerPip:hover,
body.is-watch #ahPlayerFullscreen:hover,
body.is-watch .ah-player-settings.is-open #ahPlayerSettingsButton {
  background: rgba(255,255,255,.08) !important;
}
body.is-watch .ah-player__icon svg,
body.is-watch .ah-player__download svg {
  width: 27px !important;
  height: 27px !important;
  stroke-width: 1.75 !important;
}
body.is-watch .ah-player__play svg {
  width: 24px !important;
  height: 24px !important;
}
body.is-watch .ah-player__seek {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  height: 24px !important;
  margin: 0 !important;
}
body.is-watch .ah-player__seek-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.30) !important;
}
body.is-watch .ah-player__seek:hover .ah-player__seek-track { height: 5px !important; }
body.is-watch .ah-player__seek-track b { background: #fff !important; }
body.is-watch .ah-player__seek-track span {
  width: 11px !important;
  height: 11px !important;
  background: #fff !important;
}
body.is-watch .ah-player__seek em {
  bottom: 31px !important;
  padding: 5px 7px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
}
body.is-watch .ah-player__time {
  flex: 0 0 auto !important;
  gap: 6px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 520 !important;
  line-height: 1 !important;
}
body.is-watch .ah-player__time i { color: rgba(255,255,255,.72) !important; }
body.is-watch .ah-player__volume { display: none !important; }

/* old standalone quality control stays hidden: quality lives in Settings */
body.is-watch .ah-player-quality { display: none !important; }

/* settings dropdown */
body.is-watch .ah-player-settings { position: relative !important; }
body.is-watch .ah-player-settings__menu {
  right: 0 !important;
  bottom: calc(100% + 12px) !important;
  width: 285px !important;
  min-width: 285px !important;
  max-height: 430px !important;
  padding: 8px !important;
  border: 1px solid var(--ah-menu-border) !important;
  border-radius: 8px !important;
  background: var(--ah-menu) !important;
  box-shadow: 0 22px 68px rgba(0,0,0,.64) !important;
}
body.is-watch .ah-player-settings__view > button,
body.is-watch .ah-player-settings__options > button {
  min-height: 46px !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 5px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  font-weight: 560 !important;
  line-height: 1.15 !important;
}
body.is-watch .ah-player-settings__view > button:hover,
body.is-watch .ah-player-settings__options > button:hover,
body.is-watch .ah-player-settings__options > button.is-active {
  background: var(--ah-menu-row) !important;
  color: #fff !important;
}
body.is-watch .ah-player-settings__view[data-settings-view="main"] > button em {
  margin-left: auto !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
}
body.is-watch .ah-player-settings__view[data-settings-view="main"] > button b,
body.is-watch .ah-player-settings__back b {
  color: rgba(255,255,255,.70) !important;
  font-size: 19px !important;
}
body.is-watch .ah-player-settings__options > button {
  position: relative !important;
  padding-left: 35px !important;
}
body.is-watch .ah-player-settings__options > button::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.62) !important;
  transform: translateY(-50%) !important;
}
body.is-watch .ah-player-settings__options > button.is-active::before {
  width: 10px !important;
  height: 10px !important;
  background: #fff !important;
}
body.is-watch .ah-player-settings__menu button::after {
  display: none !important;
  content: none !important;
}

/* quality rows use the actual plaque component */
body.is-watch .ah-player-quality-option-label {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
body.is-watch .ah-quality-badge {
  display: inline-flex !important;
  min-width: 43px !important;
  height: 23px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 0 6px !important;
  border: 1.5px solid rgba(255,255,255,.95) !important;
  border-radius: 5px !important;
  background: #f3f3f3 !important;
  color: #090909 !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
body.is-watch .ah-quality-badge b {
  color: #090909 !important;
  font-size: 10px !important;
}
body.is-watch .ah-player-settings__options > button.is-active .ah-quality-badge {
  box-shadow: 0 0 0 2px rgba(255,255,255,.16) !important;
}

body.is-watch .ah-player__skip {
  right: 22px !important;
  bottom: 82px !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

@media (max-width: 760px) {
  body.is-watch .ah-player__top { padding: 9px 10px !important; gap: 4px !important; }
  body.is-watch .ah-player-select > button { min-height: 25px !important; max-width: 125px !important; padding: 3px 5px !important; }
  body.is-watch .ah-player-select span { font-size: 9px !important; }
  body.is-watch .ah-player-quality-plaque { min-width: 34px !important; height: 20px !important; padding: 0 5px !important; font-size: 8px !important; }
  body.is-watch .ah-player__controls { padding: 8px 8px 7px !important; }
  body.is-watch .ah-player__row { gap: 4px !important; min-height: 29px !important; }
  body.is-watch .ah-player__play, body.is-watch .ah-player__mute, body.is-watch .ah-player__download, body.is-watch #ahPlayerSettingsButton, body.is-watch #ahPlayerPip, body.is-watch #ahPlayerFullscreen { flex-basis: 28px !important; width: 28px !important; min-width: 28px !important; height: 28px !important; min-height: 28px !important; }
  body.is-watch .ah-player__icon svg, body.is-watch .ah-player__download svg { width: 18px !important; height: 18px !important; }
  body.is-watch .ah-player__time { font-size: 10px !important; gap: 3px !important; }
  body.is-watch #ahPlayerPip { display: none !important; }
  body.is-watch .ah-player-settings__menu { width: 225px !important; min-width: 225px !important; }
  body.is-watch .ah-player-settings__view > button, body.is-watch .ah-player-settings__options > button { min-height: 38px !important; font-size: 12px !important; }
}


/* ============================================================
   AnimeHub Player — Figma v5
   Exact requested corrections:
   - no source/reklama strip above player
   - player selector next to dubbing
   - Unbounded Regular 14px throughout
   - quality plaques only in dubbing rows: FHD / 4K, 9px bold caps
   - white played timeline
   - Figma-shaped download/settings icons
   ============================================================ */

body.is-watch .ah-player-sourcebar {
  display: none !important;
}

/* Typography: all player UI = Unbounded Regular 14 */
body.is-watch .ah-player,
body.is-watch .ah-player button,
body.is-watch .ah-player input,
body.is-watch .ah-player-select > button,
body.is-watch .ah-player-select__menu button,
body.is-watch .ah-player-settings__menu button,
body.is-watch .ah-player__time,
body.is-watch .ah-player__title,
body.is-watch .ah-player__skip,
body.is-watch .ah-player__error,
body.is-watch .ah-player__loading {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.is-watch .ah-player-select small {
  display: none !important;
}

body.is-watch .ah-player__top {
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 20px !important;
}

body.is-watch .ah-player-select > button {
  min-height: 34px !important;
  max-width: 220px !important;
  gap: 7px !important;
  padding: 6px 8px !important;
  border-radius: 4px !important;
}

body.is-watch .ah-player-select span,
body.is-watch .ah-player-select b,
body.is-watch .ah-player__title {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

body.is-watch .ah-player-select--player {
  flex: 0 0 auto !important;
}

body.is-watch .ah-player-select--player > button {
  min-width: 105px !important;
}

/* Dropdowns: 14px regular like Figma */
body.is-watch .ah-player-select__menu {
  min-width: 235px !important;
  padding: 6px !important;
}
body.is-watch .ah-player-select__menu button,
body.is-watch .ah-player-settings__view > button,
body.is-watch .ah-player-settings__options > button {
  min-height: 44px !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Translation quality plaques: FHD/4K only, 9px bold uppercase */
body.is-watch .ah-player-voice-badge {
  display: inline-flex !important;
  min-width: 31px !important;
  height: 17px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

/* remove old standalone/current-quality plaque entirely */
body.is-watch .ah-player-quality-plaque {
  display: none !important;
}

/* Quality submenu is a normal Figma list, not "Исходное качество" cards */
body.is-watch .ah-player-settings__options > button {
  justify-content: flex-start !important;
}
body.is-watch .ah-player-settings__options > button > span {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
body.is-watch .ah-quality-badge,
body.is-watch .ah-player-quality-option-label {
  display: none !important;
}

/* White timeline */
body.is-watch .ah-player__seek-track {
  height: 2px !important;
  background: rgba(255,255,255,.34) !important;
  border-radius: 999px !important;
}
body.is-watch .ah-player__seek:hover .ah-player__seek-track {
  height: 3px !important;
}
body.is-watch .ah-player__seek-track i {
  background: rgba(255,255,255,.18) !important;
}
body.is-watch .ah-player__seek-track b {
  background: #fff !important;
}
body.is-watch .ah-player__seek-track span {
  width: 10px !important;
  height: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Bottom controls and Figma icons */
body.is-watch .ah-player__controls {
  padding: 18px 20px 14px !important;
}
body.is-watch .ah-player__row {
  gap: 10px !important;
}
body.is-watch .ah-player__download,
body.is-watch #ahPlayerSettingsButton {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  background: transparent !important;
}
body.is-watch .ah-player__download svg,
body.is-watch #ahPlayerSettingsButton svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.is-watch #ahPlayerSettingsButton svg circle {
  fill: none !important;
}
body.is-watch .ah-player__time,
body.is-watch .ah-player__time b,
body.is-watch .ah-player__time span,
body.is-watch .ah-player__time i {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Settings menu */
body.is-watch .ah-player-settings__menu {
  width: 285px !important;
  min-width: 285px !important;
}
body.is-watch .ah-player-settings__view[data-settings-view="main"] > button em {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Mobile keeps the same type family, only scales geometry */
@media (max-width: 760px) {
  body.is-watch .ah-player,
  body.is-watch .ah-player button,
  body.is-watch .ah-player-select span,
  body.is-watch .ah-player__time,
  body.is-watch .ah-player-settings__menu button {
    font-family: "Unbounded", sans-serif !important;
  }
  body.is-watch .ah-player-select > button {
    max-width: 132px !important;
  }
  body.is-watch .ah-player-select--player > button {
    min-width: 82px !important;
  }
  body.is-watch .ah-player-voice-badge {
    font-size: 9px !important;
    font-weight: 700 !important;
  }
}


/* ============================================================
   AnimeHub Player — Figma v6
   Final visual correction pass from the supplied Figma screenshots.
   ============================================================ */

body.is-watch #animeHubPlayer.ah-player {
  --player-accent: #ffffff !important;
  --player-accent-soft: #ffffff !important;
  --menu-bg: #101010 !important;
  --menu-row: #191919 !important;
  --menu-border: rgba(255,255,255,.045) !important;
}

/* Force the requested type everywhere inside the player.
   Badges are overridden below to 9px / bold / uppercase. */
body.is-watch #animeHubPlayer,
body.is-watch #animeHubPlayer :where(button, span, em, strong, small, b) {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* ---------- TOP SELECTS ---------- */
body.is-watch #animeHubPlayer .ah-player__top {
  gap: 6px !important;
  padding: 15px 20px !important;
}

body.is-watch #animeHubPlayer .ah-player-select > button {
  min-height: 36px !important;
  max-width: 230px !important;
  padding: 7px 9px !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: rgba(255,255,255,.88) !important;
  box-shadow: none !important;
}

body.is-watch #animeHubPlayer .ah-player-select > button:hover,
body.is-watch #animeHubPlayer .ah-player-select.is-open > button {
  background: #171717 !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player-select > button > span {
  color: inherit !important;
  line-height: 1.15 !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu {
  top: calc(100% + 6px) !important;
  left: 0 !important;
  min-width: 220px !important;
  padding: 6px !important;
  border: 1px solid var(--menu-border) !important;
  border-radius: 9px !important;
  background: var(--menu-bg) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.48) !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button {
  min-height: 42px !important;
  padding: 8px 10px 8px 30px !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: rgba(255,255,255,.80) !important;
  line-height: 1.1 !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button:hover {
  background: #151515 !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active {
  background: var(--menu-row) !important;
  color: #fff !important;
}

/* Figma radio dots in top dropdowns */
body.is-watch #animeHubPlayer .ah-player-select__menu button::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 3px !important;
  height: 3px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.72) !important;
  transform: translateY(-50%) !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active::before {
  width: 9px !important;
  height: 9px !important;
  background: #fff !important;
}

/* ---------- FIGMA CHEVRONS ---------- */
body.is-watch #animeHubPlayer .ah-chevron {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 7px !important;
  height: 7px !important;
  padding: 0 !important;
  margin: 0 1px !important;
  border: 0 solid rgba(255,255,255,.72) !important;
  border-right-width: 1.4px !important;
  border-bottom-width: 1.4px !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

body.is-watch #animeHubPlayer .ah-chevron--down {
  transform: translateY(-2px) rotate(45deg) !important;
}
body.is-watch #animeHubPlayer .ah-chevron--right {
  transform: rotate(-45deg) !important;
}
body.is-watch #animeHubPlayer .ah-chevron--left {
  transform: rotate(135deg) !important;
}

body.is-watch #animeHubPlayer .ah-player-select.is-open > button .ah-chevron--down {
  transform: translateY(2px) rotate(225deg) !important;
}

/* ---------- SETTINGS BOXES ---------- */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  width: 245px !important;
  min-width: 245px !important;
  padding: 6px !important;
  border: 1px solid var(--menu-border) !important;
  border-radius: 9px !important;
  background: var(--menu-bg) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.48) !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view > button,
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  min-height: 43px !important;
  padding: 9px 10px !important;
  gap: 8px !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: rgba(255,255,255,.82) !important;
  line-height: 1.12 !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view > button:hover,
body.is-watch #animeHubPlayer .ah-player-settings__options > button:hover {
  background: #151515 !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button:first-child,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active {
  background: var(--menu-row) !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > span {
  flex: 1 1 auto !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > em {
  margin-left: auto !important;
  color: rgba(255,255,255,.72) !important;
  font-style: normal !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > .ah-chevron {
  margin-left: 2px !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__back {
  margin-bottom: 2px !important;
  padding-left: 11px !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__back > .ah-chevron {
  order: -1 !important;
  margin-right: 7px !important;
}

/* submenu radio dots */
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  position: relative !important;
  padding-left: 31px !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__options > button::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.72) !important;
  transform: translateY(-50%) !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active::before {
  width: 9px !important;
  height: 9px !important;
  background: #fff !important;
}

/* ---------- QUALITY PLAQUES ---------- */
body.is-watch #animeHubPlayer .ah-player-voice-badge {
  display: inline-flex !important;
  width: auto !important;
  min-width: 31px !important;
  height: 17px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #111 !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* ---------- TIMELINE: hard white, no orange survives ---------- */
body.is-watch #animeHubPlayer .ah-player__seek-track {
  height: 3px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.28) !important;
}

body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer {
  background: rgba(255,255,255,.14) !important;
  background-image: none !important;
}

body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 10px !important;
  height: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* neutralize any old orange-accent hover rules */
body.is-watch #animeHubPlayer .ah-player__icon:hover,
body.is-watch #animeHubPlayer .ah-player-settings.is-open > #ahPlayerSettingsButton {
  color: #fff !important;
}

/* ---------- BOTTOM CONTROLS ---------- */
body.is-watch #animeHubPlayer .ah-player__controls {
  padding: 17px 20px 14px !important;
}

body.is-watch #animeHubPlayer .ah-player__row {
  gap: 10px !important;
}

body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player__time * {
  color: #fff !important;
  font-variant-numeric: tabular-nums !important;
}

body.is-watch #animeHubPlayer .ah-player__time i {
  color: rgba(255,255,255,.50) !important;
}

/* keep icons crisp and matching the Figma size */
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 6px !important;
}

body.is-watch #animeHubPlayer .ah-player__download svg,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg {
  width: 23px !important;
  height: 23px !important;
  stroke: #fff !important;
  stroke-width: 1.8 !important;
}

/* mobile: preserve casing/typography but reduce geometry only */
@media (max-width: 760px) {
  body.is-watch #animeHubPlayer,
  body.is-watch #animeHubPlayer :where(button, span, em, strong, small, b) {
    font-family: "Unbounded", sans-serif !important;
    text-transform: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select > button {
    max-width: 145px !important;
    padding-inline: 7px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    width: 225px !important;
    min-width: 225px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-voice-badge {
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }
}


/* ============================================================
   AnimeHub Player — Figma v7
   White text / bold pass / draggable seek / no episode rail.
   ============================================================ */

/* hide the bottom episodes strip completely */
body.is-watch #watchPlayerPage .ah-episode-rail-wrap {
  display: none !important;
}

/* drag affordance on the seek bar */
body.is-watch #animeHubPlayer .ah-player__seek {
  cursor: pointer !important;
  touch-action: none !important;
  user-select: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer #ahPlayerThumb {
  pointer-events: none !important;
}

/* default everything inside player to white + bold */
body.is-watch #animeHubPlayer,
body.is-watch #animeHubPlayer :where(span,b,strong,em,small,button) {
  color: #ffffff !important;
  font-family: "Unbounded", sans-serif !important;
  font-weight: 700 !important;
}

/* remove any remaining grey from meta/time text */
body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player__time *,
body.is-watch #animeHubPlayer .ah-player-select > button,
body.is-watch #animeHubPlayer .ah-player-select > button > span,
body.is-watch #animeHubPlayer .ah-player-settings__view > button,
body.is-watch #animeHubPlayer .ah-player-settings__view > button > span,
body.is-watch #animeHubPlayer .ah-player-settings__view > button > em,
body.is-watch #animeHubPlayer .ah-player-settings__options > button,
body.is-watch #animeHubPlayer .ah-player-settings__back,
body.is-watch #animeHubPlayer .ah-player-settings__back > span,
body.is-watch #animeHubPlayer .ah-player-settings__menu,
body.is-watch #animeHubPlayer .ah-player-select__menu button,
body.is-watch #animeHubPlayer .ah-player__icon,
body.is-watch #animeHubPlayer .ah-player__icon svg,
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer .ah-player__download svg {
  color: #fff !important;
  opacity: 1 !important;
}
body.is-watch #animeHubPlayer .ah-player__time i,
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > em {
  color: #fff !important;
}

/* list titles regular */
body.is-watch #animeHubPlayer .ah-player-settings__back > span,
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > span {
  font-weight: 400 !important;
}

/* lower settings menus: keep text regular except quality */
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  font-weight: 400 !important;
}
body.is-watch #animeHubPlayer #ahPlayerQualityOptions > button {
  font-weight: 700 !important;
}

/* summaries on the main settings page stay regular on the value side */
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > em {
  font-weight: 400 !important;
}

/* top dropdown menus and chosen values bold */
body.is-watch #animeHubPlayer .ah-player-select > button > span,
body.is-watch #animeHubPlayer .ah-player-select__menu button {
  font-weight: 700 !important;
}

/* preserve white timeline from prior pass */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  filter: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  background: #fff !important;
  background-color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track {
  background: rgba(255,255,255,.34) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer {
  background: rgba(255,255,255,.16) !important;
}

/* seek tooltip & misc helper copy also white */
body.is-watch #animeHubPlayer #ahPlayerSeekTip,
body.is-watch #animeHubPlayer .ah-player__seek-flash,
body.is-watch #animeHubPlayer .ah-player__seek-flash * {
  color: #fff !important;
}


/* ============================================================
   AnimeHub Player — Figma v8
   Fix settings visibility/clickability + compact mobile layout.
   ============================================================ */

/* IMPORTANT: keep menu hidden until the settings wrapper is actually open.
   v7 accidentally forced opacity:1 on the menu itself. */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(4px) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings.is-open .ah-player-settings__menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Dropdowns follow the same closed/open rule. */
body.is-watch #animeHubPlayer .ah-player-select__menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player-select.is-open .ah-player-select__menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Never let player-surface click handling win over interactive UI. */
body.is-watch #animeHubPlayer .ah-player-settings,
body.is-watch #animeHubPlayer .ah-player-settings *,
body.is-watch #animeHubPlayer .ah-player-select,
body.is-watch #animeHubPlayer .ah-player-select *,
body.is-watch #animeHubPlayer .ah-player__controls,
body.is-watch #animeHubPlayer .ah-player__controls * {
  pointer-events: auto;
}

/* MOBILE — scale everything down so top row and bottom controls fit. */
@media (max-width: 760px) {
  body.is-watch #animeHubPlayer,
  body.is-watch #animeHubPlayer :where(button, span, em, strong, small, b) {
    font-size: 10px !important;
    line-height: 1.05 !important;
  }

  body.is-watch #animeHubPlayer .ah-player__top {
    gap: 2px !important;
    padding: 7px 7px !important;
    align-items: center !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select > button {
    min-height: 25px !important;
    max-width: 92px !important;
    padding: 4px 5px !important;
    gap: 4px !important;
    border-radius: 5px !important;
    font-size: 10px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select > button > span {
    font-size: 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select--player > button {
    min-width: 66px !important;
    max-width: 78px !important;
  }

  body.is-watch #animeHubPlayer .ah-chevron {
    width: 5px !important;
    height: 5px !important;
    border-right-width: 1px !important;
    border-bottom-width: 1px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__title {
    display: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select__menu {
    min-width: 160px !important;
    max-width: 210px !important;
    padding: 4px !important;
    border-radius: 7px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select__menu button {
    min-height: 32px !important;
    padding: 6px 7px 6px 25px !important;
    font-size: 10px !important;
    border-radius: 5px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-select__menu button::before {
    left: 9px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-voice-badge {
    min-width: 25px !important;
    height: 14px !important;
    padding: 0 3px !important;
    border-radius: 3px !important;
    font-size: 7px !important;
    line-height: 14px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 12px 7px 6px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__row {
    gap: 3px !important;
    min-height: 25px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__play,
  body.is-watch #animeHubPlayer .ah-player__mute,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer #ahPlayerPip,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 3px !important;
    border-radius: 4px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__icon svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg {
    width: 17px !important;
    height: 17px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time * {
    font-size: 9px !important;
    gap: 2px !important;
    white-space: nowrap !important;
  }

  body.is-watch #animeHubPlayer .ah-player__seek {
    min-width: 0 !important;
    margin-inline: 1px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__seek-track {
    height: 2px !important;
  }

  body.is-watch #animeHubPlayer #ahPlayerThumb {
    width: 8px !important;
    height: 8px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    width: 186px !important;
    min-width: 186px !important;
    padding: 4px !important;
    border-radius: 7px !important;
    right: 0 !important;
    bottom: calc(100% + 4px) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__view > button,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    min-height: 32px !important;
    padding: 6px 7px !important;
    gap: 5px !important;
    border-radius: 5px !important;
    font-size: 10px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    padding-left: 24px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__options > button::before {
    left: 9px !important;
  }

  body.is-watch #animeHubPlayer .ah-player-settings__back > span,
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > span,
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > em,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    font-size: 10px !important;
  }

  /* PiP is redundant on very narrow phones and costs too much width. */
  @media (max-width: 430px) {
    body.is-watch #animeHubPlayer #ahPlayerPip {
      display: none !important;
    }
  }
}


/* ============================================================
   AnimeHub Player — Figma v9
   Rounded shell / soft non-fullscreen shades / readable error / mobile fullscreen menus.
   ============================================================ */

body.is-watch #animeHubPlayer.ah-player {
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* Barely-visible cinematic shading, only in the embedded player. */
body.is-watch #animeHubPlayer:not(:fullscreen):not(:-webkit-full-screen) .ah-player__shade--top {
  height: 88px !important;
  opacity: 1 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.055) 56%, transparent) !important;
}
body.is-watch #animeHubPlayer:not(:fullscreen):not(:-webkit-full-screen) .ah-player__shade--bottom {
  height: 112px !important;
  opacity: 1 !important;
  background: linear-gradient(to top, rgba(0,0,0,.22), rgba(0,0,0,.06) 58%, transparent) !important;
}
body.is-watch #animeHubPlayer:fullscreen,
body.is-watch #animeHubPlayer:-webkit-full-screen {
  border-radius: 0 !important;
}
body.is-watch #animeHubPlayer:fullscreen .ah-player__shade,
body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__shade {
  opacity: 0 !important;
}

/* Error state: keep the useful error, but make every bit readable. */
body.is-watch #animeHubPlayer .ah-player__error {
  color: #fff !important;
  background: rgba(0,0,0,.36) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.85) !important;
}
body.is-watch #animeHubPlayer .ah-player__error strong,
body.is-watch #animeHubPlayer .ah-player__error span {
  color: #fff !important;
  opacity: 1 !important;
}
body.is-watch #animeHubPlayer .ah-player__error button {
  min-width: 116px !important;
  background: #fff !important;
  color: #0b0b0b !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}

/* Explicit upscale chip in the Quality submenu. */
body.is-watch #animeHubPlayer .ah-player-upscale-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  padding: 3px 6px !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Custom fullscreen menus must stay inside a phone viewport. */
@media (max-width: 820px) {
  body.is-watch #animeHubPlayer:fullscreen .ah-player-select__menu,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player-select__menu {
    position: fixed !important;
    z-index: 2147483646 !important;
    top: 48px !important;
    left: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 104px) !important;
    overflow: auto !important;
    transform: none !important;
  }

  body.is-watch #animeHubPlayer:fullscreen .ah-player-settings__menu,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player-settings__menu {
    position: fixed !important;
    z-index: 2147483646 !important;
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: 52px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 104px) !important;
    overflow: auto !important;
    transform: none !important;
  }

  body.is-watch #animeHubPlayer:fullscreen .ah-player__top,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__top {
    z-index: 40 !important;
  }
  body.is-watch #animeHubPlayer:fullscreen .ah-player__controls,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__controls {
    z-index: 40 !important;
  }
}

/* Portrait/mobile embedded mode: keep everything compact. */
@media (max-width: 620px) {
  body.is-watch #animeHubPlayer.ah-player {
    border-radius: 10px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top {
    gap: 2px !important;
    padding: 7px 8px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select > button,
  body.is-watch #animeHubPlayer .ah-player-select > button > span,
  body.is-watch #animeHubPlayer .ah-player-select__menu button {
    font-size: 8px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select > button {
    min-height: 25px !important;
    max-width: 88px !important;
    padding: 4px 5px !important;
    gap: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select--player > button {
    min-width: 58px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select__menu {
    min-width: 150px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select__menu button,
  body.is-watch #animeHubPlayer .ah-player-settings__view > button,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    min-height: 32px !important;
    font-size: 9px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    width: 190px !important;
    min-width: 190px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time * {
    font-size: 8px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 12px 7px 5px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row {
    gap: 2px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__icon,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__icon svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg {
    width: 16px !important;
    height: 16px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-upscale-badge {
    font-size: 7px !important;
    padding: 2px 4px !important;
  }
}

/* ============================================================
   AnimeHub Player — Figma v12
   Unbounded 900 everywhere + corrected Figma plaques.
   ============================================================ */

/* User decision: every text element inside the player uses Unbounded Black 900. */
body.is-watch #animeHubPlayer,
body.is-watch #animeHubPlayer :where(button, span, b, strong, em, small, label, p) {
  font-family: "Unbounded", sans-serif !important;
  font-weight: 900 !important;
}

/* Keep the exact requested 14px desktop player type unless a more specific
   component size (e.g. plaques) overrides it below. */
body.is-watch #animeHubPlayer :where(button, span, b, strong, em, small, label, p) {
  font-style: normal !important;
}

/* FHD / 4K / UPSCALE plaques — exactly one shared visual definition. */
body.is-watch #animeHubPlayer .ah-player-voice-badge,
body.is-watch #animeHubPlayer .ah-player-upscale-badge {
  display: inline-flex !important;
  width: auto !important;
  min-width: 31px !important;
  height: 17px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #f3f3f3 !important;
  color: #101010 !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 17px !important;
  letter-spacing: -0.18px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* In the quality menu the UPSCALE plaque sits at the right edge, same component. */
body.is-watch #animeHubPlayer #ahPlayerQualityOptions .ah-player-upscale-badge {
  margin-left: auto !important;
}

/* Quality labels are also 900 now. */
body.is-watch #animeHubPlayer #ahPlayerQualityOptions > button,
body.is-watch #animeHubPlayer #ahPlayerQualityOptions > button > span {
  font-family: "Unbounded", sans-serif !important;
  font-weight: 900 !important;
}

/* Translation menu + selected translation also use 900. */
body.is-watch #animeHubPlayer .ah-player-select > button,
body.is-watch #animeHubPlayer .ah-player-select > button > span,
body.is-watch #animeHubPlayer .ah-player-select__menu button,
body.is-watch #animeHubPlayer .ah-player-select__menu button > span {
  font-weight: 900 !important;
}

/* Settings and bottom controls follow the same weight. */
body.is-watch #animeHubPlayer .ah-player-settings__view > button,
body.is-watch #animeHubPlayer .ah-player-settings__view > button > span,
body.is-watch #animeHubPlayer .ah-player-settings__view > button > em,
body.is-watch #animeHubPlayer .ah-player-settings__options > button,
body.is-watch #animeHubPlayer .ah-player-settings__options > button > span,
body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player__time * {
  font-weight: 900 !important;
}

@media (max-width: 820px) {
  body.is-watch #animeHubPlayer .ah-player-voice-badge,
  body.is-watch #animeHubPlayer .ah-player-upscale-badge {
    min-width: 25px !important;
    height: 14px !important;
    padding: 0 3px !important;
    border-radius: 3px !important;
    font-size: 7px !important;
    font-weight: 900 !important;
    line-height: 14px !important;
    letter-spacing: -0.12px !important;
  }
}

/* Shared flat peach pills for upscale and native quality labels. */
body.is-watch #animeHubPlayer .ah-player-voice-badge.up-badge.up-44,
body.is-watch #animeHubPlayer .ah-player-upscale-badge.up-badge.up-44 {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 130px !important;
  height: auto !important;
  min-height: 20px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 0 auto !important;
  padding: 3px 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ff946f !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9.5px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.is-watch #animeHubPlayer .ah-player-voice-badge.up-badge.up-44::before,
body.is-watch #animeHubPlayer .ah-player-voice-badge.up-badge.up-44::after,
body.is-watch #animeHubPlayer .ah-player-upscale-badge.up-badge.up-44::before,
body.is-watch #animeHubPlayer .ah-player-upscale-badge.up-badge.up-44::after {
  box-sizing: border-box;
  pointer-events: none;
}

@media (max-width: 820px) {
  body.is-watch #animeHubPlayer .ah-player-voice-badge.up-badge.up-44,
  body.is-watch #animeHubPlayer .ah-player-upscale-badge.up-badge.up-44 {
    min-height: 16px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    font-size: 8px !important;
  }
}

/* ANIMEHUB_LOADING_BANNER_V48_BEGIN */
/*
  Loading banner rules:
  - while the player is loading/buffering, the anime banner fills the whole player;
  - once loading ends, the banner is removed from rendering completely;
  - the <video> element itself has no poster, so a stale/blurred banner cannot remain
    over the first decoded video frames.
*/
.ah-player__backdrop {
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.ah-player:not(.is-loading) .ah-player__backdrop {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ah-player.is-loading .ah-player__backdrop {
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

.ah-player.is-loading .ah-player__loading {
  background: rgba(4, 5, 7, .52) !important;
}
/* ANIMEHUB_LOADING_BANNER_V48_END */

/* EMBED_PLAYER_SWITCH_V3_BEGIN */
/* Kodik/Senku: показываем только СУЩЕСТВУЮЩИЙ переключатель плееров.
   Дизайн кнопки/меню не меняем — только положение. */
.ah-player.is-embed .ah-player__top {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: none !important;
  background: transparent !important;
}
.ah-player.is-embed .ah-player__top > * {
  display: none !important;
}
.ah-player.is-embed .ah-player__top > [data-player-select="player"] {
  display: block !important;
  position: absolute !important;
  top: 15px !important;
  right: 150px !important;
  left: auto !important;
  margin: 0 !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}
.ah-player.is-embed .ah-player__top > [data-player-select="player"] > .ah-player-select__menu {
  right: 0 !important;
  left: auto !important;
}

/* Mobile Senku: как в V2 — второй ряд слева. */
@media (max-width: 900px) {
  .ah-player.is-senku.is-embed .ah-player__top > [data-player-select="player"] {
    top: 54px !important;
    left: 10px !important;
    right: auto !important;
  }
  .ah-player.is-senku.is-embed .ah-player__top > [data-player-select="player"] > .ah-player-select__menu {
    left: 0 !important;
    right: auto !important;
  }

  /* Mobile Kodik: его собственные кнопки уже занимают две строки.
     Ставим наш переключатель на высоту второй строки, но справа и на 2px выше. */
  .ah-player.is-kodik.is-embed .ah-player__top > [data-player-select="player"] {
    top: 52px !important;
    right: 10px !important;
    left: auto !important;
  }
  .ah-player.is-kodik.is-embed .ah-player__top > [data-player-select="player"] > .ah-player-select__menu {
    right: 0 !important;
    left: auto !important;
  }
}
/* EMBED_PLAYER_SWITCH_V3_END */

/* BUFFERING_KEEP_LAST_FRAME_V1_BEGIN */
/* During mid-playback buffering keep the decoded video frame visible instead
   of swapping the player back to the anime banner. Initial source loading can
   still use the banner until the video has produced metadata/frames. */
.ah-player.has-video.is-loading .ah-player__backdrop {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ah-player.has-video.is-loading .ah-player__loading {
  background: rgba(4, 5, 7, .16) !important;
}
/* BUFFERING_KEEP_LAST_FRAME_V1_END */

/* ANIMEHUB_ATOM_LOADER_V2_BEGIN
   Visual-only loader inspired by modern Atom/Orbit loader patterns.
   Uses only transform/opacity animations for predictable GPU-friendly motion. */
.ah-player__loading {
  gap: 0 !important;
}

/* JS can keep updating this status for accessibility; visually we only show the loader. */
.ah-player__loading p {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ah-player__loading > .ah-player__loader-atom {
  position: relative !important;
  display: block !important;
  width: 104px !important;
  height: 104px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%,
      #ffffff 0 4px,
      #ffd2c1 4.5px 7px,
      #ffac89 7.5px 11px,
      rgba(255, 172, 137, .22) 11.5px 17px,
      transparent 18px) !important;
  filter: drop-shadow(0 0 14px rgba(255, 172, 137, .18));
  animation: ah-player-atom-pulse 1.45s ease-in-out infinite !important;
  transform: translateZ(0);
  will-change: transform, filter;
}

/* Three independent elliptical orbits. */
.ah-player__loader-atom > b {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 94px;
  height: 38px;
  margin: -19px 0 0 -47px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.13);
  border-top-color: rgba(255,255,255,.9);
  border-right-color: rgba(255,172,137,.88);
  box-sizing: border-box;
  filter: drop-shadow(0 0 5px rgba(255,172,137,.16));
  transform-origin: 50% 50%;
  will-change: transform;
}

.ah-player__loader-atom > b::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -5px;
  width: 9px;
  height: 9px;
  margin-left: -4.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.08),
    0 0 8px rgba(255,255,255,.75),
    0 0 16px rgba(255,172,137,.45);
}

.ah-player__loader-atom > b:nth-child(1) {
  animation: ah-player-orbit-a 1.05s linear infinite;
}

.ah-player__loader-atom > b:nth-child(1)::after {
  background: #fff;
}

.ah-player__loader-atom > b:nth-child(2) {
  border-top-color: rgba(255,177,145,.94);
  border-right-color: rgba(255,255,255,.54);
  animation: ah-player-orbit-b 1.32s linear infinite;
}

.ah-player__loader-atom > b:nth-child(2)::after {
  background: #ffad8b;
  box-shadow:
    0 0 0 2px rgba(255,173,139,.12),
    0 0 9px rgba(255,173,139,.85),
    0 0 18px rgba(255,173,139,.38);
}

.ah-player__loader-atom > b:nth-child(3) {
  opacity: .72;
  border-top-color: rgba(255,255,255,.68);
  border-right-color: rgba(255,172,137,.55);
  animation: ah-player-orbit-c 1.7s linear infinite;
}

.ah-player__loader-atom > b:nth-child(3)::after {
  width: 7px;
  height: 7px;
  top: -4px;
  margin-left: -3.5px;
  background: #ffe3d8;
}

@keyframes ah-player-orbit-a {
  from { transform: rotate(18deg); }
  to   { transform: rotate(378deg); }
}

@keyframes ah-player-orbit-b {
  from { transform: rotate(138deg); }
  to   { transform: rotate(-222deg); }
}

@keyframes ah-player-orbit-c {
  from { transform: rotate(258deg); }
  to   { transform: rotate(618deg); }
}

@keyframes ah-player-atom-pulse {
  0%, 100% {
    transform: translateZ(0) scale(.96);
    filter: drop-shadow(0 0 10px rgba(255,172,137,.16));
  }
  50% {
    transform: translateZ(0) scale(1.04);
    filter: drop-shadow(0 0 22px rgba(255,172,137,.34));
  }
}

@media (max-width: 700px) {
  .ah-player__loading > .ah-player__loader-atom {
    width: 86px !important;
    height: 86px !important;
  }

  .ah-player__loader-atom > b {
    width: 78px;
    height: 32px;
    margin: -16px 0 0 -39px;
  }

  .ah-player__loader-atom > b::after {
    width: 8px;
    height: 8px;
    top: -4.5px;
    margin-left: -4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ah-player__loading > .ah-player__loader-atom,
  .ah-player__loader-atom > b {
    animation-duration: 2.2s !important;
  }
}
/* ANIMEHUB_ATOM_LOADER_V2_END */

/* ANIMEHUB_SEEK_TOOLTIP_WHITE_START */
body.is-watch #animeHubPlayer .ah-player__seek em {
  bottom: 31px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #090909 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .22) !important;
}

body.is-watch #animeHubPlayer .ah-player__seek em::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #fff;
  transform: translateX(-50%);
  pointer-events: none;
}
/* ANIMEHUB_SEEK_TOOLTIP_WHITE_END */

/* ANIMEHUB_FILLED_PLAYER_CONTROLS_V1_START */
/* Seek tooltip: direct-id override beats the older white-text id rule. */
body.is-watch #animeHubPlayer #ahPlayerSeekTip {
  color: #090909 !important;
  -webkit-text-fill-color: #090909 !important;
  text-shadow: none !important;
}

/* Modern filled sound + settings icons. */
body.is-watch #animeHubPlayer #ahPlayerMute svg,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg {
  width: 25px !important;
  height: 25px !important;
  fill: currentColor !important;
  stroke: none !important;
  color: #fff !important;
}

body.is-watch #animeHubPlayer #ahPlayerMute svg path,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg path {
  fill: currentColor !important;
  stroke: none !important;
}

body.is-watch #animeHubPlayer #ahPlayerMute {
  color: #fff !important;
}

body.is-watch #animeHubPlayer #ahPlayerSettingsButton {
  color: #fff !important;
}

@media (max-width: 760px) {
  body.is-watch #animeHubPlayer #ahPlayerMute svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg {
    width: 18px !important;
    height: 18px !important;
  }
}
/* ANIMEHUB_FILLED_PLAYER_CONTROLS_V1_END */


/* 2026-10-08: crisp Senku-style filled controls */
body.is-watch #ahPlayerMute svg,
body.is-watch #ahPlayerSettingsButton svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: currentColor !important;
  stroke: none !important;
  stroke-width: 0 !important;
  shape-rendering: geometricPrecision;
}
body.is-watch #ahPlayerMute,
body.is-watch #ahPlayerSettingsButton {
  color: #fff !important;
}
@media (max-width: 700px) {
  body.is-watch #ahPlayerMute svg,
  body.is-watch #ahPlayerSettingsButton svg {
    width: 21px !important;
    height: 21px !important;
  }
}

/* ANIMEHUB_VOLUME_HOVER_V1_START
   Senku-style volume reveal: clean single icon, timeline yields space on hover,
   and a white percentage tooltip mirrors the seek tooltip. */
body.is-watch #animeHubPlayer .ah-player-volume-control {
  --ah-volume-pct: 80%;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  height: 34px !important;
  min-width: 34px !important;
}

/* Keep exactly one volume glyph visible. The previous crisp-icon override
   forced both SVG states to display:block, which caused the overlap. */
body.is-watch #animeHubPlayer #ahPlayerMute .is-sound {
  display: block !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute .is-muted {
  display: none !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute.is-muted .is-sound {
  display: none !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute.is-muted .is-muted {
  display: block !important;
}

/* Cleaner Senku-like speaker: solid body, precise rounded waves. */
body.is-watch #animeHubPlayer #ahPlayerMute svg {
  width: 23px !important;
  height: 23px !important;
  overflow: visible !important;
  color: #fff !important;
  fill: none !important;
  stroke: none !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute .ah-volume-speaker {
  fill: currentColor !important;
  stroke: none !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute .ah-volume-wave {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

body.is-watch #animeHubPlayer .ah-player-volume-control__expand {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: 0 !important;
  height: 30px !important;
  margin-left: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(-4px) scaleX(.88) !important;
  transform-origin: left center !important;
  transition:
    width .22s cubic-bezier(.2,.72,.25,1),
    margin-left .22s cubic-bezier(.2,.72,.25,1),
    opacity .14s ease,
    transform .22s cubic-bezier(.2,.72,.25,1) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    width: 96px !important;
    margin-left: 4px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) scaleX(1) !important;
  }
}

/* Override all older rules that hid the volume range. */
body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
  display: block !important;
  width: 92px !important;
  min-width: 92px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  opacity: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  accent-color: #fff !important;
}

body.is-watch #animeHubPlayer .ah-player__volume::-webkit-slider-runnable-track {
  height: 3px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to right,
    #fff 0,
    #fff var(--ah-volume-pct, 80%),
    rgba(255,255,255,.34) var(--ah-volume-pct, 80%),
    rgba(255,255,255,.34) 100%
  ) !important;
}
body.is-watch #animeHubPlayer .ah-player__volume::-webkit-slider-thumb {
  width: 10px !important;
  height: 10px !important;
  margin-top: -3.5px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
body.is-watch #animeHubPlayer .ah-player__volume::-moz-range-track {
  height: 3px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.34) !important;
}
body.is-watch #animeHubPlayer .ah-player__volume::-moz-range-progress {
  height: 3px !important;
  border-radius: 999px !important;
  background: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player__volume::-moz-range-thumb {
  width: 10px !important;
  height: 10px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.is-watch #animeHubPlayer .ah-player__volume-tip {
  position: absolute !important;
  left: 80%;
  bottom: 31px !important;
  z-index: 8 !important;
  display: block !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #090909 !important;
  -webkit-text-fill-color: #090909 !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(2px) !important;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.22) !important;
}
body.is-watch #animeHubPlayer .ah-player__volume-tip::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #fff;
  transform: translateX(-50%);
}
body.is-watch #animeHubPlayer .ah-player__volume:hover + .ah-player__volume-tip,
body.is-watch #animeHubPlayer .ah-player__volume:focus-visible + .ah-player__volume-tip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* On touch layouts keep the compact icon-only control. */
@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player-volume-control {
    height: 24px !important;
    min-width: 24px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control__expand {
    display: none !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerMute svg {
    width: 17px !important;
    height: 17px !important;
  }
}
/* ANIMEHUB_VOLUME_HOVER_V1_END */

/* ANIMEHUB_VOLUME_POLISH_V2_START
   Stable Senku-style reveal: JS owns open/close so dragging/focus cannot
   leave the control stuck open or cause hover-boundary oscillation. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control {
    height: 30px !important;
    min-width: 30px !important;
  }

  /* Override the old :hover/:focus-within expansion completely. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    width: 0 !important;
    margin-left: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-3px) scaleX(.96) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: 80px !important;
    margin-left: 2px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) scaleX(1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    width: 76px !important;
    min-width: 76px !important;
  }

  /* One optical box for every bottom-bar icon. */
  body.is-watch #animeHubPlayer .ah-player__play,
  body.is-watch #animeHubPlayer .ah-player__mute,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer #ahPlayerPip,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen {
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px !important;
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
  }

  body.is-watch #animeHubPlayer .ah-player__play svg,
  body.is-watch #animeHubPlayer .ah-player__mute svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer #ahPlayerPip svg,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    display: block !important;
  }

  body.is-watch #animeHubPlayer .ah-player__row {
    gap: 6px !important;
  }

  /* Give the timeline the space saved by tighter controls. */
  body.is-watch #animeHubPlayer .ah-player__seek {
    flex: 1 1 0 !important;
    min-width: 150px !important;
    margin-right: 2px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time b,
  body.is-watch #animeHubPlayer .ah-player__time span,
  body.is-watch #animeHubPlayer .ah-player__time i {
    font-family: "Unbounded", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: rgba(255,255,255,.72) !important;
    -webkit-text-fill-color: rgba(255,255,255,.72) !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time {
    gap: 5px !important;
    margin-right: 1px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time i {
    color: rgba(255,255,255,.44) !important;
    -webkit-text-fill-color: rgba(255,255,255,.44) !important;
  }
}

/* Keep touch layouts compact and visually aligned as well. */
@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player__play,
  body.is-watch #animeHubPlayer .ah-player__mute,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer #ahPlayerPip,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 3px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__play svg,
  body.is-watch #animeHubPlayer .ah-player__mute svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer #ahPlayerPip svg,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__row {
    gap: 2px !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time b,
  body.is-watch #animeHubPlayer .ah-player__time span,
  body.is-watch #animeHubPlayer .ah-player__time i {
    font-weight: 400 !important;
    color: rgba(255,255,255,.72) !important;
    -webkit-text-fill-color: rgba(255,255,255,.72) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time i {
    color: rgba(255,255,255,.44) !important;
    -webkit-text-fill-color: rgba(255,255,255,.44) !important;
  }
}
/* ANIMEHUB_VOLUME_POLISH_V2_END */


/* ANIMEHUB_SENKU_CONTROLS_POLISH_V3_START */
/* Watch page: the release countdown above the player is intentionally removed. */
body.is-watch #watchReleaseCountdown {
  display: none !important;
}

/* A single optical box for every control; no transforms on hover = no jitter. */
body.is-watch #animeHubPlayer .ah-player__play,
body.is-watch #animeHubPlayer .ah-player__mute,
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
body.is-watch #animeHubPlayer #ahPlayerPip,
body.is-watch #animeHubPlayer #ahPlayerFullscreen {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  padding: 6px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}

body.is-watch #animeHubPlayer .ah-player__play svg,
body.is-watch #animeHubPlayer .ah-player__mute svg,
body.is-watch #animeHubPlayer .ah-player__download svg,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
body.is-watch #animeHubPlayer #ahPlayerPip svg,
body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__play:hover,
  body.is-watch #animeHubPlayer .ah-player__mute:hover,
  body.is-watch #animeHubPlayer .ah-player__download:hover,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton:hover,
  body.is-watch #animeHubPlayer #ahPlayerPip:hover,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen:hover,
  body.is-watch #animeHubPlayer .ah-player-settings.is-open #ahPlayerSettingsButton {
    background: rgba(255,255,255,.11) !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
    -webkit-backdrop-filter: blur(9px) saturate(125%) !important;
    backdrop-filter: blur(9px) saturate(125%) !important;
  }
}

/* Keep play and pause inside one button; only one glyph may exist visually. */
body.is-watch #animeHubPlayer #ahPlayerPlay .is-play {
  display: block !important;
}
body.is-watch #animeHubPlayer #ahPlayerPlay .is-pause {
  display: none !important;
}
body.is-watch #animeHubPlayer.is-playing #ahPlayerPlay .is-play {
  display: none !important;
}
body.is-watch #animeHubPlayer.is-playing #ahPlayerPlay .is-pause {
  display: block !important;
}

/* Denser spacing gives the seek rail more room. */
body.is-watch #animeHubPlayer .ah-player__row {
  gap: 4px !important;
}
body.is-watch #animeHubPlayer .ah-player__seek {
  flex: 1 1 0 !important;
  min-width: 180px !important;
  margin: 0 1px 0 0 !important;
}

/* Thicker, still fully rounded timeline. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
  height: 5px !important;
  border-radius: 999px !important;
  overflow: visible !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress {
  height: 100% !important;
  border-radius: 999px !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
    height: 6px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb {
    width: 14px !important;
    height: 14px !important;
  }
}

/* Time is deliberately quiet: normal weight, warm-light gray. */
body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player__time b,
body.is-watch #animeHubPlayer .ah-player__time span {
  font-weight: 400 !important;
  color: rgba(245,245,245,.68) !important;
  -webkit-text-fill-color: rgba(245,245,245,.68) !important;
}
body.is-watch #animeHubPlayer .ah-player__time i {
  font-weight: 400 !important;
  color: rgba(245,245,245,.36) !important;
  -webkit-text-fill-color: rgba(245,245,245,.36) !important;
}

/* Fullscreen button swaps to the inward / collapse glyph. */
body.is-watch #animeHubPlayer #ahPlayerFullscreen .is-enter-fullscreen { display: block !important; }
body.is-watch #animeHubPlayer #ahPlayerFullscreen .is-exit-fullscreen { display: none !important; }
body.is-watch #animeHubPlayer:fullscreen #ahPlayerFullscreen .is-enter-fullscreen,
body.is-watch #animeHubPlayer:-webkit-full-screen #ahPlayerFullscreen .is-enter-fullscreen,
body.is-watch #animeHubPlayer #ahPlayerFullscreen.is-fullscreen .is-enter-fullscreen { display: none !important; }
body.is-watch #animeHubPlayer:fullscreen #ahPlayerFullscreen .is-exit-fullscreen,
body.is-watch #animeHubPlayer:-webkit-full-screen #ahPlayerFullscreen .is-exit-fullscreen,
body.is-watch #animeHubPlayer #ahPlayerFullscreen.is-fullscreen .is-exit-fullscreen { display: block !important; }

/* Senku-inspired settings card. Functional views are unchanged. */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  right: -8px !important;
  bottom: calc(100% + 10px) !important;
  width: 306px !important;
  min-width: 306px !important;
  padding: 9px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 18px !important;
  background: rgba(24,24,23,.96) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.46) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  backdrop-filter: blur(18px) saturate(120%) !important;
  overflow: hidden !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view > button,
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  min-height: 48px !important;
  padding: 0 12px !important;
  gap: 10px !important;
  border-radius: 12px !important;
  color: #f7f7f7 !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  transition: background-color .14s ease, color .14s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view > button:hover,
body.is-watch #animeHubPlayer .ah-player-settings__options > button:hover {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button .ah-player-settings__glyph {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(255,255,255,.76) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__glyph svg {
  width: 19px !important;
  height: 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__glyph svg circle {
  fill: currentColor !important;
  stroke: none !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button .ah-player-settings__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #f5f5f5 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button em {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  color: rgba(255,255,255,.48) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button b {
  color: rgba(255,255,255,.34) !important;
  margin-left: 1px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__back {
  min-height: 42px !important;
  margin-bottom: 6px !important;
  padding: 0 10px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.035) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__back span {
  font-size: 12px !important;
  color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options {
  max-height: 286px !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options::-webkit-scrollbar { display: none !important; }
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  min-height: 42px !important;
  padding: 0 12px 0 34px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.74) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button::before {
  left: 13px !important;
  width: 7px !important;
  height: 7px !important;
  border: 1.5px solid rgba(255,255,255,.42) !important;
  background: transparent !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active {
  background: rgba(255,255,255,.085) !important;
  color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active::before {
  width: 8px !important;
  height: 8px !important;
  border-color: #fff !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.08) !important;
}

/* Volume: explicit JS class owns the rail. No hover selector can re-open it. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    width: 0 !important;
    max-width: 0 !important;
    margin-left: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: 78px !important;
    max-width: 78px !important;
    margin-left: 2px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player__play,
  body.is-watch #animeHubPlayer .ah-player__mute,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer #ahPlayerPip,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    flex-basis: 26px !important;
    padding: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__play svg,
  body.is-watch #animeHubPlayer .ah-player__mute svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer #ahPlayerPip svg,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row { gap: 2px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek { min-width: 72px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek-track,
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track { height: 4px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb { width: 10px !important; height: 10px !important; }
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    right: -4px !important;
    width: min(282px, calc(100vw - 28px)) !important;
    min-width: 0 !important;
    border-radius: 15px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button { min-height: 44px !important; }
}
/* ANIMEHUB_SENKU_CONTROLS_POLISH_V3_END */


/* ANIMEHUB_CONTROLS_POLISH_V4_START
   Final compact controls pass: stable floating volume rail, peach settings
   selection, pause overlay actions, slightly slimmer seek bar. */

/* Slightly larger icons, but keep the row dense. */
body.is-watch #animeHubPlayer .ah-player__play,
body.is-watch #animeHubPlayer .ah-player__mute,
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
body.is-watch #animeHubPlayer #ahPlayerPip,
body.is-watch #animeHubPlayer #ahPlayerFullscreen {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  flex: 0 0 36px !important;
  padding: 6px !important;
}
body.is-watch #animeHubPlayer .ah-player__play svg,
body.is-watch #animeHubPlayer .ah-player__mute svg,
body.is-watch #animeHubPlayer .ah-player__download svg,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
body.is-watch #animeHubPlayer #ahPlayerPip svg,
body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
  width: 23px !important;
  height: 23px !important;
  max-width: 23px !important;
  max-height: 23px !important;
}
body.is-watch #animeHubPlayer .ah-player__row { gap: 3px !important; }

/* Timeline is a touch slimmer than v3 while retaining the rounded capsule. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
  height: 4px !important;
  border-radius: 999px !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 11px !important;
  height: 11px !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track { height: 5px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb {
    width: 13px !important;
    height: 13px !important;
  }
}

/* Volume v4: fixed 36px footprint, rail floats LEFT instead of reflowing the row. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control {
    position: relative !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    right: calc(100% + 4px) !important;
    left: auto !important;
    top: 50% !important;
    z-index: 14 !important;
    width: 88px !important;
    max-width: 88px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 999px !important;
    background: rgba(20,20,22,.72) !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.28) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(4px) scale(.96) !important;
    transform-origin: right center !important;
    transition: opacity .14s ease, transform .16s ease !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(-50%) translateX(0) scale(1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    width: 74px !important;
    min-width: 74px !important;
  }
}

/* Gear does one clean turn when settings are toggled. */
@keyframes ah-settings-one-turn {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
body.is-watch #animeHubPlayer #ahPlayerSettingsButton.is-turning svg {
  animation: ah-settings-one-turn .46s cubic-bezier(.35,.05,.25,1) both !important;
  transform-origin: 50% 50% !important;
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton.is-turning svg { animation: none !important; }
}

/* Submenu selection: no radio dots; selected row glows peach like Senku's red row. */
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  padding-left: 13px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button::before,
body.is-watch #animeHubPlayer .ah-player-settings__options > button::after {
  display: none !important;
  content: none !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(255,137,96,.96), rgba(255,157,119,.93)) !important;
  box-shadow: 0 5px 18px rgba(255,137,96,.18), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:hover {
  background: linear-gradient(90deg, rgba(255,145,103,1), rgba(255,168,132,.98)) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active em,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active span {
  color: #fff !important;
}

/* Paused playback overlay: -10 / play / +10. */
body.is-watch #animeHubPlayer .ah-player__pause-jump {
  position: absolute !important;
  top: 50% !important;
  z-index: 10 !important;
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 50% !important;
  background: rgba(18,19,22,.48) !important;
  color: #fff !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.24) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  cursor: pointer !important;
  transform: translateY(-50%) scale(.88) !important;
  transition: opacity .16s ease, transform .18s ease, background-color .14s ease !important;
}
body.is-watch #animeHubPlayer .ah-player__pause-jump--back { left: calc(50% - 106px) !important; }
body.is-watch #animeHubPlayer .ah-player__pause-jump--forward { left: calc(50% + 58px) !important; }
body.is-watch #animeHubPlayer .ah-player__pause-jump svg {
  width: 26px !important;
  height: 26px !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.is-watch #animeHubPlayer .ah-player__pause-jump svg text {
  fill: currentColor !important;
  stroke: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 6px !important;
  font-weight: 700 !important;
}
body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) .ah-player__pause-jump {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(-50%) scale(1) !important;
}
body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter {
  display: grid !important;
  width: 64px !important;
  height: 64px !important;
  z-index: 10 !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 50% !important;
  background: rgba(18,19,22,.48) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.28) !important;
  -webkit-backdrop-filter: blur(11px) saturate(120%) !important;
  backdrop-filter: blur(11px) saturate(120%) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter svg {
  width: 29px !important;
  height: 32px !important;
  margin-left: 3px !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__pause-jump:hover,
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter:hover {
    background: rgba(255,255,255,.15) !important;
  }
}
body.is-watch #animeHubPlayer.is-playing .ah-player__pause-jump,
body.is-watch #animeHubPlayer.is-loading .ah-player__pause-jump,
body.is-watch #animeHubPlayer:has(.ah-player__error:not([hidden])) .ah-player__pause-jump {
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player__play,
  body.is-watch #animeHubPlayer .ah-player__mute,
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer #ahPlayerPip,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    flex-basis: 28px !important;
    padding: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__play svg,
  body.is-watch #animeHubPlayer .ah-player__mute svg,
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer #ahPlayerPip svg,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row { gap: 2px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek-track,
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track { height: 3.5px !important; }
  body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb { width: 9px !important; height: 9px !important; }
  body.is-watch #animeHubPlayer .ah-player__pause-jump {
    width: 42px !important;
    height: 42px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--back { left: calc(50% - 88px) !important; }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--forward { left: calc(50% + 46px) !important; }
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter {
    width: 56px !important;
    height: 56px !important;
  }
}
/* ANIMEHUB_CONTROLS_POLISH_V4_END */

/* ANIMEHUB_CONTROLS_POLISH_V5_START
   Stable inline volume rail, brighter/rounder settings selection,
   visible gear click turn, cleaner pause overlay arrows. */

/* Settings: a little rounder and roomier, with a brighter peach selected row. */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  width: 318px !important;
  min-width: 318px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: rgba(22,22,22,.965) !important;
  border-color: rgba(255,255,255,.075) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.48) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button {
  min-height: 45px !important;
  padding: 0 14px !important;
  border-radius: 15px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button:hover:not(.is-active) {
  background: rgba(255,255,255,.085) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, #ff8c63 0%, #ffa47e 100%) !important;
  box-shadow:
    0 7px 24px rgba(255,139,94,.34),
    0 0 18px rgba(255,149,107,.16),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:hover {
  background: linear-gradient(90deg, #ff946d 0%, #ffad89 100%) !important;
}

/* Slightly slimmer timeline, still a smooth rounded capsule. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
  height: 3.5px !important;
  border-radius: 999px !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 10px !important;
  height: 10px !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
    height: 4.5px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb {
    width: 12px !important;
    height: 12px !important;
  }
}

/* Restore the earlier inline/right-side volume rail, but keep JS ownership.
   No :hover selector opens it, so the old hover-boundary oscillation cannot return. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 126px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    overflow: visible !important;
    transition: width .18s cubic-bezier(.2,.7,.2,1), flex-basis .18s cubic-bezier(.2,.7,.2,1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    width: 126px !important;
    min-width: 126px !important;
    flex-basis: 126px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    position: relative !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
    transition: width .18s cubic-bezier(.2,.7,.2,1), max-width .18s cubic-bezier(.2,.7,.2,1), margin-left .18s ease, opacity .12s ease !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    margin-left: 4px !important;
    padding: 0 4px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    width: 78px !important;
    min-width: 78px !important;
  }
}

/* Make the gear turn unmistakable on every click. */
@keyframes ah-settings-one-turn-v5 {
  0%   { transform: rotate(0deg) scale(1); filter: none; }
  48%  { transform: rotate(215deg) scale(1.09); filter: drop-shadow(0 0 5px rgba(255,255,255,.28)); }
  100% { transform: rotate(360deg) scale(1); filter: none; }
}
body.is-watch #animeHubPlayer #ahPlayerSettingsButton.is-turning svg {
  animation: ah-settings-one-turn-v5 .68s cubic-bezier(.22,.74,.22,1) both !important;
  transform-origin: 50% 50% !important;
  will-change: transform !important;
}

/* Pause overlay: clean chevrons, no circular-arrow curls or numbers. */
body.is-watch #animeHubPlayer .ah-player__pause-jump {
  width: 50px !important;
  height: 50px !important;
  background: rgba(28,19,31,.46) !important;
  border-color: rgba(255,255,255,.11) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
body.is-watch #animeHubPlayer .ah-player__pause-jump svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.05 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.is-watch #animeHubPlayer .ah-player__pause-jump--back { left: calc(50% - 112px) !important; }
body.is-watch #animeHubPlayer .ah-player__pause-jump--forward { left: calc(50% + 62px) !important; }
body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter svg {
  margin-left: 0 !important;
  transform: translateX(-2px) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__pause-jump:hover {
    background: rgba(255,255,255,.16) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.25), 0 0 18px rgba(255,255,255,.06) !important;
  }
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    width: min(286px, calc(100vw - 26px)) !important;
    min-width: 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__options { gap: 3px !important; }
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    min-height: 42px !important;
    border-radius: 13px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--back { left: calc(50% - 92px) !important; }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--forward { left: calc(50% + 50px) !important; }
}
/* ANIMEHUB_CONTROLS_POLISH_V5_END */

/* ANIMEHUB_VOLUME_POPOVER_V6_START
   Fixed-width controls row: the old horizontal volume rail now lives in a compact
   popover above the speaker. Settings card gets genuinely round corners and no
   peach halo around the selected item. */

/* Volume never changes the geometry of the controls row. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    overflow: visible !important;
    transition: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(100% + 10px) !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 17px !important;
    background: rgba(22,22,22,.88) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.30) !important;
    -webkit-backdrop-filter: blur(16px) saturate(112%) !important;
    backdrop-filter: blur(16px) saturate(112%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 7px) scale(.965) !important;
    transform-origin: 50% 100% !important;
    transition: opacity .14s ease, transform .18s cubic-bezier(.2,.75,.25,1) !important;
  }

  /* Invisible bridge so moving from the icon into the floating rail never closes it. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -12px !important;
    width: 52px !important;
    height: 13px !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 100% !important;
    width: 9px !important;
    height: 9px !important;
    background: rgba(22,22,22,.88) !important;
    border-right: 1px solid rgba(255,255,255,.07) !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
    transform: translate(-50%, -5px) rotate(45deg) !important;
    border-radius: 0 0 2px 0 !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    display: block !important;
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    height: 20px !important;
    margin: 0 !important;
  }

  body.is-watch #animeHubPlayer .ah-player__volume-tip {
    bottom: 39px !important;
  }
}

/* Settings: clearly rounder, no orange halo spilling outside the selected row. */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  border-radius: 28px !important;
  padding: 13px !important;
  border-color: rgba(255,255,255,.065) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.34) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view > button,
body.is-watch #animeHubPlayer .ah-player-settings__options > button,
body.is-watch #animeHubPlayer .ah-player-settings__back {
  border-radius: 18px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:hover {
  background: #ff946f !important;
  box-shadow: none !important;
  filter: none !important;
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    border-radius: 23px !important;
    padding: 11px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button,
  body.is-watch #animeHubPlayer .ah-player-settings__back {
    border-radius: 16px !important;
  }
}
/* ANIMEHUB_VOLUME_POPOVER_V6_END */

/* ANIMEHUB_SETTINGS_TOPMENUS_V7_START
   Sticky settings subviews, Senku-style subtitle toggle, unified top dropdowns,
   and small optical fixes requested after the v6 player polish. */

/* Central paused Play: optical center is one pixel to the right. */
body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter svg {
  margin-left: 0 !important;
  transform: translateX(1px) !important;
}

/* Download must never change geometry for a hover/loading frame. */
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer .ah-player__download:hover,
body.is-watch #animeHubPlayer .ah-player__download:focus,
body.is-watch #animeHubPlayer .ah-player__download:active,
body.is-watch #animeHubPlayer .ah-player__download.is-loading,
body.is-watch #animeHubPlayer .ah-player__download:disabled {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  flex: 0 0 36px !important;
  padding: 6px !important;
  transform: none !important;
}
body.is-watch #animeHubPlayer .ah-player__download svg,
body.is-watch #animeHubPlayer .ah-player__download:hover svg,
body.is-watch #animeHubPlayer .ah-player__download.is-loading svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  transform: none !important;
}

/* Top selectors now share the same visual language as Settings. */
body.is-watch #animeHubPlayer .ah-player-select > button {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border-radius: 13px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: background-color .14s ease, border-color .14s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-select > button:hover,
body.is-watch #animeHubPlayer .ah-player-select.is-open > button {
  background: rgba(24,24,23,.94) !important;
  border-color: rgba(255,255,255,.06) !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu {
  top: calc(100% + 8px) !important;
  min-width: 230px !important;
  max-width: 320px !important;
  max-height: 350px !important;
  padding: 10px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  background: rgba(22,22,22,.965) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.34) !important;
  -webkit-backdrop-filter: blur(18px) saturate(115%) !important;
  backdrop-filter: blur(18px) saturate(115%) !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu::-webkit-scrollbar { display: none !important; }
body.is-watch #animeHubPlayer .ah-player-select__menu button {
  position: relative !important;
  min-height: 44px !important;
  padding: 0 13px !important;
  margin: 0 0 4px !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: rgba(255,255,255,.76) !important;
  transition: background-color .14s ease, color .14s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu button:last-child { margin-bottom: 0 !important; }
body.is-watch #animeHubPlayer .ah-player-select__menu button:hover:not(.is-active) {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active,
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active:hover {
  background: #ff946f !important;
  color: #fff !important;
  box-shadow: none !important;
}
/* Remove the old radio dots from top selectors. */
body.is-watch #animeHubPlayer .ah-player-select__menu button::before,
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active::before {
  display: none !important;
  content: none !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu .ah-player-voice-badge {
  margin-left: auto !important;
}

/* Settings selection: clean peach row, never old radio-dot styling. */
body.is-watch #animeHubPlayer .ah-player-settings__options > button:not(.ah-player-settings__toggle-row) {
  padding-left: 14px !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > button::before,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active::before {
  display: none !important;
  content: none !important;
}

/* Senku-like subtitles control, with AnimeHub green enabled state. */
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  cursor: pointer !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row:hover:not(:disabled) {
  background: rgba(255,255,255,.10) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
  color: #f7f7f7 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-status {
  flex: 0 0 auto !important;
  margin: 0 9px 0 8px !important;
  color: rgba(255,255,255,.46) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle-status {
  color: #55d98b !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle {
  position: relative !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 26px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.20) !important;
  transition: background-color .18s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle i {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 2px 7px rgba(0,0,0,.28) !important;
  transform: translateX(0) !important;
  transition: transform .18s cubic-bezier(.2,.75,.25,1) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle.is-on {
  background: #35c875 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle.is-on i {
  transform: translateX(18px) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row:disabled {
  opacity: .48 !important;
  cursor: default !important;
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer .ah-player-select__menu {
    min-width: min(240px, calc(100vw - 30px)) !important;
    max-width: min(280px, calc(100vw - 30px)) !important;
    padding: 8px !important;
    border-radius: 18px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-select__menu button {
    min-height: 40px !important;
    border-radius: 12px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__download:hover,
  body.is-watch #animeHubPlayer .ah-player__download.is-loading,
  body.is-watch #animeHubPlayer .ah-player__download:disabled {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    flex-basis: 26px !important;
    padding: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__download svg,
  body.is-watch #animeHubPlayer .ah-player__download:hover svg,
  body.is-watch #animeHubPlayer .ah-player__download.is-loading svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }
}
/* ANIMEHUB_SETTINGS_TOPMENUS_V7_END */


/* ANIMEHUB_PLAYER_FIXES_V8_START
   Vertical stable volume popover, stronger Settings hover, and subtitle-source UI fixes. */

/* Volume: true vertical slider above the speaker. It floats and never changes row geometry. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    overflow: visible !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    left: 50% !important;
    right: auto !important;
    bottom: calc(100% + 10px) !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 132px !important;
    padding: 12px 0 !important;
    border-radius: 23px !important;
    background: rgba(20,20,20,.90) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
    transform: translate(-50%, 7px) scale(.97) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before {
    bottom: -13px !important;
    width: 44px !important;
    height: 14px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    transform: translate(-50%, 0) scale(1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    --ah-volume-vertical: 1;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 18px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) rotate(-90deg) !important;
    transform-origin: 50% 50% !important;
  }

  body.is-watch #animeHubPlayer .ah-player__volume-tip {
    left: calc(100% + 8px) !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) translateX(-2px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__volume:hover + .ah-player__volume-tip,
  body.is-watch #animeHubPlayer .ah-player__volume:focus-visible + .ah-player__volume-tip {
    transform: translateY(-50%) translateX(0) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__volume-tip::after {
    left: -6px !important;
    right: auto !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 6px solid transparent !important;
    border-bottom: 6px solid transparent !important;
    border-right: 7px solid #fff !important;
    border-left: 0 !important;
    transform: translateY(-50%) !important;
  }
}

/* Settings option hover must remain visible on every sub-page. */
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-settings__options > button:not(:disabled):not(.is-active):hover {
    background: rgba(255,255,255,.13) !important;
    color: #fff !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:hover {
    background: #ffa17f !important;
    color: #fff !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button:not(:disabled):hover,
  body.is-watch #animeHubPlayer .ah-player-settings__back:hover {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
  }
}

/* Subtitle toggle stays bright and clearly green when enabled. */
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active {
  background: rgba(53,200,117,.10) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle {
  background: #35c875 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle-status {
  color: #62e79a !important;
}

/* ANIMEHUB_PLAYER_FIXES_V8_END */

/* ANIMEHUB_PLAYER_POLISH_V9_START
   Horizontal volume rail inside a floating popover; neutral green toggles for
   subtitles/auto-skip; optimistic switch animation. */

/* Volume: keep the row geometry fixed, but show the familiar horizontal rail
   inside a compact floating capsule above the speaker. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    overflow: visible !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(100% + 9px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 15px !important;
    margin: 0 !important;
    border-radius: 18px !important;
    background: rgba(20,20,20,.92) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.22) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, 6px) scale(.97) !important;
    transform-origin: 50% 100% !important;
    transition:
      opacity .14s ease,
      visibility .14s ease,
      transform .18s cubic-bezier(.2,.75,.25,1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -12px !important;
    width: 52px !important;
    height: 13px !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    display: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    --ah-volume-vertical: 0;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    transform-origin: center !important;
  }

  body.is-watch #animeHubPlayer .ah-player__volume-tip {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(100% + 5px) !important;
    transform: translateX(-50%) translateY(2px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__volume:hover + .ah-player__volume-tip,
  body.is-watch #animeHubPlayer .ah-player__volume:focus-visible + .ah-player__volume-tip {
    transform: translateX(-50%) translateY(0) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__volume-tip::after {
    left: 50% !important;
    right: auto !important;
    top: calc(100% - 1px) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid #fff !important;
    border-bottom: 0 !important;
    transform: translateX(-50%) !important;
  }
}

/* Toggle rows must never inherit the peach selected-option fill. The only
   active colour here is the green switch/status. */
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row,
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row.is-active,
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row.is-active:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__options > .ah-player-settings__toggle-row:hover:not(:disabled) {
  background: rgba(255,255,255,.10) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle-label {
  color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle-status {
  color: #5be297 !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle,
body.is-watch #animeHubPlayer .ah-player-settings__toggle.is-on {
  background: #35c875 !important;
}

/* Smoother, more tactile switch movement. */
body.is-watch #animeHubPlayer .ah-player-settings__toggle {
  transition: background-color .2s ease, box-shadow .2s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle i {
  transition: transform .24s cubic-bezier(.22,.85,.24,1.18), box-shadow .2s ease !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle i {
  box-shadow: 0 2px 8px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.12) !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row.is-active .ah-player-settings__toggle {
  animation: ahToggleSettle .26s cubic-bezier(.2,.8,.25,1) both;
}
@keyframes ahToggleSettle {
  0% { transform: scale(.96); }
  55% { transform: scale(1.045); }
  100% { transform: scale(1); }
}

/* The subtitle source can take a moment to resolve/load, but the switch has
   already changed state. Keep it interactive-looking rather than orange. */
body.is-watch #animeHubPlayer .ah-player-settings.is-subtitle-switching [data-settings-view="subtitles"] .ah-player-settings__toggle-row {
  border-color: rgba(53,200,117,.22) !important;
}

/* Two independent auto-skip switches use the same neutral/green language. */
body.is-watch #animeHubPlayer .ah-player-settings__toggle-row--skip + .ah-player-settings__toggle-row--skip {
  margin-top: 7px !important;
}

/* ANIMEHUB_PLAYER_POLISH_V9_END */


/* ANIMEHUB_PLAYER_POLISH_V10_START
   Volume popover fit/tail, selected-option hover lock, speed typography,
   and episode-menu alignment polish. */

@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    box-sizing: border-box !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 16px !important;
    border-radius: 19px !important;
    overflow: visible !important;
  }

  /* invisible bridge: keeps hover stable while moving from speaker to popover */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -15px !important;
    width: 58px !important;
    height: 16px !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  /* visible speech-bubble tail, matching the seek tooltip shape */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -7px !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 8px solid transparent !important;
    border-right: 8px solid transparent !important;
    border-top: 8px solid rgba(20,20,20,.92) !important;
    border-bottom: 0 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}

/* Selected options are already the state cue: hovering them must not alter them. */
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:not(.ah-player-settings__toggle-row),
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:not(.ah-player-settings__toggle-row):hover,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active:not(.ah-player-settings__toggle-row):focus-visible {
  background: #ff946f !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Speed list uses the same weight/size as Quality, while keeping natural casing. */
body.is-watch #animeHubPlayer #ahPlayerSpeedOptions > button,
body.is-watch #animeHubPlayer #ahPlayerSpeedOptions > button > span {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Episode list stays scrollable without exposing a scrollbar. JS positions the
   current episode on row 2 whenever possible, leaving the previous episode above. */
body.is-watch #animeHubPlayer [data-player-select="episode"] .ah-player-select__menu {
  scroll-behavior: auto !important;
  overscroll-behavior: contain !important;
}

@media (max-width: 760px), (hover: none) {
  body.is-watch #animeHubPlayer #ahPlayerSpeedOptions > button,
  body.is-watch #animeHubPlayer #ahPlayerSpeedOptions > button > span {
    font-size: 10px !important;
  }
}

/* ANIMEHUB_PLAYER_POLISH_V10_END */

/* ANIMEHUB_VOLUME_SIDE_V11_START
   Desktop only: the volume rail opens strictly from the speaker button and
   expands to the RIGHT of it. The player row keeps one geometry owner (.is-open),
   so hovering gaps/neighbouring controls cannot make the volume UI oscillate. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    overflow: visible !important;
    transition:
      width .20s cubic-bezier(.22,.72,.2,1),
      min-width .20s cubic-bezier(.22,.72,.2,1),
      max-width .20s cubic-bezier(.22,.72,.2,1),
      flex-basis .20s cubic-bezier(.22,.72,.2,1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    flex-basis: 132px !important;
  }

  /* Closed state stays closed even when the pointer passes through the parent box.
     JS adds .is-open only from #ahPlayerMute pointerenter/focus. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: translateX(-4px) !important;
    transform-origin: left center !important;
    transition:
      width .20s cubic-bezier(.22,.72,.2,1),
      min-width .20s cubic-bezier(.22,.72,.2,1),
      max-width .20s cubic-bezier(.22,.72,.2,1),
      margin-left .20s cubic-bezier(.22,.72,.2,1),
      opacity .12s ease,
      transform .20s cubic-bezier(.22,.72,.2,1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before,
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    content: none !important;
    display: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    margin-left: 4px !important;
    padding: 0 3px !important;
    overflow: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume {
    --ah-volume-vertical: 0;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    transform-origin: center !important;
  }

  /* Percentage tooltip follows the horizontal rail and stays above it. */
  body.is-watch #animeHubPlayer .ah-player__volume-tip {
    top: auto !important;
    bottom: 31px !important;
  }
}
/* ANIMEHUB_VOLUME_SIDE_V11_END */


/* ANIMEHUB_PLAYER_SIDEPANEL_V13_START
   Normal watch page only. Keep Together's direct-child grid untouched. */
body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  grid-template-areas:
    "countdown countdown"
    "player side"
    "rail rail"
    "comments comments" !important;
  align-items: stretch !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  width: min(100%, 1920px) !important;
  max-width: 1920px !important;
  margin: 0 auto !important;
}

body.is-watch:not(.is-together) #watchPlayerPage > #watchReleaseCountdown {
  grid-area: countdown !important;
  width: 100% !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > #animeHubPlayer {
  grid-area: player !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch !important;
  align-self: start !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > #ahPlayerSidePanel {
  grid-area: side !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap {
  grid-area: rail !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > .episode-comments {
  grid-area: comments !important;
}

/* Glass hover for the top selectors instead of the old solid black tile. */
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-select > button:hover,
  body.is-watch #animeHubPlayer .ah-player-select.is-open > button {
    background: rgba(255,255,255,.085) !important;
    border-color: rgba(255,255,255,.13) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.11),
      0 7px 22px rgba(0,0,0,.16) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
    backdrop-filter: blur(14px) saturate(125%) !important;
  }
}

.ah-player-sidepanel {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: 26px;
  padding: 22px 18px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 22px;
  background: rgba(17,17,17,.96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  color: #fff;
  overflow: hidden;
}
body.is-together .ah-player-sidepanel { display: none !important; }
.ah-player-sidepanel button,
.ah-player-sidepanel span,
.ah-player-sidepanel h3 {
  color: #fff;
}


.ah-player-sidepanel__section {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}
.ah-player-sidepanel__section--quick {
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.065);
}
.ah-player-sidepanel__title {
  margin: 0;
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

.ah-player-sidepanel__players {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.ah-player-sidepanel__player,
.ah-player-sidepanel__quick {
  box-sizing: border-box;
  border: 0;
  outline: none;
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-weight: 800;
  cursor: pointer;
  transition:
    background-color .16s ease,
    color .16s ease,
    transform .16s ease;
}
.ah-player-sidepanel__player {
  min-width: 0;
  height: 38px;
  padding: 0 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
  font-size: 10px;
  white-space: nowrap;
}
.ah-player-sidepanel__player:hover:not(.is-active) {
  background: rgba(255,255,255,.095);
  color: #fff;
}
.ah-player-sidepanel__player.is-active,
.ah-player-sidepanel__player[aria-pressed="true"] {
  background: #ff946f;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.ah-player-sidepanel__quick-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.ah-player-sidepanel__quick {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  border-radius: 15px;
  background: rgba(255,255,255,.055);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
}
.ah-player-sidepanel__quick span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ah-player-sidepanel__quick svg,
.ah-player-sidepanel__seek-button svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ah-player-sidepanel__quick:hover:not(:disabled) {
  background: #ff946f;
  color: #fff;
  transform: translateY(-1px);
}
.ah-player-sidepanel__quick:active:not(:disabled) {
  transform: translateY(0) scale(.988);
}
.ah-player-sidepanel__quick:disabled {
  opacity: .34;
  cursor: default;
}

.ah-player-sidepanel__seek-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  min-height: 50px;
  align-items: center;
  border-radius: 15px;
  background: rgba(255,255,255,.055);
  color: #fff;
  overflow: hidden;
  transition: background-color .16s ease, transform .16s ease;
}
.ah-player-sidepanel__seek-row:hover {
  background: #ff946f;
}
.ah-player-sidepanel__seek-row:active {
  transform: scale(.992);
}
.ah-player-sidepanel__seek-label {
  min-width: 0;
  padding: 0 6px;
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}
.ah-player-sidepanel__seek-button {
  display: grid;
  width: 42px;
  height: 100%;
  min-height: 50px;
  place-items: center;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.ah-player-sidepanel__seek-button:hover {
  background: rgba(255,255,255,.10);
}
.ah-player-sidepanel__seek-button:active {
  background: rgba(255,255,255,.16);
}

/* Keep the panel comfortable on narrower desktop/tablet widths without
   squeezing the video into a tiny column. */
@media (max-width: 1180px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) 276px !important;
    column-gap: 12px !important;
  }
  .ah-player-sidepanel {
    padding: 18px 14px;
    border-radius: 18px;
  }
  .ah-player-sidepanel__players { gap: 5px; }
  .ah-player-sidepanel__player { padding-inline: 5px; font-size: 9px; }
  .ah-player-sidepanel__quick { min-height: 48px; padding-inline: 11px; font-size: 9px; }
  .ah-player-sidepanel__seek-row { grid-template-columns: 38px minmax(0, 1fr) 38px; min-height: 48px; }
  .ah-player-sidepanel__seek-button { width: 38px; min-height: 48px; }
  .ah-player-sidepanel__seek-label { font-size: 8px; }
}

@media (max-width: 980px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "countdown"
      "player"
      "side"
      "rail"
      "comments" !important;
    row-gap: 14px !important;
  }
  .ah-player-sidepanel {
    min-height: 0;
    gap: 18px;
    padding: 16px;
  }
  .ah-player-sidepanel__section--quick {
    padding-top: 16px;
  }
}

@media (max-width: 560px) {
  .ah-player-sidepanel {
    border-radius: 16px;
    padding: 14px 12px;
  }
  .ah-player-sidepanel__players {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ah-player-sidepanel__player {
    height: 36px;
    font-size: 8px;
  }
  .ah-player-sidepanel__quick {
    min-height: 46px;
    font-size: 8px;
  }
  .ah-player-sidepanel__seek-row { grid-template-columns: 36px minmax(0, 1fr) 36px; min-height: 46px; }
  .ah-player-sidepanel__seek-button { width: 36px; min-height: 46px; }
  .ah-player-sidepanel__seek-label { font-size: 7.5px; }
}
/* ANIMEHUB_PLAYER_SIDEPANEL_V13_END */

/* === Side panel v14: unified quick actions === */
.ah-player-sidepanel__title {
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

.ah-player-sidepanel__player {
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-weight: 800 !important;
  text-transform: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.ah-player-sidepanel__player:hover:not(.is-active):not([aria-pressed="true"]) {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.ah-player-sidepanel__player.is-active,
.ah-player-sidepanel__player[aria-pressed="true"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.ah-player-sidepanel__quick-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 -6px;
}

.ah-player-sidepanel__action-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  min-height: 48px;
  align-items: center;
  border-radius: 14px;
  background: transparent;
  color: #fff;
  overflow: hidden;
  transition: background-color .16s ease, transform .16s ease;
}
.ah-player-sidepanel__action-row:hover {
  background: #ff946f;
}
.ah-player-sidepanel__action-row:active {
  transform: scale(.992);
}

.ah-player-sidepanel__action-label {
  min-width: 0;
  padding: 0 5px;
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center;
  text-transform: none !important;
  white-space: nowrap;
}

.ah-player-sidepanel__action-arrow {
  display: grid;
  width: 42px;
  height: 100%;
  min-height: 48px;
  place-items: center;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: #fff !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background-color .14s ease, transform .14s ease;
}
.ah-player-sidepanel__action-arrow:hover:not(:disabled) {
  background: rgba(255,255,255,.12) !important;
}
.ah-player-sidepanel__action-arrow:active:not(:disabled) {
  transform: scale(.9);
}
.ah-player-sidepanel__action-arrow:disabled {
  opacity: .28;
  cursor: default;
}
.ah-player-sidepanel__action-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Retire the old card-based quick action styling in this revision. */
.ah-player-sidepanel__quick-grid,
.ah-player-sidepanel__quick,
.ah-player-sidepanel__seek-row,
.ah-player-sidepanel__seek-button,
.ah-player-sidepanel__seek-label {
  /* old classes are no longer rendered; keep them inert if stale markup is cached */
}

@media (max-width: 1180px) {
  .ah-player-sidepanel__action-row {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    min-height: 46px;
  }
  .ah-player-sidepanel__action-arrow {
    width: 38px;
    min-height: 46px;
  }
  .ah-player-sidepanel__action-label {
    font-size: 8px !important;
  }
}

/* === Side panel v15: compact player pills + clearer quick actions === */
.ah-player-sidepanel__players {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}

.ah-player-sidepanel__player {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 32px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  outline: 0 !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transition: background-color .14s ease, transform .14s ease !important;
}

.ah-player-sidepanel__player:hover:not(.is-active):not([aria-pressed="true"]) {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(255,255,255,.095) !important;
  box-shadow: none !important;
  transform: none !important;
}

.ah-player-sidepanel__player.is-active,
.ah-player-sidepanel__player[aria-pressed="true"] {
  border: 0 !important;
  outline: 0 !important;
  background: #ff946f !important;
  box-shadow: none !important;
}

.ah-player-sidepanel__quick-list {
  gap: 4px !important;
  margin: 0 -4px !important;
}

.ah-player-sidepanel__action-row {
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 11px !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color .14s ease !important;
}

.ah-player-sidepanel__action-row:hover {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(255,148,111,.12) !important;
  box-shadow: none !important;
  transform: none !important;
}

.ah-player-sidepanel__action-row:active {
  background: rgba(255,148,111,.17) !important;
  transform: none !important;
}

.ah-player-sidepanel__action-label {
  padding: 0 7px !important;
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.ah-player-sidepanel__action-arrow {
  width: 38px !important;
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ah-player-sidepanel__action-arrow:hover:not(:disabled) {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(1.08) !important;
}

.ah-player-sidepanel__action-arrow:active:not(:disabled) {
  background: transparent !important;
  transform: scale(.94) !important;
}

.ah-player-sidepanel__action-arrow svg {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 1180px) {
  .ah-player-sidepanel__players { gap: 5px !important; }
  .ah-player-sidepanel__player {
    height: 30px !important;
    padding: 0 10px !important;
    font-size: 8.5px !important;
  }
  .ah-player-sidepanel__action-row {
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    min-height: 48px !important;
  }
  .ah-player-sidepanel__action-arrow {
    width: 36px !important;
    min-height: 48px !important;
  }
  .ah-player-sidepanel__action-label {
    font-size: 10.5px !important;
  }
}

/* === Side panel v17: spacing cleanup + slightly larger player labels === */
.ah-player-sidepanel {
  gap: 18px !important;
}

.ah-player-sidepanel__section {
  gap: 16px !important;
}

.ah-player-sidepanel__section--quick {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.ah-player-sidepanel__player {
  font-size: 10px !important;
}

@media (max-width: 1180px) {
  .ah-player-sidepanel {
    gap: 16px !important;
  }
  .ah-player-sidepanel__section {
    gap: 14px !important;
  }
  .ah-player-sidepanel__player {
    font-size: 9.5px !important;
  }
}
/* === Side panel v17 end === */

/* === Side panel v18: brighter player labels + refined vertical rhythm === */
.ah-player-sidepanel {
  gap: 14px !important;
}

.ah-player-sidepanel__section {
  gap: 20px !important;
}

.ah-player-sidepanel__section--quick {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.ah-player-sidepanel__player {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
}

.ah-player-sidepanel__player * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

@media (max-width: 1180px) {
  .ah-player-sidepanel {
    gap: 12px !important;
  }
  .ah-player-sidepanel__section {
    gap: 18px !important;
  }
  .ah-player-sidepanel__player {
    font-size: 10.5px !important;
  }
}
/* === Side panel v18 end === */

/* === Side panel v19: move quick-actions block slightly lower === */
.ah-player-sidepanel {
  gap: 22px !important;
}

@media (max-width: 1180px) {
  .ah-player-sidepanel {
    gap: 19px !important;
  }
}
/* === Side panel v19 end === */


/* === Player layout v20: Senku-like heading + glass controls === */
body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
  grid-template-areas:
    "countdown countdown"
    "heading ."
    "player side"
    "rail rail"
    "comments comments" !important;
}

body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading {
  grid-area: heading !important;
}

.ah-watch-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
  margin: 0 0 14px 0;
  color: #fff;
}
body.is-together .ah-watch-heading {
  display: none !important;
}

.ah-watch-heading__back {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 13px;
  outline: 0;
  background: rgba(255,255,255,.065);
  color: #fff;
  text-decoration: none;
  box-shadow: none;
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  backdrop-filter: blur(16px) saturate(125%);
  transition: background-color .16s ease, transform .16s ease;
}
.ah-watch-heading__back:hover {
  background: rgba(255,255,255,.12);
  transform: translateX(-1px);
}
.ah-watch-heading__back:active {
  transform: translateX(-1px) scale(.96);
}
.ah-watch-heading__back svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ah-watch-heading__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.ah-watch-heading__copy h1 {
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(18px, 1.55vw, 25px);
  font-weight: 800;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ah-watch-heading__copy span {
  color: rgba(255,255,255,.52);
  font-family: "Unbounded", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

/* The title now lives above the player. Keep the old runtime target hidden. */
body.is-watch:not(.is-together) #animeHubPlayer #ahPlayerTitle {
  display: none !important;
}

/* Top selector hover/open keeps the glass, but no visible outline. */
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-select > button:hover,
  body.is-watch #animeHubPlayer .ah-player-select.is-open > button {
    border-color: transparent !important;
    outline: 0 !important;
    background: rgba(255,255,255,.085) !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.14) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
    backdrop-filter: blur(14px) saturate(125%) !important;
  }
}

/* Every icon in the lower control row gets the same borderless glass circle. */
body.is-watch #animeHubPlayer .ah-player__play,
body.is-watch #animeHubPlayer #ahPlayerMute,
body.is-watch #animeHubPlayer .ah-player__download,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton,
body.is-watch #animeHubPlayer #ahPlayerPip,
body.is-watch #animeHubPlayer #ahPlayerFullscreen {
  box-sizing: border-box !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  flex: 0 0 38px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: rgba(15,15,17,.34) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.075) !important;
  -webkit-backdrop-filter: blur(13px) saturate(120%) !important;
  backdrop-filter: blur(13px) saturate(120%) !important;
  transition: background-color .15s ease, transform .15s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__play:hover,
  body.is-watch #animeHubPlayer #ahPlayerMute:hover,
  body.is-watch #animeHubPlayer .ah-player__download:hover,
  body.is-watch #animeHubPlayer #ahPlayerSettingsButton:hover,
  body.is-watch #animeHubPlayer #ahPlayerPip:hover,
  body.is-watch #animeHubPlayer #ahPlayerFullscreen:hover {
    border: 0 !important;
    outline: 0 !important;
    background: rgba(255,255,255,.14) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09) !important;
    transform: none !important;
  }
}

body.is-watch #animeHubPlayer .ah-player__play:active,
body.is-watch #animeHubPlayer #ahPlayerMute:active,
body.is-watch #animeHubPlayer .ah-player__download:active,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton:active,
body.is-watch #animeHubPlayer #ahPlayerPip:active,
body.is-watch #animeHubPlayer #ahPlayerFullscreen:active {
  transform: scale(.94) !important;
}

body.is-watch #animeHubPlayer .ah-player__play svg,
body.is-watch #animeHubPlayer #ahPlayerMute svg,
body.is-watch #animeHubPlayer .ah-player__download svg,
body.is-watch #animeHubPlayer #ahPlayerSettingsButton svg,
body.is-watch #animeHubPlayer #ahPlayerPip svg,
body.is-watch #animeHubPlayer #ahPlayerFullscreen svg {
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 980px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-areas:
      "countdown"
      "heading"
      "player"
      "side"
      "rail"
      "comments" !important;
  }
  .ah-watch-heading {
    margin-bottom: 10px;
  }
}

@media (max-width: 560px) {
  .ah-watch-heading {
    gap: 10px;
  }
  .ah-watch-heading__back {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 11px;
  }
  .ah-watch-heading__copy h1 {
    font-size: 16px;
  }
  .ah-watch-heading__copy span {
    font-size: 9px;
  }
}
/* === Player layout v20 end === */

/* === Player controls v21: YouTube-like dimmed grouped actions === */
/* Top selects: use a calm darkening instead of glass. */
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-select > button:hover,
  body.is-watch #animeHubPlayer .ah-player-select.is-open > button {
    border: 0 !important;
    outline: 0 !important;
    background: rgba(24, 24, 27, .78) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
body.is-watch #animeHubPlayer .ah-player-select__menu {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
}

/* Back/title button uses the same darkened language, not glass. */
.ah-watch-heading__back {
  border: 0 !important;
  background: rgba(30,30,33,.78) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.ah-watch-heading__back:hover {
  background: rgba(47,47,51,.92) !important;
}

/* Keep Play as a separate compact dimmed circle. */
body.is-watch #animeHubPlayer .ah-player__play {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  flex: 0 0 38px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(31,31,34,.80) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__play:hover {
    background: rgba(54,54,58,.94) !important;
    box-shadow: none !important;
  }
}

/* Right-side controls are one unified YouTube-like capsule. */
body.is-watch #animeHubPlayer .ah-player__actions-cluster {
  position: relative;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1px !important;
  min-height: 42px !important;
  padding: 3px 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: rgba(31,31,34,.80) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

/* Individual buttons no longer have their own circles. */
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute,
body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute svg,
body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download svg,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton svg,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip svg,
body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen svg {
  width: 19px !important;
  height: 19px !important;
}

@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute:hover,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download:hover,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton:hover,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip:hover,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen:hover,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player-settings.is-open #ahPlayerSettingsButton {
    border: 0 !important;
    outline: 0 !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

/* Volume expansion lives inside the capsule and remains visually connected. */
body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player-volume-control {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player-volume-control__expand {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Settings popover should read as a dark surface too, not glass. */
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  border: 0 !important;
  background: rgba(24,24,26,.97) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.30) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 760px) {
  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    min-height: 34px !important;
    padding: 2px 3px !important;
    gap: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    flex-basis: 28px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen svg {
    width: 17px !important;
    height: 17px !important;
  }
}
/* === Player controls v21 end === */

/* === Player controls v22: rounded play + unified top capsule === */
/* One dark capsule for season / episode / translation, mirroring the bottom actions cluster. */
body.is-watch #animeHubPlayer .ah-player__top {
  align-items: flex-start !important;
  gap: 10px !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster {
  position: relative !important;
  display: flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  gap: 1px !important;
  min-height: 42px !important;
  padding: 3px 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: rgba(31,31,34,.80) !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select {
  flex: 0 0 auto !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button:hover,
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select.is-open > button {
    border: 0 !important;
    outline: 0 !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
  }
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select.is-open > button {
  background: rgba(255,255,255,.10) !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select__menu {
  top: calc(100% + 9px) !important;
}

/* Bottom play button: larger, softer rounded play glyph. */
body.is-watch #animeHubPlayer .ah-player__play .is-play {
  width: 24px !important;
  height: 24px !important;
  transform: translateX(1px) !important;
  overflow: visible !important;
}
body.is-watch #animeHubPlayer .ah-player__play .is-play path {
  stroke: none !important;
  vector-effect: non-scaling-stroke !important;
}

/* Match the classic YouTube pause glyph to the play icon's visual size. */
body.is-watch #animeHubPlayer .ah-player__play .is-pause {
  width: 24px !important;
  height: 24px !important;
  overflow: visible !important;
}

@media (max-width: 760px) {
  body.is-watch #animeHubPlayer .ah-player__top-cluster {
    min-height: 34px !important;
    padding: 2px 3px !important;
    gap: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button {
    min-height: 28px !important;
    height: 28px !important;
    padding-inline: 7px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__play .is-play {
    width: 21px !important;
    height: 21px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__play .is-pause {
    width: 21px !important;
    height: 21px !important;
  }
}
/* === Player controls v22 end === */


/* === Professional lighting v24 === */
/* Full-screen lighting behaves as a real page background, not a color layer over UI. */
body.is-watch .watch-player-page {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate !important;
}

/* Dynamic video frame behind the page. Kept below all watch-page content. */
body.is-watch .ah-player-ambient-page {
  position: fixed !important;
  inset: -3vmax !important;
  z-index: -2 !important;
  width: calc(100vw + 6vmax) !important;
  height: calc(100vh + 6vmax) !important;
  pointer-events: none !important;
  opacity: 0 !important;
  filter: blur(22px) saturate(1.06) brightness(.62) !important;
  transform: scale(1.025) !important;
  transform-origin: center !important;
  transition: opacity .28s ease !important;
  will-change: opacity, transform !important;
}

body.is-watch:not(.is-together) .watch-player-page.has-professional-lighting-screen .ah-player-ambient-page {
  opacity: .78 !important;
}

/* Neutral darkening lives behind content too, so it never tints buttons/text/cards. */
body.is-watch:not(.is-together) .watch-player-page.has-professional-lighting-screen::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: rgba(5, 5, 5, .22) !important;
}

body.is-watch #animeHubPlayer .ah-player__ambient {
  position: absolute !important;
  inset: -4% !important;
  z-index: 0 !important;
  width: 108% !important;
  height: 108% !important;
  pointer-events: none !important;
  opacity: 0 !important;
  filter: blur(24px) saturate(1.12) brightness(.76) !important;
  transform: scale(1.025) !important;
  transition: opacity .24s ease !important;
  will-change: opacity !important;
}

body.is-watch #animeHubPlayer.has-professional-lighting-player .ah-player__ambient,
body.is-watch #animeHubPlayer:fullscreen.has-professional-lighting-screen .ah-player__ambient,
body.is-watch #animeHubPlayer:-webkit-full-screen.has-professional-lighting-screen .ah-player__ambient {
  opacity: .88 !important;
}

body.is-watch #animeHubPlayer.has-professional-lighting-player .ah-player__video,
body.is-watch #animeHubPlayer.has-professional-lighting-player .ah-player__upscale,
body.is-watch #animeHubPlayer:fullscreen.has-professional-lighting-screen .ah-player__video,
body.is-watch #animeHubPlayer:fullscreen.has-professional-lighting-screen .ah-player__upscale,
body.is-watch #animeHubPlayer:-webkit-full-screen.has-professional-lighting-screen .ah-player__video,
body.is-watch #animeHubPlayer:-webkit-full-screen.has-professional-lighting-screen .ah-player__upscale {
  background: transparent !important;
}

body.is-watch #animeHubPlayer.is-embed .ah-player__ambient,
body.is-watch #animeHubPlayer.is-kodik .ah-player__ambient,
body.is-watch #animeHubPlayer.is-senku .ah-player__ambient {
  opacity: 0 !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] {
  max-height: min(360px, calc(100svh - 150px)) !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"]::-webkit-scrollbar {
  display: none !important;
}

body.is-watch #animeHubPlayer [data-settings-open="lighting"] .ah-player-settings__label {
  font-size: 11px !important;
  line-height: 1.15 !important;
}

body.is-watch #animeHubPlayer .ah-player-settings__toggle-row--lighting + .ah-player-settings__toggle-row--lighting {
  margin-top: 7px !important;
}

@media (max-width: 760px) {
  body.is-watch .ah-player-ambient-page {
    inset: -2vmax !important;
    width: calc(100vw + 4vmax) !important;
    height: calc(100vh + 4vmax) !important;
    filter: blur(18px) saturate(1.04) brightness(.58) !important;
    transform: scale(1.02) !important;
    opacity: 0 !important;
  }
  body.is-watch:not(.is-together) .watch-player-page.has-professional-lighting-screen .ah-player-ambient-page {
    opacity: .72 !important;
  }
  body.is-watch:not(.is-together) .watch-player-page.has-professional-lighting-screen::before {
    background: rgba(5, 5, 5, .26) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__ambient {
    filter: blur(20px) saturate(1.08) brightness(.72) !important;
  }
  body.is-watch #animeHubPlayer [data-settings-open="lighting"] .ah-player-settings__label {
    font-size: 10px !important;
  }
}
/* === Professional lighting v24 end === */


/* === Professional lighting footer layering v25 === */
/* Keep the animated page lighting behind the footer, while the footer itself
   stays as a clean opaque card just like it does on the profile page. */
body.is-watch.has-professional-lighting-screen .site-footer {
  position: relative !important;
  z-index: 6 !important;
  isolation: isolate !important;
  background: transparent !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.is-watch.has-professional-lighting-screen .site-footer__panel {
  position: relative !important;
  z-index: 1 !important;
  background: #141414 !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Some older footer effects use pseudo-elements / inherited filters.  They
   must not sit between the card and its content while ambient lighting is on. */
body.is-watch.has-professional-lighting-screen .site-footer__panel::before,
body.is-watch.has-professional-lighting-screen .site-footer__panel::after {
  filter: none !important;
  -webkit-filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.is-watch.has-professional-lighting-screen .site-footer__panel > * {
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  filter: none !important;
}
/* === Professional lighting footer layering v25 end === */


/* ANIMEHUB_WATCH_UI_V28_START
   - top dropdown lists use the same dark translucent menu language as settings
   - professional lighting is softened with less blur
   - in Kodik / Senku modes only native player controls should remain
   - loader switched from atom/orbit to a cleaner animated wave (inspired by GitHub CSS loader collections such as SpinKit)
*/

/* Top dropdown menus: same dark translucent feel as settings */
body.is-watch #animeHubPlayer .ah-player-select__menu,
body.is-watch #animeHubPlayer .ah-player-settings__menu,
body.is-watch #animeHubPlayer .ah-player-speed__menu,
body.is-watch #animeHubPlayer .ah-player-subtitles__menu,
body.is-watch #animeHubPlayer .ah-player-quality__menu {
  background: rgba(13, 13, 15, .78) !important;
  border-color: rgba(255,255,255,.055) !important;
  -webkit-backdrop-filter: blur(18px) saturate(122%) !important;
  backdrop-filter: blur(18px) saturate(122%) !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button:hover,
body.is-watch #animeHubPlayer .ah-player-settings__view > button:hover,
body.is-watch #animeHubPlayer .ah-player-settings__options > button:hover,
body.is-watch #animeHubPlayer .ah-player-speed__menu button:hover,
body.is-watch #animeHubPlayer .ah-player-subtitles__menu button:hover,
body.is-watch #animeHubPlayer .ah-player-quality__menu button:hover {
  background: rgba(255,255,255,.072) !important;
}

body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active,
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button:first-child,
body.is-watch #animeHubPlayer .ah-player-settings__options > button.is-active,
body.is-watch #animeHubPlayer .ah-player-speed__menu button.is-active,
body.is-watch #animeHubPlayer .ah-player-subtitles__menu button.is-active,
body.is-watch #animeHubPlayer .ah-player-quality__menu button.is-active {
  background: rgba(255,255,255,.095) !important;
}

/* Soften the blur for ambient / lighting */
body.is-watch .ah-player__backdrop {
  filter: blur(12px) brightness(.58) !important;
  transform: scale(1.03) !important;
}

body.is-watch .ah-player-ambient-page {
  filter: blur(15px) saturate(1.04) brightness(.66) !important;
  transform: scale(1.018) !important;
}

body.is-watch #animeHubPlayer .ah-player__ambient {
  filter: blur(16px) saturate(1.08) brightness(.8) !important;
  transform: scale(1.018) !important;
}

/* In Kodik / Senku leave only the native player controls */
body.is-watch #animeHubPlayer.is-kodik .ah-player__controls,
body.is-watch #animeHubPlayer.is-kodik .ah-player__center,
body.is-watch #animeHubPlayer.is-kodik .ah-player__pause-jump,
body.is-watch #animeHubPlayer.is-kodik .ah-player__skip,
body.is-watch #animeHubPlayer.is-kodik .ah-player__seek-flash,
body.is-watch #animeHubPlayer.is-kodik .ah-player__shade--bottom,
body.is-watch #animeHubPlayer.is-senku .ah-player__controls,
body.is-watch #animeHubPlayer.is-senku .ah-player__center,
body.is-watch #animeHubPlayer.is-senku .ah-player__pause-jump,
body.is-watch #animeHubPlayer.is-senku .ah-player__skip,
body.is-watch #animeHubPlayer.is-senku .ah-player__seek-flash,
body.is-watch #animeHubPlayer.is-senku .ah-player__shade--bottom {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Cleaner loading animation */
.ah-player__loading {
  gap: 0 !important;
}

.ah-player__loading > .ah-player__loader-wave {
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 56px !important;
  padding: 0 2px !important;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .28));
}

.ah-player__loader-wave > i {
  display: block !important;
  width: 8px !important;
  height: 18px !important;
  flex: 0 0 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, #ffb08c 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 12px rgba(255, 168, 128, .16) !important;
  opacity: .7 !important;
  transform-origin: 50% 100% !important;
  animation: ah-player-loader-wave 1s ease-in-out infinite !important;
}

.ah-player__loader-wave > i:nth-child(1) { height: 20px !important; animation-delay: -.40s !important; }
.ah-player__loader-wave > i:nth-child(2) { height: 30px !important; animation-delay: -.28s !important; }
.ah-player__loader-wave > i:nth-child(3) { height: 40px !important; animation-delay: -.16s !important; }
.ah-player__loader-wave > i:nth-child(4) { height: 30px !important; animation-delay: -.28s !important; }
.ah-player__loader-wave > i:nth-child(5) { height: 20px !important; animation-delay: -.40s !important; }

@keyframes ah-player-loader-wave {
  0%, 100% {
    transform: scaleY(.45);
    opacity: .48;
  }
  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}

@media (max-width: 700px) {
  .ah-player__loading > .ah-player__loader-wave {
    gap: 6px !important;
    height: 48px !important;
  }

  .ah-player__loader-wave > i {
    width: 7px !important;
    flex-basis: 7px !important;
  }

  .ah-player__loader-wave > i:nth-child(1),
  .ah-player__loader-wave > i:nth-child(5) { height: 18px !important; }
  .ah-player__loader-wave > i:nth-child(2),
  .ah-player__loader-wave > i:nth-child(4) { height: 26px !important; }
  .ah-player__loader-wave > i:nth-child(3) { height: 34px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ah-player__loader-wave > i {
    animation-duration: 1.8s !important;
  }
}
/* ANIMEHUB_WATCH_UI_V28_END */


/* ANIMEHUB_WATCH_UI_V29_START */

/* Upper dropdowns: selected item is peach again, and hover does not alter it. */
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active,
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active:hover,
body.is-watch #animeHubPlayer .ah-player-select__menu button.is-active:focus-visible {
  background: #ff956f !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Keep the dropdown itself translucent, but not overly dark. */
body.is-watch #animeHubPlayer .ah-player-select__menu {
  background: rgba(18, 18, 20, .64) !important;
  -webkit-backdrop-filter: blur(15px) saturate(118%) !important;
  backdrop-filter: blur(15px) saturate(118%) !important;
}

/* Lighting should stay visible and atmospheric without muddying the page. */
body.is-watch .ah-player-ambient-page {
  filter: blur(13px) saturate(1.04) brightness(.74) !important;
}

body.is-watch #animeHubPlayer .ah-player__ambient {
  filter: blur(14px) saturate(1.06) brightness(.86) !important;
}

body.is-watch .ah-player__backdrop {
  filter: blur(10px) brightness(.70) !important;
}

/* Buffering: do not throw a dark veil over the current frame. */
body.is-watch #animeHubPlayer.has-video.is-loading .ah-player__loading {
  background: rgba(0, 0, 0, .045) !important;
}

body.is-watch #animeHubPlayer:not(.has-video) .ah-player__loading {
  background: rgba(5, 6, 8, .42) !important;
}

/* Fix the new loader: the wrapper must NOT inherit the old spinning-circle rule. */
body.is-watch #animeHubPlayer .ah-player__loading > .ah-player__loader-wave {
  width: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
  transform: none !important;
}

/* A calm equalizer/wave animation instead of the accidental rotating fan. */
body.is-watch #animeHubPlayer .ah-player__loader-wave > i {
  animation-name: ah-player-loader-wave-v29 !important;
  animation-duration: .92s !important;
  animation-timing-function: cubic-bezier(.45, 0, .55, 1) !important;
  animation-iteration-count: infinite !important;
}

@keyframes ah-player-loader-wave-v29 {
  0%, 100% {
    transform: scaleY(.42);
    opacity: .48;
  }
  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}

/* ANIMEHUB_WATCH_UI_V29_END */


/* AH_WATCH_ACTIONS_AND_SENKU_COMMENTS_V30_START */
body.is-watch .ah-watch-actions {
  width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9));
  margin: 18px auto 0;
}

body.is-watch .ah-watch-actions__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.is-watch .ah-watch-feedback,
body.is-watch .ah-watch-chip,
body.is-watch .ah-watch-save__menu {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(15, 16, 20, .88);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

body.is-watch .ah-watch-feedback {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 4px;
  border-radius: 999px;
}

body.is-watch .ah-watch-feedback__divider {
  width: 1px;
  align-self: stretch;
  margin: 7px 4px;
  background: rgba(255,255,255,.09);
}

body.is-watch .ah-watch-actions__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

body.is-watch .ah-watch-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease, color .16s ease;
}

body.is-watch .ah-watch-chip:hover {
  border-color: rgba(255, 149, 111, .55);
  background: rgba(26, 28, 35, .94);
  transform: translateY(-1px);
}

body.is-watch .ah-watch-chip svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: currentColor;
  opacity: .92;
}

body.is-watch .ah-watch-chip b {
  min-width: 24px;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  font-weight: 900;
}

body.is-watch .ah-watch-chip[aria-pressed="true"],
body.is-watch .ah-watch-chip.is-active {
  border-color: rgba(255,145,102,.52);
  background: rgba(255,145,102,.12);
  color: #fff;
}

body.is-watch #ahWatchLikeButton[aria-pressed="true"],
body.is-watch #ahWatchLikeButton.is-active {
  color: #ffb194;
}

body.is-watch #ahWatchDislikeButton[aria-pressed="true"],
body.is-watch #ahWatchDislikeButton.is-active {
  color: #ff9f9f;
}

body.is-watch #ahWatchNotifyButton[aria-pressed="true"],
body.is-watch #ahWatchNotifyButton.is-active {
  color: #ffd26d;
}

body.is-watch .ah-watch-save {
  position: relative;
}

body.is-watch .ah-watch-save__menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 40;
  display: grid;
  gap: 6px;
  min-width: 210px;
  padding: 10px;
  border-radius: 18px;
}

body.is-watch .ah-watch-save__menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: rgba(255,255,255,.9);
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
}

body.is-watch .ah-watch-save__menu button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  transition: background .16s ease, transform .16s ease;
}

body.is-watch .ah-watch-save__menu button:hover {
  background: rgba(255,255,255,.06);
}

body.is-watch .ah-watch-save__menu button.is-active,
body.is-watch .ah-watch-save__menu button[aria-checked="true"] {
  background: rgba(255,145,102,.16);
  color: #fff;
}

body.is-watch .ah-watch-save__menu button.is-active::after,
body.is-watch .ah-watch-save__menu button[aria-checked="true"]::after {
  background: #ff956f;
  transform: scale(1.15);
}

/* Senku-inspired comments — watch page */
body.is-watch .episode-comments {
  width: min(100%, 1500px, calc((100svh - 180px) * 16 / 9));
  margin: 26px auto 0;
}

body.is-watch .episode-comments > header {
  align-items: center;
  padding: 0 0 16px;
  border-bottom: 0;
}

body.is-watch .episode-comments > header h2 {
  font-size: clamp(26px, 2.8vw, 34px);
  letter-spacing: -.045em;
}

body.is-watch .episode-comments > header span {
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(16,18,22,.9);
  color: rgba(255,255,255,.72);
}

body.is-watch .episode-comment-form {
  width: 100%;
  min-height: 92px;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(17,18,22,.94), rgba(10,11,14,.96));
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
}

body.is-watch .episode-comment-form > img,
body.is-watch .episode-comment__avatar {
  box-shadow: 0 0 0 2px rgba(255,255,255,.05);
}

body.is-watch .episode-comment-form:focus-within,
body.is-watch .episode-comment-form.is-replying {
  border-color: rgba(255,145,102,.26);
  background: linear-gradient(180deg, rgba(21,22,27,.97), rgba(12,13,17,.98));
}

body.is-watch .episode-comment-form .episode-comment-form__editor textarea {
  font-size: 15px;
  line-height: 1.6;
}

body.is-watch .episode-comment-form .episode-comment-form__editor footer button {
  width: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  background: #f3f3f4;
}

body.is-watch .episode-comments-list {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

body.is-watch .episode-comment {
  position: relative;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(18,20,24,.94), rgba(10,11,14,.96)),
    radial-gradient(circle at top right, rgba(255,145,102,.12), transparent 42%);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

body.is-watch .episode-comment::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  opacity: .35;
  pointer-events: none;
}

body.is-watch .episode-comment__content > header {
  flex-wrap: wrap;
  gap: 8px 10px;
}

body.is-watch .episode-comment__content > header button {
  font-size: 15px;
  font-weight: 900;
}

body.is-watch .episode-comment__content > header time {
  color: rgba(255,255,255,.44);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.is-watch .episode-comment__content > p {
  margin-top: 10px;
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.72;
}

body.is-watch .episode-comment__actions {
  gap: 8px;
  margin-top: 14px;
}

body.is-watch .episode-comment__actions button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 850;
}

body.is-watch .episode-comment__actions button:hover {
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.92);
}

body.is-watch .episode-comment-replies {
  margin-top: 14px;
  padding-left: 14px;
  border-left: 1px solid rgba(255,255,255,.09);
}

body.is-watch .episode-comment.is-reply {
  padding: 14px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.is-watch .episode-comment.is-reply::before { display:none; }

/* Description page comments panel — same language, not 1:1 */
body.is-detail #detailCommentsPanel {
  display: grid;
  gap: 18px;
  margin-top: 24px;
  padding: 0;
}

body.is-detail #detailCommentsPanel > header,
body.is-detail #detailCommentsPanel .comments-header,
body.is-detail #detailCommentsPanel [class*="comments-head"] {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.is-detail #detailCommentsPanel form,
body.is-detail #detailCommentsPanel .comment-form,
body.is-detail #detailCommentsPanel [class*="comment-form"] {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(17,18,22,.94), rgba(10,11,14,.96));
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
}

body.is-detail #detailCommentsPanel textarea,
body.is-detail #detailCommentsPanel input[type="text"] {
  width: 100%;
  border: 0;
  outline: 0;
  resize: vertical;
  background: transparent;
  color: #fff;
  font: inherit;
  line-height: 1.6;
}

body.is-detail #detailCommentsPanel textarea::placeholder,
body.is-detail #detailCommentsPanel input[type="text"]::placeholder {
  color: rgba(255,255,255,.44);
}

body.is-detail #detailCommentsPanel button {
  font: inherit;
}

body.is-detail #detailCommentsPanel .comment,
body.is-detail #detailCommentsPanel article,
body.is-detail #detailCommentsPanel [class*="comment-card"],
body.is-detail #detailCommentsPanel [class*="comment-item"] {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(18,20,24,.94), rgba(10,11,14,.96)),
    radial-gradient(circle at top right, rgba(255,145,102,.12), transparent 42%);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

body.is-detail #detailCommentsPanel [class*="comment-card"],
body.is-detail #detailCommentsPanel [class*="comment-item"] {
  padding: 18px 20px;
}

body.is-detail #detailCommentsPanel [class*="comment"] [class*="avatar"],
body.is-detail #detailCommentsPanel .account-avatar {
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(255,255,255,.05);
}

body.is-detail #detailCommentsPanel [class*="reply"] {
  border-left-color: rgba(255,255,255,.09) !important;
}

@media (max-width: 820px) {
  body.is-watch .ah-watch-actions__row {
    flex-direction: column;
    align-items: stretch;
  }
  body.is-watch .ah-watch-actions__tools {
    justify-content: flex-start;
  }
  body.is-watch .ah-watch-chip {
    min-height: 44px;
    padding-inline: 14px;
    font-size: 13px;
  }
  body.is-watch .episode-comment {
    grid-template-columns: 40px minmax(0,1fr);
    padding: 16px 16px;
  }
}

@media (max-width: 620px) {
  body.is-watch .ah-watch-feedback,
  body.is-watch .ah-watch-actions__tools {
    width: 100%;
  }
  body.is-watch .ah-watch-actions__tools {
    gap: 8px;
  }
  body.is-watch .ah-watch-chip {
    flex: 1 1 calc(50% - 8px);
    justify-content: center;
  }
  body.is-watch .ah-watch-feedback .ah-watch-chip {
    flex: 1 1 auto;
  }
  body.is-watch .ah-watch-save__menu {
    width: min(100vw - 32px, 260px);
  }
}
/* AH_WATCH_ACTIONS_AND_SENKU_COMMENTS_V30_END */


/* AH_WATCH_ACTIONS_V31_FIX_START */
body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
  grid-template-areas:
    "countdown countdown"
    "heading ."
    "player side"
    "actions ."
    "rail rail"
    "comments ." !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > #ahWatchActions {
  grid-area: actions !important;
  width: 100% !important;
  max-width: none !important;
  margin: 14px 0 0 !important;
  justify-self: stretch !important;
}
body.is-watch:not(.is-together) #watchPlayerPage > .episode-comments {
  grid-area: comments !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Like/dislike: literally reuse description-page visual classes. */
body.is-watch .ah-watch-feedback {
  display: inline-flex !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.is-watch .ah-watch-feedback .detail-vote-button {
  cursor: pointer;
}

/* Tools: quiet YouTube-like pills; hover only lifts the fill, never draws a ring. */
body.is-watch .ah-watch-actions__tools { gap: 8px !important; }
body.is-watch .ah-watch-chip {
  min-height: 44px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.065) !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.92) !important;
  transform: none !important;
  -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
  backdrop-filter: blur(12px) saturate(115%) !important;
}
body.is-watch .ah-watch-chip:hover,
body.is-watch .ah-watch-chip:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(255,255,255,.105) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.is-watch .ah-watch-chip:active { background: rgba(255,255,255,.135) !important; }

/* Do not use the temporary V30 custom save list. The site's .library-menu is reused instead. */
body.is-watch .ah-watch-save__menu { display: none !important; }

/* Same Senku-inspired comments when the existing comments component is moved onto the detail page. */
body.is-detail #detailCommentsPanel > .episode-comments {
  width: 100% !important;
  margin: 24px 0 0 !important;
}
body.is-detail #detailCommentsPanel > .episode-comments > header {
  align-items: center;
  padding: 0 0 16px;
  border-bottom: 0;
}
body.is-detail #detailCommentsPanel > .episode-comments > header h2 {
  font-size: clamp(26px, 2.8vw, 34px);
  letter-spacing: -.045em;
}
body.is-detail #detailCommentsPanel > .episode-comments > header span {
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(16,18,22,.9);
  color: rgba(255,255,255,.72);
}
body.is-detail #detailCommentsPanel .episode-comment-form {
  width: 100%;
  min-height: 92px;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(17,18,22,.94), rgba(10,11,14,.96));
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
}
body.is-detail #detailCommentsPanel .episode-comments-list {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}
body.is-detail #detailCommentsPanel .episode-comment {
  position: relative;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(18,20,24,.94), rgba(10,11,14,.96));
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}
body.is-detail #detailCommentsPanel .episode-comment.is-reply {
  padding: 14px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 1100px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-areas:
      "countdown"
      "heading"
      "player"
      "actions"
      "side"
      "rail"
      "comments" !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > #ahWatchActions,
  body.is-watch:not(.is-together) #watchPlayerPage > .episode-comments {
    grid-column: 1 !important;
  }
}
/* AH_WATCH_ACTIONS_V31_FIX_END */


/* AH_WATCH_ACTIONS_V32_POLISH_START */
/* Action labels: keep them bold, but never force uppercase. */
body.is-watch #ahWatchActions .ah-watch-chip,
body.is-watch #ahWatchActions .ah-watch-chip span {
  text-transform: none !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

/* Match the like/dislike control on the anime detail page exactly:
   one compact glass pill, two halves, one divider. */
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 108px !important;
  box-sizing: border-box !important;
  width: 108px !important;
  min-width: 108px !important;
  max-width: 108px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  border-radius: 24px !important;
  background: rgba(22,23,28,.54) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.18) !important;
  overflow: visible !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  font: 600 11px/1 Manrope, sans-serif !important;
  text-transform: none !important;
  cursor: pointer !important;
  transform: none !important;
  animation: none !important;
  transition: background-color .18s ease, color .18s ease !important;
}

body.is-watch #ahWatchActions #ahWatchLikeButton {
  flex: 1 1 auto !important;
  border-radius: 24px 0 0 24px !important;
}

body.is-watch #ahWatchActions #ahWatchDislikeButton {
  flex: 0 0 35px !important;
  border-radius: 0 24px 24px 0 !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button svg {
  display: block !important;
  flex: none !important;
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback .detail-votes__divider {
  display: block !important;
  flex: 0 0 1px !important;
  width: 1px !important;
  height: 23px !important;
  margin: 0 !important;
  align-self: center !important;
  background: rgba(255,255,255,.30) !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button:hover,
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button[aria-pressed="true"],
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button.is-active {
  color: #ff9b6b !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button:disabled {
  opacity: .55 !important;
  cursor: wait !important;
}

/* Tooltip remains small and neutral like on the detail page. */
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  z-index: 30 !important;
  top: calc(100% + 9px) !important;
  left: 50% !important;
  width: max-content !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  background: #1a1b20 !important;
  color: #fff !important;
  font: 500 11px/1.2 Manrope, sans-serif !important;
  text-transform: none !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translate(-50%, 5px) !important;
  transition: opacity .15s ease, transform .15s ease !important;
}

body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button:hover::after,
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button:focus-visible::after {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}
/* AH_WATCH_ACTIONS_V32_POLISH_END */


/* AH_COMMENTS_SENKU_FLAT_V33_START */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 26px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 26px !important;
  background: rgba(12,13,16,.94) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.18) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 74px !important;
  padding: 0 24px !important;
  border: 0 !important;
  background: transparent !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header span {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.42) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form {
  width: auto !important;
  min-height: 116px !important;
  margin: 0 24px 20px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.055) !important;
  box-shadow: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form:focus-within,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form.is-replying {
  border: 0 !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comments-list {
  display: block !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255,255,255,.065) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment {
  isolation: isolate !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  gap: 16px !important;
  min-height: 122px !important;
  margin: 0 !important;
  padding: 20px 24px 22px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 0 !important;
  background: #101114 !important;
  box-shadow: none !important;
}

/* The profile banner lives behind the content, like Senku's wide comment art. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment::before {
  content: "" !important;
  position: absolute !important;
  z-index: -2 !important;
  inset: -10% !important;
  display: block !important;
  border-radius: 0 !important;
  background-image: var(--episode-comment-banner, none) !important;
  background-repeat: no-repeat !important;
  background-position: var(--episode-comment-banner-x, 50%) var(--episode-comment-banner-y, 50%) !important;
  background-size: cover !important;
  opacity: var(--episode-comment-banner-opacity, .46) !important;
  transform: scale(var(--episode-comment-banner-zoom, 1.04)) !important;
  transform-origin: var(--episode-comment-banner-x, 50%) var(--episode-comment-banner-y, 50%) !important;
  pointer-events: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: 0 !important;
  display: block !important;
  background:
    linear-gradient(90deg, rgba(12,13,16,.94) 0%, rgba(12,13,16,.78) 48%, rgba(12,13,16,.58) 100%),
    linear-gradient(180deg, rgba(12,13,16,.24), rgba(12,13,16,.64)) !important;
  pointer-events: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment:last-child {
  border-bottom: 0 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__avatar-shell,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content {
  position: relative !important;
  z-index: 1 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content {
  display: flex !important;
  min-width: 0 !important;
  min-height: 78px !important;
  flex-direction: column !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 22px !important;
  padding: 0 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header button {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header time {
  margin-left: auto !important;
  color: rgba(255,255,255,.48) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > p {
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Flat bottom action line. Reply/delete stay left; reactions live at the lower right. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 30px !important;
  gap: 3px !important;
  margin-top: auto !important;
  padding-top: 10px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button {
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.54) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-transform: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button:hover {
  border: 0 !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  box-shadow: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions .episode-comment__reply {
  order: 1 !important;
  margin-left: 0 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions .episode-comment__delete {
  order: 2 !important;
  margin-left: 4px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="up"] {
  order: 10 !important;
  margin-left: auto !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-score] {
  order: 11 !important;
  min-width: 22px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="down"] {
  order: 12 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="up"].is-active,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="up"]:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="down"].is-active,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote="down"]:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-replies {
  margin: 16px -24px -22px -64px !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment.is-reply {
  grid-template-columns: 40px minmax(0,1fr) !important;
  min-height: 104px !important;
  padding: 16px 24px 18px 64px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 0 !important;
  background: #0f1013 !important;
  box-shadow: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment.is-reply:last-child {
  border-bottom: 0 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comments-empty {
  margin: 0 !important;
  padding: 34px 24px !important;
  color: rgba(255,255,255,.46) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comments-more {
  margin: 18px auto 22px !important;
}

@media (max-width: 700px) {
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) {
    border-radius: 20px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header {
    min-height: 62px !important;
    padding: 0 16px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form {
    margin: 0 12px 14px !important;
    padding: 12px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment {
    grid-template-columns: 40px minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 16px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header time {
    display: none !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-replies {
    margin: 14px -16px -16px -52px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment.is-reply {
    padding: 14px 16px 16px 52px !important;
  }
}
/* AH_COMMENTS_SENKU_FLAT_V33_END */

/* AH_COMMENTS_SENKU_POLISH_V34_START */
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback {
  border: 0 !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: none !important;
}
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback .detail-votes__divider {
  background: rgba(255,255,255,.14) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header {
  min-height: 58px !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header h2 {
  color: rgba(255,255,255,.58) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header span {
  color: rgba(255,255,255,.34) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form {
  display: block !important;
  min-height: 0 !important;
  margin: 0 24px 20px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.05) !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form > img {
  display: none !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor textarea {
  min-height: 88px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #f3f4f6 !important;
  font: 700 15px/1.45 Manrope, sans-serif !important;
  letter-spacing: -.01em !important;
  resize: vertical !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor textarea::placeholder {
  color: rgba(255,255,255,.34) !important;
  font-weight: 700 !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form footer {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form footer span {
  order: 2 !important;
  margin-right: auto !important;
  color: rgba(255,255,255,.38) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.66) !important;
  font: 800 13px/1 Manrope, sans-serif !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle:hover,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle.is-active {
  background: rgba(255,145,102,.18) !important;
  color: #ff9b6b !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit {
  order: 3 !important;
  margin-left: auto !important;
  min-width: 142px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ff9b6b !important;
  color: #19120f !important;
  font: 900 13px/1 Manrope, sans-serif !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 10px 24px rgba(255,145,102,.16) !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit:hover {
  background: #ffab84 !important;
  color: #19120f !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__body {
  margin-top: 8px !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__body > p,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-body > p {
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  white-space: pre-wrap !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.06) !important;
  color: #ff9b6b !important;
  font: 850 13px/1 Manrope, sans-serif !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle.is-open {
  background: rgba(255,145,102,.12) !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-body {
  margin-top: 10px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions {
  gap: 8px !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button {
  padding: 0 4px !important;
  border-radius: 10px !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button:hover {
  background: rgba(255,255,255,.05) !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote] {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-vote] svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions [data-comment-score] {
  min-width: 14px !important;
}

@media (max-width: 700px) {
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form {
    margin: 0 12px 14px !important;
    padding: 14px !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit {
    min-width: 128px !important;
    width: 100% !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form footer span {
    order: 3 !important;
    width: 100% !important;
  }
}
/* AH_COMMENTS_SENKU_POLISH_V34_END */

/* AH_COMMENTS_INPUT_POLISH_V35_START */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header {
  gap: 9px !important;
}

/* Counter is its own compact badge rather than part of the heading line. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) > header span {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  width: 23px !important;
  min-width: 23px !important;
  height: 23px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.48) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

/* Clean textarea: no browser resize grip and no character counter. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor textarea {
  resize: none !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form #episodeCommentHint,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form footer > span {
  display: none !important;
}

/* Remove legacy arrow/icon pseudo-element that overlaps the Send button. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit::before,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit::after {
  content: none !important;
  display: none !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit {
  position: relative !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  color: #19120f !important;
}

/* With the counter removed, keep controls vertically clean and compact. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form footer {
  min-height: 44px !important;
}
/* AH_COMMENTS_INPUT_POLISH_V35_END */

/* AH_COMMENTS_SEND_BUTTON_V36_START */
/* Send button stays absent until the user actually types something. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form:has(textarea:not(:placeholder-shown)) .episode-comment-submit {
  display: inline-flex !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-submit:hover {
  color: #fff !important;
}
/* AH_COMMENTS_SEND_BUTTON_V36_END */


/* AH_SPOILER_ICON_V37_START */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle svg,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle {
  min-width: 40px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle:focus,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle:focus {
  outline: none !important;
  box-shadow: none !important;
}
/* AH_SPOILER_ICON_V37_END */


/* AH_COMMENTS_SPOILER_REWORK_V47_START */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment {
  grid-template-columns: 44px minmax(0,1fr) !important;
  gap: 12px !important;
  min-height: 0 !important;
  padding: 18px 20px !important;
  background: rgba(17,18,22,.94) !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment::before,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header {
  gap: 6px 8px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__content > header button {
  margin-left: -1px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(255,155,107,.12) !important;
  color: #ff9b6b !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle:hover,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle.is-active,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle:hover {
  background: rgba(255,155,107,.18) !important;
  color: #ff9b6b !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-spoiler-toggle svg,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-toggle svg {
  display: none !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-body {
  margin-top: 0 !important;
}

:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__spoiler-body[hidden] {
  display: none !important;
}
/* AH_COMMENTS_SPOILER_REWORK_V47_END */


/* AH_COMMENTS_GLASS_SPOILERS_V48_START
   Keep the existing layout / text / interactions; only adjust surfaces and
   spoiler controls. The old multiple near-opaque comment layers are neutralized.
*/
body.is-watch:not(.is-together) .ah-player-sidepanel {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(31, 31, 34, .62) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
  backdrop-filter: blur(12px) saturate(115%) !important;
}

/* The comments card uses precisely the same translucent dark surface. */
body.is-watch #episodeComments,
body.is-detail #detailCommentsPanel > .episode-comments {
  border: 0 !important;
  outline: 0 !important;
  background: rgba(31, 31, 34, .62) !important;
  -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
  backdrop-filter: blur(12px) saturate(115%) !important;
}

/* Comments are transparent INSIDE the glass card: stacking .94/.94 opacities
   previously made the comments appear almost completely black. */
body.is-watch #episodeComments .episode-comments-list,
body.is-detail #detailCommentsPanel .episode-comments-list,
body.is-watch #episodeComments .episode-comment,
body.is-detail #detailCommentsPanel .episode-comment,
body.is-watch #episodeComments .episode-comment.is-reply,
body.is-detail #detailCommentsPanel .episode-comment.is-reply {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Composer: crossed-out eye, white normally and peach when enabled. */
body.is-watch #episodeComments #episodeCommentSpoilerToggle,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(31,31,34,.80) !important;
  color: #fff !important;
  box-shadow: none !important;
  transition: background-color .15s ease, color .15s ease !important;
}

body.is-watch #episodeComments #episodeCommentSpoilerToggle svg,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle svg {
  display: block !important;
  flex: 0 0 19px !important;
  width: 19px !important;
  height: 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.is-watch #episodeComments #episodeCommentSpoilerToggle:hover,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle:hover {
  background: rgba(54,54,58,.94) !important;
}

body.is-watch #episodeComments #episodeCommentSpoilerToggle.is-active,
body.is-watch #episodeComments #episodeCommentSpoilerToggle[aria-pressed="true"],
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle.is-active,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle[aria-pressed="true"] {
  color: #ff9b6b !important;
  background: rgba(31,31,34,.80) !important;
}

body.is-watch #episodeComments #episodeCommentSpoilerToggle.is-active:hover,
body.is-watch #episodeComments #episodeCommentSpoilerToggle[aria-pressed="true"]:hover,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle.is-active:hover,
body.is-detail #detailCommentsPanel #episodeCommentSpoilerToggle[aria-pressed="true"]:hover {
  background: rgba(54,54,58,.94) !important;
}

/* Before reveal, the spoiler label retains its peach typography but gets
   the same neutral dark button surface and minimal hover as player buttons. */
body.is-watch #episodeComments .episode-comment__spoiler-toggle,
body.is-detail #detailCommentsPanel .episode-comment__spoiler-toggle {
  background: rgba(31,31,34,.80) !important;
  color: #ff9b6b !important;
  box-shadow: none !important;
  transition: background-color .15s ease !important;
}
body.is-watch #episodeComments .episode-comment__spoiler-toggle:hover,
body.is-detail #detailCommentsPanel .episode-comment__spoiler-toggle:hover {
  background: rgba(54,54,58,.94) !important;
  color: #ff9b6b !important;
}
/* AH_COMMENTS_GLASS_SPOILERS_V48_END */

/* V50: keep the spoiler eye arrow fix, without viewport/player sizing changes. */
#episodeCommentSpoilerToggle::before,
#episodeCommentSpoilerToggle::after {
  content: none !important;
  display: none !important;
}

/* AH_WATCH_DESKTOP_FIT_V51_START
   Preserve the entire watch layout's outer horizontal boundaries. Constrain
   only the left video track by viewport height, then give the reclaimed space
   to the right sidebar. Heading/actions remain in the same left track.
   Never resize the player controls or the video itself independently. */
@media (min-width: 1181px) and (min-height: 700px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-columns:
      minmax(0, min(calc(100% - 338px), calc((100svh - 232px) * 16 / 9)))
      minmax(320px, 1fr) !important;
  }
}
/* AH_WATCH_DESKTOP_FIT_V51_END */


/* AH_PLAYER_DESKTOP_INTERACTIONS_V52_START
   PC-only UI. Touch/mobile retains the original persistent pause overlay. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  /* No paused middle control group on desktop: the existing center button is
     reused solely for the short YouTube-like play/pause feedback below. */
  body.is-watch #animeHubPlayer.has-video .ah-player__pause-jump,
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) .ah-player__pause-jump {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed) #ahPlayerCenter:not(.is-desktop-feedback) {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed) #ahPlayerCenter.is-desktop-feedback {
    display: grid !important;
    width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%) !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerCenter.is-desktop-feedback::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(18,19,22,.56);
    pointer-events: none;
    animation: ah-player-desktop-flash .7s ease-out both;
  }
  body.is-watch #animeHubPlayer #ahPlayerCenter.is-desktop-feedback svg {
    position: relative;
    z-index: 1;
    width: 29px !important;
    height: 32px !important;
    margin: 0 !important;
    opacity: 1;
    animation: ah-player-desktop-flash .7s ease-out both;
  }

  /* The decorative shading never captures a mouse click. */
  body.is-watch #animeHubPlayer .ah-player__shade { pointer-events: none !important; }
  /* The skip-opening button must still respect its own hidden attribute. */
  body.is-watch #animeHubPlayer .ah-player__skip[hidden] { display: none !important; }
  body.is-watch #animeHubPlayer.is-embed .ah-player__top,
  body.is-watch #animeHubPlayer.is-embed .ah-player__controls,
  body.is-watch #animeHubPlayer.is-embed .ah-player__shade,
  body.is-watch #animeHubPlayer.is-embed .ah-player__skip {
    display: none !important;
  }
}
@keyframes ah-player-desktop-flash {
  0% { opacity: 0; }
  18% { opacity: 1; }
  43% { opacity: 1; }
  100% { opacity: 0; }
}
/* AH_PLAYER_DESKTOP_INTERACTIONS_V52_END */


/* AH_WATCH_MICROINTERACTIONS_V53_START
   Targeted desktop player motions and comment controls; layout unchanged. */

/* Watch-page voting buttons keep their existing look but show no text tooltips. */
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button::before,
body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button::after {
  content: none !important;
  display: none !important;
}

/* Match the lighting row typography to Speed / Quality / Subtitles. */
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button[data-settings-open="lighting"] .ah-player-settings__label {
  font-family: "Unbounded", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

/* Comment delete = destructive hover, not the neutral chip hover. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button.episode-comment__delete:hover,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button.episode-comment__delete:focus-visible {
  color: #ff6877 !important;
  background: rgba(255, 71, 91, .16) !important;
}

/* Thicker solid vote arrows, with matching green/red hover and voted states. */
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote] svg {
  width: 19px !important;
  height: 19px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  stroke-width: .6px !important;
  stroke-linejoin: round !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="up"]:hover,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="up"]:focus-visible,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="up"].is-active {
  color: #4ada89 !important;
  background: rgba(53, 208, 113, .16) !important;
}
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="down"]:hover,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="down"]:focus-visible,
:where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment__actions button[data-comment-vote="down"].is-active {
  color: #ff6877 !important;
  background: rgba(255, 71, 91, .16) !important;
}

/* Non-interactive, momentary YouTube-style playback feedback. The real buttons
   (including the three center buttons on touch screens) remain untouched. */
.ah-player__playback-feedback { display: none; }
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback {
    position: absolute;
    z-index: 14;
    left: 50%;
    top: 50%;
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible { opacity: 1; }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: rgba(18, 18, 18, .56);
    opacity: 0;
    transform: scale(.90);
    will-change: opacity, transform;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback svg {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    fill: #fff;
    opacity: 0;
    transform: scale(.90);
    will-change: opacity, transform;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-play .ah-player__feedback-pause,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-pause .ah-player__feedback-play {
    display: none;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible::before {
    animation: ah-playback-feedback-disc .46s linear both;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation: ah-playback-feedback-icon .46s linear both;
  }
  body.is-watch #animeHubPlayer.is-embed .ah-player__playback-feedback { display: none; }
}
/* Fade in once, then fade out immediately: no hold frames or easing pauses.
   The scale is interpolated continuously throughout the whole flash. */
@keyframes ah-playback-feedback-disc {
  0% { opacity: 0; transform: scale(.90); }
  16% { opacity: .55; }
  100% { opacity: 0; transform: scale(1.12); }
}
@keyframes ah-playback-feedback-icon {
  0% { opacity: 0; transform: scale(.90); }
  16% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player__top,
  body.is-watch #animeHubPlayer .ah-player__controls { transition-duration: .01ms !important; }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible::before,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation-duration: .01ms !important;
  }
}
/* AH_WATCH_MICROINTERACTIONS_V53_END */


/* AH_MOBILE_TOUCH_CONTROLS_V57_START
   A surface tap toggles visibility; only the center button plays/pauses.
   Hidden controls (especially the seekbar) cannot intercept taps. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  /* Keep two quick taps on the video available to the player instead of browser zoom. */
  body.is-watch #animeHubPlayer { touch-action: manipulation; }
  /* The video has one playback control on mobile: the central button. */
  body.is-watch #animeHubPlayer #ahPlayerPlay { display: none !important; }

  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]) {
    display: grid !important;
    z-index: 10 !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerCenter[hidden] { display: none !important; }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play {
    display: block;
    width: 25px !important;
    height: 27px !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-pause {
    display: none;
    width: 27px !important;
    height: 27px !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.is-watch #animeHubPlayer.has-video.is-playing:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play { display: none; }
  body.is-watch #animeHubPlayer.has-video.is-playing:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-pause { display: block; }

  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) .ah-player__pause-jump {
    width: 38px !important;
    height: 38px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(-50%) scale(1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--back { left: calc(50% - 84px) !important; }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--forward { left: calc(50% + 46px) !important; }
  body.is-watch #animeHubPlayer .ah-player__pause-jump svg {
    width: 21px !important;
    height: 21px !important;
  }

  /* Invisible overlays are genuinely inert: no ghost seek / pause / menu taps.
     visibility:hidden also blocks clicks during the opacity transition. */
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) .ah-player__top,
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) .ah-player__controls,
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) .ah-player__skip,
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) .ah-player__pause-jump,
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) #ahPlayerCenter,
  body.is-watch #animeHubPlayer:is(.is-mobile-controls-hidden, .is-idle) .ah-player__shade {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
  /* Extra specificity beats the existing "paused" and "playing" overlay
     rules (both previously forced opacity/pointer-events with !important). */
  body.is-watch #animeHubPlayer.has-video:is(.is-mobile-controls-hidden, .is-idle):not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]),
  body.is-watch #animeHubPlayer.has-video:is(.is-mobile-controls-hidden, .is-idle):not(.is-embed):not(.is-loading) .ah-player__pause-jump {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
  body.is-watch #animeHubPlayer:has(.ah-player__error:not([hidden])) .ah-player__pause-jump,
  body.is-watch #animeHubPlayer.is-loading .ah-player__pause-jump {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}
/* AH_MOBILE_TOUCH_CONTROLS_V57_END */

/* ANIMEHUB_MOBILE_WATCH_CONTROLS_V58_START
   Preserve a single compact action bar at phone widths. The v30 column rule
   accidentally turned the vote group's flex-basis (108px) into its HEIGHT. */
@media (max-width: 820px) {
  body.is-watch #ahWatchActions .ah-watch-actions__row {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    flex: none !important;
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
  }
  body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button {
    flex-shrink: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }
  body.is-watch #ahWatchActions #ahWatchLikeButton { flex: 1 1 auto !important; }
  body.is-watch #ahWatchActions #ahWatchDislikeButton { flex: 0 0 35px !important; }
  body.is-watch #ahWatchActions .ah-watch-actions__tools {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: end !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 188px !important;
    margin-left: auto !important;
  }
  body.is-watch #ahWatchActions .ah-watch-actions__tools > .ah-watch-save {
    min-width: 0 !important;
    width: 100% !important;
  }
  body.is-watch #ahWatchActions .ah-watch-actions__tools .ah-watch-chip {
    display: flex !important;
    flex: none !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 999px !important;
  }
  body.is-watch #ahWatchActions .ah-watch-actions__tools .ah-watch-chip > span { display: none !important; }
  body.is-watch #ahWatchActions .ah-watch-actions__tools .ah-watch-chip svg {
    display: block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
  }
}

/* The legacy mobile 4-column grid let the selectors overflow the background
   of the first cell. A single intrinsic-width capsule encloses all 3 menus. */
@media (max-width: 820px) {
  body.is-watch #animeHubPlayer .ah-player__top {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 2px 3px !important;
    gap: 0 !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.80) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-inline: 5px !important;
    white-space: nowrap !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Match the mobile pause state to the play state: one round, frosted disc.
   Previously only the :not(.is-playing) selector supplied a background. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]) {
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 50% !important;
    background: rgba(18,19,22,.48) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.26) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
  }
}
/* ANIMEHUB_MOBILE_WATCH_CONTROLS_V58_END */

/* ANIMEHUB_MOBILE_WATCH_VIEWPORT_FIT_V59_START
   Taller touch target on portrait phones. Keep video/canvas/iframe rules intact:
   their existing object-fit:contain preserves the picture and its aspect ratio.
   Reserve space for the heading, the entire action row and bottom navigation. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) #animeHubPlayer:not(:fullscreen):not(:-webkit-full-screen) {
    aspect-ratio: auto !important;
    height: max(calc((100vw - 24px) * .5625), min(42svh, calc(100svh - 390px))) !important;
  }
}
/* ANIMEHUB_MOBILE_WATCH_VIEWPORT_FIT_V59_END */

/* ANIMEHUB_MOBILE_WATCH_SPACING_V60_START
   Bring the first watch-screen closer to the fixed search header while
   preserving the v59 player's height, video aspect and viewport behavior. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    margin-top: -36px !important;
  }
}

/* Replies on phones should be indented only slightly compared to their
   parent comment. Keep their existing full-width separators and styling. */
@media (max-width: 700px) {
  body.is-watch #episodeComments .episode-comment-replies .episode-comment.is-reply,
  body.is-detail #detailCommentsPanel .episode-comment-replies .episode-comment.is-reply {
    padding-left: 22px !important;
  }
}
/* ANIMEHUB_MOBILE_WATCH_SPACING_V60_END */


/* ANIMEHUB_MOBILE_WATCH_POLISH_V61_START
   Phone-only refinements. Keep desktop, landscape fullscreen, together mode,
   and the 16:9 video image untouched. */
@media (max-width: 620px) and (orientation: portrait) {
  /* Fit the heading/viewport/action row nearer to the fixed search header. */
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    margin-top: -54px !important;
    row-gap: 10px !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading {
    margin: 0 !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > #ahWatchActions {
    margin: 0 !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > #ahPlayerSidePanel {
    margin: 0 !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > .episode-comments {
    margin: 0 !important;
  }

  /* Smaller but consistent row buttons free valuable space for the seekbar.
     Video frame placement and aspect ratio are not changed. */
  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 8px 6px 5px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 3px !important;
    min-width: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek {
    flex: 1 1 auto !important;
    min-width: 24px !important;
    margin-inline: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time * {
    font-size: 8px !important;
    gap: 1px !important;
    white-space: nowrap !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    flex: 0 0 auto !important;
    gap: 0 !important;
    min-height: 28px !important;
    padding: 2px 3px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen {
    flex: 0 0 24px !important;
    flex-basis: 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 3px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
  }

  /* A touch on the speaker toggles mute; hover-only volume rail stays inert. */
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* The main settings panel should sit fully inside the player and keep the
     same scale across all 5 rows and their submenus. */
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    width: min(184px, calc(100vw - 50px)) !important;
    min-width: 0 !important;
    max-width: min(184px, calc(100vw - 50px)) !important;
    max-height: min(218px, 42svh) !important;
    right: -30px !important;
    bottom: calc(100% + 7px) !important;
    padding: 5px !important;
    border-radius: 14px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] {
    max-height: none !important;
    overflow-y: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button,
  body.is-watch #animeHubPlayer .ah-player-settings__back {
    box-sizing: border-box !important;
    min-height: 31px !important;
    padding: 5px 6px !important;
    gap: 4px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__label,
  body.is-watch #animeHubPlayer [data-settings-open="lighting"] .ah-player-settings__label,
  body.is-watch #animeHubPlayer .ah-player-settings__view > button > em,
  body.is-watch #animeHubPlayer .ah-player-settings__back > span,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button,
  body.is-watch #animeHubPlayer #ahPlayerSpeedOptions > button > span {
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button > em {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    font-size: 8px !important;
    max-width: 57px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__glyph,
  body.is-watch #animeHubPlayer .ah-player-settings__glyph svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__options { gap: 2px !important; }
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    padding-left: 9px !important;
  }

  /* Episode / season / translation popups scroll INSIDE the video rectangle.
     The rightmost translation menu opens back toward the center. */
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select__menu {
    min-width: min(165px, calc(100vw - 46px)) !important;
    max-width: min(180px, calc(100vw - 46px)) !important;
    width: max-content !important;
    max-height: min(207px, 44svh) !important;
    top: calc(100% + 5px) !important;
    padding: 5px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border-radius: 11px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select__menu button {
    min-height: 32px !important;
    padding: 5px 7px !important;
    gap: 5px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
  }
  body.is-watch #animeHubPlayer [data-player-select="translation"] .ah-player-select__menu {
    left: auto !important;
    right: -64px !important;
  }
}

/* Open menus must overlay the pause/seek controls, never sit behind them.
   Keep the rest of the overlays at their usual z-index when closed. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__top:has(.ah-player-select.is-open) {
    z-index: 15 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__controls:has(.ah-player-settings.is-open) {
    z-index: 14 !important;
  }
}

/* Let the reply/delete line start at the avatar's left edge, while the vote
   group stays flush right. Keep votes close to their number on small screens. */
@media (max-width: 700px) {
  body.is-watch #episodeComments .episode-comment__actions {
    box-sizing: border-box !important;
    margin-left: -56px !important;
    width: calc(100% + 56px) !important;
    gap: 2px !important;
  }
  body.is-watch #episodeComments .episode-comment__actions .episode-comment__delete {
    margin-left: 0 !important;
  }
  body.is-watch #episodeComments .episode-comment__actions [data-comment-vote] {
    flex: 0 0 25px !important;
    width: 25px !important;
    min-width: 25px !important;
    padding: 0 !important;
  }
  body.is-watch #episodeComments .episode-comment__actions [data-comment-score] {
    flex: 0 0 auto !important;
    min-width: 11px !important;
    padding: 0 1px !important;
    margin: 0 !important;
  }
  /* Reply comments use the same two-column avatar/content layout. */
  body.is-watch #episodeComments .episode-comment.is-reply .episode-comment__actions {
    margin-left: -56px !important;
    width: calc(100% + 56px) !important;
  }
}
/* ANIMEHUB_MOBILE_WATCH_POLISH_V61_END */


/* The new spoiler label is visible on mobile only. */
body.is-watch #episodeComments .episode-comment-spoiler-label { display: none !important; }

/* ANIMEHUB_MOBILE_LAYOUT_VOLUME_AND_COMPOSER_V62_START
   One mobile rhythm, consistent visual icon box, touch volume slider,
   and a separate composer-actions row below the text field. */
@media (max-width: 620px) and (orientation: portrait) {
  /* Use the same visible gap for every direct watch-page section. */
  /* With grid row-gap the hidden episode rail still added a second gap
     between quick actions and comments. Use margins on REAL sections instead. */
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    row-gap: 0 !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading,
  body.is-watch:not(.is-together) #watchPlayerPage > #animeHubPlayer,
  body.is-watch:not(.is-together) #watchPlayerPage > #ahWatchActions,
  body.is-watch:not(.is-together) #watchPlayerPage > #ahPlayerSidePanel,
  body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap,
  body.is-watch:not(.is-together) #watchPlayerPage > .episode-comments {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap[hidden] {
    display: none !important;
  }

  /* Align Lighting with the other four mobile settings labels.
     Do not inherit the parent button's 600 weight: other labels use 400. */
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button[data-settings-open="lighting"] .ah-player-settings__label {
    font-family: "Unbounded", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
  }

  /* All five auxiliary glyphs share one 24px hit area and a 16px drawing
     box (previously the speaker had a separate 21px override). */
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen {
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster .ah-player__download svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerSettingsButton svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerPip svg,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerFullscreen svg {
    box-sizing: border-box !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    flex: 0 0 16px !important;
  }

  /* Phone volume control opens a vertical slider ABOVE the speaker. It does
     not reflow the action cluster or take seekbar width. */
  body.is-watch #animeHubPlayer .ah-player__actions-cluster,
  body.is-watch #animeHubPlayer .ah-player__controls,
  body.is-watch #animeHubPlayer .ah-player-volume-control {
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(100% + 8px) !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 124px !important;
    min-height: 124px !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background: rgba(24,24,26,.94) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.45) !important;
    z-index: 24 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 5px) scale(.96) !important;
    transition: opacity .15s ease, transform .15s ease, visibility .15s !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    --ah-volume-vertical: 1;
    appearance: auto !important;
    position: absolute !important;
    display: block !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) rotate(-90deg) !important;
    transform-origin: center !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume-tip {
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__controls:has(.ah-player-volume-control.is-open) {
    z-index: 15 !important;
  }

  /* Separate mobile comment textarea and the two action buttons. */
  body.is-watch #episodeComments .episode-comment-form {
    box-sizing: border-box !important;
    display: block !important;
    width: calc(100% - 24px) !important;
    min-height: 0 !important;
    margin: 0 12px 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 180px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 13px !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor textarea:focus {
    border-color: rgba(255,255,255,.20) !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.075) !important;
    color: rgba(255,255,255,.85) !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle:is(.is-active, [aria-pressed="true"]) {
    background: rgba(255,145,102,.14) !important;
    color: #ff9b6b !important;
  }
  body.is-watch #episodeComments .episode-comment-form #episodeCommentSpoilerToggle .episode-comment-spoiler-label {
    position: static !important;
    display: inline !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 750 !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button.episode-comment-submit {
    position: relative !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: 58% !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 0 0 auto !important;
    padding: 0 14px !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    border-radius: 12px !important;
    background: #ff9b72 !important;
    color: #fff !important;
    font-size: 10px !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button::after {
    content: none !important;
    display: none !important;
  }
}
/* ANIMEHUB_MOBILE_LAYOUT_VOLUME_AND_COMPOSER_V62_END */

/* ANIMEHUB_MOBILE_COMMENT_ACTIONS_V63_START
   Keep spoiler as a compact icon button directly beside Send on phones. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer {
    justify-content: flex-end !important;
    gap: 8px !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 0 0 auto !important;
    gap: 0 !important;
  }
  body.is-watch #episodeComments .episode-comment-form #episodeCommentSpoilerToggle .episode-comment-spoiler-label {
    display: none !important;
  }
  body.is-watch #episodeComments .episode-comment-form .episode-comment-form__editor footer button.episode-comment-submit {
    margin-left: 0 !important;
  }
}
/* ANIMEHUB_MOBILE_COMMENT_ACTIONS_V63_END */


/* ANIMEHUB_MOBILE_HORIZONTAL_VOLUME_V64_START
   Desktop-like reveal from the speaker to its right. The rail floats above
   neighboring icons so the already-short phone seekbar never shrinks. */
@media (max-width: 760px) {
  body.is-watch #animeHubPlayer .ah-player__controls,
  body.is-watch #animeHubPlayer .ah-player__row,
  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    position: relative !important;
    display: flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    z-index: 30 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    left: calc(100% + 1px) !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 15px 15px 0 !important;
    background: rgb(31,31,34) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 30 !important;
    transform: translateY(-50%) translateX(-3px) !important;
    transform-origin: left center !important;
    transition: width .19s cubic-bezier(.22,.72,.2,1),
                min-width .19s cubic-bezier(.22,.72,.2,1),
                max-width .19s cubic-bezier(.22,.72,.2,1),
                opacity .17s ease, transform .19s cubic-bezier(.22,.72,.2,1),
                visibility .19s !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: clamp(54px, calc(100vw - 266px), 76px) !important;
    min-width: clamp(54px, calc(100vw - 266px), 76px) !important;
    max-width: clamp(54px, calc(100vw - 266px), 76px) !important;
    padding: 0 5px !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(-50%) translateX(0) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::before,
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand::after {
    content: none !important;
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    --ah-volume-vertical: 0;
    appearance: auto !important;
    position: relative !important;
    display: block !important;
    inset: auto !important;
    box-sizing: border-box !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    transform-origin: center !important;
    cursor: pointer !important;
    touch-action: pan-x !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume-tip {
    display: none !important;
  }
}
/* ANIMEHUB_MOBILE_HORIZONTAL_VOLUME_V64_END */


/* ANIMEHUB_COMMENT_THREAD_CONNECTORS_V66_START
   Soft grey, rounded branches between a comment and its replies.
   Drawn over the existing layout without changing reply indentation. */
body.is-watch #episodeComments .episode-comment-thread-lines,
body.is-detail #detailCommentsPanel .episode-comment-thread-lines {
  position: absolute;
  z-index: 3;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  color: rgba(188, 193, 203, .40);
}
body.is-watch #episodeComments .episode-comment-thread-lines path,
body.is-detail #detailCommentsPanel .episode-comment-thread-lines path {
  stroke: currentColor;
  stroke-width: 1.4px;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
@media (max-width: 700px) {
  body.is-watch #episodeComments .episode-comment-thread-lines,
  body.is-detail #detailCommentsPanel .episode-comment-thread-lines {
    color: rgba(188, 193, 203, .37);
  }
  body.is-watch #episodeComments .episode-comment-thread-lines path,
  body.is-detail #detailCommentsPanel .episode-comment-thread-lines path {
    stroke-width: 1.25px;
  }
}
/* ANIMEHUB_COMMENT_THREAD_CONNECTORS_V66_END */


/* ANIMEHUB_COMMENT_THREAD_REFINEMENT_V68_START
   Avatar-centred, non-touching connectors and phone reply-action alignment. */
@media (max-width: 700px) {
  /* Keep only a slight reply indent, but leave room for an actual curved
     connector between the two avatars instead of crossing either one. */
  body.is-watch #episodeComments .episode-comment-replies > .episode-comment.is-reply,
  body.is-detail #detailCommentsPanel .episode-comment-replies > .episode-comment.is-reply {
    padding-left: 34px !important;
  }
  /* Parent actions start at the same x as the comment text, not the avatar. */
  body.is-watch #episodeComments .episode-comments-list > .episode-comment > .episode-comment__content > .episode-comment__actions,
  body.is-detail #detailCommentsPanel .episode-comments-list > .episode-comment > .episode-comment__content > .episode-comment__actions {
    margin-left: 0 !important;
    width: 100% !important;
  }
  /* Keep Reply, Delete and votes in a single row even on 280px screens. */
  body.is-watch #episodeComments .episode-comments-list > .episode-comment > .episode-comment__content > .episode-comment__actions > .episode-comment__reply,
  body.is-watch #episodeComments .episode-comments-list > .episode-comment > .episode-comment__content > .episode-comment__actions > .episode-comment__delete {
    min-width: 0 !important;
    padding-inline: 2px !important;
    font-size: 12px !important;
  }
  body.is-watch #episodeComments .episode-comments-list > .episode-comment > .episode-comment__content > .episode-comment__actions [data-comment-vote] {
    flex: 0 0 21px !important;
    min-width: 21px !important;
    width: 21px !important;
  }
}
/* ANIMEHUB_COMMENT_THREAD_REFINEMENT_V68_END */

/* ANIMEHUB_EMBED_HIDE_OWN_SELECTORS_V69_START
   Kodik and Senku have their own embedded controls. Never overlay the
   AnimeHub season / episode / dubbing toolbar on either external player.
   The toolbar returns automatically when switching back to AnimeHub. */
body.is-watch #animeHubPlayer:is(.is-kodik, .is-senku) #ahPlayerTopbar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* ANIMEHUB_EMBED_HIDE_OWN_SELECTORS_V69_END */

/* ANIMEHUB_DESKTOP_COMMENT_COMPOSER_OUTSIDE_V71_START
   On desktop, keep Spoiler and Send below the textarea,
   outside of the visible input field just like on mobile. */
@media (min-width: 621px) {
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor textarea {
    min-height: 114px !important;
    padding: 16px 18px !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer > span,
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form #episodeCommentHint {
    display: none !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle {
    margin: 0 !important;
    height: 40px !important;
    padding: 0 14px !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button.episode-comment-submit {
    margin: 0 !important;
    min-width: 142px !important;
    height: 40px !important;
    padding: 0 18px !important;
  }
}
/* ANIMEHUB_DESKTOP_COMMENT_COMPOSER_OUTSIDE_V71_END */
/* ANIMEHUB_DESKTOP_COMMENT_COMPOSER_V71_FINISH_START */
@media (min-width: 621px) {
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.075) !important;
    color: rgba(255,255,255,.84) !important;
  }

  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    fill: none !important;
    stroke: currentColor !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button#episodeCommentSpoilerToggle .episode-comment-spoiler-label {
    display: none !important;
  }
  :where(body.is-watch .episode-comments, body.is-detail #detailCommentsPanel > .episode-comments) .episode-comment-form .episode-comment-form__editor footer button.episode-comment-submit {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #ff9b6b !important;
    color: #fff !important;
  }
}
/* ANIMEHUB_DESKTOP_COMMENT_COMPOSER_V71_FINISH_END */

/* ANIMEHUB_DESKTOP_COMMENT_NO_EXTRA_PANEL_V72_START
   No second background panel under the text area, including while editing
   or hovering the form. Keep the textarea and the two buttons unchanged. */
@media (min-width: 621px) {
  body.is-watch #episodeComments .episode-comment-form,
  body.is-watch #episodeComments .episode-comment-form:hover,
  body.is-watch #episodeComments .episode-comment-form:focus-within,
  body.is-watch #episodeComments .episode-comment-form.is-replying,
  body.is-detail #detailCommentsPanel .episode-comment-form,
  body.is-detail #detailCommentsPanel .episode-comment-form:hover,
  body.is-detail #detailCommentsPanel .episode-comment-form:focus-within,
  body.is-detail #detailCommentsPanel .episode-comment-form.is-replying {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
}
/* ANIMEHUB_DESKTOP_COMMENT_NO_EXTRA_PANEL_V72_END */


/* ANIMEHUB_MOBILE_TWO_ROW_CONTROLS_V73_START
   On phones the bottom player controls use two rows:
   row 1 = seekbar + time, row 2 = play/pause + volume on the left,
   remaining actions on the right. Keep the same visual language. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 8px 8px 7px !important;
    overflow: visible !important;
  }

  body.is-watch #animeHubPlayer .ah-player__row {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    grid-template-areas:
      "seek seek time"
      "play actions actions" !important;
    align-items: center !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.is-watch #animeHubPlayer .ah-player__seek {
    grid-area: seek !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time * {
    grid-area: time !important;
    justify-self: end !important;
    align-self: center !important;
    white-space: nowrap !important;
  }

  body.is-watch #animeHubPlayer .ah-player__play {
    grid-area: play !important;
    justify-self: start !important;
    align-self: center !important;
  }

  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    grid-area: actions !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Speaker sits on the left of the second row, other actions stay on the right. */
  body.is-watch #animeHubPlayer .ah-player__actions-cluster > .ah-player-volume-control {
    margin-right: auto !important;
  }

  /* Mobile speaker opens the same sideways rail pattern as desktop, just shorter. */
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 24px !important;
    max-width: none !important;
    height: 24px !important;
    overflow: visible !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-3px) scaleX(.96) !important;
    transform-origin: left center !important;
    transition:
      width .18s cubic-bezier(.2,.72,.25,1),
      margin-left .18s cubic-bezier(.2,.72,.25,1),
      opacity .12s ease,
      transform .18s cubic-bezier(.2,.72,.25,1),
      visibility .12s ease !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    width: 68px !important;
    min-width: 68px !important;
    margin-left: 4px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) scaleX(1) !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    position: static !important;
    display: block !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
    touch-action: pan-x !important;
  }

  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume-tip {
    display: none !important;
  }

  body.is-watch #animeHubPlayer .ah-player__controls:has(.ah-player-volume-control.is-open) {
    z-index: 15 !important;
  }
}
/* ANIMEHUB_MOBILE_TWO_ROW_CONTROLS_V73_END */


/* ANIMEHUB_MOBILE_CONTROLS_ALIGNMENT_V74_START
   Preserve original visual styling while separating the three lower groups.
   The layout spans the exact same edges as the top timeline/time row. */
/* On desktop this extra semantic grouping has no visual footprint. */
body.is-watch #animeHubPlayer .ah-player__utility-group { display: contents !important; }

@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__controls {
    box-sizing: border-box !important;
    padding: 8px 8px 7px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 28px 28px minmax(0, 1fr) max-content !important;
    grid-template-areas:
      "seek seek seek time"
      "play volume . utilities" !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek {
    grid-area: seek !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time {
    grid-area: time !important;
    justify-self: end !important;
    margin: 0 !important;
  }
  /* v57 hid it explicitly with an ID rule: restore the button on phones. */
  body.is-watch #animeHubPlayer #ahPlayerPlay {
    grid-area: play !important;
    display: grid !important;
    justify-self: start !important;
    align-self: center !important;
    box-sizing: border-box !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.80) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerPlay svg {
    width: 19px !important;
    height: 19px !important;
  }
  /* Remove the shared backing from the formerly combined action cluster. */
  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    display: contents !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  /* Independent sound circle. The rail opens to the RIGHT and overlays only
     the empty middle space without shrinking the bottom action groups. */
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    grid-area: volume !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: start !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.80) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster #ahPlayerMute {
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 4px !important;
    background: transparent !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    grid-area: utilities !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: max-content !important;
    min-width: 0 !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.80) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerFullscreen {
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 4px !important;
    background: transparent !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    left: calc(100% + 3px) !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    flex: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.96) !important;
    box-shadow: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow: hidden !important;
    transform: translateY(-50%) translateX(-4px) !important;
    transform-origin: left center !important;
    transition: width .2s cubic-bezier(.2,.7,.25,1), opacity .16s ease,
      transform .2s cubic-bezier(.2,.7,.25,1), visibility .16s ease !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    width: clamp(40px, calc(100vw - 270px), 100px) !important;
    min-width: 0 !important;
    padding: 0 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(-50%) translateX(0) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    position: static !important;
    display: block !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    touch-action: pan-x !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume-tip {
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    z-index: 50 !important;
  }
  /* Both upper items span the entire grid width; the right utility column
     must not reserve an empty 60px hole between timeline and clock. */
  body.is-watch #animeHubPlayer .ah-player__seek {
    grid-area: 1 / 1 / 2 / -1 !important;
    justify-self: start !important;
    width: calc(100% - 52px) !important;
    max-width: calc(100% - 52px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time {
    grid-area: 1 / 1 / 2 / -1 !important;
    justify-self: end !important;
    z-index: 1 !important;
  }
  /* Use the exact white desktop volume track and compact thumb, never the
     browser's native thick phone slider. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
  }
}
/* ANIMEHUB_MOBILE_CONTROLS_ALIGNMENT_V74_END */


/* ANIMEHUB_WATCH_LAYOUT_AND_VOLUME_V75_START
   No ordinary episode action toolbar in the shared viewing room. */
body.is-watch.is-together #ahWatchActions,
body.is-watch.is-together .watch-player-page > .ah-watch-actions {
  display: none !important;
}

@media (max-width: 620px) and (orientation: portrait) {
  /* Leave a small clear space before the time label, independent of media duration. */
  body.is-watch #animeHubPlayer .ah-player__seek {
    width: calc(100% - 60px) !important;
    max-width: calc(100% - 60px) !important;
  }

  /* The speaker and the slider form ONE uninterrupted capsule.
     Expand the speaker's own dark backing instead of drawing a second pill. */
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    box-sizing: border-box !important;
    grid-area: volume !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: none !important;
    height: 28px !important;
    min-height: 28px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: rgba(31,31,34,.80) !important;
    transition: width .22s cubic-bezier(.2,.72,.25,1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    width: clamp(60px, calc(100vw - 217px), 116px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control #ahPlayerMute {
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    background: transparent !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    box-sizing: border-box !important;
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    left: 29px !important;
    right: 6px !important;
    top: 0 !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .18s ease, visibility .18s ease !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    box-sizing: border-box !important;
    position: static !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    touch-action: pan-x !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
  }
}
/* ANIMEHUB_WATCH_LAYOUT_AND_VOLUME_V75_END */


/* ANIMEHUB_MOBILE_TAP_AND_FULLSCREEN_V76_START
   Mobile fullscreen should keep the top dropdowns accessible even in landscape;
   settings float clear of the seekbar. No button/visual redesign. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer:fullscreen .ah-player__top,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__top {
    z-index: 60 !important;
    overflow: visible !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer:fullscreen .ah-player__top-cluster,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__top-cluster {
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer:fullscreen .ah-player-select.is-open .ah-player-select__menu,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player-select.is-open .ah-player-select__menu {
    position: absolute !important;
    z-index: 90 !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    left: 0 !important;
    right: auto !important;
    width: max-content !important;
    min-width: min(165px, calc(100vw - 36px)) !important;
    max-width: min(215px, calc(100vw - 36px)) !important;
    max-height: min(240px, calc(100dvh - 135px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  body.is-watch #animeHubPlayer:fullscreen [data-player-select="translation"].is-open .ah-player-select__menu,
  body.is-watch #animeHubPlayer:-webkit-full-screen [data-player-select="translation"].is-open .ah-player-select__menu {
    left: auto !important;
    right: 0 !important;
  }
  body.is-watch #animeHubPlayer:fullscreen .ah-player__controls:has(.ah-player-settings.is-open),
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player__controls:has(.ah-player-settings.is-open) {
    z-index: 65 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings.is-open .ah-player-settings__menu {
    bottom: calc(100% + 52px) !important;
  }
  body.is-watch #animeHubPlayer:fullscreen .ah-player-settings.is-open .ah-player-settings__menu,
  body.is-watch #animeHubPlayer:-webkit-full-screen .ah-player-settings.is-open .ah-player-settings__menu {
    position: absolute !important;
    top: auto !important;
    bottom: calc(100% + 52px) !important;
    left: auto !important;
    right: 0 !important;
    width: min(220px, calc(100vw - 30px)) !important;
    min-width: 0 !important;
    max-width: min(220px, calc(100vw - 30px)) !important;
    max-height: min(235px, calc(100dvh - 130px)) !important;
    overflow-y: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer:is(.is-idle,.is-mobile-controls-hidden):has(.ah-player-select.is-open) .ah-player__top,
  body.is-watch #animeHubPlayer:is(.is-idle,.is-mobile-controls-hidden):has(.ah-player-settings.is-open) .ah-player__controls {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}
/* ANIMEHUB_MOBILE_TAP_AND_FULLSCREEN_V76_END */


/* ANIMEHUB_MOBILE_SKIP_10_LABELS_V77_START
   Show concise seek amounts on the existing mobile skip buttons.
   Desktop keeps the chevron SVGs, and skip behaviour is unchanged. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__pause-jump > svg {
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump::after {
    display: block !important;
    color: currentColor !important;
    font-family: "Unbounded", sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--back::after {
    content: "-10" !important;
  }
  body.is-watch #animeHubPlayer .ah-player__pause-jump--forward::after {
    content: "+10" !important;
  }
}
/* ANIMEHUB_MOBILE_SKIP_10_LABELS_V77_END */


/* ANIMEHUB_V78_PEACH_SEEKBAR_AND_PC_PAUSE_START
   Shared peach-on-charcoal timeline with subtle dark hover, plus the
   desktop-only Yamianime-inspired no-disc playback flash. */
body.is-watch #animeHubPlayer .ah-player__seek-track {
  background: rgba(29, 29, 32, .84) !important;
  background-color: rgba(29, 29, 32, .84) !important;
  background-image: none !important;
  transition: background-color .18s ease, height .15s ease !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer {
  background: rgba(255,255,255,.075) !important;
  background-image: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  background: #ff9874 !important;
  background-color: #ff9874 !important;
  background-image: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  box-shadow: 0 0 0 2px rgba(15,15,18,.28) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
  body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
    background: rgba(15,15,17,.94) !important;
    background-color: rgba(15,15,17,.94) !important;
  }
}
/* Only desktop receives the enlarged, softly animated, peach playback icon. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback {
    width: clamp(102px, 10vw, 142px) !important;
    height: clamp(102px, 10vw, 142px) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback::before,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible::before {
    content: none !important;
    display: none !important;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback svg {
    width: 104px !important;
    height: 104px !important;
    max-width: 100% !important;
    max-height: 100% !important;
    fill: #ffa181 !important;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.48)) drop-shadow(0 0 16px rgba(255,148,110,.30)) !important;
    transform: scale(.94);
    transform-origin: center !important;
    backface-visibility: hidden;
    will-change: opacity, transform;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation: ah-v78-peach-playback-flash .54s cubic-bezier(.22,.61,.36,1) both !important;
  }
}
@keyframes ah-v78-peach-playback-flash {
   0% { opacity: 0; transform: scale(.91); }
  12% { opacity: 1; transform: scale(.975); }
  30% { opacity: .86; transform: scale(1.015); }
 100% { opacity: 0; transform: scale(1.10); }
}

/* Mobile portrait: full-width timeline on top, clock before speaker below.
   Keep Play, the speaker capsule and the grouped utilities unchanged. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__row {
    display: grid !important;
    grid-template-columns: 28px max-content 28px minmax(0,1fr) max-content !important;
    grid-template-areas: "seek seek seek seek seek" "play time volume . utilities" !important;
    align-items: center !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek {
    grid-area: seek !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time {
    grid-area: time !important;
    justify-self: start !important;
    align-self: center !important;
    margin: 0 !important;
    width: max-content !important;
    white-space: nowrap !important;
    z-index: 1 !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerPlay {
    grid-area: play !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    grid-area: volume !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    grid-area: utilities !important;
    justify-self: end !important;
  }
}
/* ANIMEHUB_V78_PEACH_SEEKBAR_AND_PC_PAUSE_END */


/* ANIMEHUB_CONTROLS_POLISH_V6_START
   User pass: peach jelly pause feedback on desktop, two-row controls on both desktop and mobile,
   darker YouTube-like seek rail, mobile boxed white time, tighter mobile spacing. */
:root {
  --ah-player-rail-dark: rgba(18,19,22,.52);
  --ah-player-rail-dark-hover: rgba(255,255,255,.22);
  --ah-player-rail-buffer: rgba(255,255,255,.18);
  --ah-player-peach: #ff9874;
}

/* Universal two-row layout: top row = timeline, bottom row = controls. */
body.is-watch #animeHubPlayer .ah-player__controls {
  display: block !important;
  padding: 0 12px 12px !important;
}
body.is-watch #animeHubPlayer .ah-player__row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  row-gap: 6px !important;
  column-gap: 5px !important;
}
body.is-watch #animeHubPlayer .ah-player__seek {
  order: 1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 2px !important;
  height: 18px !important;
}
body.is-watch #animeHubPlayer .ah-player__play { order: 2 !important; }
body.is-watch #animeHubPlayer .ah-player__time { order: 3 !important; }
body.is-watch #animeHubPlayer .ah-player__actions-cluster {
  order: 4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-left: auto !important;
  min-width: 0 !important;
}
body.is-watch #animeHubPlayer .ah-player__utility-group {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Seek rail: dark glassy base, peach played part, no ring around the thumb. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
  height: 5px !important;
  border-radius: 999px !important;
  background: var(--ah-player-rail-dark) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow: visible !important;
}
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
  background: var(--ah-player-rail-dark-hover) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer {
  background: var(--ah-player-rail-buffer) !important;
  height: 100% !important;
  border-radius: inherit !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress {
  background: var(--ah-player-peach) !important;
  height: 100% !important;
  border-radius: inherit !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 12px !important;
  height: 12px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: var(--ah-player-peach) !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
    height: 6px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb {
    width: 14px !important;
    height: 14px !important;
  }
}

/* PC: bigger, solid peach jelly pause/play flash, with a short hold in the middle. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback {
    width: 144px !important;
    height: 144px !important;
    z-index: 18 !important;
    opacity: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback::before,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible::before {
    display: none !important;
    content: none !important;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback svg {
    width: 84px !important;
    height: 84px !important;
    fill: var(--ah-player-peach) !important;
    opacity: 0;
    filter: drop-shadow(0 10px 30px rgba(255,152,116,.24)) !important;
    transform-origin: 50% 50% !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation: ah-playback-feedback-jelly 0.84s cubic-bezier(.18,.9,.2,1) both !important;
  }
}
@keyframes ah-playback-feedback-jelly {
  0%   { opacity: 0; transform: scale(.42); }
  14%  { opacity: 1; transform: scale(1.22,.84); }
  24%  { opacity: 1; transform: scale(.9,1.12); }
  34%  { opacity: 1; transform: scale(1.08,.94); }
  44%  { opacity: 1; transform: scale(.98,1.03); }
  54%  { opacity: 1; transform: scale(1); }
  74%  { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(.98); }
}

/* Mobile / touch: white boxed time, move the timeline closer, full width, lower row packed tighter. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 0 8px 8px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row {
    column-gap: 4px !important;
    row-gap: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek {
    margin: 0 0 1px !important;
    height: 16px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek-track,
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
    height: 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__play {
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    height: 28px !important;
    padding: 0 10px !important;
    margin: 0 2px 0 0 !important;
    border-radius: 999px !important;
    background: rgba(18,19,22,.52) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045) !important;
    flex: 0 0 auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time b,
  body.is-watch #animeHubPlayer .ah-player__time span,
  body.is-watch #animeHubPlayer .ah-player__time i {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time i {
    opacity: .72 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__actions-cluster {
    gap: 3px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    gap: 3px !important;
  }
}
/* ANIMEHUB_CONTROLS_POLISH_V6_END */


/* ANIMEHUB_PLAYER_LAYOUT_AND_FEEDBACK_V80_START
   Fixes v79 layout collisions and precise hover-seek feedback. */

/* Two rigid rows on all sizes. The actions wrapper is layout-transparent so
   speaker can sit on the left while utility icons stay grouped on the right. */
body.is-watch #animeHubPlayer .ah-player__controls {
  padding: 0 12px 9px !important;
}
body.is-watch #animeHubPlayer .ah-player__row {
  display: grid !important;
  grid-template-areas: "seek seek seek seek" "play clock sound tools" !important;
  grid-template-columns: max-content max-content minmax(40px,1fr) max-content !important;
  align-items: center !important;
  column-gap: 6px !important;
  row-gap: 1px !important;
  width: 100% !important;
  min-width: 0 !important;
}
body.is-watch #animeHubPlayer .ah-player__seek {
  grid-area: seek !important;
  display: flex !important;
  flex: none !important;
  justify-self: stretch !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 13px !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.is-watch #animeHubPlayer #ahPlayerPlay {
  grid-area: play !important;
  justify-self: start !important;
  order: initial !important;
}
body.is-watch #animeHubPlayer .ah-player__time {
  grid-area: clock !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  height: 32px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  background: rgba(31,31,34,.78) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
body.is-watch #animeHubPlayer .ah-player__actions-cluster {
  display: contents !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.is-watch #animeHubPlayer .ah-player-volume-control {
  grid-area: sound !important;
  justify-self: start !important;
  margin: 0 !important;
}
body.is-watch #animeHubPlayer .ah-player__utility-group {
  grid-area: tools !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-self: end !important;
  align-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  width: max-content !important;
  margin: 0 !important;
}

/* Track remains dark when hovering. A single translucent, percentage-sized
   overlay is drawn from played progress to the hover point. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
  position: relative !important;
  height: 5px !important;
  background: rgba(25,25,27,.76) !important;
  background-color: rgba(25,25,27,.76) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: var(--ah-seek-preview-left,0%) !important;
  width: var(--ah-seek-preview-width,0%) !important;
  border-radius: 999px !important;
  background: rgba(211,213,218,.35) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track::after {
    opacity: 1 !important;
  }
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress {
  z-index: 2 !important;
  background: #ff9874 !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  z-index: 3 !important;
  background: #ff9874 !important;
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Animation was hidden by the v79 base opacity:0!important on the parent.
   Explicitly show on class toggle while keeping its initial state invisible. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 30 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    fill: #ff9874 !important;
    animation: ah-playback-feedback-jelly .84s cubic-bezier(.18,.9,.2,1) both !important;
  }
  /* Sound popout needs to open toward the right after moving next to Play. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    left: calc(100% + 2px) !important;
    right: auto !important;
  }
}

/* Keep the small-screen controls in exactly the same two-row grid instead
   of letting the previous flex-wrap put the speaker on a third line. */
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__controls {
    padding: 0 7px 6px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row {
    display: grid !important;
    grid-template-areas: "seek seek seek seek" "play clock sound tools" !important;
    grid-template-columns: 28px max-content minmax(28px,1fr) max-content !important;
    column-gap: 4px !important;
    row-gap: 3px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek {
    height: 13px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time {
    height: 28px !important;
    padding: 0 7px !important;
    margin: 0 !important;
    font-size: 9px !important;
    gap: 2px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time b,
  body.is-watch #animeHubPlayer .ah-player__time span,
  body.is-watch #animeHubPlayer .ah-player__time i {
    font-size: 9px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    grid-area: sound !important;
    justify-self: start !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    grid-area: tools !important;
    justify-self: end !important;
    padding-inline: 2px !important;
    gap: 0 !important;
  }
}

/* Consistent short stems on quick-action chevrons, unchanged hover colors. */
body.is-watch .ah-player-sidepanel__action-arrow svg {
  width: 21px !important;
  height: 21px !important;
  stroke-width: 1.9 !important;
}
/* ANIMEHUB_PLAYER_LAYOUT_AND_FEEDBACK_V80_END */

/* ANIMEHUB_DESKTOP_INLINE_SOUND_V80_START
   The relocated speaker grows its OWN pill to the right. No floating range,
   duplicated backing or layout jump in the right utility group. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    position: relative !important;
    justify-self: start !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex: none !important;
    box-sizing: border-box !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: none !important;
    height: 38px !important;
    overflow: hidden !important;
    background: rgba(31,31,34,.8) !important;
    border-radius: 999px !important;
    transition: width .23s cubic-bezier(.22,.73,.23,1) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    width: 132px !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerMute {
    position: relative !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    background: transparent !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    top: 0 !important;
    left: 40px !important;
    right: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
    visibility: hidden !important;
    transition: opacity .15s ease, visibility .15s ease !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    position: static !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
}
/* ANIMEHUB_DESKTOP_INLINE_SOUND_V80_END */

/* Very narrow phones: keep both rows inside the player frame. */
@media (max-width: 299px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__utility-group .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerFullscreen {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    padding: 3px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    min-height: 26px !important;
    padding-inline: 2px !important;
  }
}


/* ANIMEHUB_HOVER_PREVIEW_AND_PAUSE_V81_START
   Small targeted overrides after v80: two-row layout and button sizes remain intact. */
body.is-watch #animeHubPlayer .ah-player__seek {
  transform: translateY(-2px) !important;
}
/* Keep the unplayed track dark; illuminate only the gap up to the pointer. */
body.is-watch #animeHubPlayer .ah-player__seek-track::after {
  background: rgba(208,216,225,.62) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track {
    height: 8px !important;
    background: rgba(25,25,27,.76) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb {
    width: 14px !important;
    height: 14px !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
  }
}
/* Time hint below the borderless video preview: same dark-glass treatment as controls. */
body.is-watch #animeHubPlayer #ahPlayerSeekTip {
  bottom: 34px !important;
  min-width: 38px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: rgba(29,30,34,.94) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
  z-index: 35 !important;
}
body.is-watch #animeHubPlayer #ahPlayerSeekTip::after {
  border-top-color: rgba(29,30,34,.94) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-frame {
  position: absolute !important;
  z-index: 34 !important;
  bottom: 67px !important;
  left: 50%;
  width: 208px !important;
  height: 117px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(5px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-frame.has-frame {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-frame video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  background: #101013 !important;
  pointer-events: none !important;
}
/* PC: preserve background capsule around download/settings/PiP/fullscreen. */
body.is-watch #animeHubPlayer .ah-player__utility-group {
  background: rgba(29,30,34,.84) !important;
  border-radius: 999px !important;
  padding: 0 4px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}
/* White elapsed/total time, including the child nodes and separator. */
body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player__time b,
body.is-watch #animeHubPlayer .ah-player__time span,
body.is-watch #animeHubPlayer .ah-player__time i {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player__time i { opacity: .67 !important; }
/* The volume percent card must not be clipped by the expanding dark sound capsule. */
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:has(.ah-player__volume:hover),
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:has(.ah-player__volume:focus-visible) {
  overflow: visible !important;
}
body.is-watch #animeHubPlayer .ah-player__volume-tip {
  background: rgba(29,30,34,.95) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
}
body.is-watch #animeHubPlayer .ah-player__volume-tip::after {
  border-top-color: rgba(29,30,34,.95) !important;
}
/* Desktop jelly: gentle overshoot, longer hold, then a soft fade. */
@keyframes ah-playback-feedback-jelly-v81 {
  0% { opacity: 0; transform: scale(.66,.77); }
  12% { opacity: 1; transform: scale(1.15,.94); }
  24% { opacity: 1; transform: scale(.96,1.08); }
  34% { opacity: 1; transform: scale(1.04,.98); }
  44% { opacity: 1; transform: scale(1,1); }
  80% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.025); }
}
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation: ah-playback-feedback-jelly-v81 1.17s cubic-bezier(.3,.7,.24,1) both !important;
  }
}
/* Phones: paused center stays visible, no left/right 10-second badges. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__pause-jump,
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) .ah-player__pause-jump {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading):not(.is-embed) #ahPlayerCenter:not([hidden]) {
    display: grid !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerCenter.is-jelly-enter {
    animation: ah-mobile-center-jelly-v81 .52s cubic-bezier(.2,.72,.24,1) both !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek-frame { display: none !important; }
}
@keyframes ah-mobile-center-jelly-v81 {
  0% { opacity: .22; transform: translate(-50%,-50%) scale(.72,.85); }
  24% { opacity: 1; transform: translate(-50%,-50%) scale(1.10,.93); }
  45% { opacity: 1; transform: translate(-50%,-50%) scale(.96,1.06); }
  67% { opacity: 1; transform: translate(-50%,-50%) scale(1.025,.985); }
  100% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
/* Brief play flash when resuming on mobile, while paused state is indicated persistently by the center button. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible.is-play {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 16 !important;
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 88px !important;
    height: 88px !important;
    transform: translate(-50%,-50%) !important;
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible.is-play::before {
    display: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-pause { display: none !important; }
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-play {
    display: block !important;
    width: 54px !important;
    height: 54px !important;
    fill: #ff9874 !important;
    animation: ah-playback-feedback-jelly-v81 1.17s cubic-bezier(.3,.7,.24,1) both !important;
  }
}
/* ANIMEHUB_HOVER_PREVIEW_AND_PAUSE_V81_END */


/* ANIMEHUB_PLAYER_TOUCH_FEEDBACK_AND_TRACK_V82_START
   Desktop: align the expanding sound rail, raise the seek line another 2px,
   remove the last hairline border, and brighten only the previewed segment.
   Touch layout is unchanged, except for the obsolete central playback style. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek {
    transform: translateY(-4px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    align-self: center !important;
    justify-self: start !important;
    height: 38px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    top: 50% !important;
    height: 38px !important;
    transform: translateY(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    align-self: center !important;
    height: 18px !important;
    line-height: normal !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerMute {
    align-self: center !important;
    display: grid !important;
    place-items: center !important;
  }
  body.is-watch #animeHubPlayer .ah-player__seek-track::after {
    background: rgba(227,233,240,.78) !important;
  }
}
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerProgress,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer,
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* The touch center icon uses the peach jelly styling rather than the old frosted circle.
   Preserve its click target and keep the play glyph persistently visible when paused. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]),
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading):not(.is-embed) #ahPlayerCenter:not([hidden]) {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
    width: 60px !important;
    height: 60px !important;
    color: #ff9874 !important;
    transform: translate(-50%, -50%) !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play,
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-pause {
    fill: #ff9874 !important;
    color: #ff9874 !important;
    filter: drop-shadow(0 5px 18px rgba(255,152,116,.25)) !important;
    transform-origin: 50% 50% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play {
    width: 42px !important;
    height: 46px !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-pause {
    width: 44px !important;
    height: 44px !important;
  }
  /* Earlier !important transform on the button blocked the jelly animation.
     Animate the SVG glyph itself, without animating the clickable element. */
  body.is-watch #animeHubPlayer #ahPlayerCenter.is-jelly-enter {
    animation: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-loading) #ahPlayerCenter.is-jelly-enter svg.is-play {
    animation: ah-mobile-peach-jelly-v82 .68s cubic-bezier(.25,.7,.23,1) both !important;
  }
}
@keyframes ah-mobile-peach-jelly-v82 {
  0% { opacity: 0; transform: scale(.56,.75); }
  20% { opacity: 1; transform: scale(1.18,.88); }
  41% { opacity: 1; transform: scale(.94,1.09); }
  60% { opacity: 1; transform: scale(1.045,.98); }
  79% { opacity: 1; transform: scale(.99,1.02); }
  100% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer #ahPlayerCenter.is-jelly-enter svg.is-play { animation: none !important; }
}
/* ANIMEHUB_PLAYER_TOUCH_FEEDBACK_AND_TRACK_V82_END */

/* ANIMEHUB_PLAYER_EQUAL_HEIGHT_SOUND_V83_START
   One optical height across desktop bottom controls. Slightly softer glass;
   leave mobile spacing and the playback/seek logic untouched. */
body.is-watch #animeHubPlayer #ahPlayerPlay,
body.is-watch #animeHubPlayer .ah-player__time,
body.is-watch #animeHubPlayer .ah-player-volume-control,
body.is-watch #animeHubPlayer .ah-player__utility-group {
  background: rgba(29, 30, 34, .68) !important;
}

/* Align the 4 desktop capsules to the already established 38px Play button. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer #ahPlayerPlay,
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    align-self: center !important;
    box-sizing: border-box !important;
  }

  body.is-watch #animeHubPlayer .ah-player__time {
    padding: 0 10px !important;
    line-height: 1 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player__time b,
  body.is-watch #animeHubPlayer .ah-player__time span,
  body.is-watch #animeHubPlayer .ah-player__time i {
    font-size: 12px !important;
    line-height: 1 !important;
  }

  /* The speaker had an older 34px height and was shifted down 2px. */
  body.is-watch #animeHubPlayer .ah-player-volume-control > #ahPlayerMute {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 7px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control > #ahPlayerMute svg {
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    margin: 0 !important;
  }

  /* Anchor the expanding sound slider to the identical central axis. */
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 38px !important;
    right: 8px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player__volume,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    position: relative !important;
    top: 0 !important;
    transform: none !important;
    align-self: center !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.is-watch #animeHubPlayer .ah-player__utility-group {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerFullscreen {
    align-self: center !important;
  }
}
/* ANIMEHUB_PLAYER_EQUAL_HEIGHT_SOUND_V83_END */

/* Keep the same translucency after the volume pill expands, including touch. */
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within {
  background: rgba(29, 30, 34, .68) !important;
}
/* Sub-300px layout already has smaller icons: the surrounding pill stays 28px high. */
@media (max-width: 299px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
  }
}


/* ANIMEHUB_CHAPTERD_SEEK_RAIL_V84_START
   Slightly higher seek rail, lighter gray unplayed section, proportional thumb
   on hover, and chapter cuts at real skip-time ranges only. */
body.is-watch #animeHubPlayer .ah-player__seek {
  transform: translateY(-6px) !important;
}
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek {
    transform: translateY(-8px) !important;
  }
}
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
  background: rgba(110,113,120,.68) !important;
  background-color: rgba(110,113,120,.68) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerBuffer {
  background: rgba(232,234,238,.25) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px !important;
  min-height: 11px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transition: width .16s ease, height .16s ease, background .16s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track > #ahPlayerThumb,
  body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track > #ahPlayerThumb {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
  }
}
/* The markers span the full track, but never intercept seeking. */
body.is-watch #animeHubPlayer .ah-player__seek-track > .ah-player__seek-chapters {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-chapters > .ah-player__chapter-segment {
  position: absolute !important;
  top: 0 !important;
  height: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(240,242,245,.11) !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-chapters > .ah-player__chapter-segment.has-start-cut {
  border-left: 3px solid rgba(19,20,23,.93) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-chapters > .ah-player__chapter-segment.has-end-cut {
  border-right: 3px solid rgba(19,20,23,.93) !important;
}
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
  z-index: 4 !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
  }
}
/* ANIMEHUB_CHAPTERD_SEEK_RAIL_V84_END */


/* ANIMEHUB_REAL_CHAPTER_GAPS_V85_START
   True separated rounded bars, as on Yamianime. For clips with known
   opening/ending bounds only: no black marker painted over a continuous rail. */
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces:focus-within .ah-player__seek-track {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition-property: height !important;
}
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track::after,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track > #ahPlayerBuffer,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track > #ahPlayerProgress {
  display: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track > .ah-player__seek-chapters {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  z-index: 2 !important;
  background: transparent !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__chapter-rail-piece {
  position: absolute !important;
  top: 0 !important;
  height: 100% !important;
  min-width: 0 !important;
  display: block !important;
  background: rgba(110,113,120,.68) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player__chapter-rail-piece > i,
body.is-watch #animeHubPlayer .ah-player__chapter-rail-piece > b {
  position: absolute !important;
  top: 0 !important;
  left: 0;
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player__chapter-rail-piece > .ah-player__chapter-piece-buffer {
  z-index: 1 !important;
  background: rgba(232,234,238,.25) !important;
}
body.is-watch #animeHubPlayer .ah-player__chapter-rail-piece > .ah-player__chapter-piece-hover {
  z-index: 2 !important;
  background: rgba(208,216,225,.75) !important;
  opacity: 0 !important;
}
@media (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces:hover .ah-player__chapter-piece-hover {
    opacity: 1 !important;
  }
}
body.is-watch #animeHubPlayer .ah-player__chapter-rail-piece > .ah-player__chapter-piece-played {
  z-index: 3 !important;
  background: #ff9874 !important;
}
/* The scrubber thumb is above every segment and never disappears at a cut. */
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track > #ahPlayerThumb {
  z-index: 5 !important;
}
/* ANIMEHUB_REAL_CHAPTER_GAPS_V85_END */


/* ANIMEHUB_COMPACT_SEEK_SPINNER_AND_SKIP_V86_START
   Compact chapter gaps are calculated in player.js (3px instead of 5px).
   Unplayed portions of the rail match the background of the player button capsules. */
body.is-watch #animeHubPlayer .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek:focus-within .ah-player__seek-track {
  background: rgba(29,30,34,.68) !important;
  background-color: rgba(29,30,34,.68) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces:hover .ah-player__seek-track,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces:focus-within .ah-player__seek-track {
  background: transparent !important;
  background-color: transparent !important;
}
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__chapter-rail-piece {
  background: rgba(29,30,34,.68) !important;
}
/* Preserve the peach played path, but use a clean white thumb without an outline. */
body.is-watch #animeHubPlayer .ah-player__seek-track > #ahPlayerThumb,
body.is-watch #animeHubPlayer .ah-player__seek.has-chapter-pieces .ah-player__seek-track > #ahPlayerThumb {
  background: #fff !important;
  background-color: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* Replace the old 5-bar equalizer with a single restrained rotating peach ring. */
body.is-watch #animeHubPlayer .ah-player__loading > .ah-player__loader-spinner {
  display: block !important;
  box-sizing: border-box !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 3px solid rgba(255,152,116,.20) !important;
  border-top-color: #ff9874 !important;
  border-right-color: #ff9874 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  animation: ah-player-simple-spin-v86 .8s linear infinite !important;
}
@keyframes ah-player-simple-spin-v86 {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player__loading > .ah-player__loader-spinner {
    animation-duration: 2s !important;
  }
}
/* The skip control follows the same glass tone, aligned with the end of the seek rail. */
body.is-watch #animeHubPlayer .ah-player__skip {
  right: 12px !important;
  bottom: 73px !important;
  background: rgba(29,30,34,.68) !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body.is-watch #animeHubPlayer .ah-player__skip:hover,
body.is-watch #animeHubPlayer .ah-player__skip:focus-visible {
  background: rgba(29,30,34,.83) !important;
  color: #fff !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__skip {
    right: 8px !important;
    bottom: 73px !important;
  }
}
/* ANIMEHUB_COMPACT_SEEK_SPINNER_AND_SKIP_V86_END */


/* ANIMEHUB_YOUTUBE_TAP_FEEDBACK_V87_START
   YouTube-like click/tap feedback, preserving the existing Play/Pause SVG paths.
   The flash is non-interactive and never replaces the actual player controls. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine),
       (max-width: 980px),
       (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: grid !important;
    place-items: center !important;
    width: 152px !important;
    height: 152px !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%,-50%) !important;
    pointer-events: none !important;
    overflow: visible !important;
    z-index: 36 !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause {
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback::before,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible::before,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(0,0,0,.42) !important;
    box-shadow: none !important;
    opacity: 0;
    transform: scale(.78);
    will-change: opacity,transform;
    pointer-events: none !important;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible svg,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause .ah-player__feedback-pause {
    position: relative !important;
    z-index: 1 !important;
    width: 116px !important;
    height: 116px !important;
    fill: #fff !important;
    color: #fff !important;
    filter: none !important;
    opacity: 0;
    transform: scale(.86);
    transform-origin: center !important;
    will-change: opacity,transform;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-play .ah-player__feedback-pause,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-pause .ah-player__feedback-play {
    display: none !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause .ah-player__feedback-pause {
    display: block !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible::before,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play::before {
    animation: ah-youtube-tap-disc-v87 750ms cubic-bezier(.2,.65,.3,1) both !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible svg,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause .ah-player__feedback-pause {
    animation: ah-youtube-tap-icon-v87 750ms cubic-bezier(.2,.65,.3,1) both !important;
  }
}
@keyframes ah-youtube-tap-disc-v87 {
  0%   { opacity: 0; transform: scale(.88); }
  13.333%, 46.667% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.16); }
}
@keyframes ah-youtube-tap-icon-v87 {
  0%   { opacity: 0; transform: scale(.94); }
  13.333%, 46.667% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.08); }
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause {
    width: 164px !important;
    height: 164px !important;
  }
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible svg,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-play .ah-player__feedback-play,
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback.is-visible.is-pause .ah-player__feedback-pause {
    width: 108px !important;
    height: 108px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible::before,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible svg {
    animation-duration: 150ms !important;
  }
}
/* ANIMEHUB_YOUTUBE_TAP_FEEDBACK_V87_END */


/* ANIMEHUB_MOBILE_PERMANENT_PLAY_V89_START
   A permanently visible white-on-dark Play when paused. No fade, timeout,
   extra tap, or duplicated play animation on mobile. */
body.is-watch #animeHubPlayer .ah-player__loading > .ah-player__loader-spinner {
  border-color: transparent !important;
  border-top-color: #ff9874 !important;
  border-right-color: #ff9874 !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-mobile-play-starting):not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]),
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-mobile-play-starting):not(.is-embed):not(.is-loading):is(.is-mobile-controls-hidden, .is-idle) #ahPlayerCenter:not([hidden]) {
    display: grid !important;
    place-items: center !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 82px !important;
    height: 82px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(12,12,13,.66) !important;
    color: #fff !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 45 !important;
    transform: translate(-50%, -50%) !important;
    transition: none !important;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed) #ahPlayerCenter::before {
    content: none !important;
    display: none !important;
    animation: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play {
    display: block !important;
    width: 43px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    color: #fff !important;
    fill: #fff !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:not(.is-embed) #ahPlayerCenter svg.is-pause {
    display: none !important;
  }
  body.is-watch #animeHubPlayer.has-video:is(.is-playing, .is-mobile-play-starting):not(.is-embed) #ahPlayerCenter,
  body.is-watch #animeHubPlayer.has-video:is(.is-playing, .is-mobile-play-starting):not(.is-embed) #ahPlayerCenter:not([hidden]) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    animation: none !important;
    transition: none !important;
  }
  /* No transient Play/Pause circle flashes on mobile. */
  body.is-watch #animeHubPlayer .ah-player__playback-feedback,
  body.is-watch #animeHubPlayer .ah-player__playback-feedback.is-visible {
    display: none !important;
  }
}
/* ANIMEHUB_MOBILE_PERMANENT_PLAY_V89_END */


/* ANIMEHUB_DESKTOP_LARGER_PLAY_FEEDBACK_V89_END */


/* ANIMEHUB_SKIP_BUTTON_REFINEMENT_V90_START
   No hover recolor; pill shape matches the rounded bottom control capsules. */
body.is-watch #animeHubPlayer .ah-player__skip,
body.is-watch #animeHubPlayer .ah-player__skip:hover,
body.is-watch #animeHubPlayer .ah-player__skip:focus-visible,
body.is-watch #animeHubPlayer .ah-player__skip:active {
  border-radius: 999px !important;
  border: 0 !important;
  background: rgba(29,30,34,.68) !important;
  color: #fff !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__skip,
  body.is-watch #animeHubPlayer .ah-player__skip:hover,
  body.is-watch #animeHubPlayer .ah-player__skip:focus-visible {
    bottom: 67px !important; /* 6px lower than v89 */
  }
}
/* ANIMEHUB_SKIP_BUTTON_REFINEMENT_V90_END */


/* ANIMEHUB_SKIP_ACCESS_AND_MOBILE_PLAY_V91_START
   Keep the existing UI; improve skip-button hit testing and touch visibility. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  /* The skip-opening / next-episode button must win hit-testing against the
     seeker and its floating preview even when approached from above. */
  body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__skip:not([hidden]) {
    z-index: 24 !important;
  }
  /* Limit the invisible seeker area without shrinking its visible rail. */
  body.is-watch #animeHubPlayer .ah-player__seek {
    height: 10px !important;
  }
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  /* Only shift the existing triangle, not its circular touch target. */
  body.is-watch #animeHubPlayer.has-video:not(.is-playing):not(.is-embed):not(.is-loading) #ahPlayerCenter svg.is-play {
    transform: translateX(1px) !important;
  }
  /* A small additional downward move from v90 (67px -> 63px). */
  body.is-watch #animeHubPlayer .ah-player__skip {
    bottom: 63px !important;
  }
  /* Independent of control-bar auto-hide and idle, but still governed by the
     real chapter detection (the hidden attribute) and provider/player mode. */
  body.is-watch #animeHubPlayer:not(.is-embed):is(.is-idle, .is-mobile-controls-hidden) .ah-player__skip:not([hidden]) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 24 !important;
  }
}
/* ANIMEHUB_SKIP_ACCESS_AND_MOBILE_PLAY_V91_END */

/* AH_WATCH_COMMENT_WRAP_V103: keep text inside the normal watch column. */
body.is-watch:not(.is-together) #episodeComments .episode-comment__body,
body.is-watch:not(.is-together) #episodeComments .episode-comment__spoiler-body {
  min-width: 0;
  max-width: 100%;
}
body.is-watch:not(.is-together) #episodeComments .episode-comment__body > p,
body.is-watch:not(.is-together) #episodeComments .episode-comment__spoiler-body > p {
  min-width: 0;
  max-width: 100%;
  white-space: pre-wrap;
  word-break: normal;
  overflow-wrap: anywhere;
  hyphens: none;
}

/* Artwork fills the panel width without cropping or shrinking the quick actions. */
body.is-watch:not(.is-together) #watchPlayerPage > #ahPlayerSidePanel {
  height: auto !important;
  align-self: stretch !important;
}
body.is-watch:not(.is-together) #ahPlayerSidePanel > .ah-player-sidepanel__section {
  flex-shrink: 0;
}
body.is-watch:not(.is-together) #ahPlayerSidePanel > .ah-player-sidepanel__art {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: inherit;
  object-fit: contain;
}
/* The body and the vote row share the content column, including nested replies. */
body.is-watch:not(.is-together) #episodeComments .episode-comment__body {
  width: 100%;
  min-width: 0 !important;
}
body.is-watch:not(.is-together) #episodeComments .episode-comment__body p {
  min-width: 0 !important;
}

/* AH_WATCH_PANEL_INDEPENDENT_HEIGHT_V106
   Artwork can extend down the right column without changing the video row. */
@media (min-width: 1101px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    position: relative !important;
  }
  body.is-watch:not(.is-together) #watchPlayerPage > #ahPlayerSidePanel {
    position: absolute !important;
    grid-area: side !important;
    align-self: start !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-height: 100% !important;
    height: auto !important;
  }
}

/* Soft Standard #1: preserve the existing button surfaces and hover colors. */
body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg[data-soft-icon] {
  width: 25px !important;
  height: 25px !important;
  max-width: 25px !important;
  max-height: 25px !important;
  color: inherit !important;
  overflow: visible !important;
  transform: scale(1) !important;
  transform-origin: center !important;
  transition: transform .12s ease, color .12s ease !important;
}
body.is-watch #animeHubPlayer #ahPlayerMute svg[data-soft-icon] .ah-volume-wave {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.9 !important;
}
body.is-watch #animeHubPlayer #ahPlayerPip svg[data-soft-icon] rect:first-child {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 3.1 !important;
}
body.is-watch #animeHubPlayer #ahPlayerPip svg[data-soft-icon] rect:last-child {
  fill: currentColor !important;
  stroke: none !important;
}
body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen):active {
  transform: none !important;
}
body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen):active > svg {
  color: #a8a8a8 !important;
  transform: scale(.90) !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg[data-soft-icon] {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
  }
}
@media (max-width: 620px) and (orientation: portrait) {
  body.is-watch #animeHubPlayer #ahPlayerPlay > svg[data-soft-icon] {
    width: 19px !important;
    height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
  }
}
/* The touch layout previously hid Play and gave sound a square focus frame. */
@media (orientation: landscape) and (max-width: 980px), (orientation: landscape) and (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) #ahPlayerPlay {
    display: grid !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) .ah-player-volume-control {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border-radius: 999px !important;
    border: 0 !important;
    outline: 0 !important;
  }
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) #ahPlayerMute {
    border-radius: 999px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}

/* ANIMEHUB_SOUND_UI_V8 — targeted polish, preserves existing player surfaces. */
/* Back navigation: same rounded dark capsule as action buttons below the video. */
body.is-watch:not(.is-together) .ah-watch-heading__back {
  background: rgba(29,30,34,.68) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  border-radius: 13px !important;
}
body.is-watch:not(.is-together) .ah-watch-heading__back:hover {
  background: rgba(48,49,53,.78) !important;
}
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-pause[data-soft-icon] {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  /* Only the mobile geometry changes. Buttons retain existing shape and color. */
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    min-height: 28px !important;
    height: 28px !important;
    max-height: 28px !important;
    padding: 2px 4px !important;
    gap: 2px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 12 !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerFullscreen {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 3px !important;
    margin: 0 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group .ah-player-settings {
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group :is(#ahPlayerDownload,#ahPlayerSettingsButton,#ahPlayerPip,#ahPlayerFullscreen) > svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    transform-origin: center !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group .ah-player-settings.is-open {
    z-index: 70 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__menu {
    box-sizing: border-box !important;
    width: min(248px, calc(100vw - 18px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 18px) !important;
    max-height: min(var(--ah-touch-menu-height, 270px), calc(100dvh - 16px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 90 !important;
    touch-action: pan-y !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings.is-menu-below .ah-player-settings__menu {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    transform-origin: top right !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings.is-open .ah-player-settings__menu,
  body.is-watch #animeHubPlayer .ah-player-settings__menu button {
    pointer-events: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view > button,
  body.is-watch #animeHubPlayer .ah-player-settings__options > button {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 38px !important;
    gap: 6px !important;
    padding-block: 8px !important;
    font-size: 11px !important;
    touch-action: manipulation !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > span.ah-player-settings__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button > em {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-left: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
    z-index: 15 !important;
    overflow: visible !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open { z-index: 80 !important; }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand {
    pointer-events: none !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    position: absolute !important;
    left: calc(100% + 3px) !important;
    top: 50% !important;
    bottom: auto !important;
    right: auto !important;
    z-index: 81 !important;
    display: flex !important;
    width: 78px !important;
    min-width: 78px !important;
    height: 28px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding-inline: 8px !important;
    background: rgba(29,30,34,.96) !important;
    transform: translateY(-50%) !important;
    overflow: visible !important;
    border-radius: 999px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player__volume {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    height: 18px !important;
    pointer-events: auto !important;
    touch-action: pan-x !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }
}
@media (max-width: 340px) {
  body.is-watch #animeHubPlayer .ah-player__utility-group { padding-inline: 2px !important; gap: 0 !important; }
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerFullscreen,
  body.is-watch #animeHubPlayer .ah-player__utility-group .ah-player-settings {
    width: 22px !important;
    min-width: 22px !important;
    flex-basis: 22px !important;
  }
}

/* Mobile: enlarge invisible hit areas without enlarging the icons. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__utility-group > :is(#ahPlayerDownload,#ahPlayerPip,#ahPlayerFullscreen),
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerSettingsButton {
    isolation: isolate !important;
    -webkit-tap-highlight-color: transparent;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > :is(#ahPlayerDownload,#ahPlayerPip,#ahPlayerFullscreen)::before,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerSettingsButton::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 999px;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group svg {
    pointer-events: none;
  }
}

/* Targeted watch controls adjustments. */
body.is-watch:not(.is-together) .ah-watch-heading__back {
  background: rgba(255,255,255,.065) !important;
}
body.is-watch:not(.is-together) .ah-watch-heading__back:hover {
  background: rgba(255,255,255,.105) !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__top-cluster {
    min-height: 46px !important;
    padding: 4px 6px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button {
    min-height: 38px !important;
    height: 38px !important;
    padding-inline: 11px !important;
    gap: 8px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select span,
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select b {
    font-size: 14px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select small {
    font-size: 11px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-pause[data-soft-icon] {
    width: 15px !important;
    height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group :is(#ahPlayerDownload,#ahPlayerSettingsButton,#ahPlayerPip,#ahPlayerFullscreen) > svg[data-soft-icon] {
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
  }
  body.is-watch #ahWatchActions .ah-watch-chip {
    min-height: 48px !important;
    padding-inline: 17px !important;
    gap: 11px !important;
    font-size: 15px !important;
  }
  body.is-watch #ahWatchActions .ah-watch-chip svg {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
  }
  body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback {
    width: 119px !important;
    min-width: 119px !important;
    max-width: 119px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  body.is-watch #ahWatchActions .detail-votes.ah-watch-feedback button.detail-vote-button svg {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__utility-group :is(#ahPlayerDownload,#ahPlayerSettingsButton,#ahPlayerPip,#ahPlayerFullscreen) > svg[data-soft-icon] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > :is(#ahPlayerDownload,#ahPlayerPip,#ahPlayerFullscreen)::before,
  body.is-watch #animeHubPlayer .ah-player__utility-group #ahPlayerSettingsButton::before {
    inset: -3px 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings.is-open .ah-player-settings__menu {
    left: auto !important;
    right: 0 !important;
    bottom: calc(100% + 6px) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings.is-menu-below.is-open .ah-player-settings__menu {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
  }
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) .ah-player-settings.is-open .ah-player-settings__menu {
    bottom: calc(100% + 6px) !important;
  }
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) .ah-player-settings.is-menu-below.is-open .ah-player-settings__menu {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
  }
  body.is-watch #animeHubPlayer .ah-player-settings__view,
  body.is-watch #animeHubPlayer .ah-player-settings__options {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    max-width: none !important;
    max-height: none !important;
  }
}

/* Keep the desktop video column wide while the side panel and 9:16 feed stay compact. */
@media (min-width: 1181px) {
  body.is-watch:not(.is-together) #watchPlayerPage:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) clamp(304px, 20vw, 360px) !important;
  }
  body.is-watch:not(.is-together) #ahPlayerSidePanel {
    padding-inline: 14px !important;
  }
}

body.is-watch:not(.is-together) #ahPlayerSidePanel .ah-player-sidepanel__title {
  font-size: 12px !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer #ahPlayerPlay,
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerPlay {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control > #ahPlayerMute {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control:not(.is-open) {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player__download,
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerPip,
  body.is-watch #animeHubPlayer .ah-player__utility-group > #ahPlayerFullscreen,
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    left: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}

/* Watch-page spacing and controls, October 20. */
body.is-watch:not(.is-together) #watchPlayerPage.watch-player-page {
  padding-top: 12px !important;
}
@media (min-width: 981px) {
  body.is-watch:not(.is-together) .ah-watch-heading__back {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 12px !important;
  }
}

body.is-watch #animeHubPlayer .ah-player__top-cluster,
body.is-watch #animeHubPlayer .ah-player__actions-cluster {
  background: rgba(31, 31, 34, .70) !important;
}
body.is-watch #animeHubPlayer :is(#ahPlayerPlay, .ah-player__time, .ah-player-volume-control, .ah-player__utility-group, .ah-player__skip),
body.is-watch #animeHubPlayer .ah-player__skip:hover,
body.is-watch #animeHubPlayer .ah-player__skip:focus-visible,
body.is-watch #animeHubPlayer .ah-player__skip:active {
  background: rgba(29, 30, 34, .58) !important;
}

/* Match the visible glyphs; their SVG viewBoxes contain different amounts of whitespace. */
body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-play[data-soft-icon] {
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
}
body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-pause[data-soft-icon] {
  width: 23px !important;
  height: 23px !important;
  max-width: 23px !important;
  max-height: 23px !important;
}
body.is-watch #animeHubPlayer .ah-player__row #ahPlayerMute > svg,
body.is-watch #animeHubPlayer .ah-player__row .ah-player__utility-group :is(#ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg {
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  max-width: 21px !important;
  max-height: 21px !important;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-play[data-soft-icon] {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg.is-pause[data-soft-icon] {
    width: 19px !important;
    height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row #ahPlayerMute > svg,
  body.is-watch #animeHubPlayer .ah-player__row .ah-player__utility-group :is(#ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }
}

/* text1: saved typography of the former «ПЛЕЕР» side-panel heading. */
.text1 {
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .025em;
  text-transform: uppercase;
}

body.is-watch:not(.is-together) .ah-watch-source {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
body.is-watch:not(.is-together) .ah-watch-source__trigger {
  display: flex;
  min-width: 160px;
  height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 14px;
  border: 0;
  border-radius: 13px;
  background: rgba(29, 30, 34, .76);
  color: #fff;
  font-family: "Unbounded", sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}
body.is-watch:not(.is-together) .ah-watch-source__trigger svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .16s ease;
}
body.is-watch:not(.is-together) .ah-watch-source__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
body.is-watch:not(.is-together) .ah-watch-source__menu[hidden] { display: none !important; }
body.is-watch:not(.is-together) .ah-watch-source__menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  left: 62px;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  width: 180px;
  gap: 3px !important;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: #1b1b1e;
  box-shadow: 0 16px 32px rgba(0,0,0,.36);
}
body.is-watch:not(.is-together) .ah-watch-source__menu .ah-player-sidepanel__player {
  width: 100% !important;
  height: 38px !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 0 12px !important;
}
body.is-watch:not(.is-together) #ahSideEpisodesSection[hidden] { display: none !important; }
body.is-watch:not(.is-together) #ahSideEpisodesSection {
  gap: 12px !important;
  min-width: 0;
}
body.is-watch:not(.is-together) .ah-side-episodes__search {
  display: flex;
  height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.075);
  color: rgba(255,255,255,.7);
}
body.is-watch:not(.is-together) .ah-side-episodes__search svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
body.is-watch:not(.is-together) .ah-side-episodes__search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font: 600 12px "Unbounded", sans-serif;
}
body.is-watch:not(.is-together) .ah-side-episodes__search input::placeholder { color: rgba(255,255,255,.5); }
body.is-watch:not(.is-together) .ah-side-episodes__list {
  display: flex;
  max-height: 560px;
  flex-direction: column;
  gap: 13px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
}
body.is-watch:not(.is-together) .ah-side-episodes__spacer { flex: 0 0 auto; pointer-events: none; }
body.is-watch:not(.is-together) .ah-side-episodes__empty { margin: 8px 0; color: rgba(255,255,255,.6); font-size: 12px; }
body.is-watch:not(.is-together) .ah-side-episode {
  position: relative;
  flex: 0 0 auto;
  min-width: 0;
}
body.is-watch:not(.is-together) .ah-side-episode__select {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
body.is-watch:not(.is-together) .ah-side-episode__image {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 15px;
  background: #111;
}
body.is-watch:not(.is-together) .ah-side-episode.is-active .ah-side-episode__image { border-color: #ff946f; }
body.is-watch:not(.is-together) .ah-side-episode__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.is-watch:not(.is-together) .ah-side-episode__status {
  position: absolute;
  left: 9px;
  bottom: 9px;
  display: inline-flex;
  min-width: 43px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(16,17,19,.88);
  font: 800 18px/1 Arial, sans-serif;
}
body.is-watch:not(.is-together) .ah-side-episode__status.is-watched { color: #5ce49a; }
body.is-watch:not(.is-together) .ah-side-episode__status.is-unwatched { color: #ff696d; }
body.is-watch:not(.is-together) .ah-side-episode__name {
  display: block;
  padding: 8px 2px 0;
  font: 800 12px/1.3 "Unbounded", sans-serif;
}
body.is-watch:not(.is-together) .ah-side-episode__download {
  position: absolute;
  z-index: 1;
  top: 9px;
  right: 9px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: #ff946f;
  color: #17181a;
  cursor: pointer;
}
body.is-watch:not(.is-together) .ah-side-episode__download svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 620px) {
  body.is-watch:not(.is-together) .ah-watch-source__trigger { min-width: 140px; }
  body.is-watch:not(.is-together) .ah-watch-source__menu { left: 0; }
  body.is-watch:not(.is-together) .ah-side-episodes__list { max-height: 460px; }
}
/* Watch layout only. The controls inside #animeHubPlayer retain their existing styles. */
html body.is-watch #detailPage {
  position: relative;
  isolation: isolate;
}
html body.is-watch #detailPage > .detail-banner {
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  height: 580px !important;
  max-height: none !important;
  z-index: 0 !important;
  margin: 0 !important;
  pointer-events: none;
  mask-image: linear-gradient(#000 0%, rgba(0,0,0,.85) 45%, transparent 100%);
}
html body.is-watch #detailPage > .detail-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(6px) brightness(.55) !important;
  transform: scale(1.025);
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage.watch-player-page:not([hidden]) {
  display: grid !important;
  grid-template-columns: clamp(280px, 21.5vw, 320px) minmax(0, 1fr) !important;
  grid-template-areas:
    "poster heading"
    "poster player"
    "poster rail"
    "comments comments" !important;
  grid-template-rows: auto auto auto auto !important;
  column-gap: 22px !important;
  row-gap: 12px !important;
  align-items: start !important;
  width: min(100%, 1920px) !important;
  max-width: 1920px !important;
  padding: 92px clamp(14px, 4vw, 76px) 60px !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .poster-column {
  grid-area: poster !important;
  position: sticky !important;
  top: 110px !important;
  align-self: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-column .anime-poster {
  width: 100% !important;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: 14px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-column .anime-poster img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}
html body.is-watch:not(.is-together) #watchPlayerPage .detail-facts {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions.detail-poster-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 10px !important;
  animation: none !important;
  transform: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions #openWatchPage {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions :is(#watchTogetherButton, #favoriteButton) {
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  border-radius: 16px !important;
  padding-inline: 5px !important;
  font-size: 9.5px !important;
  white-space: nowrap !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions #watchTogetherButton { grid-column: 1 !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions #favoriteButton { grid-column: 2 !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions :is(#watchTogetherButton, #favoriteButton) svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-action-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-action-row :is(#shareButton, #episodeAlertButton) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  border-radius: 15px !important;
  font: 800 9px/1 "Unbounded", sans-serif !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-action-row:has(#episodeAlertButton:not([hidden])) #shareButton {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-action-row .detail-votes {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  height: 34px !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-votes__divider { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions .detail-vote-button {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  border-radius: 15px !important;
  background: rgba(22,23,28,.54) !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) {
  border-color: rgba(255,255,255,.38) !important;
  background: rgba(22,23,28,.54) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.18) !important;
  transition: transform .18s ease !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):hover {
  transform: translateY(-2px) !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .poster-actions #episodeAlertButton[hidden] { display: none !important; }

html body.is-watch:not(.is-together) #watchPlayerPage > #watchReleaseCountdown {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #watchReleaseCountdown[hidden] { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading {
  grid-area: heading !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(18,18,21,.83);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  box-sizing: border-box;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-heading__back,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__trigger { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu[hidden] {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player {
  width: auto !important;
  min-width: 85px !important;
  height: 38px !important;
  justify-content: center !important;
  text-align: center !important;
  border-radius: 11px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu [data-player-source="telegram-web"] {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-episode-search {
  display: flex !important;
  flex: 0 1 260px !important;
  width: min(30%, 260px) !important;
  min-width: 150px !important;
  height: 40px !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(12,13,16,.68);
  box-sizing: border-box;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #animeHubPlayer {
  grid-area: player !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-side-column,
html body.is-watch:not(.is-together) #watchPlayerPage > #ahWatchActions {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap {
  grid-area: rail !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 36px !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 8px 0 0 !important;
  align-items: center !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap[hidden],
html body.is-watch:not(.is-together) #watchPlayerPage.is-movie > .ah-episode-rail-wrap { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail-title {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  color: #fff;
  font: 800 18px/1.2 "Unbounded", sans-serif;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-arrow {
  display: grid !important;
  place-items: center;
  width: 36px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0;
  border-radius: 12px;
  background: rgba(23,23,27,.82);
  color: #fff;
  font-size: 28px;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail {
  display: flex !important;
  gap: 12px !important;
  width: 100%;
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  scrollbar-width: none;
  scroll-behavior: auto !important;
  overscroll-behavior-inline: contain;
  user-select: none;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail img {
  -webkit-user-drag: none;
  user-select: none;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail::-webkit-scrollbar { display: none; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile {
  position: relative;
  flex: 0 0 clamp(150px, 17vw, 205px);
  min-width: 0;
  padding: 2px;
  border: 2px solid transparent;
  border-radius: 15px;
  scroll-snap-align: none;
  box-sizing: border-box;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile.is-active {
  border-color: #ff9569;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__select {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__preview {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(255,149,105,.16), rgba(38,38,46,.9) 50%, rgba(10,10,12,.95));
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status {
  position: absolute;
  top: 7px;
  left: 7px;
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  padding-inline: 4px;
  border-radius: 50%;
  background: rgba(23,23,27,.8);
  color: #fff;
  font-size: 13px;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status:empty { display: none; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile.is-watched .ah-episode-tile__status { background: #27b778; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile.is-active .ah-episode-tile__status { background: #ff9569; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__number {
  display: block;
  margin-top: 7px;
  font: 800 12px/1.25 "Unbounded", sans-serif;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__title {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: rgba(255,255,255,.65);
  font: 500 11px/1.3 Manrope, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__progress {
  display: block;
  width: 100%;
  height: 3px;
  margin-top: 6px;
  border-radius: 4px;
  background: rgba(255,255,255,.12);
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__progress[hidden] { display: none; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #ff9569;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download {
  position: absolute;
  top: 9px;
  right: 9px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 9px;
  background: rgba(15,15,18,.8);
  color: #fff;
  cursor: pointer;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download.is-downloaded { color: #ff9569; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__empty { color: rgba(255,255,255,.6); }
html body.is-watch:not(.is-together) #watchPlayerPage > #episodeComments {
  grid-area: comments !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 24px 0 0 !important;
}

@media (max-width: 980px) {
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage.watch-player-page:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "poster" "heading" "player" "rail" "comments" !important;
    row-gap: 12px !important;
    padding: 45px 12px 54px !important;
    margin-top: 0 !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage > .poster-column {
    position: relative !important;
    top: auto !important;
    width: min(100%, 320px) !important;
    justify-self: center !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading {
    flex-wrap: wrap;
    padding: 12px !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-episode-search {
    flex: 1 1 150px !important;
    width: auto !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile { flex-basis: 158px; }
}
@media (max-width: 520px) {
  html body.is-watch:not(.is-together) #watchPlayerPage > .poster-column { width: min(72vw, 270px) !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source { width: 100%; flex-wrap: wrap; }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu { width: 100% !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-episode-search { flex-basis: 100% !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-arrow { display: none !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile { flex-basis: 148px; }
}

/* The moved poster keeps the description page's compact action sizing. */
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  cursor: pointer;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions #openWatchPage {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  border: 1px solid #ff9569 !important;
  border-radius: 17px !important;
  background: #ff9569 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
  font: 800 clamp(10px, 1vw, 13px)/1 "Unbounded", sans-serif !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) {
  border: 1px solid rgba(255,255,255,.38) !important;
  background: rgba(22,23,28,.54) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.18) !important;
  font: 800 9px/1 "Unbounded", sans-serif !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions #episodeAlertButton[hidden],
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-action-row:has(#episodeAlertButton:not([hidden])) #shareButton {
  display: none !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) svg {
  display: block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  fill: currentColor !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) span {
  display: inline !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-votes {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Watch page: keep the existing poster sticky and align it with the player choices. */
@media (min-width: 981px) {
  html body.is-watch:not(.is-together) main.site-shell { overflow: visible !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage > .poster-column {
    top: 90px !important;
  }
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-heading {
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source {
  justify-content: center !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source > .text1,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-episode-search {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-episode-rail-wrap {
  grid-template-columns: minmax(0, 1fr) !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-arrow {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail {
  cursor: grab;
  touch-action: pan-x;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #watchReleaseCountdown:not([hidden]) {
  grid-area: countdown !important;
  grid-row: auto !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage:has(> #watchReleaseCountdown:not([hidden])) {
  grid-template-areas: "countdown countdown" "poster heading" "poster player" "poster rail" "comments comments" !important;
  grid-template-rows: auto auto auto auto auto !important;
}

/* Match the existing description-page comments instead of introducing a second style. */
html body.is-watch:not(.is-together) #watchPlayerPage > #episodeComments > header { gap: 8px !important; }
html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentsTitle,
html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentsCount {
  color: #c5c6ca !important;
  font: 900 14px/1.15 "Unbounded", sans-serif !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentsCount {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form {
  min-height: 0 !important;
  padding: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form__editor {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form__editor textarea {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 96px !important;
  padding: 12px 16px !important;
  resize: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form__editor footer {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: auto !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentHint,
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-spoiler-label { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentSpoilerToggle {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-submit {
  display: inline-flex !important;
  flex: none !important;
  width: auto !important;
  min-width: 118px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 14px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage :is(.episode-comments-list, .episode-comments-list > .episode-comment, .episode-comment-replies, .episode-comment.is-reply) {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #episodeComments {
  position: relative !important;
  z-index: 4 !important;
}
@media (max-width: 620px) {
  html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentsTitle,
  html body.is-watch:not(.is-together) #watchPlayerPage #episodeCommentsCount { font-size: 13px !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form__editor { gap: 6px !important; }
  html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-form__editor textarea {
    flex: 1 1 0 !important;
    width: 0 !important;
    padding-right: 16px !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .episode-comment-submit {
    min-width: 88px !important;
  }
}

/* The poster's sticky boundary is the end of the episode rail, above comments. */
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage.watch-player-page:not([hidden]) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: stretch !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-content-grid {
  display: grid !important;
  grid-template-columns: clamp(280px, 21.5vw, 320px) minmax(0, 1fr) !important;
  grid-template-areas: "poster heading" "poster player" "poster rail" ". chronology" !important;
  grid-template-rows: auto auto auto auto !important;
  column-gap: 22px !important;
  row-gap: 12px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .poster-column {
  grid-area: poster !important;
  position: sticky !important;
  top: 90px !important;
  align-self: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .ah-watch-heading { grid-area: heading !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > #animeHubPlayer {
  grid-area: player !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .ah-episode-rail-wrap {
  grid-area: rail !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 8px 0 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > #detailChronology {
  grid-area: chronology !important;
  justify-self: start;
  width: min(100%, 900px);
  margin: 18px 0 16px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > :is(.ah-watch-side-column, #ahWatchActions),
html body.is-watch:not(.is-together) #watchPlayerPage.is-movie .ah-watch-content-grid > .ah-episode-rail-wrap {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #watchReleaseCountdown:not([hidden]) {
  width: 100% !important;
  margin-bottom: 12px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage > #episodeComments {
  grid-area: auto !important;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 0 !important;
}
@media (max-width: 980px) {
  html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-content-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "poster" "heading" "player" "rail" "chronology" !important;
  }
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .poster-column {
    position: relative !important;
    top: auto !important;
    width: min(100%, 320px) !important;
    justify-self: center !important;
  }
}
@media (max-width: 520px) {
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .poster-column {
    width: min(72vw, 270px) !important;
  }
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading) svg { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download.is-downloaded::after {
  content: "✓";
  color: #ff9569;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download[data-state="queued"]::after {
  content: "…";
  color: #ff9569;
  font-size: 20px;
  line-height: .5;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download[data-state="active"]::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,149,105,.3);
  border-top-color: #ff9569;
  border-radius: 50%;
  animation: ahEpisodeDownloadSpin .85s linear infinite;
}

/* Compact episode rail and centered source choices. */
html body.is-watch:not(.is-together) #watchPlayerPage > .ah-watch-content-grid {
  row-gap: 16px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .ah-watch-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 36px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu {
  justify-content: flex-start !important;
  gap: 9px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player {
  min-width: 100px !important;
  height: 36px !important;
  padding: 0 17px !important;
  font-size: 13px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > .ah-episode-rail-wrap {
  margin-top: 6px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile {
  border: 0 !important;
  padding: 0 !important;
  border-radius: 9px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile.is-active {
  border: 0 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__preview {
  border-radius: 8px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__number {
  font: 900 12px/1.2 "Unbounded", sans-serif !important;
  text-transform: uppercase !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__title {
  color: #c5c6ca !important;
  font: 900 10px/1.3 "Unbounded", sans-serif !important;
  text-transform: uppercase !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__progress {
  display: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status.is-playing {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background: rgba(18,18,21,.84) !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status.is-playing i {
  display: block;
  width: 3px;
  height: 11px;
  border-radius: 3px;
  background: #ff9569;
  animation: ahEpisodeWave .8s ease-in-out infinite alternate;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status.is-playing i:nth-child(2) { animation-delay: -.4s; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status.is-playing i:nth-child(3) { animation-delay: -.2s; }
@keyframes ahEpisodeWave {
  from { transform: scaleY(.35); }
  to { transform: scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__status.is-playing i { animation: none; }
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download {
  color: #ff9569 !important;
  border-color: rgba(255,149,105,.42) !important;
}
@media (max-width: 520px) {
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player {
    min-width: 0 !important;
    padding-inline: 9px !important;
    font-size: 11px !important;
  }
}
@keyframes ahEpisodeDownloadSpin { to { transform: rotate(360deg); } }

/* Episode download button: filled peach cloud control from the episode reference. */
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download {
  width: 36px !important;
  height: 36px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #ff9b73 !important;
  color: #241b1b !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:hover:not(:disabled) {
  background: #ffad89 !important;
  transform: translateY(-2px);
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download svg {
  stroke-width: 2.5 !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, [data-state="queued"])::after {
  color: #241b1b !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download[data-state="active"]::after {
  border-color: rgba(36, 27, 27, .22) !important;
  border-top-color: #241b1b !important;
}

/* The artwork includes its own soft tile silhouette and transparent outside corners. */
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download {
  top: 4px;
  right: 4px;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url("/episode-download-anivox.png?v=2") center / contain no-repeat !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:hover:not(:disabled) {
  background: url("/episode-download-anivox.png?v=2") center / contain no-repeat !important;
  transform: translateY(-2px) scale(1.04);
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading) {
  background-image: none !important;
  background-color: #ff9569 !important;
  border-radius: 13px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched {
  position: absolute;
  top: 48px;
  right: 4px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: url("data:image/png;base64,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lb+9+kP5uy/9U26ru5Mde9OkpNaM/Q66srT/rdaaumEuncXkCQ84N88686Lc56jje/+utaaIcgAAa20IDGq4wtzMen6SlxkDwOw6cCfZLTtuy+s+8w9539euyuJcUncvpulmLJ9BV0rvOXJtarJhLllsc+6Jp+eSB/9AzjzulCTx1lUAgD5efhnBAIcrzM2szUmuT3KkUQDMrlpr2lr3R6zrb785V1z36bz9y1fme+2uZLFN2d2maUratEktI7nVtZTSu121tqnzTcp8J529NY8/9dxcfNr5Ofv4+yXpxcaSmlJEOQCAfl2KGcEAhyvMzbT/luR5xgDAgbe3Jsl3d23PP934xfzDVz+RL9z8tWShk+ztJnvbdErTu3209MLeQC5QauntjCslbVtT50qy0EmpNffZcGwee79z8v33e3BO2Xz8/v//+948CwBAfy/NjGCAwxXmZtq2JF9IYlsBAEmWnteWHPSyhM/f/LV8+PrP56M3fiE33HZL6vpOaluTvW3KYt0f0PZFuv2trtzziyRK7f0zSpP9Ua0uvR22lpLMd1LmSurubo7fcGTOPen0POqUs3PeljMy38wl2bdDTpADABggF1qDHK4wN/PekeTJxgDAgfbtoCslS69Y6EWwG7bfko9/45p87tvX5Zqbr8/Nu25L5puUpvRiXU2y2F16vWtNqYe4lKu967u677eF5pqklJRO76UTWWyzuSzkAcduzYNPvH8eevIZecDRW7KuM7//byHIAQAMjQuuQQ5XmJt5P5LkbcYAwHLatqam3u1lCru7e3Pdbd/MLXfcni/fekO++O3rs7fdm69/71tpa82OPbvTru8k7V12zZWS7O1m09y61CRbNx2X9evW5/5Hb8lpR23JSZuOzv2OOilHrtt48P+Ppa14ghwAwFC58BrkcIW5mdekdzvrNqMA4J7su1W1rbX3MoZl4tgde3el1ppbd23Pd/fckXTr3c486zrz2brp+KTUbJrfsOw/r7cz7s7nzQEAMHQuwgZozghmXpvk95P8d6MA4B6vyJbCWGfp51p7t7tm6SUQ+wLaEfPrkySbFjbkvjnhXv++Bwa/ff+cfSGuI8YBADDFPPSfJPnfSW4yBgBWopSSpuntnOs0TZqm9F7gsO8/SzveDvmj3f9nLYW43t+j0zRpStn/XDsAAJhmwhxJsit2zAHQJ2Xff5Zu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") center / contain no-repeat;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
  transition: transform .18s ease;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched[hidden] { display: none !important; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched:hover {
  transform: translateY(-2px) scale(1.04);
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download::before,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched::after {
  position: absolute;
  top: 50%;
  right: calc(100% + 6px);
  transform: translateY(-50%);
  padding: 5px 8px;
  border-radius: 7px;
  background: #fff;
  color: #17171b;
  font: 900 12px/1.15 "Unbounded", sans-serif;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  translate: 6px 0;
  transition: opacity .2s ease, translate .2s ease;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download::before { content: attr(data-tooltip); }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched::after { content: "Просмотрено"; }
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:hover::before,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:focus-visible::before,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched:hover::after {
  opacity: 1;
  translate: 0 0;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:hover::before,
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__download:focus-visible::before { translate: 0 0; }
@media (max-width: 520px) {
  html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile__watched::after {
    top: calc(100% + 5px);
    right: 0;
  }
}

/* Keep the moved poster and its controls identical across the two detail views. */
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-column {
  display: block !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #profilePoster {
  transform: perspective(950px) rotateX(var(--detail-poster-tilt-x, 0deg)) rotateY(var(--detail-poster-tilt-y, 0deg));
  transform-style: preserve-3d;
  transform-origin: center;
  transition: transform .22s ease-out, box-shadow .22s ease-out;
  will-change: transform;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #profilePoster:hover {
  transform: perspective(950px) translateY(-2px) rotateX(var(--detail-poster-tilt-x, 0deg)) rotateY(var(--detail-poster-tilt-y, 0deg));
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions {
  gap: 6px !important;
  margin-top: 7px !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions .detail-action-row,
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions .detail-votes {
  gap: 6px !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions #openWatchPage:not(:disabled) {
  transition: transform .18s ease !important;
  animation: none !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions #openWatchPage:not(:disabled):is(:hover, :focus-visible) {
  transform: translateY(-2px) !important;
  background: #ff9569 !important;
  border-color: #ff9569 !important;
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #profilePoster,
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #profilePoster:hover {
    transform: none;
    transition: none;
  }
}

/* Player controls: compact black glass and one shared desktop fade. */
body.is-watch #animeHubPlayer .ah-player__time i {
  opacity: 1 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.is-watch #animeHubPlayer .ah-player__time.text1 {
  font-family: "Unbounded", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}
body.is-watch #animeHubPlayer .ah-player__time.text1 :is(b, span, i) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  font-style: normal !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button,
body.is-watch #animeHubPlayer .ah-player__row button > svg[data-player-icon] {
  scale: 1;
  transition: scale 100ms ease-out, background-color 140ms ease-out !important;
}
body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button.is-pressed,
body.is-watch #animeHubPlayer .ah-player__row button.is-pressed > svg[data-player-icon] {
  scale: .90 !important;
}
body.is-watch #animeHubPlayer {
  --ah-control-surface: rgba(0, 0, 0, .32);
}
/* Hidden overflow can acquire a scroll offset when a control receives focus. */
body.is-watch #animeHubPlayer:not(.is-embed),
body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) {
  overflow: clip !important;
}
body.is-watch { --ah-control-surface: rgba(0, 0, 0, .32); }
body.is-watch #animeHubPlayer .ah-player__top-cluster {
  background: rgba(0, 0, 0, .36) !important;
}
body.is-watch #animeHubPlayer :is(#ahPlayerPlay, .ah-player__time, .ah-player-volume-control, .ah-player__utility-group),
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within {
  background: var(--ah-control-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg[data-player-icon] {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  color: #fff !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.3px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transform: none !important;
  filter: none !important;
}
body.is-watch #animeHubPlayer .ah-player__row #ahPlayerPlay > svg[data-player-icon] {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
}
body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg[data-player-icon] > *,
body.is-watch #animeHubPlayer #ahPlayerCenter svg[data-player-icon],
body.is-watch #animeHubPlayer #ahPlayerCenter svg[data-player-icon] > *,
body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg[data-player-icon],
body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg[data-player-icon] > * {
  color: #fff !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.3px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu,
body.is-watch #animeHubPlayer .ah-player-quality__menu,
body.is-watch #animeHubPlayer .ah-player-settings__menu {
  background: var(--ah-control-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.is-watch #animeHubPlayer .ah-player-select__menu {
  background: rgba(0, 0, 0, .36) !important;
}

/* The rail slides out as the capsule grows; its hit target stays fixed. */
body.is-watch #animeHubPlayer .ah-player-volume-control,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open {
  transition: width 300ms cubic-bezier(.22, .72, .25, 1),
    flex-basis 300ms cubic-bezier(.22, .72, .25, 1) !important;
}
body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
  transform: translateX(-8px) !important;
  opacity: 0 !important;
  transition: opacity 300ms ease, transform 300ms cubic-bezier(.22, .72, .25, 1),
    visibility 0s linear 300ms !important;
}
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
  transform: translateX(0) !important;
  opacity: 1 !important;
  transition: opacity 300ms ease, transform 300ms cubic-bezier(.22, .72, .25, 1),
    visibility 0s linear !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  body.is-watch #animeHubPlayer .ah-player__top-cluster {
    min-height: 38px !important;
    padding: 2px 6px !important;
    box-sizing: border-box !important;
  }
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button {
    height: 34px !important;
    min-height: 34px !important;
    padding-block: 0 !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerPlay,
  body.is-watch #animeHubPlayer .ah-player__time,
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
  body.is-watch #animeHubPlayer .ah-player__utility-group {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
  body.is-watch #animeHubPlayer #ahPlayerPlay,
  body.is-watch #animeHubPlayer .ah-player-volume-control > #ahPlayerMute {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    flex: 0 0 36px !important;
    padding: 0 !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control:not(.is-open) {
    width: 36px !important;
    min-width: 36px !important;
    flex: 0 0 36px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    left: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__utility-group > :is(#ahPlayerDownload, #ahPlayerPip, #ahPlayerFullscreen, .ah-player-settings),
  body.is-watch #animeHubPlayer .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding-block: 0 !important;
  }

  /* These four overlays share the same state, duration and easing. Menus and
     keyboard focus keep them usable; fullscreen still hides them when idle. */
  body.is-watch #animeHubPlayer {
    --ah-controls-opacity: 0;
    --ah-controls-top-shift: -14px;
    --ah-controls-bottom-shift: 14px;
    --ah-controls-visibility: hidden;
    --ah-controls-pointer: none;
    --ah-controls-visibility-delay: 480ms;
  }
  body.is-watch #animeHubPlayer.is-desktop-hovered:not(.is-playing.is-idle),
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen):not(.is-idle),
  body.is-watch #animeHubPlayer:focus-visible,
  body.is-watch #animeHubPlayer:has(:focus-visible),
  body.is-watch #animeHubPlayer:has(.ah-player-select.is-open, .ah-player-settings.is-open, .ah-player-volume-control.is-open) {
    --ah-controls-opacity: 1;
    --ah-controls-top-shift: 0px;
    --ah-controls-bottom-shift: 0px;
    --ah-controls-visibility: visible;
    --ah-controls-pointer: auto;
    --ah-controls-visibility-delay: 0ms;
  }
  body.is-watch #animeHubPlayer .ah-player__top,
  body.is-watch #animeHubPlayer .ah-player__controls,
  body.is-watch #animeHubPlayer .ah-player__shade,
  body.is-watch #animeHubPlayer .ah-player__skip {
    opacity: var(--ah-controls-opacity) !important;
    visibility: var(--ah-controls-visibility) !important;
    pointer-events: var(--ah-controls-pointer) !important;
    transform: none !important;
    transition: opacity 480ms cubic-bezier(.22, .68, .25, 1),
      visibility 0s linear var(--ah-controls-visibility-delay) !important;
  }
  body.is-watch #animeHubPlayer .ah-player__shade { pointer-events: none !important; }
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player__time.text1 {
    font-size: 10px !important;
  }
  body.is-watch #animeHubPlayer .ah-player__row :is(#ahPlayerPlay, #ahPlayerMute, #ahPlayerDownload, #ahPlayerSettingsButton, #ahPlayerPip, #ahPlayerFullscreen) > svg[data-player-icon] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control:focus-within .ah-player-volume-control__expand {
    transform: translate(-8px, -50%) !important;
  }
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:hover .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open:focus-within .ah-player-volume-control__expand {
    transform: translate(0, -50%) !important;
    background: var(--ah-control-surface) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player__top-cluster .ah-player-select > button.is-pressed,
  body.is-watch #animeHubPlayer .ah-player__row button.is-pressed > svg[data-player-icon] {
    scale: 1 !important;
  }
  body.is-watch #animeHubPlayer {
    --ah-controls-visibility-delay: 0ms;
  }
  body.is-watch #animeHubPlayer .ah-player__top,
  body.is-watch #animeHubPlayer .ah-player__controls,
  body.is-watch #animeHubPlayer .ah-player__shade,
  body.is-watch #animeHubPlayer .ah-player__skip,
  body.is-watch #animeHubPlayer .ah-player-volume-control,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open,
  body.is-watch #animeHubPlayer .ah-player-volume-control .ah-player-volume-control__expand,
  body.is-watch #animeHubPlayer .ah-player-volume-control.is-open .ah-player-volume-control__expand {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}

/* Filled playback feedback; the toolbar keeps its outlined glyphs. */
body.is-watch #animeHubPlayer #ahPlayerSkip,
body.is-watch #animeHubPlayer #ahPlayerSkip:is(:hover, :focus-visible, :active) {
  background: var(--ah-control-surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg[data-player-icon],
body.is-watch #animeHubPlayer:not(.is-embed) .ah-player__playback-feedback svg[data-player-icon] > *,
body.is-watch #animeHubPlayer #ahPlayerCenter svg[data-player-icon],
body.is-watch #animeHubPlayer #ahPlayerCenter svg[data-player-icon] > * {
  fill: #fff !important;
  stroke: none !important;
}

/* Keep the existing tooltip geometry and type, changing only its colors. */
body.is-watch #animeHubPlayer #ahPlayerSeekTip,
body.is-watch #animeHubPlayer #ahPlayerVolumeTip {
  background: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  isolation: isolate;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.is-watch #animeHubPlayer #ahPlayerSeekTip::after,
body.is-watch #animeHubPlayer #ahPlayerVolumeTip::after {
  display: none !important;
}
body.is-watch #animeHubPlayer :is(#ahPlayerSeekTip, #ahPlayerVolumeTip) > .ah-tooltip-surface {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  border-radius: inherit;
  background: #000;
  opacity: .32;
  pointer-events: none;
}
body.is-watch #animeHubPlayer .ah-tooltip-surface::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #000;
  transform: translateX(-50%);
}

/* One layout scale covers controls, menus, seek previews and their tooltips. */
body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) {
  --ah-fullscreen-ui-scale: 1.35;
}
body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) > :is(.ah-player__top, .ah-player__controls, .ah-player__skip, .ah-player__loading, .ah-player__upscale-notice, .ah-player__seek-flash, .ah-player__playback-feedback, .ah-player__center, .ah-player__pause-jump, .ah-player__error) {
  zoom: var(--ah-fullscreen-ui-scale);
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer:is(:fullscreen, :-webkit-full-screen) {
    --ah-fullscreen-ui-scale: 1.12;
  }
}

/* Menus stay mounted while fading, so opening and closing both animate. */
body.is-watch #animeHubPlayer .ah-player-select .ah-player-select__menu,
body.is-watch #animeHubPlayer .ah-player-settings .ah-player-settings__menu,
body.is-watch #animeHubPlayer .ah-player-quality .ah-player-quality__menu {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  translate: 0 -6px;
  transition: opacity 400ms ease, translate 400ms cubic-bezier(.22, .72, .25, 1),
    visibility 0s linear 400ms !important;
}
body.is-watch #animeHubPlayer .ah-player-settings .ah-player-settings__menu,
body.is-watch #animeHubPlayer .ah-player-quality .ah-player-quality__menu {
  translate: 0 6px;
}
body.is-watch #animeHubPlayer .ah-player-select.is-open .ah-player-select__menu,
body.is-watch #animeHubPlayer .ah-player-settings.is-open .ah-player-settings__menu,
body.is-watch #animeHubPlayer .ah-player-quality.is-open .ah-player-quality__menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  translate: 0 0;
  transition-delay: 0s !important;
}

/* The rail uses the same progress element and CSS rules as History. */
html body #watchPlayerPage .ah-episode-tile__preview {
  --history-track-color: rgba(255, 255, 255, .34);
}

/* Source choices use the exact surface token used by the player buttons. */
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player {
  min-width: 0 !important;
  width: auto !important;
  padding-inline: 12px !important;
  background: var(--ah-control-surface) !important;
  box-shadow: none !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player:hover:not(.is-active):not([aria-pressed="true"]) {
  background: rgba(110, 110, 110, .3) !important;
  color: #fff !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-source__menu .ah-player-sidepanel__player:is(.is-active, [aria-pressed="true"]) {
  background: #ff9569 !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  color: #fff !important;
}

/* Shared poster controls: rounded corners and white outlines. */
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]) {
  border-radius: 11px !important;
}
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]):is(:hover, :focus-visible, :active),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]):is(:hover, :focus-visible, :active) {
  border: 1px solid rgba(255, 255, 255, .38) !important;
  background: rgba(22, 23, 28, .54) !important;
  box-shadow: none !important;
}

html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-rail {
  padding-top: 4px !important;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile {
  translate: 0 0;
  transition: translate 180ms ease-out;
}
html body.is-watch:not(.is-together) #watchPlayerPage .ah-episode-tile:is(:hover, .is-active) {
  translate: 0 -4px;
}
/* The nested bottom row has older, more specific detail-page overrides. */
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row :is(#shareButton, #episodeAlertButton):not([hidden]),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row .detail-votes :is(#animeLikeButton, #animeDislikeButton):not([hidden]),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row :is(#shareButton, #episodeAlertButton):not([hidden]):is(:hover, :focus-visible, :active),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row .detail-votes :is(#animeLikeButton, #animeDislikeButton):not([hidden]):is(:hover, :focus-visible, :active) {
  border: 1px solid rgba(255, 255, 255, .38) !important;
  border-radius: 11px !important;
  background: rgba(22, 23, 28, .54) !important;
  box-shadow: none !important;
}

/* Shared poster actions: only remove excess vertical space on both pages. */
html body:is(.is-watch, .is-detail) #detailPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) {
  box-sizing: border-box !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-block: 0 !important;
}
html body:is(.is-watch, .is-detail) #detailPage .poster-actions.detail-poster-actions #openWatchPage:not([hidden]),
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions #openWatchPage:not([hidden]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions #openWatchPage:not([hidden]) {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  border-radius: 14px !important;
}
html body:is(.is-watch, .is-detail) #detailPage .poster-actions.detail-poster-actions .detail-votes,
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions :is(.detail-votes, .detail-action-row):not([hidden]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-votes,
html body:is(.is-watch, .is-detail) #detailPage .poster-actions.detail-poster-actions .detail-action-row {
  min-height: 0 !important;
  height: auto !important;
}

html body:is(.is-watch, .is-detail) #detailPage .episode-comment-form .episode-comment-form__editor,
html body:is(.is-watch, .is-detail) #detailPage .episode-comment-form .episode-comment-form__editor textarea,
html body:is(.is-watch, .is-detail) #detailPage .episode-comment-form .episode-comment-form__editor textarea:focus {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player-select .ah-player-select__menu,
  body.is-watch #animeHubPlayer .ah-player-settings .ah-player-settings__menu,
  body.is-watch #animeHubPlayer .ah-player-quality .ah-player-quality__menu {
    transition: none !important;
    translate: none;
  }
}

/* Start the numbers beneath the heading's second letter, with a compact gap. */
html body:is(.is-watch, .is-detail) #detailPage #detailChronologyList {
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}
html body:is(.is-watch, .is-detail) #detailPage #detailChronologyList .detail-chronology-item {
  padding-inline: 14px 0 !important;
  margin-inline: 0 !important;
  column-gap: 16px !important;
}
html body:is(.is-watch, .is-detail) #detailPage #detailChronologyList .detail-chronology-index {
  width: 100% !important;
  justify-items: start !important;
  text-align: left !important;
}
@media (min-width: 681px) {
  html body:is(.is-watch, .is-detail) #detailPage #detailChronologyList .detail-chronology-item {
    grid-template-columns: 42px 160px minmax(0, 1fr) !important;
  }
}

html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row .detail-votes :is(#animeLikeButton, #animeDislikeButton) {
  transition: transform 180ms ease, background-color 180ms ease !important;
}
html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row .detail-votes :is(#animeLikeButton, #animeDislikeButton):is(:hover, :focus-visible) {
  transform: translateY(-2px) !important;
}

/* The translucent controls provide their own contrast; no video-wide shades. */
body.is-watch #animeHubPlayer .ah-player__shade {
  display: none !important;
}

html.is-anime-view-transition::view-transition-group(*) {
  animation-duration: 650ms;
  animation-timing-function: cubic-bezier(.2,.7,.2,1);
}
html.is-anime-view-transition::view-transition-old(root) {
  animation-duration: 300ms;
}
html.is-anime-view-transition::view-transition-new(root) {
  animation-duration: 650ms;
}
html.is-anime-view-transition::view-transition-old(anime-info),
html.is-anime-view-transition::view-transition-old(anime-player),
html.is-anime-view-transition::view-transition-old(anime-sources),
html.is-anime-view-transition::view-transition-old(anime-episodes) {
  transform-origin: center top;
  animation: anime-view-collapse 360ms ease-in both;
}
html.is-anime-view-transition::view-transition-new(anime-info),
html.is-anime-view-transition::view-transition-new(anime-player),
html.is-anime-view-transition::view-transition-new(anime-sources),
html.is-anime-view-transition::view-transition-new(anime-episodes) {
  transform-origin: center top;
  animation: anime-view-expand 650ms cubic-bezier(.22,.68,.25,1) both;
}
@keyframes anime-view-expand {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes anime-view-collapse {
  from { opacity: 1; transform: none; }
  to { opacity: 0; transform: translateY(-8px) scale(.98); }
}

html body:is(.is-watch, .is-detail) #detailPage #detailChronologyToggle:not([hidden]) {
  width: 32px !important;
  min-width: 32px !important;
  margin-left: calc(var(--chronology-number-center, 26px) - 16px) !important;
}
html body.is-watch #detailPage #animeHubPlayer.ah-player,
html body.is-watch #detailPage #animeHubPlayer.ah-player:is(:hover, :focus, :focus-visible) {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* During downloads the existing episode bar shows transfer progress. */
html body #watchPlayerPage .ah-episode-tile.is-download-pending .history-cover-progress {
  overflow: hidden;
  background: var(--history-track-color) !important;
}
html body #watchPlayerPage .ah-episode-tile.is-download-pending .history-cover-progress::after {
  content: "";
  display: block;
  width: 28%;
  height: 100%;
  background: #ffa66e;
  animation: episode-download-pending 1.3s ease-in-out infinite;
}
@keyframes episode-download-pending {
  from { transform: translateX(-105%); }
  to { transform: translateX(365%); }
}

.download-settings-confirm {
  box-sizing: border-box;
  width: min(440px, calc(100vw - 32px));
  padding: 28px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: #1b1b1e;
  color: #fff;
  box-shadow: 0 24px 80px rgba(0,0,0,.4);
  font: 15px/1.55 var(--font-reading, Arial, sans-serif);
}
.download-settings-confirm[open] { animation: download-confirm-appear 240ms ease-out; }
.download-settings-confirm::backdrop { background: rgba(0,0,0,.55); backdrop-filter: blur(4px); }
.download-settings-confirm h2 { margin: 0 0 16px; color: #fff; font: 800 18px/1.4 "Unbounded", sans-serif; }
.download-settings-confirm p { margin: 0 0 16px; }
.download-settings-confirm .download-settings-confirm__selection { color: #ff9569; font-weight: 700; }
.download-settings-confirm label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.download-settings-confirm input { width: 17px; height: 17px; accent-color: #ff9569; }
.download-settings-confirm__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.download-settings-confirm__actions button { min-width: 88px; padding: 10px 20px; border: 0; border-radius: 12px; background: rgba(255,255,255,.09); color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.download-settings-confirm__actions [data-answer="yes"] { background: #ff9569; }
.download-settings-confirm__actions button:hover { filter: brightness(1.1); }
.download-settings-confirm__actions button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@keyframes download-confirm-appear { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .download-settings-confirm[open] { animation: none !important; }
  html body #watchPlayerPage .ah-episode-tile.is-download-pending .history-cover-progress::after { animation: none; transform: none; }
}

/* Hide intermediate Android WebView/orientation layouts, then reveal once. */
.download-settings-confirm.text1 { border: 0 !important; }
.download-settings-confirm::backdrop {
  background: radial-gradient(ellipse at 20% 25%, rgba(255,149,105,.1), transparent 48%), radial-gradient(ellipse at 80% 75%, rgba(207,76,104,.08), transparent 48%), rgba(0,0,0,.55);
  background-size: 180% 180%, 160% 160%, auto;
  animation: download-dialog-ambience 12s ease-in-out infinite alternate;
}
@keyframes download-dialog-ambience {
  from { background-position: 0% 15%, 100% 80%, 0 0; }
  to { background-position: 100% 85%, 0% 20%, 0 0; }
}
.download-settings-confirm.text1 input[type="checkbox"],
.download-settings-confirm.text1 input[type="checkbox"]:hover {
  appearance: none !important;
  position: relative;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  margin: 0;
  border: 2px solid rgba(255,255,255,.45) !important;
  border-radius: 4px;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}
.download-settings-confirm.text1 input[type="checkbox"]:checked,
.download-settings-confirm.text1 input[type="checkbox"]:checked:hover { border-color: #ff9569 !important; background: #ff9569 !important; }
.download-settings-confirm.text1 input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 4px; top: 0px; width: 4px; height: 8px; border: solid #222; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.download-settings-confirm.text1 input[type="checkbox"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download::before { font-size: 10px !important; }
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download > .ah-episode-tile__action-shape,
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download > svg.ah-episode-tile__action-icon { display: none !important; }
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading):hover {
  background: transparent !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading)::after { content: none !important; display: none !important; animation: none !important; }
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading) > .ah-episode-tile__action-shape {
  display: block !important;
  position: absolute;
  inset: 0;
  background: #e5484d;
  -webkit-mask: url('/episode-download-anivox.png?v=2') center / contain no-repeat;
  mask: url('/episode-download-anivox.png?v=2') center / contain no-repeat;
  pointer-events: none;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download.is-downloaded > .ah-episode-tile__action-shape { background: #000; }
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download:is(.is-downloaded, .is-downloading) > svg.ah-episode-tile__action-icon {
  display: block !important;
  position: absolute;
  top: 50%; left: 50%;
  width: 24px !important; height: 24px !important;
  transform: translate(-50%, -50%) !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.7 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-episode-tile__download.is-downloaded > svg.ah-episode-tile__action-icon { stroke: #e33d5d !important; stroke-width: 2.2 !important; }

/* Horizontal overlapping photo stack, following the carousel reference. */
html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide #detailSimilarList.is-similar-stack {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 4px 0 !important;
  margin-top: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  scroll-snap-type: none !important;
}
.similar-stack__photos { position: relative; height: clamp(264px, 27.2vw, 368px); min-width: 0; overflow: hidden; touch-action: pan-y; user-select: none; --stack-step: clamp(60px, 7vw, 100px); }
html body #detailPage #detailSimilarList .similar-stack__photos > .poster-card.similar-stack__card {
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  aspect-ratio: 2 / 3 !important;
  margin: 0 !important;
  border-radius: 16px !important;
  transform: translate(calc(-50% + var(--stack-offset) * var(--stack-step)), calc(-50% + var(--stack-depth) * 10px)) scale(var(--stack-scale)) !important;
  transform-origin: center;
  filter: grayscale(1) brightness(.55);
  opacity: 1;
  transition: transform 650ms cubic-bezier(.22,.68,.25,1), filter 650ms ease, opacity 450ms ease !important;
  cursor: pointer;
}
html body #detailPage #detailSimilarList .similar-stack__card.is-current { filter: none !important; }
html body #detailPage #detailSimilarList .similar-stack__photos > .poster-card.similar-stack__card:not(.is-current) { filter: grayscale(1) brightness(.6) !important; }
html body #detailPage #detailSimilarList .similar-stack__card.is-outside { opacity: 0; visibility: hidden; pointer-events: none; }
html body #detailPage #detailSimilarList .similar-stack__card .anime-card-caption { display: none !important; }
html body #detailPage #detailSimilarList .similar-stack__card:not(.is-current) .card-heart { visibility: hidden; }
html body #detailPage #detailSimilarList .similar-stack__card > img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.similar-stack__info { min-width: 0; padding-right: 12px; }
.similar-stack__info h3.text1 { margin: 0 0 22px; font-family: "Unbounded", sans-serif !important; font-weight: 900 !important; letter-spacing: .025em; font-size: clamp(16px, 1.6vw, 24px); line-height: 1.45; overflow-wrap: anywhere; }
html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide > header { padding-bottom: 0 !important; margin-bottom: 8px !important; }
html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide > header h2 { margin-bottom: 0 !important; }
.similar-stack__meta { margin: 0 0 12px; color: #aaa; font-size: 12px; }
.similar-stack__open { padding: 10px 18px; border: 0; border-radius: 12px; background: #ff9569; color: #fff; font-size: 12px; cursor: pointer; }
.similar-stack__navigation { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.similar-stack__navigation button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; }
.similar-stack__navigation button:hover { background: rgba(255,255,255,.16); }
.similar-stack__navigation button:disabled { opacity: .3; cursor: default; }
.similar-stack__navigation svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.similar-stack__counter { width: 64px; min-width: 64px; flex: 0 0 64px; color: #aaa; font-family: "Unbounded", sans-serif; font-weight: 900; letter-spacing: .025em; font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
html body #detailPage #detailSimilarList .similar-stack__info {
  display: grid;
  align-self: stretch;
  grid-template-rows: minmax(0, 1fr) 36px;
  box-sizing: border-box;
  padding-block: 24px;
}
html body #detailPage #detailSimilarList .similar-stack__info h3.text1 {
  align-self: center;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
html body #detailPage #detailSimilarList .similar-stack__navigation { align-self: end; margin: 0; }
html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide > header { margin-bottom: 20px !important; }
html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide #detailSimilarList.is-similar-stack { padding-top: 0 !important; }

/* One surface and type scale for every metadata badge. */
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips {
  zoom: .9;
  gap: 8px !important;
}
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > :is(#profileStatusChip, #profileSeriesChip, #detailShikimoriRating, .age-chip):not([hidden]) {
  --detail-status-bg: #fff !important;
  --detail-status-ink: #000 !important;
  --detail-status-icon: #000 !important;
  box-sizing: border-box;
  height: 34px !important;
  min-height: 34px !important;
  padding: 4px 10px !important;
  gap: 6px !important;
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  text-shadow: none !important;
}
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > #profileStatusChip::before {
  width: 18px !important;
  height: 18px !important;
  -webkit-mask-size: 18px 18px !important;
  mask-size: 18px 18px !important;
  font-size: 17px !important;
}
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > :is(#profileSeriesChip, #detailShikimoriRating) :is(svg, img) { width: 18px !important; height: 18px !important; }
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > span.age-chip {
  width: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
}
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > span.age-chip::before,
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips > span.age-chip::after { display: none !important; }
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips :is(#profileStatusChip, #profileSeriesChip, #detailShikimoriRating, .age-chip) :is(strong, span, b) {
  font-family: "Unbounded", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  color: #000 !important;
  text-shadow: none !important;
}
html:root body.is-detail:not(.is-watch) #detailPage .anime-info > .chips #detailShikimoriRating #detailShikimoriScore {
  font: inherit !important;
  letter-spacing: inherit !important;
}

/* Match the translucent player surfaces, including over ambient lighting. */
html body:is(.is-detail, .is-watch) #detailPage #detailChronologyList .detail-chronology-item:not(.is-current):hover {
  background: var(--ah-control-surface, rgba(0, 0, 0, .32)) !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
html body:is(.is-detail, .is-watch) #detailPage #detailChronologyList .detail-chronology-item.is-current,
html body:is(.is-detail, .is-watch) #detailPage #detailChronologyList .detail-chronology-item.is-current:hover {
  background: rgba(255, 166, 110, .2) !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: default;
}
@media (min-width: 681px) {
  html body #detailPage #detailSimilarList .similar-stack__info { padding-bottom: 56px; }
}
html body.is-watch #detailPage #animeHubPlayer #ahPlayerVolumeTip { left: var(--ah-volume-tip-x, 50%) !important; }
@media (max-width: 680px) {
  html body #detailPage #detailSimilarList .similar-stack__info { grid-template-rows: 5.8em 36px; padding: 10px 12px 16px; }
}

/* The shared poster uses the same selected-vote color on both routes. */
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-votes :is(#animeLikeButton, #animeDislikeButton):is(.is-active, [aria-pressed="true"]),
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-votes :is(#animeLikeButton, #animeDislikeButton):is(.is-active, [aria-pressed="true"]) :is(svg, span) {
  color: #ff9b6b !important;
}
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions .detail-votes :is(#animeLikeButton, #animeDislikeButton):is(.is-active, [aria-pressed="true"]) svg { fill: currentColor !important; }

html body #downloadCompletionNotices .download-completion-notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 22px;
  border: 0 !important;
  border-radius: 18px;
  background: #ff9569 !important;
  box-shadow: none !important;
  backdrop-filter: none;
  color: #fff;
  font-family: "Unbounded", sans-serif !important;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: .025em;
  text-transform: none;
  text-align: center;
  animation: download-notice-enter 480ms cubic-bezier(.2,.75,.25,1) both;
}
html body #downloadCompletionNotices .download-completion-notice > button,
html body #downloadCompletionNotices .download-completion-notice > button:is(:hover, :focus-visible) {
  margin: 0;
  padding: 4px 8px;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.4;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body #downloadCompletionNotices .download-completion-notice.is-leaving { animation: download-notice-leave 320ms ease-in both; }
@keyframes download-notice-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes download-notice-leave { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(24px); } }
@media (prefers-reduced-motion: reduce) {
  html body #downloadCompletionNotices .download-completion-notice,
  html body #downloadCompletionNotices .download-completion-notice.is-leaving { animation: none; }
}
@media (max-width: 680px) {
  html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide #detailSimilarList.is-similar-stack { grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; }
  .similar-stack__photos { height: 248px; --stack-step: 74px; }
  .similar-stack__info { padding: 0 12px 16px; }
  .similar-stack__info h3 { font-size: 16px; margin-bottom: 16px; }
  .similar-stack__navigation { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .download-settings-confirm::backdrop { animation: none; }
  html body #detailPage #detailSimilarList .similar-stack__photos > .poster-card.similar-stack__card { transition: none !important; }
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.is-watch #detailPage #animeHubPlayer .ah-player__top {
    transform: translateY(var(--ah-controls-top-shift, 0px)) !important;
    transition: opacity 480ms cubic-bezier(.22,.68,.25,1), transform 480ms cubic-bezier(.22,.68,.25,1), visibility 0s linear var(--ah-controls-visibility-delay) !important;
  }
  html body.is-watch #detailPage #animeHubPlayer .ah-player__controls,
  html body.is-watch #detailPage #animeHubPlayer .ah-player__skip {
    transform: translateY(var(--ah-controls-bottom-shift, 0px)) !important;
    transition: opacity 480ms cubic-bezier(.22,.68,.25,1), transform 480ms cubic-bezier(.22,.68,.25,1), visibility 0s linear var(--ah-controls-visibility-delay) !important;
  }
}
.download-settings-confirm {
  background: #000 !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}
.download-settings-confirm,
.download-settings-confirm * {
  text-transform: none !important;
}
.download-settings-confirm h2 { font-family: inherit !important; font-weight: 900 !important; }
.download-settings-confirm button { font-family: inherit !important; font-size: 12px !important; font-weight: 900 !important; }
.download-settings-confirm.text1,
.download-settings-confirm.text1 :is(p, label, label span, button) {
  font-family: "Unbounded", sans-serif !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
.download-settings-confirm.text1 .download-settings-confirm__selection { font-weight: 900 !important; letter-spacing: .025em; }
html body #downloadCompletionNotices.download-completion-notices {
  position: fixed;
  z-index: 2147483647;
  left: 50%;
  right: auto;
  top: auto;
  bottom: calc(clamp(32px, 7dvh, 80px) + env(safe-area-inset-bottom, 0px));
  width: min(520px, calc(100vw - 32px));
  max-width: none;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (max-width: 820px) {
  html body #downloadCompletionNotices.download-completion-notices {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}
html body #downloadCompletionNotices.download-completion-notices.is-player-fullscreen {
  position: absolute;
  width: min(520px, calc(100% - 32px));
  bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}
@media (orientation: landscape) and (max-height: 540px) {
  html body #downloadCompletionNotices.download-completion-notices:not(.is-player-fullscreen) {
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
}
/* Initial player loading uses black; buffering keeps the current video frame. */
body.is-watch #animeHubPlayer .ah-player__backdrop {
  background: #000 !important;
  filter: none !important;
}
body.is-watch #animeHubPlayer:not(.has-video) .ah-player__loading {
  background: #000 !important;
}

html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide #detailSimilarList.is-similar-gallery {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: clamp(155px, 24%, 250px) !important;
  grid-template-columns: none !important;
  align-items: start !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 8px 0 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none;
}
html body.is-detail:not(.is-watch) #detailPage #detailSimilarList.is-similar-gallery > .poster-card.anime-card-refresh {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: 16px !important;
  scroll-snap-align: start;
  transition: translate 240ms ease !important;
}
html body.is-detail:not(.is-watch) #detailPage #detailSimilarList.is-similar-gallery > .poster-card.anime-card-refresh:hover { translate: 0 -4px; }
html body #detailPage #detailSimilarList.is-similar-gallery > .poster-card > img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
html body #detailPage #detailSimilarList.is-similar-gallery .anime-card-caption { position: absolute !important; inset: auto 0 0 !important; padding: 36px 12px 12px !important; background: linear-gradient(transparent, rgba(0,0,0,.85)) !important; }
html body #detailPage #detailSimilarList.is-similar-gallery .anime-card-caption strong { color: #fff !important; font-size: 11px !important; }
html body #detailPage #detailSimilar > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.similar-gallery__navigation { display: flex; gap: 8px; }
.similar-gallery__navigation button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; }
.similar-gallery__navigation button:hover { background: rgba(255,255,255,.16); }
.similar-gallery__navigation button:disabled { opacity: .3; cursor: default; }
.similar-gallery__navigation svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 680px) {
  html body.is-detail:not(.is-watch) #detailPage #detailSimilar.detail-similar-wide #detailSimilarList.is-similar-gallery { grid-auto-columns: minmax(145px, 44%) !important; gap: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body.is-watch #detailPage #animeHubPlayer .ah-player__top,
  html body.is-watch #detailPage #animeHubPlayer .ah-player__controls,
  html body.is-watch #detailPage #animeHubPlayer .ah-player__skip { transform: none !important; transition: none !important; }
}

body.is-watch #animeHubPlayer > .ah-player__fullscreen-curtain {
  position: absolute;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  background: #000;
  opacity: 0;
  transition: opacity 180ms ease-out;
}
body.is-watch #animeHubPlayer.is-fullscreen-changing > .ah-player__fullscreen-curtain {
  opacity: 1;
  transition: none;
}
body.is-watch #animeHubPlayer.is-fullscreen-changing {
  transition: none !important;
}
@media (max-width: 680px) {
  html body:is(.is-watch, .is-detail) #detailPage #detailChronologyList .detail-chronology-item {
    padding-inline-start: 12px !important;
    grid-template-columns: 32px 112px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.is-detail:not(.is-watch) #detailPage .poster-actions.detail-poster-actions .detail-action-row .detail-votes :is(#animeLikeButton, #animeDislikeButton),
  body.is-watch #animeHubPlayer > .ah-player__fullscreen-curtain {
    transition: none !important;
  }
}

/* Offline playback contains only the saved video and downloaded episode rail. */
html body.is-watch.is-offline-watch:not(.is-together) #detailPage #watchPlayerPage.watch-player-page:not([hidden]) {
  width: 100% !important;
  max-width: none !important;
  padding: 24px clamp(14px, 3vw, 48px) 40px !important;
}
html body.is-watch.is-offline-watch:not(.is-together) #watchPlayerPage > .ah-watch-content-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "player" "rail" !important;
  grid-template-rows: auto auto !important;
}
html body.is-watch.is-offline-watch:not(.is-together) #watchPlayerPage .ah-watch-content-grid > :not(#animeHubPlayer):not(.ah-episode-rail-wrap),
html body.is-watch.is-offline-watch #watchPlayerPage > :is(#watchReleaseCountdown, #episodeComments),
html body.is-offline-watch .site-footer {
  display: none !important;
}

/* The AI engine owns its canvas; it shares the classic upscale drawing layer. */
.ah-player__neural-output {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.ah-player__neural-output[hidden] { display: none; }
.ah-player__neural-output > canvas {
  object-fit: contain;
  background: #000;
  pointer-events: none;
}

/* Upscale controls use the existing player settings surface and typography. */
body.is-watch #animeHubPlayer .ah-player-settings__view[data-settings-view="main"] > button[data-settings-open="upscale"] > .ah-player-settings__label {
  white-space: normal !important;
  line-height: 1.3 !important;
}
body.is-watch #animeHubPlayer [data-settings-view="upscale"] .ah-player-settings__back > span {
  white-space: normal !important;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power-reveal {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  pointer-events: none;
  transition: grid-template-rows .28s cubic-bezier(.22,.72,.25,1), opacity .2s ease;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power-reveal.is-enabled {
  grid-template-rows: 1fr;
  opacity: 1;
  pointer-events: auto;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power-clip {
  min-height: 0;
  overflow: hidden;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power {
  padding: 14px 12px 12px;
  color: inherit;
  font: inherit;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__heading output {
  display: grid;
  justify-items: center;
  gap: 2px;
  line-height: 1.25;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePowerValue > span {
  color: #b4b4b4 !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePowerValue > [data-upscale-model] {
  font-size: 10px !important;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__slider {
  position: relative;
  height: 40px;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__rail {
  position: absolute;
  inset: 5px 0;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.2);
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__fill {
  display: block;
  height: 100%;
  width: calc(var(--ah-upscale-power, 0%) + var(--ah-upscale-fill-cap, 36px));
  border-radius: inherit;
  background: #35c875;
  transition: width .28s cubic-bezier(.22,.72,.25,1);
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__rail,
body.is-watch #animeHubPlayer .ah-player-upscale-power__rail *,
body.is-watch #animeHubPlayer .ah-player-upscale-power__knob-lane,
body.is-watch #animeHubPlayer .ah-player-upscale-power__knob-lane * {
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__knob-lane {
  position: absolute;
  inset: 0 18px;
  z-index: 2;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__knob-lane i {
  position: absolute;
  top: 50%;
  left: var(--ah-upscale-power, 0%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: left .28s cubic-bezier(.22,.72,.25,1), transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 2px 7px rgba(0,0,0,.18);
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__slider.is-knob-hovered .ah-player-upscale-power__knob-lane i {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 3px 10px rgba(0,0,0,.24);
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  cursor: pointer;
  touch-action: pan-y;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower::-webkit-slider-runnable-track {
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: transparent;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 36px;
  height: 36px;
  margin-top: -3px;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower::-moz-range-track {
  height: 30px;
  border-radius: 999px;
  background: transparent;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower::-moz-range-progress {
  height: 30px;
  border-radius: 999px;
  background: transparent;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower::-moz-range-thumb {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
body.is-watch #animeHubPlayer #ahPlayerUpscalePower:focus-visible {
  outline: 2px solid #35c875;
  outline-offset: 3px;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__marks {
  position: absolute;
  inset: 16px 14px auto;
  display: flex;
  justify-content: space-between;
  pointer-events: none !important;
}
body.is-watch #animeHubPlayer .ah-player-upscale-power__marks * { pointer-events: none !important; }
body.is-watch #animeHubPlayer .ah-player-upscale-power__marks i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
}
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  body.is-watch #animeHubPlayer .ah-player-upscale-power { padding: 10px 6px; font-size: 11px; }
  body.is-watch #animeHubPlayer #ahPlayerUpscalePowerValue > span { font-size: 10px !important; }
  body.is-watch #animeHubPlayer #ahPlayerUpscalePowerValue > [data-upscale-model] { font-size: 9px !important; }
  body.is-watch #animeHubPlayer:has(#ahPlayerSettings.is-open [data-settings-view="upscale"].is-active) #ahPlayerCenter {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.is-watch #animeHubPlayer .ah-player-upscale-power-reveal,
  body.is-watch #animeHubPlayer .ah-player-upscale-power__fill,
  body.is-watch #animeHubPlayer .ah-player-upscale-power__knob-lane i { transition: none; }
}

/* Touch watch layout: existing controls, YouTube-style placement. */
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  html:root body.is-watch:not(.is-together) main.site-shell {
    padding-top: 0 !important;
  }
  html:root body.is-watch:not(.is-together) main.site-shell > header.topbar {
    position: fixed !important;
    inset: 0 0 auto !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html:root body.is-watch:not(.is-together) main.site-shell > header.topbar::before,
  html:root body.is-watch:not(.is-together) main.site-shell > header.topbar::after {
    content: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid.has-mobile-watch-actions {
    grid-template-areas: "heading" "player" "actions" "rail" "chronology" !important;
    row-gap: 6px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage.watch-player-page:not([hidden]) {
    padding-top: 57px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-column {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #ahWatchHeading,
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #ahWatchSource {
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #ahWatchHeading {
    min-height: 29px !important;
    height: 29px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .ah-episode-rail-wrap {
    margin-top: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #ahWatchSourceMenu {
    justify-content: flex-start !important;
    align-self: flex-start !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 7px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #ahWatchSourceMenu .ah-player-sidepanel__player {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 29px !important;
    height: 29px !important;
    padding: 0 10px !important;
    font-size: 10.5px !important;
    border-radius: 9px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions {
    grid-area: actions !important;
    --ah-mobile-action-size: clamp(24px, 7.46vw, 28px);
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) repeat(4, var(--ah-mobile-action-size)) !important;
    grid-template-rows: var(--ah-mobile-action-size) !important;
    grid-template-areas: none !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    gap: clamp(3px, 1.06vw, 4px) !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions .detail-action-row {
    display: contents !important;
    flex-direction: row !important;
    flex: 0 0 100% !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
    margin: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]) {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    grid-area: auto !important;
    order: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: var(--ah-mobile-action-size) !important;
    height: var(--ah-mobile-action-size) !important;
    max-height: var(--ah-mobile-action-size) !important;
    margin: 0 !important;
    padding: 0 3px !important;
    gap: 3px !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: clamp(6px, 1.85vw, 7.4px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]) {
    background: var(--ah-control-surface) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) span {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#openWatchPage, #watchTogetherButton, #favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) svg {
    width: clamp(11px, 3.05vw, 13px) !important;
    height: clamp(11px, 3.05vw, 13px) !important;
    flex-basis: clamp(11px, 3.05vw, 13px) !important;
    max-width: 13px !important;
    max-height: 13px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions .detail-action-row .detail-votes {
    display: contents !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 6px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions .detail-votes :is(#animeLikeButton, #animeDislikeButton) {
    flex: 0 0 auto !important;
    width: var(--ah-mobile-action-size) !important;
    min-width: var(--ah-mobile-action-size) !important;
    max-width: var(--ah-mobile-action-size) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions .detail-votes__divider {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button) span {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .ah-watch-content-grid > .poster-actions.detail-poster-actions :is(#favoriteButton, #shareButton, #episodeAlertButton, .detail-vote-button):not([hidden]) {
    width: var(--ah-mobile-action-size) !important;
    min-width: var(--ah-mobile-action-size) !important;
    max-width: var(--ah-mobile-action-size) !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 50% !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout:not(:fullscreen):not(:-webkit-full-screen) {
    aspect-ratio: 64 / 45 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout :is(#ahPlayerVideo, #ahPlayerUpscale) {
    object-fit: contain !important;
    object-position: center !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerPlay {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__controls {
    inset: auto 0 0 !important;
    height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__row {
    display: block !important;
    position: static !important;
    height: 48px !important;
    padding: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__actions-cluster {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerSeek {
    position: absolute !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    z-index: 45 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__seek-track {
    position: absolute !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    height: 5px !important;
    transform: none !important;
    translate: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerThumb {
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__time {
    position: absolute !important;
    inset: auto auto 16px 8px !important;
    margin: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > .ah-player__utility-group {
    position: absolute !important;
    inset: 8px 8px auto auto !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 70 !important;
    transition: opacity 200ms ease, visibility 200ms ease !important;
    gap: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__utility-group > #ahPlayerDownload { order: 1; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__utility-group > #ahPlayerPip { order: 2; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__utility-group > #ahPlayerSettings { order: 3; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > #ahPlayerVolumeControl {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > #ahPlayerFullscreen {
    position: absolute !important;
    inset: auto 8px 18px auto !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    z-index: 44 !important;
    transition: opacity 200ms ease, visibility 200ms ease !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerTopbar {
    inset: 8px auto auto 8px !important;
    width: calc(100% - 108px) !important;
    height: auto !important;
    padding: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__top-cluster {
    flex-wrap: nowrap !important;
    width: max-content !important;
    max-width: 100% !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 2px 3px !important;
    gap: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__top-cluster .ah-player-select > button {
    min-height: 24px !important;
    height: 24px !important;
    max-height: 24px !important;
    padding: 0 4px !important;
    gap: 3px !important;
    background: transparent !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player-select[data-player-select="translation"] {
    max-width: 100% !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video:not(.is-embed):not(.is-loading) #ahPlayerCenter:not([hidden]) {
    display: grid !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 36 !important;
    transform: translate(-50%, -50%) !important;
    scale: 1 !important;
    width: clamp(82px, 22.1vw, 94px) !important;
    height: clamp(82px, 22.1vw, 94px) !important;
    border-radius: 50% !important;
    background: var(--ah-control-surface) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.is-playing #ahPlayerCenter svg.is-play { display: none !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.is-playing #ahPlayerCenter svg.is-pause { display: block !important; opacity: 1 !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerCenter svg[data-player-icon] {
    width: clamp(54px, 14.6vw, 62px) !important;
    height: clamp(54px, 14.6vw, 62px) !important;
    min-width: clamp(54px, 14.6vw, 62px) !important;
    max-width: 62px !important;
    max-height: 62px !important;
    color: #fff !important;
    fill: #fff !important;
    stroke: none !important;
    filter: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__utility-group > button,
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player__utility-group > .ah-player-settings > #ahPlayerSettingsButton {
    background: transparent !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__utility-group button, #ahPlayerFullscreen) > svg[data-player-icon],
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__utility-group button, #ahPlayerFullscreen) > svg[data-player-icon] > * {
    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2.3px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video:not(.is-loading):not(.is-embed) .ah-player__pause-jump {
    display: grid !important;
    place-items: center !important;
    top: 50% !important;
    left: calc(35% - clamp(41px, 11.05vw, 47px) + 10px) !important;
    right: auto !important;
    width: 42px !important;
    height: 42px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 36 !important;
    background: var(--ah-control-surface) !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video:not(.is-loading):not(.is-embed) #ahPlayerPauseForward { left: calc(65% + clamp(41px, 11.05vw, 47px) - 10px) !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__top-cluster, .ah-player__utility-group, .ah-player__time, #ahPlayerCenter, #ahPlayerPauseBack, #ahPlayerPauseForward, #ahPlayerFullscreen) {
    background: var(--ah-control-surface) !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm .episode-comment-form__editor,
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm .episode-comment-form__editor footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm .episode-comment-form__editor footer {
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    width: max-content !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm .episode-comment-form__editor footer button {
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentInput {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    line-height: 20px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentSpoilerToggle {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    padding: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm .episode-comment-submit {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    padding-inline: 8px !important;
    font-size: 10px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #episodeCommentForm :is(#episodeCommentSpoilerToggle, .episode-comment-submit) {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    box-sizing: border-box !important;
    align-self: center !important;
    padding-block: 0 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:is(.is-idle, .is-mobile-controls-hidden) > :is(.ah-player__utility-group, #ahPlayerVolumeControl, #ahPlayerFullscreen),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:is(.is-idle, .is-mobile-controls-hidden) :is(#ahPlayerCenter, .ah-player__pause-jump),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:has(.is-open) :is(#ahPlayerCenter, .ah-player__pause-jump) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player-settings .ah-player-settings__menu,
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout .ah-player-settings.is-open .ah-player-settings__menu {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    right: 0 !important;
    max-height: min(var(--ah-touch-menu-height, 240px), calc(100dvh - 32px)) !important;
    transform-origin: top right !important;
  }

  /* One clock for all touch controls, including the relocated toolbar. */
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout {
    --ah-mobile-controls-duration: 300ms;
    --ah-mobile-controls-delay: 0ms;
    --ah-mobile-controls-top: 0px;
    --ah-mobile-controls-bottom: 0px;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:is(.is-idle, .is-mobile-controls-hidden) {
    --ah-mobile-controls-delay: var(--ah-mobile-controls-duration);
    --ah-mobile-controls-top: -44px;
    --ah-mobile-controls-bottom: 52px;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__top, .ah-player__controls, .ah-player__shade, .ah-player__skip, #ahPlayerCenter, .ah-player__pause-jump),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > :is(.ah-player__utility-group, #ahPlayerFullscreen) {
    transition: opacity var(--ah-mobile-controls-duration) linear,
      transform var(--ah-mobile-controls-duration) cubic-bezier(.25,.46,.45,.94),
      visibility 0s linear var(--ah-mobile-controls-delay) !important;
    animation: none !important;
    will-change: opacity, transform;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__top, .ah-player__controls, .ah-player__shade),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > :is(.ah-player__utility-group, #ahPlayerFullscreen) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerTopbar,
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > .ah-player__utility-group {
    translate: none !important;
    transform: translate3d(0, var(--ah-mobile-controls-top), 0) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout :is(.ah-player__controls, .ah-player__skip),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > #ahPlayerFullscreen {
    translate: none !important;
    transform: translate3d(0, var(--ah-mobile-controls-bottom), 0) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video:not(.is-embed):not(.is-loading):is(.is-idle, .is-mobile-controls-hidden) :is(.ah-player__top, .ah-player__controls, .ah-player__shade, .ah-player__skip, #ahPlayerCenter, .ah-player__pause-jump):not([hidden]),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:is(.is-idle, .is-mobile-controls-hidden) > :is(.ah-player__utility-group, #ahPlayerFullscreen) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout:is(.is-idle, .is-mobile-controls-hidden) :is(.ah-player__top, .ah-player__controls, .ah-player__utility-group) :is(button, input, [role="menu"]) {
    pointer-events: none !important;
  }
  .ah-player__mobile-playback-icon { display: none; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video #ahPlayerCenter svg:is(.is-play, .is-pause) {
    display: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video #ahPlayerCenter .ah-player__mobile-playback-icon {
    display: block !important;
    width: clamp(54px, 14.6vw, 62px) !important;
    height: clamp(54px, 14.6vw, 62px) !important;
    fill: #fff !important;
    stroke: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video #ahPlayerCenter:not([hidden]):is(:hover, :active, :focus, .is-pressed, .is-jelly-enter),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video #ahPlayerCenter:not([hidden]) {
    transform: translate3d(-50%, -50%, 0) !important;
    translate: none !important;
    scale: 1 !important;
    rotate: none !important;
    animation: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout #ahPlayerCenter .ah-player__mobile-playback-icon {
    animation: none !important;
    scale: 1 !important;
    translate: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    overflow: visible !important;
  }
}

/* The additional icon is exclusively for the mobile playback layout. */
.ah-player__center > .ah-player__mobile-playback-icon { display: none; }
.ah-player__mobile-menu-sheet { display: none; }
@media (max-width: 980px), (hover: none) and (pointer: coarse) {
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage .poster-actions.detail-poster-actions #openWatchPage {
    background: var(--ah-control-surface) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-video:not(.is-embed):not(.is-loading).has-mobile-menu :is(.ah-player__top, .ah-player__controls, .ah-player__shade, .ah-player__skip, #ahPlayerCenter, .ah-player__pause-jump):not([hidden]),
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-mobile-menu > :is(.ah-player__utility-group, #ahPlayerFullscreen) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 300ms linear, visibility 0s linear 300ms !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.has-mobile-menu :is(.ah-player__top, .ah-player__controls, .ah-player__utility-group) :is(button, input) {
    pointer-events: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > .ah-player__mobile-menu-sheet {
    display: flex !important;
    flex-direction: column;
    position: absolute;
    inset: 0;
    z-index: 90;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 0;
    border-radius: inherit;
    padding: 8px;
    box-sizing: border-box;
    background: rgba(0,0,0,.7);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 300ms linear, visibility 0s linear 300ms;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > .ah-player__mobile-menu-sheet.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-card {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-sheet,
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-sheet :is(button, span, em, output) {
    font-family: var(--ah-mobile-menu-font, inherit) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 30px;
    padding: 6px 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-header b { order: -1; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-header[hidden] { display: none !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-body {
    display: flex !important;
    flex: 1 1 0;
    flex-direction: column;
    position: static !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    transform: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout .ah-player__mobile-menu-sheet .ah-player__mobile-menu-body > :is(.ah-player-select__menu, .ah-player-settings__menu) {
    flex: 1 1 0 !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    translate: none !important;
    transform: none !important;
    transition: none !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-sheet .ah-player-settings__view {
    max-height: none !important;
    overflow: visible !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer .ah-player__mobile-menu-sheet .ah-player-settings__back {
    position: sticky !important;
    top: 0 !important;
    z-index: 2;
    background: rgba(20,20,20,.92) !important;
  }
  html body.has-mobile-player-fullscreen { overflow: hidden !important; }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout.is-mobile-fullscreen:not(.is-embed) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    width: 100dvw !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    transform: none !important;
    --ah-fullscreen-ui-scale: 1.12;
  }
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout.is-mobile-fullscreen.is-mobile-landscape-fallback:not(.is-embed) {
    inset: 50% auto auto 50% !important;
    width: 100dvh !important;
    height: 100dvw !important;
    transform: translate(-50%, -50%) rotate(90deg) !important;
    transform-origin: center !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen > :is(.ah-player__top, .ah-player__controls, .ah-player__utility-group, #ahPlayerFullscreen, #ahPlayerCenter, .ah-player__pause-jump, .ah-player__skip, .ah-player__loading, .ah-player__error, .ah-player__upscale-notice) {
    zoom: var(--ah-fullscreen-ui-scale) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen #ahPlayerTopbar {
    width: calc(100% - 108px) !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen > .ah-player__controls {
    right: auto !important;
    width: 100% !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen > .ah-player__mobile-menu-sheet {
    inset: 0 auto auto 0;
    width: 100%;
    height: 100%;
    zoom: var(--ah-fullscreen-ui-scale);
    padding: 0;
    background: transparent;
    border-radius: 0;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen .ah-player__mobile-menu-card {
    position: absolute;
    left: var(--ah-mobile-menu-left, 8px);
    top: var(--ah-mobile-menu-top, 40px);
    width: var(--ah-mobile-menu-width, 320px);
    height: var(--ah-mobile-menu-height, 220px);
    box-sizing: border-box;
    padding: 8px;
    border-radius: 18px;
    background: rgba(0,0,0,.64);
    overflow: hidden;
    transform: translateY(-8px) scale(.985);
    transform-origin: top right;
    transition: transform 300ms cubic-bezier(.22,.68,.25,1);
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen .ah-player__mobile-menu-sheet.is-visible .ah-player__mobile-menu-card {
    transform: translateY(0) scale(1);
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen .ah-player__mobile-menu-card :is(button, .ah-player-settings__label, em, span) {
    white-space: nowrap !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen .ah-player__mobile-menu-card button > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen.has-video #ahPlayerCenter:not([hidden]) {
    width: 84px !important;
    height: 84px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen.has-video #ahPlayerCenter .ah-player__mobile-playback-icon {
    width: 54px !important;
    height: 54px !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen.has-video #ahPlayerPauseBack { left: calc(50% - 80px) !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-fullscreen.has-video #ahPlayerPauseForward { left: calc(50% + 80px) !important; }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout > .ah-player__fullscreen-curtain {
    transition: opacity 180ms ease !important;
  }
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout.is-fullscreen-changing > .ah-player__fullscreen-curtain {
    transition: opacity 120ms ease !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.is-watch:not(.is-together) #detailPage #animeHubPlayer.is-mobile-video-layout { --ah-mobile-controls-duration: 0ms; }
  .ah-player__mobile-menu-sheet { transition: none !important; }
}


/* PLAYER_COMPAT_V1: own full-viewport player for browsers without element fullscreen (wide layout too),
   and a vh fallback for iOS < 15.4 where dvh/dvw are unknown. */
html body.has-mobile-player-fullscreen { overflow: hidden !important; }
html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-fullscreen:not(.is-mobile-video-layout):not(.is-embed) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #000 !important;
  transform: none !important;
}
@supports (height: 100dvh) {
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-fullscreen:not(.is-mobile-video-layout):not(.is-embed) { width: 100dvw !important; height: 100dvh !important; }
}
@supports not (height: 100dvh) {
  html body.is-watch:not(.is-together) #detailPage #watchPlayerPage #animeHubPlayer.is-mobile-video-layout.is-mobile-fullscreen:not(.is-embed):not(.is-mobile-landscape-fallback) { width: 100vw !important; height: 100vh !important; }
}
