
/* ═══ THEME TOKENS ═══
   Recoloured 2026-07-07 to match the rathinrajrx3.com family:
   amber accent (#e6a13d) on near-black for dark; warm off-white
   for light with a darker amber for contrast. Status colours
   (green/red/amber/blue) kept so gains/losses still read, but
   retuned per theme for visibility. --ac drives every accent. */
[data-theme="dark"]{
  --bg:#0a0a0b;--sf:#131316;--s2:#1a1a1e;--bd:#242428;
  --ac:#e6a13d;--ac-hover:#f2b658;--adim:rgba(230,161,61,0.14);
  --gn:#22c55e;--gdim:rgba(34,197,94,0.1);
  --rd:#f87171;--am:#e6a13d;--bl:#38bdf8;
  --tx:#f0f0ee;--t2:#8c8c93;--t3:#55555c;--hd:#f0f0ee;--tb:#0a0a0b;
  /* background orbs (animated, see body::before/::after) */
  --orb1:rgba(230,161,61,0.10);--orb2:rgba(230,161,61,0.05);--orb3:rgba(99,102,241,0.04);
  --grid:rgba(230,161,61,0.11);
  --shadow:0 1px 4px rgba(0,0,0,0.2),0 4px 12px rgba(0,0,0,0.12);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.15);
}
[data-theme="light"]{
  --bg:#f8f5ef;--sf:#ffffff;--s2:#ece5dc;--bd:#d2c6b6;
  --ac:#c8842a;--ac-hover:#b3741f;--adim:rgba(200,132,42,0.18);
  --gn:#15924a;--gdim:rgba(21,146,74,0.12);
  --rd:#c92a2a;--am:#c8842a;--bl:#0880b0;
  --tx:#1a1510;--t2:#5a4f40;--t3:#8f8270;--hd:#1a1510;--tb:#f8f5ef;
  --orb1:rgba(200,132,42,0.15);--orb2:rgba(200,132,42,0.08);--orb3:rgba(99,102,241,0.05);
  --grid:rgba(200,132,42,0.16);
  --shadow:0 1px 4px rgba(0,0,0,0.06),0 4px 12px rgba(0,0,0,0.04);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.04);
}
*{margin:0;padding:0;box-sizing:border-box;}
/* ═══ ANIMATED BACKGROUND ═══
   Three slow-drifting blurred orbs + a dot grid with a gentle
   sweeping ripple (a large low-opacity radial glow that slowly
   orbits the page, briefly highlighting dots as it passes). */
body{background:var(--bg);color:var(--tx);font-family:'Inter',sans-serif;font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease;position:relative;overflow-x:hidden;}
body::before{
  content:'';position:fixed;inset:-20%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(40% 40% at 20% 25%, var(--orb1), transparent 70%),
    radial-gradient(35% 35% at 80% 20%, var(--orb2), transparent 70%),
    radial-gradient(45% 45% at 60% 85%, var(--orb3), transparent 70%);
  filter:blur(20px);
  animation:bgorb 26s ease-in-out infinite alternate;
}
/* Dot grid — static overlay, no ripple animation */
body::after{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(circle, var(--grid) 2px, transparent 2px);
  background-size:28px 28px;
}
@keyframes bgorb{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(2%,-3%,0) scale(1.08);}
  100%{transform:translate3d(-2%,2%,0) scale(1.04);}
}
.wrap{max-width:1400px;margin:0 auto;padding:40px 24px 100px;position:relative;z-index:1;}

/* HEADER */
header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ac);margin-bottom:8px;}
h1{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--hd);margin-bottom:4px;}
.sub{font-size:12px;color:var(--t2);}

/* ═══ THEME TOGGLE BUTTON ═══
   Icon swapped from emoji to inline SVG (sun/moon). The icon
   cross-fades + rotates on switch — keeps the smooth feel, no
   emoji. Button bg/caret follow the accent. */
