/* INVESTOOLS — signature identity: deep indigo + electric lime + data-weave */
/* TEMA: derive dari sistem --inv-* (homepage) supaya dark/light ikut otomatis */
:root{
  --indigo:#1A2A4A; --indigo-2:#13203b;
  --ink:var(--inv-text, #EAECEF);
  --bg:var(--inv-bg, #0B0E14);
  --panel:var(--inv-surface, #151A23);
  --panel2:var(--inv-surface-elevated, #1A2029);
  --line:var(--inv-border, rgba(255,255,255,.08));
  --muted:var(--inv-text-muted, #848E9C);
  --text:var(--inv-text, #EAECEF);
  --blue:#3B82F6;
  --lime:#3f9d3f; --lime-dk:#2f7a2f;
  --g-up:var(--inv-positive, #0ECB81); --g-dn:var(--inv-negative, #F6465D);
  --b-up:var(--inv-positive, #0ECB81); --b-dn:var(--inv-negative, #F6465D);
  --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:'Inter','Inter Tight',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);color:inherit;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)}

/* Accuracy Portfolio (insights.html) */
#accuracy-portfolio{margin-bottom:28px}
.accuracy-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.accuracy-card-none{}
.accuracy-card .acc-info{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.accuracy-card .acc-label{font-size:14px;font-weight:700;color:var(--ink)}
.accuracy-card .acc-value{font-size:26px;font-weight:800;color:var(--lime-dk)}
.accuracy-card .acc-bar-bg{height:10px;background:rgba(255,255,255,.08);border-radius:6px;margin:12px 0 8px;overflow:hidden}
.accuracy-card .acc-bar-fill{height:100%;background:linear-gradient(90deg,var(--lime),var(--lime-dk));border-radius:6px}
.accuracy-card .acc-stats{display:flex;gap:18px;font-size:12px;color:var(--muted)}
.accuracy-card .acc-stats span{font-weight:700;color:var(--ink)}
.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;color:var(--ink)}
.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-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.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}
@media(max-width:1200px){.cards-6{grid-template-columns:repeat(4,1fr)}}
@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 archive grid, right FIXED brokers sidebar) */
/* insight history 3-col layout: [ad LEFT outside] [archive] [brokers RIGHT] */
/* ad LEFT OUTSIDE content (fixed di pinggir kiri viewport, di luar .wrap) */
.ih-adleft{position:fixed;left:10px;top:84px;width:250px;z-index:5}
.ih-adleft .ad-box{width:100%;min-height:700px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center;padding:14px}
/* insights-wrap geser kanan biar gak ketutup ad (hanya saat ad visible) */
@media(min-width:1501px){ .insights-wrap{max-width:calc(1400px - 320px);margin-left:330px !important} }
/* ih-layout: konten aja (brokers & ad dipindah fixed di luar) */
.ih-layout{display:block}
.ih-left{min-width:0}
/* Brokers & Exchange: method sama kayak ads (fixed, di luar konten), posisi KANAN, frame 300x700 */
.ih-side{position:fixed;right:10px;top:84px;width:300px;min-height:700px;z-index:5;overflow:auto}
.ih-side .ih-sticky{display:block}
@media(min-width:1501px){ .insights-wrap{max-width:calc(1400px - 320px - 360px);margin:0 auto} .insights-wrap{margin-left:330px !important} }
@media(max-width:1500px){ .ih-adleft{display:none} }
@media(max-width:900px){
  .ih-layout{grid-template-columns:1fr}
  .ih-side{width:100%;position:static;max-height:none;overflow:visible}
  .ih-sticky{max-height:none;overflow:visible}
}
.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{grid-template-columns:1fr}
  .ih-side{width:100%;position:static;max-height:none;overflow:visible}
  .ih-sticky{max-height:none;overflow:visible}
}

/* detail list rows (premium card grid) */
#detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.drow{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--inv-border,rgba(255,255,255,.08));border-top:3px solid var(--inv-border-strong,rgba(255,255,255,.14));border-radius:14px;background:var(--inv-surface,#151A23);color:var(--inv-text,#EAECEF);box-shadow:0 1px 2px rgba(0,0,0,.18),0 8px 24px -16px rgba(0,0,0,.5);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;cursor:pointer}
.drow:hover{transform:translateY(-3px);box-shadow:0 10px 28px -10px rgba(0,0,0,.6);border-color:var(--inv-border-strong,rgba(255,255,255,.2))}
.drow.up{border-top-color:var(--inv-positive,#0ECB81)}
.drow.dn{border-top-color:var(--inv-negative,#F6465D)}
.drow .d-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.drow .dlogo{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--inv-surface-elevated,#1A2029);flex:0 0 auto}
.drow .dsym{font-weight:700;font-size:14px;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--inv-text,#EAECEF);display:flex;align-items:center;gap:8px}
.drow .dspark{width:100%;height:34px;flex:0 0 auto;opacity:.9}
.drow .d-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.drow .dprice{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left;font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--inv-text,#EAECEF)}
.drow .dchg{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:13px;font-weight:700;padding:3px 8px;border-radius:8px}
.drow .dchg.up{color:var(--inv-positive,#0ECB81);background:rgba(14,203,129,.12)}
.drow .dchg.dn{color:var(--inv-negative,#F6465D);background:rgba(246,70,93,.12)}
@media(max-width:720px){#detail-grid{grid-template-columns:repeat(auto-fill,minmax(150px,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 — bg mengikuti template dark/light (CARD tetap bg) */
.insight-card{background:var(--panel);color:var(--ink);
  border-radius:12px;padding:14px 12px;cursor:pointer;border:1px solid var(--line);border-left:3px solid var(--accent)}
.insight-card .pair{font-size:19px;font-weight:800;color:var(--ink)}
.insight-card .week{font-size:11px;color:var(--accent);font-weight:700;text-transform:uppercase}
.insight-card.mini{padding:10px 12px;border-left-width:2px}
.insight-card.mini .pair{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insight-card.mini .wk{font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insight-card:hover{border-color:var(--accent)}

/* week-group: jangan bg (boss: hilangkan bg hitam di BAWAH card) */
.week-group{background:transparent !important;margin-bottom:8px}
.week-sep{margin:18px 0 12px;display:flex;align-items:center;gap:12px}
.week-sep span{font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink)}
/* PASTIKAN warna section aman di dua mode (eksplisit) */
.section-title, .week-sep span{color:var(--ink) !important}
[data-theme="light"] .section-title, [data-theme="light"] .week-sep span,
body.day .section-title, body.day .week-sep span{color:#162033 !important}
.bias-pill{margin-top:8px;display:inline-block;padding:4px 12px;border-radius:20px;font-weight:800;font-size:12px}
.bias-pill.bull{background:rgba(14,203,129,.16);color:var(--g-up)}
.bias-pill.bear{background:rgba(246,70,93,.16);color:var(--g-dn)}
.bias-pill.side{background:rgba(132,142,156,.16);color:var(--muted)}

/* 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 — disesuaikan dgn frame 300px */
.bk{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px;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:10px;color:var(--lime-dk);font-weight:700;text-transform:uppercase}
.bk h4{font-size:14px;margin:2px 0 5px;color:var(--ink)}
.bk p{font-size:12px;color:var(--muted);line-height:1.45;flex:1}
.bk .row{display:flex;gap:6px;margin-top:9px}
.bk .btn-account,.bk .btn-ghost{padding:7px 11px;font-size:11.5px}

/* footer */
.foot{background:var(--panel);color:var(--muted);font-size:12px;margin-top:28px;padding:24px 0;border-top:1px solid var(--line)}
.foot a{color:var(--accent)}.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:var(--ink);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:var(--panel);color:var(--ink);border:1px solid var(--line);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;color:var(--ink)}
.modal-box .mtag{color:var(--accent);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;color:var(--ink)}
.modal-box .mbody>div[style*="color:#dde6f3"],.modal-box .mbody>div[style*="color:#fff"],.modal-box .mbody>div[style*="color: #dde6f3"]{color:var(--ink) !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,.18);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{background:radial-gradient(1200px 500px at 70% -10%,rgba(22,119,255,.18),transparent),var(--bg)}
section,.section{background: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:30px;width:auto;display:block}
.logo-light{display:none}
[data-theme="light"] .logo-dark{display:none}
[data-theme="light"] .logo-light{display:block}
/* hide login/signup everywhere (NOT broker btn-account — those must stay clickable) */
.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)}

/* ===== Markets detail page (premium) ===== */
.page-title{margin:22px 0 6px;font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--inv-text,#EAECEF)}
.page-sub{color:var(--inv-text-muted,#848E9C);font-size:13.5px;margin-bottom:20px}
.tabs{display:flex;gap:22px;border-bottom:1px solid var(--inv-border,rgba(255,255,255,.08));margin-bottom:22px;flex-wrap:wrap}
.tabs button{padding:13px 2px;background:none;border:0;color:var(--inv-text-muted,#848E9C);cursor:pointer;border-bottom:2px solid transparent;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}
.tabs button:hover{color:var(--inv-text,#EAECEF)}
.tabs button.active{color:var(--inv-accent,#3B82F6);border-bottom-color:var(--inv-accent,#3B82F6)}
