#ct-sphere-globe{
  /* violet ramp (replaces the old yellow + teal accents) */
  --v1:#dbe1ff; --v2:#b9c2ff; --v3:#99a2ff; --violet:#6359ff; --violet-d:#2e2880;
  --violet-l:#99a2ff; --teal:#99a2ff; --yellow:#b9c2ff;
  --gray:#b7b4d6; --gray-d:#6b6790;
  --line:rgba(255,255,255,0.10); --line-2:rgba(255,255,255,0.18); --glass:rgba(18,16,46,0.55);
  --ease:cubic-bezier(0.22,1,0.36,1);
  --font-d:'Space Grotesk',system-ui,sans-serif;
  --font-b:'Inter',system-ui,-apple-system,sans-serif;
  --font-m:'JetBrains Mono',ui-monospace,monospace;
  position:relative;width:100%;height:100vh;min-height:560px;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 120% at 70% 30%,#12102e 0%,#0a0820 60%,#07061a 100%);
  font-family:var(--font-b);color:var(--gray);
}
#ct-sphere-globe *,#ct-sphere-globe *::before,#ct-sphere-globe *::after{box-sizing:border-box;}
#ct-sphere-globe .ct-globe-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;}
#ct-sphere-globe .ct-globe-canvas:active{cursor:grabbing;}
#ct-sphere-globe .ct-label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
#ct-sphere-globe .amb{position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:.5;}
#ct-sphere-globe .amb-violet{width:1100px;height:1100px;right:-240px;top:-340px;background:radial-gradient(closest-side,rgba(99,89,255,.55),transparent 70%);}
#ct-sphere-globe .amb-teal{width:900px;height:900px;left:-260px;bottom:-300px;background:radial-gradient(closest-side,rgba(153,162,255,.30),transparent 70%);}
/* globe labels */
#ct-sphere-globe .globe-label{position:absolute;left:0;top:0;pointer-events:none;font-family:var(--font-b);font-size:12px;font-weight:500;color:rgba(255,255,255,.92);white-space:nowrap;display:flex;align-items:center;gap:6px;text-shadow:0 1px 8px rgba(0,0,0,.85);transition:opacity .25s ease;padding:2px 4px;}
#ct-sphere-globe .globe-label .dot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px currentColor;}
#ct-sphere-globe .globe-label b{font-weight:600;}
#ct-sphere-globe .globe-label i{font-style:normal;color:var(--gray);font-size:10px;margin-left:5px;border-left:1px solid var(--line-2);padding-left:6px;}
#ct-sphere-globe .globe-label.is-hq b{color:var(--v1);}
#ct-sphere-globe .globe-label.is-event b{color:var(--v2);}
#ct-sphere-globe .globe-tip{position:absolute;left:0;top:0;pointer-events:none;z-index:5;background:rgba(10,8,28,.92);border:1px solid var(--line-2);border-radius:8px;padding:7px 11px;opacity:0;transition:opacity .14s;backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:1px;white-space:nowrap;}
#ct-sphere-globe .globe-tip b{font-size:13px;font-weight:600;color:#fff;}
#ct-sphere-globe .globe-tip span{font-size:11px;color:var(--gray);}

