:root{
  --bg:#f6f4ef; --bg2:#fffdf8; --card:#ffffff; --ink:#20201d; --ink2:#5c5a53; --ink3:#8b877c;
  --line:#e6e1d6; --line2:#f0ece3;
  --brand:#0f766e; --brand-d:#0b544e; --brand-l:#e6f2f0;
  --accent:#b45309; --accent-l:#fdf3e3;
  --ok:#15803d; --ok-l:#e8f5ec; --bad:#b91c1c; --bad-l:#fbeaea; --warn:#a16207; --warn-l:#fdf6e3;
  --shadow:0 1px 2px rgba(28,25,20,.05),0 4px 14px rgba(28,25,20,.05);
  --shadow-lg:0 8px 40px rgba(28,25,20,.13);
  --r:14px; --r-s:9px;
  --ff:"Noto Sans Malayalam","Manjari","Anjali Old Lipi",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --ffe:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
html[data-theme=dark]{
  --bg:#16171a; --bg2:#1c1e22; --card:#212429; --ink:#eceae4; --ink2:#a9a69d; --ink3:#78756d;
  --line:#31353c; --line2:#282b31;
  --brand:#2dd4bf; --brand-d:#5eead4; --brand-l:#12312e;
  --accent:#fbbf24; --accent-l:#33270c;
  --ok:#4ade80; --ok-l:#122e1c; --bad:#f87171; --bad-l:#331616; --warn:#fbbf24; --warn-l:#332a10;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);
  --shadow-lg:0 8px 40px rgba(0,0,0,.5);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:var(--ff);background:var(--bg);color:var(--ink);
  font-size:16px;line-height:1.72;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
:lang(en),.en{font-family:var(--ffe)}
h1,h2,h3,h4{line-height:1.4;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:1.65rem}h2{font-size:1.3rem}h3{font-size:1.08rem}h4{font-size:.98rem}
p{margin:0 0 .9em}
a{color:var(--brand);text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;display:block}
hr{border:0;border-top:1px solid var(--line);margin:1.6rem 0}
::selection{background:var(--brand);color:#fff}

/* ---------- layout ---------- */
#app{display:flex;min-height:100vh}
#side{
  width:252px;flex:none;background:var(--bg2);border-right:1px solid var(--line);
  position:sticky;top:0;height:100vh;overflow-y:auto;padding:18px 12px 30px;z-index:40;
}
#main{flex:1;min-width:0;padding:26px 30px 100px;max-width:1180px;margin:0 auto;width:100%}
.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;}
.brand .logo{width:38px;height:38px;flex:none;border-radius:11px;background:linear-gradient(140deg,var(--brand),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.05rem;font-family:var(--ffe)}
.brand b{display:block;font-size:1.02rem;line-height:1.25}
.brand small{display:block;color:var(--ink3);font-size:.72rem;font-family:var(--ffe);letter-spacing:.06em;text-transform:uppercase}
.navsec{color:var(--ink3);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;padding:14px 12px 5px;font-family:var(--ffe);font-weight:700}
.nav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink2);width:100%;text-align:start;font-size:.94rem;transition:background .12s,color .12s}
.nav:hover{background:var(--line2);color:var(--ink)}
.nav.on{background:var(--brand-l);color:var(--brand-d);font-weight:600}
html[data-theme=dark] .nav.on{color:var(--brand)}
.nav .ic{font-size:1.05rem;width:22px;text-align:center;flex:none}
.nav .badge{margin-inline-start:auto;background:var(--line2);color:var(--ink3);border-radius:20px;padding:1px 7px;font-size:.7rem;font-family:var(--ffe)}

#mob{display:none}
#topbar{display:none}

@media(max-width:900px){
  #side{position:fixed;inset-inline-start:0;top:0;transform:translateX(-105%);transition:transform .22s;box-shadow:var(--shadow-lg)}
  html[dir=rtl] #side{transform:translateX(105%)}
  body.navopen #side{transform:none}
  body.navopen #scrim{opacity:1;pointer-events:auto}
  #scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:35}
  #main{padding:14px 15px 96px}
  #topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;background:var(--bg);
    margin:-14px -15px 12px;padding:10px 14px;border-bottom:1px solid var(--line)}
  #topbar .t{font-weight:700;font-size:1rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  h1{font-size:1.35rem}
}

