/* ════════ MARKET OVERVIEW LIVE (mov-*) — cross-asset institutional terminal ════════
   Reference-parity dark terminal with a FULL LIGHT variant at the end (white mode must work
   in every section — gold-room lesson). Scoped strictly to #v-market. */
/* ── immersive chrome (owner: "اسعر من شريط اعلا حذف · باقي دمج"): inside Market the price
   ticker strip is REMOVED and the app topbar merges into the room — page title, market-status,
   search/bell/mail/menu hidden (the room header owns title/live/clock); only fullscreen/theme/
   language stay. Same treatment as the GOLD room. wco-gated offsets for the installed PWA. ── */
body[data-view=market] .topbar .hdrL,
body[data-view=market] .topbar .hdr-status,
body[data-view=market] #btnSearch,
body[data-view=market] #btnBell,
body[data-view=market] #btnMail,
body[data-view=market] #btnMore{display:none}
html:not(.wco-on) body[data-view=market] .ticker{display:none}
html:not(.wco-on) body[data-view=market] .app{padding-top:0}
html:not(.wco-on) body[data-view=market] .side{top:0}
html:not(.wco-on) body[data-view=market] .topbar{top:0}
html:not(.wco-on) body[data-view=market] .sidetog{top:19px}
/* FULL MERGE (owner: "دمج حتا شي جميل"): on desktop the app topbar disappears entirely —
   theme/lang/fullscreen live INSIDE the room header (.mov-hbtns). Mobile keeps the slim topbar
   (its burger opens the sidebar), so the in-room buttons hide there instead. */
@media (min-width:901px){
  html:not(.wco-on) body[data-view=market] .topbar{display:none}
  html:not(.wco-on) body[data-view=market] .sidetog{top:10px}
}
#v-market .mov-hbtns{display:flex;gap:6px;flex:none}
#v-market .mov-hbtn{appearance:none;height:32px;min-width:32px;padding:0 8px;border-radius:9px;border:1px solid var(--mvl);background:rgba(255,255,255,.02);color:var(--mvmut);display:flex;align-items:center;gap:5px;justify-content:center;cursor:pointer}
#v-market .mov-hbtn:hover{color:var(--mvtx);border-color:rgba(255,255,255,.22)}
#v-market .mov-hbtn b{font-size:10px;font-weight:900;letter-spacing:.5px}
#v-market .mov-ic-moon{display:none}
html[data-theme="light"] #v-market .mov-ic-moon{display:block}
html[data-theme="light"] #v-market .mov-ic-sun{display:none}
html[data-theme="light"] #v-market .mov-hbtn{background:rgba(16,24,40,.03)}
@media (max-width:900px){ #v-market .mov-hbtns{display:none} }
#v-market .movwrap{
  --mvbg:#05070d; --mvp:#0b1118; --mvps:#101722;
  --mvl:rgba(255,255,255,.08); --mvtx:#f4f7fb; --mvmut:#8b95a7;
  --mvup:#00d084; --mvdn:#ff4d4d; --mvam:#f5a524; --mvbl:#4da3ff; --mvpu:#8c6bff;
  display:flex;flex-direction:column;gap:8px;
  background:radial-gradient(1100px 360px at 50% -90px, rgba(77,163,255,.05), transparent 60%),var(--mvbg);
  border-radius:14px;padding:10px;color:var(--mvtx);font-variant-numeric:tabular-nums;
}
#v-market .movwrap .card{
  background:linear-gradient(180deg,rgba(10,18,29,.96),rgba(5,10,18,.98));
  border:1px solid var(--mvl);border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 50px rgba(0,0,0,.38);
  color:var(--mvtx);
}
#v-market .movwrap .mut{color:var(--mvmut)}
#v-market .movwrap .up{color:var(--mvup)}
#v-market .movwrap .down{color:var(--mvdn)}
#v-market .mov-wait{display:flex;align-items:center;gap:8px;justify-content:center;padding:20px 8px;color:var(--mvmut);font-size:12px;font-weight:700}

/* ── header ── */
#v-market .mov-head{display:flex;align-items:center;gap:14px;padding:2px 4px;flex-wrap:wrap}
#v-market .mov-head-l{display:flex;align-items:center;gap:12px;min-width:0}
#v-market .mov-globe{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;
  color:var(--mvbl);border:1px solid rgba(77,163,255,.35);background:rgba(77,163,255,.08);box-shadow:0 0 18px rgba(77,163,255,.15)}
