/* Tracker V3 - Crime Scene Aegis namespace
   Two scopes:
     .rtr-* - search ritual (octagonal medallion + WANTED poster)
     .rta-* - result aegis (3-col hero, verdict-block, score-dial, sections)
   Visual language is a careful clone of Smurf Detector's sm3r-/sm3-aegis,
   with the palette flipped from gold/wine to orange/ember to keep the
   tracker visually distinct. */

/* ============================================================ */
/* SEARCH RITUAL - .rtr-shell                                   */
/* ============================================================ */

.rtr-shell{
  --gold:#fb923c; --gold-d:#9a3412; --gold-l:#fed7aa;
  --aegis-bg:#0c0703; --aegis-bg2:#1a0d05;
  --parchment:#f3dfb6; --rust:#7c2d12;
  --t1:#f5e7c4; --t2:#a89b80; --t3:#5e5a4f;
  --crit:#dc2626; --warn:#f59e0b; --soft:#fed7aa;
  position:relative;
  font-family:"Inter",sans-serif;
  color:var(--t1);
  background:transparent;
  /* V3.4.9 — bottom padding tightened so the credit footer sits close
     to the global site footer instead of leaving 200px of empty void. */
  padding:2rem 0 1.2rem;
  margin:0 calc(50% - 50vw);
  min-width:100vw;
  overflow:hidden;
}
.rtr-shell::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  /* V3.4.9 — fade-band shrunk from 240px to 100px to match the new
     compact bottom padding. */
  height:100px; pointer-events:none; z-index:1;
  background: linear-gradient(180deg, transparent 0%, rgba(10,7,3,.85) 60%, #0a0a0f 100%);
}
.rtr-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(ellipse at 50% -20%,rgba(251,146,60,.18),transparent 60%),
    radial-gradient(ellipse at 50% 120%,rgba(124,45,18,.20),transparent 50%),
    linear-gradient(180deg,#0c0703 0%,#1a0d05 100%);
  background-attachment:fixed;
  background-size:cover;
}
.rtr-shell > *{position:relative;z-index:2}

/* Breadcrumbs */
.rtr-bc{
  max-width:1180px;
  margin:0 auto .6rem;
  padding:.4rem 2rem 0;
  font-size:.78rem;
  color:var(--t2);
  letter-spacing:.05em;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
}
.rtr-bc a{
  color:var(--gold-l);
  text-decoration:none;
  border-bottom:1px dotted rgba(251,146,60,.28);
}
.rtr-bc a:hover{ color:var(--gold); }
.rtr-bc .bc-sep{ margin:0 .3rem; color:var(--t3); }
.rtr-bc .bc-current{ color:var(--t1); font-weight:500; }

/* Hero stage */
.rtr-stage{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  padding:3rem 2rem 2rem;
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:3rem;
  align-items:center;
  overflow:visible;
}
.rtr-stage::before{
  content:"ТРЕКЕР";
  position:absolute;
  left:-3rem;
  top:-1rem;
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:clamp(9rem,18vw,16rem);
  color:transparent;
  -webkit-text-stroke:1px rgba(251,146,60,.15);
  letter-spacing:.02em;
  line-height:1;
  pointer-events:none;
  z-index:0;
  white-space:nowrap;
  user-select:none;
}

.rtr-hero-left{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.rtr-beta-badge{ display:inline-flex; gap:.35rem; margin-bottom:1.1rem; }
.rtr-beta-pill{
  font-family:"Cinzel",serif;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.72rem;
  padding:.35rem .8rem;
  border-radius:3px;
  border:1px solid rgba(251,146,60,.3);
  color:var(--gold-l);
  background:rgba(251,146,60,.05);
}
.rtr-beta-pill-accent{
  border-color:var(--gold);
  color:#fff7ed;
  background:rgba(251,146,60,.18);
  box-shadow:0 0 12px rgba(251,146,60,.3);
}
.rtr-title{
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:clamp(2rem,4.4vw,3.2rem);
  line-height:1.02;
  letter-spacing:-.01em;
  margin-bottom:.7rem;
  text-shadow:0 0 30px rgba(251,146,60,.28);
  color:var(--t1);
}
.rtr-subtitle{
  font-size:1rem;
  line-height:1.65;
  color:var(--t2);
  margin-bottom:1.5rem;
  max-width:560px;
}
.rtr-subtitle b{ color:var(--gold-l); font-weight:600; }

/* Octagonal medallion */
.rtr-med-wrap{
  position:relative;
  width:100%;
  max-width:560px;
  padding:2px;
}
.rtr-med-wrap::before{
  content:"";
  position:absolute;
  inset:-8px;
  background:linear-gradient(135deg,rgba(251,146,60,.5),rgba(251,146,60,.12) 40%,rgba(251,146,60,.5));
  clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%,15% 15%);
  filter:blur(3px);
  opacity:.55;
  z-index:0;
}

/* Static brand seal hovering above medallion */
.rtr-med-seal{
  position:absolute;
  top:-34px;
  left:50%;
  transform:translateX(-50%);
  width:58px;
  height:58px;
  z-index:10;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  filter:drop-shadow(0 0 10px rgba(251,146,60,.55)) drop-shadow(0 0 22px rgba(251,146,60,.25));
}
.rtr-med-seal svg{ width:100%; height:100%; }

.rtr-hero-left > .rtr-beta-badge,
.rtr-hero-left > .rtr-title,
.rtr-hero-left > .rtr-subtitle{
  position:relative;
  z-index:5;
}

/* Rotating Dota emblem behind medallion */
.rtr-med-compass{
  position:absolute;
  left:50%;
  top:50%;
  width:calc(100% + 120px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  z-index:-1;
  pointer-events:none;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))
         drop-shadow(0 0 22px rgba(251,146,60,.25))
         drop-shadow(0 0 48px rgba(124,45,18,.25));
  opacity:0;
  will-change:transform,opacity;
  animation:rtrCompassFadeIn 1.1s ease-out .15s both,
            rtrCompassSpin 22s linear .15s infinite;
}
.rtr-med-compass svg{ width:100%; height:100%; display:block; }
@keyframes rtrCompassSpin{
  from{transform:translate(-50%,-50%) rotate(0)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes rtrCompassFadeIn{ from{opacity:0} to{opacity:.32} }

/* The dark octagon card body */
.rtr-med{
  position:relative;
  z-index:2;
  padding:1.6rem 1.5rem;
  background:linear-gradient(180deg,rgba(28,15,7,.92),rgba(15,8,3,.96));
  clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%,15% 15%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}
.rtr-med-label{
  font-family:"Cinzel",serif;
  font-size:.72rem;
  letter-spacing:.3em;
  color:var(--gold-l);
  text-transform:uppercase;
  opacity:.85;
}
.rtr-search{
  display:flex;
  gap:.5rem;
  align-items:center;
  padding:.55rem .55rem .55rem 1rem;
  width:100%;
  max-width:430px;
  background:rgba(8,4,1,.7);
  border:1px solid rgba(251,146,60,.35);
  border-radius:6px;
  box-shadow:0 0 12px rgba(0,0,0,.5);
}
.rtr-search svg{
  width:18px;
  height:18px;
  color:var(--gold);
  opacity:.7;
  flex-shrink:0;
}
.rtr-input{
  flex:1;
  background:transparent;
  border:0;
  outline:none;
  color:var(--t1);
  font:.95rem "Inter",sans-serif;
  padding:.55rem 0;
}
.rtr-input::placeholder{ color:var(--t3); }
.rtr-search-btn{
  font-family:"Cinzel",serif;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.78rem;
  padding:.55rem 1.1rem;
  border-radius:5px;
  border:0;
  cursor:pointer;
  background:linear-gradient(135deg,#fb923c,#9a3412);
  color:#1c0703;
  box-shadow:0 6px 18px rgba(251,146,60,.4);
  transition:transform .15s,box-shadow .2s;
  white-space:nowrap;
}
.rtr-search-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(251,146,60,.55);
}
.rtr-search-btn:disabled{ opacity:.55; cursor:not-allowed; box-shadow:none; }
.rtr-med-hint{
  font-size:.7rem;
  color:var(--t3);
  letter-spacing:.08em;
  text-align:center;
  max-width:400px;
}

.rtr-error{
  position:relative;
  z-index:6;
  margin:.85rem 0 0;
  padding:.65rem 1rem;
  background:rgba(220,38,38,.1);
  border:1px solid rgba(220,38,38,.3);
  border-radius:6px;
  color:#fecaca;
  font-size:.85rem;
  display:none;
}
.rtr-error:empty{ margin:0; padding:0; background:none; border:none; min-height:0; }
.rtr-error.visible{ display:block; }

/* WANTED-style poster (right side of stage) */
.rtr-poster-wrap{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
}
.rtr-poster{
  position:relative;
  display:block;
  width:340px;
  max-width:100%;
  padding:2.2rem 1.8rem 1.6rem;
  background:linear-gradient(180deg,#1f120a 0%,#100804 100%);
  border:1px solid rgba(251,146,60,.35);
  border-radius:6px;
  text-decoration:none;
  color:var(--t1);
  transform:rotate(-2deg);
  transition:transform .25s ease;
  box-shadow:
    0 8px 28px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(251,146,60,.06);
  overflow:hidden;
}
.rtr-poster:hover{ transform:rotate(-1.2deg) translateY(-4px); }
.rtr-poster::before{
  content:"";
  position:absolute;
  inset:4px;
  border:1px dashed rgba(251,146,60,.25);
  border-radius:3px;
  pointer-events:none;
}
/* Single in-card stamp (replaces both .rtr-stamp and .rtr-poster::after).
   Sits within the card so it never gets clipped by overflow:hidden. */
.rtr-poster-stamp{
  display:inline-block;
  margin: -.4rem auto .9rem;
  padding: .3rem 1rem;
  transform: rotate(-1.5deg);
  font-family:"Cinzel",serif;
  font-weight:700;
  font-size:.7rem;
  letter-spacing:.32em;
  color: var(--gold-l);
  background: linear-gradient(135deg, rgba(220,38,38,.18), rgba(251,146,60,.12));
  border: 1px solid rgba(220,38,38,.45);
  border-radius: 3px;
  text-transform: uppercase;
  text-align:center;
  text-shadow: 0 0 12px rgba(220,38,38,.4);
}
.rtr-poster-stamp-wrap{ text-align:center; }
.rtr-p-head{
  text-align:center;
  font-family:"Cinzel",serif;
  font-size:.7rem;
  letter-spacing:.3em;
  color:var(--gold-l);
  text-transform:uppercase;
  margin-bottom:.8rem;
  opacity:.85;
}
.rtr-p-avatar{
  width:120px;
  height:120px;
  margin:0 auto 1rem;
  border:3px solid var(--gold);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 0 18px rgba(251,146,60,.3);
  background:#0c0703;
}
.rtr-p-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.rtr-p-name{
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:1.55rem;
  text-align:center;
  color:#fff7ed;
  line-height:1.1;
  margin-bottom:.3rem;
  text-shadow:0 0 20px rgba(251,146,60,.35);
}
.rtr-p-id{
  text-align:center;
  font-size:.7rem;
  letter-spacing:.2em;
  color:var(--t3);
  text-transform:uppercase;
  margin-bottom:1rem;
}
.rtr-p-score-row{
  display:flex;
  gap:.8rem;
  align-items:center;
  justify-content:center;
  padding:.8rem 0;
  margin-bottom:.8rem;
  border-top:1px dashed rgba(251,146,60,.2);
  border-bottom:1px dashed rgba(251,146,60,.2);
}
.rtr-p-score{
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:3rem;
  line-height:1;
  color:var(--gold-l);
  text-shadow:0 0 18px rgba(251,146,60,.4);
}
.rtr-p-score small{
  display:block;
  font-size:.65rem;
  color:var(--t3);
  letter-spacing:.24em;
  font-weight:500;
  margin-top:.2rem;
  text-transform:uppercase;
}
.rtr-p-meta{ text-align:left; }
.rtr-p-verdict{
  font-family:"Cinzel",serif;
  font-weight:700;
  font-size:.95rem;
  color:var(--gold-l);
  letter-spacing:.06em;
  margin-bottom:.15rem;
}
.rtr-p-sub{ font-size:.72rem; color:var(--t2); letter-spacing:.05em; }
.rtr-p-conf{
  display:inline-flex;
  gap:.3rem;
  align-items:center;
  margin-top:.3rem;
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--warn);
  font-weight:700;
}
.rtr-p-conf::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--warn);
  box-shadow:0 0 6px var(--warn);
}
.rtr-p-factors{ display:flex; flex-direction:column; gap:.5rem; }
.rtr-pf{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:.6rem;
  align-items:center;
  padding:.45rem .65rem;
  background:rgba(251,146,60,.04);
  border:1px solid rgba(251,146,60,.12);
  border-radius:4px;
  font-size:.78rem;
  color:var(--t2);
}
.rtr-pf .idx{
  font-family:"Cinzel",serif;
  font-weight:700;
  color:var(--gold-l);
  text-align:center;
}
.rtr-p-foot{
  margin-top:.9rem;
  padding-top:.7rem;
  border-top:1px dashed rgba(251,146,60,.2);
  font-size:.7rem;
  color:var(--t3);
  text-align:center;
  letter-spacing:.08em;
}

