/* RailGuruji — shared LIGHT / institutional theme.
   Used by the generated study-notes pages, the notes hub, demo, premium and
   privacy. The CBT exam screen keeps its own exam-authentic styling, and
   index.html carries this same palette inline.

   The old dark "glass forest" variable NAMES are kept on purpose — every rule in
   this file and in generate-site.js refers to them, so re-pointing the tokens
   converts the whole site without touching a hundred selectors. Read them as
   roles, not colours: --emerald is "the accent", --gold is "the highlight".
   On a light ground the -lt variants are DARKER than their base, because on
   white it is depth, not brightness, that reads as emphasis. */
/* Tell the browser this page has both palettes, so the scrollbars, form controls and
   the default canvas it paints before CSS applies match the theme instead of flashing
   white on a dark desktop. */
:root { color-scheme: light dark; }

:root {
  /* the light palette, matching index.html exactly */
  --paper:   #FBFAF7;
  --card:    #FFFFFF;

  /* --green carries TWO roles that cannot both survive a dark palette: it is text on
     the paper (the wordmark, h1, chip labels) and it is the FILL behind white text on
     the primary button and the active tab. Inverting one role breaks the other — a
     light green readable on a dark page is far too pale to sit behind white.
     So the roles are split. --green stays the text/accent role and goes light in dark
     mode; --green-solid is the fill and stays deep in both; --on-green is whatever
     reads on that fill. In light mode all three resolve to what was there before, so
     the light site is unchanged. */
  --green-solid: #0F4430;
  --on-green:    #FFFFFF;
  /* The sticky header was a hard-coded rgba() of the paper colour, so it would have
     stayed a bright bar across the top of every dark page. */
  --head-bg: rgba(251,250,247,.92);
  --ink:     #15211B;
  --muted:   #5B6B62;
  --green:   #0F4430;
  --green-lt:#1C6647;
  --green-w: #EFF4F1;
  --brass:   #A9762A;
  --brass-dk:#8F6220;   /* 5.3:1 on white — safe for words */
  --brass-lt:#C9973F;   /* on dark green only */
  --brass-w: #FDFAF3;
  --brass-brd:#E8DCC2;
  --line:    #E5E1D8;
  --line-2:  #D4CFC2;

  /* legacy role names, re-pointed at the light palette */
  --forest-0:#FBFAF7; --forest-1:#F4F2EC; --forest-2:#EFF4F1;
  --emerald:#1C6647; --emerald-lt:#0F4430; --emerald-dp:#0F4430;
  --gold:#A9762A; --gold-lt:#8F6220; --tg:#1C76AC;
  --glass:#FFFFFF; --glass-2:#FDFAF3;
  --brd:#E5E1D8; --brd-2:#D4CFC2;
  --good:#1C6647; --bad:#A3342A;
  --shadow:0 10px 30px -18px rgba(21,33,27,.28);

  /* ---- the revision-notebook layer ------------------------------------------
     The study content is set as a student's own revision notes. Two faces and
     a small set of pens carry it, and each pen means exactly ONE thing.

     --hand is Kalam, the ONLY handwriting family on Google Fonts that covers
     Devanagari as well as Latin. That matters for the same reason Tiro was
     chosen for the display face: one family sets both scripts, so a heading
     does not change voice between EN and हिं. Its Devanagari reads much less
     "handwritten" than its Latin — there is no alternative, and the pens and
     the ruled paper carry the effect on the Hindi page instead.

     --read is the reading face, kept for anything that must be read EXACTLY:
     tables, and the figures when the printed-figures option is switched on.

     Every ratio below is measured against --card by computed style, not judged
     by eye — see content-pipeline/check-contrast.js and the audit noted in the
     design memory. The rule that keeps this from becoming noise is a RARITY
     BUDGET: the more often a mark appears, the quieter it must be. */
  --hand: "Kalam", "Segoe Print", "Bradley Hand", "Noto Sans Devanagari", cursive;
  --read: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Devanagari", "Noto Sans", sans-serif;

  --pen-forest:  #0F4430;  /* the heading pen        — 1 per card   11.1:1 */
  --pen-blue:    #1B4E8F;  /* the sub-clause pen     — 2-5 per card  8.3:1 */
  --pen-red:     #A3342A;  /* the figures pen        — 3-8 per card  6.8:1 */
  --pen-brass:   #8F6220;  /* the caps terms         — ~11 per card  5.3:1 */
  --pen-red-soft:#D4867C;  /* the pen line under a figure — a rule, never text */
  --rule:        #E1E9E4;  /* the horizontal ruling of the paper */
  --margin-rule: #DFA79F;  /* the rose vertical line of an Indian ruled notebook */
  --hl-yellow:   #FFEFA1;  /* the highlighter — max 2 a page, or it means nothing */
  --hl-mint:     #D3EDDC;
}
/* DARK PALETTE.
 *
 * Chrome's dark setting only repaints Chrome's own furniture — tabs, toolbar, menus.
 * A site is dark only if it says so, which is why ChatGPT and WhatsApp Web follow the
 * desktop and this site did not: it had no dark palette at all.
 *
 * Only the tokens are redefined; not one selector below changes. The roles are kept
 * rather than the colours — on a dark ground the -lt variants are BRIGHTER than their
 * base, the mirror of the note above, because there it is light and not depth that
 * reads as emphasis.
 *
 * Every pairing here is measured, not eyeballed — run content-pipeline/check-contrast.js,
 * which reads both palettes straight out of this file. Body text 15.73:1, muted 7.95:1,
 * the green accent 9.57:1, brass 9.46:1, white on the button fill 6.91:1, and the
 * weakest pairing in the palette — white on the button's hover fill — 4.87:1. All are
 * past the 4.5:1 AA floor for body text.
 */
