/* =============================================================================
   static/dash/prediction.css
   Prediction Markets public renderer — CLEAN VERSION

   Rules:
   - black / glass / hard edges
   - no rounded corners
   - lightweight typography, no bold font weights
   - smaller headers
   - centered headings / titles
   - Analytical snapshot as 2x2 large boxes
   - Art Argentum scoring as fixed-width boxes
   - Arguments by answer removed from renderer/CSS
   - isolated pred-market-* rail system
============================================================================= */


/* =============================================================================
   1) TOKENS
============================================================================= */

:root{
  --pred-text:rgba(226,226,226,.78);
  --pred-text-strong:rgba(244,244,244,.90);
  --pred-muted:rgba(188,188,188,.56);

  --pred-line-soft:rgba(255,255,255,.035);

  --pred-glass-32:rgba(255,255,255,.032);
  --pred-glass-52:rgba(0,0,0,.52);
  --pred-glass-64:rgba(0,0,0,.64);
  --pred-glass-82:rgba(0,0,0,.82);

  --pred-ui:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --pred-pad-md:14px;
  --pred-pad-lg:18px;
  --pred-pad-xl:24px;

  --pred-gap-lg:18px;

  --pred-h1:clamp(26px, 2.8vw, 42px);
  --pred-h2:clamp(18px, 1.55vw, 26px);
  --pred-body:13px;
  --pred-meta:10px;

  --pred-panel-min:300px;
  --pred-panel-max:520px;
  --pred-intro-w:clamp(320px, 30vw, 500px);

  --pred-summary-w:420px;
  --pred-summary-min-h:190px;

  --pred-score-w:220px;

  --pred-market-rail-width:236px;
  --pred-market-expanded-left:148px;
  --pred-market-expanded-right:280px;
  --pred-market-expanded-top:86px;
  --pred-market-expanded-bottom:28px;
}


/* =============================================================================
   2) BASE / RESET
============================================================================= */

.prediction-page,
.prediction-page *,
.prediction-ytd-root,
.prediction-ytd-root *,
.pred-market-rail-host,
.pred-market-rail-host *,
.pred-market-slug-root,
.pred-market-slug-root *{
  box-sizing:border-box;
  border-radius:0 !important;
  font-family:var(--pred-ui) !important;
  font-weight:400 !important;
}

.prediction-page{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  overflow:visible;
  color:var(--pred-text) !important;
  background:transparent !important;
}

.prediction-page a{
  color:inherit;
}

.prediction-page *:focus,
.pred-market-rail-host *:focus{
  outline:none !important;
}

.prediction-page .ytb-box,
.prediction-page .aa-fallback-card,
.prediction-page .ytd-panel,
.prediction-page .ytd-container{
  border:0 !important;
  box-shadow:none !important;
  background:var(--pred-glass-64) !important;
}

.prediction-muted,
.prediction-empty{
  color:var(--pred-muted) !important;
  font-size:var(--pred-body);
  line-height:1.5;
}

.prediction-empty{
  padding:var(--pred-pad-md);
  background:var(--pred-glass-32);
}


/* =============================================================================
   3) SHARED TYPOGRAPHY / BUTTONS / CHIPS
============================================================================= */

.prediction-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:28px !important;
  padding:0 10px !important;

  border:0 !important;
  background:rgba(255,255,255,.07) !important;
  color:rgba(235,235,235,.84) !important;

  text-decoration:none !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;

  box-shadow:none !important;
}

.prediction-btn:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

.prediction-chip-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  min-width:0;
}

.prediction-small-chip,
.prediction-hero-chip,
.prediction-poly-meta-chip,
.prediction-market-meta-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:0;
  padding:4px 8px;

  background:rgba(255,255,255,.055);
  color:rgba(215,215,215,.70);

  font-size:10px;
  line-height:1.1;
  letter-spacing:.10em;
  text-transform:uppercase;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.prediction-rect-box{
  border:0 !important;
  background:rgba(0,0,0,.62) !important;
  box-shadow:none !important;
}

.prediction-section-title,
.prediction-panel-title,
.prediction-summary-card-title,
.prediction-mini-title,
.prediction-market-kicker{
  width:100%;
  text-align:center !important;
  color:rgba(210,210,210,.62);
  font-size:var(--pred-meta);
  line-height:1.15;
  letter-spacing:.16em;
  text-transform:uppercase;
}


/* =============================================================================
   4) CATEGORY PAGE / ALL TIMELINE
============================================================================= */

.prediction-category-page{
  padding-top:var(--pred-pad-md);
  padding-bottom:var(--pred-pad-md);
  padding-left:clamp(28px, 4vw, 64px) !important;
  padding-right:clamp(28px, 4vw, 64px) !important;
}

.prediction-category-page--timeline{
  padding-right:155px !important;
}

.prediction-category-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;

  padding-top:clamp(22px, 3vw, 42px) !important;
  padding-bottom:clamp(16px, 2vw, 28px) !important;
  padding-left:clamp(22px, 3vw, 48px) !important;
  padding-right:clamp(22px, 3vw, 48px) !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.prediction-category-title{
  width:100% !important;
  max-width:980px !important;
  margin:0 auto !important;

  text-align:center !important;
  color:var(--pred-text-strong) !important;

  font-size:var(--pred-h1) !important;
  line-height:1.08 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;

  overflow-wrap:anywhere;
}

.prediction-category-intro{
  width:100% !important;
  max-width:760px !important;
  margin:12px auto 0 auto !important;

  text-align:center !important;
  color:rgba(218,218,218,.62) !important;

  font-size:13px !important;
  line-height:1.55 !important;
}

.prediction-updates-root{
  padding-top:var(--pred-pad-md);
  padding-bottom:var(--pred-pad-xl);
  padding-left:clamp(22px, 3vw, 48px) !important;
  padding-right:clamp(22px, 3vw, 48px) !important;
}

.prediction-category-page--timeline .prediction-updates-root{
  padding-right:24px !important;
}

.prediction-updates-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;

  margin:0 0 18px 0;
  padding:0 0 10px 0;

  border-bottom:1px solid var(--pred-line-soft);
}

.prediction-category-page--timeline .prediction-updates-head{
  margin-bottom:34px !important;
  padding-bottom:14px !important;
}

.prediction-updates-title{
  color:rgba(235,235,235,.78);
  font-size:12px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-align:left;
}

.prediction-updates-subtitle{
  max-width:680px;
  color:var(--pred-muted);
  font-size:12px;
  line-height:1.45;
  text-align:right;
}

.prediction-update-timeline{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:56px !important;
  padding-left:0;
}

.prediction-update-timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:96px !important;

  width:3px;
  opacity:1 !important;

  background:linear-gradient(
    180deg,
    transparent 0%,
    rgba(255,255,255,.30) 7%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.28) 93%,
    transparent 100%
  ) !important;

  box-shadow:
    0 0 18px rgba(255,255,255,.075),
    0 0 4px rgba(255,255,255,.16) !important;

  pointer-events:none;
}

