/* ================================================================
   リアルタイムスプレッド比較 v2.0
   Shortcode: [fx_realtime_spread]
   ================================================================ */

#fx-rt-spread *,#fx-rt-spread *::before,#fx-rt-spread *::after{box-sizing:border-box;margin:0;padding:0}

#fx-rt-spread{
  --bg:#0b0e14;--surface:#111520;--surface2:#171c2a;--border:#1e2435;--border2:#2a3045;
  --text:#e8ecf4;--text2:#8b95a8;--text3:#5a637a;
  --green:#00d4a1;--green-dim:#00d4a122;--green-bg:#0a2e25;
  --red:#ff5c5c;--red-dim:#ff5c5c22;
  --blue:#4d8df7;--blue-dim:#4d8df722;
  --amber:#ffb84d;--amber-dim:#ffb84d22;
  --font:'DM Sans','Noto Sans JP',sans-serif;
  --mono:'DM Sans',monospace;
  --radius:10px;
  font-family:var(--font)!important;color:var(--text)!important;-webkit-font-smoothing:antialiased;
  max-width:960px;margin:0 auto;padding:0 0 40px!important;line-height:1.5!important;
  background:var(--bg)!important;border-radius:16px;overflow:hidden;
}

/* ---- Theme reset ---- */
#fx-rt-spread h1,#fx-rt-spread h2,#fx-rt-spread h3,#fx-rt-spread p{
  margin:0!important;padding:0!important;border:none!important;border-left:none!important;border-bottom:none!important;
  background:none!important;background-color:transparent!important;background-image:none!important;
  box-shadow:none!important;text-indent:0!important;line-height:1.5!important;float:none!important;width:auto!important;
}
#fx-rt-spread h1::before,#fx-rt-spread h1::after,#fx-rt-spread h2::before,#fx-rt-spread h2::after,
#fx-rt-spread h3::before,#fx-rt-spread h3::after{content:none!important;display:none!important}

/* ================================================================ HEADER */
#fx-rt-spread .rt-hdr{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:20px 24px 16px!important;flex-wrap:wrap!important;gap:12px!important}
#fx-rt-spread .rt-hdr-left{display:flex!important;align-items:center!important;gap:12px!important}
#fx-rt-spread .rt-pulse{display:block!important;width:10px!important;height:10px!important;border-radius:50%!important;background:var(--green)!important;box-shadow:0 0 12px var(--green)!important;flex-shrink:0!important}
#fx-rt-spread .rt-pulse.stale{background:var(--amber)!important;box-shadow:0 0 12px var(--amber)!important}
#fx-rt-spread .rt-pulse.off{background:var(--text3)!important;box-shadow:none!important}
@keyframes rtBlink{0%,100%{opacity:1}50%{opacity:.3}}
#fx-rt-spread .rt-pulse.live{animation:rtBlink 2s ease infinite!important}
#fx-rt-spread .rt-hdr h1{display:block!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.03em!important;color:#fff!important}
#fx-rt-spread .rt-hdr-sub{display:block!important;font-size:12px!important;color:var(--text2)!important;font-weight:500!important}
#fx-rt-spread .rt-hdr-time{display:block!important;font-size:12px!important;color:var(--text3)!important;font-family:var(--mono)!important;font-weight:500!important;background:var(--surface)!important;padding:6px 12px!important;border-radius:6px!important;border:1px solid var(--border)!important;white-space:nowrap!important}

/* ================================================================ OVERVIEW - HEADING + TOGGLE */
#fx-rt-spread .rt-overview{display:block!important;padding:0 24px 20px!important}
#fx-rt-spread .rt-ov-hdr-wrap{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:12px!important}
#fx-rt-spread .rt-overview h2{display:block!important;font-size:15px!important;font-weight:800!important;color:#fff!important;margin-bottom:0!important}
#fx-rt-spread .rt-tile-toggle{display:flex!important;gap:3px!important;background:var(--surface)!important;border-radius:7px!important;padding:2px!important;border:1px solid var(--border)!important}
#fx-rt-spread .rt-toggle-btn{display:block!important;padding:4px 9px!important;border:none!important;border-radius:5px!important;cursor:pointer!important;font-size:14px!important;font-weight:700!important;line-height:1!important;background:transparent!important;color:var(--text3)!important;transition:all .15s!important;font-family:var(--font)!important}
#fx-rt-spread .rt-toggle-btn.active{background:var(--green)!important;color:var(--bg)!important}

