
/* Truth Spine Batch 7 polish overlay */
:root{
  --tsov-bg:#09090b;
  --tsov-surface:rgba(18,18,20,.95);
  --tsov-border:#27272a;
  --tsov-text:#fafafa;
  --tsov-muted:#a1a1aa;
  --tsov-muted-2:#71717a;
  --tsov-good:#34d399;
  --tsov-warn:#f59e0b;
  --tsov-shadow:0 10px 28px rgba(0,0,0,.24);
}
body.ts-overlay-pad{padding-top:64px !important;}
#ts-overlay-bar{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 12px;
  background:linear-gradient(180deg, rgba(24,24,27,.97), rgba(18,18,20,.99));
  border-bottom:1px solid var(--tsov-border);
  box-shadow:var(--tsov-shadow);
  backdrop-filter:blur(10px);
  font-family:Inter,system-ui,sans-serif;
}
.tsov-left,.tsov-right{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.tsov-badge{
  display:inline-flex; align-items:center; gap:7px;
  padding:0 10px; min-height:30px; border-radius:999px;
  border:1px solid var(--tsov-border); color:var(--tsov-text);
  background:rgba(255,255,255,.02); font-size:11px; font-weight:600;
}
.tsov-dot{width:8px; height:8px; border-radius:50%; display:inline-block}
.tsov-dot.good{background:var(--tsov-good); box-shadow:0 0 8px rgba(52,211,153,.45)}
.tsov-dot.warn{background:var(--tsov-warn); box-shadow:0 0 8px rgba(245,158,11,.45)}
.tsov-link{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:32px; padding:0 10px;
  border-radius:10px; border:1px solid var(--tsov-border);
  color:var(--tsov-text); text-decoration:none; font-size:11px; font-weight:600;
  background:transparent;
}
.tsov-link:hover{background:rgba(59,130,246,.05); border-color:rgba(59,130,246,.16)}
#ts-overlay-rail{
  position:fixed; right:12px; bottom:12px; z-index:9998;
  width:min(300px, calc(100vw - 24px));
  border:1px solid var(--tsov-border); border-radius:16px;
  background:linear-gradient(180deg, rgba(24,24,27,.97), rgba(18,18,20,.99));
  box-shadow:var(--tsov-shadow); backdrop-filter:blur(10px);
  overflow:hidden; font-family:Inter,system-ui,sans-serif;
}
.tsov-rail-head{padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.06);}
.tsov-rail-head strong{display:block; color:var(--tsov-text); font-size:12px}
.tsov-rail-head span{display:block; margin-top:3px; color:var(--tsov-muted); font-size:10px; line-height:1.35}
.tsov-rail-body{display:grid; gap:5px; padding:8px}
.tsov-item{
  display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:9px; align-items:center;
  padding:8px 10px; border-radius:10px; border:1px solid transparent;
  color:var(--tsov-text); text-decoration:none; font-size:11px;
}
.tsov-item:hover{border-color:var(--tsov-border); background:rgba(255,255,255,.02)}
.tsov-item strong{display:block; font-size:11px}
.tsov-item span{display:block; margin-top:3px; color:var(--tsov-muted); font-size:10px; line-height:1.3}
.tsov-meta{color:var(--tsov-muted-2); font-size:10px}
#ts-overlay-toggle{position:fixed; right:12px; bottom:12px; z-index:9999; display:none;}
#ts-overlay-toggle button{
  min-height:38px; min-width:38px; border-radius:999px; border:1px solid var(--tsov-border);
  background:linear-gradient(180deg, rgba(24,24,27,.97), rgba(18,18,20,.99));
  color:var(--tsov-text); box-shadow:var(--tsov-shadow); cursor:pointer;
}
@media (max-width:900px){
  body.ts-overlay-pad{padding-top:80px !important;}
  #ts-overlay-bar{align-items:flex-start; flex-direction:column}
  #ts-overlay-rail{display:none}
  #ts-overlay-toggle{display:block}
  #ts-overlay-rail.open{display:block}
}
