/* */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* 30 */
@keyframes phaseChgBlink {
  from { opacity: 1; box-shadow: 0 0 6px rgba(255,40,40,.4); }
  to   { opacity: 0.55; box-shadow: 0 0 2px rgba(255,40,40,.1); }
}
/* BOSS */
@keyframes bossGlow {
  0%,100% { opacity: 1; }
  50%      { opacity: 0.75; }
}

:root {
  --bg:         #0e0f14;
  --bg2:        #161820;
  --bg3:        #1e2030;
  --border:     #2a2d3e;
  --text:       #c8cad8;
  --text-dim:   #6b7080;
  --accent:     #4b6ef5;
  --green:      #32D278;
  --red:        #DC4632;
  --orange:     #FF8C1E;
  --gold:       #E6D23C;
  --topbar-h:   48px;
  --dash-w:     340px;
}

html, body { height: 100%; background: var(--bg); color: var(--text); font-family: 'Segoe UI', 'PingFang SC', sans-serif; font-size: 13px; overflow: hidden; }
body { display: flex; flex-direction: column; }   /* ： gauge-panel +  main-layout +  footer */

/* */
/* ：logo + */
.left-col {
  width: var(--dash-w); flex-shrink: 0;
  background: var(--bg2); border-right: 1px solid var(--border);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.left-logo {
  flex: 0 0 auto; height: 32px;
  display: flex; align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid var(--border);
  background: var(--bg2);
}
.left-logo .logo { font-size: 14px; }
.dash-scroll {
  flex: 1 1 auto; min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #15192a transparent;
}
.dash-scroll::-webkit-scrollbar { width: 3px; }
.dash-scroll::-webkit-scrollbar-track { background: transparent; }
.dash-scroll::-webkit-scrollbar-thumb { background: #15192a; border-radius: 4px; }
.dash-scroll::-webkit-scrollbar-thumb:hover { background: #1f2640; }
.left-col.collapsed { width: 0; border-right: none; }
.left-col.collapsed .left-logo,
.left-col.collapsed .dash-scroll { display: none; }

/* ：3 + */
/* ① + ② XAUUSD++ ③ */
/* cell：，； = */
.gauge-cell {
  flex: 0 1 auto;                                /* ★ ， */
  min-width: 0;
  max-width: 360px;                              /* ★  */
  border-right: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
  background: var(--bg2);
  display: flex; flex-direction: column;
  word-break: break-word;                        /*  */
}
#cellResonance { overflow-y: auto; min-width: 200px; }

.gauge-cell:last-child { border-right: none; }

/* ① ：（）| （，）*/
#gaugeSideLeft {
  flex-direction: row !important;
  align-items: stretch;
  overflow: hidden;
}
#gaugeSideLeft > .sb-block:first-of-type {
  flex: 1 1 auto; min-width: 0;           /*  */
  border-right: 1px solid rgba(255,255,255,.06);
  overflow-y: auto;
}
#gaugeSideLeft > .sb-block:last-of-type {
  flex: 0 0 120px;                         /*  120px， */
  overflow-y: auto;
}
#gaugeSideLeft > .sb-divider { display: none; }

/* ② ：（ | XAUUSD ）—— Cell ① */
.gauge-cell-mid {
  flex-direction: row;    /*  .gauge-cell  column  */
  align-items: stretch;
}
.gauge-cell-mid-left {
  flex: 1 1 50%; min-width: 0;
  border-right: 1px solid rgba(255,255,255,.06);
  padding: 4px 8px;
  justify-content: flex-start;  /*  */
}
.gauge-cell-mid-right {
  flex: 1 1 50%; min-width: 0;
  display: flex; flex-direction: column;
  justify-content: flex-start;
  gap: 4px; padding: 5px 8px;
  background: rgba(30,40,60,.25);
  height: 100%;
}
.gauge-cell-mid-right .symbol-grid {
  flex: 1 1 auto;                     /*  XAUUSD  */
  align-content: space-between;       /*  */
}
/* XAUUSD ： + + */
.ph-xauusd-row1 {
  display: flex; align-items: center; gap: 5px; flex-wrap: wrap;
}
.ph-xauusd-row2 {
  display: flex; align-items: baseline; gap: 4px;
  padding: 2px 2px 4px;
  justify-content: center;    /* ★  */
}
.ph-xauusd-row2 .live-price { font-size: 14px; font-weight: 700; color: var(--text); }  /* ★ 20% (18→14px) */