.theme-btn{display:flex;align-items:center;gap:7px;background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:8px 13px;cursor:pointer;transition:border-color .15s,background .35s ease,color .15s;color:var(--t2);font-family:'Inter',sans-serif;font-size:12px;font-weight:500;flex-shrink:0;overflow:hidden;}
.theme-btn:hover{border-color:var(--ac);color:var(--tx);}
.theme-btn .ico{position:relative;width:15px;height:15px;flex-shrink:0;display:inline-flex;}
.theme-btn .ico svg{position:absolute;inset:0;width:15px;height:15px;transition:opacity .35s ease,transform .45s cubic-bezier(.4,0,.2,1);}
/* dark mode (default): show moon, hide sun */
.theme-btn .ico .sun{opacity:0;transform:rotate(-90deg) scale(.4);}
.theme-btn .ico .moon{opacity:1;transform:rotate(0) scale(1);}
/* light mode: show sun, hide moon */
[data-theme="light"] .theme-btn .ico .sun{opacity:1;transform:rotate(0) scale(1);}
[data-theme="light"] .theme-btn .ico .moon{opacity:0;transform:rotate(90deg) scale(.4);}

/* NAV */
.nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px;}
.ntab{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;padding:7px 17px;border-radius:8px;border:1px solid var(--bd);background:var(--sf);color:var(--t2);cursor:pointer;transition:all .15s;}
.ntab.active{background:var(--ac);border-color:var(--ac);color:#fff;}
.ntab:hover:not(.active){color:var(--tx);border-color:var(--t3);}

/* GRIDS */
.g2{display:grid;grid-template-columns:380px 1fr;gap:14px;align-items:start;}
.g3{display:grid;grid-template-columns:300px 1fr 1fr;gap:14px;align-items:start;}
/* compare with full A+B: inputs | A | B | diff */
.g4{display:grid;grid-template-columns:260px 1fr 1fr 1fr;gap:14px;align-items:start;}
/* asset compare: inputs | A | B | diff */
.ga{display:grid;grid-template-columns:260px 1fr 1fr 300px;gap:14px;align-items:start;}
@media(max-width:1200px){
  .g3{grid-template-columns:280px 1fr 1fr;}
  .g4{grid-template-columns:240px 1fr 1fr 1fr;}
  .ga{grid-template-columns:240px 1fr 1fr 260px;}
}
@media(max-width:960px){
  .g2{grid-template-columns:1fr;}
  .g3{grid-template-columns:1fr 1fr;}
  .g4,.ga{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){.g2,.g3,.g4,.ga{grid-template-columns:1fr;}}

/* CARD */
.card{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:20px 22px;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;}
/* Light mode gets a subtle shadow for card depth */
[data-theme="light"] .card{box-shadow:var(--shadow);}
[data-theme="light"] .card:hover{box-shadow:var(--shadow),0 6px 20px rgba(0,0,0,0.06);}
.clbl{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:18px;}
.card-accent{border-top:2px solid var(--ac);}
.card-green{border-top:2px solid var(--gn);}
.card-diff{border-top:2px solid var(--am);}

/* INPUTS */
.ig{margin-bottom:18px;}
.ig:last-child{margin-bottom:0;}
.ir{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.iname{font-size:13px;font-weight:500;color:var(--tx);}
.ival{font-size:13px;font-weight:600;color:var(--ac);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:8px;}
.range-wrap{padding:10px 0 2px;}
input[type="range"]{-webkit-appearance:none;width:100%;height:2px;background:var(--bd);border-radius:1px;outline:none;cursor:pointer;display:block;overflow:visible;}
input[type="range"]::-webkit-slider-container{overflow:visible;}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ac);cursor:pointer;border:2.5px solid var(--tb);box-shadow:0 0 0 1.5px var(--ac);transition:box-shadow .15s;margin-top:-7px;}
input[type="range"]::-webkit-slider-runnable-track{height:2px;background:var(--bd);border-radius:1px;}
input[type="range"]::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px var(--adim);}
input[type="range"]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--ac);cursor:pointer;border:2px solid var(--tb);box-shadow:0 0 0 1.5px var(--ac);}
input[type="range"]::-moz-range-track{height:2px;background:var(--bd);border-radius:1px;}
.rlim{display:flex;justify-content:space-between;font-size:10px;color:var(--t3);margin-top:5px;margin-bottom:7px;}
.ni{width:100%;background:var(--s2);border:1px solid var(--bd);border-radius:6px;color:var(--tx);font-family:'Inter',sans-serif;font-size:13px;font-weight:500;padding:7px 11px;outline:none;transition:border-color .15s,background .2s;-moz-appearance:textfield;}
.ni::-webkit-inner-spin-button{display:none;}
.ni:focus{border-color:var(--ac);}
.hdiv{height:1px;background:var(--bd);margin:4px 0 16px;}
.sect-lbl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:12px;margin-top:4px;}

