/* pages.css
   Explore + Lab + chart-only + small feature/page specific rules
*/


/* ===== FROM zzz_explore.css ===== */
/* ===== EXPLORE MORE CANONICAL / FINAL ===== */

#explore-analysis-wrap{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
  margin-top: 12px !important;
  margin-bottom: 10px !important;
  padding: 16px 16px 14px 16px !important;
}

#app-root.theme-dark #explore-analysis-wrap{
  background:
    radial-gradient(circle at top left, rgba(0,200,255,0.05), transparent 26%),
    linear-gradient(180deg, rgba(10,16,24,0.92) 0%, rgba(5,10,16,0.98) 100%) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 18px 40px rgba(0,0,0,0.26) !important;
}

#app-root.theme-light #explore-analysis-wrap{
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%) !important;
  border: 1px solid #d9e3ee !important;
  box-shadow: 0 14px 32px rgba(15,23,42,0.08) !important;
}

#explore-analysis-wrap .explore-analysis-title{
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 6px !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-analysis-title{
  color: #f3f7fb !important;
}

#app-root.theme-light #explore-analysis-wrap .explore-analysis-title{
  color: #0f172a !important;
}

#explore-analysis-wrap .explore-analysis-subtitle{
  font-size: 13px !important;
  margin-bottom: 14px !important;
  line-height: 1.45 !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-analysis-subtitle{
  color: rgba(232,241,242,0.78) !important;
}

#app-root.theme-light #explore-analysis-wrap .explore-analysis-subtitle{
  color: #5b6b7d !important;
}

#explore-analysis-wrap .explore-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

#explore-analysis-wrap .explore-group-card{
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px 18px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  transition:
    transform 160ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-group-card{
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(255,255,255,0.04), transparent 34%),
    linear-gradient(180deg, rgba(13,19,28,0.98) 0%, rgba(7,11,19,1) 100%) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 16px 34px rgba(0,0,0,0.24) !important;
}

#app-root.theme-light #explore-analysis-wrap .explore-group-card{
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(255,255,255,0.95), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f6fafe 100%) !important;
  border: 1px solid #d8e3ee !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 12px 24px rgba(15,23,42,0.08) !important;
}

#explore-analysis-wrap .explore-group-card:hover{
  transform: translateY(-2px) !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-group-card:hover{
  border-color: rgba(255,255,255,0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 22px 44px rgba(0,0,0,0.32) !important;
}

#app-root.theme-light #explore-analysis-wrap .explore-group-card:hover{
  border-color: #cbd8e5 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 18px 32px rgba(15,23,42,0.11) !important;
}

#explore-analysis-wrap .explore-group-card::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 16px !important;
  bottom: 16px !important;
  width: 5px !important;
  border-radius: 999px !important;
}

#explore-analysis-wrap .explore-group-card:nth-child(1)::before{ background:#facc15 !important; }
#explore-analysis-wrap .explore-group-card:nth-child(2)::before{ background:#fde047 !important; }
#explore-analysis-wrap .explore-group-card:nth-child(3)::before{ background:#60a5fa !important; }
#explore-analysis-wrap .explore-group-card:nth-child(4)::before{ background:#fb7185 !important; }

#explore-analysis-wrap .explore-group-title{
  font-size: 16px !important;
  font-weight: 900 !important;
  margin-bottom: 15px !important;
  padding-left: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-group-title{ color:#f3f7fb !important; }
#app-root.theme-light #explore-analysis-wrap .explore-group-title{ color:#0f172a !important; }

#explore-analysis-wrap .explore-group-chips{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

#explore-analysis-wrap a.explore-chip{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  transition:
    transform 140ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease !important;
}

#app-root.theme-dark #explore-analysis-wrap a.explore-chip{
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 6px 14px rgba(0,0,0,0.16) !important;
}

#app-root.theme-light #explore-analysis-wrap a.explore-chip{
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid #d4dfeb !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.97),
    0 5px 12px rgba(15,23,42,0.05) !important;
}

#explore-analysis-wrap a.explore-chip:hover{
  transform: translateY(-1px) !important;
}

#app-root.theme-dark #explore-analysis-wrap a.explore-chip:hover{
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 10px 20px rgba(0,0,0,0.24) !important;
}