.prediction-update-card{
  position:relative;

  display:grid !important;
  grid-template-columns:
    132px
    minmax(230px, .88fr)
    minmax(360px, 1.34fr)
    minmax(180px, 240px) !important;
  grid-template-areas:
    "time titles description picture"
    "time actions actions picture" !important;

  column-gap:24px !important;
  row-gap:18px !important;
  align-items:stretch !important;

  min-width:0;
  min-height:174px !important;

  padding:24px 24px 26px 0 !important;

  background:rgba(0,0,0,.54) !important;
  border:0 !important;
  box-shadow:none !important;

  overflow:hidden !important;
  isolation:isolate !important;

  transition:background .14s ease;
}

.prediction-update-card:hover{
  background:rgba(255,255,255,.045) !important;
}


/* 1) Date + timeline graphics */

.prediction-update-timecell{
  grid-area:time !important;
  position:relative;

  display:flex;
  align-items:flex-start !important;
  justify-content:flex-end;
  gap:8px;

  min-width:0;

  padding-top:2px !important;
  padding-right:13px !important;
}

.prediction-update-date{
  transform:translateX(-38px) !important;

  color:rgba(245,245,245,.82) !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase;
  white-space:nowrap;
}

.prediction-update-dot{
  position:absolute;
  right:25px !important;
  top:14px !important;

  width:22px !important;
  height:22px !important;

  transform:none !important;

  background:#030303 !important;
  border:1px solid rgba(255,255,255,.44) !important;
  box-shadow:
    0 0 0 5px rgba(255,255,255,.050),
    0 0 22px rgba(255,255,255,.14),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;

  z-index:2;
}

.prediction-update-dot::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;

  width:7px;
  height:7px;

  transform:translate(-50%, -50%);

  background:rgba(245,245,245,.72);
  box-shadow:0 0 10px rgba(255,255,255,.20);
}


/* 2) Titles box */

.prediction-update-main,
.prediction-update-titles{
  grid-area:titles !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
  gap:16px !important;

  min-width:0;
  min-height:0 !important;
}

.prediction-update-question{
  display:block;

  padding-top:2px !important;

  color:rgba(248,248,248,.90) !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  letter-spacing:.02em;
  text-decoration:none !important;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.prediction-update-question:hover{
  color:#fff !important;
}

.prediction-update-filmrow{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  min-width:0 !important;
  padding-top:8px !important;
}

.prediction-update-film{
  flex:1 1 auto !important;
  display:block;
  min-width:0 !important;

  color:rgba(214,214,214,.60);
  font-size:12px !important;
  line-height:1.35 !important;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.prediction-update-channel{
  flex:0 0 auto !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:22px !important;
  max-width:170px !important;
  padding:0 9px !important;

  background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.38),
    0 0 16px rgba(255,255,255,.025) !important;

  color:rgba(225,225,225,.68) !important;

  font-size:8.5px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.prediction-update-card:hover .prediction-update-channel{
  background:rgba(255,255,255,.095) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:rgba(245,245,245,.82) !important;
}


/* 3) Description box */

.prediction-update-description,
.prediction-update-argument{
  grid-area:description !important;

  display:block;
  min-width:0;

  padding-left:4px !important;
  padding-right:10px !important;

  color:rgba(226,226,226,.72) !important;
  font-size:13px !important;
  line-height:1.62 !important;

  max-height:6.55em !important;
  overflow:hidden;
}

.prediction-update-description--empty{
  min-height:1px;
}


/* 4) Image box */

.prediction-update-picturebox{
  grid-area:picture !important;

  position:relative;
  min-width:0;
  min-height:0;

  overflow:hidden !important;
  background:transparent !important;
}

.prediction-update-picture{
  position:absolute;
  inset:0;

  background-image:var(--prediction-update-image);
  background-size:auto 100%;
  background-position:right center;
  background-repeat:no-repeat;

  opacity:.88;
  filter:brightness(1.42) contrast(1.10) saturate(.98);

  pointer-events:none;
}

.prediction-update-picture::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.82) 15%,
      rgba(0,0,0,.34) 34%,
      rgba(0,0,0,.05) 62%,
      rgba(0,0,0,.22) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.18) 18%,
      rgba(0,0,0,.08) 50%,
      rgba(0,0,0,.18) 82%,
      rgba(0,0,0,1) 100%
    );
}

.prediction-update-picture--empty{
  opacity:.20;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.035),
      rgba(0,0,0,.92)
    );
}

.prediction-update-card:hover .prediction-update-picture{
  opacity:.98;
  filter:brightness(1.58) contrast(1.12) saturate(1.04);
}


/* Actions row */

.prediction-update-actions{
  grid-area:actions !important;

  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;

  width:100% !important;
  min-width:0 !important;

  align-self:end !important;
  justify-content:stretch !important;

  padding-top:28px !important;
}

.prediction-update-actions .prediction-btn,
.prediction-update-btn{
  width:100% !important;
  min-width:0 !important;
  justify-content:center !important;

  min-height:36px !important;
  padding:0 10px !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;

  background:rgba(255,255,255,.060) !important;
  color:rgba(240,240,240,.82) !important;

  font-size:9.5px !important;
  letter-spacing:.14em !important;
}

.prediction-update-btn:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

.prediction-updates-empty{
  padding:var(--pred-pad-lg);
  color:var(--pred-muted);
  background:var(--pred-glass-52);
  font-size:13px;
}


/* =============================================================================
   5) QUESTION PAGE / TOP MARKET QUESTION
============================================================================= */

.prediction-question-page{
  padding-top:var(--pred-pad-md);
  padding-bottom:var(--pred-pad-md);
  padding-left:clamp(28px, 4vw, 64px) !important;
  padding-right:clamp(28px, 4vw, 64px) !important;
}

.prediction-question-card-shell{
  display:flex;
  flex-direction:column;
  gap:var(--pred-gap-lg);

  width:100%;
  min-width:0;

  padding-top:var(--pred-pad-lg);
  padding-bottom:var(--pred-pad-lg);
  padding-left:clamp(22px, 3vw, 48px) !important;
  padding-right:clamp(22px, 3vw, 48px) !important;

  background:var(--pred-glass-52);
  border:0 !important;
  box-shadow:none !important;
}

.prediction-question-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-width:0;
  text-align:center;
}

.prediction-market-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;

  width:100%;
  padding:12px;
  background:rgba(0,0,0,.62);
}

.prediction-market-meta-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}

.prediction-market-question-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  width:100%;
}