/* ---- glass panel base ---- */
#ct-sphere-globe .panel{position:absolute;z-index:25;background:var(--glass);backdrop-filter:blur(18px) saturate(1.1);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6);}
#ct-sphere-globe .panel-h{font-family:var(--font-m);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-d);margin:0 4px 12px;display:flex;justify-content:space-between;align-items:center;}
/* metrics panel (right, stacked dashboard) */
#ct-sphere-globe .metrics{right:32px;top:32px;bottom:32px;width:420px;padding:16px 20px;overflow-y:auto;}
#ct-sphere-globe .metrics-list{display:grid;grid-template-columns:1fr;gap:0;}
#ct-sphere-globe .metric{padding:10px 0;border-bottom:1px solid var(--line);}
#ct-sphere-globe .metric:last-child{border-bottom:none;}
#ct-sphere-globe .metric .v{font-family:var(--font-d);font-weight:600;font-size:26px;letter-spacing:-0.02em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
#ct-sphere-globe .metric .v .u{font-size:14px;color:var(--teal);margin-left:3px;font-weight:500;}
#ct-sphere-globe .metric .l{font-size:11px;color:var(--gray-d);margin-top:4px;letter-spacing:.01em;}
/* SVG line chart */
#ct-sphere-globe .spark-wrap{position:relative;height:64px;margin-top:10px;}
#ct-sphere-globe .spark-svg{width:100%;height:100%;display:block;overflow:visible;}
#ct-sphere-globe .spark-line{fill:none;stroke:var(--violet-l);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;}
#ct-sphere-globe .spark-guideline{stroke:rgba(255,255,255,.1);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;}
#ct-sphere-globe .spark-ref{position:absolute;left:0;top:0;font-family:var(--font-m);font-size:9px;color:rgba(255,255,255,.28);line-height:1;pointer-events:none;}
#ct-sphere-globe .spark-time{position:absolute;right:0;bottom:0;font-family:var(--font-m);font-size:9px;color:rgba(255,255,255,.2);line-height:1;pointer-events:none;}
/* region navigation list inside metrics panel */
#ct-sphere-globe .metrics-regions{border-top:1px solid var(--line);margin-top:10px;padding-top:12px;}
#ct-sphere-globe .metrics-regions-h{font-family:var(--font-m);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-d);margin-bottom:6px;}
#ct-sphere-globe .region-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:7px;cursor:pointer;background:none;border:none;color:inherit;font:inherit;width:100%;text-align:left;transition:background .15s;}
#ct-sphere-globe .region-row:hover{background:rgba(255,255,255,.05);}
#ct-sphere-globe .region-row-name{flex:1;font-size:12px;color:var(--gray);}
#ct-sphere-globe .region-row:hover .region-row-name{color:#fff;}
#ct-sphere-globe .region-row-prov{font-family:var(--font-m);font-size:9px;letter-spacing:.06em;color:var(--gray-d);background:rgba(255,255,255,.06);padding:2px 5px;border-radius:4px;}
/* detail card (region metrics) */
#ct-sphere-globe .detail{right:32px;top:32px;bottom:32px;z-index:40;width:420px;padding:20px 24px;overflow-y:auto;transform:translateY(-16px) scale(.98);opacity:0;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease);}
#ct-sphere-globe .detail.show{transform:none;opacity:1;pointer-events:auto;}
#ct-sphere-globe .detail .x{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--gray);cursor:pointer;display:grid;place-items:center;font-size:15px;}
#ct-sphere-globe .detail .x:hover{background:rgba(255,255,255,.08);color:#fff;}
#ct-sphere-globe .detail .kind{font-family:var(--font-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;color:var(--v3);}
#ct-sphere-globe .detail h3{font-family:var(--font-d);font-weight:600;font-size:24px;margin:0 0 4px;letter-spacing:-0.02em;color:#fff;}
#ct-sphere-globe .detail .sub{font-size:13px;color:var(--gray);margin-bottom:16px;}
#ct-sphere-globe .detail .rows{display:grid;gap:10px;}
#ct-sphere-globe .detail .r{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;gap:16px;padding-bottom:9px;border-bottom:1px solid var(--line);}
#ct-sphere-globe .detail .r:last-child{border-bottom:none;padding-bottom:0;}
#ct-sphere-globe .detail .r .k{color:var(--gray-d);flex:none;}
#ct-sphere-globe .detail .r .val{font-family:var(--font-m);font-weight:500;color:#fff;white-space:nowrap;text-align:right;}
#ct-sphere-globe .region-live{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
#ct-sphere-globe .region-live-h{font-family:var(--font-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-d);margin-bottom:8px;}
/* metrics step aside when a detail card is open */
#ct-sphere-globe.ct-detail-open .metrics{opacity:0;transform:translateX(12px);pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease);}
/* responsive: stack panel in-flow on small screens */
@media (max-width:940px){
  #ct-sphere-globe .metrics,#ct-sphere-globe .detail{width:340px;right:20px;}
}
@media (max-width:680px){
  #ct-sphere-globe{height:auto;min-height:0;}
  #ct-sphere-globe .ct-globe-canvas{position:relative;height:300px;}
  #ct-sphere-globe .ct-label-layer{height:300px;}
  #ct-sphere-globe .panel,#ct-sphere-globe .detail{position:relative;right:auto;top:auto;bottom:auto;width:auto;margin:16px 12px;}
  #ct-sphere-globe.ct-detail-open .metrics{display:none;}
}
