/* dash/homepage.css — HOMEPAGE ONLY
   Layout:
   - top charts hidden
   - below: widget_full with NEW heading
   - fixed right glass rail with TOP 5 + TOP POLITICS (desktop only)
   - mobile: right glass rail hidden
*/

/* =============================================================================
1) TOKENS + BASE
============================================================================= */
.homepage{
  --hp-bg:#000000;

  --hp-text: rgba(226,226,226,.82);
  --hp-muted:rgba(188,188,188,.56);
  --hp-dim:  rgba(156,156,156,.40);

  --hp-gap-1:10px;
  --hp-gap-2:14px;
  --hp-gap-3:18px;

  --hp-pad-1:10px;
  --hp-pad-2:14px;
  --hp-pad-3:18px;

  --hp-row-gap:18px;
  --hp-ui: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* fixed right rail */
  --hp-rail-w: 314px;
  --hp-rail-box-w: 236px;
  --hp-rail-safe-gap: 26px;
  --hp-rail-top-pad: 34px;

  background:var(--hp-bg) !important;
  color:var(--hp-text) !important;
  font-family:var(--hp-ui) !important;
}

.homepage a,
.homepage a:link,
.homepage a:visited,
.homepage a:hover,
.homepage a:active,
.homepage a:focus{
  color:inherit !important;
  text-decoration:none !important;
  outline:none !important;
}

.homepage *,
.homepage *::before,
.homepage *::after{
  box-sizing:border-box !important;
  border-radius:0 !important;
}

/* =============================================================================
2) CANVAS LAYOUT
============================================================================= */
.homepage .hp-canvas{
  display:block !important;
  min-width:0 !important;
  padding-right:calc(var(--hp-rail-w) + var(--hp-rail-safe-gap)) !important;
}

.homepage .hp-canvas--with-right{
  display:block !important;
  min-width:0 !important;
}

.homepage .hp-left{
  display:grid !important;
  gap:var(--hp-gap-2) !important;
  align-content:start !important;
  min-width:0 !important;
  min-height:0 !important;
  width:100% !important;
  max-width:calc(100vw - var(--hp-rail-w) - var(--hp-rail-safe-gap)) !important;
}

.homepage .hp-right{
  display:none !important;
  min-width:0 !important;
  width:100% !important;
  min-height:0 !important;
  align-self:start !important;
  position:static !important;
  top:auto !important;
}

/* =============================================================================
3) HEADINGS
============================================================================= */
.homepage .hpyt-head,
.homepage .hpch-head,
.homepage .hpw6v-head,
.homepage .hp-glassrail-head{
  font-family:var(--hp-ui) !important;
  font-size:18px !important;
  font-weight:400 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1.12 !important;
  color:rgba(255,255,255,.88) !important;
}

.homepage .hpch-sub,
.homepage .hpw6v-sub{
  font-family:var(--hp-ui) !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.58) !important;
}

.homepage .hpyt-row-title{
  font-family:var(--hp-ui) !important;
  font-size:18px !important;
  font-weight:400 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1.12 !important;
  color:rgba(255,255,255,.84) !important;
  padding:2px 2px !important;
}

/* =============================================================================
4) TOP CHARTS — HIDDEN
============================================================================= */
.homepage .hpchbar,
.homepage .hpch-top,
.homepage .hpch-row,
.homepage .hpch-head,
.homepage .hpch-sub,
.homepage .hpch-btn,
.homepage .hpch-empty,
.homepage .hpch-mini,
.homepage .hpch-candle,
.homepage .hpch-wick,
.homepage .hpch-body,
.homepage .hpch-overlay,
.homepage .hpch-label,
.homepage .hpch-meta{
  display:none !important;
}

/* =============================================================================
5) WIDGET FULL WRAPPER
============================================================================= */
.homepage .hpyt-wrap{
  position:relative !important;
  overflow:visible !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:12px 0 12px 68px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
}

.homepage .hpyt-wrap::after{
  display:none !important;
  content:none !important;
}

.homepage .hpyt-head{
  display:block !important;
}

.homepage .hpyt-feed-root{
  display:block !important;
  min-width:0 !important;
}