/* TOGGLE */
.tog-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.togswitch{position:relative;width:36px;height:20px;flex-shrink:0;}
.togswitch input{opacity:0;width:0;height:0;}
.togslider{position:absolute;inset:0;background:var(--bd);border-radius:20px;cursor:pointer;transition:background .2s;}
.togslider::before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:var(--t3);border-radius:50%;transition:transform .2s,background .2s;}
.togswitch input:checked+.togslider{background:var(--ac);}
.togswitch input:checked+.togslider::before{transform:translateX(16px);background:#fff;}

/* RESULTS HERO */
.rhero{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--bd);}
.rblock{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.rblock:last-child{margin-bottom:0;}
.rleft{flex:1;}
.rlabel{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--t2);margin-bottom:4px;}
.rbig{font-family:'Playfair Display',serif;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:700;letter-spacing:-.01em;line-height:1;color:var(--hd);}
.rbig.green{color:var(--gn);}
.rbig.blue{color:var(--bl);}
.rsub{font-size:10.5px;color:var(--t2);margin-top:4px;}
.rright{text-align:right;padding-left:12px;flex-shrink:0;}
.rright-lbl{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:3px;}
.rright-val{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--t2);}
.rright-val.green{color:var(--gn);}
.rright-note{font-size:10px;color:var(--t3);margin-top:2px;}

/* STAT BOXES */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px;}
.sbox{background:var(--s2);border:1px solid var(--bd);border-radius:8px;padding:10px 12px;transition:background .2s;}
.snum{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:2px;}
.snum.purple{color:var(--ac);}
.snum.green{color:var(--gn);}
.snum.amber{color:var(--am);}
.snum.red{color:var(--rd);}
.snum.blue{color:var(--bl);}
.slbl{font-size:10.5px;color:var(--t2);}

/* BARS */
.bsec{margin-bottom:13px;}
.btitle{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:8px;}
.brow{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.blbl{font-size:11px;color:var(--t2);width:50px;flex-shrink:0;}
.btrack{flex:1;height:4px;background:var(--bd);border-radius:2px;overflow:hidden;}
.bfill{height:100%;border-radius:2px;transition:width .35s cubic-bezier(.4,0,.2,1);}
.bfill.inv{background:var(--ac);}
.bfill.ret{background:var(--gn);}
.bfill.int{background:var(--rd);}
.bval{font-size:11px;font-weight:500;color:var(--tx);width:64px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums;}

/* INSIGHT */
.insight{background:var(--adim);border:1px solid rgba(99,102,241,.14);border-radius:7px;padding:10px 12px;font-size:11.5px;color:var(--t2);line-height:1.65;transition:background .2s;}

/* DIFF CARD */
.diff-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--bd);}
.diff-row:last-child{border-bottom:none;padding-bottom:0;}
.diff-metric{font-size:12px;color:var(--t2);}
.diff-val{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;}
.diff-val.pos{color:var(--gn);}
.diff-val.neg{color:var(--rd);}
.diff-val.neu{color:var(--am);}
.diff-winner{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);border-radius:6px;padding:8px 12px;margin-bottom:14px;font-size:12px;color:var(--gn);font-weight:500;}

/* ASSET TIMELINE */
.atrow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--bd);font-size:12.5px;}
.atrow:last-child{border-bottom:none;}
.atrow.hi{font-weight:600;}
.atrow .atyear{color:var(--t2);}
.atrow .atval{font-variant-numeric:tabular-nums;color:var(--tx);}
.atrow.hi .atval{color:var(--gn);}

/* HIDDEN */
.hidden{display:none!important;}