/* ================================================================ OVERVIEW GRID */
#fx-rt-spread .rt-ov-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:8px!important}
#fx-rt-spread .rt-ov-grid.compact{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important;gap:5px!important}
#fx-rt-spread .rt-ov-card{display:block!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;padding:12px!important;cursor:pointer!important;transition:all .2s!important;text-align:center!important}
#fx-rt-spread .rt-ov-grid.compact .rt-ov-card{padding:8px 6px!important;border-radius:8px!important}
#fx-rt-spread .rt-ov-card:hover{border-color:var(--border2)!important;background:var(--surface2)!important;transform:translateY(-1px)!important}
#fx-rt-spread .rt-ov-card.active{border-color:var(--green)!important;background:var(--green-bg)!important}
#fx-rt-spread .rt-ov-sym{display:block!important;font-size:12px!important;font-weight:700!important;color:var(--text2)!important;margin-bottom:4px!important}
#fx-rt-spread .rt-ov-grid.compact .rt-ov-sym{font-size:10px!important;margin-bottom:2px!important}
#fx-rt-spread .rt-ov-val{display:block!important;font-size:20px!important;font-weight:800!important;font-family:var(--mono)!important;color:var(--text)!important}
#fx-rt-spread .rt-ov-grid.compact .rt-ov-val{font-size:16px!important}
#fx-rt-spread .rt-ov-card.active .rt-ov-val{color:var(--green)!important}
#fx-rt-spread .rt-ov-unit{display:block!important;font-size:10px!important;color:var(--text3)!important;margin-top:1px!important}
#fx-rt-spread .rt-ov-grid.compact .rt-ov-unit{font-size:9px!important}
#fx-rt-spread .rt-ov-broker{display:block!important;font-size:10px!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:700!important}
#fx-rt-spread .rt-ov-grid.compact .rt-ov-broker{font-size:9px!important;margin-top:2px!important}

/* ================================================================ PICKER — no scrollbar */
#fx-rt-spread .rt-picker{display:block!important;padding:0 24px 16px!important}
#fx-rt-spread .rt-picker-cats{display:flex!important;gap:0!important;border-bottom:1px solid var(--border)!important;margin-bottom:12px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;scrollbar-width:none!important;-ms-overflow-style:none!important}
#fx-rt-spread .rt-picker-cats::-webkit-scrollbar{display:none!important}
#fx-rt-spread .rt-picker-cat{display:block!important;padding:10px 16px!important;font-size:12px!important;font-weight:700!important;color:var(--text3)!important;cursor:pointer!important;white-space:nowrap!important;border-bottom:2px solid transparent!important;margin-bottom:-1px!important;transition:all .15s!important;user-select:none!important;flex-shrink:0!important}
#fx-rt-spread .rt-picker-cat:hover{color:var(--text2)!important}
#fx-rt-spread .rt-picker-cat.active{color:var(--green)!important;border-bottom-color:var(--green)!important}
#fx-rt-spread .rt-picker-syms{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
#fx-rt-spread .rt-sym-btn{display:inline-flex!important;padding:8px 14px!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;font-family:var(--font)!important;color:var(--text2)!important;cursor:pointer!important;transition:all .15s!important;white-space:nowrap!important;line-height:1.4!important}
#fx-rt-spread .rt-sym-btn:hover{border-color:var(--border2)!important;color:var(--text)!important;background:var(--surface2)!important}
#fx-rt-spread .rt-sym-btn.active{border-color:var(--green)!important;color:var(--green)!important;background:var(--green-bg)!important}

