/* ITAHUKA Video Platform v4.6.9
   Unified System/Light/Dark appearance, Boxed/Full canvas and backend Live-alert runtime. */

:root {
  --it-unified-canvas-max: 1280px;
  --it-unified-canvas-gutter: clamp(12px, 1.5vw, 24px);
  --it-control-radius: 999px;
}

html[data-it-color-resolved="light"] {
  color-scheme: light;
  --canvas: #f7f7f7;
  --paper: #ffffff;
  --ink: #0f0f0f;
  --muted: #606060;
  --line: #e5e7eb;
  --studio-canvas: #f5f6f8;
  --studio-surface: #ffffff;
  --studio-border: #e1e5ea;
  --studio-muted: #667085;
  --it-theme-background: #ffffff;
  --it-theme-surface: #ffffff;
  --it-theme-surface-alt: #f5f5f5;
  --it-theme-text: #0f0f0f;
  --it-theme-muted: #606060;
  --it-theme-border: #e5e7eb;
  --it-theme-header: #ffffff;
  --it-theme-header-text: #0f0f0f;
  --it-theme-sidebar: #ffffff;
  --it-theme-selection: #f2f2f2;
}

html[data-it-color-resolved="dark"] {
  color-scheme: dark;
  --canvas: #0f0f0f;
  --paper: #181818;
  --ink: #f1f1f1;
  --muted: #aaaaaa;
  --line: #303030;
  --studio-canvas: #0f0f0f;
  --studio-surface: #181818;
  --studio-border: #303030;
  --studio-muted: #aaaaaa;
  --it-theme-background: #0f0f0f;
  --it-theme-surface: #181818;
  --it-theme-surface-alt: #272727;
  --it-theme-text: #f1f1f1;
  --it-theme-muted: #aaaaaa;
  --it-theme-border: #303030;
  --it-theme-header: #0f0f0f;
  --it-theme-header-text: #f1f1f1;
  --it-theme-sidebar: #181818;
  --it-theme-selection: #303030;
}

/* --------------------------------------------------------------------------
   Header center: one search control plus a separate appearance control.
   The appearance control is deliberately outside the search form so historical
   search-button rules cannot overlap or duplicate it in Studio.
   -------------------------------------------------------------------------- */
.site-header .header-center {
  width: 100%;
  max-width: 760px;
  min-width: 0;
  justify-self: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
}

.site-header .header-center .header-search.yt-search {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .header-center .search-box {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--it-control-radius) !important;
  background: var(--paper) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.site-header .header-center .search-box input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-size: 15px !important;
}

.site-header .header-center .search-box input::placeholder {
  color: var(--muted) !important;
}

.site-header .header-center .search-box:focus-within {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 1px #2563eb !important;
}