#v-market .mov-title{font-size:26px;font-weight:900;letter-spacing:1.5px;line-height:1.05;white-space:nowrap}
#v-market .mov-title b{color:var(--mvup);text-shadow:0 0 16px rgba(0,208,132,.4)}
#v-market .mov-sub{font-size:11.5px;font-weight:700;color:var(--mvmut);margin-top:3px}
#v-market .mov-head-r{margin-inline-start:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#v-market .mov-rt{display:flex;align-items:center;gap:8px}
#v-market .mov-rt i{width:9px;height:9px;border-radius:50%;background:var(--mvup);box-shadow:0 0 10px var(--mvup);animation:movPulse 1.6s infinite;flex:none}
@keyframes movPulse{0%,100%{opacity:1}50%{opacity:.35}}
#v-market .mov-rt b{display:block;font-size:12px;font-weight:800;color:var(--mvtx)}
#v-market .mov-rt span{display:block;font-size:10px;font-weight:700;color:var(--mvmut)}
#v-market .mov-tabs{display:flex;gap:3px;border:1px solid var(--mvl);border-radius:11px;padding:3px;background:rgba(255,255,255,.02);overflow-x:auto;scrollbar-width:none}
#v-market .mov-tabs::-webkit-scrollbar{display:none}
#v-market .mov-tab{appearance:none;border:none;background:transparent;color:var(--mvmut);font-size:10.5px;font-weight:800;letter-spacing:.4px;padding:6px 11px;border-radius:8px;cursor:pointer;white-space:nowrap}
#v-market .mov-tab:hover{color:var(--mvtx)}
#v-market .mov-tab.on{color:#fff;background:linear-gradient(180deg,#1d67d3,#155ac0);box-shadow:0 0 14px rgba(77,163,255,.3)}

/* ── row 1: pulse cards ── */
#v-market .mov-pulse{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#v-market .mov-pcard{padding:10px 12px;min-width:0;display:flex;flex-direction:column;gap:4px}
#v-market .mov-ptop{display:flex;align-items:center;gap:8px;min-width:0}
#v-market .mov-pic{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex:none;
  color:var(--mvmut);border:1px solid var(--mvl);background:rgba(255,255,255,.03)}
#v-market .mov-pic.up{color:var(--mvup);border-color:rgba(0,208,132,.4);background:rgba(0,208,132,.08);box-shadow:0 0 12px rgba(0,208,132,.15)}
#v-market .mov-pic.down{color:var(--mvdn);border-color:rgba(255,77,77,.4);background:rgba(255,77,77,.08)}
#v-market .mov-pic.amb{color:var(--mvam);border-color:rgba(245,165,36,.4);background:rgba(245,165,36,.08)}
#v-market .mov-pic.blue{color:var(--mvbl);border-color:rgba(77,163,255,.4);background:rgba(77,163,255,.08)}
#v-market .mov-pt{font-size:9.5px;font-weight:900;letter-spacing:1.1px;color:var(--mvmut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-pst{font-size:17px;font-weight:900;letter-spacing:.4px;line-height:1.05}
#v-market .mov-pst.up{color:var(--mvup)}#v-market .mov-pst.down{color:var(--mvdn)}
#v-market .mov-pst.amb{color:var(--mvam)}#v-market .mov-pst.blue{color:var(--mvbl)}#v-market .mov-pst.neut{color:var(--mvmut)}
#v-market .mov-pv{font-size:13px;font-weight:900}
#v-market .mov-pv.up{color:var(--mvup)}#v-market .mov-pv.down{color:var(--mvdn)}#v-market .mov-pv.amb{color:var(--mvam)}#v-market .mov-pv.blue{color:var(--mvbl)}#v-market .mov-pv.neut{color:var(--mvmut)}
#v-market .mov-ptx{font-size:10px;font-weight:600;line-height:1.45;color:var(--mvmut);min-height:28px}
#v-market .mov-pspk{height:26px;overflow:hidden}
#v-market .mov-pspk .wspk{width:100%;height:26px}