/* ================================================================ DETAIL */
#fx-rt-spread .rt-detail{display:block!important;padding:0 24px!important}
#fx-rt-spread .rt-ba-bar{display:flex!important;gap:16px!important;padding:12px 16px!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;margin-bottom:16px!important;flex-wrap:wrap!important}
#fx-rt-spread .rt-ba-item{display:block!important;font-size:12px!important;color:var(--text3)!important}
#fx-rt-spread .rt-ba-price{display:block!important;font-size:16px!important;font-weight:800!important;font-family:var(--mono)!important;color:var(--text)!important;margin-top:2px!important}
#fx-rt-spread .rt-ba-price.bid{color:var(--blue)!important}
#fx-rt-spread .rt-ba-price.ask{color:var(--red)!important}
#fx-rt-spread .rt-ba-price.best-price{color:var(--green)!important}
#fx-rt-spread .rt-spread-hdr{display:flex!important;align-items:baseline!important;gap:10px!important;margin-bottom:14px!important;flex-wrap:wrap!important}
#fx-rt-spread .rt-spread-hdr h2{display:block!important;font-size:16px!important;font-weight:800!important;color:#fff!important}
#fx-rt-spread .rt-spread-unit{display:inline!important;font-size:12px!important;color:var(--text3)!important;font-weight:500!important}
#fx-rt-spread .rt-share-btn{display:inline-flex!important;align-items:center!important;gap:4px!important;margin-left:auto!important;padding:6px 14px!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important;font-family:var(--font)!important;color:var(--text2)!important;cursor:pointer!important;transition:all .15s!important;white-space:nowrap!important;flex-shrink:0!important}
#fx-rt-spread .rt-share-btn:hover{border-color:var(--border2)!important;color:var(--text)!important;background:var(--surface2)!important}
#fx-rt-spread .rt-spread-list{display:flex!important;flex-direction:column!important;gap:2px!important}

/* ---- Row with color bar ---- */
#fx-rt-spread .rt-row{display:grid!important;grid-template-columns:36px 4px 1fr auto auto 32px!important;gap:0!important;align-items:center!important;padding:12px 12px 12px 10px!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;transition:all .2s!important;animation:rtFadeUp .35s ease both!important;cursor:pointer!important}
#fx-rt-spread .rt-row:hover{border-color:var(--border2)!important;background:var(--surface2)!important}
#fx-rt-spread .rt-row.best{border-color:var(--green)!important;border-width:1.5px!important;background:var(--green-bg)!important}
#fx-rt-spread .rt-row.expanded{border-radius:var(--radius) var(--radius) 0 0!important}
@keyframes rtFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Color bar column */
#fx-rt-spread .rt-col-bar{display:block!important;width:3px!important;height:28px!important;border-radius:2px!important;justify-self:center!important}

#fx-rt-spread .rt-col-rank{display:block!important;font-size:13px!important;font-weight:800!important;font-family:var(--mono)!important;text-align:center!important}
#fx-rt-spread .rt-col-rank.r1{color:var(--green)!important}
#fx-rt-spread .rt-col-rank.r2{color:var(--text2)!important}
#fx-rt-spread .rt-col-rank.r3{color:var(--text3)!important}

#fx-rt-spread .rt-col-broker{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;padding-left:8px!important}
#fx-rt-spread .rt-broker-logo{display:inline-block!important;width:72px!important;height:26px!important;object-fit:contain!important;border-radius:4px!important;background:#fff!important;padding:2px 5px!important;flex-shrink:0!important}
#fx-rt-spread .rt-broker-info{display:block!important;min-width:0!important}
#fx-rt-spread .rt-broker-name{display:block!important;font-size:14px!important;font-weight:700!important;color:var(--text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#fx-rt-spread .rt-broker-acct{display:block!important;font-size:11px!important;color:var(--text3)!important;font-weight:500!important}

#fx-rt-spread .rt-col-spread{display:block!important;text-align:right!important;padding-right:4px!important}
#fx-rt-spread .rt-spread-val{display:block!important;font-size:22px!important;font-weight:800!important;font-family:var(--mono)!important;color:var(--text)!important;line-height:1!important}
#fx-rt-spread .rt-row.best .rt-spread-val{color:var(--green)!important;text-shadow:0 0 20px var(--green-dim)!important}
#fx-rt-spread .rt-spread-unit-sm{display:block!important;font-size:10px!important;color:var(--text3)!important;font-weight:500!important;margin-top:2px!important}