#app-root.theme-light #explore-analysis-wrap a.explore-chip:hover{
  border-color: #c7d5e3 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 8px 18px rgba(15,23,42,0.08) !important;
}

#explore-analysis-wrap .explore-chip-symbol{
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-chip-symbol{ color:#f3f7fb !important; }
#app-root.theme-light #explore-analysis-wrap .explore-chip-symbol{ color:#0f172a !important; }

#explore-analysis-wrap .explore-chip-label{
  font-size: 11px !important;
  font-weight: 700 !important;
}

#app-root.theme-dark #explore-analysis-wrap .explore-chip-label{ color:rgba(232,241,242,0.68) !important; }
#app-root.theme-light #explore-analysis-wrap .explore-chip-label{ color:#64748b !important; }

@media (max-width: 1200px){
  #explore-analysis-wrap .explore-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px){
  #explore-analysis-wrap{
    padding: 14px 12px 12px 12px !important;
  }

  #explore-analysis-wrap .explore-grid{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #explore-analysis-wrap .explore-group-card{
    padding: 14px 14px !important;
    border-radius: 18px !important;
  }

  #explore-analysis-wrap .explore-group-title{
    font-size: 14px !important;
    margin-bottom: 12px !important;
  }

  #explore-analysis-wrap a.explore-chip{
    padding: 9px 12px !important;
  }

  #explore-analysis-wrap .explore-group-card:hover,
  #explore-analysis-wrap a.explore-chip:hover{
    transform: none !important;
  }
}


/* =========================================
   Market Outlook Section
========================================= */

.market-outlook-wrap{
  border-radius:16px;
}

/* DARK THEME */
#app-root.theme-dark .market-outlook-wrap{
  background: linear-gradient(180deg, rgba(12,20,34,0.92), rgba(6,12,22,0.96));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow: 0 12px 32px rgba(0,0,0,0.35);
}

#app-root.theme-dark #market-outlook-cards > div{
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

#app-root.theme-dark #market-outlook-text{
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.10);
}

/* LIGHT THEME */
#app-root.theme-light .market-outlook-wrap{
  background:#f4f7fb;
  border:1px solid #e3e8ef;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

#app-root.theme-light #market-outlook-cards > div{
  background:#ffffff;
  border:1px solid #e3e8ef;
  box-shadow: 0 4px 14px rgba(0,0,0,0.05);
}

#app-root.theme-light #market-outlook-text{
  background:#ffffff;
  border:1px solid #e3e8ef;
  box-shadow: 0 4px 14px rgba(0,0,0,0.05);
}

/* metric mini boxes */
#app-root.theme-light #market-outlook-cards > div div{
  background:#eef2f7;
  border:1px solid #e3e8ef;
}


/* =========================================
   Market Regime Bar
========================================= */

#market-regime-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
  margin-bottom:18px;
}

.regime-pill{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.25px;
  border:1px solid transparent;
  line-height:1;
}

#app-root.theme-dark .regime-pill{
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

#app-root.theme-light .regime-pill{
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.regime-risk-on{
  background: rgba(34,197,94,0.14);
  border-color: rgba(34,197,94,0.24);
  color: #16a34a;
}

.regime-risk-off{
  background: rgba(239,68,68,0.14);
  border-color: rgba(239,68,68,0.24);
  color: #dc2626;
}

.regime-positive{
  background: rgba(59,130,246,0.12);
  border-color: rgba(59,130,246,0.22);
  color: #2563eb;
}

.regime-neutral{
  background: rgba(148,163,184,0.14);
  border-color: rgba(148,163,184,0.22);
  color: #475569;
}

.regime-negative{
  background: rgba(245,158,11,0.14);
  border-color: rgba(245,158,11,0.24);
  color: #b45309;
}

#app-root.theme-dark .regime-risk-on{ color:#86efac; }
#app-root.theme-dark .regime-risk-off{ color:#fca5a5; }
#app-root.theme-dark .regime-positive{ color:#93c5fd; }
#app-root.theme-dark .regime-neutral{ color:#cbd5e1; }
#app-root.theme-dark .regime-negative{ color:#fcd34d; }