/* ── rows 2-3: asset cards ── */
#v-market .mov-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
#v-market .mov-acard{padding:9px 11px;min-width:0;display:flex;flex-direction:column;gap:3px;transition:opacity .18s,filter .18s}
#v-market .mov-acard.dim{opacity:.22;filter:saturate(.2)}
#v-market .mov-acard.na .mov-aval.mut{font-size:11px;font-weight:800;white-space:normal;line-height:1.35}
#v-market .mov-atop{display:flex;align-items:center;gap:7px;min-width:0}
#v-market .mov-badge{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;border:1px solid var(--mvl)}
#v-market .mov-badge.fx{color:var(--mvbl);background:rgba(77,163,255,.1);border-color:rgba(77,163,255,.35)}
#v-market .mov-badge.cr{color:var(--mvam);background:rgba(245,165,36,.1);border-color:rgba(245,165,36,.35)}
#v-market .mov-badge.bo{color:var(--mvpu);background:rgba(140,107,255,.1);border-color:rgba(140,107,255,.35)}
#v-market .mov-badge.ix{color:var(--mvup);background:rgba(0,208,132,.1);border-color:rgba(0,208,132,.35)}
#v-market .mov-badge.co{color:#f5c542;background:rgba(245,197,66,.1);border-color:rgba(245,197,66,.35)}
#v-market .mov-badge.bk{color:var(--mvbl);background:rgba(77,163,255,.1);border-color:rgba(77,163,255,.35)}
#v-market .mov-anm{min-width:0}
#v-market .mov-anm b{display:block;font-size:11.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-anm i{display:block;font-style:normal;font-size:8.5px;font-weight:700;color:var(--mvmut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-aval{font-size:19px;font-weight:900;letter-spacing:.2px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-ach{font-size:10.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-ach.up{color:var(--mvup)}#v-market .mov-ach.down{color:var(--mvdn)}#v-market .mov-ach.neut{color:var(--mvmut)}
#v-market .mov-aspk{height:26px;overflow:hidden;margin-top:1px}
#v-market .mov-aspk .wspk{width:100%;height:26px}
#v-market .mov-abot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px}
#v-market .mov-pill{display:inline-flex;font-size:8.5px;font-weight:900;letter-spacing:.7px;border-radius:5px;padding:2.5px 7px;text-transform:uppercase;white-space:nowrap}
#v-market .mov-pill.up{color:#04150d;background:var(--mvup)}
#v-market .mov-pill.down{color:#fff;background:var(--mvdn)}
#v-market .mov-pill.neut{color:var(--mvmut);border:1px solid var(--mvl);background:rgba(255,255,255,.03)}
#v-market .mov-imp{font-size:8.5px;font-weight:800;color:var(--mvmut);white-space:nowrap}
/* central-bank signals wide card */
#v-market .mov-cbcard{grid-column:span 2}
#v-market .mov-cbgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:2px}
#v-market .mov-cbmini{border:1px dashed var(--mvl);border-radius:9px;padding:6px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}
#v-market .mov-cbmini b{font-size:10px;font-weight:900;letter-spacing:.6px}
#v-market .mov-cbmini span{font-size:8.5px;font-weight:700;line-height:1.3}
#v-market .mov-dots{display:inline-flex;gap:3px}
#v-market .mov-dots u{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.12);text-decoration:none}
#v-market .mov-dots u.on.up{background:var(--mvup)}#v-market .mov-dots u.on.down{background:var(--mvdn)}#v-market .mov-dots u.on.amb{background:var(--mvam)}
#v-market .mov-cbnote{font-size:9px;font-weight:600;color:var(--mvmut);line-height:1.4;margin-top:4px}