#fx-rt-spread .rt-col-diff{display:block!important;text-align:right!important;font-size:12px!important;font-family:var(--mono)!important;font-weight:600!important;min-width:60px!important}
#fx-rt-spread .diff-same{color:var(--text3)!important}
#fx-rt-spread .diff-better{color:var(--green)!important}
#fx-rt-spread .diff-worse{color:var(--red)!important}

#fx-rt-spread .rt-col-chevron{display:block!important;text-align:center!important;font-size:14px!important;color:var(--text3)!important;transition:transform .2s!important}
#fx-rt-spread .rt-col-chevron.open{transform:rotate(180deg)!important;color:var(--text2)!important}

#fx-rt-spread .rt-chart-hint{display:block!important;text-align:center!important;margin-top:12px!important;font-size:11px!important;color:var(--text3)!important;opacity:.5!important}

@media(max-width:640px){
  #fx-rt-spread .rt-row{grid-template-columns:30px 4px 1fr auto 24px!important}
  #fx-rt-spread .rt-col-diff{display:none!important}
  #fx-rt-spread .rt-ba-bar{gap:10px!important}
  #fx-rt-spread .rt-broker-logo{width:56px!important;height:22px!important}
}

/* ================================================================ EXPANDED PANEL */
#fx-rt-spread .rt-expand-wrap{display:block!important;background:var(--surface2)!important;border-radius:0 0 var(--radius) var(--radius)!important;border:1px solid var(--border)!important;border-top:none!important;animation:rtChartIn .3s ease!important;overflow:hidden!important}
@keyframes rtChartIn{from{opacity:0;max-height:0}to{opacity:1;max-height:600px}}

#fx-rt-spread .rt-chart-section{display:block!important;padding:16px 16px 8px!important;transition:opacity .3s ease!important}

#fx-rt-spread .rt-chart-hdr{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:12px!important;flex-wrap:wrap!important;gap:8px!important}
#fx-rt-spread .rt-chart-hdr-left{display:flex!important;align-items:center!important;gap:8px!important}
#fx-rt-spread .rt-chart-bar{display:block!important;width:3px!important;height:18px!important;border-radius:2px!important;flex-shrink:0!important}
#fx-rt-spread .rt-chart-broker{display:block!important;font-size:12px!important;font-weight:700!important;color:var(--text)!important}
#fx-rt-spread .rt-chart-broker span{color:var(--text3)!important;font-weight:500!important}
#fx-rt-spread .rt-chart-sub{display:block!important;font-size:10px!important;color:var(--text3)!important}

#fx-rt-spread .rt-chart-stats{display:flex!important;gap:14px!important}
#fx-rt-spread .rt-stat{display:block!important;text-align:center!important}
#fx-rt-spread .rt-stat-label{display:block!important;font-size:9px!important;color:var(--text3)!important;font-weight:600!important;letter-spacing:.02em!important}
#fx-rt-spread .rt-stat-val{display:block!important;font-size:13px!important;font-weight:800!important;font-family:var(--mono)!important;color:var(--text)!important}
#fx-rt-spread .rt-stat-val small{font-size:8px!important;color:var(--text3)!important;margin-left:1px!important}
#fx-rt-spread .rt-stat-val.amber{color:var(--amber)!important}
#fx-rt-spread .rt-stat-val.green{color:var(--green)!important}
#fx-rt-spread .rt-stat-val.red{color:var(--red)!important}

#fx-rt-spread .rt-chart-canvas-wrap{display:block!important;position:relative!important}
#fx-rt-spread .rt-chart-canvas{display:block!important;width:100%!important;touch-action:none!important}

#fx-rt-spread .rt-chart-tooltip{display:none;position:absolute!important;top:0!important;left:0!important;background:var(--surface)!important;border:1px solid var(--border2)!important;border-radius:8px!important;padding:6px 10px!important;pointer-events:none!important;z-index:10!important;box-shadow:0 8px 24px rgba(0,0,0,.4)!important;white-space:nowrap!important}
#fx-rt-spread .rt-tip-time{display:block!important;font-size:10px!important;color:var(--text2)!important;font-weight:600!important;margin-bottom:2px!important}
#fx-rt-spread .rt-tip-val{display:flex!important;align-items:center!important;gap:4px!important;font-size:16px!important;font-weight:800!important;font-family:var(--mono)!important;color:var(--text)!important}
#fx-rt-spread .rt-tip-val small{font-size:10px!important;color:var(--text3)!important}
#fx-rt-spread .rt-tip-dot{display:inline-block!important;width:8px!important;height:8px!important;border-radius:50%!important;flex-shrink:0!important}