/* Notice cards */
.rtr-notice{
  max-width:1180px;
  margin:3rem auto 0;
  padding:0 2rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.rtr-note-card{
  padding:1.1rem 1.3rem;
  border:1px dashed rgba(251,146,60,.25);
  border-radius:10px;
  background:rgba(15,8,3,.5);
  color:var(--t2);
  font-size:.85rem;
  line-height:1.65;
}
.rtr-note-card strong{
  font-family:"Cinzel",serif;
  display:block;
  color:var(--gold-l);
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:.4rem;
}
.rtr-note-card a{
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px dotted rgba(251,146,60,.4);
}
.rtr-note-card a:hover{ color:var(--gold-l); }

/* Queue card on search page (during pending parse) */
.rtr-queue-card{
  max-width:560px;
  margin:2.5rem auto 1rem;
  padding:1.8rem 1.6rem;
  border:1px solid rgba(251,146,60,.25);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(20,11,5,.85),rgba(10,6,2,.92));
  text-align:center;
  display:none;
  position:relative;
}
.rtr-queue-card.visible{ display:block; }
.rtr-queue-spinner{
  width:48px;
  height:48px;
  margin:0 auto 1.2rem;
  border:3px solid rgba(251,146,60,.18);
  border-top:3px solid var(--gold);
  border-radius:50%;
  animation:rtrSpin 1s linear infinite;
}
@keyframes rtrSpin{ to{ transform:rotate(360deg) } }
.rtr-queue-title{
  font-family:"Cinzel",serif;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--gold-l);
  margin:0 0 .4rem;
  font-size:1.05rem;
}
.rtr-queue-step{ color:#c8b78a; font-size:.88rem; margin:0 0 1.4rem; }
.rtr-queue-position{
  display:none;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  flex-wrap:wrap;
  margin:0 auto 1.2rem;
  padding:.5rem 1rem;
  border-radius:999px;
  background:rgba(251,146,60,.08);
  border:1px solid rgba(251,146,60,.3);
  color:var(--t1);
  font-size:.88rem;
  max-width:max-content;
}
.rtr-queue-position.visible{ display:inline-flex; }
.rtr-queue-pos-label{
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#9c8b63;
}
.rtr-queue-pos-num{ font-weight:700; font-size:.95rem; }
.rtr-queue-pos-num strong{ font-size:1.1rem; color:var(--gold-l); }
.rtr-queue-pos-phase{
  font-size:.72rem;
  color:#a89472;
  border-left:1px solid rgba(251,146,60,.35);
  padding-left:.6rem;
}
.rtr-stages{
  display:flex;
  justify-content:space-around;
  gap:.5rem;
  flex-wrap:wrap;
  margin:0 auto 1rem;
}
.rtr-stage-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.4rem;
  min-width:60px;
}
.rtr-stage-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  background:rgba(251,146,60,.18);
  transition:background .3s,box-shadow .3s,transform .3s;
}
.rtr-stage-item.active .rtr-stage-dot{
  background:var(--gold);
  box-shadow:0 0 10px rgba(251,146,60,.6);
  transform:scale(1.18);
}
.rtr-stage-item.done .rtr-stage-dot{ background:#4ade80; }
.rtr-stage-label{
  font-size:.68rem;
  color:#9c8b63;
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
}
.rtr-stage-item.active .rtr-stage-label{ color:#f5e4c8; font-weight:700; }
.rtr-queue-hint{
  font-size:.76rem;
  color:#a89472;
  margin:1rem auto 0;
  max-width:46ch;
  line-height:1.5;
}

/* ──────────────────────────────────────────────────────────── */
/* V3.3 — live queue badge (search hero left column)            */
/* ──────────────────────────────────────────────────────────── */
.rtr-live-queue{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-top:1.1rem;
  padding:.55rem .85rem;
  background:rgba(251,146,60,.08);
  border:1px solid rgba(251,146,60,.22);
  border-radius:8px;
  max-width:max-content;
  font-size:.78rem;
  color:#c8b48a;
  letter-spacing:.02em;
}
.rtr-live-pulse{
  width:9px; height:9px;
  border-radius:50%;
  background:#fb923c;
  box-shadow:0 0 0 0 rgba(251,146,60,.7);
  animation:rtrLivePulse 2.4s ease-out infinite;
  flex-shrink:0;
}
@keyframes rtrLivePulse{
  0%   { box-shadow:0 0 0 0 rgba(251,146,60,.55); }
  70%  { box-shadow:0 0 0 9px rgba(251,146,60,0); }
  100% { box-shadow:0 0 0 0 rgba(251,146,60,0); }
}
.rtr-live-text{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
.rtr-live-label{
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.65rem;
  color:#9c8b63;
  margin-right:.3rem;
}
.rtr-live-stat strong{
  color:var(--gold-l);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  margin-right:.18rem;
}
.rtr-live-sep{ color:rgba(251,146,60,.4); }

/* ──────────────────────────────────────────────────────────── */
/* V3.3 — Manual replay upload (collapsible details)            */
/* ──────────────────────────────────────────────────────────── */
.rtr-upload{
  margin-top:1rem;
  background:linear-gradient(180deg, rgba(28,17,9,.65), rgba(20,11,5,.85));
  border:1px solid rgba(251,146,60,.22);
  border-radius:12px;
  overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
  max-width:560px;
}
.rtr-upload[open]{
  border-color:rgba(251,146,60,.5);
  box-shadow:0 0 0 1px rgba(251,146,60,.18), 0 8px 28px rgba(0,0,0,.35);
}
.rtr-upload-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.85rem 1.1rem;
  font-weight:600;
  color:#f5e4c8;
  font-size:.92rem;
  user-select:none;
}
.rtr-upload-summary::-webkit-details-marker{ display:none; }
.rtr-upload-summary svg{
  color:var(--gold);
  margin-right:.15rem;
  margin-top:.15rem;
  flex-shrink:0;
  vertical-align:middle;
}
.rtr-upload-summary small{
  font-weight:400;
  font-size:.74rem;
  color:#9c8b63;
  letter-spacing:.02em;
  margin-left:.25rem;
}
.rtr-upload[open] .rtr-upload-summary{
  border-bottom:1px solid rgba(251,146,60,.15);
}
.rtr-upload-body{
  padding:1rem 1.1rem 1.2rem;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.rtr-upload-info{
  margin:0;
  font-size:.82rem;
  line-height:1.55;
  color:#c8b48a;
}
.rtr-upload-info code{
  background:rgba(251,146,60,.1);
  border:1px solid rgba(251,146,60,.2);
  padding:1px 6px;
  border-radius:4px;
  font-size:.78rem;
  color:#fed7aa;
}
.rtr-upload-form{
  display:flex;
  flex-direction:column;
  gap:.7rem;
}
.rtr-upload-field{
  display:flex;
  flex-direction:column;
  gap:.3rem;
}
.rtr-upload-field > span{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#9c8b63;
  font-weight:600;
}
.rtr-upload-field input[type="text"]{
  background:rgba(15,10,6,.85);
  border:1px solid rgba(251,146,60,.25);
  color:#f5e4c8;
  font-size:.95rem;
  font-family:inherit;
  padding:.55rem .8rem;
  border-radius:8px;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.rtr-upload-field input[type="text"]:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(251,146,60,.15);
}
.rtr-upload-hint{
  font-size:.66rem;
  font-weight:500;
  color:#a89472;
  margin-left:.5rem;
  letter-spacing:.05em;
  text-transform:none;
}
/* V3.3.4 — file picker via <label for>, native input hidden but in flow.
   `display:none` would break <label> click-forwarding in older Safari,
   so use visually-hidden positioning instead.                      */
.rtr-upload-file-sr{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
/* V3.3.5 hitbox guard — the rotated `.rtr-poster` (transform: rotate)
   creates its own stacking context that on narrow desktop overlaps the
   left column. Forcing the whole upload-form above it via z-index:5 +
   isolation:isolate guarantees clicks land on the form, not on the
   poster anchor. */
.rtr-upload{
  position:relative;
  z-index:5;
  isolation:isolate;
}
.rtr-upload-pick,
.rtr-upload-actions,
.rtr-upload-clear,
.rtr-upload-pick-btn{
  position:relative;
  z-index:6;
}
.rtr-upload-pick{
  display:flex;
  align-items:center;
  gap:.7rem;
  background:rgba(15,10,6,.85);
  border:1px dashed rgba(251,146,60,.35);
  padding:.55rem .65rem;
  border-radius:8px;
  transition:border-color .2s, box-shadow .2s;
}
.rtr-upload-pick.is-ready{
  border-color:rgba(251,146,60,.6);
  background:rgba(251,146,60,.07);
}
/* Both <label> and <button> selectors so the rule beats any browser
   defaults (especially nasty <button> system look on iOS Safari). */
label.rtr-upload-pick-btn,
button.rtr-upload-pick-btn,
.rtr-upload-pick-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  background:linear-gradient(180deg, rgba(251,146,60,.28), rgba(154,52,18,.22)) !important;
  color:#fed7aa !important;
  border:1px solid rgba(251,146,60,.55) !important;
  border-radius:6px;
  padding:.5rem 1rem !important;
  font-size:.82rem;
  font-weight:600;
  font-family:inherit;
  cursor:pointer;
  letter-spacing:.02em;
  transition:background .15s, transform .12s, box-shadow .15s, border-color .15s;
  flex-shrink:0;
  user-select:none;
  -webkit-appearance:none !important;
  appearance:none !important;
  text-decoration:none;
  line-height:1.2;
  white-space:nowrap;
  min-height:34px;
}
label.rtr-upload-pick-btn:hover,
button.rtr-upload-pick-btn:hover,
.rtr-upload-pick-btn:hover{
  background:linear-gradient(180deg, rgba(251,146,60,.42), rgba(154,52,18,.32)) !important;
  border-color:rgba(251,146,60,.85) !important;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(251,146,60,.28);
}
label.rtr-upload-pick-btn:active,
button.rtr-upload-pick-btn:active,
.rtr-upload-pick-btn:active{ transform:translateY(0); }
label.rtr-upload-pick-btn:focus-visible,
button.rtr-upload-pick-btn:focus-visible{
  outline:2px solid #fb923c;
  outline-offset:2px;
}
.rtr-upload-pick-btn svg{ flex-shrink:0; color:#fed7aa; pointer-events:none; }
/* V3.3.5 — keep span fully clickable; <label for> already forwards to
   the file input natively, so no need to disable hits on the inner
   text element (was causing patchy hit-testing in Chrome+Safari). */
.rtr-upload-pick-btn span{ pointer-events:auto; }
.rtr-upload-summary svg{ pointer-events:none; }
.rtr-upload-clear{ /* svg-less but defensive: ensure no inner text node escapes hit-testing */ }
.rtr-upload-clear svg{ pointer-events:none; }
.rtr-upload-fname{
  flex:1;
  min-width:0;
  font-size:.82rem;
  color:#c8b48a;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rtr-upload-pick.is-ready .rtr-upload-fname{
  color:#fed7aa;
  font-weight:500;
}
.rtr-upload-clear{
  background:transparent;
  border:1px solid rgba(220,38,38,.4);
  color:#fca5a5;
  border-radius:50%;
  width:24px; height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
  transition:background .15s, border-color .15s, color .15s;
  flex-shrink:0;
  font-family:inherit;
  padding:0;
}
.rtr-upload-clear:hover{
  background:rgba(220,38,38,.18);
  border-color:rgba(220,38,38,.7);
  color:#fecaca;
}
.rtr-upload-actions{
  display:flex;
  align-items:center;
  gap:.85rem;
  flex-wrap:wrap;
  margin-top:.2rem;
}
.rtr-upload-btn{
  background:linear-gradient(180deg, #fb923c, #c2410c);
  border:1px solid rgba(251,146,60,.6);
  color:#1a0d05;
  font-weight:700;
  font-size:.86rem;
  padding:.6rem 1.2rem;
  border-radius:8px;
  cursor:pointer;
  font-family:inherit;
  letter-spacing:.02em;
  transition:transform .12s, box-shadow .15s, opacity .2s;
}
.rtr-upload-btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(251,146,60,.35);
}
.rtr-upload-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.rtr-upload-progress{
  font-size:.78rem;
  color:#fed7aa;
  font-variant-numeric:tabular-nums;
}
.rtr-upload-error{
  display:none;
  font-size:.82rem;
  color:#fca5a5;
  background:rgba(220,38,38,.12);
  border:1px solid rgba(220,38,38,.35);
  border-left:3px solid #dc2626;
  padding:.55rem .85rem;
  border-radius:6px;
  line-height:1.5;
}
.rtr-upload-error.visible{ display:block; }
.rtr-upload-rules{
  list-style:none;
  margin:.4rem 0 0;
  padding:.7rem 1rem;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(251,146,60,.12);
  border-radius:8px;
  font-size:.74rem;
  color:#9c8b63;
  line-height:1.6;
}
.rtr-upload-rules li{
  position:relative;
  padding-left:1rem;
  margin:.18rem 0;
}
.rtr-upload-rules li::before{
  content:"◆";
  position:absolute;
  left:0;
  color:rgba(251,146,60,.5);
  font-size:.7rem;
  top:.18rem;
}
.rtr-upload-rules code{
  background:rgba(251,146,60,.08);
  padding:0 4px;
  border-radius:3px;
  font-size:.72rem;
  color:#fed7aa;
}

/* ──────────────────────────────────────────────────────────── */
/* V3.3.5 — Steam Topup (cross-service single-source URL).
   Same Steam-blue palette as Smurf Detector's `.sm3-topup`, lives
   in BOTH the .rtr-shell (search) and .rta-aegis (result) scopes
   under the same class names so we have ONE stylesheet for the whole
   widget. */
.rtr-topup-section,
.rta-topup-section{
  position:relative;
  z-index:5;
  max-width:1180px;
  margin:2.4rem auto 0;
  padding:0 2rem;
  display:block;
}
.rtr-topup,
.rta-topup{
  position:relative;
  display:flex;
  align-items:center;
  gap:1.2rem;
  width:100%;
  padding:1.2rem 1.6rem;
  background:linear-gradient(135deg,#1b2838 0%,#0f1a26 100%);
  border:1px solid #2a475e;
  border-radius:14px;
  text-decoration:none;
  color:#c7d5e0;
  overflow:hidden;
  cursor:pointer;
  transition:transform .25s, box-shadow .25s;
}
.rtr-topup::before,
.rta-topup::before{
  content:"";
  position:absolute;
  top:-50%; left:-100%;
  width:60%; height:200%;
  background:linear-gradient(90deg, transparent, rgba(102,192,244,.25), transparent);
  transform:rotate(20deg);
  transition:left .9s ease;
  pointer-events:none;
}
.rtr-topup:hover,
.rta-topup:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(102,192,244,.25), 0 0 0 1px #66c0f4;
}
.rtr-topup:hover::before,
.rta-topup:hover::before{ left:120%; }
.rtr-topup-badge,
.rta-topup-badge{
  position:static;
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:linear-gradient(135deg, #22c55e, #15803d);
  color:#fff;
  padding:.35rem .65rem;
  border-radius:5px;
  box-shadow:0 4px 12px rgba(34,197,94,.35);
  animation:rtTopupPop 2.4s ease-in-out infinite;
  order:3;
}
@keyframes rtTopupPop{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }
.rtr-topup-icon,
.rta-topup-icon{
  width:50px; height:50px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(102,192,244,.15), rgba(102,192,244,.05));
  border:1px solid #66c0f4;
  border-radius:10px;
  color:#66c0f4;
  order:1;
}
.rtr-topup-icon svg,
.rta-topup-icon svg{ pointer-events:none; }
.rtr-topup-text,
.rta-topup-text{ flex:1 1 auto; min-width:0; order:2; }
.rtr-topup-title,
.rta-topup-title{
  font-family:"Cinzel",serif;
  font-size:1.1rem;
  font-weight:700;
  color:#fff;
  margin-bottom:.15rem;
}
.rtr-topup-sub,
.rta-topup-sub{
  font-size:.8rem;
  color:#8f98a0;
  line-height:1.45;
}
.rtr-topup-arrow,
.rta-topup-arrow{
  color:#66c0f4;
  font-size:1.3rem;
  transition:transform .25s;
  flex-shrink:0;
  order:4;
  margin-left:.4rem;
}
.rtr-topup:hover .rtr-topup-arrow,
.rta-topup:hover .rta-topup-arrow{ transform:translateX(4px); }
@media (max-width:840px){
  .rtr-topup-section,
  .rta-topup-section{ padding:0 1rem; }
  .rtr-topup,
  .rta-topup{ padding:.9rem 1rem; gap:.75rem; flex-wrap:wrap; row-gap:.45rem; }
  .rtr-topup-icon,
  .rta-topup-icon{ width:40px; height:40px; }
  .rtr-topup-icon svg,
  .rta-topup-icon svg{ width:22px; height:22px; }
  .rtr-topup-title,
  .rta-topup-title{ font-size:.98rem; letter-spacing:.01em; line-height:1.2; }
  .rtr-topup-sub,
  .rta-topup-sub{ font-size:.72rem; line-height:1.35; margin-top:.15rem; }
  .rtr-topup-badge,
  .rta-topup-badge{ font-size:.58rem; padding:.25rem .5rem; letter-spacing:.08em; order:4; margin-left:auto; flex-basis:auto; }
  .rtr-topup-arrow,
  .rta-topup-arrow{ order:5; font-size:1.1rem; margin-left:.2rem; }
}

/* V3.4.8 — credit attribution to upstream DotaTilt project.
   Renders as a tiny mini-footer just above the global site footer.
   Two thin lines bracketing a pill-style GitHub link. */
.rtr-credit,
.rta-credit{
  position:relative;
  z-index:5;
  max-width:880px;
  margin:3.5rem auto 1.2rem;
  padding:0 1.5rem;
  display:flex;
  align-items:center;
  gap:1rem;
}
.rtr-credit-line,
.rta-credit-line{
  flex:1;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(251,146,60,.22), transparent);
}
.rtr-credit-link,
.rta-credit-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem 1.05rem;
  background:rgba(28,17,9,.7);
  border:1px solid rgba(251,146,60,.22);
  border-radius:999px;
  color:#a89472;
  text-decoration:none;
  font-size:.82rem;
  letter-spacing:.02em;
  transition:background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s;
  white-space:nowrap;
}
.rtr-credit-link svg,
.rta-credit-link svg{
  flex-shrink:0;
  color:#a89472;
  transition:color .2s;
}
.rtr-credit-link span,
.rta-credit-link span{
  font-weight:600;
  color:#c8b48a;
  transition:color .2s;
}
.rtr-credit-link small,
.rta-credit-link small{
  font-size:.7rem;
  color:#7a6c4f;
  letter-spacing:.06em;
  border-left:1px solid rgba(251,146,60,.22);
  padding-left:.55rem;
  transition:color .2s, border-color .2s;
}
.rtr-credit-link:hover,
.rta-credit-link:hover{
  background:rgba(251,146,60,.12);
  border-color:rgba(251,146,60,.55);
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(251,146,60,.18);
}
.rtr-credit-link:hover svg,
.rta-credit-link:hover svg,
.rtr-credit-link:hover span,
.rta-credit-link:hover span{ color:#fed7aa; }
.rtr-credit-link:hover small,
.rta-credit-link:hover small{
  color:#a89472;
  border-left-color:rgba(251,146,60,.4);
}
@media (max-width:640px){
  .rtr-credit, .rta-credit{ margin:2.2rem auto .8rem; padding:0 1rem; gap:.55rem; }
  .rtr-credit-link, .rta-credit-link{ padding:.45rem .8rem; font-size:.74rem; }
  .rtr-credit-link small, .rta-credit-link small{ font-size:.62rem; }
}

/* V3.4.7 — `extras` row sits BELOW the .rtr-stage hero (live-queue +
   manual upload). Previously these were inside .rtr-hero-left and the
   left column grew tall enough to push the WANTED poster below the
   fold. Now the hero is a tight 2-column grid like Smurf's. */
.rtr-extras{
  position:relative;
  z-index:5;
  max-width:1180px;
  margin:1.4rem auto 0;
  padding:0 2rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}
.rtr-extras > .rtr-live-queue{ margin-top:0; }
.rtr-extras > .rtr-upload{
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* Mobile */
@media (max-width:900px){
  .rtr-stage{ grid-template-columns:1fr; gap:2rem; padding:2rem 1.5rem; }
  .rtr-stage::before{ display:none; }
  .rtr-poster-wrap{ order:-1; }
  .rtr-notice{ grid-template-columns:1fr; padding:0 1.5rem; }
  .rtr-med-wrap{ max-width:420px; margin:0 auto; }
  .rtr-upload{ max-width:none; }
  .rtr-live-queue{ font-size:.72rem; padding:.5rem .7rem; }
  .rtr-extras{ padding:0 1rem; }
  .rtr-extras > .rtr-upload{ max-width:none; }
}

/* ============================================================ */
/* RESULT AEGIS - .rta-aegis                                    */
/* ============================================================ */

.rta-aegis{
  --ag-gold:#fb923c;
  --ag-gold-d:#9a3412;
  --ag-gold-l:#fed7aa;
  --ag-bg:#0c0703;
  --ag-bg2:#1a0d05;
  --ag-t1:#f5e7c4;
  --ag-t2:#a89b80;
  --ag-t3:#5e5a4f;
  --ag-warn:#f59e0b;
  --ag-crit:#dc2626;
  position:relative;
  font-family:"Inter",sans-serif;
  color:var(--ag-t1);
  background:transparent;
  margin:0 calc(50% - 50vw);
  min-width:100vw;
  /* V3.4.9 — tightened bottom padding (5rem → 1.2rem) so the credit
     footer sits right above the global site footer. */
  padding:1rem 0 1.2rem;
  overflow:hidden;
  isolation:isolate;
}
.rta-aegis::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  /* V3.4.9 — fade-band shrunk 240px → 100px to match new padding. */
  height:100px; pointer-events:none; z-index:0;
  background: linear-gradient(180deg, transparent 0%, rgba(10,7,3,.85) 60%, #0a0a0f 100%);
}
.rta-aegis::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(251,146,60,.12),transparent 55%),
    radial-gradient(ellipse at 50% 110%,rgba(124,45,18,.18),transparent 50%),
    linear-gradient(180deg,#0c0703 0%,#1a0d05 100%);
  background-attachment:fixed;
}
.rta-aegis > *{ position:relative; z-index:1; }
.rta-aegis h1, .rta-aegis h2{
  font-family:"Cinzel",Georgia,serif;
  font-weight:700;
  letter-spacing:.02em;
}

.rta-bc{
  max-width:1180px;
  margin:0 auto;
  padding:1rem 2rem .8rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  font-size:.82rem;
  color:var(--ag-t2);
}
.rta-bc a{
  color:var(--ag-gold);
  text-decoration:none;
  border-bottom:1px dotted rgba(251,146,60,.25);
}
.rta-bc a:hover{ color:var(--ag-gold-l); }
.rta-bc .bc-sep{ opacity:.45; font-size:.78rem; color:var(--ag-gold); font-weight:700; }
.rta-bc .bc-current{ color:var(--ag-t1); font-weight:600; }

/* Hero block: medal + identity + rank */
.rta-hero{
  max-width:1180px;
  margin:0 auto;
  padding:2rem 2rem 1rem;
}
.rta-hero-grid{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:2.5rem;
  align-items:center;
}
.rta-medal-frame{
  position:relative;
  width:140px;
  height:140px;
  aspect-ratio:1;
  flex-shrink:0;
}
.rta-medal-frame svg.rta-medal-ring{
  position:absolute;
  inset:-12px;
  width:calc(100% + 24px);
  height:calc(100% + 24px);
  pointer-events:none;
  animation:rtaRingSpin 60s linear infinite;
}
@keyframes rtaRingSpin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }
.rta-medal-frame img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  border-radius:50%;
  border:3px solid var(--ag-gold);
  background:#0c0703;
  object-fit:cover;
  box-shadow:0 0 22px rgba(251,146,60,.35);
}
.rta-medal-fallback{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  border-radius:50%;
  border:3px solid var(--ag-gold);
  background:#0c0703;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ag-gold-l);
  font-family:"Cinzel",serif;
  font-size:.78rem;
  letter-spacing:.18em;
  text-align:center;
  padding:1rem .5rem;
  text-transform:uppercase;
}

.rta-identity h1{
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:clamp(1.6rem,3.2vw,2.4rem);
  line-height:1.1;
  margin:0 0 .45rem;
  color:#fff7ed;
  word-break:break-word;
}
.rta-identity h1 a{ color:inherit; text-decoration:none; }
.rta-identity h1 a:hover{ color:var(--ag-gold-l); }
.rta-id-eyebrow{
  font-family:"Cinzel",serif;
  font-size:.72rem;
  color:var(--ag-gold-l);
  letter-spacing:.32em;
  text-transform:uppercase;
  margin-bottom:.4rem;
  opacity:.85;
}
.rta-id-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem .9rem;
  margin:.4rem 0 .85rem;
  font-size:.84rem;
  color:var(--ag-t2);
  letter-spacing:.04em;
}
.rta-id-meta span{ display:inline-flex; align-items:center; gap:.4rem; }
.rta-id-meta svg{ width:14px; height:14px; opacity:.7; }
.rta-winner-radiant{ color:#86efac; font-weight:700; }
.rta-winner-dire{ color:#fca5a5; font-weight:700; }
.rta-id-links{ display:flex; gap:.5rem; flex-wrap:wrap; }
.rta-id-links a{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .75rem;
  font-size:.74rem;
  letter-spacing:.06em;
  border:1px solid rgba(251,146,60,.25);
  background:rgba(15,8,3,.5);
  color:var(--ag-t2);
  text-decoration:none;
  border-radius:5px;
  transition:border-color .2s,color .2s,background .2s;
}
.rta-id-links a:hover{
  border-color:var(--ag-gold);
  color:var(--ag-gold);
  background:rgba(251,146,60,.1);
}

.rta-rank{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.4rem;
  padding:0 .5rem;
}
.rta-rank-medal{
  width:88px;
  height:88px;
  position:relative;
  filter:drop-shadow(0 0 12px rgba(251,146,60,.45));
  display:flex;
  align-items:center;
  justify-content:center;
}
.rta-rank-medal img{ width:100%; height:100%; object-fit:contain; }
.rta-rank-medal-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Cinzel",serif;
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--ag-t3);
  text-transform:uppercase;
  text-align:center;
}
.rta-rank-name{
  font-family:"Cinzel",serif;
  font-size:.85rem;
  letter-spacing:.12em;
  color:var(--ag-gold-l);
  text-transform:uppercase;
  font-weight:700;
  text-align:center;
}
.rta-rank-mmr{ font-size:.7rem; color:var(--ag-t3); letter-spacing:.08em; }

