/* MarketRally - app.css */
#mr-root *{box-sizing:border-box;margin:0;padding:0}
#mr-root{--bg:#07090f;--bg2:#0d1117;--bg3:#131c2a;--bg4:#1a2540;--bg5:#0f1823;
  --border:#1e2d45;--border2:#243551;
  --accent:#00d4ff;--accent2:#7b61ff;--accent3:#ff6b35;
  --green:#00c076;--red:#f0334a;--yellow:#f5a623;--purple:#a78bfa;--cyan:#06b6d4;
  --text:#dce8f5;--text2:#6b8299;--text3:#3a5068;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','Fira Code','Consolas',monospace;
  --r:6px;
  font-family:var(--font);font-size:13px;color:var(--text);background:var(--bg);
  min-height:100vh;overflow-x:hidden}
#mr-root ::-webkit-scrollbar{width:4px;height:4px}
#mr-root ::-webkit-scrollbar-track{background:var(--bg2)}
#mr-root ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
#mr-root a{color:var(--accent);text-decoration:none}
/* NAV */
.mr-nav{background:rgba(13,17,23,0.98);border-bottom:1px solid var(--border);
  display:flex;align-items:center;height:48px;padding:0 16px;
  position:sticky;top:0;z-index:200;backdrop-filter:blur(16px);gap:4px}
.mr-logo{font-size:17px;font-weight:800;letter-spacing:-0.5px;color:#fff;margin-right:16px;cursor:pointer;white-space:nowrap}
.mr-logo em{color:var(--accent);font-style:normal}
.mr-logo small{font-size:9px;color:var(--text2);font-weight:400;letter-spacing:0.1em;display:block;line-height:1;margin-top:-2px}
.mr-navlinks{display:flex;gap:1px;flex:1;overflow-x:auto}
.mr-navlinks::-webkit-scrollbar{display:none}
.mr-nl{padding:5px 13px;border-radius:4px;cursor:pointer;color:var(--text2);
  font-size:12px;font-weight:500;transition:all .15s;border:none;background:none;
  white-space:nowrap;display:flex;align-items:center;gap:5px}
.mr-nl:hover{color:var(--text);background:var(--bg3)}
.mr-nl.active{color:var(--accent);background:rgba(0,212,255,.08)}
.mr-nav-r{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
/* SEARCH */
.mr-search{position:relative}
.mr-si{background:var(--bg3);border:1px solid var(--border);color:var(--text);
  padding:5px 10px 5px 28px;border-radius:var(--r);font-size:12px;width:150px;
  outline:none;font-family:var(--font);transition:width .2s}
.mr-si:focus{border-color:var(--accent);width:200px}
.mr-sicon{position:absolute;left:8px;top:50%;transform:translateY(-50%);
  color:var(--text2);font-size:13px;pointer-events:none}
.mr-sdrop{position:absolute;top:calc(100% + 4px);left:0;width:280px;
  background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);
  z-index:500;display:none;box-shadow:0 12px 32px rgba(0,0,0,.5)}
.mr-sdrop.open{display:block}
.mr-sitem{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;
  align-items:center;border-bottom:1px solid var(--border);gap:8px}
.mr-sitem:last-child{border:none}
.mr-sitem:hover{background:var(--bg4)}
.mr-ssym{color:var(--accent);font-weight:700;font-family:var(--mono);font-size:12px}
.mr-sname{color:var(--text2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* TICKER TAPE */
.mr-tape{background:var(--bg2);border-bottom:1px solid var(--border);
  height:26px;overflow:hidden;display:flex;align-items:center}
.mr-tape-track{display:flex;animation:mr-tape 55s linear infinite;white-space:nowrap}
.mr-tape-track:hover{animation-play-state:paused}
.mr-ti{padding:0 14px;font-family:var(--mono);font-size:11px;display:flex;
  gap:6px;align-items:center;border-right:1px solid var(--border);height:26px;
  cursor:pointer;transition:background .1s}
.mr-ti:hover{background:var(--bg3)}
.mr-tsym{color:var(--accent);font-weight:700}
.mr-tpx{color:var(--text)}
.mr-tchg{font-weight:600}
@keyframes mr-tape{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* INDEX PILLS */
.mr-ipill{font-size:10px;font-family:var(--mono);padding:3px 8px;border-radius:3px;
  font-weight:700;white-space:nowrap;cursor:pointer}
.mr-ipill-g{background:rgba(0,192,118,.12);color:var(--green);border:1px solid rgba(0,192,118,.2)}
.mr-ipill-r{background:rgba(240,51,74,.12);color:var(--red);border:1px solid rgba(240,51,74,.2)}
/* LIVE DOT */
.mr-live{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--green)}
.mr-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:mr-pulse 2s infinite}
@keyframes mr-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
/* MAIN */
.mr-main{padding:10px 14px;max-width:1700px;margin:0 auto}
/* INDEX ROW */
.mr-idxrow{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:10px}
.mr-idxcard{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
  padding:10px 12px;cursor:pointer;transition:border-color .15s;position:relative;overflow:hidden}
.mr-idxcard:hover{border-color:var(--accent);background:var(--bg3)}
.mr-idxcard::after{content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 50%,rgba(0,212,255,.02));pointer-events:none}
.mr-iname{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.mr-iprice{font-size:16px;font-weight:700;font-family:var(--mono);letter-spacing:-.5px}
.mr-ichg{font-size:11px;font-family:var(--mono);font-weight:600;margin-top:2px}
/* PANEL */
.mr-panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.mr-ph{padding:9px 14px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.mr-pt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text2)}
.mr-pb{padding:12px 14px}
/* SECTION */
.mr-section{display:none}.mr-section.active{display:block}
/* DASHBOARD */
.mr-dash-grid{display:grid;grid-template-columns:1fr 1fr 350px;gap:10px;margin-bottom:10px}
.mr-dash-wide{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* SCREENER */
.mr-fbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px;
  border-bottom:1px solid var(--border);align-items:center;background:rgba(7,9,15,.4)}
.mr-fl{font-size:10px;color:var(--text2);white-space:nowrap}
#mr-root select,#mr-root input[type=text],#mr-root input[type=number]{
  background:var(--bg3);border:1px solid var(--border);color:var(--text);
  padding:4px 8px;border-radius:4px;font-size:11px;font-family:var(--font);outline:none}