/* ================================================================ MULTI-ACCOUNT BADGE */
#fx-rt-spread .rt-multi-badge{display:inline-block!important;padding:1px 6px!important;background:var(--surface2)!important;border:1px solid var(--border2)!important;border-radius:4px!important;font-size:10px!important;font-weight:600!important;color:var(--text3)!important;margin-left:4px!important;vertical-align:middle!important}

/* ================================================================ SUB-ACCOUNT TABLE */
#fx-rt-spread .rt-sub-section{display:block!important;padding:0 16px 16px!important;border-top:1px solid var(--border)!important;margin-top:0!important}
#fx-rt-spread .rt-sub-title{display:block!important;font-size:12px!important;font-weight:700!important;color:var(--text2)!important;padding:12px 0 8px!important}
#fx-rt-spread .rt-sub-hint{font-size:10px!important;font-weight:500!important;color:var(--text3)!important}
#fx-rt-spread .rt-sub-table{display:block!important}
#fx-rt-spread .rt-sub-hdr{display:grid!important;grid-template-columns:1fr 100px 100px 100px!important;gap:0!important;padding:6px 10px!important;font-size:10px!important;font-weight:700!important;color:var(--text3)!important;border-bottom:1px solid var(--border)!important}
#fx-rt-spread .rt-sub-row{display:grid!important;grid-template-columns:1fr 100px 100px 100px!important;gap:0!important;padding:10px!important;align-items:center!important;border-bottom:1px solid var(--border)!important;transition:background .15s!important}
#fx-rt-spread .rt-sub-row:last-child{border-bottom:none!important}
#fx-rt-spread .rt-sub-row:hover{background:var(--surface)!important}
#fx-rt-spread .rt-sub-row.charted{border-left:3px solid var(--blue)!important;padding-left:7px!important;background:var(--blue-dim)!important}
#fx-rt-spread .rt-sub-row[data-sub-acct]{cursor:pointer!important}
#fx-rt-spread .rt-sub-acct{display:block!important;font-size:13px!important;font-weight:700!important;color:var(--text)!important}
#fx-rt-spread .rt-sub-val{display:block!important;font-size:13px!important;font-weight:700!important;font-family:var(--mono)!important;color:var(--text)!important;text-align:right!important}
#fx-rt-spread .rt-sub-val small{font-size:9px!important;color:var(--text3)!important;margin-left:2px!important}
#fx-rt-spread .rt-sub-val.free{color:var(--green)!important}
#fx-rt-spread .rt-sub-val.cost{color:var(--text2)!important}
#fx-rt-spread .rt-sub-val.cost.best{color:var(--green)!important;font-weight:800!important}

@media(max-width:640px){
  #fx-rt-spread .rt-sub-hdr,#fx-rt-spread .rt-sub-row{grid-template-columns:1fr 70px 70px 70px!important}
  #fx-rt-spread .rt-sub-acct{font-size:11px!important}
  #fx-rt-spread .rt-sub-val{font-size:11px!important}
}

/* ================================================================ EMPTY / FOOTER */
#fx-rt-spread .rt-init{display:block!important}
#fx-rt-spread .rt-empty{display:block!important;text-align:center!important;padding:48px 24px!important;color:var(--text3)!important}
#fx-rt-spread .rt-empty-icon{display:block!important;font-size:48px!important;margin-bottom:10px!important;opacity:.4!important}
#fx-rt-spread .rt-empty p{display:block!important;font-size:14px!important;line-height:1.7!important;color:var(--text3)!important}
#fx-rt-spread .rt-ftr{display:block!important;text-align:center!important;margin-top:24px!important;padding:16px 24px 0!important;border-top:1px solid var(--border)!important;font-size:11px!important;color:var(--text3)!important;line-height:1.8!important}
