/* =====================================================================
   SORA Project v93 — final alignment and readability pass over v92.
   Functional behaviour is preserved. This file only refines visual layout.
   ===================================================================== */

:root {
  --v93-blue: #2e98ff;
  --v93-blue-2: #62caff;
  --v93-blue-deep: #1674de;
  --v93-panel: linear-gradient(155deg, rgba(16, 28, 45, .98), rgba(6, 13, 23, .99));
  --v93-panel-soft: linear-gradient(155deg, rgba(19, 32, 51, .90), rgba(9, 17, 29, .94));
  --v93-border: rgba(105, 166, 225, .23);
  --v93-border-strong: rgba(65, 166, 255, .48);
  --v93-ease: cubic-bezier(.25, 1, .5, 1);
}

/* Shared transitions use only transform/opacity/colour properties. */
.site-header a,
.site-header button,
.global-search,
.team-card,
.role-badge,
.profile-stat-link,
.recommend-card,
.comment,
.release-participant-button,
.schedule-poster-card,
.admin-brand,
.admin-nav a,
.admin-nav a i {
  transition:
    transform .24s var(--v93-ease),
    opacity .24s var(--v93-ease),
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .24s var(--v93-ease) !important;
}

/* ------------------------------------------------------------------
   Header and search
   ------------------------------------------------------------------ */
.site-header {
  background:
    linear-gradient(180deg, rgba(5, 13, 23, .965), rgba(4, 11, 20, .925)) !important;
  border-bottom-color: rgba(83, 154, 219, .20) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .22), inset 0 -1px rgba(255,255,255,.02) !important;
}

.site-header .header-inner {
  gap: 12px !important;
}

.site-header .global-search {
  min-width: 250px !important;
  min-height: 44px !important;
  padding-left: 13px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(102, 166, 225, .24) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.10), transparent 9rem),
    linear-gradient(145deg, rgba(18, 31, 49, .97), rgba(8, 17, 29, .985)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 8px 22px rgba(0,0,0,.11) !important;
}
.site-header .global-search:hover {
  border-color: rgba(91, 181, 255, .40) !important;
}
.site-header .global-search:focus-within {
  transform: translate3d(0,-1px,0) !important;
  border-color: rgba(91, 191, 255, .68) !important;
  box-shadow: 0 0 0 4px rgba(46,152,255,.105), 0 12px 28px rgba(0,0,0,.18) !important;
}
.site-header .global-search > i {
  width: 22px;
  color: #61c3ff !important;
  font-size: 14px !important;
  text-align: center;
}
.site-header .global-search input {
  font-size: 12px !important;
  font-weight: 600 !important;
}
.site-header .global-search > button {
  width: 38px !important;
  min-width: 38px !important;
  height: 36px !important;
  margin-right: 3px !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #1979e8, #42b8ff) !important;
  border: 1px solid rgba(151, 220, 255, .42) !important;
  box-shadow: 0 8px 20px rgba(28,132,236,.30), inset 0 1px rgba(255,255,255,.24) !important;
}
.site-header .global-search > button:hover {
  transform: translate3d(2px,0,0) scale(1.04) !important;
  box-shadow: 0 11px 26px rgba(28,132,236,.40), inset 0 1px rgba(255,255,255,.30) !important;
}

.main-nav .btn-staff {
  color: #f0fcff !important;
  border-color: rgba(75, 205, 255, .60) !important;
  background:
    radial-gradient(circle at 16% 0, rgba(132,229,255,.20), transparent 7rem),
    linear-gradient(135deg, rgba(20, 133, 224, .94), rgba(38, 194, 239, .78)) !important;
  box-shadow: 0 10px 24px rgba(21,135,221,.23), inset 0 1px rgba(255,255,255,.16) !important;
}
.main-nav .btn-staff i {
  color: #dff9ff !important;
  filter: drop-shadow(0 2px 7px rgba(255,255,255,.12));
}
.main-nav .btn-staff:hover {
  transform: translate3d(0,-2px,0) !important;
  border-color: rgba(150, 235, 255, .76) !important;
  box-shadow: 0 14px 31px rgba(21,135,221,.33), inset 0 1px rgba(255,255,255,.20) !important;
}