@media (prefers-color-scheme: dark) {
  :root {
    --paper:   #0F1613;
    --card:    #17211C;
    --ink:     #E9EFEA;
    --muted:   #9DAFA4;

    /* the accent role: light enough to read AS TEXT on the dark paper */
    --green:   #7FCBA0;
    /* the fill role: stays deep, so white still reads on the primary button */
    --green-solid: #1C6647;
    --on-green:    #FFFFFF;
    --green-lt:#24805A;
    /* a green-tinted SURFACE, not a pale wash — the light theme's #EFF4F1 would be a
       glaring panel here */
    --green-w: #16241D;

    --brass:   #D9A85A;
    --brass-dk:#E0B36B;   /* the text role — light on dark, the reverse of the light theme */
    --brass-lt:#C9973F;
    --brass-w: #1E1A12;
    --brass-brd:#4A3D22;

    --line:    #26332C;
    --line-2:  #35443B;
    --head-bg: rgba(15,22,19,.92);

    /* legacy role names, re-pointed at the dark palette */
    --forest-0:#0F1613; --forest-1:#141D19; --forest-2:#16241D;
    --emerald:#7FCBA0; --emerald-lt:#9BD9B6; --emerald-dp:#1C6647;
    --gold:#D9A85A; --gold-lt:#E0B36B;
    /* --tg is only ever a FILL behind white text (the Telegram button), never text
       itself, so it must stay deep here. Lightening it for the dark page would have
       put white on pale blue at about 2:1. */
    --tg:#1C76AC;
    --glass:#17211C; --glass-2:#1E1A12;
    --brd:#26332C; --brd-2:#35443B;
    --good:#7FCBA0; --bad:#F08C7E;
    /* a light-theme shadow is invisible on a dark ground; depth here comes from a
       deeper, wider shade */
    --shadow:0 12px 34px -18px rgba(0,0,0,.75);

    /* The notebook on a dark leaf. These are not the light pigments dimmed —
       they are LIGHT INKS, re-measured against the dark --card. */
    --pen-forest:  #7FCBA0;  /* 8.7:1 */
    --pen-blue:    #8FB8E8;  /* 8.0:1 */
    /* Lightened from #F0968A, which measured a fine 7.4:1 on the bare leaf but
       fell to 4.49:1 — under the floor — where a highlighter sat behind it.
       A pen has to hold up on every ground it is used on, not just the common one. */
    --pen-red:     #F5A99E;  /* 8.7:1 bare, 5.8:1 through the highlighter */
    --pen-brass:   #E0B36B;  /* 9.5:1 */
    --pen-red-soft:#8A5048;
    --rule:        #243029;
    --margin-rule: #7A5049;
    /* A solid yellow block on a dark page is a lamp, not a highlighter. Here the
       marker is a translucent glaze that lifts the paper a little. */
    --hl-yellow:   rgba(224,179,107,.18);
    --hl-mint:     rgba(127,203,160,.15);
  }
  /* The primary button's glow was tuned for a white page and disappears on this one. */
  .rg-btn-primary { box-shadow:0 10px 24px -14px rgba(0,0,0,.8); }

  /* A FALLBACK ONLY — see the note below before relying on it.
     These components paint a gradient that RUNS UP TO --emerald-lt with white text on
     top. --emerald-lt has to be light here because it is also a text colour on the
     paper, so the far end of that gradient carried white at roughly 1.7:1.
     BUT demo.html, premium.html and privacy.html define these same classes in their
     OWN <style>, which the browser applies after this file — so this rule loses on
     source order and each of those pages carries its own copy of the override. This
     one exists for any page that uses the classes without its own stylesheet. */
  .btn-primary, .btn-gold, .lang-toggle button.on {
    background:linear-gradient(95deg,var(--green-solid),var(--green-lt));
    color:var(--on-green);
  }
  /* The wrong-answer panel was a pale pink wash; on this ground it needs to be a dark
     one, or it reads as a lit box rather than a marked mistake. */
  .opt.wrong { background:#2B1613; border-color:#5E2F28; }
}

* { 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(--paper); overflow-x:hidden;
}
/* Links default to the surrounding text colour rather than browser blue — but this
   must NOT beat a rule that gives a specific link its own colour. Written as
   `body.rg a` it had specificity (0,1,2) and silently overrode `.act`, `.related a`
   and `.rg-brand`. That went unnoticed under the dark theme because --ink was light
   there, so the practice button read as white-on-green by accident; on the light
   palette the same bug produced near-black text on dark green at 1.49:1.
   :where() contributes zero specificity, so this is a true default. */
:where(body.rg a) { color:inherit; }

/* backdrop — a flat paper ground. The dark theme's blurred orbs are deliberately
   dropped: on a light page they read as printing smudges, not depth. */
.rg-bg { position:fixed; inset:0; z-index:-3; background:var(--paper); }
.rg-orb { display:none; }

/* layout */
.rg-wrap { max-width:980px; margin:0 auto; padding:0 18px 64px; }
.rg-glass { background:var(--card); border:1px solid var(--line); border-radius:18px;
  box-shadow:var(--shadow); }

/* header */
.rg-head { position:sticky; top:0; z-index:50; background:var(--head-bg);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.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; color:var(--green); }
.rg-brand .ji { color:var(--brass-dk); }
.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(--green); }