.prediction-market-question-top{
  max-width:860px;
  margin:0 auto;

  color:rgba(245,245,245,.90);
  font-size:var(--pred-h2);
  line-height:1.24;
  letter-spacing:.015em;
  text-align:center;

  overflow-wrap:anywhere;
}

.prediction-market-answer-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
}

.prediction-market-answer-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  min-height:26px;
  padding:0 10px;

  background:rgba(255,255,255,.060);
  color:rgba(235,235,235,.82);

  font-size:10px;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;

  white-space:normal;
  overflow-wrap:anywhere;
}

.prediction-market-answer-prob{
  color:rgba(188,188,188,.60);
}

.prediction-title{
  margin:0 auto;
  max-width:980px;

  color:var(--pred-text-strong) !important;
  text-align:center !important;

  font-size:var(--pred-h1) !important;
  line-height:1.12 !important;
  letter-spacing:.035em;
  text-transform:none;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.prediction-description{
  max-width:860px;
  margin:0 auto;

  color:rgba(218,218,218,.68) !important;
  text-align:center !important;

  font-size:14px;
  line-height:1.58;
}

.prediction-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}


/* =============================================================================
   6) HORIZONTAL PANELS / BODY PANELS
============================================================================= */

.prediction-xstrip{
  position:relative !important;
  isolation:isolate !important;

  display:flex !important;
  align-items:stretch !important;
  gap:0 !important;

  min-width:0 !important;

  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:0 !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;
}

.prediction-panel{
  flex:0 0 auto !important;

  width:clamp(var(--pred-panel-min), 38vw, var(--pred-panel-max)) !important;
  min-width:var(--pred-panel-min) !important;
  max-width:var(--pred-panel-max) !important;

  position:relative !important;
  overflow:hidden !important;
  margin:0 !important;

  border:0 !important;
  box-shadow:none !important;

  background:var(--pred-glass-64) !important;

  -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
  backdrop-filter:blur(10px) saturate(108%) !important;
}

.prediction-panel--wide{
  width:clamp(400px, 50vw, 680px) !important;
  max-width:680px !important;
}

.prediction-panel-title{
  padding:10px 12px 0;
}

.prediction-panel-body{
  padding:12px !important;
  min-height:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

.prediction-longtext,
.prediction-card-text{
  color:rgba(226,226,226,.72) !important;
  font-size:13px;
  line-height:1.62;
  text-align:left;
  hyphens:auto;
  overflow-wrap:anywhere;
}

.prediction-card-block{
  min-width:0;
  padding:10px;
  background:rgba(0,0,0,.36);
}

.prediction-card-block--mechanism{
  background:rgba(255,255,255,.035);
}

.prediction-mini-title{
  margin-bottom:7px;
}

.prediction-watchlist,
.prediction-analysis-list{
  margin:0;
  padding:8px 8px 8px 24px;

  display:grid;
  gap:8px;

  color:rgba(226,226,226,.72);
  font-size:13px;
  line-height:1.55;
}


/* =============================================================================
   7) ANALYTICAL SNAPSHOT / SCORING
============================================================================= */

.prediction-summary-panels,
.prediction-scoring-section{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
}

.prediction-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(360px, var(--pred-summary-w))) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:14px !important;

  width:100% !important;
  max-width:calc((var(--pred-summary-w) * 2) + 14px) !important;
  margin:0 auto !important;
}

.prediction-summary-card{
  width:100% !important;
  max-width:var(--pred-summary-w) !important;
  min-width:0 !important;
  min-height:var(--pred-summary-min-h) !important;

  display:flex;
  flex-direction:column;
  gap:12px !important;

  padding:16px !important;

  background:rgba(0,0,0,.62) !important;
}

.prediction-summary-card-title{
  font-size:11px !important;
  line-height:1.15 !important;
  letter-spacing:.18em !important;
  text-align:center !important;
}

.prediction-summary-card-body,
.prediction-summary-card-body .prediction-longtext,
.prediction-summary-card-body .prediction-watchlist{
  min-width:0;
  color:rgba(226,226,226,.72);
  font-size:13.5px !important;
  line-height:1.62 !important;
  text-align:left;
}

.prediction-summary-card-body .prediction-watchlist{
  padding-top:8px !important;
  padding-bottom:8px !important;
}

.prediction-scoring-section--compact{
  gap:8px;
}

.prediction-score-grid,
.prediction-score-grid--compact{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:10px !important;
  width:100%;
}

.prediction-score-card,
.prediction-score-card--compact{
  flex:0 0 var(--pred-score-w) !important;
  width:var(--pred-score-w) !important;
  min-width:var(--pred-score-w) !important;
  max-width:var(--pred-score-w) !important;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;

  min-height:126px;
  padding:10px;

  background:rgba(0,0,0,.62);
}

.prediction-score-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  min-width:0;
  width:100%;
  text-align:center;
}

.prediction-score-rank{
  color:rgba(188,188,188,.50);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.prediction-score-label{
  width:100%;
  color:rgba(244,244,244,.84);
  font-size:12px;
  line-height:1.22;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center;
  overflow-wrap:anywhere;
}

.prediction-score-metrics{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  width:100%;
}

.prediction-score-probability,
.prediction-score-support{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:3px 6px;

  background:rgba(255,255,255,.055);
  color:rgba(222,222,222,.72);

  font-size:9px;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.prediction-score-probability{
  color:rgba(245,245,245,.84);
  background:rgba(255,255,255,.075);
}

.prediction-prob-bar{
  position:relative;
  width:100%;
  height:5px;
  overflow:hidden;
  background:rgba(255,255,255,.055);
}

.prediction-prob-fill{
  height:100%;
  background:rgba(235,235,235,.72);
}


/* =============================================================================
   8) #POLY BODY / SOURCE LIST
============================================================================= */

.prediction-card-body{
  display:flex;
  flex-direction:column;
  gap:10px;

  min-width:0;
  padding-top:4px;
}

.prediction-source-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;

  padding-top:10px;

  border-top:1px solid var(--pred-line-soft);
}

.prediction-source-count{
  color:var(--pred-muted);
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

.prediction-ytd-root{
  width:100%;
  min-height:0;

  overflow-y:visible;
  overflow-x:hidden;

  background:transparent !important;
  overscroll-behavior:contain;
}

.prediction-source-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.prediction-poly-item{
  width:100%;
  min-width:0;
  background:#000 !important;
  overflow:hidden !important;
}


/* =============================================================================
   9) #POLY INTRO / THUMBNAIL
============================================================================= */

.prediction-panel--poly-intro{
  width:var(--pred-intro-w) !important;
  min-width:320px !important;
  max-width:500px !important;

  position:sticky !important;
  left:0 !important;
  z-index:5 !important;

  overflow:hidden !important;
  background:var(--pred-glass-64) !important;

  -webkit-backdrop-filter:blur(6px) saturate(105%) !important;
  backdrop-filter:blur(6px) saturate(105%) !important;
}

.prediction-poly-intro{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}

.prediction-poly-intro--thumb-only{
  gap:9px;
}

.prediction-poly-thumb-link{
  display:block;
  width:100%;
  text-decoration:none !important;
}

.prediction-poly-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;

  background:#000;
  overflow:hidden;
  isolation:isolate;
}

.prediction-poly-thumb-img,
.prediction-poly-thumb-empty{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.prediction-poly-thumb-img{
  object-fit:cover;
  opacity:.70;
  filter:saturate(.88) brightness(.82) contrast(1.02);
}

.prediction-poly-thumb-empty{
  background:linear-gradient(135deg, rgba(255,255,255,.035), rgba(0,0,0,.92));
}

.prediction-poly-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  opacity:.18;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.10) 0 1px, transparent 1px 16px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 1px, transparent 1px 16px);
}

