/* Graphene Dome — State Map */
.gd-statemap-section{--green:#0ef901;--net-b:#4d9fff;--gold:#F2B416;--panel:#0a1120;--border:#16233d;--text:#e7eefc;--dim:#9fb0cc;--faint:#808fac;
  background:radial-gradient(900px 500px at 50% -10%,#0a1a33 0,transparent 60%),#03060d;color:var(--text);
  font-family:"Times New Roman",Times,serif;padding:54px 0 60px;}
.gd-statemap-section .wrap{max-width:1240px;margin:0 auto;padding:0 26px;}
.gd-statemap-section .gdsm-head{text-align:center;margin-bottom:26px;}
.gd-statemap-section .gdsm-head h2{font-family:"Cinzel",Georgia,serif;font-weight:800;font-size:30px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;}
.gd-statemap-section .gdsm-head p{color:var(--dim);font-size:15px;max-width:680px;margin:0 auto;}
#gd-state-map-root{min-height:420px;}
.gdsm-fallback{padding:40px;text-align:center;color:var(--dim);}
.gdsm-fallback a{color:var(--green);}

.gdsm-wrap{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start;}
.gdsm-mapcol{border:1px solid var(--border);border-radius:16px;background:rgba(8,14,26,.6);padding:10px;position:relative;}
.gdsm-svg{width:100%;height:auto;display:block;}
.gdsm-state{stroke:#0a1626;stroke-width:.6;cursor:pointer;transition:fill .2s,stroke .2s;}
.gdsm-state:hover{stroke:var(--green);stroke-width:1.4;}
.gdsm-svg.zoomed .gdsm-bub{opacity:.25;}
.gdsm-bubc{fill:rgba(3,6,13,.78);stroke:var(--green);stroke-width:1.4;}
.gdsm-bubt{fill:#fff;font-family:"Cinzel",Georgia,serif;font-weight:700;font-size:11px;text-anchor:middle;pointer-events:none;}

.gdsm-legend{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:6px;color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.gdsm-legend .bar{width:160px;height:9px;border-radius:5px;background:linear-gradient(90deg,#10324a,#0ef901);border:1px solid var(--border);}

.gdsm-panel{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:22px;min-height:300px;}
.gdsm-panel h3{font-family:"Cinzel",Georgia,serif;text-transform:uppercase;letter-spacing:.05em;font-size:18px;margin:0 0 10px;}
.gdsm-panel p{color:var(--dim);font-size:13.5px;}
.gdsm-total{color:var(--green);font-family:"Cinzel",Georgia,serif;font-size:15px;margin:2px 0 14px;}
.gdsm-loading{color:var(--dim);padding:20px 0;}
.gdsm-back{background:none;border:1px solid var(--border);color:var(--dim);font-family:"Cinzel",Georgia,serif;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;padding:6px 12px;border-radius:6px;cursor:pointer;margin-bottom:14px;}
.gdsm-back:hover{border-color:var(--net-b);color:var(--text);}
.gdsm-types{display:flex;flex-direction:column;gap:2px;margin:6px 0 16px;}
.gdsm-type{display:flex;align-items:center;gap:10px;padding:9px 6px;border-top:1px solid var(--border);color:var(--dim);font-size:13.5px;text-decoration:none;}
.gdsm-type:first-child{border-top:none;}
.gdsm-type:hover{color:var(--text);}
.gdsm-type .dot{width:11px;height:11px;border-radius:50%;flex:0 0 11px;}
.gdsm-type .lab{flex:1;}
.gdsm-type .cnt{font-family:"Cinzel",Georgia,serif;color:var(--text);}
.gdsm-view{display:block;text-align:center;background:linear-gradient(180deg,var(--green),#0bbf02);color:#012;font-family:"Cinzel",Georgia,serif;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;padding:12px;border-radius:8px;text-decoration:none;box-shadow:0 0 18px rgba(14,249,1,.3);}

.gdsm-tip{position:fixed;z-index:99999;display:none;background:#0a1120;border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:#e7eefc;font-family:"Times New Roman",serif;font-size:13px;pointer-events:none;box-shadow:0 8px 26px rgba(0,0,0,.5);}
.gdsm-tip b{font-family:"Cinzel",Georgia,serif;}

@media(max-width:900px){.gdsm-wrap{grid-template-columns:1fr;}}

/* WCAG: ensure headings use light text, override theme #333 (low specificity, preserves green headings) */
.gd-statemap-section :where(h1,h2,h3,h4){color:var(--text);}
