/* =====================================================================
   SORA Project v95 — exact UI polish requested after v94.
   ===================================================================== */
:root {
  --v95-accent: var(--sora-accent, #2998f6);
  --v95-accent-2: var(--sora-accent-2, #28c4f4);
  --v95-line: rgba(75, 171, 244, .26);
  --v95-line-strong: rgba(84, 187, 255, .50);
  --v95-surface: rgba(9, 18, 31, .96);
  --v95-surface-2: rgba(15, 29, 47, .94);
  --v95-ease: cubic-bezier(.25, 1, .5, 1);
}

/* Site-wide scrollbar: remove every leftover purple scrollbar. */
html, body, * {
  scrollbar-color: rgba(47, 160, 238, .88) rgba(5, 13, 23, .72) !important;
}
*::-webkit-scrollbar { width: 10px !important; height: 10px !important; }
*::-webkit-scrollbar-track {
  background: rgba(5, 13, 23, .72) !important;
  border-radius: 999px !important;
}
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--v95-accent), var(--v95-accent-2)) !important;
  border: 2px solid rgba(5, 13, 23, .92) !important;
  border-radius: 999px !important;
}
*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #55baff, #35d1f3) !important;
}

.release-character-list,
.release-participants-modal-body,
.admin-table-wrap,
.admin-table-scroll,
.site-search-results,
.nav-dropdown-menu {
  scrollbar-color: rgba(47,160,238,.92) rgba(5,13,23,.72) !important;
}
.release-character-list::-webkit-scrollbar-thumb,
.release-participants-modal-body::-webkit-scrollbar-thumb,
.admin-table-wrap::-webkit-scrollbar-thumb,
.admin-table-scroll::-webkit-scrollbar-thumb,
.site-search-results::-webkit-scrollbar-thumb,
.nav-dropdown-menu::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--v95-accent), var(--v95-accent-2)) !important;
  border-color: rgba(5,13,23,.92) !important;
}
:root[data-theme="light"] html,
:root[data-theme="light"] body,
:root[data-theme="light"] * {
  scrollbar-color: rgba(44, 151, 226, .82) rgba(219, 232, 244, .90) !important;
}
:root[data-theme="light"] *::-webkit-scrollbar-track { background: #dbe8f4 !important; }
:root[data-theme="light"] *::-webkit-scrollbar-thumb { border-color: #dbe8f4 !important; }

/* Header and search. */
.site-header { border-bottom-color: rgba(63, 150, 218, .17) !important; }
.global-search {
  min-height: 43px !important;
  padding: 4px 5px 4px 13px !important;
  gap: 9px !important;
  border: 1px solid rgba(88, 165, 224, .22) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, rgba(15,29,47,.92), rgba(7,15,26,.96)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 10px 26px rgba(0,0,0,.14) !important;
  transition: border-color .22s var(--v95-ease), box-shadow .22s var(--v95-ease), transform .22s var(--v95-ease) !important;
}
.global-search:focus-within {
  border-color: var(--v95-line-strong) !important;
  box-shadow: 0 0 0 4px rgba(41,152,246,.11), 0 14px 34px rgba(0,0,0,.20) !important;
  transform: translate3d(0,-1px,0) !important;
}
.global-search > i { color: #5fbfff !important; font-size: 14px !important; }
.global-search input {
  color: #eef7ff !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
.global-search input::placeholder { color: #71869c !important; opacity: 1 !important; }
.global-search > button,
.global-search.is-search-open > button {
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #fff !important;
  border: 1px solid rgba(137,216,255,.38) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, var(--v95-accent), var(--v95-accent-2)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.25), 0 9px 20px rgba(29,145,226,.26) !important;
  opacity: 1 !important;
}
.global-search > button i { color: #fff !important; opacity: 1 !important; }
.global-search > button:hover {
  transform: translate3d(2px,0,0) scale(1.03) !important;
  filter: brightness(1.08) !important;
}
.site-search-popover-card {
  border-color: rgba(70,166,238,.30) !important;
  background: linear-gradient(155deg, rgba(18,33,52,.99), rgba(6,14,25,.995)) !important;
  box-shadow: 0 32px 90px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.045) !important;
}
.site-search-field {
  border-color: rgba(76,169,239,.25) !important;
  background: rgba(5,14,25,.72) !important;
}
.site-search-field > i { color: #5fbfff !important; }
.site-search-tabs button {
  color: #a8bacb !important;
  border-color: rgba(94,158,211,.14) !important;
  background: rgba(255,255,255,.035) !important;
}
.site-search-tabs button:hover {
  color: #fff !important;
  border-color: rgba(83,183,252,.32) !important;
  background: rgba(41,152,246,.09) !important;
}
.site-search-tabs button.is-active {
  color: #fff !important;
  border-color: rgba(119,210,255,.34) !important;
  background: linear-gradient(135deg, var(--v95-accent), var(--v95-accent-2)) !important;
  box-shadow: 0 10px 24px rgba(28,144,224,.23) !important;
}
.site-search-result:hover {
  border-color: rgba(69,172,243,.32) !important;
  background: rgba(41,152,246,.075) !important;
  transform: translate3d(0,-2px,0) !important;
}

/* "Для команды": a noticeable blue-cyan gradient, no ambiguity. */
.main-nav .btn-staff {
  color: #fff !important;
  border: 1px solid rgba(140,224,255,.38) !important;
  background: linear-gradient(135deg, #1478d9 0%, #1d9fe7 55%, #25c3e9 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 9px 22px rgba(25,142,216,.20) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.18) !important;
}
.main-nav .btn-staff i { color: #fff !important; }
.main-nav .btn-staff:hover,
.main-nav .btn-staff:focus-visible {
  color: #fff !important;
  border-color: rgba(179,237,255,.60) !important;
  background: linear-gradient(135deg, #1689ec 0%, #20aef0 55%, #39d0ee 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.28), 0 12px 27px rgba(25,153,225,.27) !important;
  transform: translate3d(0,-2px,0) !important;
}

/* Header profile chip: no purple hover. */
.user-chip:hover,
.user-chip:focus-visible {
  border-color: rgba(69,173,244,.45) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 10px 28px rgba(0,0,0,.22), 0 0 0 3px rgba(41,152,246,.10) !important;
}

/* Verification marks: never flattened, everywhere. */
.verified-badge,
.user-chip .verified-badge,
.team-card .verified-badge,
.profile-name-row .verified-badge,
.team-name-row .verified-badge {
  box-sizing: border-box !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 0 5px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(174,232,255,.52) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--v95-accent), var(--v95-accent-2)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.30), 0 5px 13px rgba(27,152,226,.22) !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  transform: none !important;
  overflow: hidden !important;
}
.verified-badge i { display:block !important; font-size: 9px !important; line-height: 1 !important; }
.team-name-row,
.profile-name-row { display: flex !important; align-items: center !important; min-width: 0 !important; }
.team-name-row { width: 100% !important; }
.team-member-name {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Roles: compact but actually readable. */
.role-badge,
.credit-chip,
.role-option span {
  min-height: 27px !important;
  padding: 6px 10px 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-rendering: geometricPrecision !important;
  -webkit-font-smoothing: antialiased !important;
}
.team-role-row,
.profile-role-row {
  gap: 6px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.permissions-table .role-option span { font-size: 10.5px !important; min-height: 29px !important; }

/* Release format badges: no black TV/ONA pills. */
.release-type-chip,
.recommend-poster em,
.release-format-chip,
.new-episode-card .release-type-chip {
  color: #f7fcff !important;
  -webkit-text-fill-color: #f7fcff !important;
  border: 1px solid rgba(151,222,255,.36) !important;
  background: linear-gradient(135deg, rgba(24,128,220,.96), rgba(35,184,225,.94)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.23), 0 7px 17px rgba(22,130,203,.18) !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.22) !important;
}

/* Release card hover: polished, GPU-only and consistent site-wide. */
.release-card {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  transition: transform .32s var(--v95-ease), border-color .28s var(--v95-ease), box-shadow .32s var(--v95-ease) !important;
}
.release-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(135deg, rgba(55,179,255,.12), transparent 38%, transparent 68%, rgba(37,202,235,.08));
  transition: opacity .28s var(--v95-ease) !important;
}
.release-poster {
  transform-origin: center center !important;
  transition: transform .38s var(--v95-ease), filter .30s var(--v95-ease) !important;
}
.release-card:hover,
.release-card:focus-visible {
  transform: translate3d(0,-7px,0) !important;
  border-color: rgba(66,178,250,.48) !important;
  box-shadow: 0 24px 55px rgba(0,0,0,.30), 0 0 0 1px rgba(50,166,242,.10) !important;
}
.release-card:hover::before,
.release-card:focus-visible::before { opacity: 1 !important; }
.release-card:hover .release-poster,
.release-card:focus-visible .release-poster {
  transform: scale(1.025) translate3d(0,-2px,0) !important;
  filter: saturate(1.06) contrast(1.025) !important;
}

/* Full profile frame, including bottom and sides. */
.profile-public-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(62,171,247,.64) !important;
  outline: 1px solid rgba(35,122,194,.12) !important;
  outline-offset: -2px !important;
  border-radius: 25px !important;
  background-clip: padding-box !important;
}
.profile-public-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  pointer-events: none !important;
  border: 1px solid rgba(78,184,255,.40) !important;
  border-radius: inherit !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
.profile-public-body { border: 0 !important; }
.profile-public-body::before { display: none !important; }
.profile-banner { border-radius: 24px 24px 16px 16px !important; }

/* Recommendation header: left aligned and geometrically balanced. */
.recommendations-section { border-radius: 30px !important; }
.recommendations-heading {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 14px !important;
}
.recommendations-heading > div {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
}
.recommendations-heading .eyebrow,
.recommendations-heading h2,
.recommendations-heading p {
  width: 100% !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.recommendations-heading h2 { line-height: 1.12 !important; }
.recommendations-row { scroll-padding-inline: 8px !important; }
.recommend-card {
  border-radius: 21px !important;
  transition: transform .28s var(--v95-ease), border-color .25s var(--v95-ease), background-color .25s var(--v95-ease) !important;
}
.recommend-card:hover {
  transform: translate3d(0,-5px,0) !important;
  border-color: rgba(66,177,248,.36) !important;
  background: rgba(41,152,246,.055) !important;
}

/* Admin brand and larger, easier navigation. */
.admin-sidebar { width: 220px !important; padding: 14px 12px 20px !important; }
.admin-brand {
  width: 100% !important;
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 12px !important;
  border-radius: 18px !important;
}
.admin-brand .admin-sp-logo {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  transform: none !important;
}
.admin-brand-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  line-height: 1 !important;
}
.admin-brand-copy strong {
  width: 100% !important;
  color: #f4f9ff !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}
.admin-brand-copy small {
  color: #5db8f5 !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
.admin-nav { gap: 7px !important; }
.admin-nav a {
  min-height: 46px !important;
  padding: 7px 10px !important;
  gap: 10px !important;
  border-radius: 13px !important;
  font-size: 12.5px !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
}
.admin-nav a i {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 11px !important;
  font-size: 13px !important;
}
.admin-nav a:hover { transform: translate3d(3px,0,0) !important; }
.admin-content { width: calc(100% - 220px) !important; }
.admin-main { padding-inline: clamp(18px, 2.3vw, 34px) !important; }
.admin-topbar-title strong { font-size: 15px !important; }
.admin-topbar-title small { font-size: 8px !important; }

/* Settings page: jump buttons and clearly separated sections. */
.settings-jump-nav {
  position: sticky !important;
  top: 76px !important;
  z-index: 35 !important;
  display: flex !important;
  gap: 8px !important;
  margin: 16px 0 !important;
  padding: 9px !important;
  overflow-x: auto !important;
  border: 1px solid rgba(75,164,231,.20) !important;
  border-radius: 18px !important;
  background: rgba(7,16,28,.90) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
}
.settings-jump-nav a {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 13px !important;
  color: #9fb3c7 !important;
  border: 1px solid rgba(94,157,209,.14) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.03) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.settings-jump-nav a i { color: #58baff !important; }
.settings-jump-nav a:hover,
.settings-jump-nav a.is-active {
  color: #fff !important;
  border-color: rgba(111,207,255,.35) !important;
  background: linear-gradient(135deg, rgba(31,132,224,.88), rgba(35,190,227,.78)) !important;
  transform: translate3d(0,-1px,0) !important;
}
.settings-jump-nav a:hover i,
.settings-jump-nav a.is-active i { color: #fff !important; }
.admin-main .settings-subhead {
  scroll-margin-top: 145px !important;
  margin-top: 12px !important;
  padding: 15px 16px !important;
  border: 1px solid rgba(78,166,233,.18) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(30,91,147,.15), rgba(20,146,194,.07)) !important;
}
.admin-main .settings-subhead h2 {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 5px !important;
  font-size: 17px !important;
}
.admin-main .settings-subhead h2 i { color: #55baff !important; }
.admin-main .settings-subhead p { margin: 0 !important; font-size: 11px !important; }
.admin-main input[type="color"] {
  width: 100% !important;
  min-height: 46px !important;
  padding: 5px !important;
  cursor: pointer !important;
}

/* Light theme parity. */
:root[data-theme="light"] .global-search {
  border-color: rgba(72,139,194,.20) !important;
  background: rgba(255,255,255,.94) !important;
}
:root[data-theme="light"] .global-search input { color: #1b2b3e !important; }
:root[data-theme="light"] .global-search input::placeholder { color: #72869a !important; }
:root[data-theme="light"] .site-search-popover-card { background: linear-gradient(155deg,#fff,#eef6fd) !important; }
:root[data-theme="light"] .site-search-field { background: #f7fbff !important; }
:root[data-theme="light"] .site-search-tabs button { color: #50657a !important; background: #f4f8fc !important; }
:root[data-theme="light"] .site-search-tabs button.is-active { color: #fff !important; }
:root[data-theme="light"] .profile-public-card { background: linear-gradient(155deg,#fff,#edf6fd) !important; }
:root[data-theme="light"] .admin-brand-copy strong { color: #17273a !important; }
:root[data-theme="light"] .settings-jump-nav { background: rgba(247,251,255,.94) !important; }
:root[data-theme="light"] .settings-jump-nav a { color: #53697e !important; background: #fff !important; }
:root[data-theme="light"] .settings-jump-nav a:hover,
:root[data-theme="light"] .settings-jump-nav a.is-active { color:#fff !important; }

@media (max-width: 1180px) {
  .admin-sidebar { width: 205px !important; }
  .admin-content { width: calc(100% - 205px) !important; }
  .admin-brand-copy strong { font-size: 12px !important; }
  .admin-nav a { font-size: 12px !important; }
}

@media (max-width: 980px) {
  .admin-sidebar { width: 230px !important; }
  .admin-content { width: 100% !important; }
  .settings-jump-nav { top: 68px !important; }
}

@media (max-width: 700px) {
  .global-search { min-height: 41px !important; }
  .global-search > button { width: 33px !important; height: 33px !important; min-width: 33px !important; }
  .verified-badge,
  .user-chip .verified-badge,
  .team-card .verified-badge,
  .profile-name-row .verified-badge,
  .team-name-row .verified-badge {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    flex-basis: 17px !important;
  }
  .role-badge,
  .credit-chip,
  .role-option span { font-size: 10px !important; min-height: 26px !important; padding-inline: 9px !important; }
  .recommendations-heading { align-items: flex-start !important; }
  .settings-jump-nav { margin-inline: -2px !important; padding: 7px !important; }
  .settings-jump-nav a { min-height: 39px !important; padding: 7px 10px !important; }
}

@media (max-width: 430px) {
  .main-nav .btn-staff { width: 100% !important; justify-content: center !important; }
  .recommendations-heading p { display: block !important; font-size: 10px !important; }
  .admin-brand { grid-template-columns: 44px minmax(0,1fr) !important; }
  .admin-brand .admin-sp-logo { width:44px !important; height:44px !important; min-width:44px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .release-card,
  .release-poster,
  .global-search,
  .global-search > button,
  .settings-jump-nav a { transition: none !important; }
}