/* ---------- primitives ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}
.g4{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spread{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.muted{color:var(--ink2)}.dim{color:var(--ink3)}
.small{font-size:.85rem}.tiny{font-size:.76rem}
.center{text-align:center}
.mt{margin-top:1.1rem}.mt2{margin-top:1.9rem}.mb{margin-bottom:1rem}
.hide{display:none!important}

.btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;border-radius:10px;
  padding:9px 17px;font-weight:600;font-size:.93rem;transition:filter .12s,transform .06s;border:1px solid transparent}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
html[data-theme=dark] .btn{color:#0b1210}
.btn.ghost,html[data-theme=dark] .btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:var(--line2)}
.btn.sm{padding:6px 12px;font-size:.85rem;border-radius:8px}
.btn.lg{padding:13px 26px;font-size:1rem;border-radius:12px}
.btn[disabled]{opacity:.45;pointer-events:none}

.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);
  border-radius:20px;padding:5px 13px;font-size:.85rem;color:var(--ink2);cursor:pointer;white-space:nowrap}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
html[data-theme=dark] .chip.on{color:#0b1210}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.scrollx{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.scrollx::-webkit-scrollbar{height:5px}
.scrollx::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px}

.tag{display:inline-block;border-radius:6px;padding:1px 8px;font-size:.72rem;font-weight:700;font-family:var(--ffe);letter-spacing:.02em}
.f-VH{background:var(--bad-l);color:var(--bad)}
.f-H{background:var(--accent-l);color:var(--accent)}
.f-M{background:var(--brand-l);color:var(--brand-d)}
.f-L{background:var(--line2);color:var(--ink3)}
html[data-theme=dark] .f-M{color:var(--brand)}

input[type=text],input[type=number],select,textarea{
  font:inherit;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%}
input:focus,select:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:transparent}
label.lb{display:block;font-size:.82rem;color:var(--ink2);margin-bottom:5px;font-weight:600}

.bar{height:7px;background:var(--line2);border-radius:9px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--brand);border-radius:9px;transition:width .4s}

table.t{width:100%;border-collapse:collapse;font-size:.9rem;margin:.4rem 0 1rem}
table.t th,table.t td{border:1px solid var(--line);padding:7px 11px;text-align:start;vertical-align:top}
table.t th{background:var(--line2);font-weight:700;font-size:.83rem;color:var(--ink2)}
table.t tr:nth-child(even) td{background:var(--bg2)}
.twrap{overflow-x:auto;border-radius:var(--r-s)}

/* ---------- home ---------- */
.hero{background:linear-gradient(135deg,var(--brand) 0%,#115e59 55%,#78350f 140%);color:#fff;border-radius:var(--r);
  padding:28px 26px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset-inline-end:-60px;top:-70px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.07)}
.hero h1{color:#fff;margin-bottom:.35em}
.hero p{color:rgba(255,255,255,.86);max-width:56ch;margin-bottom:0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px}
.stat b{display:block;font-size:1.6rem;line-height:1.2;font-family:var(--ffe);font-weight:800}
.stat span{color:var(--ink3);font-size:.82rem}

.dcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;
  transition:border-color .14s,transform .1s,box-shadow .14s;display:flex;flex-direction:column;gap:6px;text-align:start;width:100%}
.dcard:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.dcard .ic{font-size:1.6rem;line-height:1}
.dcard b{font-size:1rem}
.dcard .lv{font-size:.75rem;color:var(--ink3);font-family:var(--ffe)}
.dcard.on{border-color:var(--brand);background:var(--brand-l)}

.scard{border-radius:var(--r);padding:15px;cursor:pointer;border:1px solid var(--line);background:var(--card);
  text-align:start;width:100%;transition:transform .1s,box-shadow .14s}