/* typography */
.rg-h1 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:850; letter-spacing:-.3px; margin:28px 0 4px; color:var(--green); }
.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:var(--green-solid); color:var(--on-green);
  box-shadow:0 10px 24px -14px rgba(15,68,48,.75); }
.rg-btn-primary:hover { background:var(--green-lt); color:var(--on-green); }
.rg-btn-ghost { background:var(--card); color:var(--green); border:1px solid var(--line-2); }

/* pills / tabs */
.rg-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.rg-tab { border:1px solid var(--line-2); background:var(--card); color:var(--muted); font-weight:700;
  font-size:.86rem; padding:8px 16px; border-radius:999px; cursor:pointer; font-family:inherit; }
.rg-tab.on { background:var(--green-solid); border-color:transparent; color:var(--on-green); }
.rg-chip { display:inline-block; background:var(--green-w); border:1px solid var(--line);
  color:var(--green); font-weight:600; font-size:.8rem; padding:6px 13px; border-radius:999px; }
.rg-chip.gold { background:var(--brass-w); border-color:var(--brass-brd); color:var(--brass-dk); }

/* 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(--card); border:1px solid var(--line);
  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(--line-2); background:var(--green-w); }

/* misc */
.rg-note { background:var(--brass-w); border:1px solid var(--brass-brd); color:var(--brass-dk);
  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(--line); margin-top:34px; }