.homepage .hpyt-feed-list{
  display:grid !important;
  gap:18px !important;
  min-width:0 !important;
}

.homepage .hpyt-feed-chunks{
  display:none !important;
}

.homepage .hpyt-feed-chunk{
  display:contents !important;
}

.homepage .hpyt-feed-sentinel{
  height:48px !important;
}

/* =============================================================================
6) DETAIL ROOT
============================================================================= */
.homepage .ytd-root{
  width:100% !important;
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  padding:0 !important;
  background:transparent !important;
  overscroll-behavior:auto !important;
  scrollbar-gutter:auto !important;
}

.homepage .ytd-infinite-list{
  display:grid !important;
  gap:18px !important;
  min-width:0 !important;
}

.homepage .ytd-infinite-more,
.homepage .ytd-infinite-sentinel{
  display:none !important;
}

.homepage .ytd-container{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.040) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.010) 0%, rgba(255,255,255,.004) 18%, rgba(0,0,0,0) 100%),
    #000 !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.74),
    0 2px 10px rgba(0,0,0,.54) !important;
}

.homepage .ytd-tab-body{
  min-height:0 !important;
  padding:14px !important;
  background:#000 !important;
}

/* =============================================================================
7) INNER DETAIL STRIP
============================================================================= */
.homepage .ytd-xstrip{
  display:flex !important;
  gap:16px !important;
  align-items:stretch !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:8px !important;
  overscroll-behavior-x:contain !important;
  overscroll-behavior-y:auto !important;
  scrollbar-gutter:stable both-edges !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-x pan-y !important;
}

.homepage .ytd-xstrip::-webkit-scrollbar{
  width:10px !important;
  height:10px !important;
}

.homepage .ytd-xstrip::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.045) !important;
}

.homepage .ytd-xstrip::-webkit-scrollbar-track{
  background:rgba(0,0,0,.92) !important;
}

.homepage .ytd-panel{
  position:relative !important;
  flex:0 0 auto !important;
  width:clamp(320px, 42vw, 560px) !important;
  min-width:320px !important;
  max-width:560px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.040) !important;
  background:
    radial-gradient(220px 140px at 0% 0%, rgba(255,255,255,.028), rgba(255,255,255,.010) 34%, rgba(0,0,0,0) 72%),
    radial-gradient(220px 140px at 100% 0%, rgba(255,255,255,.024), rgba(255,255,255,.008) 34%, rgba(0,0,0,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.010) 0%, rgba(255,255,255,.003) 24%, rgba(0,0,0,0) 100%),
    rgba(0,0,0,.96) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.76),
    0 2px 8px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,255,255,.018) inset !important;
}

.homepage .ytd-panel:hover{
  border-color:rgba(255,255,255,.055) !important;
  filter:brightness(1.01) !important;
}

.homepage .ytd-panel-title{
  display:none !important;
}

.homepage .ytd-panel-body{
  min-height:0 !important;
  overflow:visible !important;
  padding:12px 14px 14px !important;
  background:rgba(0,0,0,.24) !important;
}

.homepage .ytd-panel-body *{
  max-height:none !important;
}

.homepage .ytd-panel--miniwrap{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.020) 0%,
      rgba(255,255,255,.006) 12%,
      rgba(0,0,0,0) 46%,
      rgba(0,0,0,0) 70%,
      rgba(255,255,255,.010) 100%
    ),
    rgba(0,0,0,.96) !important;
}

.homepage .ytd-panel--full{
  flex:0 0 auto !important;
  width:fit-content !important;
  min-width:320px !important;
  max-width:none !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.060) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.76),
    0 2px 8px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,255,255,.022) inset !important;
}

.homepage .ytd-panel--full .ytd-panel-body{
  width:fit-content !important;
  min-width:100% !important;
}

.homepage .ytd-panel--full .ytd-full-panel{
  width:fit-content !important;
  min-width:100% !important;
}

.homepage .ytd-panel--full .ytd-full-panel > :not(.ytd-full-kps):not(.ytd-full-stance-wrap){
  max-width:560px !important;
}

/* =============================================================================
8) MINI CONTENT
============================================================================= */
.homepage .ytd-mini{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-height:0 !important;
}

