:root{
  --bg:#f4f6f9;--card:#fff;--ink:#15202e;--soft:#5b6878;--line:#dde3ea;--navy:#14365e;--navy2:#1f4f86;--amber:#f2b544;
  --ok:#1e8a4c;--okbg:#e5f5ec;--bad:#c23b2a;--badbg:#fbe9e6;--mark:#7a3d8f;--warn:#b7791f;
  --s0:#1c5d99;--s1:#b5482f;--s2:#2e7d4f;--s3:#7a3d8f;
  --r:12px;--shadow:0 1px 2px rgba(16,30,54,.06),0 4px 16px rgba(16,30,54,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Noto Sans","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--navy2);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}

/* header */
.top{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.top .wrap{display:flex;align-items:center;gap:14px;height:58px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand .logo{width:32px;height:32px;border-radius:9px;background:var(--amber);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:15px}
.brand small{display:block;font-weight:500;font-size:11.5px;opacity:.8;line-height:1}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{color:#dfe8f3;padding:7px 11px;border-radius:8px;font-size:14.5px;font-weight:500}
.nav a:hover,.nav a.on{background:rgba(255,255,255,.13);color:#fff;text-decoration:none}
.lang{display:flex;border:1px solid rgba(255,255,255,.35);border-radius:8px;overflow:hidden;margin-left:6px}
.lang button{background:none;border:0;color:#dfe8f3;padding:5px 9px;font-size:13px;cursor:pointer}
.lang button.on{background:var(--amber);color:var(--navy);font-weight:700}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px;margin-left:auto;cursor:pointer;padding:4px 8px}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:58px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:8px 12px 14px;gap:2px}
  .nav.open{display:flex}
  .nav a{padding:11px 12px}
  .lang{align-self:flex-start;margin:8px 0 0}
}

main{min-height:70vh;padding:22px 0 50px}
h1{font-size:28px;line-height:1.25;margin:0 0 6px}
h2{font-size:21px;margin:28px 0 12px}
h3{font-size:17px;margin:0 0 6px}
.sub{color:var(--soft);margin:0 0 18px}
.muted{color:var(--soft)}
.small{font-size:13.5px}

.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;padding:10px 18px;font-weight:600;cursor:pointer;background:var(--navy2);color:#fff;text-decoration:none!important;transition:filter .15s}
.btn:hover{filter:brightness(1.1)}
.btn.amber{background:var(--amber);color:var(--navy)}
.btn.ghost{background:#fff;color:var(--navy2);box-shadow:inset 0 0 0 1.5px #c5d2e2}
.btn.ok{background:var(--ok)}
.btn.sm{padding:6px 12px;font-size:14px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* hero */
.hero{background:linear-gradient(140deg,var(--navy) 0%,var(--navy2) 70%,#2b6aa8 100%);color:#fff;border-radius:16px;padding:30px 26px;position:relative;overflow:hidden}
.hero h1{font-size:32px;color:#fff}
.hero p{color:#d5e1ef;max-width:620px;margin:6px 0 18px}
.hero .kick{color:var(--amber);font-weight:700;font-size:14px;letter-spacing:.02em}
.hero .live{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:#d5e1ef}
.hero .live b{display:block;font-size:22px;color:#fff}
.hero .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4ade80;margin-right:6px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px}
.tile{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:18px;color:var(--ink);display:block;border-top:4px solid var(--c,var(--navy2))}
.tile:hover{text-decoration:none;transform:translateY(-2px);transition:transform .15s}
.tile .ic{font-size:26px}
.tile h3{margin:6px 0 4px}
.tile p{margin:0;color:var(--soft);font-size:14.5px}

/* lists */
.sec-head{display:flex;align-items:center;gap:10px;margin:26px 0 12px}
.sec-head h2{margin:0}
.chip{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12.5px;font-weight:600;background:#eef2f7;color:var(--soft)}
.chip.s0{background:#e3eef8;color:var(--s0)}.chip.s1{background:#f8e8e4;color:var(--s1)}.chip.s2{background:#e3f2e9;color:var(--s2)}.chip.s3{background:#f1e6f4;color:var(--s3)}
.bar-s0{--c:var(--s0)}.bar-s1{--c:var(--s1)}.bar-s2{--c:var(--s2)}.bar-s3{--c:var(--s3)}
.row-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);border-left:4px solid var(--c,var(--navy2))}
.row-card .grow{flex:1;min-width:0}
.row-card .t{font-weight:600}
.row-card .m{font-size:13px;color:var(--soft)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}
.tabs button{border:0;background:#e6ebf2;color:var(--soft);padding:7px 14px;border-radius:20px;cursor:pointer;font-weight:600;font-size:14px}
.tabs button.on{background:var(--navy2);color:#fff}
.month{font-weight:700;color:var(--soft);margin:18px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.best{font-size:12.5px;font-weight:700;color:var(--ok)}

/* forms */
label.f{display:block;font-weight:600;font-size:14px;margin:12px 0 5px}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;padding:10px 12px;border:1.5px solid #cfd8e3;border-radius:9px;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(31,79,134,.15)}
.checks{display:flex;flex-wrap:wrap;gap:6px}
.checks label{display:inline-flex;align-items:center;gap:6px;background:#eef2f7;border-radius:20px;padding:5px 12px;font-size:14px;cursor:pointer;user-select:none}
.checks label.on{background:var(--navy2);color:#fff}
.checks input{display:none}
.topic-pick{max-height:none}
.topic-pick .grp{margin-bottom:12px}
.topic-pick .grp-h{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px}
.err{background:var(--badbg);color:var(--bad);padding:10px 12px;border-radius:9px;margin:10px 0;font-size:14.5px}
.note{background:#fff7e6;color:#7a5410;padding:10px 12px;border-radius:9px;font-size:14px}

/* question */
.qcard{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 14px;margin-bottom:14px}
.qmeta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12.5px;color:var(--soft);margin-bottom:8px}
.qno{font-weight:800;color:var(--navy2);font-size:15px}
.qtext{font-size:16.5px}
.qtext .katex{font-size:1.05em}
.passage{background:#f3f6fa;border-left:4px solid var(--navy2);border-radius:8px;padding:12px 14px;margin-bottom:12px;font-size:15.5px;max-height:340px;overflow:auto}
.passage .lbl{font-weight:700;font-size:13px;color:var(--navy2);margin-bottom:4px}
.qimg{display:block;max-height:420px;margin:6px 0;border-radius:6px}
.opts{display:grid;gap:8px;margin-top:12px}
.opt{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;background:#fff;border:1.5px solid #d5dde7;border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s}
.opt:hover{border-color:var(--navy2)}
.opt .l{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;font-weight:700;font-size:13.5px}
.opt .v{flex:1;min-width:0;padding-top:1px}
.opt .v img{max-height:130px}
.opt.sel{border-color:var(--navy2);background:#eef4fb}
.opt.sel .l{background:var(--navy2);color:#fff}
.opt.right{border-color:var(--ok);background:var(--okbg)}
.opt.right .l{background:var(--ok);color:#fff}
.opt.wrong{border-color:var(--bad);background:var(--badbg)}
.opt.wrong .l{background:var(--bad);color:#fff}
.opt[disabled]{cursor:default}
.sol{margin-top:12px;background:#f5f8fc;border-radius:10px;padding:12px 14px;border-left:4px solid var(--ok);font-size:15.5px}
.sol .ans{font-weight:700;color:var(--ok);margin-bottom:4px}
.sol .disp{color:var(--warn);font-size:13.5px;margin-top:6px}
.qacts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.qacts button,.qacts a{background:none;border:0;color:var(--soft);font-size:13.5px;cursor:pointer;padding:4px 8px;border-radius:6px}
.qacts button:hover{background:#eef2f7}
.qacts .on{color:var(--amber);font-weight:700}
table.tbl{border-collapse:collapse;margin:8px 0;font-size:15px}
table.tbl td{border:1px solid #c5ced9;padding:4px 10px;text-align:center}
.tbl-wrap{overflow-x:auto}

/* test screen */
.test{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.test-bar{position:sticky;top:58px;z-index:10;background:#fff;box-shadow:var(--shadow);margin:-22px 0 16px}
.test-bar .wrap{display:flex;align-items:center;gap:12px;height:54px}
.test-bar .ttl{font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timer{font:700 19px/1 ui-monospace,Menlo,Consolas,monospace;background:var(--navy);color:#fff;padding:8px 12px;border-radius:8px}
.timer.low{background:var(--bad);animation:pulse 1s infinite}
.secs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}
.secs button{flex:none;border:0;background:#e6ebf2;padding:7px 14px;border-radius:20px;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--soft)}
.secs button.on{background:var(--navy2);color:#fff}
.tnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.tnav .sp{flex:1}
.palette{position:sticky;top:128px}
.pal{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:46vh;overflow:auto;padding:2px}
.pal button{border:0;height:36px;border-radius:8px;font-weight:700;font-size:13.5px;cursor:pointer;background:#eef1f5;color:var(--soft);position:relative}
.pal button.ans{background:var(--ok);color:#fff}
.pal button.nans{background:var(--bad);color:#fff}
.pal button.mk{background:var(--mark);color:#fff}
.pal button.mka:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%;background:#4ade80;border:1.5px solid #fff}
.pal button.cur{outline:3px solid var(--amber);outline-offset:1px}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:12.5px;color:var(--soft);margin:12px 0}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:5px}
.pal-toggle{display:none}
@media (max-width:900px){
  .test{grid-template-columns:1fr}
  .palette{position:fixed;inset:auto 0 0 0;top:auto;z-index:30;border-radius:16px 16px 0 0;transform:translateY(105%);transition:transform .2s;max-height:75vh;overflow:auto}
  .palette.open{transform:none}
  .pal-toggle{display:inline-flex}
}

/* result */
.score-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.stat{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px}
.stat b{display:block;font-size:26px;line-height:1.2}
.stat span{font-size:13px;color:var(--soft)}
.stat.big{background:linear-gradient(140deg,var(--navy),var(--navy2));color:#fff}
.stat.big span{color:#cbd8e8}
.secbars{display:grid;gap:10px}
.sb{display:grid;grid-template-columns:150px 1fr 90px;gap:10px;align-items:center;font-size:14px}
.sb .track{height:12px;background:#eef1f5;border-radius:6px;overflow:hidden;display:flex}
.sb .track i{display:block;height:100%}
@media (max-width:560px){.sb{grid-template-columns:90px 1fr 70px}}
.filter-row{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}

/* progress */
.acc{height:8px;background:#eef1f5;border-radius:4px;overflow:hidden;margin-top:6px}
.acc i{display:block;height:100%;border-radius:4px}
.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.heat a{display:block;padding:10px 12px;border-radius:10px;color:var(--ink);background:#fff;box-shadow:var(--shadow);border-left:5px solid var(--hc)}
.heat a:hover{text-decoration:none}
table.list{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
table.list th{text-align:left;font-size:12.5px;color:var(--soft);background:#f5f7fa;padding:9px 12px;font-weight:600}
table.list td{padding:9px 12px;border-top:1px solid var(--line)}
.scroll-x{overflow-x:auto}

/* admin */
.chart{width:100%;height:220px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.hbar{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:8px;align-items:center;font-size:14px;margin:5px 0}
.hbar .b{height:8px;background:var(--navy2);border-radius:4px;margin-top:3px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(10,20,35,.5);display:grid;place-items:center;z-index:50;padding:16px}
.modal .card{width:100%;max-width:420px;max-height:90vh;overflow:auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:10px;z-index:60;font-size:14.5px;box-shadow:0 6px 20px rgba(0,0,0,.25)}

footer{background:#0f2440;color:#a9bad0;padding:22px 0;font-size:13.5px}
footer a{color:#dfe8f3}
footer .wrap{display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:space-between}
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:20px 0}
.pager a,.pager span{padding:7px 12px;border-radius:8px;background:#fff;box-shadow:var(--shadow);font-weight:600;font-size:14px}
.pager span{background:var(--navy2);color:#fff}
.crumbs{font-size:13.5px;color:var(--soft);margin-bottom:8px}
.loading{padding:40px;text-align:center;color:var(--soft)}
.hide{display:none!important}

body:not(.lang-hi) .only-hi{display:none!important}
body.lang-hi .only-en{display:none!important}
body.in-test footer{display:none}
