/* ITAHUKA Video Platform v5.0.5 — structural mobile/PWA themes and iPad application layout
   Loaded last. Desktop presentation remains unchanged for mouse/desktop environments; touch tablets use the mobile app layout up to 1600px. */

:root {
  --it-mobile-max: 1180px;
  --it-mobile-header: 64px;
  --it-mobile-nav: 70px;
  --it-mobile-page: #f6f7f9;
  --it-mobile-red: #e60017;
  --it-mobile-black: #101114;
  --it-mobile-muted: #65686f;
  --it-mobile-line: #e1e3e8;
  --it-mobile-card: #fff;
  --it-mobile-soft: #f2f3f5;
  --it-mobile-radius: 18px;
  --it-mobile-shadow: 0 8px 28px rgba(16, 24, 40, .08);
}

@media (max-width: 1180px), (max-width: 1600px) and (any-pointer: coarse) {
  body[data-theme="itahuka-mobile-pwa-red"] {
    --it-theme-bg: #f6f7f9 !important;
    --it-theme-surface: #ffffff !important;
    --it-theme-surface-alt: #f3f4f6 !important;
    --it-theme-text: #101114 !important;
    --it-theme-muted: #65686f !important;
    --it-theme-border: #e1e3e8 !important;
    --it-theme-accent: #e60017 !important;
    --it-theme-accent-hover: #bd0013 !important;
    --it-theme-live: #e60017 !important;
    --it-theme-notification: #e60017 !important;
  }
  html { background: var(--it-theme-bg, var(--it-mobile-page)); }
  body.public-area {
    --it-app-accent: var(--it-theme-accent, var(--it-mobile-red));
    --it-app-live: var(--it-theme-live, var(--it-mobile-red));
    --it-app-text: var(--it-theme-text, var(--it-mobile-black));
    --it-app-muted: var(--it-theme-muted, var(--it-mobile-muted));
    --it-app-surface: var(--it-theme-surface, var(--it-mobile-card));
    --it-app-surface-alt: var(--it-theme-surface-alt, var(--it-mobile-soft));
    --it-app-border: var(--it-theme-border, var(--it-mobile-line));
    margin: 0;
    background: var(--it-theme-bg, var(--it-mobile-page)) !important;
    color: var(--it-app-text) !important;
    font-family: var(--it-theme-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: max(15px, var(--it-theme-body-size, 16px));
    line-height: 1.48;
    overflow-x: clip;
    padding-bottom: calc(var(--it-mobile-nav) + env(safe-area-inset-bottom));
  }

  /* A reliable red/black first paint when an iPad requests the desktop UA.
     The runtime swaps these variables to the backend-selected mobile theme. */
  body.public-area:not([data-theme^="itahuka-mobile-"]) {
    --it-theme-bg: #f6f7f9;
    --it-theme-surface: #fff;
    --it-theme-surface-alt: #f3f4f6;
    --it-theme-text: #101114;
    --it-theme-muted: #65686f;
    --it-theme-border: #e1e3e8;
    --it-theme-accent: #e60017;
    --it-theme-accent-hover: #bd0013;
    --it-theme-live: #e60017;
    --it-theme-notification: #e60017;
  }

  body.public-area h1,
  body.public-area h2,
  body.public-area h3,
  body.public-area h4,
  body.public-area strong,
  body.public-area b { color: var(--it-app-text); }

  body.public-area a { -webkit-tap-highlight-color: transparent; }
  body.public-area button,
  body.public-area a,
  body.public-area input,
  body.public-area select,
  body.public-area textarea { touch-action: manipulation; }

  /* App shell */
  .public-sidebar { display: none !important; }
  .site-header.yt-header {
    position: sticky !important;
    top: 0;
    z-index: 1800;
    height: calc(var(--it-mobile-header) + env(safe-area-inset-top));
    min-height: calc(var(--it-mobile-header) + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    border-bottom: 1px solid var(--it-app-border) !important;
    background: color-mix(in srgb, var(--it-app-surface) 94%, transparent) !important;
    box-shadow: 0 2px 14px rgba(16,24,40,.05) !important;
    backdrop-filter: blur(18px);
  }
  .site-header .nav-shell {
    width: 100% !important;
    max-width: none !important;
    height: var(--it-mobile-header) !important;
    min-height: var(--it-mobile-header) !important;
    padding: 0 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .site-header .header-left { min-width: 0; display: flex; align-items: center; gap: 10px; }
  .site-header .menu-button {
    flex: 0 0 46px;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    color: var(--it-app-text) !important;
  }
  .site-header .menu-button span { width: 25px !important; height: 2px !important; background: currentColor !important; }
  .site-header .brand.yt-brand {
    min-width: 0;
    height: 52px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    color: var(--it-app-text) !important;
  }
  .site-header .brand-logo-image {
    width: 43px !important;
    height: 43px !important;
    flex: 0 0 43px;
    display: grid !important;
    place-items: center;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 3px 14px rgba(15,23,42,.10);
  }
  .site-header .brand-logo-image img { width: 43px !important; height: 43px !important; max-height: none !important; object-fit: contain; }
  .site-header .site-logo-text { display: block !important; min-width: 0; }
  .site-header .site-logo-text strong {
    display: block;
    overflow: hidden;
    color: var(--it-app-text) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .site-header .header-center,
  .site-header .create-button,
  .site-header .display-settings-wrap,
  .site-header .sign-in-button span { display: none !important; }
  .site-header .account-links { display: flex !important; align-items: center; justify-content: flex-end; gap: 6px !important; }
  .site-header .mobile-search-button,
  .site-header .notification-link,
  .site-header .account-menu > summary,
  .site-header .sign-in-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--it-app-text) !important;
  }
  .site-header .mobile-search-button { font-size: 27px !important; }
  .site-header .notification-link { font-size: 23px !important; }
  .site-header .account-menu > summary img,
  .site-header .account-menu > summary .avatar { width: 39px !important; height: 39px !important; border: 2px solid #fff; box-shadow: 0 2px 10px rgba(15,23,42,.14); }
  .site-header .notification-badge { top: 0 !important; right: 0 !important; min-width: 18px !important; height: 18px !important; padding: 0 5px !important; border: 2px solid var(--it-app-surface); background: var(--it-app-live) !important; color: #fff !important; font-size: 10px !important; line-height: 14px !important; }

  .site-content.public-content { margin-left: 0 !important; width: 100% !important; min-width: 0 !important; }
  .page-space { min-height: calc(100dvh - var(--it-mobile-header)); padding: 0 0 20px !important; }
  .page-space > .container,
  .it-canvas-root,
  .viewer-canvas-full .it-canvas-root,
  .viewer-canvas-boxed .it-canvas-root {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .site-footer { display: none !important; }

  /* Mobile navigation: exact white / black / red PWA direction. */
  .mobile-bottom-nav {
    position: fixed !important;
    z-index: 1900 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: calc(var(--it-mobile-nav) + env(safe-area-inset-bottom)) !important;
    padding: 5px max(7px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(7px, env(safe-area-inset-left)) !important;
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    align-items: stretch !important;
    border-top: 1px solid var(--it-app-border) !important;
    background: color-mix(in srgb, var(--it-app-surface) 96%, transparent) !important;
    color: var(--it-app-text) !important;
    box-shadow: 0 -8px 28px rgba(15,23,42,.10) !important;
    backdrop-filter: blur(20px);
  }
  .mobile-bottom-nav a {
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 5px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border-radius: 15px !important;
    color: var(--it-app-text) !important;
    background: transparent !important;
    text-decoration: none !important;
  }
  .mobile-bottom-nav a > span { min-height: 25px !important; display: grid !important; place-items: center; color: currentColor !important; font-size: 24px !important; line-height: 1 !important; }
  .mobile-bottom-nav a > b { color: currentColor !important; font-size: 11px !important; font-weight: 800 !important; line-height: 1 !important; }
  .mobile-bottom-nav a.active,
  .mobile-bottom-nav a[aria-current="page"] {
    background: color-mix(in srgb, var(--it-app-accent) 9%, var(--it-app-surface)) !important;
    color: var(--it-app-accent) !important;
  }
  .mobile-bottom-nav .mobile-bottom-live--live > span { color: var(--it-app-live) !important; }

  /* Search is a proper app overlay rather than a desktop form. */
  .mobile-search-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2200 !important;
    padding: calc(12px + env(safe-area-inset-top)) 12px 12px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
  }
  .mobile-search-overlay form { display: grid !important; grid-template-columns: 48px minmax(0,1fr) 48px !important; gap: 8px !important; align-items: center !important; }
  .mobile-search-overlay input { height: 48px !important; padding: 0 16px !important; border: 1px solid var(--it-app-border) !important; border-radius: 16px !important; background: var(--it-app-surface-alt) !important; color: var(--it-app-text) !important; font-size: 16px !important; }
  .mobile-search-back,.mobile-search-submit { width: 48px !important; height: 48px !important; border: 0 !important; background: transparent !important; color: var(--it-app-text) !important; font-size: 25px !important; }

  /* Channel identity becomes a compact app profile. The large desktop banner is removed. */
  .channel-page-head {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--it-app-border) !important;
    border-radius: 0 !important;
    background: var(--it-app-surface) !important;
    box-shadow: none !important;
  }
  .channel-page-head .channel-banner { display: none !important; }
  .channel-profile-row {
    min-height: 116px !important;
    padding: 15px 16px 12px !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 8px 13px !important;
    align-items: center !important;
  }
  .channel-avatar-large {
    grid-row: 1 / 3;
    width: 66px !important;
    height: 66px !important;
    min-width: 66px !important;
    margin: 0 !important;
    border: 3px solid #fff !important;
    box-shadow: 0 5px 18px rgba(15,23,42,.13) !important;
  }
  .channel-avatar-large img { width: 100% !important; height: 100% !important; }
  .channel-avatar-state { display: none !important; }
  .channel-profile-copy { min-width: 0 !important; padding: 0 !important; }
  .channel-profile-copy h1 { margin: 0 !important; color: var(--it-app-text) !important; font-size: 24px !important; line-height: 1.05 !important; font-weight: 900 !important; letter-spacing: -.03em; }
  .channel-profile-copy .verified { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #6b6d72; color: #fff !important; font-size: 14px; vertical-align: 2px; }
  .channel-stats { margin-top: 5px !important; display: flex !important; gap: 5px !important; color: var(--it-app-muted) !important; font-size: 13px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .channel-stats span:last-child,.channel-stats span:nth-last-child(2),.channel-profile-copy p,.channel-profile-copy .channel-link { display: none !important; }
  .subscribe-pill {
    grid-column: 2;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-text) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
  }
  .subscribe-pill.subscribed { background: var(--it-app-surface-alt) !important; color: var(--it-app-text) !important; }
  .channel-tabs {
    position: relative !important;
    top: auto !important;
    z-index: 2 !important;
    min-height: 52px !important;
    padding: 0 8px !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow-x: auto !important;
    border-top: 1px solid var(--it-app-border) !important;
    background: var(--it-app-surface) !important;
    scrollbar-width: none;
  }
  .channel-tabs::-webkit-scrollbar { display: none; }
  .channel-tabs a {
    flex: 0 0 auto !important;
    min-width: 76px !important;
    min-height: 52px !important;
    padding: 0 12px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    color: var(--it-app-muted) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }
  .channel-tabs a.active { border-bottom-color: var(--it-app-accent) !important; color: var(--it-app-text) !important; }
  .channel-tabs a:last-child { display: none !important; }

  /* HOME — app feed, not a compressed desktop channel. */
  .home-page .broadcast-home-alert,
  .home-page .channel-feature,
  .home-page .content-section {
    width: auto !important;
    margin: 14px 12px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: var(--it-mobile-radius) !important;
    background: var(--it-app-surface) !important;
    box-shadow: var(--it-mobile-shadow) !important;
    overflow: hidden !important;
  }
  .home-page .broadcast-home-alert { padding: 16px !important; grid-template-columns: auto minmax(0,1fr) !important; }
  .home-page .broadcast-home-action { grid-column: 1 / -1; width: 100%; }
  .home-page .channel-feature { display: block !important; padding: 0 !important; }
  .home-page .channel-feature-player {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16/9 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #050607 !important;
  }
  .home-page .channel-feature-player img,.home-page .channel-feature-player iframe { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .home-page .channel-feature-copy { padding: 15px 16px 17px !important; }
  .home-page .channel-feature-copy h2 { margin: 0 0 6px !important; font-size: 21px !important; line-height: 1.25 !important; }
  .home-page .channel-feature-copy p { margin: 7px 0 12px !important; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--it-app-muted) !important; font-size: 14px !important; }
  .home-page .channel-feature-copy .button { width: 100% !important; min-height: 46px !important; display: grid !important; place-items: center !important; border-radius: 14px !important; background: var(--it-app-accent) !important; color: #fff !important; }
  .home-page .content-section { padding: 15px 0 16px !important; }
  .home-page .section-heading { padding: 0 15px 12px !important; }
  .home-page .section-heading h2 { margin: 0 !important; font-size: 20px !important; font-weight: 900 !important; }
  .home-page .section-heading a { color: var(--it-app-accent) !important; font-size: 13px !important; font-weight: 800 !important; }
  .home-page .video-shelf-frame { padding: 0 !important; overflow: hidden !important; }
  .home-page .video-shelf-arrow { display: none !important; }
  .home-page .video-shelf {
    width: 100% !important;
    padding: 0 15px 4px !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(250px, 78vw) !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .home-page .video-shelf::-webkit-scrollbar { display: none; }
  .home-page .video-shelf .video-card { scroll-snap-align: start; min-width: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  .home-page .video-thumb { border-radius: 15px !important; overflow: hidden !important; }
  .home-page .video-title { color: var(--it-app-text) !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 850 !important; }
  .home-page .video-card-stats { color: var(--it-app-muted) !important; font-size: 12px !important; }

  /* PUBLIC VIDEO LIBRARY — real mobile library hierarchy. */
  .video-library-page .channel-page-head { display: none !important; }
  .video-library-page .library-hero {
    margin: 0 !important;
    padding: 24px 16px 14px !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    box-shadow: none !important;
  }
  .video-library-page .library-hero .eyebrow { color: var(--it-app-accent) !important; font-size: 11px !important; letter-spacing: .16em !important; font-weight: 900 !important; }
  .video-library-page .library-hero h1 { margin: 4px 0 5px !important; font-size: 32px !important; line-height: 1.05 !important; letter-spacing: -.04em !important; }
  .video-library-page .library-hero p { margin: 0 !important; max-width: 680px; color: var(--it-app-muted) !important; font-size: 15px !important; line-height: 1.45 !important; }
  .video-library-page .library-counts {
    margin-top: 16px !important;
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  .video-library-page .library-counts span {
    min-width: 0 !important;
    min-height: 70px !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface-alt) !important;
    color: var(--it-app-muted) !important;
    font-size: 11px !important;
  }
  .video-library-page .library-counts b { font-size: 22px !important; line-height: 1 !important; }
  .video-library-page .library-toolbar {
    margin: 12px !important;
    padding: 12px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 18px !important;
    background: var(--it-app-surface) !important;
    box-shadow: var(--it-mobile-shadow) !important;
  }
  .video-library-page .library-toolbar form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .video-library-page .library-toolbar label { flex: 0 0 auto !important; min-width: 0 !important; }
  .video-library-page .library-toolbar label > span { display: none !important; }
  .video-library-page .library-toolbar .library-search { flex: 1 0 100% !important; }
  .video-library-page .library-toolbar input[type="search"] {
    width: 100% !important;
    height: 48px !important;
    padding: 0 15px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface-alt) !important;
    color: var(--it-app-text) !important;
  }
  .video-library-page .library-toolbar select,
  .video-library-page .library-toolbar .button {
    min-height: 44px !important;
    padding: 0 13px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 999px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }
  .video-library-page .library-toolbar .button { border-color: var(--it-app-accent) !important; background: var(--it-app-accent) !important; color: #fff !important; }
  .video-library-page .library-featured-check { min-height: 44px; display: flex !important; align-items: center; padding: 0 11px; border: 1px solid var(--it-app-border); border-radius: 999px; }
  .video-library-page .library-featured-check > span { display: inline !important; }
  .video-library-page .library-result-summary { margin: 8px 16px 12px !important; color: var(--it-app-muted) !important; font-size: 13px !important; }
  .video-library-page .library-video-grid {
    margin: 0 !important;
    padding: 0 12px 20px !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 14px 12px !important;
  }
  .video-library-page .library-video-card {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 17px !important;
    background: var(--it-app-surface) !important;
    box-shadow: 0 5px 18px rgba(15,23,42,.06) !important;
  }
  .video-library-page .library-video-thumb { border-radius: 0 !important; }
  .video-library-page .library-video-info-row { padding: 10px 11px 12px !important; }
  .video-library-page .library-video-title { color: var(--it-app-text) !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 850 !important; }
  .video-library-page .library-video-stats { color: var(--it-app-muted) !important; font-size: 12px !important; }

  /* LIVE — video first, compact actions, real chat below. */
  .live-hub-page .page-space > .container { padding: 0 !important; }
  .it-live-page { margin: 0 !important; padding: 0 0 18px !important; background: var(--it-theme-bg, var(--it-mobile-page)) !important; }
  .it-live-experience-bar { display: none !important; }
  .it-live-grid { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .it-live-main,.it-live-player-card { min-width: 0 !important; width: 100% !important; }
  .it-live-player-card {
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--it-app-surface) !important;
    box-shadow: none !important;
  }
  .it-live-player-card .itahuka-linear-player,
  .it-live-player-card .itahuka-player-stage {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    aspect-ratio: 16/9 !important;
    border-radius: 0 !important;
  }
  .itahuka-player-topbar { padding: 12px !important; }
  .itahuka-state-badge,.itahuka-viewer-count { min-height: 30px !important; padding: 0 10px !important; border-radius: 9px !important; font-size: 12px !important; font-weight: 900 !important; }
  .it-live-program-meta {
    padding: 15px 14px 14px !important;
    display: block !important;
    border-top: 0 !important;
    background: var(--it-app-surface) !important;
  }
  .it-live-channel-identity { align-items: flex-start !important; gap: 11px !important; }
  .it-live-channel-avatar { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; }
  .it-live-channel-identity strong { font-size: 20px !important; line-height: 1.22 !important; font-weight: 900 !important; }
  .it-live-channel-identity small[data-broadcast-message] { margin-top: 4px; display: -webkit-box !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--it-app-muted) !important; font-size: 13px !important; }
  .it-live-subscriber-line { margin-top: 4px !important; color: var(--it-app-muted) !important; }
  .it-live-action-group {
    width: calc(100% + 28px) !important;
    margin: 14px -14px 0 !important;
    padding: 0 14px 2px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  .it-live-action-group::-webkit-scrollbar { display: none; }
  .it-live-action {
    flex: 0 0 auto !important;
    min-width: 88px !important;
    min-height: 46px !important;
    padding: 0 13px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface-alt) !important;
    color: var(--it-app-text) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }
  .it-live-action.subscribed,
  .it-live-action.is-active,
  .it-live-action--community { border-color: var(--it-app-accent) !important; background: var(--it-app-accent) !important; color: #fff !important; }
  .live-hub-page .player-weekly-guide { display: none !important; }
  .it-live-chat-column {
    width: auto !important;
    max-width: none !important;
    margin: 0 12px !important;
    order: 2 !important;
  }
  .it-live-chat-column > .it-community-chat {
    width: 100% !important;
    height: min(72dvh,720px) !important;
    min-height: 520px !important;
    overflow: hidden !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 18px !important;
    background: var(--it-app-surface) !important;
    box-shadow: var(--it-mobile-shadow) !important;
  }
  .it-community-chat__tabs button { min-height: 50px !important; color: var(--it-app-text) !important; font-size: 14px !important; }
  .it-community-chat__tabs button.is-active,
  .it-community-chat__tabs button[aria-selected="true"] { border-bottom-color: var(--it-app-accent) !important; color: var(--it-app-accent) !important; background: transparent !important; }
  .it-chat-message__text { color: var(--it-app-text) !important; font-size: 16px !important; line-height: 1.48 !important; }
  .it-chat-message__author { color: var(--it-app-text) !important; font-size: 14px !important; }
  .it-community-chat__composer input,.it-community-chat__composer textarea { color: var(--it-app-text) !important; font-size: 16px !important; }

  /* SCHEDULE — timeline first, compact app controls, no three-column desktop dashboard. */
  .schedule-public-page .page-space > .container { padding: 0 !important; }
  .schedule-page {
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 12px 24px !important;
    background: var(--it-theme-bg, var(--it-mobile-page)) !important;
  }
  .schedule-page-head {
    margin: 0 0 14px !important;
    padding: 0 4px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
  }
  .schedule-page-kicker { color: var(--it-app-accent) !important; font-size: 11px !important; letter-spacing: .16em !important; font-weight: 900 !important; }
  .schedule-page-title h1 { margin: 3px 0 4px !important; font-size: 32px !important; line-height: 1.04 !important; letter-spacing: -.04em !important; }
  .schedule-page-title p { margin: 0 !important; color: var(--it-app-muted) !important; font-size: 13px !important; }
  .schedule-timezone {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
  }
  .schedule-week-navigation {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0,1fr) 46px !important;
    gap: 6px !important;
  }
  .schedule-week-arrow { min-width: 46px !important; width: 46px !important; min-height: 64px !important; border: 1px solid var(--it-app-border) !important; border-radius: 14px !important; background: var(--it-app-surface) !important; color: var(--it-app-text) !important; }
  .schedule-week-strip {
    min-width: 0 !important;
    display: flex !important;
    overflow-x: auto !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface) !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .schedule-week-strip::-webkit-scrollbar { display: none; }
  .schedule-week-strip button {
    flex: 0 0 82px !important;
    min-width: 82px !important;
    min-height: 64px !important;
    padding: 8px 6px !important;
    border: 0 !important;
    border-right: 1px solid var(--it-app-border) !important;
    border-radius: 0 !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    scroll-snap-align: center;
  }
  .schedule-week-strip button.is-active {
    margin: 5px !important;
    min-height: 54px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: var(--it-app-accent) !important;
    color: #fff !important;
    box-shadow: 0 5px 16px color-mix(in srgb, var(--it-app-accent) 24%, transparent) !important;
  }
  .schedule-week-strip button.is-active strong,.schedule-week-strip button.is-active span { color: #fff !important; }
  .schedule-filters,
  .schedule-dayparts {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 1px 0 4px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  .schedule-filters::-webkit-scrollbar,.schedule-dayparts::-webkit-scrollbar { display: none; }
  .schedule-filters button {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 17px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 999px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }
  .schedule-filters button[aria-pressed="true"] { border-color: var(--it-app-accent) !important; background: var(--it-app-accent) !important; color: #fff !important; }
  .schedule-dayparts button {
    flex: 0 0 132px !important;
    min-height: 60px !important;
    padding: 8px 11px !important;
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 14px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    text-align: left !important;
  }
  .schedule-dayparts button > span { grid-row: 1 / 3; color: var(--it-app-accent) !important; font-size: 20px !important; }
  .schedule-dayparts button b { font-size: 13px !important; }
  .schedule-dayparts button small { color: var(--it-app-muted) !important; font-size: 10px !important; }
  .schedule-dayparts button[aria-pressed="true"] { border-color: var(--it-app-accent) !important; background: color-mix(in srgb, var(--it-app-accent) 7%, var(--it-app-surface)) !important; }
  .schedule-dashboard { display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .schedule-list-panel { order: 1 !important; }
  .schedule-now-column { order: 2 !important; }
  .schedule-side-column { display: none !important; }
  .schedule-now-panel,.schedule-auto-card { display: none !important; }
  .schedule-panel {
    overflow: hidden !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 18px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    box-shadow: var(--it-mobile-shadow) !important;
  }
  .schedule-panel-header { min-height: 52px !important; padding: 0 14px !important; border-bottom: 1px solid var(--it-app-border) !important; }
  .schedule-list-heading h2 { color: var(--it-app-accent) !important; }
  .schedule-day-list {
    position: relative !important;
    min-height: 160px !important;
    padding: 8px 10px 8px 20px !important;
    border-left: 0 !important;
  }
  .schedule-day-list::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 78px;
    width: 2px;
    border-radius: 2px;
    background: var(--it-app-border);
  }
  .schedule-list-row {
    position: relative !important;
    min-height: 86px !important;
    margin: 0 !important;
    padding: 10px 8px 10px 0 !important;
    display: grid !important;
    grid-template-columns: 60px minmax(0,1fr) auto !important;
    gap: 13px !important;
    align-items: center !important;
    border: 0 !important;
    border-bottom: 1px solid var(--it-app-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .schedule-list-row::before {
    content: "";
    position: absolute;
    left: 52px;
    top: 50%;
    z-index: 2;
    width: 12px;
    height: 12px;
    border: 3px solid var(--it-app-surface);
    border-radius: 50%;
    background: var(--it-app-accent);
    box-shadow: 0 0 0 1px var(--it-app-accent);
    transform: translateY(-50%);
  }
  .schedule-list-row.state-live { margin: 5px 0 !important; padding: 11px 8px 11px 0 !important; border: 1px solid var(--it-app-accent) !important; border-radius: 14px !important; background: color-mix(in srgb, var(--it-app-accent) 6%, var(--it-app-surface)) !important; }
  .schedule-list-time { position: relative; z-index: 3; color: var(--it-app-text) !important; font-size: 12px !important; font-weight: 850 !important; text-align: left !important; }
  .schedule-list-copy { min-width: 0 !important; }
  .schedule-list-copy h3 { margin: 3px 0 2px !important; font-size: 15px !important; line-height: 1.25 !important; font-weight: 900 !important; }
  .schedule-list-copy strong,.schedule-list-copy p { color: var(--it-app-muted) !important; font-size: 11px !important; }
  .schedule-list-copy p { display: none !important; }
  .schedule-list-row .schedule-state-chip { padding: 4px 7px !important; border-radius: 7px !important; font-size: 9px !important; }
  .schedule-list-row button,.schedule-list-row a { min-width: 44px !important; min-height: 44px !important; border-radius: 12px !important; }
  .schedule-now-rail { left: 0 !important; right: 0 !important; z-index: 5 !important; }
  .schedule-now-rail span { left: 3px !important; min-width: 69px !important; padding: 4px 5px !important; border-radius: 7px !important; background: var(--it-app-accent) !important; color: #fff !important; font-size: 9px !important; }
  .schedule-world-panel { margin: 0 !important; }
  .schedule-world-grid {
    padding: 11px !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(112px, 34vw) !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  .schedule-world-grid::-webkit-scrollbar { display: none; }
  .schedule-world-clock { min-width: 0 !important; min-height: 92px !important; padding: 10px !important; border: 1px solid var(--it-app-border) !important; border-radius: 13px !important; background: var(--it-app-surface-alt) !important; }
  .schedule-world-clock.is-primary { border-color: var(--it-app-accent) !important; background: color-mix(in srgb, var(--it-app-accent) 7%, var(--it-app-surface)) !important; }
  .schedule-world-location strong { font-size: 11px !important; }
  .schedule-world-value time { color: var(--it-app-text) !important; font-size: 19px !important; }
  .schedule-world-note,.schedule-page-note { display: none !important; }

  /* AUTHENTICATED LIBRARY — app dashboard. */
  .library-dashboard-page .page-space > .container { padding: 0 12px 20px !important; }
  .library-dashboard-hero {
    margin: 0 -12px 12px !important;
    padding: 22px 16px 18px !important;
    display: block !important;
    border-radius: 0 0 22px 22px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    box-shadow: 0 6px 22px rgba(15,23,42,.06) !important;
  }
  .library-dashboard-hero h1 { margin: 3px 0 5px !important; font-size: 32px !important; letter-spacing: -.04em !important; }
  .library-dashboard-hero p { margin: 0 !important; color: var(--it-app-muted) !important; font-size: 14px !important; }
  .library-dashboard-profile { margin-top: 14px !important; padding: 10px !important; border: 1px solid var(--it-app-border) !important; border-radius: 14px !important; background: var(--it-app-surface-alt) !important; }
  .library-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .library-quick-grid a { min-height: 104px !important; padding: 15px !important; border: 1px solid var(--it-app-border) !important; border-radius: 17px !important; background: var(--it-app-surface) !important; box-shadow: 0 4px 15px rgba(15,23,42,.05) !important; }
  .library-quick-grid a > span { color: var(--it-app-accent) !important; font-size: 25px !important; }
  .library-dashboard-section { margin-top: 14px !important; }
  .library-dashboard-video-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
  .library-dashboard-columns { grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; }
  .library-dashboard-section.panel { padding: 14px !important; border-radius: 18px !important; }
  .library-list-row { min-height: 68px !important; padding: 10px 5px !important; }
  .library-offline-note { margin: 14px 0 !important; border-radius: 18px !important; }

  /* Notification center is a true mobile sheet. */
  .notification-center {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: min(88dvh, 900px) !important;
    border: 1px solid var(--it-app-border) !important;
    border-bottom: 0 !important;
    border-radius: 24px 24px 0 0 !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
    box-shadow: 0 -18px 60px rgba(15,23,42,.24) !important;
  }
  .notification-center__head { min-height: 68px !important; padding: 12px 16px !important; }
  .notification-center__head h2 { font-size: 23px !important; }
  .notification-center__tools { overflow-x: auto !important; flex-wrap: nowrap !important; }
  .notification-center__tools > * { flex: 0 0 auto !important; min-height: 42px !important; }

  /* Installer is one compact app sheet, never a full-page interruption. */
  .v5-install-sheet {
    bottom: calc(var(--it-mobile-nav) + 12px + env(safe-area-inset-bottom)) !important;
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    grid-template-columns: 46px minmax(0,1fr) !important;
    padding: 14px !important;
    border: 1px solid var(--it-app-border) !important;
    border-radius: 20px !important;
    background: var(--it-app-surface) !important;
    color: var(--it-app-text) !important;
  }
  .v5-install-sheet__icon { width: 44px !important; height: 44px !important; border-radius: 13px !important; background: var(--it-app-accent) !important; }
  .v5-install-sheet__copy strong { color: var(--it-app-text) !important; font-size: 15px !important; }
  .v5-install-sheet__copy span { color: var(--it-app-muted) !important; font-size: 12px !important; }
  .v5-install-sheet__actions { grid-column: 1 / -1 !important; }
  .v5-install-sheet__actions button { flex: 1 !important; min-height: 46px !important; }
  .v5-install-sheet [data-v5-install-now] { background: var(--it-app-accent) !important; border-color: var(--it-app-accent) !important; color: #fff !important; }

  /* General card typography and overflow. */
  .panel,.content-section,.video-card,.library-video-card,.community-post,.playlist-card { min-width: 0 !important; max-width: 100% !important; }
  img,video,iframe,canvas,svg { max-width: 100%; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea { max-width: 100%; font-size: 16px !important; }
}

@media (max-width: 720px) {
  .site-header .site-logo-text strong { font-size: 18px !important; }
  .site-header .account-links { gap: 1px !important; }
  .site-header .notification-link { display: none !important; }
  .channel-profile-row { grid-template-columns: 58px minmax(0,1fr) !important; }
  .channel-avatar-large { width: 58px !important; height: 58px !important; min-width: 58px !important; }
  .channel-profile-copy h1 { font-size: 21px !important; }
  .home-page .video-shelf { grid-auto-columns: 84vw !important; }
  .video-library-page .library-counts { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .video-library-page .library-counts span { min-height: 62px !important; }
  .video-library-page .library-video-grid { grid-template-columns: minmax(0,1fr) !important; }
  .video-library-page .library-video-card { display: grid !important; grid-template-columns: minmax(132px,42%) minmax(0,1fr) !important; align-items: stretch !important; }
  .video-library-page .library-video-thumb-shell { height: 100% !important; }
  .video-library-page .library-video-thumb { height: 100% !important; min-height: 112px !important; }
  .video-library-page .library-video-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .video-library-page .library-video-info-row { align-items: flex-start !important; }
  .schedule-page-title h1 { font-size: 29px !important; }
  .schedule-list-row { grid-template-columns: 54px minmax(0,1fr) auto !important; gap: 10px !important; }
  .schedule-day-list::before { left: 69px !important; }
  .schedule-list-row::before { left: 47px !important; }
  .schedule-world-grid { grid-auto-columns: minmax(108px,42vw) !important; }
  .library-dashboard-video-grid { grid-template-columns: minmax(0,1fr) !important; }
}

@media (min-width: 721px) and (max-width: 1180px), (min-width: 721px) and (max-width: 1600px) and (any-pointer: coarse) {
  .site-header .nav-shell { padding-right: 20px !important; padding-left: 20px !important; }
  .home-page .video-shelf { grid-auto-columns: minmax(270px, 42vw) !important; }
  .channel-profile-row { max-width: 760px; margin: 0 auto; }
  .channel-tabs { justify-content: center !important; }
  .schedule-page { max-width: 860px !important; margin: 0 auto !important; }
  .library-dashboard-page .page-space > .container { max-width: 900px !important; margin: 0 auto !important; }
}

@media (display-mode: standalone) and (max-width: 1600px) {
  .site-header.yt-header { position: fixed !important; right: 0; left: 0; }
  .site-content.public-content { padding-top: calc(var(--it-mobile-header) + env(safe-area-inset-top)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-bottom-nav,.site-header,.channel-page-head,.video-card,.library-video-card { scroll-behavior: auto !important; transition: none !important; }
}


/* ========================================================================== 
   v5.0.5 STRUCTURAL MOBILE THEME VARIANTS
   These selectors deliberately alter composition for the backend module
   choices. Palette variables still control identity, but layout is no longer
   identical across every preset.
   ========================================================================== */
@media (max-width: 1180px), (max-width: 1600px) and (any-pointer: coarse) {
  /* Default approved red app: player-first, timeline schedule, community chat. */
  body.it-mobile-app[data-player-style="engagement"] .it-live-player-card {
    display: flex !important;
    flex-direction: column !important;
  }
  body.it-mobile-app[data-player-style="engagement"] .it-live-program-meta {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
  }
  body.it-mobile-app[data-player-style="engagement"] .it-live-action-group {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(88px,1fr) !important;
  }

  /* Broadcast/newsroom: compact identity bar, two-row control deck, denser guide. */
  body.it-mobile-app[data-player-style="broadcast"] .it-live-player-card {
    border-radius: 8px !important;
    box-shadow: 0 12px 34px rgba(15,23,42,.14) !important;
  }
  body.it-mobile-app[data-player-style="broadcast"] .it-live-program-meta {
    border-top: 4px solid var(--it-app-live) !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.it-mobile-app[data-player-style="broadcast"] .it-live-channel-avatar { display:none !important; }
  body.it-mobile-app[data-player-style="broadcast"] .it-live-channel-identity strong { font-size: 22px !important; }
  body.it-mobile-app[data-player-style="broadcast"] .it-live-action-group {
    width:100% !important; margin:12px 0 0 !important; padding:0 !important;
    display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    overflow:visible !important;
  }
  body.it-mobile-app[data-player-style="broadcast"] .it-live-action { min-width:0 !important; }

  /* Utility/compact: metadata and controls become a dense toolbar. */
  body.it-mobile-app[data-player-style="compact"] .it-live-program-meta {
    padding: 10px 12px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.it-mobile-app[data-player-style="compact"] .it-live-channel-avatar,
  body.it-mobile-app[data-player-style="compact"] .it-live-channel-identity small[data-broadcast-message] { display:none !important; }
  body.it-mobile-app[data-player-style="compact"] .it-live-channel-identity strong { font-size:16px !important; }
  body.it-mobile-app[data-player-style="compact"] .it-live-action-group {
    width:100% !important; margin:8px 0 0 !important; padding:0 !important;
    display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; overflow:visible !important;
  }
  body.it-mobile-app[data-player-style="compact"] .it-live-action {
    min-width:0 !important; min-height:40px !important; padding:0 7px !important; font-size:11px !important;
  }
  body.it-mobile-app[data-player-style="compact"] .it-live-action:nth-child(n+5) { display:none !important; }

  /* Classic: familiar stacked video/detail presentation and visible guide. */
  body.it-mobile-app[data-player-style="classic"] .it-live-program-meta {
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
  }
  body.it-mobile-app[data-player-style="classic"] .it-live-action-group {
    width:100% !important; margin:10px 0 0 !important; padding:0 !important; flex-wrap:wrap !important;
  }
  body.it-mobile-app.live-hub-page[data-player-style="classic"] .player-weekly-guide { display:block !important; }

  /* Cinema/focus: maximized player, reduced details, chat remains reachable below. */
  body.it-mobile-app[data-player-style="cinema"] .it-live-experience-bar { display:none !important; }
  body.it-mobile-app[data-player-style="cinema"] .it-live-player-card { border:0 !important; border-radius:0 !important; box-shadow:none !important; }
  body.it-mobile-app[data-player-style="cinema"] .it-live-program-meta {
    padding:10px 12px !important; display:grid !important; grid-template-columns:minmax(0,1fr) !important;
  }
  body.it-mobile-app[data-player-style="cinema"] .it-live-channel-avatar,
  body.it-mobile-app[data-player-style="cinema"] .it-live-channel-identity small[data-broadcast-message],
  body.it-mobile-app[data-player-style="cinema"] .it-live-subscriber-line { display:none !important; }
  body.it-mobile-app[data-player-style="cinema"] .it-live-action-group {
    width:100% !important; margin:8px 0 0 !important; padding:0 !important;
    display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; overflow:visible !important;
  }
  body.it-mobile-app[data-player-style="cinema"] .it-live-action:nth-child(n+4) { display:none !important; }
  body.it-mobile-app.live-hub-page[data-player-style="cinema"] .player-weekly-guide { display:none !important; }

  /* Schedule module differences. */
  body.it-mobile-app[data-schedule-style="list"] .schedule-day-list::before,
  body.it-mobile-app[data-schedule-style="list"] .schedule-list-row::before { display:none !important; }
  body.it-mobile-app[data-schedule-style="list"] .schedule-day-list { padding-left:10px !important; }
  body.it-mobile-app[data-schedule-style="list"] .schedule-list-row {
    grid-template-columns:72px minmax(0,1fr) auto !important;
    margin:8px 0 !important; padding:12px !important;
    border:1px solid var(--it-app-border) !important; border-radius:14px !important;
    background:var(--it-app-surface) !important;
  }
  body.it-mobile-app[data-schedule-style="timeline-dense"] .schedule-list-row { min-height:68px !important; padding-block:7px !important; }
  body.it-mobile-app[data-schedule-style="timeline-dense"] .schedule-list-row .schedule-item-description { display:none !important; }
  body.it-mobile-app[data-schedule-style="timeline-dense"] .schedule-dayparts button { min-height:50px !important; flex-basis:112px !important; }
  body.it-mobile-app[data-schedule-style="timeline-dense"] .schedule-week-strip button { min-height:56px !important; flex-basis:72px !important; min-width:72px !important; }

  /* Chat module differences. */
  body.it-mobile-app[data-chat-style="hero"] .it-live-chat-column { order:1 !important; }
  body.it-mobile-app[data-chat-style="hero"] .it-live-main { order:2 !important; }
  body.it-mobile-app[data-chat-style="hero"] .it-community-chat__pinned {
    border:2px solid color-mix(in srgb,var(--it-app-accent) 55%,var(--it-app-border)) !important;
    box-shadow:0 8px 26px color-mix(in srgb,var(--it-app-accent) 12%,transparent) !important;
  }
  body.it-mobile-app[data-chat-style="hero"] .it-community-chat__view[data-chat-view="polls"] { padding:12px !important; }
  body.it-mobile-app[data-chat-style="classic"] .it-community-chat__pinned { border-radius:0 !important; border-inline:0 !important; }
  body.it-mobile-app[data-chat-style="classic"] .it-community-chat__fast-reactions { display:none !important; }
  body.it-mobile-app[data-chat-style="classic"] .it-chat-message { border-radius:0 !important; border-inline:0 !important; }

  /* Library module differences. */
  body.it-mobile-app[data-library-style="productivity"] .library-counts,
  body.it-mobile-app[data-library-style="productivity"] .library-dashboard-stats {
    display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:7px !important;
  }
  body.it-mobile-app[data-library-style="productivity"] .library-video-grid,
  body.it-mobile-app[data-library-style="productivity"] .library-dashboard-video-grid { grid-template-columns:minmax(0,1fr) !important; }
  body.it-mobile-app[data-library-style="productivity"] .library-video-card,
  body.it-mobile-app[data-library-style="productivity"] .library-dashboard-video-card {
    display:grid !important; grid-template-columns:minmax(140px,36%) minmax(0,1fr) !important;
  }
  body.it-mobile-app[data-library-style="classic"] .library-counts,
  body.it-mobile-app[data-library-style="classic"] .library-dashboard-stats { display:none !important; }
  body.it-mobile-app[data-library-style="classic"] .library-toolbar { border-radius:0 !important; box-shadow:none !important; }

  /* Theme identity adds unmistakable structural differences as well as colors. */
  body.it-mobile-app[data-theme="itahuka-mobile-newsroom"] .mobile-bottom-nav { border-top:3px solid var(--it-app-live) !important; }
  body.it-mobile-app[data-theme="itahuka-mobile-newsroom"] .site-header { border-bottom:3px solid var(--it-app-live) !important; }
  body.it-mobile-app[data-theme="itahuka-mobile-community"] .it-live-grid { flex-direction:column-reverse !important; }
  body.it-mobile-app[data-theme="itahuka-mobile-utility"] .panel,
  body.it-mobile-app[data-theme="itahuka-mobile-utility"] .content-section { box-shadow:none !important; border-radius:8px !important; }
  body.it-mobile-app[data-theme="itahuka-mobile-midnight"] .mobile-bottom-nav { background:#090d13 !important; }
  body.it-mobile-app[data-theme="itahuka-mobile-focus"] .site-header .site-logo-text,
  body.it-mobile-app[data-theme="itahuka-mobile-focus"] .site-header .desktop-search,
  body.it-mobile-app[data-theme="itahuka-mobile-focus"] .site-header .create-button { display:none !important; }
}

/* Desktop player corrections: always use the available canvas, show program
   details, and keep chat aligned without leaving a large blank card. */
@media (min-width: 1181px) and (hover: hover) {
  body.live-hub-page .page-space > .container { width:min(1700px,calc(100% - 30px)) !important; }
  body.live-hub-page .it-live-grid {
    grid-template-columns:minmax(0,1fr) clamp(380px,27vw,440px) !important;
    gap:16px !important; align-items:start !important;
  }
  body.live-hub-page .it-live-player-card { height:auto !important; min-height:0 !important; align-self:start !important; }
  body.live-hub-page .it-live-program-meta {
    display:grid !important; visibility:visible !important;
    grid-template-columns:minmax(260px,1fr) minmax(360px,auto) !important;
    padding:16px !important; background:var(--it-theme-surface,#fff) !important;
  }
  body.live-hub-page .it-live-action-group { max-width:620px !important; justify-content:flex-end !important; }
  body.live-hub-page .it-live-chat-column > .it-community-chat {
    height:min(790px,calc(100dvh - 98px)) !important; min-height:600px !important;
  }
}