/* Market Outlook Text Cards */
.mkt-text-card{
  padding:16px 18px;
  border-radius:12px;
  margin-top:12px;
}

.mkt-section-title{
  font-weight:700;
  font-size:13px;
  margin-bottom:6px;
  opacity:0.85;
  letter-spacing:0.2px;
}

#app-root.theme-dark .mkt-text-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border:1px solid rgba(255,255,255,0.08);
}

#app-root.theme-light .mkt-text-card{
  background:#ffffff;
  border:1px solid #e3e8ef;
  box-shadow:0 4px 14px rgba(0,0,0,0.05);
}


/* Big Market Outlook Text Card */
.mkt-text-big-card{
  padding:18px 20px;
  border-radius:14px;
  margin-top:12px;
}

.mkt-divider{
  margin:14px 0;
  border:0;
  height:1px;
  opacity:0.15;
}

#app-root.theme-dark .mkt-text-big-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border:1px solid rgba(255,255,255,0.08);
}

#app-root.theme-light .mkt-text-big-card{
  background:#ffffff;
  border:1px solid #e3e8ef;
  box-shadow:0 4px 14px rgba(0,0,0,0.05);
}


/* Market Outlook Section Titles */
.mkt-section-title{
  font-weight:800;
  font-size:14px;
  letter-spacing:0.3px;
  margin-bottom:6px;
  display:flex;
  align-items:center;
  gap:6px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

#app-root.theme-light .mkt-section-title{
  border-bottom:1px solid #e3e8ef;
}


/* ===== FROM lab.css ===== */
/* ===== WOI LAB ONLY ===== */

html, body {
  margin: 0;
  padding: 0;
}

body {
  background: #06111f;
  color: #e6edf5;
  font-family: Inter, Arial, sans-serif;
}

#react-entry-point, #_dash-app-content {
  background: #06111f;
}

.lab-page,
.lab-wrap,
.lab-root {
  background: #06111f;
  color: #e6edf5;
}

/* top container */
.lab-shell {
  max-width: 1600px;
  margin: 0 auto;
  padding: 16px;
}

/* headings */
.lab-title {
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0 0 6px 0;
  color: #f4f8fc;
}

.lab-subtitle {
  font-size: 13px;
  color: rgba(230, 237, 245, 0.72);
  margin-bottom: 18px;
}

/* section cards */
.lab-card {
  background: linear-gradient(180deg, rgba(13,19,28,0.98) 0%, rgba(7,11,19,1) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 12px 28px rgba(0,0,0,0.22);
  padding: 14px;
  margin-bottom: 16px;
}

.lab-section-title {
  font-size: 16px;
  font-weight: 900;
  color: #f4f8fc;
  margin: 0 0 12px 0;
}

.lab-section-sub {
  font-size: 12px;
  color: rgba(230,237,245,0.70);
  margin: -6px 0 12px 0;
}

/* filters */
.lab-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.lab-filter-box label,
.lab-filter-label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
  color: #b8c7d9;
}

