/* RailGuruji — shared "glass forest" theme.
   Used by index, study, demo, premium, privacy, performance and the CBT
   picker/instructions/result screens. The CBT exam screen deliberately keeps
   its own light, exam-authentic styling. */
:root {
  --forest-0:#06120c; --forest-1:#0a2016; --forest-2:#0e3324;
  --emerald:#34d399; --emerald-lt:#6ee7b7; --emerald-dp:#059669;
  --gold:#fbbf24; --gold-lt:#fcd34d; --tg:#2aabee;
  --ink:#eafff5; --muted:#9fc0b1;
  --glass:rgba(220,255,240,.055); --glass-2:rgba(220,255,240,.09);
  --brd:rgba(180,255,220,.14); --brd-2:rgba(180,255,220,.28);
  --good:#6ee7b7; --bad:#fca5a5;
  --shadow:0 20px 50px -20px rgba(0,0,0,.65);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.rg {
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari","Noto Sans",sans-serif;
  color:var(--ink); line-height:1.6; background:var(--forest-0); overflow-x:hidden;
}
body.rg a { color:inherit; }

/* backdrop */
.rg-bg { position:fixed; inset:0; z-index:-3;
  background:radial-gradient(120% 90% at 50% -10%, #12492f 0%, var(--forest-2) 34%, var(--forest-1) 62%, var(--forest-0) 100%); }
.rg-orb { position:fixed; border-radius:50%; filter:blur(46px); z-index:-2; pointer-events:none; }
.rg-orb.a { width:320px; height:320px; top:3%; left:-90px; background:radial-gradient(circle,#34d399,transparent 68%); opacity:.26; }
.rg-orb.b { width:280px; height:280px; top:58%; right:-90px; background:radial-gradient(circle,#fbbf24,transparent 68%); opacity:.15; }

/* layout */
.rg-wrap { max-width:980px; margin:0 auto; padding:0 18px 64px; }
.rg-glass { background:var(--glass); border:1px solid var(--brd); border-radius:18px;
  backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.08); }

/* header */
.rg-head { position:sticky; top:0; z-index:50; background:rgba(6,18,12,.6);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--brd); }
.rg-head .inner { max-width:980px; margin:0 auto; padding:0 18px; height:60px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rg-brand { font-size:1.2rem; font-weight:800; text-decoration:none; display:flex; align-items:center; gap:8px; white-space:nowrap; }
.rg-brand .ji { background:linear-gradient(90deg,var(--emerald-lt),var(--gold-lt));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.rg-navlinks { display:flex; gap:14px; align-items:center; font-size:.85rem; color:var(--muted); }
.rg-navlinks a { text-decoration:none; }
.rg-navlinks a:hover { color:var(--emerald-lt); }

/* typography */
.rg-h1 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:850; letter-spacing:-.3px; margin:28px 0 4px; }
.rg-sub { color:var(--muted); font-size:.95rem; margin-bottom:22px; }
.rg-h2 { font-size:1.06rem; font-weight:800; margin-bottom:4px; }
.rg-hint { color:var(--muted); font-size:.79rem; }

/* buttons */
.rg-btn { display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-weight:800;
  padding:13px 22px; border-radius:13px; font-size:.98rem; cursor:pointer; border:0; font-family:inherit;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease; }
.rg-btn:hover { transform:translateY(-2px); }
.rg-btn:active { transform:translateY(0) scale(.98); }
.rg-btn-primary { background:linear-gradient(95deg,var(--emerald-dp),var(--emerald) 55%,var(--emerald-lt));
  color:#04180f; box-shadow:0 12px 30px -12px rgba(52,211,153,.8); }
.rg-btn-ghost { background:var(--glass-2); color:var(--ink); border:1px solid var(--brd-2); }

/* pills / tabs */
.rg-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.rg-tab { border:1px solid var(--brd-2); background:var(--glass); color:var(--muted); font-weight:700;
  font-size:.86rem; padding:8px 16px; border-radius:999px; cursor:pointer; font-family:inherit; }
.rg-tab.on { background:linear-gradient(90deg,var(--emerald-dp),var(--emerald)); border-color:transparent; color:#04180f; }
.rg-chip { display:inline-block; background:rgba(255,255,255,.05); border:1px solid var(--brd);
  color:var(--ink); font-weight:600; font-size:.8rem; padding:6px 13px; border-radius:999px; }
.rg-chip.gold { border-color:rgba(251,191,36,.4); color:var(--gold-lt); }

/* cards */
.rg-card { padding:18px 20px; margin-bottom:16px; }
.rg-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.rg-tile { padding:16px 18px; border-radius:15px; background:var(--glass-2); border:1px solid var(--brd);
  text-decoration:none; display:block; transition:transform .15s ease, border-color .15s ease, background .15s ease; }
.rg-tile:hover { transform:translateY(-3px); border-color:var(--brd-2); background:rgba(220,255,240,.13); }

/* misc */
.rg-note { background:rgba(251,191,36,.09); border:1px solid rgba(251,191,36,.32); color:var(--gold-lt);
  border-radius:14px; padding:14px 16px; font-size:.87rem; }
.rg-foot { text-align:center; color:var(--muted); font-size:.85rem; padding:26px 0; border-top:1px solid var(--brd); margin-top:34px; }
.rg-foot a { color:#cfeae0; text-decoration:none; }
.rg-foot a:hover { color:var(--emerald-lt); }
@media (prefers-reduced-motion: reduce) { .rg-btn, .rg-tile { transition:none; } }