#mr-root select:focus,#mr-root input:focus{border-color:var(--accent)}
.mr-btn{padding:4px 10px;border-radius:4px;border:none;cursor:pointer;
  font-size:11px;font-weight:600;font-family:var(--font);transition:all .15s}
.mr-btnp{background:var(--accent);color:#000}.mr-btnp:hover{filter:brightness(1.1)}
.mr-btng{background:var(--bg3);color:var(--text2);border:1px solid var(--border)}
.mr-btng:hover{color:var(--text);border-color:var(--text2)}
.mr-btnsm{padding:3px 8px;font-size:10px}
.mr-tbwrap{overflow-x:auto;max-height:calc(100vh - 260px)}
#mr-root table{width:100%;border-collapse:collapse}
#mr-root thead{position:sticky;top:0;z-index:10;background:var(--bg2)}
#mr-root th{padding:7px 10px;text-align:left;font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text3);
  border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none}
#mr-root th:hover{color:var(--accent)}
#mr-root tr{border-bottom:1px solid rgba(30,45,66,.4);cursor:pointer;transition:background .08s}
#mr-root tr:hover td{background:var(--bg3)}
#mr-root td{padding:6px 10px;white-space:nowrap;font-family:var(--mono);font-size:11px}
.mr-cs{color:var(--accent);font-weight:700}
.mr-cn{color:var(--text2);font-family:var(--font);font-size:11px;max-width:130px;overflow:hidden;text-overflow:ellipsis}
/* COLORS */
.up{color:var(--green)}.dn{color:var(--red)}.flat{color:var(--text2)}
/* TAGS */
.mr-tag{display:inline-block;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}
.tg-tech{background:rgba(0,212,255,.1);color:var(--accent)}
.tg-health{background:rgba(0,192,118,.1);color:var(--green)}
.tg-fin{background:rgba(123,97,255,.1);color:var(--accent2)}
.tg-energy{background:rgba(245,166,35,.12);color:var(--yellow)}
.tg-con{background:rgba(255,107,53,.1);color:var(--accent3)}
.tg-ind{background:rgba(167,139,250,.1);color:var(--purple)}
.tg-mat{background:rgba(220,200,100,.1);color:#dcc864}
.tg-util{background:rgba(100,200,150,.1);color:#64c896}
.tg-crypto{background:rgba(245,166,35,.15);color:var(--yellow)}
/* HEATMAP */
.mr-hmwrap{padding:12px;overflow-y:auto;max-height:calc(100vh - 180px)}
.mr-hmsec{margin-bottom:14px}
.mr-hmslabel{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;font-weight:600}
.mr-hmrow{display:flex;flex-wrap:wrap;gap:2px}
.mr-hmcell{border-radius:4px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;cursor:pointer;transition:filter .15s,transform .15s;overflow:hidden}
.mr-hmcell:hover{filter:brightness(1.3);transform:scale(1.04);z-index:5}
.mr-hmsym{font-weight:800;color:rgba(255,255,255,.95);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.mr-hmpct{color:rgba(255,255,255,.8);font-family:var(--mono);font-weight:600}
/* CHART */
.mr-chart-wrap{display:grid;grid-template-columns:1fr 280px;gap:10px}
.mr-chart-main{display:flex;flex-direction:column;gap:8px}
.mr-chart-hdr{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px}
.mr-csym{font-size:22px;font-weight:800;font-family:var(--mono);color:var(--accent)}
.mr-cprice{font-size:22px;font-weight:700;font-family:var(--mono)}
.mr-cchg{font-size:13px;font-weight:700;font-family:var(--mono)}
.mr-tf-btns{display:flex;gap:3px;flex-wrap:wrap}
.mr-tfbtn{padding:3px 9px;border-radius:3px;border:1px solid var(--border);background:none;
  color:var(--text2);font-size:10px;cursor:pointer;font-family:var(--font);font-weight:600}
.mr-tfbtn.active,.mr-tfbtn:hover{border-color:var(--accent);color:var(--accent);background:rgba(0,212,255,.06)}
.mr-ccanvas{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:8px;position:relative}
.mr-volcanvas{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:4px 8px}
/* CHART CROSSHAIR TOOLTIP */
.mr-ctip{position:absolute;background:var(--bg2);border:1px solid var(--border2);
  border-radius:4px;font-size:10px;font-family:var(--mono);padding:4px 8px;
  pointer-events:none;display:none;z-index:20;white-space:nowrap;line-height:1.6}
/* STATS */
.mr-statrow{display:flex;justify-content:space-between;align-items:center;
  padding:6px 0;border-bottom:1px solid rgba(30,45,66,.4)}
.mr-statrow:last-child{border:none}
.mr-sk{font-size:11px;color:var(--text2)}
.mr-sv{font-size:11px;font-family:var(--mono);text-align:right}
/* NEWS */
.mr-news-layout{display:grid;grid-template-columns:1fr 310px;gap:10px}
.mr-ni{padding:10px 0;border-bottom:1px solid var(--border)}
.mr-ni:last-child{border:none}
.mr-nh{font-size:12px;color:var(--text);line-height:1.5;margin-bottom:5px;cursor:pointer}
.mr-nh:hover{color:var(--accent)}
.mr-nimg{width:64px;height:48px;border-radius:4px;object-fit:cover;float:right;margin:0 0 6px 10px}
.mr-nm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mr-ns{font-size:10px;color:var(--accent2);font-weight:700}
.mr-nt{font-size:10px;color:var(--text3)}
.mr-ntags{display:flex;gap:3px;flex-wrap:wrap}
.mr-ntag{font-size:9px;background:rgba(0,212,255,.08);color:var(--accent);padding:1px 5px;border-radius:3px;font-weight:700;cursor:pointer}
.mr-ntag:hover{background:rgba(0,212,255,.15)}
/* MOVERS */
.mr-mrow{display:flex;justify-content:space-between;align-items:center;
  padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer}
.mr-mrow:last-child{border:none}
.mr-mrow:hover .mr-msym{text-decoration:underline}
.mr-msym{color:var(--accent);font-weight:700;font-family:var(--mono);font-size:12px}
.mr-mname{color:var(--text2);font-size:10px;margin-top:1px}
.mr-mpx{font-family:var(--mono);font-size:11px}
.mr-mpct{font-family:var(--mono);font-size:12px;font-weight:700}
/* TABS */
.mr-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 14px;overflow-x:auto}
.mr-tab{padding:8px 13px;font-size:11px;font-weight:600;color:var(--text2);
  cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}
.mr-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.mr-tab:hover:not(.active){color:var(--text)}
.mr-tabpanel{display:none}.mr-tabpanel.active{display:block}
/* OPTIONS */
.mr-opts-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mr-opts-tbl{overflow-x:auto}
.mr-opts-tbl td,.mr-opts-tbl th{font-size:10px;padding:4px 7px}
.itm-call{background:rgba(0,192,118,.06)}
.itm-put{background:rgba(240,51,74,.06)}
/* CRYPTO */
.mr-crypto-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.mr-ccard{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:border-color .15s}
.mr-ccard:hover{border-color:var(--accent2)}
.mr-csymbol{font-size:11px;font-weight:700;color:var(--accent2);margin-bottom:4px;font-family:var(--mono)}
.mr-ccprice{font-size:16px;font-weight:700;font-family:var(--mono)}
.mr-ccchg{font-size:11px;font-family:var(--mono);font-weight:600;margin-top:2px}
/* DCA */
.mr-dca-input{background:var(--bg3);border:1px solid var(--border);color:var(--text);
  padding:7px 10px;border-radius:4px;font-size:13px;font-family:var(--mono);outline:none;width:100%}
.mr-dca-input:focus{border-color:var(--accent)}
/* LOADING */
.mr-loading{display:flex;align-items:center;justify-content:center;gap:10px;
  padding:60px;color:var(--text2)}
.mr-spin{width:16px;height:16px;border:2px solid var(--border2);border-top-color:var(--accent);
  border-radius:50%;animation:mr-spin .7s linear infinite}
@keyframes mr-spin{to{transform:rotate(360deg)}}
.mr-ld{display:flex;align-items:center;justify-content:center;gap:8px;padding:30px;color:var(--text2)}
/* TOAST */
.mr-toast{position:fixed;bottom:20px;right:20px;background:var(--bg3);
  border:1px solid var(--border2);border-radius:var(--r);padding:10px 16px;
  font-size:12px;z-index:9999;transform:translateY(80px);transition:transform .3s;
  box-shadow:0 8px 24px rgba(0,0,0,.5)}
.mr-toast.show{transform:translateY(0)}
/* BADGE */
.mr-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;
  font-weight:700;padding:2px 7px;border-radius:3px}
.mr-badge-g{background:rgba(0,192,118,.12);color:var(--green);border:1px solid rgba(0,192,118,.2)}
.mr-badge-r{background:rgba(240,51,74,.12);color:var(--red);border:1px solid rgba(240,51,74,.2)}
/* SIGNAL BADGE */
.sig-buy{background:rgba(0,192,118,.12);color:var(--green)}
.sig-sell{background:rgba(240,51,74,.12);color:var(--red)}
.sig-hold{background:rgba(107,130,153,.12);color:var(--text2)}
/* RESPONSIVE */
@media(max-width:1200px){
  .mr-dash-grid{grid-template-columns:1fr 1fr}
  .mr-chart-wrap{grid-template-columns:1fr}
  .mr-idxrow{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .mr-dash-grid{grid-template-columns:1fr}
  .mr-news-layout{grid-template-columns:1fr}
  .mr-idxrow{grid-template-columns:repeat(2,1fr)}
  .mr-crypto-grid{grid-template-columns:repeat(2,1fr)}
  .mr-opts-grid{grid-template-columns:1fr}
  .mr-navlinks{display:none}
}

/* News inline */
.mr-nsummary{font-size:11px;color:var(--text2);line-height:1.5;margin:4px 0 6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mr-read-more{font-size:10px;color:var(--accent);cursor:pointer;margin-left:auto;padding:0 4px}
.mr-read-more:hover{text-decoration:underline}
.mr-article-expand p{margin:0 0 8px}
/* Mock data indicator */
.mr-mock-badge{font-size:9px;color:var(--text3);margin-left:4px}