.homepage .ytd-mini-head2{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.homepage .ytd-mini-hrow1{
  display:block !important;
}

.homepage .ytd-mini-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage .ytd-mini-open{
  display:none !important;
}

.homepage .ytd-chip{
  display:inline-flex !important;
  align-items:center !important;
  padding:5px 8px !important;
  border:1px solid rgba(255,255,255,.060) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.012) 0%, rgba(255,255,255,.003) 100%),
    rgba(0,0,0,.74) !important;
  font-size:11px !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:rgba(208,208,208,.70) !important;
}

.homepage .ytd-chip--kind{
  display:none !important;
}

.homepage .ytd-chip--date{
  display:inline-flex !important;
  color:rgba(188,188,188,.62) !important;
}

.homepage .ytd-mini-topchan{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  padding:8px 10px !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.010) 0%, rgba(255,255,255,.003) 100%),
    rgba(0,0,0,.78) !important;
  border:1px solid rgba(255,255,255,.045) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.016) inset,
    0 10px 24px rgba(0,0,0,.34) !important;
}

.homepage .ytd-mini-topchan--empty{
  display:none !important;
}

.homepage .ytd-mini-topk{
  flex:0 0 auto !important;
  font-size:10px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:rgba(188,188,188,.56) !important;
  white-space:nowrap !important;
}

.homepage .ytd-mini-topv{
  flex:1 1 220px !important;
  min-width:0 !important;
  font-size:11px !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  color:rgba(234,234,234,.86) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

.homepage .ytd-mini-row{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  min-width:0 !important;
}

.homepage .ytd-mini-thumblink,
.homepage .ytmm-row-thumbwrap{
  position:relative !important;
  display:block !important;
  width:96% !important;
  margin:0 auto !important;
  aspect-ratio:16 / 9 !important;
  overflow:hidden !important;
  border:0 !important;
  background:#000 !important;
  text-decoration:none !important;
  isolation:isolate !important;
}

.homepage .ytd-mini-thumblink--nolink{
  pointer-events:none !important;
}

.homepage .ytmm-row-bgimg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  pointer-events:none !important;
  opacity:.6 !important;
  filter:saturate(.88) brightness(.82) contrast(1.02) !important;
}

.homepage .ytmm-row-bg--empty{
  position:absolute !important;
  inset:0 !important;
  background:rgba(255,255,255,.02) !important;
  opacity:.6 !important;
}

.homepage .ytmm-row-thumbwrap::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  opacity:.35 !important;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.14) 0 1px, transparent 1px 16px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 1px, transparent 1px 16px) !important;
}

.homepage .ytmm-row-titleglass{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:5 !important;
  transform:translate(-50%, -50%) !important;
  width:min(96%, 660px) !important;
  max-height:78% !important;
  overflow:visible !important;
  padding:12px 16px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  pointer-events:none !important;
  font-family:var(--hp-ui) !important;
  font-size:clamp(11px, 1.15vw + 8px, 16px) !important;
  font-weight:400 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  line-height:1.10 !important;
  color:rgba(232,232,232,.88) !important;
  text-shadow:0 1px 0 rgba(0,0,0,.92) !important;
  white-space:normal !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  hyphens:auto !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.014) 0%, rgba(255,255,255,.004) 100%),
    rgba(0,0,0,.88) !important;
  border:0 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.060) inset,
    0 10px 28px rgba(0,0,0,.42) !important;
}