.scard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.scard .ic{font-size:1.5rem}
.scard b{display:block;margin-top:4px}
.scard .m{font-size:.76rem;color:var(--ink3);font-family:var(--ffe)}

/* ---------- notes reader ---------- */
.reader{max-width:78ch}
.reader h2{margin-top:0}
.blk{margin:0 0 1.5rem}
.blk-kf{background:var(--brand-l);border:1px solid transparent;border-radius:var(--r-s);padding:13px 16px}
html[data-theme=dark] .blk-kf{background:var(--brand-l)}
.blk-kf .h{font-weight:700;margin-bottom:8px;font-size:.9rem;color:var(--brand-d)}
html[data-theme=dark] .blk-kf .h{color:var(--brand)}
.kf{display:grid;grid-template-columns:minmax(30%,auto) 1fr;gap:5px 14px;font-size:.92rem}
.kf dt{color:var(--ink2);font-weight:600}
.kf dd{margin:0}
.blk-mn{background:var(--accent-l);border-inline-start:4px solid var(--accent);border-radius:0 var(--r-s) var(--r-s) 0;padding:12px 16px}
.blk-mn .h{font-weight:700;color:var(--accent);font-size:.88rem;margin-bottom:4px}
.blk-mn .m{font-size:1.02rem;font-weight:600}
.blk-tr{background:var(--bad-l);border-inline-start:4px solid var(--bad);border-radius:0 var(--r-s) var(--r-s) 0;padding:12px 16px}
.blk-tr .h{font-weight:700;color:var(--bad);font-size:.88rem;margin-bottom:6px}
.blk-tr ul{margin:0;padding-inline-start:20px}
.blk-tr li{margin-bottom:5px}
.tl{position:relative;padding-inline-start:26px}
.tl:before{content:"";position:absolute;inset-inline-start:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl .it{position:relative;margin-bottom:12px}
.tl .it:before{content:"";position:absolute;inset-inline-start:-24px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid var(--card)}
.tl .y{font-weight:800;font-family:var(--ffe);color:var(--brand-d);font-size:.9rem}
html[data-theme=dark] .tl .y{color:var(--brand)}
.blk-ph{margin:0 0 1.4rem}
.phbox{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:var(--bg2);max-width:340px}
.phbox img{width:100%;height:auto;max-height:330px;object-fit:contain;background:#fff}
.phbox .cap{padding:8px 12px;font-size:.83rem;color:var(--ink2);border-top:1px solid var(--line);line-height:1.5}
.phbox .cap a{display:inline-block;margin-top:2px;color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.phbox .ph-ph b{display:block;color:var(--ink2);font-size:.9rem;margin-top:6px}
.phbox .ph-ph{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:14px;color:var(--ink3);font-size:.85rem;background:
  repeating-linear-gradient(45deg,var(--line2) 0 10px,transparent 10px 20px)}
.svgbox{border:1px solid var(--line);border-radius:var(--r-s);background:var(--bg2);padding:12px;overflow-x:auto}
.svgbox .h{font-weight:700;font-size:.88rem;margin-bottom:8px;color:var(--ink2)}
.blk-fm .f{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);padding:11px 14px;margin-bottom:9px}
.blk-fm .f code{font-family:var(--mono);font-size:.96rem;font-weight:700;color:var(--brand-d);display:block;margin-bottom:3px}
html[data-theme=dark] .blk-fm .f code{color:var(--brand)}
.blk-fm .f .ml{font-size:.89rem;color:var(--ink2)}
.blk-fm .f .eg{font-size:.85rem;color:var(--ink3);font-family:var(--mono);margin-top:4px}
.blk-wk{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.blk-wk .q{background:var(--line2);padding:12px 15px;font-weight:600}
.blk-wk .st{padding:11px 15px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
.blk-wk .n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700;font-family:var(--ffe);margin-top:2px}
html[data-theme=dark] .blk-wk .n{color:#0b1210}
.blk-wk .calc{font-family:var(--mono);font-size:.92rem;background:var(--bg2);border-radius:6px;padding:4px 9px;display:inline-block;margin-top:4px}
.blk-wk .ans{padding:11px 15px;background:var(--ok-l);color:var(--ok);font-weight:700;border-top:1px solid var(--line)}
.blk-wk .tk{padding:11px 15px;background:var(--accent-l);border-top:1px solid var(--line);font-size:.9rem}
.tocbox{position:sticky;top:16px}
.toc a{display:block;padding:6px 11px;border-radius:8px;color:var(--ink2);font-size:.88rem;border-inline-start:2px solid transparent}
.toc a:hover{background:var(--line2)}
.toc a.on{color:var(--brand-d);background:var(--brand-l);font-weight:600;border-inline-start-color:var(--brand)}
html[data-theme=dark] .toc a.on{color:var(--brand)}

/* ---------- quiz ---------- */
.qbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.qtext{font-size:1.1rem;font-weight:600;line-height:1.65;margin-bottom:16px}
.opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:start;border:1.5px solid var(--line);
  background:var(--card);border-radius:11px;padding:12px 15px;margin-bottom:9px;transition:border-color .12s,background .12s}
.opt:hover:not(.locked){border-color:var(--brand);background:var(--brand-l)}
.opt .k{flex:none;width:26px;height:26px;border-radius:8px;background:var(--line2);color:var(--ink2);
  display:grid;place-items:center;font-weight:700;font-size:.82rem;font-family:var(--ffe)}
.opt.sel{border-color:var(--brand);background:var(--brand-l)}
.opt.sel .k{background:var(--brand);color:#fff}
.opt.right{border-color:var(--ok);background:var(--ok-l)}
.opt.right .k{background:var(--ok);color:#fff}
.opt.wrong{border-color:var(--bad);background:var(--bad-l)}
.opt.wrong .k{background:var(--bad);color:#fff}
.opt.locked{cursor:default}
.exp{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-s);padding:13px 16px;font-size:.93rem}
.exp .h{font-weight:700;font-size:.82rem;color:var(--ink3);margin-bottom:5px;letter-spacing:.03em}
.qmeta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font-size:.76rem;color:var(--ink3)}
.qmeta .yr{background:var(--line2);border-radius:5px;padding:1px 7px;font-family:var(--ffe)}

.timer{font-family:var(--mono);font-weight:700;font-size:1.05rem;background:var(--card);border:1px solid var(--line);
  border-radius:9px;padding:5px 13px}
.timer.warn{background:var(--bad-l);color:var(--bad);border-color:var(--bad)}
.omr{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}
.omr button{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:.8rem;
  font-family:var(--ffe);font-weight:600;color:var(--ink2)}
.omr button.a{background:var(--brand);color:#fff;border-color:var(--brand)}
.omr button.cur{outline:2px solid var(--accent);outline-offset:1px}
.omr button.rt{background:var(--ok);border-color:var(--ok);color:#fff}
.omr button.wr{background:var(--bad);border-color:var(--bad);color:#fff}
.score{font-size:3rem;font-weight:800;font-family:var(--ffe);line-height:1}

.rings{display:flex;gap:16px;flex-wrap:wrap}
.ring{position:relative;width:88px;height:88px;flex:none}
.ring svg{transform:rotate(-90deg)}
.ring .v{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-family:var(--ffe);font-size:1.05rem}

.acc{border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:9px;overflow:hidden;background:var(--card)}
.acc>summary{padding:12px 15px;cursor:pointer;font-weight:600;list-style:none;display:flex;gap:10px;align-items:center}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary:before{content:"▸";color:var(--ink3);transition:transform .15s;display:inline-block}
.acc[open]>summary:before{transform:rotate(90deg)}
.acc .bd{padding:0 15px 15px}

.wk{display:flex;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:8px;background:var(--card);align-items:flex-start}
.wk.done{background:var(--ok-l);border-color:var(--ok)}
.wk .n{flex:none;width:34px;height:34px;border-radius:9px;background:var(--brand-l);color:var(--brand-d);display:grid;place-items:center;font-weight:800;font-family:var(--ffe);font-size:.85rem}
html[data-theme=dark] .wk .n{color:var(--brand)}
.wk.done .n{background:var(--ok);color:#fff}
.ck{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;cursor:pointer;margin-top:4px;font-size:.8rem}
.ck.on{background:var(--ok);border-color:var(--ok);color:#fff}

.srch{position:relative}
.srch input{padding-inline-start:36px}
.srch:before{content:"🔍";position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);font-size:.9rem;opacity:.5}
.res{border-bottom:1px solid var(--line2);padding:11px 4px;cursor:pointer}
.res:hover{background:var(--line2)}
.res b{display:block;font-size:.95rem}
.res .p{font-size:.82rem;color:var(--ink3)}
mark{background:var(--accent-l);color:var(--accent);border-radius:3px;padding:0 2px}

.toast{position:fixed;inset-inline:0;bottom:26px;margin:auto;width:max-content;max-width:90vw;background:var(--ink);color:var(--bg);
  padding:11px 20px;border-radius:11px;box-shadow:var(--shadow-lg);z-index:200;font-size:.9rem;
  animation:pop .25s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:translateY(14px);opacity:0}}
.fade{animation:fade .25s}
@keyframes fade{from{opacity:0;transform:translateY(7px)}}

.flash{perspective:1200px;height:260px;cursor:pointer}
.flash .in{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}
.flash.f .in{transform:rotateY(180deg)}
.flash .fc{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--line);border-radius:var(--r);
  background:var(--card);padding:22px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;box-shadow:var(--shadow)}
.flash .bk{transform:rotateY(180deg);background:var(--brand-l)}

@media print{#side,#topbar,.noprint{display:none!important}#main{padding:0;max-width:none}}

/* revised exam model + post-specific learning checklist */
.model-banner{border:1px solid var(--line);border-inline-start:5px solid var(--brand);background:var(--brand-l);border-radius:var(--r);padding:16px 18px;margin:14px 0 20px}
.learn-row{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line2)}
.learn-row:last-child{border-bottom:0}.learn-check{width:22px;height:22px;flex:none;margin-top:4px;accent-color:var(--brand)}
.learn-row.done .learn-title{text-decoration:line-through;color:var(--ink3)}
.learn-title{font-weight:700}.learn-topics{font-size:.87rem;color:var(--ink2);margin-top:4px}
.learn-meta{font-size:.78rem;color:var(--ink3);margin-top:5px}.model-pill{display:inline-block;padding:3px 9px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:.76rem;margin:3px 4px 3px 0}


.current-hero{padding:24px;border-radius:18px;background:linear-gradient(130deg,#78350f,#b45309 55%,#f59e0b);color:#fff;margin-bottom:16px}
.current-hero h1{margin:0 0 8px;font-size:clamp(1.45rem,3vw,2rem)}
.current-hero p{max-width:850px;color:#fff;opacity:.95;margin:0}
.ca-stat{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.ca-stat b{display:block;font-size:1.4rem;margin-bottom:4px}
.ca-priority{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:800;background:#fef3c7;color:#92400e}
.ca-priority.high{background:#ffedd5;color:#9a3412}.ca-priority.medium{background:#e0f2fe;color:#075985}
.ca-topic{display:flex;flex-direction:column;gap:8px;height:100%}
.ca-topic .row{margin-top:auto}
.ca-update{border-inline-start:4px solid var(--warn)}


/* ===== notifications / daily current affairs (Nov 2026 update) ===== */
.notice{background:var(--accent-l);border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:var(--r-s);padding:12px 15px;font-size:.9rem}
.nav .badge.hot{background:var(--bad);color:#fff;font-weight:700}
.bellbtn{position:relative}
.bellbtn .dot{position:absolute;top:-5px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--bad);color:#fff;font:700 .68rem/18px var(--ffe);text-align:center;padding:0 4px}
.al-hero{padding:24px;border-radius:18px;background:linear-gradient(130deg,#134e4a,#0f766e 50%,#b45309 135%);color:#fff;margin-bottom:16px;position:relative;overflow:hidden}
.al-hero h1{color:#fff;margin:0 0 6px;font-size:clamp(1.4rem,3vw,1.95rem)}
.al-hero p{color:rgba(255,255,255,.9);margin:0;max-width:70ch}
.al-hero .btn.ghost{background:transparent;color:#fff;border-color:#ffffff80}
.al-hero .btn.solid{background:#fff;color:#134e4a}
.al-day{display:flex;align-items:center;gap:10px;margin:26px 0 10px;color:var(--ink2);font-weight:700;font-size:.92rem}
.al-day:after{content:"";flex:1;height:1px;background:var(--line)}
.nf{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow);position:relative}
.nf.unread{border-inline-start:4px solid var(--brand)}
.nf.unread:before{content:"പുതിയത്";position:absolute;top:12px;inset-inline-end:14px;background:var(--brand);color:#fff;font-size:.68rem;font-weight:700;border-radius:20px;padding:1px 9px}
html[data-theme=dark] .nf.unread:before{color:#0b1210}
.nf h3{margin:4px 0 8px;padding-inline-end:70px;font-size:1.05rem}
.nf .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.76rem;color:var(--ink3)}
.nf .cat{border-radius:6px;padding:1px 8px;font-weight:700;background:var(--line2);color:var(--ink2)}
.nf ul.pts{margin:6px 0 10px;padding-inline-start:20px}
.nf ul.pts li{margin-bottom:5px}
.chance{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0 10px;font-size:.86rem}
.chance .mtr{display:flex;gap:3px;flex:none}
.chance .mtr i{width:16px;height:8px;border-radius:3px;background:var(--line)}
.chance.VH .mtr i{background:var(--bad)} .chance.H .mtr i:nth-child(-n+2){background:var(--accent)} .chance.M .mtr i:nth-child(1){background:var(--brand)}
.chance b{white-space:nowrap}
.nf .stat-f{font-size:.84rem;color:var(--ink2);background:var(--brand-l);border-radius:9px;padding:8px 12px;margin-bottom:10px}
html[data-theme=dark] .nf .stat-f{color:var(--ink)}
.nf .stat-f b{color:var(--brand-d)} html[data-theme=dark] .nf .stat-f b{color:var(--brand)}
.qa{border:1px solid var(--line);border-radius:9px;margin-bottom:6px;background:var(--bg2)}
.qa>summary{padding:8px 12px;cursor:pointer;font-size:.9rem;font-weight:600;list-style:none;display:flex;gap:8px}
.qa>summary::-webkit-details-marker{display:none}
.qa>summary:before{content:"❓";flex:none}
.qa[open]>summary:before{content:"✅"}
.qa .ans{padding:0 12px 9px 34px;color:var(--ok);font-weight:700;font-size:.9rem}
.nf .foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.nf .foot a{font-size:.78rem;text-decoration:underline;text-underline-offset:2px}
.today{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;text-align:start;width:100%;cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:transform .1s,box-shadow .14s}
.tcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.tcard .d{font-size:.74rem;color:var(--ink3);font-family:var(--ffe)}
.tcard b{font-size:.94rem;line-height:1.45}
.alert-pop{position:fixed;inset-inline-end:18px;bottom:18px;z-index:150;max-width:360px;width:calc(100vw - 36px);background:var(--card);border:1px solid var(--line);border-inline-start:5px solid var(--brand);border-radius:14px;box-shadow:var(--shadow-lg);padding:14px 16px;animation:pop .3s cubic-bezier(.2,1.4,.4,1)}
.alert-pop b{display:block;margin-bottom:4px}
.alert-pop .x{position:absolute;top:6px;inset-inline-end:8px;font-size:1.1rem;color:var(--ink3);padding:4px 8px}
@media(max-width:600px){.nf{padding:14px}.nf h3{padding-inline-end:0;margin-top:22px}.al-hero{padding:18px}}


/* ---------- account, plan and site footer ---------- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:center;z-index:90;padding:16px}
.modal .box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:22px;width:100%;max-width:400px;max-height:92vh;overflow-y:auto}
.modal input[type=tel],.modal input[type=text]{width:100%;font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink);margin:6px 0 12px}
.modal .err{color:var(--bad);font-size:.88rem;min-height:1.3em;margin-bottom:6px}
.modal .acts{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.tick{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;margin:12px 0}
.tick input{margin-top:5px;flex:none}
.wall{max-width:560px;margin:26px auto 0;text-align:center}
.wall ul{text-align:start;display:inline-block;margin:6px 0 14px;padding-inline-start:20px}
.wall .price{font-size:1.9rem;font-weight:800;color:var(--brand);font-family:var(--ffe)}
.sitefoot{margin-top:52px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink3);font-family:var(--ffe);display:flex;flex-wrap:wrap;gap:6px 16px}
.sitefoot a{color:var(--ink3)}
.sitefoot a:hover{color:var(--brand)}
@media print{.sitefoot{display:none}}


/* ---------- signup and login: the Grid Learnings card ---------- */
.auth-wrap{display:flex;justify-content:center;padding:6vh 16px 40px}
.auth-card{width:min(400px,100%);background:linear-gradient(160deg,#fff 0%,#f0fbf5 100%);border:1px solid #e6e1d6;border-radius:8px;padding:34px 32px 28px;color:#20201d;box-shadow:0 22px 60px rgba(0,0,0,.6)}
.auth-card-wide{width:min(460px,100%)}
.auth-mark{font-family:var(--ffe);font-size:15px;letter-spacing:2.5px;text-transform:uppercase;color:#5c6b62;margin-bottom:18px}
.auth-mark span{color:#b45309}
.auth-title{font-size:1.55rem;margin:0 0 4px;color:#20201d}
.auth-sub{font-size:.88rem;color:#5c6b62;margin:0 0 20px;line-height:1.5}
.auth-submit{width:100%;justify-content:center;margin-top:6px;font-size:15px;padding:12px;background:#0f766e;color:#fff}
.auth-foot{font-size:.8rem;line-height:1.5;color:#5c6b62;margin:14px 0 0}
.auth-pw{position:relative}
.auth-pw .form-input{padding-inline-end:42px}
.auth-eye{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.55;padding:6px}
.auth-eye:hover{opacity:1}
.auth-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:.84rem}
.auth-links a{color:#5c6b62;border-bottom:1px dotted #5c6b62}
.auth-links a:hover{color:#b45309;border-color:#b45309}
.form-row{margin-bottom:14px}
.form-label{font-size:.8rem;font-weight:600;color:#5c6b62;display:block;margin-bottom:5px}
.form-input{width:100%;font:inherit;padding:10px 12px;border:1px solid #d9d4c7;border-radius:6px;background:#fff;color:#20201d}
.form-input:focus{outline:2px solid #0f766e;outline-offset:-1px}
.inline-flag{color:#b91c1c;font-size:.85rem;min-height:1.2em;margin-bottom:6px}
html:has(#view .auth-wrap),body:has(#view .auth-wrap){background:#0D1117}
body:has(#view .auth-wrap){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='260'%3E%3Ctext x='220' y='130' text-anchor='middle' font-family='Georgia,serif' font-size='26' fill='%23ffffff' fill-opacity='.05'%3EKerala PSC %3Ctspan fill='%23c9a14a' fill-opacity='.07'%3EStudy Hub%3C/tspan%3E%3C/text%3E%3C/svg%3E")}
body:has(#view .auth-wrap) #side,body:has(#view .auth-wrap) #topbar,body:has(#view .auth-wrap) .sitefoot,body:has(#view .auth-wrap) .alert-pop{display:none}
body:has(.modal) .alert-pop{display:none}
.auth-or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:#5c6b62;font-size:.8rem}
.auth-or::before,.auth-or::after{content:"";flex:1;border-top:1px solid #d9d4c7}
#gbtn{display:flex;justify-content:center;min-height:44px}
.pospick{margin-bottom:14px}
.pospick select{width:100%;font:inherit;padding:10px 12px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--ink)}
.examcard{margin-bottom:10px}
.examcard p{margin:6px 0}
.examleft{background:var(--line2);color:var(--ink2)}
.examleft.soon{background:var(--brand-l);color:var(--brand-d)}