.rg-foot a { color:var(--green); text-decoration:none; }
.rg-foot a:hover { color:var(--brass-dk); }
@media (prefers-reduced-motion: reduce) { .rg-btn, .rg-tile { transition:none; } }

/* search: the button in every header (generate-site.js SEARCH_BTN, and the hand-written pages).
   Drawn here so it is in place at first paint; the panel it opens is styled by rg-search.js.
   Below 1000px it folds to the icon alone, so the header keeps the room it had. */
.rgs-open { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; height:34px; padding:0 9px 0 10px;
  border:1px solid var(--line-2); border-radius:9px; background:var(--card); color:var(--muted);
  font:inherit; font-size:.82rem; line-height:1; cursor:pointer; white-space:nowrap; }
.rgs-open:hover, .rgs-open:focus-visible { border-color:var(--green); color:var(--green); }
.rgs-open svg { flex:0 0 auto; }
.rgs-open kbd { font:600 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; padding:3px 6px; margin-left:6px;
  border:1px solid var(--line-2); border-radius:5px; color:var(--muted); background:var(--paper); }
@media (max-width:1000px) { .rgs-open { width:36px; padding:0; justify-content:center; }
  .rgs-open .t, .rgs-open kbd { display:none; } }

/* ==== notes pages: content-pipeline/generate-site.js CSS (written; do not edit here) ==== */
.lang-hi{display:none}
html.hindi .lang-en{display:none}
html.hindi .lang-hi{display:initial}
.rg-navlinks{margin-left:auto}
.langtoggle{display:flex;border:1px solid var(--brd-2);border-radius:9px;overflow:hidden;flex:0 0 auto}
.langtoggle button{background:transparent;border:0;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;padding:6px 11px;cursor:pointer}
.langtoggle button.on{background:var(--green-solid);color:var(--on-green)}
.nwrap{max-width:900px;margin:0 auto;padding:0 16px 70px}
.crumb{color:var(--muted);font-size:.8rem;margin:22px 0 6px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--emerald-lt)}
.rg-h1{font-family:var(--hand);font-weight:700;letter-spacing:0;color:var(--pen-forest)}
.pane h2,.chap h2,.subj h2,.related h2{font-family:var(--hand);font-weight:700;color:var(--pen-forest)}
.lead{font-family:var(--hand);font-size:1.14rem;line-height:1.75;background:var(--glass);border-left:3px solid var(--emerald);border-radius:0 12px 12px 0;padding:14px 18px;margin:14px 0 4px}
.pane{padding:24px;margin-top:14px}
.pane h2{font-size:1.02rem;font-weight:800;margin-bottom:12px;color:var(--emerald-lt)}
.pt{display:flex;gap:11px;padding:11px 0;border-bottom:1px dashed var(--brd);font-size:.99rem;line-height:1.7}
.pt:last-of-type{border-bottom:0}
.pt .leaf{color:var(--emerald);flex:0 0 auto;font-size:.72rem;margin-top:.55em}
.tblwrap{overflow-x:auto;margin:16px 0 4px;border:1px solid var(--brd);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:340px;font-family:var(--read);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--brd)}
th{background:var(--green-w);color:var(--green);font-weight:750;white-space:nowrap}
tr:last-child td{border-bottom:0}
.pager{display:flex;gap:10px;justify-content:space-between;margin-top:24px;flex-wrap:wrap}
.pager a{background:var(--glass-2);border:1px solid var(--brd);color:var(--ink);text-decoration:none;font-weight:700;font-size:.85rem;padding:11px 16px;border-radius:11px;max-width:47%}
.pager a:hover{border-color:var(--brd-2)}
.related{margin-top:20px;padding:16px 18px}
.related h2{font-size:.92rem;margin-bottom:9px}
.related ul{margin:0;padding-left:19px;display:grid;gap:5px}
.related a{color:var(--muted);text-decoration:none;font-size:.88rem}
.related a:hover{color:var(--emerald-lt)}
.chaplist{display:grid;gap:12px;margin-top:20px}
.chap{padding:16px 18px}
.chap h2{font-size:1.03rem;font-weight:800;margin-bottom:10px;display:flex;gap:9px;align-items:center}
.chap ol{margin:0;padding-left:20px;display:grid;gap:5px}
.chap li{font-size:.9rem;line-height:1.5}
.chap a{color:var(--muted);text-decoration:none}
.chap a:hover{color:var(--emerald-lt)}
.subjgrid{display:grid;gap:16px;margin-top:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.subj{padding:20px;display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}
.subj:hover{transform:translateY(-3px);border-color:var(--brd-2)}
.subj .ic{font-size:1.7rem}
.subj h2{font-size:1.08rem;font-weight:850}
.subj p{font-size:.86rem;color:var(--muted);line-height:1.55}
.subj .cnt{font-size:.78rem;color:var(--emerald-lt);font-weight:700;margin-top:auto}
.cta{margin-top:22px;padding:18px;text-align:center}
.cta a{color:var(--emerald-lt);font-weight:750;text-decoration:none}
.em{color:var(--pen-brass);font-weight:400;font-size:1em;letter-spacing:.01em}
.fig{color:var(--pen-red);font-weight:700;text-decoration:underline;text-decoration-color:var(--pen-red-soft);text-decoration-thickness:1.5px;text-underline-offset:3px}
.figprint .fig{font-family:var(--read);font-size:.94em;letter-spacing:.005em;font-variant-numeric:tabular-nums}
mark.hl{background-color:transparent;color:inherit;padding:0 3px;background-image:linear-gradient(103deg,transparent .4%,var(--hl-yellow) 1.6%,var(--hl-yellow) 97.5%,transparent 99.4%);background-size:100% 74%;background-repeat:no-repeat;background-position:0 84%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.prog{background:var(--head-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:60px;z-index:40}
.prog .in{max-width:900px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.prog .nm{font-size:.77rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52%}
.prog .bar{flex:1 1 auto;height:5px;background:var(--line);border-radius:999px;overflow:hidden}
.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-lt))}
.prog .ct{font-size:.77rem;color:var(--emerald-lt);font-weight:700;white-space:nowrap}
.thead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 3px}
.thead h1{flex:1 1 320px;margin:0}
.meta{color:var(--muted);font-size:.77rem;margin-bottom:16px}
.cards{display:grid;gap:10px;margin-top:14px}
.pc{position:relative;background:var(--card);border:1px solid var(--brd);border-radius:14px;overflow:hidden;--mg:48px;padding:16px 20px 18px calc(var(--mg) + 16px);background-image:linear-gradient(to bottom,var(--rule) 0 1px,transparent 1px 31px),linear-gradient(to right,transparent 0 calc(var(--mg) - 1px),var(--margin-rule) calc(var(--mg) - 1px) var(--mg),transparent var(--mg));background-size:calc(100% - var(--mg) - 20px) 31px,100% 100%;background-position:var(--mg) 46px,0 0;background-repeat:repeat-y,no-repeat}
.pc .n{position:absolute;left:calc((var(--mg) - 26px) / 2);top:16px;width:26px;height:31px;display:flex;align-items:center;justify-content:center;font-family:var(--hand);font-weight:700;font-size:1.05rem;color:var(--pen-red)}
.pc .lb{font-family:var(--hand);font-size:.86rem;line-height:31px;letter-spacing:.04em;color:var(--pen-brass);font-weight:700}
.pc .bd{font-family:var(--hand);font-size:1.14rem;line-height:31px}
.pc .hd{font-family:var(--hand);font-size:1.3rem;font-weight:700;line-height:31px;margin:0;color:var(--pen-forest);text-wrap:pretty}
.sub{margin:0;padding:0;list-style:none}
.sub li{position:relative;padding:0 0 0 18px;line-height:31px}
.sub li:before{content:"";position:absolute;left:2px;top:15px;width:7px;height:2px;border-radius:2px;background:var(--pen-brass)}
.pts{margin:0;padding:0;list-style:none}
.pts li{position:relative;padding:0 0 0 22px;line-height:31px}
.pts li:before{content:"";position:absolute;left:2px;top:15px;width:11px;height:2px;background:var(--pen-forest)}
.pts li:after{content:"";position:absolute;left:8px;top:11px;width:6px;height:6px;border-top:2px solid var(--pen-forest);border-right:2px solid var(--pen-forest);transform:rotate(45deg)}
html.hindi .pts li{line-height:35px}
html.hindi .pts li:before{top:17px}
html.hindi .pts li:after{top:13px}
.sub li .sh{display:block;font-family:var(--hand);font-size:1.08rem;font-weight:700;line-height:31px;color:var(--pen-blue);margin:0}
.pc.key{background-color:var(--card);border-color:var(--brass-brd)}
:root{--i1:#FFF6CC;--i1b:#EEDB8A;--i2:#FFE6A6;--i2b:#E8C65F;--i3:#FFD6A8;--i3b:#EBAA6C;--i4:#FFC5AE;--i4b:#E98F75;--i5:#FDB4B4;--i5b:#DD5F5F;--ask:#5C4326}
@media (prefers-color-scheme: dark){:root{--i1:#393320;--i1b:#7D6B34;--i2:#433619;--i2b:#8E6A2A;--i3:#4A321D;--i3b:#96603A;--i4:#4F2D24;--i4b:#9A5444;--i5:#562829;--i5b:#A84747;--ask:#F1DFC4}}
.pc.i1{background-color:var(--i1);border-color:var(--i1b)}.pc.i2{background-color:var(--i2);border-color:var(--i2b)}.pc.i3{background-color:var(--i3);border-color:var(--i3b)}.pc.i4{background-color:var(--i4);border-color:var(--i4b)}.pc.i5{background-color:var(--i5);border-color:var(--i5b)}
.pc.i1,.pc.i2,.pc.i3,.pc.i4,.pc.i5{--pen-brass:#5E4011;--pen-red:#7E231B;--pen-blue:#143A6C;--pen-red-soft:#A85D53;--hl-yellow:#FFD84D}
@media (prefers-color-scheme: dark){.pc.i1,.pc.i2,.pc.i3,.pc.i4,.pc.i5{--pen-brass:#F0CB8E;--pen-red:#FBC3B9;--pen-blue:#ABCDF2;--pen-forest:#93DDB2;--pen-red-soft:#A0645A;--hl-yellow:rgba(240,203,142,.30)}}
.pc .ask{font-family:var(--read);font-size:.78rem;font-weight:600;line-height:31px;height:31px;color:var(--ask);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc .ask .st{letter-spacing:1px}
html.hindi .pc .ask{line-height:35px;height:35px}
.pc details.ask>summary{list-style:none;cursor:pointer;display:inline}
.pc details.ask>summary::-webkit-details-marker{display:none}
.pc details.ask>summary::after{content:" ▾";font-weight:400}
.pc details.ask[open]>summary::after{content:" ▴"}
.pc details.ask[open]{height:auto;white-space:normal;overflow:visible}
.pc .askp{display:block;font-weight:500;line-height:31px}
.pc .askp a{color:var(--ask);text-decoration:underline;text-decoration-style:dotted}
.imp{display:inline-flex;align-items:center;gap:6px;font:600 .74rem/1.2 var(--read);padding:3px 9px;border-radius:999px;color:var(--ask);border:1px solid transparent;white-space:nowrap;vertical-align:middle}
.imp .st{letter-spacing:1px}
.imp.il1{background:var(--i1);border-color:var(--i1b)}.imp.il2{background:var(--i2);border-color:var(--i2b)}.imp.il3{background:var(--i3);border-color:var(--i3b)}.imp.il4{background:var(--i4);border-color:var(--i4b)}.imp.il5{background:var(--i5);border-color:var(--i5b)}
.pimp{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-8px 0 14px;font-size:.78rem;color:var(--muted)}
.pimp .k{font-weight:600}
.chead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px}
.chead h2{margin-bottom:0}
.pc,.tblwrap{scroll-margin-top:120px}
.pc .ref{display:inline-flex;align-items:center;gap:6px;height:31px;padding:0 10px;font-family:var(--read);font-size:.74rem;color:var(--muted);background:var(--paper);border:1px solid var(--brd);border-radius:8px}
.pc .ref svg{flex:0 0 auto;opacity:.8}
.pc.key .n{color:var(--pen-brass);font-size:1.2rem}
.pc .hd .em,.sub li .sh .em{color:inherit;font-weight:inherit;letter-spacing:inherit}
html.hindi .pc .lb,html.hindi .pc .hd,html.hindi .pc .bd,html.hindi .sub li,html.hindi .sub li .sh{line-height:35px}
html.hindi .pc{background-image:linear-gradient(to bottom,var(--rule) 0 1px,transparent 1px 35px),linear-gradient(to right,transparent 0 calc(var(--mg) - 1px),var(--margin-rule) calc(var(--mg) - 1px) var(--mg),transparent var(--mg));background-size:calc(100% - var(--mg) - 20px) 35px,100% 100%;background-position:var(--mg) 51px,0 0}
html.hindi .pc .n,html.hindi .pc .ref{height:35px}
html.hindi .sub li:before{top:17px}
html.hindi .pc .bd{font-size:1.2rem}
html.hindi .pc .hd{font-size:1.34rem}
html.hindi .sub li .sh{font-size:1.12rem}
.act{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-decoration:none;font-weight:800;font-size:.85rem;padding:9px 17px;border-radius:11px;background:var(--green-solid);color:var(--on-green);white-space:nowrap}
.act:hover{background:var(--green-lt)}
.act.alt{background:transparent;color:var(--green-solid);box-shadow:inset 0 0 0 1.5px var(--green-solid)}
.act.alt:hover{background:var(--green-w);color:var(--green-solid)}
.cta.practise{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.cta.practise p{margin:0}
.cta.practise .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.cta.practise .or{font-size:.85rem}
.cta.practise a.act{color:var(--on-green)}
.cta.practise a.act.alt{color:var(--green-solid)}
.act[hidden]{display:none}
.cta.practise .ifchap,.cta.practise.nopage .ifpage{display:none}
.cta.practise.nopage .ifchap{display:inline}
.srcsw{display:inline-flex;border:1.5px solid var(--green);border-radius:11px;overflow:hidden}
.srcsw[hidden]{display:none}
.srcsw button{font:inherit;font-weight:800;font-size:.85rem;min-height:42px;padding:8px 16px;border:0;background:transparent;color:var(--green);cursor:pointer}
.srcsw button+button{border-left:1.5px solid var(--green)}
.srcsw button.on{background:var(--green-solid);color:var(--on-green)}
.srcsw button:disabled{opacity:.4;cursor:not-allowed}
.srchint{font-size:.8rem;color:var(--muted)}
.srchint>span{display:none}
.cta.practise:not([data-src]) .srchint{display:none}
.cta.practise[data-src=pyq] .srchint>[data-for=pyq],.cta.practise[data-src=mock] .srchint>[data-for=mock],.cta.practise[data-src=all] .srchint>[data-for=all]{display:inline}
.foot{display:flex;gap:14px;justify-content:space-between;align-items:stretch;margin-top:22px}
.foot .pn{flex:0 1 47%;display:flex;align-items:center;min-height:58px;padding:12px 16px;border:1px solid var(--brd);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;line-height:1.35}
.foot .pn:hover{border-color:var(--line-2);background:var(--green-w)}
.foot .pn.next{margin-left:auto;justify-content:flex-end;text-align:right}
.foot .pn .ar{display:inline-block;color:var(--emerald);font-weight:900;font-size:1.25em;line-height:1;flex:0 0 auto}
.foot .pn:hover .ar{color:var(--emerald-lt)}
@keyframes rgNudgeL{0%,100%{transform:translateX(0)}50%{transform:translateX(-4px)}}
@keyframes rgNudgeR{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.foot .pn.prev .ar{animation:rgNudgeL 2.4s ease-in-out infinite}
.foot .pn.next .ar{animation:rgNudgeR 2.4s ease-in-out infinite}
.foot .pn:hover .ar{animation-duration:.7s}
@media(prefers-reduced-motion:reduce){.foot .pn .ar{animation:none}}
.repline{display:flex;justify-content:center;margin-top:14px}
.rep{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:4px 2px;color:var(--muted);font-size:.82rem;text-decoration:none}
.rep:hover{color:var(--gold-lt)}
@media(max-width:560px){.rg-head .inner{height:auto;min-height:60px;padding:7px 14px;flex-wrap:wrap;row-gap:2px}.rgs-open{order:2;margin-left:auto}.langtoggle{order:2;margin-left:8px}.rg-brand{order:1;font-size:1.12rem}.rg-navlinks{order:3;flex:1 0 100%;margin-left:0;justify-content:space-between;gap:6px;font-size:.83rem}.rg-navlinks a{white-space:nowrap;padding:5px 2px}.langtoggle button{padding:7px 13px}.prog{position:static}.prog .nm{display:none}.prog .in{padding:8px 16px}.pc{--mg:34px;padding:14px 20px 16px calc(var(--mg) + 12px);border-radius:12px}.pc .n{left:calc((var(--mg) - 22px) / 2);width:22px;font-size:.96rem}.pc .hd{font-size:1.18rem}.sub li .sh{font-size:1.02rem}.sub li{padding-left:14px}.thead h1{flex:1 1 100%}.thead .act{width:100%}.foot{flex-direction:column;gap:10px}.foot .pn{flex:1 1 auto;width:100%;min-height:52px}.foot .pn.next{margin-left:0;justify-content:flex-start;text-align:left}}
.papsub{color:var(--muted);font-size:.93rem;margin:-2px 0 14px}
.papintro{font-size:.95rem;line-height:1.65;margin-bottom:10px}
.papsec{font-size:.86rem;color:var(--muted);margin:6px 0 14px}
.papcta{display:inline-flex;align-items:center;gap:8px;background:var(--green-solid);color:var(--on-green)!important;text-decoration:none;font-weight:800;font-size:.95rem;padding:12px 20px;border-radius:11px;margin:4px 0 18px}
.papcta:hover{background:var(--green-lt)}
.pq{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0;font-family:var(--read)}
.pqh{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:.78rem;color:var(--muted);margin-bottom:6px}
.pqn{font-weight:800;color:var(--green);font-size:.86rem}
.pqt{font-weight:600;line-height:1.6}
.pqo{list-style:none;padding:0;margin:8px 0 0}
.pqo li{padding:3px 0;line-height:1.55}
.pqa{margin-top:10px;border-top:1px dashed var(--line-2);padding-top:0}
.pqa>summary{cursor:pointer;font-weight:700;color:var(--green);font-size:.88rem;line-height:22px;padding:11px 0}
.pqans{font-weight:700;margin-top:8px}
.pqx{color:var(--muted);font-size:.9rem;line-height:1.6;margin-top:4px}
.pqtl,.pqalso{font-size:.84rem;line-height:1.6;margin-top:8px;color:var(--muted)}
.pqtl a,.pqalso a{color:var(--green)}
.pqpend{margin-top:10px;font-size:.86rem;font-weight:700;color:var(--brass-dk)}
.papfoot{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:space-between;margin:22px 0;font-size:.9rem}
.papfoot a{color:var(--green);text-decoration:none}
.papgrp{margin:22px 0 8px;font-size:1.1rem}
.paprow{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0}
.paprow:hover{border-color:var(--green)}
.paprow b{color:var(--green)}
.paprow small{display:block;color:var(--muted);margin-top:2px}
.related + .related{margin-top:14px}
.related .relch{display:block;font-size:.76rem;color:var(--muted);margin-top:1px}