.homepage .ytmm-row-titleglass *{
  font:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
  line-height:inherit !important;
  color:inherit !important;
  text-shadow:inherit !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.homepage .ytd-mini-title,
.homepage .ytd-mini-titleglass,
.homepage .ytd-mini-meta,
.homepage .ytd-mini-preview{
  display:none !important;
}

.homepage .ytd-mini-text{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
  min-height:0 !important;
  padding-top:8px !important;
}

/* =============================================================================
9) MINI STANCE MAP — FIXED DESKTOP WIDTH
============================================================================= */
.homepage .ytd-panel--stancewrap{
  flex:0 0 auto !important;
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:12px !important;
  background:rgba(255,255,255,.02) !important;
  min-height:0 !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-subhead{
  display:none !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-wrap{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  min-height:0 !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-wrap > .ytd-mini-stance-card:nth-child(3){
  display:none !important;
}

.homepage .ytd-mini-stance-card,
.homepage .ytd-n-text,
.homepage .ytd-n-ul,
.homepage .client-ytp-ts-transcript,
.homepage .ytd-paper-lead,
.homepage .ytd-paper-ul,
.homepage .ytd-src-row,
.homepage .hpyt-meta-box{
  background:
    linear-gradient(180deg, rgba(255,255,255,.010) 0%, rgba(255,255,255,.003) 100%),
    rgba(0,0,0,.78) !important;
  border:1px solid rgba(255,255,255,.045) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.016) inset,
    0 10px 24px rgba(0,0,0,.34) !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  padding:10px !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-title{
  font-weight:400 !important;
  font-size:16px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(234,234,234,.86) !important;
  margin:0 0 10px 0 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-ul{
  margin:0 !important;
  padding-left:18px !important;
  display:grid !important;
  gap:8px !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.86) !important;
}

.homepage .ytd-panel--stancewrap .ytd-mini-stance-ul li:nth-child(n+4){
  display:none !important;
}

/* =============================================================================
10) FULL / STANCE / YTNEWS / PAPER / SOURCES
============================================================================= */
.homepage .ytd-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.homepage .ytd-tag{
  display:inline-flex !important;
  padding:5px 8px !important;
  border:0 !important;
  background:rgba(255,255,255,.04) !important;
  color:rgba(255,255,255,.68) !important;
  font-size:12px !important;
}

.homepage .ytd-n-text,
.homepage .client-ytp-ts-transcript{
  padding:10px !important;
  font-weight:400 !important;
  line-height:1.55 !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  color:rgba(218,218,218,.76) !important;
}

.homepage .ytd-n-ul,
.homepage .ytd-paper-ul{
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  gap:18px !important;
  margin:0 !important;
  padding:10px 10px 18px 28px !important;
  line-height:1.45 !important;
  color:rgba(218,218,218,.76) !important;
}

.homepage .ytd-n-ul{
  font-size:12px !important;
}

.homepage .ytd-paper-ul{
  font-size:14px !important;
}

.homepage .ytd-n-ul li,
.homepage .ytd-paper-ul li{
  position:relative !important;
  margin:0 !important;
  margin-bottom:12px !important;
  padding-bottom:12px !important;
  line-height:1.60 !important;
  text-align:justify !important;
  text-justify:inter-word !important;
  hyphens:auto !important;
  overflow-wrap:anywhere !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}

.homepage .ytd-n-ul li:last-child,
.homepage .ytd-paper-ul li:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}

.homepage .ytd-n-ul::after,
.homepage .ytd-paper-ul::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:5 !important;
  height:44px !important;
  pointer-events:none !important;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.78) 100%) !important;
}

.homepage .ytd-full-panel,
.homepage .ytd-paper-panel{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:visible !important;
}

.homepage .ytd-full-time{
  font-size:16.5px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:rgba(188,188,188,.56) !important;
}

.homepage .ytd-full-synth,
.homepage .ytd-full-metrics,
.homepage .ytm-metric-grid,
.homepage .ytm-metric-box{
  display:none !important;
}

.homepage .ytd-full-kps{
  position:static !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding:0 0 4px !important;
  margin:0 !important;
  list-style:none !important;
  display:grid !important;
  grid-auto-flow:column !important;
  grid-template-rows:repeat(2, auto) !important;
  grid-auto-columns:260px !important;
  gap:14px !important;
  align-content:start !important;
  align-items:start !important;
  line-height:1.55 !important;
  font-size:13px !important;
  color:rgba(218,218,218,.76) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.homepage .ytd-full-kps::-webkit-scrollbar{
  height:8px !important;
}

.homepage .ytd-full-kps::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.08) !important;
}

.homepage .ytd-full-kps::-webkit-scrollbar-track{
  background:rgba(0,0,0,.40) !important;
}