.prediction-poly-thumb-title{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  z-index:5;

  width:min(94%, 620px);
  max-width:calc(100% - 16px);
  padding:11px 13px;

  background:var(--pred-glass-82);
  color:rgba(238,238,238,.88);

  font-size:clamp(10px, .8vw + 8px, 14px);
  line-height:1.16;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-align:center;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.prediction-poly-meta-row,
.prediction-poly-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}


/* =============================================================================
   10) #POLY MATERIAL SUMMARY / ANALYSIS PANELS
============================================================================= */

.prediction-panel--rail-overlap{
  z-index:20 !important;
  overflow:visible !important;
}

.prediction-panel--material-summary,
.prediction-panel--rail-overlap{
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.10) 0%,
      rgba(0,0,0,.22) 18%,
      rgba(0,0,0,.44) 46%,
      rgba(0,0,0,.70) 100%
    ) !important;

  -webkit-backdrop-filter:blur(16px) saturate(110%) !important;
  backdrop-filter:blur(16px) saturate(110%) !important;
}

.prediction-material-summary-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.prediction-material-summary-item{
  padding:10px;

  background:rgba(0,0,0,.36);
  color:rgba(226,226,226,.72);

  font-size:13px;
  line-height:1.55;
  text-align:left;
  hyphens:auto;
}

.prediction-panel--general-analysis,
.prediction-panel--video-insights,
.prediction-panel--answer-analysis{
  z-index:20 !important;
  background:var(--pred-glass-64) !important;

  -webkit-backdrop-filter:blur(14px) saturate(108%) !important;
  backdrop-filter:blur(14px) saturate(108%) !important;
}

.prediction-panel--rail-overlap:hover,
.prediction-panel--general-analysis:hover,
.prediction-panel--video-insights:hover,
.prediction-panel--answer-analysis:hover{
  z-index:30 !important;
}

.prediction-panel--poly-intro > .prediction-panel-body{
  overflow:hidden !important;
}

.prediction-panel--rail-overlap > .prediction-panel-body,
.prediction-panel--general-analysis > .prediction-panel-body,
.prediction-panel--video-insights > .prediction-panel-body,
.prediction-panel--answer-analysis > .prediction-panel-body{
  overflow:visible !important;
}

.prediction-panel--general-argument,
.prediction-panel--general-mechanism{
  width:clamp(300px, 30vw, 460px) !important;
  min-width:300px !important;
  max-width:460px !important;
}

.prediction-panel--general-mechanism{
  background:rgba(0,0,0,.66) !important;
}

.prediction-general-analysis,
.prediction-answer-analysis-body,
.prediction-nested-analysis{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}


/* Quotes */

.prediction-quote-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.prediction-quote{
  background:rgba(0,0,0,.42);
  overflow:hidden;
}

.prediction-quote-summary{
  cursor:pointer;
  list-style:none;

  padding:9px 10px;

  background:rgba(255,255,255,.045);
  color:rgba(218,218,218,.70);

  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
}

.prediction-quote-summary::-webkit-details-marker{
  display:none;
}

.prediction-quote-summary::after{
  content:"▾";
  margin-left:8px;
  opacity:.58;
}

.prediction-quote[open] .prediction-quote-summary::after{
  content:"▴";
}

.prediction-quote-text{
  padding:10px;

  color:rgba(218,218,218,.70);

  font-size:12px;
  line-height:1.62;
  text-align:left;
  hyphens:auto;
}


/* Insights */

.prediction-panel--insight-pair{
  width:clamp(320px, 32vw, 480px) !important;
  min-width:320px !important;
  max-width:480px !important;
}

.prediction-insight-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.prediction-insight-list--pair{
  display:grid;
  grid-template-rows:auto auto;
  gap:9px;
}

.prediction-insight-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;

  min-width:0;
  min-height:0;
  padding:10px;

  background:rgba(0,0,0,.38);
}

.prediction-insight-head{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  min-width:0;
  text-align:center;
}

.prediction-insight-time{
  flex:0 0 auto;

  color:rgba(188,188,188,.54);
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.prediction-insight-topic{
  min-width:0;

  color:rgba(240,240,240,.82);
  font-size:13px;
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:center;

  overflow-wrap:anywhere;
}

.prediction-answer-analysis-label{
  color:rgba(244,244,244,.86);
  font-size:15px;
  line-height:1.25;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-align:center;
}


/* =============================================================================
   11) OLDER ITEMS / INFINITE FOOTER / FOOTER
============================================================================= */

.prediction-older-separator{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  margin:2px 0 0;
  padding:11px 12px;

  background:rgba(255,255,255,.04);
  border-top:1px solid rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.045);
}