/* Search overlay: stronger hierarchy and a visible close/action system. */
.site-search-popover-card {
  border-radius: 26px !important;
  border-color: rgba(83,177,255,.40) !important;
  background:
    radial-gradient(circle at 88% -10%, rgba(51,159,255,.20), transparent 25rem),
    linear-gradient(155deg, rgba(17, 29, 47, .995), rgba(5, 12, 22, .998)) !important;
  box-shadow: 0 38px 125px rgba(0,0,0,.62), 0 0 0 1px rgba(52,155,246,.05), inset 0 1px rgba(255,255,255,.05) !important;
}
.site-search-field {
  border-radius: 18px !important;
  border-color: rgba(101,171,229,.28) !important;
  background: linear-gradient(145deg, rgba(9,20,34,.86), rgba(3,10,19,.92)) !important;
}
.site-search-field:focus-within {
  border-color: rgba(78,184,255,.64) !important;
  box-shadow: 0 0 0 4px rgba(46,152,255,.10) !important;
}
.site-search-close {
  color: #c1d8ec !important;
  border-color: rgba(101,165,223,.27) !important;
  background: rgba(46,152,255,.075) !important;
}
.site-search-close:hover {
  color: #fff !important;
  border-color: rgba(92,192,255,.54) !important;
  background: rgba(46,152,255,.18) !important;
  transform: rotate(4deg) scale(1.04) !important;
}
.site-search-tabs button {
  border-radius: 14px !important;
  font-weight: 800 !important;
}
.site-search-tabs button.is-active {
  background: linear-gradient(135deg, #1977e5, #43b9ff) !important;
  box-shadow: 0 10px 26px rgba(26,126,232,.26) !important;
}
.site-search-result {
  border-radius: 16px !important;
  padding: 10px !important;
}
.site-search-all {
  color: #dff5ff !important;
  border-style: solid !important;
  border-color: rgba(77,180,255,.42) !important;
  background: linear-gradient(135deg, rgba(28,112,214,.25), rgba(45,174,255,.12)) !important;
}
.site-search-all > i:last-child {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: #fff !important;
  border-radius: 8px;
  background: linear-gradient(135deg, #1979e8, #42b8ff);
}

/* ------------------------------------------------------------------
   Footer: preserve only the blue SP mark, without the word "project"
   ------------------------------------------------------------------ */
.site-footer {
  padding: 28px 0 24px !important;
  border-top-color: rgba(100,157,211,.16) !important;
  background: linear-gradient(180deg, rgba(5,12,21,.16), rgba(5,12,21,.66)) !important;
}
.footer-inner {
  align-items: flex-start !important;
}
.footer-brand {
  display: grid;
  gap: 9px;
}
.footer-sp-brand {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(96,184,255,.28);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(31,135,238,.22), rgba(22,63,102,.18));
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 9px 24px rgba(0,0,0,.15);
}
.footer-sp-brand img {
  width: 31px;
  height: 31px;
  object-fit: contain;
  border-radius: 9px;
}
.footer-sp-brand:hover {
  transform: translate3d(0,-2px,0) scale(1.025);
  border-color: rgba(93,197,255,.52);
}
.footer-brand p {
  margin-top: 0 !important;
}
.footer-social a {
  color: #9ec8e8 !important;
  border-color: rgba(104,158,208,.17) !important;
  background: linear-gradient(145deg, rgba(20,33,51,.88), rgba(8,16,28,.94)) !important;
}
.footer-social a:hover {
  color: #fff !important;
  border-color: rgba(76,179,255,.45) !important;
  background: rgba(46,152,255,.12) !important;
  transform: translate3d(0,-2px,0) !important;
}

/* ------------------------------------------------------------------
   Team roles: always below nickname, larger and readable
   ------------------------------------------------------------------ */
.team-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(105,158,208,.18) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.055), transparent 16rem),
    linear-gradient(160deg, rgba(17,29,46,.97), rgba(7,14,24,.985)) !important;
}
.team-card::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(82,188,255,.65), transparent);
  transition: opacity .24s var(--v93-ease);
}
.team-card:hover::after { opacity: 1; }
.team-member-line {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-items: start !important;
  gap: 8px !important;
}
.team-name-row {
  width: 100% !important;
  min-width: 0 !important;
}
.team-role-row,
.profile-role-row {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  margin-top: 0 !important;
}
.role-badge,
.credit-chip,
.role-option span {
  min-height: 27px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  color: #07111d !important;
  -webkit-text-fill-color: #07111d !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
  box-shadow: inset 0 1px rgba(255,255,255,.42), 0 7px 16px rgba(0,0,0,.17) !important;
}
.team-card .role-badge,
.profile-public-card .role-badge {
  flex: 0 0 auto;
}
.team-card p {
  margin-top: 2px !important;
}
.permissions-table .role-option span {
  font-size: 11px !important;
  padding-inline: 11px !important;
}

