/* INVESTOOLS — signature identity: deep indigo + electric lime + data-weave */
:root{
  --indigo:#1A2A4A; --indigo-2:#13203b; --ink:#162033; --bg:#f4f6fb;
  --panel:#ffffff; --line:#e4e9f2; --muted:#6b7689; --lime:#3f9d3f; --lime-dk:#2f7a2f;
 --g-up:#2f8f4e; --g-dn:#e0394f; --b-up:#2f8f4e; --b-dn:#e0394f;
  --maxw:1340px; --shadow:0 1px 3px rgba(20,32,51,.06),0 8px 24px rgba(20,32,51,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}

/* ===== 3-BAR HEADER ===== */
.bar-util{background:#0d1424;color:#aeb6c4;font-size:12px}
.bar-util .wrap{display:flex;align-items:center;gap:14px;height:34px;justify-content:flex-end}
.bar-util a{color:#aeb6c4}.bar-util a:hover{color:#fff}
.bar-nav{background:var(--indigo)}
.bar-nav .wrap{display:flex;gap:2px;height:44px;align-items:center;overflow-x:auto}
.bar-nav a{padding:0 15px;color:#dfe6f3;font-weight:600;font-size:13px;line-height:44px;white-space:nowrap}
.bar-nav a:hover{background:rgba(163,255,0,.15);color:var(--lime)}
.bar-sub{background:#0d1424;border-bottom:1px solid rgba(163,255,0,.2)}
.bar-sub .wrap{display:flex;gap:14px;height:38px;align-items:center;overflow:hidden}
.bar-sub>a{color:var(--lime);font-size:12.5px;white-space:nowrap;font-weight:800;text-decoration:none}
.newsfeed{position:relative;flex:1;overflow:hidden;height:38px}
.newsfeed .run{display:inline-block;white-space:nowrap;animation:scrollLR 45s linear infinite}
@keyframes scrollLR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.newsfeed .nf{margin:0 26px;font-size:12.5px;white-space:nowrap}
.newsfeed:hover .run{animation-play-state:paused}

/* brand row */
.brand{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{font-size:23px;font-weight:800;color:var(--indigo);letter-spacing:-.5px}
.logo span{color:var(--lime-dk)}
.btn-account{background:var(--lime);color:#10160a;padding:9px 18px;border-radius:7px;
  font-weight:800;font-size:13px;border:none;cursor:pointer;transition:background .15s}
.btn-account:hover{background:var(--lime-dk)}
.ham{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.ham span{width:22px;height:2px;background:var(--ink);display:block}

/* ===== HERO ===== */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center;
  padding:34px 32px;border-radius:16px;position:relative;overflow:hidden;
  background:radial-gradient(125% 125% at 0% 0%,var(--indigo) 0%,var(--indigo-2) 72%);
  color:#eaf0ff;margin-top:14px}
.hero::before{content:"";position:absolute;inset:0;opacity:.55;
  background-image:
    radial-gradient(circle at 18% 28%,rgba(163,255,0,.20) 0 2px,transparent 3px),
    radial-gradient(circle at 68% 58%,rgba(163,255,0,.13) 0 2px,transparent 3px),
    radial-gradient(circle at 44% 82%,rgba(120,160,255,.16) 0 2px,transparent 3px);
  background-size:120px 120px,90px 90px,140px 140px;animation:weave 20s linear infinite}
@keyframes weave{to{background-position:240px 240px,-180px 180px,140px -140px}}
.hero h1{font-size:34px;font-weight:800;line-height:1.12;letter-spacing:-.6px;position:relative}
.hero p{color:#b9c4dc;margin:13px 0 19px;font-size:14.5px;max-width:520px;position:relative}
.hero-cta{display:flex;gap:10px;position:relative}
.hero .btn-account{padding:11px 22px}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink);
  padding:11px 20px;border-radius:7px;font-weight:600;font-size:13px;cursor:pointer}
.btn-ghost:hover{border-color:var(--indigo);color:var(--indigo)}
.hero-vis{background:#0a0f1e;border-radius:12px;padding:14px;min-height:230px;
  border:1px solid rgba(163,255,0,.25);box-shadow:0 0 30px rgba(163,255,0,.12);position:relative;overflow:hidden}
.hero-vis svg{width:100%;height:200px}
.hero-tag{position:absolute;bottom:12px;left:16px;color:#b9c4dc;font-size:12px}
.hero-tag b{color:var(--lime)}

/* ===== SECTION / GRID ===== */
.section-title{font-size:19px;font-weight:800;margin:22px 0 6px;display:flex;align-items:center;gap:9px}
.section-title .bar{width:4px;height:19px;background:var(--lime);border-radius:2px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;padding:8px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:var(--shadow)}
.card h3{font-size:14px;font-weight:700;margin-bottom:11px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.card h3 .dot{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}
.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}
.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:span 12}
@media(max-width:900px){
  .col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{grid-column:span 12}
  .hero{grid-template-columns:1fr}.bar-nav .wrap,.bar-sub .wrap{display:none}
  .ham{display:flex}.mobile-open .bar-nav .wrap,.mobile-open .bar-sub .wrap{display:flex;flex-direction:column;height:auto;padding:8px 0}
}

/* cards grids */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.cards-6{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:900px){.cards-3,.cards-4,.cards-6{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cards-3,.cards-4,.cards-6{grid-template-columns:1fr}}

/* insight history 2-col layout (left scroll, right FIXED brokers sidebar) */
.ih-layout{display:flex;align-items:flex-start;gap:26px}
.ih-left{flex:1;min-width:0;padding-right:26px;border-right:1px solid #e4e9f2}
.ih-side{width:340px;flex:0 0 340px;align-self:flex-start;position:sticky;top:16px}
.ih-sticky{display:block;max-height:calc(100vh - 32px);overflow:auto}
.month-group{display:block;margin:0 0 10px;grid-column:1/-1}
.month-sep{margin:26px 0 14px;display:flex;align-items:center;gap:12px}
.month-sep:first-child{margin-top:0}
.month-sep span{font-size:15px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink)}
.month-sep::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#c9d2e0,transparent)}
.cards-1{display:grid;grid-template-columns:1fr;gap:12px}
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:900px){
  .ih-layout{flex-direction:column}
  .ih-left{margin-right:0;padding-right:0;border-right:none}
  .ih-side{width:100%;flex:none;position:static;max-height:none;overflow:visible}
  .ih-sticky{max-height:none;overflow:visible}
}

/* mini tiles */
/* detail list rows (replaces centered tiles) */
#detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.drow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:var(--shadow)}
.drow .dsym{font-weight:600;font-size:13.5px;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drow .dprice{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left;font-size:13.5px}
.drow .dchg{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:13.5px;font-weight:700}
@media(max-width:720px){#detail-grid{grid-template-columns:1fr}}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 12px;text-align:center;box-shadow:var(--shadow)}
.tile .sym{font-size:11.5px;color:var(--muted);font-weight:600}
.tile .v{font-size:17px;font-weight:800;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.tile .c{font-size:12px;font-weight:700}
.up{color:var(--g-up)}.dn{color:var(--g-dn)}
/* live flash on price/percent change (in-place update, no rebuild) */
@keyframes flashUp{0%{background:rgba(26,143,60,.45);box-shadow:0 0 0 1px rgba(26,143,60,.6) inset}100%{background:transparent;box-shadow:none}}
@keyframes flashDn{0%{background:rgba(224,57,79,.45);box-shadow:0 0 0 1px rgba(224,57,79,.6) inset}100%{background:transparent;box-shadow:none}}
/* target tile element (flashTile adds class to .tile) + value cells */
.tile.flash-up,.v.flash-up,.mrow .px.flash-up,.tile .up.flash-up,.tile .dn.flash-up{animation:flashUp .8s ease-out}
.tile.flash-dn,.v.flash-dn,.mrow .px.flash-dn,.tile .up.flash-dn,.tile .dn.flash-dn{animation:flashDn .8s ease-out}
@media(prefers-reduced-motion:reduce){.tile,.v,.mrow .px,.tile .up,.tile .dn{animation:none!important}}
.arrow{display:inline-block;margin-right:6px;font-size:10px;line-height:1;vertical-align:middle}

/* market "more" link — matches section heading color (var(--ink)) */
.more-link{display:block;text-align:right;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--ink);text-decoration:none;padding:6px 0}
.more-link:hover{text-decoration:underline;color:var(--indigo)}

/* market rows */
.mrow{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px}
.mrow:last-child{border-bottom:none}
.mrow .sym{font-weight:600;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .price{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left}
.mrow .chg{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:700}
.mover-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px}
.mover-row:last-child{border-bottom:none}
.mover-row .mv-sym{flex:1 1 auto;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mover-row .price{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left}
.mover-row .chg{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:700}
.mover-row .mcat{flex:0 0 auto;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:rgba(120,140,180,.12);padding:2px 6px;border-radius:5px;white-space:nowrap}

/* news list */
.news-item{padding:10px 0;border-bottom:none;display:block;cursor:pointer}
.news-item:last-child{border-bottom:none}
.news-item .tag{color:var(--brand);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.news-item .ti{font-weight:600;font-size:13.5px;margin:2px 0;line-height:1.45;color:var(--ink)}
.news-item .dt{color:var(--muted);font-size:11.5px}
.news-item:hover .ti{color:var(--brand)}

/* insight card */
.insight-card{background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#eaf0ff;
  border-radius:12px;padding:16px;cursor:pointer;border:1px solid rgba(163,255,0,.25)}
.insight-card .pair{font-size:19px;font-weight:800;color:#fff}
.insight-card .week{font-size:11px;color:var(--lime);font-weight:700;text-transform:uppercase}
.bias-pill{margin-top:8px;display:inline-block;background:var(--lime);color:#10160a;padding:4px 12px;border-radius:20px;font-weight:800;font-size:12px}

/* economic calendar */
.cal-row{display:grid;grid-template-columns:54px 40px 1fr 70px 64px 64px 64px;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.evt-cell{display:flex;justify-content:space-between;align-items:center;gap:10px}
.evt-cell .wib{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;letter-spacing:.3px}
.cal-row:last-child{border-bottom:none}
.cal-row.head{font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase}
.imp-high{color:var(--g-dn);font-weight:700}.imp-med{color:#d98a00;font-weight:700}.imp-low{color:var(--muted)}

/* brokers/exchanges */
.bk{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:14px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.bk:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(20,32,51,.12)}
.bk .cat{font-size:10.5px;color:var(--lime-dk);font-weight:700;text-transform:uppercase}
.bk h4{font-size:15px;margin:3px 0 7px;color:var(--ink)}
.bk p{font-size:12.5px;color:var(--muted);line-height:1.5;flex:1}
.bk .row{display:flex;gap:8px;margin-top:11px}
.bk .btn-account,.bk .btn-ghost{padding:8px 13px;font-size:12px}

/* footer */
.foot{background:var(--indigo);color:#aab4c8;font-size:12px;margin-top:28px;padding:24px 0}
.foot a{color:#cfd6e4}.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.foot .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:100%}
.foot .cols h5{color:#fff;font-size:13px;margin-bottom:8px}
.foot .cols a{display:block;padding:3px 0;font-size:12px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(10,16,32,.74);display:none;align-items:center;justify-content:center;z-index:80;padding:20px}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:14px;max-width:660px;width:100%;max-height:86vh;overflow:auto;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.modal-box h2{font-size:20px;font-weight:800;margin-bottom:6px;line-height:1.25}
.modal-box .mtag{color:var(--lime-dk);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.modal-box .mdate{color:var(--muted);font-size:12px;margin-bottom:14px}
.modal-box .mbody{font-size:14.5px;line-height:1.72}
.modal-box .mbody>div[style*="color:#dde6f3"]{color:#28324a !important}
.modal-box .bias{display:inline-block;margin-top:14px;padding:5px 13px;border-radius:20px;font-weight:800;font-size:12px;background:rgba(26,143,60,.12);color:var(--g-up)}
.modal-box .close{float:right;cursor:pointer;font-size:22px;color:var(--muted);line-height:1}

/* live ticker bar */
.ticker{background:#0d1424;color:#dfe6f3;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(163,255,0,.2)}
.ticker .run{display:inline-block;padding:9px 0;animation:scroll 38s linear infinite}
.ticker .run span{margin:0 22px;font-size:13px;font-variant-numeric:tabular-nums}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes scrollLR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ticker .up{color:var(--lime)}.ticker .dn{color:#ff7088}
@media(prefers-reduced-motion:reduce){.ticker .run{animation:none}.hero::before{animation:none}}

/* featured news */
.news-feature{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.news-feature .lead{background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#eaf0ff;
  border-radius:12px;padding:18px;cursor:pointer;border:1px solid rgba(163,255,0,.25);display:flex;flex-direction:column;justify-content:flex-end;min-height:180px}
.news-feature .lead .tag{color:var(--lime);font-weight:700;font-size:11px;text-transform:uppercase}
.news-feature .lead .ti{font-size:19px;font-weight:800;margin-top:8px;line-height:1.25;color:#fff}
.news-feature .lead .dt{color:#aeb6c4;font-size:11.5px;margin-top:6px}
/* compact broker */
.bk.compact{padding:12px}
.bk.compact h4{font-size:14px}
.bk.compact p{font-size:11.5px}
.bk.compact .row{margin-top:8px}
/* live chart canvas */
.livechart{width:100%;height:100%;display:block;background:#0a0f1e;border-radius:8px}
.livechart-wrap{position:relative;height:100%}
.livechart-badge{position:absolute;top:8px;left:10px;color:var(--lime);font-size:11px;font-weight:700;
  background:rgba(10,15,30,.7);padding:3px 8px;border-radius:6px}
@media(max-width:900px){.news-feature{grid-template-columns:1fr}}

/* MOBILE FIXES (audit 2026-08-05) */
@media(max-width:560px){
  /* snapshot redundant with detailed grids -> collapse to 2-col only, shorter */
  #snapshot-grid{grid-template-columns:repeat(2,1fr)}
  /* economic calendar horizontal table -> card stack */
  .cal-row.head{display:none}
  .cal-row{grid-template-columns:1fr;gap:2px;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
  .cal-row span:nth-child(1)::before{content:"Time: "}
  .cal-row span:nth-child(2)::before{content:""}
  .cal-row span:nth-child(3)::before{content:"Event: "}
  .cal-row span:nth-child(4)::before{content:"Impact: "}
  .cal-row span:nth-child(5)::before{content:"Fcst: "}
  .cal-row span:nth-child(6)::before{content:"Prev: "}
  .cal-row span:nth-child(7)::before{content:"Act: "}
  /* broker compact text a bit larger on mobile */
  .bk.compact p{font-size:12px}
  .hero h1{font-size:27px}
}
/* readability: news line-height + insight body color */
.news-item .ti{line-height:1.4}
.insight-card .week{color:var(--accent)}
.insight-card .bias-pill{background:#bdf500}

@media(max-width:560px){
  body{font-size:13.5px}
  .section-title{font-size:17px}
  .card{padding:12px}
  .cards-4{grid-template-columns:1fr 1fr}
  .cards-3{grid-template-columns:1fr}
  .hero{margin-top:10px}
  .hero-vis{min-height:170px}
  /* prevent ultra-long scroll: cap snapshot to 2 rows on mobile */
  #snapshot-grid .tile:nth-child(n+9){display:none}
  /* economic calendar already card-stacked */
}

.ticker .tk{cursor:pointer}
.ticker .tk:hover b{text-decoration:underline}

/* ===== SYLVIA SKIN — night/day + brand logo + hide login (skin only) ===== */
:root{
  /* NIGHT default: navy + cyan, overrides indigo/lime brand */
  --bg:#070b16; --panel:#0c1426; --ink:#e7eefc; --muted:#8aa0c4; --line:#1b2740;
  --brand:#18c8ff; --brand-2:#1677ff; --accent:#00e58a; --up:#00e58a; --down:#ff4d67;
  --shadow:0 14px 40px rgba(0,0,0,.45);
}
html,body{background:var(--bg);color:var(--ink)}
.topnav,header{background:rgba(8,14,28,.82);border-bottom:1px solid var(--line)}
.hero,section,.section{background:radial-gradient(1200px 500px at 70% -10%,rgba(22,119,255,.18),transparent),var(--bg)}
.card,.insight,.tile,.bk,.mrow,.table-wrap{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink)}
.tag,.btn-ghost{background:rgba(24,200,255,.12);color:var(--brand);border-color:var(--line)}
.btn,.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#03101e;border:none}
.bias.bull,.up{color:var(--up)} .bias.bear,.dn{color:var(--down)}
.logo-img{height:72px;width:auto;display:block;filter:drop-shadow(0 0 14px rgba(24,200,255,.65))}
/* hide login/signup everywhere */
.btn-account,.open-account,#open-account-top,#open-account-hero,[href*="signup"],[href*="login"],.login-cta{display:none!important}
/* theme toggle */
.theme-toggle{margin-left:auto;background:var(--panel);border:1px solid var(--line);color:var(--ink);
  width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:16px;display:grid;place-items:center}
.theme-toggle:hover{border-color:var(--brand)}
/* pair logos */
.pair-logo{width:18px;height:18px;border-radius:50%;vertical-align:middle;margin-right:6px;object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.sym{display:inline-flex;align-items:center}
/* DAY MODE */
body.day{
  --bg:#f4f6fb; --panel:#ffffff; --ink:#162033; --muted:#6b7689; --line:#e4e9f2;
  --brand:#1677ff; --brand-2:#0ea5e9; --accent:#2f8f4e; --up:#2f8f4e; --down:#e0394f;
  --shadow:0 1px 3px rgba(20,32,51,.06),0 8px 24px rgba(20,32,51,.05);
}
body.day .topnav,body.day header{background:#fff}
body.day .hero,body.day section,body.day .section{background:#fff}
body.day .logo-img{filter:none}
body.day .card:hover{box-shadow:0 18px 40px rgba(20,32,51,.12)}