/* Status banner (parsing/done/error) */
.rta-status-bar{
  max-width:1180px;
  margin:0 auto;
  padding:0 2rem;
}
.rta-status{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:.85rem 1.2rem;
  border-radius:6px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(251,146,60,.2);
  background:linear-gradient(90deg,rgba(251,146,60,.06),rgba(251,146,60,.01));
  color:var(--ag-t1);
  font-size:.9rem;
}
.rta-status::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--ag-gold);
  box-shadow:0 0 8px var(--ag-gold);
}
.rta-status[data-state="done"]::before{ background:#4ade80; box-shadow:0 0 8px #4ade80; }
.rta-status[data-state="error"]::before{ background:var(--ag-crit); box-shadow:0 0 8px var(--ag-crit); }
.rta-status-pulse{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--ag-gold);
  box-shadow:0 0 8px var(--ag-gold);
  animation:rtaPulse 1.6s ease-in-out infinite;
  flex-shrink:0;
}
.rta-status[data-state="done"] .rta-status-pulse,
.rta-status[data-state="error"] .rta-status-pulse{ display:none; }
@keyframes rtaPulse{
  0%,100%{ box-shadow:0 0 4px var(--ag-gold); opacity:1; }
  50%{ box-shadow:0 0 14px var(--ag-gold); opacity:.6; }
}
.rta-status-text{ flex:1; }
.rta-status-text strong{ font-family:"Cinzel",serif; font-weight:700; margin-right:.4rem; color:var(--ag-gold-l); letter-spacing:.06em; }
.rta-status-text span{ color:var(--ag-t2); }