.homepage .ytd-full-kps li{
  position:relative !important;
  width:260px !important;
  min-width:260px !important;
  max-width:260px !important;
  margin:0 !important;
  padding:10px 10px 10px 24px !important;
  text-align:left !important;
  line-height:1.58 !important;
  font-size:14.3px !important;
  color:rgba(226,226,226,.84) !important;
  hyphens:auto !important;
  overflow:visible !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  white-space:normal !important;
  border:1px solid rgba(255,255,255,.090) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018) 0%, rgba(255,255,255,.006) 100%),
    rgba(0,0,0,.76) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.016) inset,
    0 10px 24px rgba(0,0,0,.34) !important;
}

.homepage .ytd-full-kps li::before{
  content:"•" !important;
  position:absolute !important;
  left:10px !important;
  top:10px !important;
  font-size:13px !important;
  line-height:1 !important;
  color:rgba(226,226,226,.84) !important;
}

/* keep full stance compact on homepage */
.homepage .ytd-full-stance-wrap{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
  overflow:visible !important;
  align-items:start !important;
  align-content:start !important;
  justify-content:start !important;
}

.homepage .ytd-full-stance-wrap > .ytd-full-stance-card{
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
  align-self:start !important;
  padding:10px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.010) 0%, rgba(255,255,255,.003) 100%),
    rgba(0,0,0,.78) !important;
  border:1px solid rgba(255,255,255,.045) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.016) inset,
    0 10px 24px rgba(0,0,0,.34) !important;
}

.homepage .ytd-full-stance-title{
  font-weight:400 !important;
  font-size:16px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(234,234,234,.86) !important;
  margin:0 0 10px 0 !important;
  line-height:1.25 !important;
}

.homepage .ytd-full-stance-ul{
  margin:0 !important;
  padding-left:18px !important;
  display:grid !important;
  gap:8px !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.86) !important;
}

.homepage .ytd-full-stance-wrap > .ytd-full-stance-card:nth-child(3){
  display:none !important;
}

.homepage .ytd-paper-headline{
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  color:rgba(234,234,234,.86) !important;
}

.homepage .ytd-paper-lead{
  font-size:14.5px !important;
  line-height:1.70 !important;
}

.homepage .ytd-panel--sources .ytd-panel-body{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-gutter:stable both-edges !important;
}

.homepage .ytd-src-cols{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:6px !important;
  touch-action:pan-x pan-y !important;
}

.homepage .ytd-src-col{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  flex:0 0 auto !important;
  min-width:320px !important;
  max-width:360px !important;
}

.homepage .ytd-src-row{
  display:grid !important;
  grid-template-columns:18px 1fr !important;
  gap:10px !important;
  align-items:start !important;
  padding:8px 10px !important;
  text-decoration:none !important;
  color:inherit !important;
}

.homepage .ytd-src-row:hover{
  background:
    linear-gradient(180deg, rgba(255,255,255,.014) 0%, rgba(255,255,255,.004) 100%),
    rgba(0,0,0,.84) !important;
}

.homepage .ytd-src-ico,
.homepage .ytd-src-ico--empty{
  width:18px !important;
  height:18px !important;
  object-fit:contain !important;
  border:0 !important;
  background:rgba(255,255,255,.02) !important;
}

.homepage .ytd-src-text{
  min-width:0 !important;
}