/* ── bottom panels ── */
#v-market .mov-low{display:grid;grid-template-columns:1fr 1.5fr 1.25fr 1fr 1.25fr;gap:8px}
#v-market .mov-panel{padding:10px 12px;min-width:0}
#v-market .mov-ph{font-size:10px;font-weight:900;letter-spacing:1.4px;color:var(--mvtx);margin-bottom:8px;text-transform:uppercase}
#v-market .mov-note{margin-top:8px;padding-top:6px;border-top:1px dashed var(--mvl);font-size:9.5px;line-height:1.5;color:var(--mvmut)}
#v-market .mov-riskbody{display:flex;flex-direction:column;align-items:center;gap:4px}
#v-market .mov-gauge{width:min(150px,100%);height:auto}
#v-market .mov-risklab{font-size:19px;font-weight:900;letter-spacing:.6px}
#v-market .mov-risklab.up{color:var(--mvup)}#v-market .mov-risklab.down{color:var(--mvdn)}#v-market .mov-risklab.amb{color:var(--mvam)}
#v-market .mov-riskscale{display:flex;justify-content:space-between;width:100%;font-size:8px;font-weight:900;letter-spacing:.7px;color:var(--mvmut)}
#v-market .mov-drvrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:7px}   /* wraps instead of crushing the 5 blocks */
#v-market .mov-drv,#v-market .mov-met{border:1px solid var(--mvl);border-radius:10px;padding:7px 8px;min-width:0;display:flex;flex-direction:column;gap:3px}
#v-market .mov-drv-l{font-size:8.5px;font-weight:900;letter-spacing:.8px;color:var(--mvmut);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-drv-v{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-drv-s{font-size:8.5px;font-weight:600;color:var(--mvmut);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-evlist{display:flex;flex-direction:column}
#v-market .mov-evrow{display:grid;grid-template-columns:34px minmax(0,1fr) 40px 62px;gap:7px;align-items:center;padding:5.5px 2px;border-bottom:1px solid rgba(255,255,255,.05)}
#v-market .mov-evrow:last-child{border-bottom:none}
#v-market .mov-evc{font-size:9px;font-weight:900;color:var(--mvbl)}
#v-market .mov-evn{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-evd{font-size:9.5px;font-weight:800;color:var(--mvmut);white-space:nowrap}
#v-market .mov-evcd{font-size:10px;font-weight:900;color:var(--mvam);text-align:end;white-space:nowrap}
#v-market .mov-corrlist{display:flex;flex-direction:column;gap:7px}
#v-market .mov-corr{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--mvl);border-radius:9px;padding:7px 10px}
#v-market .mov-corr span{font-size:10.5px;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-corr b{font-size:13px;font-weight:900;flex:none}
#v-market .mov-metrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:7px}
#v-market .mov-met-v{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-market .mov-met-v.up{color:var(--mvup)}#v-market .mov-met-v.down{color:var(--mvdn)}#v-market .mov-met-v.amb{color:var(--mvam)}

/* ── bottom ticker ── */
#v-market .mov-ticker{display:flex;align-items:center;gap:12px;padding:7px 12px;overflow:hidden}
#v-market .mov-tkl{font-size:9px;font-weight:900;letter-spacing:1.2px;color:var(--mvmut);flex:none;text-transform:uppercase}
#v-market .mov-tkrow{flex:1;display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;
  mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}   /* edge fade = "more items" affordance, symmetric for RTL */
#v-market .mov-tkrow::-webkit-scrollbar{display:none}
#v-market .mov-tk{display:inline-flex;align-items:center;gap:7px;font-size:11px;flex:none}
#v-market .mov-tk b{font-weight:900;color:var(--mvtx)}
#v-market .mov-tkv{font-weight:800;color:var(--mvmut)}
#v-market .mov-tk .up,#v-market .mov-tk .down{font-weight:900;font-size:10.5px}
#v-market .mov-tksrc{font-size:9px;font-weight:800;color:var(--mvmut);flex:none;letter-spacing:.5px}