/* Stages-bar (during pending parse) */
.rta-stages-wrap{
  max-width:1180px;
  margin:1rem auto 0;
  padding:1rem 2rem 1.2rem;
  border:1px dashed rgba(251,146,60,.18);
  border-radius:6px;
}
.rta-queue-position{
  display:none;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  flex-wrap:wrap;
  margin:0 auto 1rem;
  padding:.5rem 1rem;
  border-radius:999px;
  background:rgba(251,146,60,.08);
  border:1px solid rgba(251,146,60,.3);
  color:var(--ag-t1);
  font-size:.88rem;
  max-width:max-content;
}
.rta-queue-position.visible{ display:inline-flex; }
.rta-queue-pos-label{
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--ag-t3);
}
.rta-queue-pos-num{ font-weight:700; font-size:.95rem; }
.rta-queue-pos-num strong{ font-size:1.1rem; color:var(--ag-gold-l); }
.rta-queue-pos-phase{
  font-size:.72rem;
  color:var(--ag-t3);
  border-left:1px solid rgba(251,146,60,.35);
  padding-left:.6rem;
}
.rta-stages{
  display:flex;
  justify-content:space-around;
  gap:.5rem;
  flex-wrap:wrap;
}
.rta-stage{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.4rem;
  min-width:60px;
}
.rta-stage-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  background:rgba(251,146,60,.18);
  transition:background .3s,box-shadow .3s,transform .3s;
}
.rta-stage.active .rta-stage-dot{
  background:var(--ag-gold);
  box-shadow:0 0 10px rgba(251,146,60,.6);
  transform:scale(1.18);
}
.rta-stage.done .rta-stage-dot{ background:#4ade80; }
.rta-stage-label{
  font-size:.68rem;
  color:var(--ag-t3);
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
}
.rta-stage.active .rta-stage-label{ color:var(--ag-t1); font-weight:700; }

/* Verdict block: 1.2fr / 1fr split with score-dial */
.rta-verdict-block{
  max-width:1180px;
  margin:2.2rem auto 0;
  padding:0 2rem;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:2rem;
  align-items:stretch;
}
.rta-verdict-card{
  position:relative;
  padding:2.3rem 2.1rem;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(28,15,7,.85),rgba(15,8,3,.92));
  border:1px solid rgba(251,146,60,.2);
}
.rta-verdict-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--v-edge,var(--ag-gold)),transparent);
  opacity:.6;
}
.rta-verdict-card.v-quiet{ --v-edge:#4ade80; }
.rta-verdict-card.v-warm{ --v-edge:#fb923c; }
.rta-verdict-card.v-hot{ --v-edge:#dc2626; }
.rta-verdict-eyebrow{
  font-family:"Cinzel",serif;
  font-size:.72rem;
  color:var(--ag-gold-l);
  letter-spacing:.3em;
  text-transform:uppercase;
  margin-bottom:.8rem;
  opacity:.85;
}
.rta-verdict-title{
  font-family:"Cinzel",serif;
  font-size:clamp(1.9rem,3.6vw,2.9rem);
  font-weight:900;
  line-height:1.05;
  margin:0 0 1rem;
  color:#ffedd5;
  text-shadow:0 0 28px rgba(251,146,60,.4);
}
.rta-verdict-card.v-quiet .rta-verdict-title{ color:#dcfce7; text-shadow:0 0 26px rgba(74,222,128,.35); }
.rta-verdict-card.v-hot .rta-verdict-title{ color:#fee2e2; text-shadow:0 0 28px rgba(220,38,38,.4); }
.rta-verdict-desc{
  font-size:.95rem;
  line-height:1.65;
  color:var(--ag-t1);
  max-width:560px;
  margin:0 0 1.5rem;
}
.rta-verdict-meta{
  display:flex;
  gap:2rem;
  padding-top:1.2rem;
  border-top:1px dashed rgba(251,146,60,.2);
  flex-wrap:wrap;
}
.rta-vm{ font-size:.78rem; color:var(--ag-t2); }
.rta-vm strong{
  display:block;
  color:var(--ag-gold-l);
  font-family:"Cinzel",serif;
  font-size:1.15rem;
  font-weight:700;
  margin-bottom:.15rem;
  letter-spacing:.02em;
}

/* Score dial */
.rta-score-dial{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:linear-gradient(180deg,rgba(28,15,7,.7),rgba(15,8,3,.9));
  border:1px solid rgba(251,146,60,.18);
  border-radius:14px;
}
.rta-score-dial::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  z-index:0;
  pointer-events:none;
  transform:translate(-50%,-50%);
  width:280px;
  height:280px;
  background:radial-gradient(circle,rgba(251,146,60,.18),transparent 60%);
  filter:blur(20px);
}
.rta-dial-inner{
  position:relative;
  width:min(240px,60vw);
  height:min(240px,60vw);
  flex:0 0 auto;
  z-index:2;
}
.rta-dial-svg{ width:100%; height:100%; position:relative; z-index:2; overflow:visible; }
.rta-dial-svg circle{ fill:none; stroke-width:8; }
.rta-dial-bg{ stroke:rgba(251,146,60,.12); }
.rta-dial-fg{
  stroke:url(#rtaScoreGrad);
  stroke-linecap:round;
  filter:drop-shadow(0 0 12px rgba(251,146,60,.45));
  transition:stroke-dashoffset 1s ease;
}
.rta-dial-num{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:3;
  pointer-events:none;
}
.rta-dial-num .n{
  font-family:"Cinzel",serif;
  font-size:clamp(2.8rem,7vw,4.8rem);
  font-weight:900;
  line-height:1;
  color:var(--ag-gold-l);
  text-shadow:0 0 20px rgba(251,146,60,.5);
}
.rta-dial-num .lbl{
  margin-top:.5rem;
  font-family:"Cinzel",serif;
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ag-t2);
}

/* Stats strip - 4 tiles (duration / winner / date / score) */
.rta-stats-strip{
  max-width:1180px;
  margin:1.5rem auto 0;
  padding:0 2rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.7rem;
}
.rta-stat{
  padding:1.2rem 1rem;
  text-align:center;
  background:rgba(15,8,3,.6);
  border:1px solid rgba(251,146,60,.2);
  border-radius:8px;
  position:relative;
  overflow:hidden;
}
.rta-stat::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(251,146,60,.4),transparent);
}
.rta-stat-icon{
  width:32px;
  height:32px;
  margin:0 auto .5rem;
  color:var(--ag-gold);
  display:flex;
  align-items:center;
  justify-content:center;
}
.rta-stat-icon svg{ width:18px; height:18px; }
.rta-stat-num{
  font-family:"Cinzel",serif;
  font-size:1.45rem;
  font-weight:700;
  color:var(--ag-gold-l);
  line-height:1.15;
}
.rta-stat-label{
  font-size:.62rem;
  color:var(--ag-t3);
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-top:.4rem;
}

/* Section title (h2 + count + decorative line) */
.rta-section-title{
  max-width:1180px;
  margin:2.5rem auto 1rem;
  padding:0 2rem;
  display:flex;
  align-items:baseline;
  gap:1rem;
}
.rta-section-title h2{
  font-family:"Cinzel",serif;
  font-weight:700;
  font-size:1.3rem;
  letter-spacing:.08em;
  color:var(--ag-gold-l);
  margin:0;
  flex-shrink:0;
}
.rta-section-title .sub{
  font-size:.75rem;
  color:var(--ag-t3);
  letter-spacing:.2em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rta-section-title .line{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(251,146,60,.3),transparent);
}

/* Generic card body for sections */
.rta-card{
  max-width:1180px;
  margin:0 auto;
  padding:1.5rem 1.75rem 1.75rem;
  background:rgba(15,8,3,.55);
  border:1px solid rgba(251,146,60,.18);
  border-radius:14px;
  margin-bottom:1.25rem;
}
.rta-card-mar{ max-width:1180px; margin:0 auto; padding:0 2rem 1.25rem; }

.rta-filter-tabs{ display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.9rem; }
.rta-filter-tab{
  font-family:"Cinzel",serif;
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  background:rgba(8,4,1,.5);
  border:1px solid rgba(251,146,60,.18);
  color:var(--ag-t3);
  border-radius:5px;
  padding:.4rem .85rem;
  font-weight:700;
  cursor:pointer;
  transition:color .2s,border-color .2s,background .2s;
}
.rta-filter-tab:hover{ color:var(--ag-gold-l); border-color:rgba(251,146,60,.45); }
.rta-filter-tab.active{
  color:#1c0703;
  background:linear-gradient(135deg,#fb923c,#9a3412);
  border-color:var(--ag-gold);
  box-shadow:0 6px 18px rgba(251,146,60,.3);
}

/* Timeline */
.rta-timeline-wrap{
  position:relative;
  background:rgba(8,4,1,.5);
  border:1px solid rgba(251,146,60,.15);
  border-radius:8px;
  padding:.75rem;
  min-height:160px;
}
.rta-timeline-canvas{
  display:block;
  width:100%;
  height:140px;
  cursor:crosshair;
}
.rta-timeline-tooltip{
  position:absolute;
  pointer-events:none;
  opacity:0;
  background:rgba(10,6,2,.97);
  border:1px solid var(--ag-gold);
  border-radius:8px;
  padding:.65rem .8rem;
  font-size:.78rem;
  color:var(--ag-t1);
  line-height:1.5;
  transition:opacity .12s;
  z-index:10;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
  max-width:300px;
}
.rta-timeline-tooltip.visible{ opacity:1; }
.rta-tt-header{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.5rem;
  padding-bottom:.45rem;
  border-bottom:1px solid rgba(251,146,60,.18);
  font-weight:700;
}
.rta-tt-time{
  font-family:"Cinzel",serif;
  color:var(--ag-gold-l);
  font-variant-numeric:tabular-nums;
}
.rta-tt-row{ display:flex; align-items:center; gap:.45rem; margin-bottom:.3rem; }
.rta-tt-row:last-child{ margin-bottom:0; }
.rta-tt-hero-img,
.rta-actor-img{
  width:24px;
  height:24px;
  border-radius:5px;
  flex-shrink:0;
  object-fit:cover;
  background:rgba(255,255,255,.04);
}
.rta-tt-hero-fallback,
.rta-actor-fallback{
  width:24px;
  height:24px;
  border-radius:5px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.04);
  font-size:.55rem;
  color:var(--ag-t3);
}
.rta-tt-arrow{ color:var(--ag-t3); font-size:.85rem; }
.rta-tt-side{
  display:inline-block;
  padding:.15rem .5rem;
  border-radius:999px;
  font-family:"Cinzel",serif;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.rta-tt-side-friendly{ background:rgba(74,222,128,.15); color:#86efac; }
.rta-tt-side-enemy{ background:rgba(248,113,113,.15); color:#fca5a5; }
.rta-tt-conf{
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-top:.4rem;
  font-size:.74rem;
  font-weight:600;
}
.rta-tt-conf.clear   { color:#86efac; }
.rta-tt-conf.disputed{ color:#fbbf24; }
.rta-tt-conf svg{ flex-shrink:0; }

/* Top targets - factor cards in Aegis style */
.rta-factors{
  max-width:1180px;
  margin:0 auto 1.5rem;
  padding:0 2rem;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:1rem;
}
.rta-factor-card{
  position:relative;
  padding:1.1rem 1.25rem 1.25rem;
  background:linear-gradient(180deg,rgba(28,15,7,.85),rgba(15,8,3,.9));
  border:1px solid rgba(251,146,60,.2);
  border-left:3px solid var(--rta-fc,#fb923c);
  border-radius:10px;
  transition:transform .15s ease,border-color .2s;
  display:flex;
  flex-direction:column;
  gap:.7rem;
}
.rta-factor-card.team-radiant{ --rta-fc:#4ade80; }
.rta-factor-card.team-dire{ --rta-fc:#dc2626; }
.rta-factor-card:hover{ transform:translateY(-2px); }
.rta-factor-head{ display:flex; align-items:center; gap:.75rem; }
.rta-factor-img{
  width:46px;
  height:46px;
  border-radius:6px;
  flex-shrink:0;
  object-fit:cover;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(251,146,60,.18);
}
.rta-factor-img-fallback{
  width:46px;
  height:46px;
  border-radius:6px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(251,146,60,.18);
  color:var(--ag-t3);
  font-size:.68rem;
  font-family:"Cinzel",serif;
}
.rta-factor-info{ flex:1; min-width:0; }
.rta-factor-name{
  font-family:"Cinzel",serif;
  font-weight:700;
  color:var(--ag-t1);
  font-size:1rem;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rta-factor-hero{
  font-size:.74rem;
  color:var(--ag-gold-l);
  margin-top:.1rem;
  letter-spacing:.05em;
}
.rta-factor-count{
  font-family:"Cinzel",serif;
  font-weight:900;
  font-size:1.7rem;
  color:var(--ag-gold-l);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.rta-factor-count-label{
  font-size:.6rem;
  color:var(--ag-t3);
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:.2rem;
}
.rta-factor-bar{
  height:5px;
  border-radius:3px;
  background:rgba(251,146,60,.1);
  overflow:hidden;
}
.rta-factor-bar-fill{
  height:100%;
  background:linear-gradient(90deg,#fb923c,#9a3412);
  transition:width .4s ease;
}

/* Players grid */
.rta-players-section{
  max-width:1180px;
  margin:0 auto 1.5rem;
  padding:0 2rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.rta-team-title{
  font-family:"Cinzel",serif;
  font-size:.95rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2em;
  margin:0 0 .7rem;
  padding-left:.7rem;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.rta-team-title.rta-team-radiant{ color:#86efac; border-left:3px solid #4ade80; }
.rta-team-title.rta-team-dire{ color:#fca5a5; border-left:3px solid #dc2626; }
.rta-team-score{
  font-family:"Cinzel",serif;
  font-variant-numeric:tabular-nums;
  font-weight:800;
  background:rgba(8,4,1,.55);
  padding:.18rem .55rem;
  border-radius:5px;
  font-size:.85rem;
  color:var(--ag-t1);
  border:1px solid rgba(251,146,60,.18);
}
.rta-players-grid{
  display:grid;
  gap:.7rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.rta-player{
  background:linear-gradient(180deg,rgba(28,15,7,.85),rgba(15,8,3,.9));
  border:1px solid rgba(251,146,60,.18);
  border-radius:10px;
  padding:.9rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  transition:border-color .2s,transform .15s;
}
.rta-player:hover{ transform:translateY(-1px); border-color:rgba(251,146,60,.35); }
.rta-player-head{ display:flex; align-items:center; gap:.7rem; min-width:0; }
.rta-player-hero-img{
  width:48px;
  height:48px;
  flex-shrink:0;
  border-radius:6px;
  object-fit:cover;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(251,146,60,.18);
}
.rta-player-hero-fallback{
  width:48px;
  height:48px;
  flex-shrink:0;
  border-radius:6px;
  background:rgba(255,255,255,.04);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Cinzel",serif;
  font-size:.65rem;
  font-weight:700;
  color:var(--ag-t3);
  text-transform:uppercase;
  border:1px solid rgba(251,146,60,.18);
}
.rta-player-info{ flex:1; min-width:0; }
.rta-player-name{
  font-family:"Cinzel",serif;
  font-weight:700;
  color:var(--ag-t1);
  font-size:.95rem;
  letter-spacing:.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rta-player-hero-name{
  font-size:.72rem;
  color:var(--ag-gold-l);
  font-weight:600;
  margin-top:.05rem;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rta-player-id{
  font-size:.7rem;
  color:var(--ag-t3);
  font-variant-numeric:tabular-nums;
  margin-top:.05rem;
}
.rta-player-stats{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:.4rem;
  font-size:.74rem;
  color:var(--ag-t3);
}
.rta-player-stat{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.05rem;
}
.rta-player-stat-value{
  font-family:"Cinzel",serif;
  font-weight:700;
  color:var(--ag-t1);
  font-variant-numeric:tabular-nums;
}
.rta-player-stat-label{
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ag-t3);
}
.rta-kda-row{
  display:flex;
  align-items:baseline;
  gap:.25rem;
  font-family:"Cinzel",serif;
  font-size:.92rem;
  font-variant-numeric:tabular-nums;
  font-weight:700;
}
.rta-kda-row .k{ color:#86efac; }
.rta-kda-row .d{ color:#fca5a5; }
.rta-kda-row .a{ color:#fde68a; }
.rta-kda-row .sep{ color:var(--ag-t3); font-weight:400; }

.rta-player-tags{ display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.rta-tag{
  font-family:"Cinzel",serif;
  font-size:.66rem;
  font-weight:700;
  line-height:1;
  padding:.32rem .55rem;
  border-radius:999px;
  border:1px solid rgba(251,146,60,.2);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.rta-tag-target{ background:rgba(251,146,60,.14); border-color:rgba(251,146,60,.4); color:var(--ag-gold-l); }
.rta-tag-loading{ color:var(--ag-t3); }
.rta-tag-clean{ background:rgba(74,222,128,.1); border-color:rgba(74,222,128,.35); color:#86efac; }
.rta-tag-suspicious{ background:rgba(251,191,36,.1); border-color:rgba(251,191,36,.4); color:#fde68a; }
.rta-tag-smurf{ background:rgba(220,38,38,.12); border-color:rgba(220,38,38,.4); color:#fca5a5; }
.rta-tag-boost{ background:rgba(251,146,60,.12); border-color:rgba(251,146,60,.4); color:var(--ag-gold-l); }
.rta-tag-turbo{ background:rgba(167,139,250,.1); border-color:rgba(167,139,250,.4); color:#c4b5fd; }

.rta-player-actions{ display:flex; gap:.4rem; flex-wrap:wrap; }
.rta-player-link{
  flex:1;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  font-family:"Inter",sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.25;
  color:var(--ag-t1);
  background:rgba(8,4,1,.55);
  border:1px solid rgba(251,146,60,.22);
  border-radius:6px;
  padding:.45rem .65rem;
  transition:border-color .2s,background .2s,color .2s;
  cursor:pointer;
}
.rta-player-link:hover{ border-color:var(--ag-gold); background:rgba(251,146,60,.1); color:var(--ag-gold-l); }
.rta-player-link.rta-player-link-private{
  color:var(--ag-t3);
  cursor:default;
  pointer-events:none;
  font-style:italic;
}
.rta-player-link.rta-player-link-busy{
  color:var(--ag-gold-l);
  border-color:var(--ag-gold);
  cursor:wait;
}
/* Verdict-aware CTA: when smurf service already has data, show a colored
   "Открыть карточку" link tinted by the verdict (green / red / yellow / orange / purple). */
.rta-player-link.rta-player-link-checked{ font-weight:700; }
.rta-player-link.rta-player-link-checked:hover{ background:rgba(251,146,60,.14); }
.rta-player-link.rta-player-link-checked[data-verdict="clean"]      { border-color:rgba(74,222,128,.5);  color:#86efac; }
.rta-player-link.rta-player-link-checked[data-verdict="clean"]:hover{ border-color:#4ade80; background:rgba(74,222,128,.12); color:#bbf7d0; }
.rta-player-link.rta-player-link-checked[data-verdict="suspicious"]      { border-color:rgba(251,191,36,.5);  color:#fde68a; }
.rta-player-link.rta-player-link-checked[data-verdict="suspicious"]:hover{ border-color:#fbbf24; background:rgba(251,191,36,.12); color:#fef3c7; }
.rta-player-link.rta-player-link-checked[data-verdict="smurf"]      { border-color:rgba(220,38,38,.55);  color:#fca5a5; }
.rta-player-link.rta-player-link-checked[data-verdict="smurf"]:hover{ border-color:#dc2626; background:rgba(220,38,38,.14); color:#fecaca; }
.rta-player-link.rta-player-link-checked[data-verdict="boost"]      { border-color:rgba(251,146,60,.5);  color:#fed7aa; }
.rta-player-link.rta-player-link-checked[data-verdict="boost"]:hover{ border-color:#fb923c; background:rgba(251,146,60,.14); color:#ffedd5; }
.rta-player-link.rta-player-link-checked[data-verdict="turbo"]      { border-color:rgba(167,139,250,.5); color:#c4b5fd; }
.rta-player-link.rta-player-link-checked[data-verdict="turbo"]:hover{ border-color:#a78bfa; background:rgba(167,139,250,.12); color:#ddd6fe; }

/* Reports table */
.rta-reports-table-wrap{
  overflow-x:auto;
  background:rgba(8,4,1,.4);
  border:1px solid rgba(251,146,60,.15);
  border-radius:8px;
}
.rta-reports-table{ width:100%; border-collapse:collapse; font-size:.85rem; }
.rta-reports-table th, .rta-reports-table td{
  padding:.6rem .85rem;
  text-align:left;
  border-bottom:1px solid rgba(251,146,60,.1);
  vertical-align:middle;
}
.rta-reports-table th{
  font-family:"Cinzel",serif;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--ag-t3);
  font-weight:700;
  background:rgba(8,4,1,.5);
}
.rta-reports-table tbody tr:last-child td{ border-bottom:none; }
.rta-reports-table tbody tr:hover{ background:rgba(251,146,60,.04); }
.rta-time-cell{
  font-family:"Cinzel",serif;
  font-variant-numeric:tabular-nums;
  color:var(--ag-gold-l);
  white-space:nowrap;
  letter-spacing:.06em;
}
.rta-actor-cell{ display:flex; align-items:center; gap:.5rem; }
.rta-actor-info{ display:flex; flex-direction:column; min-width:0; }
.rta-actor-name{
  font-family:"Cinzel",serif;
  font-weight:600;
  color:var(--ag-t1);
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rta-actor-hero{ font-size:.7rem; color:var(--ag-t3); letter-spacing:.05em; }
.rta-arrow-cell{ color:var(--ag-t3); text-align:center; font-weight:700; }
.rta-side-cell{
  font-family:"Cinzel",serif;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.rta-side-cell.team-friendly{ color:#86efac; }
.rta-side-cell.team-enemy{ color:#fca5a5; }
.rta-conf-cell{ min-width:160px; }
/* Confidence is shown as a binary signal:
   - "Чёткая цель"   - parser had a single dominant candidate (>= 80%)
   - "Спорный выбор" - several close candidates; reason in title tooltip
   The raw 0-100 number is kept on the backend for debugging but never
   exposed on the page (more noise than signal — usually 100). */
.rta-conf-clear,
.rta-conf-disputed{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-family:"Inter",sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
}
.rta-conf-clear{ color:#86efac; }
.rta-conf-disputed{ color:#fbbf24; cursor:help; border-bottom:1px dotted rgba(251,191,36,.45); }
.rta-conf-clear svg,
.rta-conf-disputed svg{ flex-shrink:0; }

/* Empty states + errors */
.rta-empty-state{ text-align:center; padding:2rem 1rem; color:var(--ag-t3); }
.rta-empty-state-icon{
  width:56px;
  height:56px;
  margin:0 auto 1rem;
  color:var(--ag-gold);
  opacity:.6;
}
.rta-empty-state-title{
  font-family:"Cinzel",serif;
  font-size:1rem;
  font-weight:700;
  color:var(--ag-t1);
  margin:0 0 .4rem;
  letter-spacing:.06em;
}
.rta-empty-state-text{
  font-size:.85rem;
  line-height:1.55;
  max-width:42ch;
  margin:0 auto;
}

.rta-error-section{
  max-width:1180px;
  margin:1rem auto;
  padding:1.5rem 1.75rem;
  background:rgba(220,38,38,.06);
  border:1px solid rgba(220,38,38,.25);
  border-radius:14px;
}

/* V3.3.2 — manual upload fallback on /dota_report/{id} result page */
.rta-upload-fallback{
  max-width:1180px;
  margin:0.6rem auto 2rem;
  padding:0 1.75rem;
}
.rta-upload-fallback .rtr-upload{
  max-width:none;
}
.rta-upload-fallback .rtr-upload[open]{
  border-color:rgba(251,146,60,.55);
  box-shadow:0 0 0 1px rgba(251,146,60,.22), 0 14px 38px rgba(0,0,0,.4);
}
.rta-upload-fallback .rtr-upload-summary{
  font-size:1.02rem;
  padding:1.05rem 1.3rem;
}
.rta-upload-fallback .rtr-upload-summary svg{
  color:#fb923c;
  margin-right:.45rem;
}
.rta-upload-fallback .rtr-upload-body{
  padding:1.15rem 1.3rem 1.4rem;
}
@media (max-width:840px){
  .rta-upload-fallback{ padding:0 1rem; }
}
.rta-error-card{
  display:flex;
  align-items:center;
  gap:1.25rem;
  flex-wrap:wrap;
  padding:.5rem;
}
.rta-error-card svg{ color:#fca5a5; flex-shrink:0; }
.rta-error-text{ flex:1; min-width:200px; }
.rta-error-title{
  font-family:"Cinzel",serif;
  font-size:1.1rem;
  font-weight:700;
  color:var(--ag-t1);
  letter-spacing:.06em;
}
.rta-error-msg{ font-size:.9rem; color:var(--ag-t2); margin-top:.35rem; line-height:1.55; }
.rta-error-hint{
  font-size:.82rem;
  color:#a89472;
  margin-top:.6rem;
  line-height:1.55;
  padding-top:.55rem;
  border-top:1px dashed rgba(251,146,60,.18);
}
.rta-error-hint code{
  background:rgba(251,146,60,.12);
  border:1px solid rgba(251,146,60,.22);
  padding:0 5px;
  border-radius:4px;
  font-size:.78rem;
  color:#fed7aa;
}
.rta-error-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  align-items:center;
  margin-left:auto;
  position:relative;
  z-index:5;
}
.rta-btn,
.rta-btn-secondary{ position:relative; z-index:5; }
.rta-btn svg,
.rta-btn-secondary svg{ pointer-events:none; }
.rta-btn-secondary{
  background:linear-gradient(180deg, rgba(251,146,60,.18), rgba(154,52,18,.18));
  color:var(--ag-gold-l);
  border:1px solid rgba(251,146,60,.45);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}
.rta-btn-secondary:hover{
  background:linear-gradient(180deg, rgba(251,146,60,.32), rgba(154,52,18,.32));
  box-shadow:0 6px 18px rgba(251,146,60,.25);
}
.rta-btn-secondary:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.rta-btn{
  background:linear-gradient(135deg,#fb923c,#9a3412);
  color:#1c0703;
  border:0;
  border-radius:6px;
  padding:.7rem 1.4rem;
  font-family:"Cinzel",serif;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  box-shadow:0 6px 18px rgba(251,146,60,.4);
}
.rta-btn:hover{ box-shadow:0 10px 28px rgba(251,146,60,.55); }

/* Mobile */
@media (max-width:900px){
  .rta-hero-grid{ grid-template-columns:auto 1fr; gap:1rem; }
  .rta-rank{ grid-column:1 / -1; flex-direction:row; justify-content:flex-start; padding-top:1rem; border-top:1px solid rgba(251,146,60,.18); }
  .rta-rank-medal{ width:64px; height:64px; }
  .rta-medal-frame{ width:96px; height:96px; }
  .rta-verdict-block{ grid-template-columns:1fr; }
  .rta-stats-strip{ grid-template-columns:repeat(2,1fr); }
  .rta-section-title h2{ font-size:1.05rem; }
  .rta-players-grid{ grid-template-columns:1fr; }
  .rta-reports-table{ font-size:.78rem; }
  .rta-reports-table th, .rta-reports-table td{ padding:.5rem .55rem; }
}

/* ============================================================ */
/* V3.4 — TRACKER ADMIN PANEL                                   */
/* ============================================================ */

.rta-admin-shell{
  --gold:#fb923c; --gold-l:#fed7aa; --gold-d:#9a3412;
  --t1:#f5e7c4; --t2:#a89b80; --t3:#5e5a4f;
  --crit:#dc2626; --warn:#f59e0b; --ok:#22c55e;
  position:relative;
  font-family:"Inter",sans-serif;
  color:var(--t1);
  max-width:1320px;
  margin:0 auto;
  padding:1.5rem 2rem 4rem;
  min-height:calc(100vh - 200px);
}
.rta-admin-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(ellipse at 50% -10%, rgba(251,146,60,.10), transparent 55%),
    radial-gradient(ellipse at 50% 110%, rgba(124,45,18,.15), transparent 55%),
    linear-gradient(180deg, #0c0703 0%, #1a0d05 100%);
}
.rta-admin-header{ margin:.5rem 0 1.6rem; }
.rta-admin-title{ display:flex; align-items:baseline; gap:.8rem; flex-wrap:wrap; }
.rta-admin-title h1{
  font-family:"Cinzel",serif; font-weight:900; font-size:1.85rem;
  margin:0; letter-spacing:.02em; color:var(--t1);
}
.rta-admin-pill{
  font-size:.66rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  padding:.25rem .55rem; border-radius:4px;
  background:rgba(251,146,60,.18); color:var(--gold-l);
  border:1px solid rgba(251,146,60,.4);
}
.rta-admin-sub{ color:var(--t2); margin:.4rem 0 0; font-size:.92rem; }

.rta-admin-card{
  background:linear-gradient(180deg, rgba(28,17,9,.85), rgba(20,11,5,.92));
  border:1px solid rgba(251,146,60,.18);
  border-radius:14px;
  padding:1.1rem 1.3rem 1.3rem;
  margin-bottom:1.2rem;
}
.rta-admin-card-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; margin-bottom:.85rem;
}
.rta-admin-card-head h2{
  font-family:"Cinzel",serif; font-size:1.05rem; font-weight:700;
  letter-spacing:.04em; color:var(--gold-l); margin:0;
}
.rta-admin-meta{
  font-size:.74rem; letter-spacing:.13em; text-transform:uppercase;
  color:#9c8b63;
}

/* Stats grid */
.rta-admin-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(148px, 1fr));
  gap:.75rem;
  margin-bottom:1.4rem;
}
.rta-admin-stat{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:.2rem;
  padding:.85rem 1rem;
  background:rgba(28,17,9,.7);
  border:1px solid rgba(251,146,60,.18);
  border-left:3px solid rgba(251,146,60,.55);
  border-radius:10px;
  transition:border-color .2s, transform .2s;
}
.rta-admin-stat:hover{ border-left-color:var(--gold); transform:translateY(-1px); }
.rta-admin-stat-num{
  font-family:"Cinzel",serif; font-weight:700; font-size:1.55rem;
  color:#fff; font-variant-numeric:tabular-nums;
}
.rta-admin-stat-label{
  font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  color:#9c8b63;
}
.rta-admin-stat[data-key="errors"] .rta-admin-stat-num,
.rta-admin-stat[data-key="errors_24h"] .rta-admin-stat-num{ color:#fca5a5; }
.rta-admin-stat[data-key="done"] .rta-admin-stat-num,
.rta-admin-stat[data-key="done_24h"] .rta-admin-stat-num{ color:#86efac; }

.rta-admin-top-errors{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem;
}
.rta-admin-top-errors li{
  font-size:.82rem; color:#fca5a5;
  padding:.45rem .65rem;
  background:rgba(220,38,38,.07);
  border:1px solid rgba(220,38,38,.22);
  border-radius:6px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  word-break:break-word;
}

/* Maintenance */
.rta-admin-maint-row{
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  margin-bottom:.85rem;
}
.rta-admin-maint-state{
  font-weight:600; color:var(--ok);
  font-size:.88rem; letter-spacing:.02em;
}
.rta-admin-card.is-maint-on{ border-color:var(--warn); box-shadow:0 0 0 1px rgba(245,158,11,.25); }
.rta-admin-card.is-maint-on .rta-admin-maint-state{ color:var(--warn); }
.rta-switch{ display:inline-flex; align-items:center; gap:.6rem; cursor:pointer; user-select:none; }
.rta-switch input{ position:absolute; opacity:0; pointer-events:none; }
.rta-switch-track{
  width:44px; height:24px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(251,146,60,.35);
  border-radius:12px;
  position:relative; flex-shrink:0;
  transition:background .25s, border-color .25s;
}
.rta-switch-knob{
  position:absolute; top:2px; left:2px;
  width:18px; height:18px;
  background:#fed7aa;
  border-radius:50%;
  transition:transform .22s, background .25s;
}
.rta-switch input:checked + .rta-switch-track{
  background:linear-gradient(135deg, #f59e0b, #c2410c);
  border-color:#fb923c;
}
.rta-switch input:checked + .rta-switch-track .rta-switch-knob{
  transform:translateX(20px);
  background:#fff7ed;
}
.rta-switch-label{ font-weight:600; color:var(--t1); font-size:.92rem; }

.rta-admin-textarea{
  width:100%;
  min-height:74px;
  background:rgba(15,10,6,.9);
  border:1px solid rgba(251,146,60,.25);
  color:var(--t1);
  font-family:inherit;
  font-size:.92rem;
  padding:.65rem .85rem;
  border-radius:8px;
  resize:vertical;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.rta-admin-textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(251,146,60,.15);
}
.rta-admin-maint-actions{
  display:flex; align-items:center; gap:.85rem; flex-wrap:wrap;
  margin-top:.75rem;
}
.rta-admin-status{ font-size:.82rem; color:var(--t2); }
.rta-admin-status.is-ok{ color:var(--ok); }
.rta-admin-status.is-err{ color:#fca5a5; }

/* Filters */
.rta-admin-filters{
  display:flex; gap:.6rem; flex-wrap:wrap; align-items:center;
  margin-bottom:.9rem;
}
.rta-admin-filters select,
.rta-admin-filters input[type="text"]{
  background:rgba(15,10,6,.85);
  border:1px solid rgba(251,146,60,.28);
  color:var(--t1);
  padding:.45rem .65rem;
  border-radius:8px;
  font-family:inherit;
  font-size:.9rem;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.rta-admin-filters select:focus,
.rta-admin-filters input[type="text"]:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(251,146,60,.15);
}

/* Table */
.rta-admin-table-wrap{
  overflow-x:auto;
  background:rgba(15,10,6,.55);
  border-radius:10px;
  border:1px solid rgba(251,146,60,.12);
}
.rta-admin-table{
  width:100%; border-collapse:collapse; font-size:.86rem;
}
.rta-admin-table th, .rta-admin-table td{
  padding:.6rem .85rem;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(251,146,60,.08);
}
.rta-admin-table th{
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:#9c8b63; font-weight:600;
  background:rgba(28,17,9,.65);
  position:sticky; top:0; z-index:1;
}
.rta-admin-table tbody tr:hover{ background:rgba(251,146,60,.05); }
.rta-admin-table .rta-admin-empty{ text-align:center; color:var(--t3); padding:2rem; }
.rta-admin-table .rta-admin-mid{ color:var(--t2); font-family:ui-monospace, SFMono-Regular, monospace; }
.rta-admin-table .rta-admin-mid a{ color:var(--gold-l); text-decoration:none; border-bottom:1px dotted rgba(251,146,60,.3); }
.rta-admin-table .rta-admin-mid a:hover{ color:var(--gold); }

.rta-admin-badge{
  display:inline-block;
  font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:.2rem .55rem; border-radius:4px; line-height:1.4;
}
.rta-admin-badge.b-done{    background:rgba(34,197,94,.15);  color:#86efac; border:1px solid rgba(34,197,94,.4); }
.rta-admin-badge.b-error{   background:rgba(220,38,38,.15);  color:#fca5a5; border:1px solid rgba(220,38,38,.4); }
.rta-admin-badge.b-pending{ background:rgba(251,191,36,.15); color:#fde68a; border:1px solid rgba(251,191,36,.4); }
.rta-admin-badge.b-parsing{ background:rgba(96,165,250,.15); color:#bfdbfe; border:1px solid rgba(96,165,250,.4); }

.rta-admin-table .rta-th-actions{ width:1px; white-space:nowrap; }

/* V3.4.5 — Reports column */
.rta-admin-th-num{ text-align:left; }
.rta-admin-rep-cell{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.rta-admin-rep-total{
  display:inline-block;
  font-weight:700;
  font-size:.95rem;
  color:#fed7aa;
  min-width:1.5em;
}
.rta-admin-rep-split{
  margin-left:.4rem;
  font-size:.78rem;
  color:#a89472;
}
.rta-admin-rep-friendly{ color:#86efac; }
.rta-admin-rep-enemy{ color:#fca5a5; }
.rta-admin-rep-sep{ margin:0 .15rem; opacity:.5; }
.rta-admin-table .rta-admin-actions{ display:inline-flex; gap:.35rem; }
.rta-admin-table .rta-admin-err{
  font-size:.76rem; color:#fca5a5;
  font-family:ui-monospace, SFMono-Regular, monospace;
  max-width:340px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Pager */
.rta-admin-pager{
  display:flex; align-items:center; justify-content:flex-end;
  gap:.6rem; margin-top:1rem; font-size:.86rem; color:var(--t2);
}
#rtAdminPagerInfo{ font-variant-numeric:tabular-nums; }

/* Buttons */
.rta-admin-btn{
  background:linear-gradient(180deg, #fb923c, #c2410c);
  border:1px solid rgba(251,146,60,.6);
  color:#1a0d05;
  font-weight:700;
  font-family:inherit;
  font-size:.86rem;
  padding:.5rem 1rem;
  border-radius:8px;
  cursor:pointer;
  letter-spacing:.02em;
  transition:transform .12s, box-shadow .15s, opacity .2s;
}
.rta-admin-btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(251,146,60,.3);
}
.rta-admin-btn:disabled{ opacity:.55; cursor:not-allowed; }
.rta-admin-btn-sm{ padding:.36rem .8rem; font-size:.8rem; }
.rta-admin-btn-ghost{
  background:transparent;
  color:var(--gold-l);
  border:1px solid rgba(251,146,60,.45);
}
.rta-admin-btn-ghost:hover{ background:rgba(251,146,60,.12); transform:none; box-shadow:none; }
.rta-admin-btn-danger{
  background:linear-gradient(180deg, rgba(220,38,38,.65), rgba(127,29,29,.7));
  color:#fff;
  border:1px solid rgba(220,38,38,.6);
}

/* Maintenance banner on public pages */
.rta-maintenance-banner{
  display:flex;
  align-items:center;
  gap:.85rem;
  max-width:1180px;
  margin:.5rem auto 1rem;
  padding:.85rem 1.1rem;
  background:linear-gradient(180deg, rgba(245,158,11,.18), rgba(154,52,18,.22));
  border:1px solid rgba(245,158,11,.55);
  border-left:5px solid var(--ag-warn,#f59e0b);
  border-radius:10px;
  color:#fef3c7;
  font-size:.92rem;
  line-height:1.45;
}
.rta-maintenance-banner.is-search{ margin:1rem auto; }
.rta-maintenance-banner[hidden]{ display:none; }
.rta-maint-icon{
  width:28px; height:28px;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(245,158,11,.3);
  border-radius:50%;
  color:#fde68a;
  animation:rtaMaintPulse 2s ease-in-out infinite;
}
@keyframes rtaMaintPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(245,158,11,.5); }
  60%{    box-shadow:0 0 0 10px rgba(245,158,11,0); }
}
.rta-maint-text strong{ display:block; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; color:#fde68a; margin-bottom:.1rem; }

@media (max-width:900px){
  .rta-admin-shell{ padding:1rem 1rem 3rem; }
  .rta-admin-stats{ grid-template-columns:repeat(2, 1fr); }
  .rta-admin-table{ font-size:.78rem; }
  .rta-admin-table th, .rta-admin-table td{ padding:.45rem .55rem; }
}