.prediction-older-title{
  color:rgba(245,245,245,.84);
  font-size:10px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.prediction-older-subtitle{
  color:var(--pred-muted);
  font-size:12px;
  line-height:1.35;
  text-align:right;
}

.prediction-page .ytd-infinite-foot{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;

  padding:14px 0 20px;
}

.prediction-page .ytd-infinite-more{
  display:none !important;
}

.prediction-page .ytd-infinite-sentinel{
  height:48px;
}

.prediction-page .ytd-infinite-loader{
  display:flex;
  align-items:center;
  gap:10px;

  opacity:0;
  transform:translateY(2px);
  transition:opacity .18s ease, transform .18s ease;

  pointer-events:none;
}

.prediction-page .ytd-infinite-foot.is-loading .ytd-infinite-loader{
  opacity:.9;
  transform:translateY(0);
}

.prediction-page .ytd-infinite-spinner{
  width:16px;
  height:16px;

  border:2px solid rgba(255,255,255,.18);
  border-top-color:rgba(255,255,255,.85);
  border-radius:50% !important;

  animation:predictionSpin .85s linear infinite;
}

.prediction-page .ytd-infinite-label{
  color:rgba(218,218,218,.68);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@keyframes predictionSpin{
  to{ transform:rotate(360deg); }
}

.prediction-footer{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:14px;
  align-items:start;

  margin-top:6px;
  padding:14px 12px;

  background:rgba(0,0,0,.62);
  border-top:1px solid rgba(255,255,255,.045);
}

.prediction-footer-brand{
  color:rgba(245,245,245,.82);
  font-size:10px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}

.prediction-footer-text{
  color:rgba(188,188,188,.56);
  font-size:11px;
  line-height:1.55;
  overflow-wrap:anywhere;
}


/* =============================================================================
   12) PREDICTION MARKET SLUG RAIL — FIXED / ISOLATED
============================================================================= */

.pred-market-rail-host,
.pred-market-slug-root{
  position:fixed !important;

  top:136px !important;
  right:18px !important;
  bottom:26px !important;

  width:var(--pred-market-rail-width) !important;
  min-width:var(--pred-market-rail-width) !important;
  max-width:var(--pred-market-rail-width) !important;

  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;

  padding:0 !important;
  margin:0 !important;

  overflow-y:auto !important;
  overflow-x:visible !important;

  z-index:99920 !important;

  background:transparent !important;
  pointer-events:auto !important;
}

.right-slug-rail:has(.pred-market-rail-host),
.finance-slug-host:has(.pred-market-rail-host),
.finance-slug-root:has(.pred-market-rail-host),
.slug-rail:has(.pred-market-rail-host),
.fslug-root:has(.pred-market-rail-host),
.tree:has(.pred-market-rail-host){
  overflow:visible !important;
}


/* Compact cards */

.pred-market-slug-card{
  position:relative !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:8px !important;

  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:132px !important;

  padding:10px !important;

  border:0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.070) 0%,
      rgba(255,255,255,.040) 100%
    ) !important;

  color:rgba(235,235,235,.82) !important;
  text-decoration:none !important;
  box-shadow:none !important;
  overflow:hidden !important;

  -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
  backdrop-filter:blur(10px) saturate(108%) !important;
}

.pred-market-slug-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.10;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.18) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 1px, transparent 1px 14px);
}

.pred-market-slug-card:hover{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.12) 0%,
      rgba(255,255,255,.065) 100%
    ) !important;
  color:#fff !important;
  transform:none !important;
}

.pred-market-slug-card--active,
.pred-market-slug-card[aria-selected="true"]{
  background:
    linear-gradient(
      180deg,
      rgba(235,235,235,.88) 0%,
      rgba(170,176,184,.78) 100%
    ) !important;
  color:#050505 !important;
}


/* New */

.pred-market-slug-card--new{
  min-height:38px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 10px !important;
  background:rgba(255,255,255,.095) !important;
}

.pred-market-new-label{
  position:relative;
  z-index:2;

  display:block;
  width:100%;

  color:inherit;
  font-size:10px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
}

.pred-market-new-label::before{
  content:"●";
  display:inline-block;
  margin-right:7px;
  font-size:8px;
  transform:translateY(-1px);
  opacity:.82;
}


/* Market card content */

.pred-market-head,
.pred-market-stats,
.pred-market-answers,
.pred-market-end{
  position:relative;
  z-index:2;
}

.pred-market-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:0;
  text-align:center;
}

.pred-market-kicker{
  color:rgba(188,188,188,.56);
  font-size:8px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-align:center;
}

.pred-market-title{
  color:inherit;
  font-size:11px !important;
  line-height:1.18 !important;
  letter-spacing:.065em !important;
  text-transform:uppercase;
  text-align:center;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.pred-market-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:5px;
}

.pred-market-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;

  min-width:0;
  padding:5px;

  background:rgba(0,0,0,.30);
}

.pred-market-stat-k{
  color:rgba(188,188,188,.48);
  font-size:7px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pred-market-stat-v{
  color:rgba(235,235,235,.78);
  font-size:10px !important;
  line-height:1;
  letter-spacing:.04em;

  overflow:hidden;
  text-overflow:ellipsis;
}

.pred-market-answers{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.pred-market-answer{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:6px;
  align-items:center;

  min-width:0;
  min-height:24px;
  padding:5px;

  background:rgba(255,255,255,.045);
  color:inherit !important;
  text-decoration:none !important;
}

.pred-market-answer-label{
  min-width:0;

  color:rgba(240,240,240,.82);
  font-size:9px !important;
  line-height:1.08;
  letter-spacing:.05em;
  text-transform:uppercase;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pred-market-answer-prices{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

.pred-market-answer-yes,
.pred-market-answer-no{
  font-size:8px !important;
  line-height:1;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.pred-market-answer-yes{
  color:rgba(235,235,235,.78);
}

.pred-market-answer-no{
  color:rgba(180,180,180,.56);
}

.pred-market-end{
  color:rgba(188,188,188,.46);
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}


/* Active nested */

.pred-market-slug-card--active .pred-market-kicker,
.pred-market-slug-card--active .pred-market-stat-k,
.pred-market-slug-card--active .pred-market-end,
.pred-market-slug-card--active .pred-market-answer-no,
.pred-market-slug-card[aria-selected="true"] .pred-market-kicker,
.pred-market-slug-card[aria-selected="true"] .pred-market-stat-k,
.pred-market-slug-card[aria-selected="true"] .pred-market-end,
.pred-market-slug-card[aria-selected="true"] .pred-market-answer-no{
  color:rgba(0,0,0,.55) !important;
}

.pred-market-slug-card--active .pred-market-stat-v,
.pred-market-slug-card--active .pred-market-answer-label,
.pred-market-slug-card--active .pred-market-answer-yes,
.pred-market-slug-card[aria-selected="true"] .pred-market-stat-v,
.pred-market-slug-card[aria-selected="true"] .pred-market-answer-label,
.pred-market-slug-card[aria-selected="true"] .pred-market-answer-yes{
  color:rgba(0,0,0,.86) !important;
}

.pred-market-slug-card--active .pred-market-stat,
.pred-market-slug-card--active .pred-market-answer,
.pred-market-slug-card[aria-selected="true"] .pred-market-stat,
.pred-market-slug-card[aria-selected="true"] .pred-market-answer{
  background:rgba(0,0,0,.10) !important;
}


/* Expand control */

.pred-market-expand{
  position:relative;
  z-index:100;
  width:100% !important;
}

.pred-market-expand-summary{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  min-height:36px !important;
  padding:0 8px !important;

  cursor:pointer !important;
  list-style:none !important;
  user-select:none !important;

  background:rgba(255,255,255,.075) !important;
  color:rgba(235,235,235,.82) !important;

  -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
  backdrop-filter:blur(10px) saturate(108%) !important;
}

.pred-market-expand-summary:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

.pred-market-expand-summary::-webkit-details-marker{
  display:none;
}

.pred-market-expand-label{
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.pred-market-expand-label::before{
  content:"▦";
  display:inline-block;
  margin-right:7px;
  opacity:.8;
}

.pred-market-expand[open] .pred-market-expand-label::before{
  content:"×";
}


/* Expanded workspace */

.pred-market-expanded-grid{
  position:fixed !important;
  z-index:99980 !important;

  top:var(--pred-market-expanded-top) !important;
  left:var(--pred-market-expanded-left) !important;
  right:var(--pred-market-expanded-right) !important;
  bottom:var(--pred-market-expanded-bottom) !important;

  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(310px, 1fr)) !important;
  grid-auto-flow:row !important;
  align-content:start !important;
  align-items:stretch !important;
  gap:14px !important;

  width:auto !important;
  min-width:0 !important;
  max-width:none !important;

  padding:18px !important;
  overflow:auto !important;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.86) 100%
    ) !important;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.065),
    0 18px 70px rgba(0,0,0,.60) !important;

  -webkit-backdrop-filter:blur(20px) saturate(112%) !important;
  backdrop-filter:blur(20px) saturate(112%) !important;
}

.pred-market-expanded-grid::before{
  content:"Prediction market slugs";
  grid-column:1 / -1;
  display:block;

  padding:0 0 12px 0;

  color:rgba(235,235,235,.78);
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;

  border-bottom:1px solid rgba(255,255,255,.055);
}

.pred-market-expanded-grid .pred-market-slug-card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;

  min-height:240px !important;
  height:auto !important;

  margin:0 !important;
  padding:13px !important;
  gap:10px !important;
}

.pred-market-expanded-grid .pred-market-title{
  font-size:13px !important;
  line-height:1.18 !important;
  letter-spacing:.07em !important;
}

.pred-market-expanded-grid .pred-market-stat{
  padding:7px !important;
}

.pred-market-expanded-grid .pred-market-stat-v{
  font-size:11px !important;
}

.pred-market-expanded-grid .pred-market-answer{
  min-height:31px !important;
  padding:7px !important;
}

.pred-market-expanded-grid .pred-market-answer-label{
  font-size:10px !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.pred-market-expanded-grid .pred-market-answer-yes,
.pred-market-expanded-grid .pred-market-answer-no{
  font-size:8.5px !important;
}

.pred-market-expanded-grid .pred-market-end{
  margin-top:auto !important;
  font-size:8px !important;
}

.pred-market-empty{
  padding:10px !important;

  background:rgba(0,0,0,.42) !important;
  color:rgba(188,188,188,.56) !important;

  font-size:11px !important;
  line-height:1.4 !important;
  text-align:center !important;
}


/* =============================================================================
   13) SCROLLBARS
============================================================================= */

.prediction-page ::-webkit-scrollbar,
.prediction-ytd-root::-webkit-scrollbar,
.prediction-page .prediction-xstrip::-webkit-scrollbar,
.pred-market-expanded-grid::-webkit-scrollbar,
.pred-market-slug-root::-webkit-scrollbar{
  width:8px;
  height:8px;
}

.prediction-page ::-webkit-scrollbar-thumb,
.prediction-ytd-root::-webkit-scrollbar-thumb,
.prediction-page .prediction-xstrip::-webkit-scrollbar-thumb,
.pred-market-expanded-grid::-webkit-scrollbar-thumb,
.pred-market-slug-root::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.05) !important;
  border:0 !important;
}