.homepage .ytd-src-title,
.homepage .ytd-src-meta{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.homepage .ytd-src-title{
  margin-bottom:3px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:rgba(234,234,234,.86) !important;
}

.homepage .ytd-src-meta{
  font-size:11px !important;
  color:rgba(188,188,188,.56) !important;
}

/* =============================================================================
11) HOMEPAGE META BAR
============================================================================= */
.homepage .hpyt-feed-item{
  display:grid !important;
  gap:10px !important;
  min-width:0 !important;
}

.homepage .hpyt-meta-row,
.homepage .hpyt-meta-row--link{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:stretch !important;
  min-width:0 !important;
}

.homepage .hpyt-meta-row--link{
  cursor:pointer !important;
}

.homepage .hpyt-meta-row--link:hover{
  filter:brightness(1.03) !important;
}

.homepage .hpyt-meta-row--link:focus,
.homepage .hpyt-meta-row--link:focus-visible{
  outline:none !important;
}

.homepage .hpyt-meta-box{
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  min-width:0 !important;
  padding:8px 10px !important;
}

.homepage .hpyt-meta-box--topic{
  flex:1 1 420px !important;
}

.homepage .hpyt-meta-k{
  flex:0 0 auto !important;
  font-size:10px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:rgba(188,188,188,.56) !important;
  white-space:nowrap !important;
}

.homepage .hpyt-meta-v{
  min-width:0 !important;
  font-size:11px !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  color:rgba(234,234,234,.86) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* =============================================================================
12) RIGHT WIDGET6 RAIL — DISABLED
============================================================================= */
.homepage .hpw6v-panel,
.homepage .hpw6v-header,
.homepage .hpw6v-scroll,
.homepage .hpw6v-card{
  display:none !important;
}

/* =============================================================================
13) FORCE HIDE RIGHT SLUG RAIL ON HOMEPAGE
============================================================================= */
body.hp-hide-slugrail .slug-shell.subsidebar,
body.hp-hide-slugrail #slug-panel,
body.hp-hide-slugrail #slug-search{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* =============================================================================
14) FIXED RIGHT GLASS RAIL — DESKTOP
============================================================================= */
.homepage::after{
  content:"" !important;
  position:fixed !important;
  top:var(--top-safe-h, 150px) !important;
  right:0 !important;
  z-index:1600 !important;
  width:var(--hp-rail-w) !important;
  height:calc(100vh - var(--top-safe-h, 150px)) !important;
  pointer-events:none !important;
  border:0 !important;
  outline:0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.05) 12%,
      rgba(0,0,0,.12) 24%,
      rgba(0,0,0,.24) 42%,
      rgba(0,0,0,.52) 70%,
      rgba(0,0,0,.90) 100%
    ) !important;
  backdrop-filter:blur(20px) saturate(.85) !important;
  -webkit-backdrop-filter:blur(20px) saturate(.85) !important;
  box-shadow:
    inset 1px 0 0 rgba(255,255,255,.05),
    inset 24px 0 34px rgba(255,255,255,.012) !important;
}

.homepage .hp-glassrail{
  position:fixed !important;
  top:var(--top-safe-h, 150px) !important;
  right:0 !important;
  z-index:1700 !important;
  width:var(--hp-rail-w) !important;
  height:calc(100vh - var(--top-safe-h, 150px)) !important;
  margin:0 !important;
  padding-top:var(--hp-rail-top-pad) !important;
  padding-bottom:18px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  pointer-events:none !important;
  scrollbar-gutter:stable !important;
}

.homepage .hp-glassrail::-webkit-scrollbar{
  width:8px !important;
}

.homepage .hp-glassrail::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.06) !important;
}

.homepage .hp-glassrail::-webkit-scrollbar-track{
  background:transparent !important;
}

.homepage .hp-glassrail-head{
  pointer-events:none !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:var(--hp-rail-box-w) !important;
  min-width:var(--hp-rail-box-w) !important;
  max-width:var(--hp-rail-box-w) !important;
  margin:0 0 14px !important;
  padding:0 0 8px 0 !important;
  text-align:left !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  text-shadow:0 2px 10px rgba(0,0,0,.78) !important;
  opacity:.88 !important;
}

.homepage .hp-glassrail-head::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:1px !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.18) 18%,
    rgba(255,255,255,0.30) 50%,
    rgba(255,255,255,0.18) 82%,
    rgba(255,255,255,0.00) 100%
  ) !important;
  pointer-events:none !important;
}

.homepage .hp-glassrail-head--secondary{
  margin-top:52px !important;
}