/* ------------------------------------------------------------------
   Profile: unmistakable frame and cleaner header composition
   ------------------------------------------------------------------ */
.profile-public-card {
  overflow: hidden !important;
  border: 1px solid rgba(55,164,255,.62) !important;
  border-radius: 25px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.09), transparent 27rem),
    linear-gradient(155deg, rgba(15,26,42,.985), rgba(6,13,23,.995)) !important;
  box-shadow:
    0 26px 72px rgba(0,0,0,.32),
    0 0 0 1px rgba(52,155,246,.09),
    inset 0 1px rgba(255,255,255,.04) !important;
}
.profile-banner {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(91,175,242,.30) !important;
  border-radius: 24px 24px 16px 16px !important;
}
.profile-public-body {
  position: relative;
}
.profile-public-body::before {
  content: "";
  position: absolute;
  inset: 0 20px auto;
  height: 1px;
  opacity: .55;
  background: linear-gradient(90deg, transparent, rgba(80,183,255,.50), transparent);
}
.profile-title-block {
  display: grid !important;
  gap: 7px !important;
}
.profile-role-row {
  order: 2;
}
.profile-online {
  order: 3;
}
.profile-stat-link {
  border-radius: 13px !important;
}

/* ------------------------------------------------------------------
   Recommendations: aligned rounded carousel
   ------------------------------------------------------------------ */
.recommendations-section {
  overflow: hidden !important;
  padding: 20px 21px 18px !important;
  border-radius: 25px !important;
  border-color: rgba(87,171,239,.26) !important;
  background:
    radial-gradient(circle at 92% -5%, rgba(46,152,255,.13), transparent 23rem),
    linear-gradient(155deg, rgba(16,28,45,.98), rgba(6,13,23,.99)) !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.04) !important;
}
.recommendations-section > .section-head {
  min-height: 48px;
  display: flex !important;
  align-items: center !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(104,158,209,.13) !important;
}
.recommendations-section .eyebrow {
  color: #67c4ff !important;
}
.recommendations-carousel {
  position: relative;
  padding-top: 12px !important;
}
.recommendations-row {
  scroll-padding-inline: 6px;
  gap: 10px !important;
}
.recommend-card {
  flex-basis: 132px !important;
  width: 132px !important;
  min-width: 132px !important;
  padding: 8px !important;
  border: 1px solid rgba(105,158,208,.09) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.018) !important;
}
.recommend-card:hover {
  transform: translate3d(0,-4px,0) !important;
  border-color: rgba(72,176,255,.42) !important;
  background: rgba(46,152,255,.075) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.20) !important;
}
.recommend-poster {
  width: 114px !important;
  height: 163px !important;
  border: 1px solid rgba(127,181,226,.18) !important;
  border-radius: 15px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.22) !important;
}
.recommend-poster em {
  top: 7px !important;
  right: 7px !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
  color: #07111e !important;
  background: linear-gradient(135deg, #7edbff, #2e98ff) !important;
}
.recommend-card strong {
  min-height: 29px;
  font-size: 10.5px !important;
}
.recommend-arrow {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(26,55,86,.96), rgba(8,19,33,.98)) !important;
}