/* XAUUSD */
.ph-xauusd .symbol-select { min-width: 100px; font-size: 12px; padding: 2px 6px; }
.ph-xauusd .status-text   { font-size: 11px; }
.ph-xauusd .clock         { display: none; }   /* ★  */

/* 3×3 （FINVIZ ）*/
.symbol-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding-top: 2px;
}
.symbol-btn {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 1px;
  font-size: 10px; font-weight: 700;
  padding: 4px 2px;
  background: var(--bg3);
  border: 1px solid transparent;
  color: #ffffff;                                /* ★  */
  border-radius: 3px;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .15s, transform .08s, box-shadow .15s;
  user-select: none;
  text-shadow: 0 1px 2px rgba(0,0,0,.4);          /*  */
}
.symbol-btn:hover {
  transform: scale(1.04);
  box-shadow: 0 0 0 2px rgba(255,255,255,.25) inset;
}
.symbol-btn.active {
  box-shadow: 0 0 0 2px var(--accent) inset, 0 0 5px var(--accent);
}
.symbol-btn .sym-name { font-size: 11px; font-weight: 700; line-height: 1.1; }
.symbol-btn .sym-pct  { font-size: 10px; font-weight: 600; opacity: .95; }

/* D （"+ " ）*/
.symbol-btn.slot-empty {
  background: transparent !important;
  border: 1px dashed rgba(255,255,255,.18) !important;
  color: var(--text-dim);
  text-shadow: none;
}
.symbol-btn.slot-empty .sym-name { color: var(--text-dim); font-size: 10px; }
.symbol-btn.slot-empty .sym-pct  { color: #6070a0; font-size: 9px; }
.symbol-btn.slot-empty:hover {
  background: rgba(75,110,245,.15) !important;
  border-color: var(--accent) !important;
  color: var(--text);
}
/* Fix #13: D （slot-custom） ✎ */
.symbol-btn.slot-custom { position: relative; }
.slot-edit-icon {
  position: absolute; top: 1px; right: 3px;
  font-size: 9px; opacity: 0.45; color: #aab; /* always visible — touch-friendly */
  cursor: pointer; line-height: 1;
  background: rgba(0,0,0,.45); border-radius: 2px;
  padding: 0 2px; transition: opacity .15s;
  pointer-events: auto;
}
.symbol-btn.slot-custom:hover .slot-edit-icon { opacity: 0.85; }
.slot-edit-icon:hover { opacity: 1 !important; color: var(--accent); }

/* D */
.slot-picker-overlay {
  z-index: 9999;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,.6);
  max-height: 320px;
  min-width: 110px;
  overflow-y: auto;
  font-size: 12px;
  scrollbar-width: thin; scrollbar-color: #15192a transparent;
}
.slot-picker-overlay::-webkit-scrollbar { width: 5px; }
.slot-picker-overlay::-webkit-scrollbar-thumb { background: #15192a; border-radius: 3px; }
.slot-picker-header {
  padding: 6px 10px; background: var(--bg3);
  font-size: 11px; font-weight: 700; color: var(--accent);
  border-bottom: 1px solid var(--border);
  letter-spacing: .5px;
}
.slot-picker-item {
  padding: 5px 12px; cursor: pointer; color: var(--text);
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .1s;
  white-space: nowrap;
}
.slot-picker-item:last-child { border-bottom: none; }
.slot-picker-item:hover { background: rgba(75,110,245,.20); color: #ffffff; }
.slot-picker-item.active { background: rgba(75,110,245,.30); color: #ffffff; font-weight: 700; }
.slot-picker-item.slot-clear { color: #ff8080; font-weight: 600; }
.slot-picker-item.slot-clear:hover { background: rgba(220,70,70,.25); }

/* ★ livePriceTicker（ B/A/spd ）*/
#livePriceTicker { display: none !important; }

.logo { font-size: 15px; font-weight: 700; color: var(--text); letter-spacing: .5px; }

.symbol-select {
  background: var(--bg3); color: var(--text); border: 1px solid var(--border);
  border-radius: 6px; padding: 4px 10px; font-size: 13px; cursor: pointer; outline: none;
  min-width: 140px;
}
.symbol-select:hover { border-color: var(--accent); }

.status-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.status-dot.online  { background: var(--green); box-shadow: 0 0 6px var(--green); }
.status-dot.offline { background: var(--red); }

.status-text { color: var(--text-dim); font-size: 12px; }
.clock { color: var(--text-dim); font-size: 12px; font-variant-numeric: tabular-nums; }

/* （ MT5 ） */
.dash-symbol-bar {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: 6px 10px 4px; background: var(--bg3);
  border-bottom: 1px solid var(--border); gap: 8px;
}
.dash-symbol {
  font-size: 15px; font-weight: 800; color: #ffe066;
  white-space: nowrap;
}
.dash-tf { font-size: 12px; color: #50dcff; margin-left: 4px; }
.dxy-tag { font-size: 11px; white-space: nowrap; }
.dxy-tag b { font-size: 12px; }
/* v2301: , */
.dash-live-price {
  font-size: 15px; font-weight: 800; color: #ffffff;
  white-space: nowrap; flex: 1; text-align: center;
  letter-spacing: .3px;
}
/* v2301: cellXauusd ( dashboard ) */
.ph-xauusd-row2 { display: none !important; }

/* */
.live-ticker {
  display: flex; align-items: center; gap: 8px;
  padding: 3px 10px; border-radius: 6px;
  background: var(--bg3); border: 1px solid var(--border);
  font-variant-numeric: tabular-nums;
}
.live-symbol { font-size: 11px; color: var(--text-dim); font-weight: 600; }
.live-price  { font-size: 14px; font-weight: 700; color: var(--text); }
.live-bid    { font-size: 11px; color: var(--green); }
.live-ask    { font-size: 11px; color: var(--red); }
.live-spread { font-size: 11px; color: var(--text-dim); }

.btn-icon {
  background: var(--bg3); color: var(--text); border: 1px solid var(--border);
  border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: 14px;
}
.btn-icon:hover { border-color: var(--accent); color: var(--accent); }

/* */
.main-layout {
  display: flex; flex: 1 1 auto; min-height: 0;   /* flex:1  footer  */
  overflow: hidden;
}

/* （） */
.dashboard-panel {
  width: var(--dash-w); flex-shrink: 0;
  background: var(--bg2); border-right: 1px solid var(--border);
  display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden;
}

/* ： */
.dash-toggle {
  width: 14px; flex-shrink: 0;
  background: var(--bg3); border-right: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--text-dim); font-size: 11px;
  transition: background .15s, color .15s; user-select: none;
}
.dash-toggle:hover { background: var(--bg2); color: var(--accent); }

/* （ gauge + chart） */
.right-panel {
  flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0;
}

/* */
/* ： cell ， gap； */
/* Fix #8: gauge-panel JS （ 160px EMA89 ）*/
.gauge-panel {
  flex-shrink: 0;
  background: var(--bg2);
  display: flex; flex-direction: row; align-items: stretch;
  overflow: hidden;
  height: 160px;                     /* ★ Fix #8:  EMA89  */
  transition: opacity .28s ease;     /*  max-height （ JS ）*/
  opacity: 1;
  border-bottom: 1px solid var(--border);
  gap: 0;                            /*  */
}
.gauge-panel.collapsed {
  height: 0; opacity: 0; pointer-events: none; overflow: hidden;
}

/* /（Fix #8: / ） */
.gauge-toggle {
  flex-shrink: 0; height: 20px;
  background: var(--bg3); border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center; gap: 6px;
  cursor: ns-resize;   /* Fix #8:  */
  color: var(--text-dim); font-size: 10px;
  user-select: none; transition: background .15s, color .15s;
  position: relative;
}
.gauge-toggle:hover { background: var(--bg2); color: var(--accent); }
/* Fix #8: （）*/
.gauge-toggle::before {
  content: '⠿';
  position: absolute; left: 50%; transform: translateX(-50%);
  font-size: 10px; opacity: .3; letter-spacing: 2px;
}
.toggle-label { letter-spacing: .3px; }

/* （） */
.gsb-col {
  overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column; justify-content: flex-start;
  padding: 4px 0;
  scrollbar-width: thin; scrollbar-color: #15192a transparent;
}
.gsb-col::-webkit-scrollbar { width: 3px; }
.gsb-col::-webkit-scrollbar-thumb { background: #15192a; border-radius: 2px; }

/* */
.sb-block {
  padding: 3px 10px 2px;
  display: flex; flex-direction: column;
  justify-content: space-evenly;    /* ★ ：， */
  height: 100%;
}
.sb-top    { flex: 0 0 auto; }
.sb-bottom { flex: 0 0 auto; }
/* v2301: label cell, */
.sb-block-center { justify-content: flex-start !important; }
.sb-mini-label {
  font-size: 11px; color: #ffffff; font-weight: 700;
  letter-spacing: .6px; text-transform: uppercase;
  margin-bottom: 3px; opacity: 1;
}
.sb-divider { height: 1px; background: rgba(255,255,255,.04); margin: 3px 10px; }

/* gauge-inner：（★ ， cell ） */
/* Fix #7: — align-items: flex-start ( flex-end ) */
.gauge-inner {
  flex: 0 0 360px !important;          /*  360px（ SVG + ）*/
  width: 360px; max-width: 360px;
  display: flex; flex-direction: row;
  align-items: flex-start; justify-content: flex-start; gap: 8px;
  padding: 4px 10px 4px;
  box-sizing: border-box;
}
.gauge-svg-wrap { flex: 0 0 240px; width: 240px; }
#gaugeSvg { width: 100%; height: auto; display: block; }

/* Fix #7: score-row2 ( flex-end ) */
.gauge-inner .score-row2 {
  flex: 0 0 auto; width: auto;
  flex-direction: column; gap: 6px; padding: 0;
  align-self: flex-start;
}
.gauge-inner .sr-pill { min-width: 86px; }

/* Gauge （） */
.gauge-section { padding: 0; }

/* */
.dashboard-panel {
  transition: width .28s ease, border .28s ease;
}
.dashboard-panel.collapsed {
  width: 0 !important; overflow: hidden; border: none;
}

.score-row {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 4px 0 8px;
}
.score-value {
  font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums;
  color: var(--text);
}
.phase-label {
  font-size: 14px; font-weight: 600; padding: 2px 8px;
  border-radius: 4px; background: rgba(255,255,255,.06);
}

/* */
.dash-rows { padding: 6px 0 12px; flex: 1; }

.dash-sep {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 10px 3px; color: var(--text-dim); font-size: 11px;
}
.dash-sep::after { content: ''; flex: 1; height: 1px; background: var(--border); }

.dash-row {
  display: flex; align-items: center;
  padding: 2px 12px; gap: 6px; min-height: 20px;   /* ★ 10% */
}
.dash-row:hover { background: rgba(255,255,255,.03); }
.row-label { color: var(--text-dim); flex: 0 0 80px; font-size: 12px; }
.row-value { flex: 1; font-variant-numeric: tabular-nums; font-size: 12px; }
.row-arrow { flex: 0 0 16px; text-align: center; font-size: 13px; }
.row-tag {
  font-size: 11px; padding: 1px 5px; border-radius: 3px;
  background: rgba(255,255,255,.07); color: var(--text-dim);
}

.up   { color: var(--green); }
.dn   { color: var(--red); }
.neut { color: var(--text-dim); }
.warn { color: var(--gold); }
.ob   { color: var(--orange); }

/* */
.risk-row {
  margin: 4px 8px; padding: 6px 10px;
  border-radius: 6px; border: 1px solid rgba(230,210,60,.25);
  background: rgba(230,210,60,.05);
  font-size: 12px; line-height: 1.5; color: var(--gold);
}
.risk-row.bear {
  border-color: rgba(220,70,50,.25); background: rgba(220,70,50,.05);
  color: #FF7060;
}

/* */
.chart-section {
  flex: 1; display: flex; flex-direction: column; overflow: hidden;
  background: var(--bg);
}

.chart-toolbar {
  display: flex; align-items: center; gap: 10px; padding: 6px 12px;
  background: var(--bg2); border-bottom: 1px solid var(--border); flex-shrink: 0;
}

.tf-buttons { display: flex; gap: 4px; flex-wrap: wrap; }
.tf-btn {
  background: var(--bg3); color: var(--text-dim); border: 1px solid var(--border);
  border-radius: 4px; padding: 3px 10px; cursor: pointer; font-size: 12px;
  transition: all .15s;
}
.tf-btn:hover       { border-color: var(--accent); color: var(--accent); }
.tf-btn.active      { background: var(--accent); color: #fff; border-color: var(--accent); }

/* SD */
.sd-btn {
  background: var(--bg3); color: var(--text-dim); border: 1px solid var(--border);
  border-radius: 4px; padding: 3px 10px; cursor: pointer; font-size: 12px;
  transition: all .15s; white-space: nowrap;
}
.sd-btn:hover          { border-color: var(--accent); color: var(--accent); }
.sd-btn.active         { background: #2a3a2a; color: #FFFF00; border-color: #FFFF00; }
.sd-btn.active.compare { background: #1a2a3a; color: #00E5FF; border-color: #00E5FF; }

.layout-btns { margin-left: auto; display: flex; gap: 4px; }
.layout-btn {
  background: var(--bg3); color: var(--text-dim); border: 1px solid var(--border);
  border-radius: 4px; padding: 3px 10px; cursor: pointer; font-size: 14px;
}
.layout-btn.active { border-color: var(--accent); color: var(--accent); }

.split-btn-group { margin-left: auto; display: flex; gap: 4px; }
.split-btn {
  width: 28px; height: 28px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: #0e0f14; color: #fff;
  border: 1px solid #3a3e4d; border-radius: 3px;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.split-btn:hover { background: #181b24; border-color: #6b7fe8; color: #fff; }
.split-btn.active { background: #0e0f14; border-color: #4b6ef5; color: #fff; }

.chart-container {
  flex: 1; display: flex; overflow: hidden;
}
.chart-container.horizontal { flex-direction: row; }
.chart-container.vertical   { flex-direction: column; }

.chart-pane { flex: 1; overflow: hidden; min-width: 0; min-height: 0; position: relative; }
/* TradingView renders into an iframe — make it fill the pane */
.chart-pane > iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.chart-container.horizontal .chart-pane:first-child {
  border-right: 2px solid var(--border);
}
.chart-container.vertical .chart-pane:first-child {
  border-bottom: 2px solid var(--border);
}

/* */
.dc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  table-layout: fixed;
}
.dc-table thead tr {
  background: var(--bg3);
  border-bottom: 1px solid var(--border);
}
.dc-table thead th {
  padding: 3px 6px;   /* ★  */
  color: var(--text-dim);
  font-weight: 600;
  font-size: 11px;
  text-align: center;
}
.dc-table thead th.dc-label { text-align: left; width: 72px; }
.dc-table thead th.dc-cur   { color: #7090d0; }
.dc-table thead th.dc-htf   { color: #FF8C00; }

.dc-table td {
  padding: 2px 6px;   /* ★ 10% */
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dc-table tr:hover td { background: rgba(255,255,255,.025); }

.dc-label { color: var(--text-dim); width: 72px; }
.dc-cur   { text-align: center; }
.dc-htf   { text-align: center; }

.dc-sep-row td {
  padding: 6px 8px 2px;
  color: var(--text-dim);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  border-top: 1px solid var(--border);
}

/* & & */
.b-sep {
  padding: 3px 10px 2px;
  font-size: 11px; font-weight: 700; letter-spacing: .4px;
  border-top: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(30,32,48,.9) 0%, transparent 100%);
  user-select: none;
}

.b-warn-text {
  margin: 2px 8px 3px; padding: 4px 8px;
  border-radius: 5px; font-size: 12px; line-height: 1.4;
}
.b-warn-text.bear {
  color: #FF7060; background: rgba(220,70,50,.07);
  border: 1px solid rgba(220,70,50,.22);
}
.b-warn-text.neut {
  color: #4a6040; background: rgba(50,210,120,.05);
  border: 1px solid rgba(50,210,120,.10);
}

.b-row {
  display: flex; align-items: center; gap: 8px;
  padding: 2px 10px;
}
.b-label {
  font-size: 11px; flex: 0 0 auto; white-space: nowrap;
}

.b-score-bar {
  display: flex; align-items: center; gap: 7px;
  padding: 3px 10px 5px;
}

/* （） */
.b-moon-row {
  display: flex; justify-content: space-around;
  padding: 3px 10px 4px; gap: 6px;
}
/* ：emoji + */
.b-moon-cell-h {
  display: flex; align-items: center; gap: 5px; flex: 1; justify-content: center;
}
.b-moon-sym-sm {
  font-size: 18px; line-height: 1;
  filter: drop-shadow(0 0 3px rgba(200,200,255,.35));
}
/* */
.b-moon-cell {
  display: flex; flex-direction: column; align-items: center;
  gap: 2px; flex: 1;
}
.b-moon-label { font-size: 10px; color: #7090d0; letter-spacing: .3px; }
.b-moon-sym   { font-size: 22px; line-height: 1.1; filter: drop-shadow(0 0 4px rgba(200,200,255,.35)); }
.b-moon-name  { font-size: 11px; color: var(--text); font-weight: 600; }

/* */
.b-phase-evo {
  display: flex; gap: 6px; padding: 3px 10px 5px;
}
.b-phase-col {
  flex: 1; text-align: center;
  background: rgba(20,24,40,.7);
  border: 1px solid var(--border); border-radius: 5px;
  padding: 4px 6px;
}
.b-phase-lbl {
  font-size: 10px; color: var(--text-dim); margin-bottom: 1px;
}
.b-phase-val {
  font-size: 12px; font-weight: 700;
}

/* */
.b-season {
  padding: 3px 10px 6px;
  font-size: 11px; color: var(--text-dim); line-height: 1.5;
}

/* （，） */
.dashboard-panel {
  scrollbar-width: thin;
  scrollbar-color: #1a1f30 #10121e;
}
.dashboard-panel::-webkit-scrollbar { width: 6px; }
.dashboard-panel::-webkit-scrollbar-track { background: #10121e; }
.dashboard-panel::-webkit-scrollbar-thumb {
  background: #3a4468; border-radius: 3px;
}
.dashboard-panel::-webkit-scrollbar-thumb:hover { background: var(--accent); }

/* （） */
.score-row2 {
  display: flex; justify-content: space-around; align-items: stretch;
  padding: 4px 8px 8px; gap: 6px;
}
.sr-pill {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  gap: 2px; background: rgba(20,24,40,.8); border: 1px solid var(--border);
  border-radius: 6px; padding: 5px 4px;
}
.sr-pill.htf { border-color: rgba(255,140,0,.22); background: rgba(255,100,0,.05); }
.sr-tf    { font-size: 10px; color: #7090d0; font-weight: 600; letter-spacing: .4px; }
.sr-score { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sr-phase { font-size: 10px; font-weight: 600; padding: 1px 5px; border-radius: 3px; }

/* */
.risk-footer {
  position: fixed; bottom: 0;
  left: calc(var(--dash-w) + 14px);   /*  TV , */
  right: 0;
  height: 22px;                       /* v2301: ,, */
  line-height: 20px;
  background: rgba(10,11,16,.96); border-top: 1px solid rgba(230,180,60,.18);
  padding: 0 20px; font-size: 11px; color: #8c7e5a;
  z-index: 200; text-align: center; letter-spacing: .2px;
  white-space: nowrap;                /* v2301:  */
  overflow: hidden;
  text-overflow: ellipsis;            /*  ... */
}

/* v2301: chart-section footer , */
.chart-section { padding-bottom: 22px; }

/* */
/* （ 16:9 ，） */
/* @media (max-width: 900px) { ... } */

/* user-widget 2026-04-28 */
.user-widget {
  position: fixed; top: 0; right: 0; z-index: 9999;
  background: rgba(6,8,16,.96);
  border-left: 1px solid #7f1d1d;
  border-bottom: 1px solid #7f1d1d;
  border-radius: 0 0 0 8px;
  padding: 7px 16px 9px 14px;
  min-width: 130px; text-align: center;
  backdrop-filter: blur(8px);
  box-shadow: -2px 2px 12px rgba(0,0,0,.6);
}
.uw-greet {
  font-size: 11px; font-weight: 700;
  color: #d4a43c; letter-spacing: .4px;
  line-height: 1.5; margin-bottom: 3px;
}
.uw-phone {
  font-size: 13px; font-weight: 600;
  color: #dde4f0; letter-spacing: 1.5px;
  margin-bottom: 7px; font-variant-numeric: tabular-nums;
}
.uw-actions {
  display: flex; gap: 8px; justify-content: center; align-items: center;
}
.uw-sep { color: #4a5568; font-size: 10px; }
.uw-link {
  font-size: 11px; text-decoration: none;
  color: #60a5fa; transition: color .15s;
}
.uw-link:hover { color: #93c5fd; text-decoration: underline; }
.uw-logout { color: #f87171; }
.uw-logout:hover { color: #fca5a5; }