.homepage .hp-glassrail-list{
  pointer-events:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage .hp-glassrail-btn{
  pointer-events:auto !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:var(--hp-rail-box-w) !important;
  min-width:var(--hp-rail-box-w) !important;
  max-width:var(--hp-rail-box-w) !important;
  min-height:24px !important;
  margin:0 !important;
  padding:4px 0 !important;
  font-family:var(--hp-ui) !important;
  font-size:12.4px !important;
  font-weight:400 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  line-height:1.06 !important;
  text-align:center !important;
  color:rgba(245,245,245,.96) !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  transform:scale(1) !important;
  transform-origin:center center !important;
  transition:
    transform .11s ease,
    opacity .12s ease,
    color .12s ease,
    text-shadow .12s ease !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  hyphens:none !important;
  text-overflow:clip !important;
  overflow:visible !important;
  user-select:none !important;
  isolation:isolate !important;
  text-shadow:
    0 0 10px rgba(255,255,255,.10),
    0 2px 10px rgba(0,0,0,.82) !important;
  opacity:.90 !important;
}

.homepage .hp-glassrail-btn + .hp-glassrail-btn::before{
  content:"" !important;
  position:absolute !important;
  top:-5px !important;
  left:16% !important;
  right:16% !important;
  height:1px !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 50%,
    rgba(255,255,255,0) 100%
  ) !important;
}

@media (hover:hover){
  .homepage .hp-glassrail-btn:hover,
  .homepage .hp-glassrail-btn:focus-visible{
    transform:scale(1.10) !important;
    opacity:1 !important;
    color:rgba(255,255,255,.96) !important;
    background:transparent !important;
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    text-shadow:
      0 0 10px rgba(255,255,255,.16),
      0 2px 10px rgba(0,0,0,.78) !important;
  }
}

.homepage .hp-glassrail-btn.is-active,
.homepage .hp-glassrail-btn[aria-current="page"]{
  transform:scale(1.18) !important;
  opacity:1 !important;
  color:rgba(255,255,255,.98) !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  text-shadow:
    0 0 10px rgba(255,255,255,.16),
    0 2px 10px rgba(0,0,0,.78) !important;
}

.homepage .hp-glassrail-btn:focus,
.homepage .hp-glassrail-btn:focus-visible{
  outline:none !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* =============================================================================
15) TOP POLITICS
============================================================================= */
.homepage .hp-politics-list{
  pointer-events:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 0 20px !important;
}

.homepage .hp-politics-card{
  pointer-events:auto !important;
  position:relative !important;
  display:block !important;
  width:var(--hp-rail-box-w) !important;
  min-width:var(--hp-rail-box-w) !important;
  max-width:var(--hp-rail-box-w) !important;
  min-height:86px !important;
  padding:10px 12px !important;
  color:rgba(255,255,255,.80) !important;
  text-decoration:none !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  transition:
    transform .11s ease,
    opacity .12s ease,
    color .12s ease,
    text-shadow .12s ease !important;
  user-select:none !important;
  isolation:isolate !important;
  opacity:.84 !important;
}

.homepage .hp-politics-card::before{
  content:"" !important;
  position:absolute !important;
  top:-5px !important;
  left:16% !important;
  right:16% !important;
  height:1px !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 50%,
    rgba(255,255,255,0) 100%
  ) !important;
}

.homepage .hp-politics-card:hover{
  transform:scale(1.06) !important;
  opacity:1 !important;
  color:rgba(255,255,255,.96) !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  text-shadow:
    0 0 10px rgba(255,255,255,.16),
    0 2px 10px rgba(0,0,0,.78) !important;
}