/* ── responsive ── */
@media (max-width:1550px){
  #v-market .mov-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:1550px) and (min-width:1281px){
  #v-market .mov-cbcard{grid-column:span 4}   /* 14+4=18 tracks = 3 exact rows in the 6-col zone (no dangling hole) */
}
@media (max-width:1650px){
  /* 5-across low panels are unreadable below ~1650 (1366/1440/1536 laptops) → 2-col + full-width last */
  #v-market .mov-low{grid-template-columns:1fr 1fr}
  #v-market .mov-low .mov-panel:last-child{grid-column:1/-1}
}
@media (max-width:1280px){
  #v-market .mov-pulse{grid-template-columns:repeat(3,minmax(0,1fr))}
  #v-market .mov-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:820px){
  #v-market .mov-title{font-size:20px;white-space:normal}
  #v-market .mov-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}
  #v-market .mov-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #v-market .mov-cbcard{grid-column:span 2}
  #v-market .mov-low{grid-template-columns:1fr}
  #v-market .mov-drvrow{grid-template-columns:repeat(3,minmax(0,1fr))}
  #v-market .mov-metrow{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ═══ LIGHT THEME — full white variant (re-token; loaded last → wins) ═══ */
html[data-theme="light"] #v-market .movwrap{
  --mvbg:#f5f6f9; --mvp:#ffffff; --mvps:#eef1f6;
  --mvl:rgba(16,24,40,.12); --mvtx:#1c2333; --mvmut:#5c6675;
  --mvup:#0f9d63; --mvdn:#d92d3a; --mvam:#b97d0c; --mvbl:#1d67d3; --mvpu:#6a4fd8;
  background:radial-gradient(1100px 360px at 50% -90px, rgba(29,103,211,.06), transparent 60%),#f5f6f9;
}
html[data-theme="light"] #v-market .movwrap .card{
  background:linear-gradient(180deg,#ffffff,#f7f8fb);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 26px rgba(16,24,40,.08);
}
html[data-theme="light"] #v-market .mov-title b{text-shadow:none}
html[data-theme="light"] #v-market .mov-tabs{background:rgba(16,24,40,.03)}
html[data-theme="light"] #v-market .mov-pic{background:rgba(16,24,40,.03)}
html[data-theme="light"] #v-market .mov-dots u{background:rgba(16,24,40,.15)}
html[data-theme="light"] #v-market .mov-evrow{border-bottom-color:rgba(16,24,40,.07)}
html[data-theme="light"] #v-market .mov-pill.neut{background:rgba(16,24,40,.04)}
html[data-theme="light"] #v-market .mov-pill.up{color:#fff}
html[data-theme="light"] #v-market .mov-tab.on{background:linear-gradient(180deg,#1d67d3,#155ac0);color:#fff}
html[data-theme="light"] #v-market .mov-badge.co{color:#8a6100;border-color:rgba(138,97,0,.35);background:rgba(185,125,12,.08)}

/* ══ W1 HONESTY STATES (2026-07-23) — every rule here EXISTS TO RESERVE SPACE, never to hide anything.
   Measured baseline was 0/236 boxes resizing and CLS 0; these states must not cost that. ══ */

/* [M8] feed age — the header's second line. The wall clock above is the viewer's browser time; THIS is the
   age of the server's last accepted snapshot. Fixed min-width so the text going "live now" -> "42s ago" ->
   "3m ago" cannot widen the header block. */
#v-market .mov-age{display:block;font-size:9.5px;font-weight:800;letter-spacing:.2px;min-width:96px}
#v-market .mov-age.ok{color:var(--mvup)}
#v-market .mov-age.warn{color:var(--mvam)}
#v-market .mov-age.mut{color:var(--mvmut)}
/* the pulsing "live" dot must not claim life while the feed is silent */
#v-market .mov-rt:has(.mov-age.mut) i,
#v-market .mov-rt:has(.mov-age.warn) i{background:var(--mvmut);box-shadow:none;animation:none}

/* [M1] risk gauge with NO inputs — the arc track is still drawn in the line colour so the panel keeps its
   exact height; there is simply no needle, no number and no verdict. */
#v-market .mov-riskna .mov-gauge{opacity:.45}
#v-market .mov-risklab.mut{color:var(--mvmut);font-size:11px;letter-spacing:.3px}

/* [M7] market-closed quote — the price stays (it IS the real last quote); it is just no longer dressed as a
   live direction.
   MEASURED REGRESSION, CAUGHT AND FIXED IN THE SAME WAVE: the first cut gave this pill `border:1px solid`,
   which the normal .mov-pill does not have — so the row grew 21px -> 23px and the card jumped 2px EVERY TIME
   the broker's stale flag flapped (it flaps genuinely on DXY and BTC, which tick irregularly). That is the
   exact defect this campaign exists to remove, introduced by its own fix. NO BORDER: identical box to the
   normal pill, so the two states are dimensionally interchangeable. */
#v-market .mov-pill.stl{color:var(--mvmut);background:rgba(139,149,167,.12)}
#v-market .mov-acard.stale .mov-aval{color:var(--mvmut)}
#v-market .mov-acard.stale .mov-aspk{opacity:.5}