.prediction-page ::-webkit-scrollbar-track,
.prediction-ytd-root::-webkit-scrollbar-track,
.prediction-page .prediction-xstrip::-webkit-scrollbar-track,
.pred-market-expanded-grid::-webkit-scrollbar-track,
.pred-market-slug-root::-webkit-scrollbar-track{
  background:rgba(0,0,0,.92) !important;
}


/* =============================================================================
   14) PUBLIC SHELL SAFETY
============================================================================= */

.aa-static-public-shell[data-landing="prediction"] .shell-main{
  overflow-x:hidden !important;
}

.aa-static-public-shell[data-landing="prediction"] #content-inner,
.aa-static-public-shell[data-landing="prediction"] .content-inner{
  min-width:0 !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-page{
  min-width:0 !important;
  max-width:100% !important;
}


/* =============================================================================
   15) QUESTION BACKGROUND PICTURE
   question_picture.json -> --prediction-question-bg-image
============================================================================= */

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture{
  --prediction-question-bg-opacity:1;
  --prediction-question-bg-size:min(64vw, 920px) auto;
  --prediction-question-bg-position:right top;
  --prediction-question-bg-repeat:no-repeat;

  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
  background:transparent !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture::before{
  content:"" !important;
  position:fixed !important;

  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;

  z-index:0 !important;
  pointer-events:none !important;

  background-image:var(--prediction-question-bg-image) !important;
  background-size:var(--prediction-question-bg-size) !important;
  background-position:var(--prediction-question-bg-position) !important;
  background-repeat:var(--prediction-question-bg-repeat) !important;

  opacity:var(--prediction-question-bg-opacity) !important;
  filter:brightness(1.2) !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture::after{
  content:"" !important;
  position:fixed !important;

  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;

  z-index:1 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.74) 42%,
      rgba(0,0,0,.10) 100%
    ) !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture > *{
  position:relative !important;
  z-index:2 !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture .prediction-question-card-shell{
  background:rgba(0,0,0,.34) !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture .prediction-market-top{
  background:rgba(0,0,0,.48) !important;
}

.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture .prediction-summary-card,
.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture .prediction-score-card,
.aa-static-public-shell[data-landing="prediction"] .prediction-question-page--with-picture .prediction-footer{
  background:rgba(0,0,0,.54) !important;
}


/* =============================================================================
   16) MOBILE
============================================================================= */

@media (max-width:980px){

  :root{
    --pred-score-w:100%;
    --pred-summary-w:100%;

    --pred-market-rail-width:170px;
    --pred-market-expanded-left:12px;
    --pred-market-expanded-right:190px;
    --pred-market-expanded-top:72px;
    --pred-market-expanded-bottom:18px;
  }

  .prediction-category-page,
  .prediction-question-page{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .prediction-category-page--timeline{
    padding-right:14px !important;
  }

  .prediction-category-head,
  .prediction-updates-root,
  .prediction-question-card-shell{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .prediction-category-page--timeline .prediction-updates-root{
    padding-right:12px !important;
  }

  .prediction-category-title,
  .prediction-title{
    font-size:clamp(24px, 7vw, 36px) !important;
    line-height:1.10;
  }

  .prediction-market-question-top{
    font-size:clamp(16px, 4.5vw, 24px);
  }

  .prediction-category-intro,
  .prediction-description{
    font-size:13px !important;
    line-height:1.55;
  }

  .prediction-updates-head{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:8px;
  }

  .prediction-category-page--timeline .prediction-updates-head{
    margin-bottom:24px !important;
  }

  .prediction-updates-subtitle{
    text-align:center;
  }

  .prediction-update-timeline{
    gap:34px !important;
  }

  .prediction-update-timeline::before{
    left:64px !important;
    width:2px !important;
  }

  .prediction-update-card{
    grid-template-columns:86px minmax(0, 1fr) !important;
    grid-template-areas:
      "time titles"
      "time description"
      "time picture"
      "time actions" !important;

    min-height:0 !important;
    gap:14px !important;

    padding-top:18px !important;
    padding-right:0 !important;
    padding-bottom:20px !important;
  }

  .prediction-update-timecell{
    grid-area:time;
    padding-right:12px !important;
  }

  .prediction-update-date{
    transform:translateX(-20px) !important;
    font-size:10px !important;
    letter-spacing:.10em !important;
  }

  .prediction-update-dot{
    right:13px !important;
    top:2px !important;

    width:18px !important;
    height:18px !important;
  }

  .prediction-update-dot::after{
    width:6px;
    height:6px;
  }

  .prediction-update-main{
    gap:13px !important;
  }

  .prediction-update-question,
  .prediction-update-film{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }

  .prediction-update-filmrow{
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:8px !important;
  }

  .prediction-update-channel{
    max-width:100% !important;
    min-height:21px !important;
    font-size:8px !important;
  }

  .prediction-update-description,
  .prediction-update-argument{
    max-height:none !important;
    font-size:12px !important;
  }

  .prediction-update-picturebox{
    min-height:128px;
  }

  .prediction-update-picture{
    background-size:auto 100%;
  }

  .prediction-update-actions{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding-top:18px !important;
  }

  .prediction-update-actions .prediction-btn,
  .prediction-update-btn{
    min-height:34px !important;
  }

  .prediction-source-head{
    flex-direction:column;
    align-items:center;
    gap:6px;
    text-align:center;
  }

  .prediction-summary-grid{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }

  .prediction-summary-card{
    max-width:100% !important;
    min-height:150px !important;
  }

  .prediction-xstrip{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
  }

  .prediction-panel,
  .prediction-panel--wide,
  .prediction-panel--poly-intro,
  .prediction-panel--insight-pair,
  .prediction-panel--rail-overlap,
  .prediction-panel--general-argument,
  .prediction-panel--general-mechanism{
    width:85vw !important;
    min-width:85vw !important;
    max-width:85vw !important;
    position:relative !important;
    left:auto !important;
    z-index:auto !important;
  }

  .prediction-longtext,
  .prediction-card-text,
  .prediction-material-summary-item,
  .prediction-quote-text{
    text-align:left;
  }

  .prediction-hero-actions{
    width:100%;
  }

  .prediction-hero-actions > *{
    flex:1 1 auto;
  }

  .prediction-older-separator{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .prediction-older-subtitle{
    text-align:center;
  }

  .prediction-footer{
    grid-template-columns:1fr;
    gap:8px;
    text-align:center;
  }

  .pred-market-rail-host,
  .pred-market-slug-root{
    top:72px !important;
    right:10px !important;
    bottom:16px !important;

    width:var(--pred-market-rail-width) !important;
    min-width:var(--pred-market-rail-width) !important;
    max-width:var(--pred-market-rail-width) !important;
  }

  .pred-market-slug-card{
    min-height:96px !important;
    padding:8px !important;
  }

  .pred-market-title{
    font-size:9px !important;
    letter-spacing:.06em !important;
  }

  .pred-market-expanded-grid{
    grid-template-columns:1fr !important;
    padding:12px !important;
  }

  .pred-market-expanded-grid .pred-market-slug-card{
    min-height:180px !important;
  }
}


/* =============================================================================
   17) VERY SMALL MOBILE
============================================================================= */

@media (max-width:520px){

  .prediction-update-timeline::before{
    left:54px !important;
  }

  .prediction-update-card{
    grid-template-columns:70px minmax(0, 1fr) !important;
  }

  .prediction-update-date{
    transform:translateX(-14px) !important;
    font-size:9px !important;
    letter-spacing:.08em;
  }

  .prediction-update-dot{
    right:8px !important;
    width:17px !important;
    height:17px !important;
  }

  .prediction-update-picturebox{
    min-height:112px;
  }

  .prediction-panel,
  .prediction-panel--wide,
  .prediction-panel--poly-intro,
  .prediction-panel--insight-pair,
  .prediction-panel--rail-overlap,
  .prediction-panel--general-argument,
  .prediction-panel--general-mechanism{
    width:88vw !important;
    min-width:88vw !important;
    max-width:88vw !important;
  }

  .prediction-poly-thumb-title{
    padding:10px 12px;
    font-size:11px;
    letter-spacing:.13em;
  }

  .prediction-score-metrics{
    flex-direction:column;
    align-items:center;
  }
}




.prediction-update-picture{
  position:absolute;
  inset:0;

  background-image:var(--prediction-update-image);
  background-size:auto 100%;
  background-position:right center;
  background-repeat:no-repeat;

  opacity:1;
  filter:brightness(2.05) contrast(1.08) saturate(1.08);

  pointer-events:none;
}

.prediction-update-card:hover .prediction-update-picture{
  opacity:1;
  filter:brightness(2.25) contrast(1.10) saturate(1.12);
}



/* =============================================================================
   PATCH — TIMELINE UPDATE IMAGE BOX
   - obraz startuje od lewej krawędzi boxa
   - brak maskowania od lewej
   - obraz dochodzi do górnej i dolnej krawędzi całego paska update
============================================================================= */

.prediction-update-picturebox{
  grid-area:picture !important;

  position:relative !important;
  align-self:stretch !important;

  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;

  /*
    Wyciągamy obraz poza padding karty,
    żeby dotykał górnej, dolnej i prawej krawędzi paska update.
  */
  margin-top:-24px !important;
  margin-right:-24px !important;
  margin-bottom:-26px !important;

  overflow:hidden !important;
  background:transparent !important;
}

.prediction-update-picture{
  position:absolute !important;
  inset:0 !important;

  background-image:var(--prediction-update-image) !important;

  /*
    Obraz rysuje się od lewej strony własnego boxa.
    Nie jest już dostawiony / maskowany od prawej.
  */
  background-size:auto 100% !important;
  background-position:left center !important;
  background-repeat:no-repeat !important;

  opacity:1 !important;
  filter:brightness(2.05) contrast(1.08) saturate(1.08) !important;

  pointer-events:none !important;
}

/*
  Usuwamy poprzednie mocne maskowanie od lewej.
  Zostaje tylko bardzo delikatny cień po prawej,
  żeby grafika nie wyglądała jak brutalnie odcięta.
*/
.prediction-update-picture::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 52%,
      rgba(0,0,0,.08) 76%,
      rgba(0,0,0,.20) 100%
    ) !important;
}

.prediction-update-card:hover .prediction-update-picture{
  opacity:1 !important;
  filter:brightness(2.25) contrast(1.10) saturate(1.12) !important;
}


/* Mobile: obraz nie wychodzi poza kartę, bo layout jest pionowy */
@media (max-width:980px){
  .prediction-update-picturebox{
    min-height:128px !important;

    margin-top:0 !important;
    margin-right:0 !important;
    margin-bottom:0 !important;
  }

  .prediction-update-picture{
    background-size:auto 100% !important;
    background-position:left center !important;
  }
}

@media (max-width:520px){
  .prediction-update-picturebox{
    min-height:112px !important;
  }
}


/* =============================================================================
   PATCH — PREDICTION SLUG EXPAND / NO HARD CLIP
   - compact right rail zostaje zwarte
   - expanded market box dostaje własny scroll
   - expanded cards nie dziedziczą twardego obcinania z compact raila
============================================================================= */


/* Details musi być nad prawym railem, gdy jest otwarty */
.pred-market-expand[open]{
  z-index:99990 !important;
}


/* Główny rozwijany overlay — lokalny scroll w boxie */
.pred-market-expanded-grid{
  overflow-y:auto !important;
  overflow-x:hidden !important;

  max-height:calc(
    100vh
    - var(--pred-market-expanded-top)
    - var(--pred-market-expanded-bottom)
  ) !important;

  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
  -webkit-overflow-scrolling:touch !important;
}


/* Expanded cards: nie mogą dziedziczyć compactowego overflow:hidden */
.pred-market-expanded-grid .pred-market-slug-card,
.pred-market-expanded-grid .pred-market-slug-card--expanded{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;

  align-self:start !important;

  overflow:visible !important;
}


/* Treści wewnątrz expanded card mają się łamać, nie ucinać */
.pred-market-expanded-grid .pred-market-head,
.pred-market-expanded-grid .pred-market-stats,
.pred-market-expanded-grid .pred-market-answers,
.pred-market-expanded-grid .pred-market-end{
  min-width:0 !important;
  max-width:100% !important;
}


.pred-market-expanded-grid .pred-market-title{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;

  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}


/* Answer rows w expanded: tekst nie może być jedną uciętą linią */
.pred-market-expanded-grid .pred-market-answer{
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:start !important;
}


.pred-market-expanded-grid .pred-market-answer-label{
  display:block !important;

  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;

  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}


/* Jeśli odpowiedzi jest dużo — scroll tylko w sekcji answers, nie rozsadza całej karty */
.pred-market-expanded-grid .pred-market-answers{
  max-height:min(42vh, 360px) !important;

  overflow-y:auto !important;
  overflow-x:hidden !important;

  padding-right:4px !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}


/* Ceny zostają czytelne, ale mogą zejść niżej na wąskich kartach */
.pred-market-expanded-grid .pred-market-answer-prices{
  flex:0 0 auto !important;
  align-self:start !important;
  padding-top:1px !important;
}


/* Scrollbar dla listy answers w expanded card */
.pred-market-expanded-grid .pred-market-answers::-webkit-scrollbar{
  width:6px !important;
  height:6px !important;
}

.pred-market-expanded-grid .pred-market-answers::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.10) !important;
  border:0 !important;
}

.pred-market-expanded-grid .pred-market-answers::-webkit-scrollbar-track{
  background:rgba(0,0,0,.70) !important;
}


/* Mobile / narrow viewport safety */
@media (max-width:980px){
  .pred-market-expanded-grid{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    max-height:calc(
      100vh
      - var(--pred-market-expanded-top)
      - var(--pred-market-expanded-bottom)
    ) !important;
  }

  .pred-market-expanded-grid .pred-market-slug-card,
  .pred-market-expanded-grid .pred-market-slug-card--expanded{
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  .pred-market-expanded-grid .pred-market-answers{
    max-height:40vh !important;
  }
}




/* =============================================================================
   PATCH — RIGHT PREDICTION RAIL COMPACT CARDS
   - karty po prawej nie są już ściskane przez flex-column
   - wysokość nie jest twardo ucinana
   - rail scrolluje całą listę kart
   - answer labels dalej mogą być skrócone poziomo, ale karta nie ucina dołu
============================================================================= */


/* Sam rail ma scrollować listę, a nie zgniatać karty */
.pred-market-rail-host,
.pred-market-slug-root{
  overflow-y:auto !important;
  overflow-x:visible !important;
  align-items:stretch !important;
}


/* Compact cards w prawym railu: nie shrinkują się */
.pred-market-rail-host > .pred-market-slug-card,
.pred-market-slug-root > .pred-market-slug-card,
.pred-market-rail-host > .pred-market-expand,
.pred-market-slug-root > .pred-market-expand{
  flex:0 0 auto !important;
}


/* Zwykła karta pytania po prawej — auto-height zamiast realnego obcinania */
.pred-market-rail-host > .pred-market-slug-card--question,
.pred-market-slug-root > .pred-market-slug-card--question{
  height:auto !important;
  min-height:132px !important;
  max-height:none !important;

  overflow:visible !important;
}


/* NEW zostaje niski */
.pred-market-rail-host > .pred-market-slug-card--new,
.pred-market-slug-root > .pred-market-slug-card--new{
  flex:0 0 auto !important;

  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;

  overflow:hidden !important;
}


/* Compact title: może się łamać na kilka linii */
.pred-market-rail-host > .pred-market-slug-card--question .pred-market-title,
.pred-market-slug-root > .pred-market-slug-card--question .pred-market-title{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;

  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}


/* Compact answers: sekcja może rosnąć, nie ucinać końcówki karty */
.pred-market-rail-host > .pred-market-slug-card--question .pred-market-answers,
.pred-market-slug-root > .pred-market-slug-card--question .pred-market-answers{
  flex:0 0 auto !important;

  max-height:none !important;
  overflow:visible !important;
}


/* Same answer labels zostawiamy zwarte, bo prawy rail jest wąski */
.pred-market-rail-host > .pred-market-slug-card--question .pred-market-answer-label,
.pred-market-slug-root > .pred-market-slug-card--question .pred-market-answer-label{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}


/* End date nie może wypaść poza kartę */
.pred-market-rail-host > .pred-market-slug-card--question .pred-market-end,
.pred-market-slug-root > .pred-market-slug-card--question .pred-market-end{
  margin-top:auto !important;
  display:block !important;
}


/* Mobile: nie ścinamy do 96px, tylko pozwalamy kartom rosnąć */
@media (max-width:980px){
  .pred-market-rail-host > .pred-market-slug-card--question,
  .pred-market-slug-root > .pred-market-slug-card--question{
    min-height:112px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .pred-market-rail-host > .pred-market-slug-card--new,
  .pred-market-slug-root > .pred-market-slug-card--new{
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
  }
}