.site-header .header-center .search-box button {
  flex: 0 0 54px !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: var(--it-theme-surface-alt) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  transform: none !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

.site-header .header-center .search-box button:hover {
  background: var(--it-theme-selection) !important;
}

.display-settings-wrap {
  position: relative;
  z-index: 190;
  width: 42px;
  min-width: 42px;
  height: 42px;
  margin: 0;
}

.site-header .display-settings-button,
body.public-area .site-header .display-settings-button,
body.admin-area .site-header .display-settings-button {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: var(--it-theme-surface-alt) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  transform: none !important;
  display: grid !important;
  place-items: center !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.site-header .display-settings-button:hover,
.site-header .display-settings-button[aria-expanded="true"] {
  border-color: var(--line) !important;
  background: var(--it-theme-selection) !important;
}

.display-settings-panel[hidden] {
  display: none !important;
}

.site-header .display-settings-panel {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  z-index: 220 !important;
  width: 310px !important;
  max-width: min(310px, calc(100vw - 24px)) !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  box-shadow: 0 16px 46px rgba(15, 23, 42, .22) !important;
  overflow: visible !important;
  text-align: left !important;
}

.display-settings-heading {
  margin: 0 0 14px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--line);
}

.site-header .display-settings-heading strong {
  display: block !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.site-header .display-settings-heading small {
  display: block !important;
  margin-top: 3px !important;
  color: var(--muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.site-header .display-settings-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.site-header .display-choice-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.site-header .display-choice-row--canvas {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-bottom: 0 !important;
}

.site-header .display-choice-row button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: 9px !important;
  background: var(--it-theme-surface-alt) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.site-header .display-choice-row button:hover {
  background: var(--it-theme-selection) !important;
}

.site-header .display-choice-row button.is-active,
.site-header .display-choice-row button[aria-pressed="true"] {
  border-color: #0f766e !important;
  background: #dff6ed !important;
  color: #065f46 !important;
  box-shadow: inset 0 0 0 1px #0f766e !important;
}

html[data-it-color-resolved="dark"] .site-header .display-choice-row button.is-active,
html[data-it-color-resolved="dark"] .site-header .display-choice-row button[aria-pressed="true"] {
  border-color: #10b981 !important;
  background: #065f46 !important;
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   v4.6.9 locked canvas contract.

   Boxed: one centered 1280 px workspace on every public and Studio page.
   Full:  one fluid workspace using all width available after the navigation.

   These selectors deliberately bind to .it-canvas-root and outrank historical
   channel, live, playlist and Studio !important rules without changing any
   component styling inside the canvas.
   -------------------------------------------------------------------------- */
html[data-it-canvas-mode] body .site-content {
  min-width: 0 !important;
}

html[data-it-canvas-mode] body .site-content > .page-space {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html[data-it-canvas-mode="boxed"] body.public-area .site-content > .page-space > .container.it-canvas-root,
html[data-it-canvas-mode="boxed"] body.admin-area .site-content > .page-space > .container.it-canvas-root,
body.viewer-canvas-boxed.public-area .site-content > .page-space > .container.it-canvas-root,
body.viewer-canvas-boxed.admin-area .site-content > .page-space > .container.it-canvas-root {
  box-sizing: border-box !important;
  width: min(
    var(--it-unified-canvas-max),
    calc(100% - var(--it-unified-canvas-gutter) - var(--it-unified-canvas-gutter))
  ) !important;
  max-width: var(--it-unified-canvas-max) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--it-unified-canvas-gutter) !important;
  padding-right: var(--it-unified-canvas-gutter) !important;
  --it-page-safe-inset: 0px;
}

html[data-it-canvas-mode="full"] body.public-area .site-content > .page-space > .container.it-canvas-root,
html[data-it-canvas-mode="full"] body.admin-area .site-content > .page-space > .container.it-canvas-root,
body.viewer-canvas-full.public-area .site-content > .page-space > .container.it-canvas-root,
body.viewer-canvas-full.admin-area .site-content > .page-space > .container.it-canvas-root {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--it-unified-canvas-gutter) !important;
  padding-right: var(--it-unified-canvas-gutter) !important;
  --it-page-safe-inset: 0px;
}

/* Keep fixed Studio save bars on the same edge as the selected canvas. */
html[data-it-canvas-mode="boxed"] body.admin-area .sticky-save-bar,
body.admin-area.viewer-canvas-boxed .sticky-save-bar {
  padding-left: max(
    var(--it-unified-canvas-gutter),
    calc(
      (100vw - var(--it-studio-sidebar-current, 236px) - var(--it-unified-canvas-max)) / 2
      + var(--it-unified-canvas-gutter)
    )
  ) !important;
  padding-right: max(
    var(--it-unified-canvas-gutter),
    calc(
      (100vw - var(--it-studio-sidebar-current, 236px) - var(--it-unified-canvas-max)) / 2
      + var(--it-unified-canvas-gutter)
    )
  ) !important;
}

html[data-it-canvas-mode="full"] body.admin-area .sticky-save-bar,
body.admin-area.viewer-canvas-full .sticky-save-bar {
  padding-left: var(--it-unified-canvas-gutter) !important;
  padding-right: var(--it-unified-canvas-gutter) !important;
}

/* Remove duplicate page-level gutters. The shared root now owns the horizontal
   inset in both modes, so page families line up on the same left/right edge. */
html[data-it-canvas-mode] body.public-area .it-canvas-root :is(
  .channel-playlists-page,
  .native-playlist-page
),
body.public-area.viewer-canvas-boxed .it-canvas-root :is(
  .channel-playlists-page,
  .native-playlist-page
),
body.public-area.viewer-canvas-full .it-canvas-root :is(
  .channel-playlists-page,
  .native-playlist-page
) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Clear only legacy layout-shell width caps in Full mode. Content cards,
   authentication forms, legal pages and other intentionally narrow elements
   keep their existing dimensions. */
html[data-it-canvas-mode="full"] body .it-canvas-root :is(
  .channel-page-head,
  .channel-page-shell,
  .channel-canvas,
  .channel-playlists-page,
  .native-playlist-page,
  .native-playlist-layout,
  .watch-layout,
  .broadcast-watch-grid,
  .video-library-page,
  .playlist-library-page,
  .it-live-page,
  .admin-page,
  .admin-dashboard,
  .settings-section-stack,
  .broadcast-manager-page,
  .bc-control-center,
  .ba-dashboard,
  .ts-workspace,
  .ts-studio-layout,
  .ps-studio-layout
),
body.viewer-canvas-full .it-canvas-root :is(
  .channel-page-head,
  .channel-page-shell,
  .channel-canvas,
  .channel-playlists-page,
  .native-playlist-page,
  .native-playlist-layout,
  .watch-layout,
  .broadcast-watch-grid,
  .video-library-page,
  .playlist-library-page,
  .it-live-page,
  .admin-page,
  .admin-dashboard,
  .settings-section-stack,
  .broadcast-manager-page,
  .bc-control-center,
  .ba-dashboard,
  .ts-workspace,
  .ts-studio-layout,
  .ps-studio-layout
) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --------------------------------------------------------------------------
   Consistent public and Studio light/dark surfaces.
   -------------------------------------------------------------------------- */
html[data-it-color-resolved] body {
  background: var(--canvas) !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved] body :is(.page-space, .public-main, .public-content, .admin-content, .site-content) {
  background: var(--canvas) !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved] body :is(
  .site-header,
  .public-sidebar,
  .admin-nav,
  .broadcast-nav,
  .site-footer,
  .panel,
  .admin-card,
  .sidebar-card,
  .comments-section,
  .comment-compose,
  .community-compose,
  .create-playlist,
  .account-dropdown,
  .display-settings-panel
) {
  background-color: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body .site-header {
  background-color: var(--it-theme-header) !important;
  color: var(--it-theme-header-text) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body .site-header :is(.yt-brand, .site-logo-text strong, .menu-button, .header-icon, .link-button) {
  color: var(--it-theme-header-text) !important;
}

html[data-it-color-resolved] body .site-header .menu-button span {
  background: var(--it-theme-header-text) !important;
}

html[data-it-color-resolved] body :is(
  h1, h2, h3, h4, h5, h6,
  .video-title,
  .library-video-title,
  .playlist-title,
  .playlist-library-title,
  .channel-profile-copy h1
) {
  color: var(--ink) !important;
}

html[data-it-color-resolved] body :is(
  .meta,
  .muted,
  .video-card-stats,
  .library-video-meta,
  .channel-stats,
  .channel-description,
  .auth-switch,
  .channel-profile-copy p,
  small
) {
  color: var(--muted) !important;
}

html[data-it-color-resolved] body :is(input, textarea, select) {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body :is(.button-secondary, .filter-chips a, .channel-inline-search, .channel-inline-search button) {
  background: var(--it-theme-surface-alt) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved="dark"] body.public-area.channel-page,
html[data-it-color-resolved="dark"] body.public-area.channel-page .channel-page-head,
html[data-it-color-resolved="dark"] body.public-area.channel-page .channel-profile-row,
html[data-it-color-resolved="dark"] body.public-area.channel-page .channel-tabs {
  background: var(--canvas) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved="light"] body.public-area.channel-page,
html[data-it-color-resolved="light"] body.public-area.channel-page .channel-page-head,
html[data-it-color-resolved="light"] body.public-area.channel-page .channel-profile-row,
html[data-it-color-resolved="light"] body.public-area.channel-page .channel-tabs {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body.public-area .channel-tabs a {
  color: var(--muted) !important;
}

html[data-it-color-resolved] body.public-area .channel-tabs a:hover,
html[data-it-color-resolved] body.public-area .channel-tabs a.active {
  color: var(--ink) !important;
  border-color: var(--ink) !important;
}

html[data-it-color-resolved] body.public-area :is(.content-section, .channel-feature, .yt-section) {
  background: transparent !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body.public-area :is(.channel-feature-copy p, .description, .video-empty, .playlist-native-empty p) {
  color: var(--muted) !important;
}

html[data-it-color-resolved] body.public-area :is(.video-card, .library-video-card, .playlist-card) {
  background: transparent !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved="dark"] body.public-area :is(.broadcast-home-alert, .video-empty, .playlist-native-empty, .playlist-signin-panel) {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved="light"] body.public-area :is(.broadcast-home-alert, .video-empty, .playlist-native-empty, .playlist-signin-panel) {
  background: #f8fafc !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved] body.public-area .broadcast-home-alert :is(h2, p, small) {
  color: inherit !important;
}

html[data-it-color-resolved] body.public-area .broadcast-home-alert p,
html[data-it-color-resolved] body.public-area .broadcast-home-alert small {
  color: var(--muted) !important;
}

html[data-it-color-resolved="dark"] body :is(th, .data-table th) {
  background: #212121 !important;
  color: #d6d6d6 !important;
  border-color: var(--line) !important;
}

html[data-it-color-resolved="dark"] body :is(td, .data-table td, tr) {
  border-color: var(--line) !important;
}

html[data-it-color-resolved="dark"] body.admin-area :is(.admin-nav a, .broadcast-nav a) {
  color: var(--muted) !important;
}

html[data-it-color-resolved="dark"] body.admin-area :is(.admin-nav a:hover, .broadcast-nav a:hover) {
  background: var(--it-theme-surface-alt) !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved="dark"] body .account-dropdown :is(a, button) {
  background: var(--paper) !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved="dark"] body .account-dropdown :is(a, button):hover {
  background: var(--it-theme-surface-alt) !important;
}

html[data-it-color-resolved="dark"] body .channel-avatar-large {
  border-color: var(--line) !important;
}

/* Backend-controlled Live alert shown only for a live broadcast. */
.global-live-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #f3a4a8;
  border-radius: 12px;
  background: #fff4f4;
  color: var(--ink);
}

html[data-it-color-resolved="dark"] .global-live-alert {
  border-color: #6f292d;
  background: #2a1718;
}

.global-live-alert__pulse {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--broadcast-live, #e62117);
  box-shadow: 0 0 0 5px rgba(230, 33, 23, .16);
  animation: broadcastPulse 1.35s ease-in-out infinite;
}

.global-live-alert div {
  min-width: 0;
}

.global-live-alert strong,
.global-live-alert small {
  display: block;
}

.global-live-alert strong {
  color: var(--ink) !important;
  line-height: 1.25;
}

.global-live-alert small {
  margin-top: 2px;
  color: var(--muted) !important;
  line-height: 1.35;
}

.global-live-alert a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--broadcast-live, #e62117);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .site-header .header-center {
    max-width: none;
  }
}

@media (max-width: 720px) {
  :root {
    --it-unified-canvas-gutter: 12px;
  }

  .site-header .header-center {
    width: auto;
    max-width: none;
    justify-self: end;
    grid-template-columns: 42px;
    gap: 0;
  }

  .site-header .header-center .header-search {
    display: none !important;
  }

  .site-header .display-settings-button {
    display: grid !important;
  }

  .site-header .display-settings-panel {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: 68px !important;
    width: auto !important;
    max-width: none !important;
  }

  .global-live-alert {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .global-live-alert a {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .site-header .display-choice-row {
    grid-template-columns: 1fr !important;
  }

  .site-header .display-choice-row--canvas {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* --------------------------------------------------------------------------
   v4.6.8 — Studio search is one input. The magnifier is decorative and lives
   inside the field; there is no second submit control to detach or overlap.
   -------------------------------------------------------------------------- */
body.admin-area .site-header .header-center .search-box {
  position: relative !important;
}

body.admin-area .site-header .header-center .search-box > button,
body.admin-area .site-header .header-center .search-box button[type="submit"] {
  display: none !important;
}

body.admin-area .site-header .header-center .search-box input {
  width: 100% !important;
  padding-right: 48px !important;
  border-radius: var(--it-control-radius) !important;
}

body.admin-area .site-header .header-search-icon {
  position: absolute !important;
  top: 50% !important;
  right: 15px !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--muted) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

html[data-it-color-resolved="dark"] body.public-area .normalized-post-placeholder {
  background: linear-gradient(145deg, #252525, #181818) !important;
  color: var(--ink) !important;
}

html[data-it-color-resolved="dark"] body.public-area .normalized-post-avatar {
  background: #303030 !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

html[data-it-color-resolved] body.public-area .normalized-card-open {
  color: var(--ink) !important;
}

html[data-it-color-resolved] body.public-area .normalized-card-open:hover {
  background: var(--it-theme-selection) !important;
}

html[data-it-color-resolved] body.public-area .yt-normalized-shelf-section {
  border-color: var(--line) !important;
}