/* KPI row */
.lab-kpi-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.lab-kpi-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.lab-kpi-title {
  font-size: 11px;
  color: rgba(230,237,245,0.68);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lab-kpi-value {
  font-size: 22px;
  font-weight: 900;
  color: #f8fbff;
  line-height: 1.1;
}

.lab-kpi-sub {
  font-size: 11px;
  color: rgba(230,237,245,0.58);
  margin-top: 4px;
}

/* insights */
.lab-insights-box {
  background: linear-gradient(180deg, rgba(0,200,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(96,165,250,0.20);
  border-radius: 16px;
  padding: 14px 16px;
}

.lab-insights-box ul {
  margin: 8px 0 0 18px;
}

.lab-insights-box li {
  margin-bottom: 6px;
  color: #dce7f3;
}

/* tables */
.lab-table-wrap {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.015);
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner table {
  background: #081423 !important;
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th {
  background: #0d1b2a !important;
  color: #dbe7f3 !important;
  font-weight: 800 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner td {
  background: #081423 !important;
  color: #dce7f3 !important;
  border-color: rgba(255,255,255,0.06) !important;
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner tr:hover td {
  background: #0d1b2a !important;
}

/* dropdown / input polish */
.Select-control,
.Select-menu-outer,
input,
.DateInput_input {
  background: #0b1624 !important;
  color: #e6edf5 !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}

.Select-placeholder,
.Select-value-label {
  color: #dbe7f3 !important;
}

@media (max-width: 1200px) {
  .lab-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lab-kpi-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .lab-shell {
    padding: 12px;
  }

  .lab-filter-grid,
  .lab-kpi-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .lab-title {
    font-size: 24px;
  }
}

/* all-time health polish */
#lab-health-table .dash-spreadsheet-container,
#lab-summary-table .dash-spreadsheet-container,
#lab-explorer-table .dash-spreadsheet-container{
  border-radius: 14px;
  overflow: hidden;
}

#lab-insights-box li{
  margin-bottom: 8px;
}

/* top3 screener cards */
.lab-top3-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}

.lab-top3-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.lab-top3-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.lab-top3-rank{
  width:30px;
  height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  color:#f8fbff;
  background: rgba(96,165,250,0.18);
  border:1px solid rgba(96,165,250,0.30);
}

.lab-top3-name{
  font-size:15px;
  font-weight:900;
  color:#f4f8fc;
}

.lab-top3-body{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}

.lab-top3-kv{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 10px 11px;
}

.lab-top3-k{
  font-size:11px;
  color: rgba(230,237,245,0.68);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.lab-top3-v{
  font-size:14px;
  font-weight:800;
  color:#f8fbff;
}

.lab-top3-empty{
  color: rgba(230,237,245,0.72);
  font-size: 13px;
}

@media (max-width: 1200px){
  .lab-top3-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .lab-top3-grid{
    grid-template-columns: minmax(0, 1fr);
  }
}

.lab-top3-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.lab-top3-name{
  font-size:15px;
  font-weight:900;
  color:#f4f8fc;
  flex:1 1 auto;
  min-width:0;
}

.lab-top3-score-pill,
.lab-top3-quality-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.lab-top3-body{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.lab-top3-kv{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 10px 11px;
  min-width: 0;
}

.lab-top3-k{
  font-size:11px;
  color: rgba(230,237,245,0.68);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.lab-top3-v{
  font-size:14px;
  font-weight:800;
  color:#f8fbff;
}

@media (max-width: 1200px){
  .lab-top3-body{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .lab-top3-head{
    flex-wrap:wrap;
  }

  .lab-top3-body{
    grid-template-columns: minmax(0, 1fr);
  }
}


/* ===== FROM chart_only.css ===== */
/* chart-only iframe mode */

#app-root.chart-only .ticker-area,
#app-root.chart-only .control,
#app-root.chart-only .watchlist-bar,
#app-root.chart-only .tablewrap,
#app-root.chart-only #details-howto,
#app-root.chart-only #analysis-wrap,
#app-root.chart-only #narrative-wrap,
#app-root.chart-only #explore-analysis-wrap,
#app-root.chart-only .scanner-side-col,
#app-root.chart-only .mkt-grid,
#app-root.chart-only .mkt-card {
  display: none !important;
}

#app-root.chart-only .scanner-main-grid {
  display: block !important;
}

#app-root.chart-only .scanner-chart-col {
  display: block !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

#app-root.chart-only .chartwrap {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#app-root.chart-only .overlaybox {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

#app-root.chart-only .fibo-row {
  margin-left: 0 !important;
  margin-top: 4px !important;
  margin-bottom: 6px !important;
}

#app-root.chart-only #chart-anchor {
  display: block !important;
  height: 1px !important;
}

#app-root.chart-only #chart {
  height: 100vh !important;
  min-height: 100vh !important;
  margin-bottom: 0 !important;
}

#app-root.chart-only .woi-shell,
#app-root.chart-only.page {
  padding-top: 0 !important;
}


/* ===== FROM chart_legend_toggle.css ===== */
/* Main chart legend hidden by default */
#chart .legend,
#chart g.legend {
  display: none !important;
}

/* When toggled on */
body.show-chart-legend #chart .legend,
body.show-chart-legend #chart g.legend {
  display: block !important;
}