/* ------------------------------------------------------------------
   Comments: softer rounded cards and clearer replies
   ------------------------------------------------------------------ */
.release-community-grid-v87 {
  align-items: start !important;
}
.comments-block,
.rate-card {
  border-radius: 24px !important;
  border-color: rgba(98,165,224,.25) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.19), inset 0 1px rgba(255,255,255,.035) !important;
}
.comments-block {
  padding: 19px !important;
}
.comment-form textarea {
  min-height: 112px !important;
  padding: 14px !important;
  border-radius: 17px !important;
}
.comment-list {
  margin-top: 18px !important;
  gap: 12px !important;
}
.comment {
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 14px !important;
  border-radius: 20px !important;
  border-color: rgba(101,160,215,.20) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.045), transparent 14rem),
    linear-gradient(145deg, rgba(20,34,52,.78), rgba(8,16,27,.86)) !important;
}
.comment:hover {
  transform: translate3d(0,-2px,0) !important;
  border-color: rgba(75,179,255,.39) !important;
}
.comment .avatar {
  width: 39px !important;
  height: 39px !important;
  border: 1px solid rgba(111,177,232,.24) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.18) !important;
}
.comment-author {
  margin-bottom: 8px !important;
  border-radius: 10px !important;
}
.comment-body > p {
  margin-bottom: 9px !important;
}
.comment-tools {
  align-items: center !important;
  flex-wrap: wrap !important;
}
.comment-thread-toggle {
  border-color: rgba(82,179,255,.30) !important;
  background: rgba(46,152,255,.085) !important;
}
.comment-thread-toggle b {
  background: linear-gradient(135deg, #217de6, #44b8ff) !important;
}
.comment-replies {
  padding: 12px 0 0 18px !important;
  border-left-color: rgba(68,177,255,.42) !important;
}
.comment.comment-reply {
  border-radius: 17px !important;
  background: linear-gradient(145deg, rgba(35,86,137,.17), rgba(11,24,39,.78)) !important;
}

/* ------------------------------------------------------------------
   Player and participant controls
   ------------------------------------------------------------------ */
.release-page .release-player-heading {
  align-items: center !important;
}
.release-page .player-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.player-title-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  color: #fff;
  border: 1px solid rgba(118,207,255,.36);
  border-radius: 11px;
  background: linear-gradient(135deg, #1979e8, #43b8ff);
  box-shadow: 0 9px 22px rgba(28,132,236,.25), inset 0 1px rgba(255,255,255,.22);
  font-size: 12px;
}
.release-participant-actions {
  gap: 9px !important;
}
.release-page .release-participant-button {
  min-height: 52px !important;
  border-radius: 15px !important;
  border-color: rgba(106,164,219,.22) !important;
  background: linear-gradient(145deg, rgba(21,36,55,.94), rgba(8,17,29,.98)) !important;
}
.release-page .release-participant-button:hover {
  transform: translate3d(0,-2px,0) !important;
  border-color: rgba(75,179,255,.45) !important;
  background: linear-gradient(145deg, rgba(24,72,119,.72), rgba(10,30,51,.96)) !important;
}
.release-page .release-participant-button-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
}
.release-page .release-participant-button-team .release-participant-button-icon {
  color: #eafaff !important;
  background: linear-gradient(135deg, #1c83ed, #43c2ff) !important;
}
.release-page .release-participant-button-characters .release-participant-button-icon {
  color: #f3eeff !important;
  background: linear-gradient(135deg, #6759e9, #3aa8ff) !important;
}
.release-participants-modal-symbol-team {
  background: linear-gradient(135deg, #1c83ed, #43c2ff) !important;
}
.release-participants-modal-symbol-characters {
  background: linear-gradient(135deg, #6759e9, #3aa8ff) !important;
}
.release-team-modal-icon {
  border-radius: 13px !important;
}

/* Watch progress: plain metadata, without chunky background chips. */
.watch-panel {
  padding: 10px 7px 5px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.watch-progress-line {
  padding: 0 2px !important;
  color: #89a0b8 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 10px !important;
}
.watch-progress-line span {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.watch-progress-line i {
  color: #52baff !important;
}
.watch-progress-bar {
  height: 5px !important;
  margin: 7px 2px 9px !important;
  border: 0 !important;
  background: rgba(122,158,196,.15) !important;
}
.watch-progress-bar i {
  background: linear-gradient(90deg, #1b80eb, #4bc7ff) !important;
}

/* ------------------------------------------------------------------
   Schedule: count lives beside "day of release"
   ------------------------------------------------------------------ */
.schedule-panel-head {
  display: block !important;
}
.schedule-heading-copy {
  display: grid;
  gap: 6px;
}
.schedule-eyebrow-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.schedule-eyebrow-row .eyebrow {
  margin: 0 !important;
}
.schedule-eyebrow-row p {
  margin: 0 !important;
  padding: 5px 9px !important;
  color: #9dd8ff !important;
  border: 1px solid rgba(76,176,255,.28) !important;
  border-radius: 999px !important;
  background: rgba(46,152,255,.10) !important;
  font-size: 9px !important;
  font-weight: 850 !important;
}
.schedule-panel-head h2 {
  margin: 0 !important;
}
.schedule-poster-card {
  border-radius: 19px !important;
  overflow: hidden !important;
}
.schedule-poster-image {
  border-radius: 18px 18px 0 0 !important;
}
.schedule-poster-copy {
  min-height: 77px;
}

/* ------------------------------------------------------------------
   Admin: aligned brand, sidebar and content surfaces
   ------------------------------------------------------------------ */
.admin-sidebar {
  width: 236px !important;
  padding: 14px 12px 18px !important;
  gap: 18px !important;
}
.admin-brand {
  width: 100% !important;
  min-height: 70px !important;
  grid-template-columns: 46px minmax(0,1fr) !important;
  gap: 12px !important;
  padding: 11px !important;
  border-radius: 18px !important;
  border-color: rgba(74,174,255,.34) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.18), transparent 12rem),
    linear-gradient(145deg, rgba(20,43,70,.92), rgba(8,19,33,.98)) !important;
}
.admin-brand .admin-sp-logo {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 14px !important;
}
.admin-brand-copy {
  align-content: center !important;
  gap: 5px !important;
}
.admin-brand-copy strong {
  font-size: 12px !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}
.admin-brand-copy small {
  font-size: 7px !important;
  line-height: 1.15 !important;
  letter-spacing: .08em !important;
}
.admin-nav {
  gap: 4px !important;
}
.admin-nav a {
  min-height: 42px !important;
  grid-template-columns: 30px minmax(0,1fr) !important;
  padding: 6px 9px !important;
  border-radius: 12px !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}
.admin-nav a i {
  width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
}
.admin-topbar {
  min-height: 66px !important;
  padding: 9px 20px !important;
}
.admin-main {
  width: min(100%, 1260px) !important;
  margin: 0 auto !important;
  padding: 25px clamp(16px, 2.5vw, 30px) 40px !important;
}
.admin-panel,
.stat-card {
  border-radius: 20px !important;
}
.admin-table-scroll {
  border: 1px solid rgba(103,158,209,.12);
  background: rgba(4,11,20,.25);
}

/* ------------------------------------------------------------------
   Light theme: complete contrast correction
   ------------------------------------------------------------------ */
:root[data-theme="light"] body {
  background-color: #eef4fb !important;
  background-image:
    radial-gradient(circle at 10% 0, rgba(47,151,255,.13), transparent 34rem),
    radial-gradient(circle at 100% 8%, rgba(74,197,255,.12), transparent 30rem) !important;
  color: #172235 !important;
}
:root[data-theme="light"] .site-header {
  background: rgba(248,252,255,.94) !important;
  border-bottom-color: rgba(79,136,190,.22) !important;
  box-shadow: 0 10px 30px rgba(50,76,105,.11) !important;
}
:root[data-theme="light"] .site-header .global-search {
  border-color: rgba(78,135,190,.22) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(238,245,252,.98)) !important;
  box-shadow: inset 0 1px #fff, 0 7px 18px rgba(46,78,110,.08) !important;
}
:root[data-theme="light"] .site-header .global-search input {
  color: #15233a !important;
}
:root[data-theme="light"] .site-header .global-search input::placeholder {
  color: #6d8096 !important;
}
:root[data-theme="light"] .main-nav > .btn:not(.btn-icon),
:root[data-theme="light"] .nav-dropdown > .btn {
  color: #38516c !important;
  border-color: rgba(76,131,185,.14) !important;
  background: rgba(255,255,255,.72) !important;
}
:root[data-theme="light"] .main-nav > .btn:not(.btn-icon):hover,
:root[data-theme="light"] .nav-dropdown > .btn:hover {
  color: #0d65b8 !important;
  border-color: rgba(49,145,230,.32) !important;
  background: rgba(46,152,255,.09) !important;
}
:root[data-theme="light"] .site-header .main-nav .btn-icon,
:root[data-theme="light"] .site-header .notification-link,
:root[data-theme="light"] .site-header .theme-toggle {
  color: #477291 !important;
  border-color: rgba(76,132,184,.18) !important;
  background: linear-gradient(145deg, #fff, #edf4fb) !important;
}
:root[data-theme="light"] .user-chip {
  border-color: rgba(80,137,190,.18) !important;
  background: rgba(255,255,255,.78) !important;
}
:root[data-theme="light"] .site-search-popover-card,
:root[data-theme="light"] .recommendations-section,
:root[data-theme="light"] .comments-block,
:root[data-theme="light"] .rate-card,
:root[data-theme="light"] .schedule-day-panel,
:root[data-theme="light"] .schedule-page > .container > .section-head,
:root[data-theme="light"] .profile-public-card,
:root[data-theme="light"] .team-card,
:root[data-theme="light"] .release-page .release-participant-button,
:root[data-theme="light"] .admin-panel,
:root[data-theme="light"] .stat-card {
  color: #172235 !important;
  border-color: rgba(77,132,183,.20) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.08), transparent 20rem),
    linear-gradient(155deg, rgba(255,255,255,.99), rgba(240,246,252,.99)) !important;
  box-shadow: 0 16px 42px rgba(51,77,105,.11), inset 0 1px #fff !important;
}
:root[data-theme="light"] .site-search-field,
:root[data-theme="light"] .comment-form textarea,
:root[data-theme="light"] .form input,
:root[data-theme="light"] .form textarea,
:root[data-theme="light"] .form select {
  color: #18263a !important;
  border-color: rgba(80,137,190,.22) !important;
  background: #f7fbff !important;
}
:root[data-theme="light"] .site-search-field input,
:root[data-theme="light"] .comment-form textarea {
  color: #18263a !important;
}
:root[data-theme="light"] .site-search-field input::placeholder,
:root[data-theme="light"] .comment-form textarea::placeholder {
  color: #78899c !important;
}
:root[data-theme="light"] .site-search-tabs button,
:root[data-theme="light"] .site-search-result,
:root[data-theme="light"] .recommend-card,
:root[data-theme="light"] .comment,
:root[data-theme="light"] .comment.comment-reply,
:root[data-theme="light"] .profile-level-main,
:root[data-theme="light"] .profile-watch-card,
:root[data-theme="light"] .profile-stats .profile-stat-link,
:root[data-theme="light"] .schedule-poster-card {
  color: #263b52 !important;
  border-color: rgba(76,131,185,.18) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 8px 22px rgba(53,78,106,.07) !important;
}
:root[data-theme="light"] .site-search-result:hover,
:root[data-theme="light"] .site-search-result.is-keyboard-active,
:root[data-theme="light"] .recommend-card:hover,
:root[data-theme="light"] .comment:hover {
  background: rgba(46,152,255,.10) !important;
}
:root[data-theme="light"] .site-search-text strong,
:root[data-theme="light"] .recommend-card strong,
:root[data-theme="light"] .comment-body p,
:root[data-theme="light"] .comments-block h2,
:root[data-theme="light"] .rate-card h2,
:root[data-theme="light"] .team-card p,
:root[data-theme="light"] .schedule-poster-copy strong,
:root[data-theme="light"] .profile-level-main strong,
:root[data-theme="light"] .profile-watch-card strong {
  color: #172235 !important;
}
:root[data-theme="light"] .site-search-text small,
:root[data-theme="light"] .recommend-card small,
:root[data-theme="light"] .schedule-poster-copy small,
:root[data-theme="light"] .comment-date,
:root[data-theme="light"] .muted {
  color: #65788e !important;
}
:root[data-theme="light"] .site-footer {
  background: rgba(245,249,253,.72) !important;
  border-top-color: rgba(76,132,184,.18) !important;
}
:root[data-theme="light"] .footer-social a,
:root[data-theme="light"] .footer-sp-brand {
  color: #37647f !important;
  border-color: rgba(78,136,190,.20) !important;
  background: linear-gradient(145deg, #fff, #edf4fb) !important;
}
:root[data-theme="light"] .watch-progress-line {
  color: #65788e !important;
}
:root[data-theme="light"] .admin-body {
  background: #eef4fb !important;
}
:root[data-theme="light"] .admin-sidebar,
:root[data-theme="light"] .admin-topbar {
  background: rgba(247,251,255,.96) !important;
  border-color: rgba(77,132,183,.18) !important;
}
:root[data-theme="light"] .admin-brand {
  background: linear-gradient(145deg, #fff, #eaf3fc) !important;
}
:root[data-theme="light"] .admin-brand-copy strong,
:root[data-theme="light"] .admin-topbar-title strong,
:root[data-theme="light"] .admin-main > h1 {
  color: #172235 !important;
}
:root[data-theme="light"] .admin-nav a {
  color: #50677f !important;
}
:root[data-theme="light"] .admin-nav a:hover {
  color: #176fbd !important;
  background: rgba(46,152,255,.08) !important;
}

/* ------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 1180px) {
  .site-header .global-search { min-width: 210px !important; }
  .main-nav > .btn:not(.btn-icon), .nav-dropdown > .btn { padding-inline: 10px !important; }
}

@media (max-width: 900px) {
  .admin-sidebar {
    width: 88px !important;
    padding-inline: 9px !important;
  }
  .admin-brand {
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 7px !important;
  }
  .admin-brand-copy { display: none !important; }
  .admin-nav a {
    grid-template-columns: 30px !important;
    justify-content: center !important;
    padding-inline: 6px !important;
    font-size: 0 !important;
  }
  .admin-nav a i { font-size: 12px !important; }
}

@media (max-width: 700px) {
  .footer-inner {
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
  }
  .footer-brand { justify-items: center; }
  .footer-brand p { max-width: 440px !important; }
  .team-role-row,
  .profile-role-row { gap: 6px !important; }
  .role-badge { min-height: 25px !important; padding: 5px 9px !important; font-size: 10px !important; }
  .recommendations-section { border-radius: 21px !important; }
  .comments-block, .rate-card { border-radius: 20px !important; }
  .release-page .release-player-heading {
    align-items: flex-start !important;
  }
  .release-page .player-title { width: 100%; }
  .schedule-eyebrow-row { gap: 7px; }
  .admin-main { padding-inline: 12px !important; }
}

@media (max-width: 430px) {
  .site-header .global-search > button {
    width: 36px !important;
    min-width: 36px !important;
    height: 34px !important;
  }
  .recommend-card {
    flex-basis: 124px !important;
    width: 124px !important;
    min-width: 124px !important;
  }
  .recommend-poster {
    width: 108px !important;
    height: 154px !important;
  }
  .comment { border-radius: 17px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header a,
  .site-header button,
  .global-search,
  .team-card,
  .role-badge,
  .profile-stat-link,
  .recommend-card,
  .comment,
  .release-participant-button,
  .schedule-poster-card,
  .admin-brand,
  .admin-nav a,
  .admin-nav a i { transition: none !important; }
}

/* Role-aware foreground contrast for the default palette. */
.role-badge[data-role="Заместитель"],
.role-badge[data-role="Заливщик"],
.role-badge[data-role="Даббер"],
.role-badge[data-role="Саббер"],
.role-badge[data-role="Монтажёр"],
.role-badge[data-role="Дизайнер"],
.role-badge[data-role="Тех. поддержка"],
.role-badge[data-role="Партнёр"],
.role-option span[data-role="Заместитель"],
.role-option span[data-role="Заливщик"],
.role-option span[data-role="Даббер"],
.role-option span[data-role="Саббер"],
.role-option span[data-role="Монтажёр"],
.role-option span[data-role="Дизайнер"],
.role-option span[data-role="Тех. поддержка"],
.role-option span[data-role="Партнёр"],
.credit-chip[data-role="Заместитель"],
.credit-chip[data-role="Заливщик"],
.credit-chip[data-role="Даббер"],
.credit-chip[data-role="Саббер"],
.credit-chip[data-role="Монтажёр"],
.credit-chip[data-role="Дизайнер"],
.credit-chip[data-role="Тех. поддержка"],
.credit-chip[data-role="Партнёр"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.38) !important;
}

/* Extra light-theme coverage for catalogue and release content. */
:root[data-theme="light"] .release-card,
:root[data-theme="light"] .release-hero,
:root[data-theme="light"] .player-container,
:root[data-theme="light"] .release-info-block,
:root[data-theme="light"] .release-details-layout,
:root[data-theme="light"] .release-community-section-v87,
:root[data-theme="light"] .auth-card,
:root[data-theme="light"] .profile-edit-card,
:root[data-theme="light"] .empty-state {
  color: #172235 !important;
  border-color: rgba(77,132,183,.20) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(46,152,255,.07), transparent 20rem),
    linear-gradient(155deg, #ffffff, #eff6fc) !important;
  box-shadow: 0 15px 40px rgba(51,77,105,.10) !important;
}
:root[data-theme="light"] .release-card strong,
:root[data-theme="light"] .release-card h2,
:root[data-theme="light"] .release-card h3,
:root[data-theme="light"] .release-hero h1,
:root[data-theme="light"] .release-fact strong,
:root[data-theme="light"] .player-title,
:root[data-theme="light"] .release-participant-button-copy strong,
:root[data-theme="light"] .release-participants-modal-title strong {
  color: #172235 !important;
}
:root[data-theme="light"] .release-card small,
:root[data-theme="light"] .release-card p,
:root[data-theme="light"] .release-meta,
:root[data-theme="light"] .release-fact span,
:root[data-theme="light"] .release-description,
:root[data-theme="light"] .release-participant-button-copy small {
  color: #64778c !important;
}
:root[data-theme="light"] .release-page .release-action-btn,
:root[data-theme="light"] .btn-secondary,
:root[data-theme="light"] .btn-ghost {
  color: #24405d !important;
  -webkit-text-fill-color: #24405d !important;
  border-color: rgba(74,132,187,.22) !important;
  background: linear-gradient(145deg, #fff, #eaf3fb) !important;
}
:root[data-theme="light"] .release-page .release-action-btn:hover,
:root[data-theme="light"] .btn-secondary:hover,
:root[data-theme="light"] .btn-ghost:hover {
  color: #0c66b6 !important;
  -webkit-text-fill-color: #0c66b6 !important;
  border-color: rgba(47,151,238,.40) !important;
  background: rgba(46,152,255,.10) !important;
}
:root[data-theme="light"] .release-participants-modal-card {
  color: #172235 !important;
  border-color: rgba(77,132,183,.24) !important;
  background: linear-gradient(155deg, #fff, #eef6fc) !important;
}
:root[data-theme="light"] .release-team-modal-item,
:root[data-theme="light"] .release-character-modal-card {
  border-color: rgba(77,132,183,.18) !important;
  background: rgba(255,255,255,.82) !important;
}
