:root{
  --tscg-bg:#08090d;
  --tscg-panel:#11141b;
  --tscg-panel-2:#171b24;
  --tscg-line:#2a3140;
  --tscg-text:#f6f7fb;
  --tscg-muted:#9aa3b2;
  --tscg-cyan:#58d7ff;
  --tscg-green:#37d67a;
  --tscg-amber:#f5c84b;
  --tscg-red:#ff5d73;
}

#tscg-launcher{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1004;
  display:flex;
  gap:8px;
  align-items:center;
}

#tscg-launcher button,
.tscg-btn{
  appearance:none;
  border:1px solid rgba(88,215,255,.34);
  background:linear-gradient(180deg,#17202c,#0d121a);
  color:var(--tscg-text);
  border-radius:8px;
  padding:9px 11px;
  font:800 11px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}

#tscg-launcher button:focus-visible,
.tscg-btn:focus-visible{
  outline:2px solid var(--tscg-cyan);
  outline-offset:2px;
}

#tscg-panel{
  position:fixed;
  right:18px;
  bottom:66px;
  z-index:1004;
  width:min(460px,calc(100vw - 32px));
  max-height:min(720px,calc(100vh - 92px));
  overflow:auto;
  display:none;
  background:linear-gradient(180deg,rgba(17,20,27,.98),rgba(8,9,13,.98));
  color:var(--tscg-text);
  border:1px solid rgba(88,215,255,.24);
  border-radius:12px;
  box-shadow:0 18px 70px rgba(0,0,0,.55);
}

#tscg-panel.open{display:block}

.tscg-head{
  position:sticky;
  top:0;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:15px;
  background:rgba(17,20,27,.96);
  border-bottom:1px solid var(--tscg-line);
  backdrop-filter:blur(10px);
}

.tscg-title{
  margin:0;
  color:var(--tscg-text);
  font:900 14px/1.1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tscg-sub{
  margin-top:5px;
  color:var(--tscg-muted);
  font:650 11px/1.35 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.tscg-body{padding:14px;display:grid;gap:12px}

.tscg-band{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.tscg-metric{
  min-width:0;
  border:1px solid var(--tscg-line);
  background:var(--tscg-panel-2);
  border-radius:8px;
  padding:10px;
}

.tscg-metric strong{
  display:block;
  color:var(--tscg-text);
  font:900 18px/1.1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.tscg-metric span{
  display:block;
  margin-top:4px;
  color:var(--tscg-muted);
  font:750 9px/1.25 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.tscg-grid{display:grid;gap:8px}

.tscg-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--tscg-line);
  background:rgba(255,255,255,.025);
  border-radius:8px;
  padding:10px;
}

.tscg-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--tscg-muted);
  box-shadow:0 0 0 4px rgba(154,163,178,.08);
}

.tscg-row.pass .tscg-dot{background:var(--tscg-green);box-shadow:0 0 0 4px rgba(55,214,122,.1)}
.tscg-row.warn .tscg-dot{background:var(--tscg-amber);box-shadow:0 0 0 4px rgba(245,200,75,.12)}
.tscg-row.fail .tscg-dot{background:var(--tscg-red);box-shadow:0 0 0 4px rgba(255,93,115,.12)}

.tscg-copy strong{
  display:block;
  color:var(--tscg-text);
  font:850 12px/1.25 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.tscg-copy span{
  display:block;
  margin-top:2px;
  color:var(--tscg-muted);
  font:600 11px/1.35 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-wrap:anywhere;
}

.tscg-badge{
  border:1px solid var(--tscg-line);
  border-radius:999px;
  padding:5px 7px;
  color:var(--tscg-muted);
  font:900 9px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.tscg-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.tscg-btn.secondary{
  border-color:var(--tscg-line);
  background:#10131a;
  color:#d7dde8;
}

.tscg-btn.danger{
  border-color:rgba(255,93,115,.42);
  color:#ffe3e8;
}

@media (max-width:760px){
  #tscg-launcher{right:12px;bottom:12px}
  #tscg-panel{right:12px;bottom:58px;width:calc(100vw - 24px)}
  .tscg-band{grid-template-columns:1fr}
  .tscg-row{grid-template-columns:auto 1fr}
  .tscg-badge{grid-column:2}
}