.homepage .hp-politics-country{
  position:absolute !important;
  top:8px !important;
  right:10px !important;
  max-width:58% !important;
  font-family:var(--hp-ui) !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  text-align:right !important;
  color:rgba(255,255,255,.78) !important;
  text-shadow:0 2px 10px rgba(0,0,0,.72) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

.homepage .hp-politics-topic{
  position:absolute !important;
  inset:50% 10px auto !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-family:var(--hp-ui) !important;
  font-size:12.4px !important;
  font-weight:400 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  line-height:1.10 !important;
  color:rgba(255,255,255,.90) !important;
  text-shadow:
    0 0 8px rgba(255,255,255,.08),
    0 2px 10px rgba(0,0,0,.78) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  hyphens:none !important;
}

.homepage .hp-politics-channel{
  position:absolute !important;
  left:10px !important;
  bottom:8px !important;
  max-width:56% !important;
  font-family:var(--hp-ui) !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  text-align:left !important;
  color:rgba(255,255,255,.58) !important;
  text-shadow:0 2px 10px rgba(0,0,0,.72) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

.homepage .hp-politics-date{
  position:absolute !important;
  right:10px !important;
  bottom:8px !important;
  max-width:38% !important;
  font-family:var(--hp-ui) !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  text-align:right !important;
  color:rgba(255,255,255,.58) !important;
  text-shadow:0 2px 10px rgba(0,0,0,.72) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.homepage .hp-politics-body,
.homepage .hp-politics-line,
.homepage .hp-politics-k,
.homepage .hp-politics-v{
  display:none !important;
}

.homepage .hp-politics-empty{
  width:var(--hp-rail-box-w) !important;
  padding:8px 0 !important;
  text-align:center !important;
  font-size:11px !important;
  line-height:1.35 !important;
  color:rgba(188,188,188,.56) !important;
}

/* =============================================================================
16) RESPONSIVE
============================================================================= */
@media (max-width:1200px){
  .homepage{
    --hp-rail-w:228px;
    --hp-rail-box-w:172px;
    --hp-rail-safe-gap:18px;
    --hp-rail-top-pad:24px;
  }

  .homepage .hp-canvas{
    padding-right:calc(var(--hp-rail-w) + var(--hp-rail-safe-gap)) !important;
  }

  .homepage .hp-left{
    max-width:calc(100vw - var(--hp-rail-w) - var(--hp-rail-safe-gap)) !important;
  }

  .homepage .hpyt-wrap{
    padding-left:32px !important;
    padding-right:0 !important;
  }

  .homepage .hp-glassrail-btn{
    font-size:11px !important;
    letter-spacing:.05em !important;
    line-height:1.04 !important;
  }

  .homepage .hp-politics-country{
    font-size:11px !important;
  }
}

@media (max-width:980px){
  .homepage .hp-canvas{
    padding-right:0 !important;
  }

  .homepage .hp-left{
    max-width:100% !important;
  }

  .homepage .hpyt-wrap{
    padding-left:16px !important;
    padding-right:0 !important;
  }

  .homepage .hpyt-meta-row,
  .homepage .hpyt-meta-row--link{
    flex-direction:column !important;
  }

  .homepage .hpyt-meta-box,
  .homepage .hpyt-meta-box--topic{
    flex:none !important;
  }

  .homepage .ytd-tab-body,
  .homepage .ytd-panel-body{
    padding:12px !important;
  }

  .homepage .ytd-panel{
    width:min(86vw, 520px) !important;
    min-width:min(86vw, 520px) !important;
    max-width:92vw !important;
  }

  .homepage .ytd-panel--full{
    width:min(86vw, 520px) !important;
    min-width:min(86vw, 520px) !important;
    max-width:92vw !important;
  }

  .homepage .ytd-mini-thumblink,
  .homepage .ytmm-row-thumbwrap{
    width:100% !important;
    margin:0 !important;
  }

  .homepage .ytd-panel--stancewrap{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .homepage .ytd-panel--stancewrap .ytd-mini-stance-wrap{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .homepage .ytd-panel--stancewrap .ytd-mini-stance-card{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
  }

  .homepage .ytd-full-kps{
    width:auto !important;
    min-width:0 !important;
    grid-auto-columns:200px !important;
  }

  .homepage .ytd-full-kps li{
    width:200px !important;
    min-width:200px !important;
    max-width:200px !important;
  }

  .homepage .ytd-full-stance-wrap{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    grid-template-columns:1fr 1fr !important;
    grid-auto-columns:auto !important;
    gap:8px !important;
  }

  .homepage .ytd-full-stance-wrap > .ytd-full-stance-card{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
  }

  .homepage::after{
    display:none !important;
    content:none !important;
  }

  .homepage .hp-glassrail,
  .homepage .hp-glassrail-head,
  .homepage .hp-glassrail-list,
  .homepage .hp-glassrail-btn,
  .homepage .hp-politics-list,
  .homepage .hp-politics-card,
  .homepage .hp-politics-empty{
    display:none !important;
  }
}

@media (hover:none) and (pointer:coarse){
  .homepage .ytd-xstrip{
    overflow-x:scroll !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
  }
}