:root{--ink:#17212b;--muted:#74808c;--line:#e7eaf0;--purple:#635bff;--purple-dark:#4e47df;--surface:#fff;--bg:#f6f7fb;--mint:#dff7ed;--amber:#fff0ce}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Hind Siliguri',sans-serif}.app-shell{max-width:1180px;margin:auto;padding:0 28px 28px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font:800 17px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.4px;display:flex;align-items:center;gap:10px}.brand-mark{color:var(--purple);font-size:25px}.topbar-meta{color:var(--muted);font-size:13px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4ac896;margin-right:8px}.hero-card{min-height:270px;border-radius:26px;background:linear-gradient(118deg,#211b50,#5048d7 63%,#736cfb);color:#fff;padding:42px 52px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.hero-card:after{content:'';position:absolute;right:-110px;top:-130px;width:410px;height:410px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 62%)}.eyebrow{font:700 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:1.6px;margin:0 0 11px;color:#a9a8ff}.hero-card h1{font-size:36px;line-height:1.15;margin:0 0 14px;font-weight:700}.hero-card h1 span{color:#d9d7ff}.hero-copy{font-size:16px;color:#dedcff;margin:0;max-width:460px}.hero-actions{display:flex;gap:12px;margin-top:27px}.primary-btn,.ghost-btn,.outline-btn,.secondary-btn,.text-btn{border:0;border-radius:11px;padding:12px 17px;font:700 14px 'Hind Siliguri',sans-serif;cursor:pointer;transition:.2s}.primary-btn{background:var(--purple);color:#fff;box-shadow:0 7px 18px rgba(99,91,255,.23)}.hero-card .primary-btn{background:#fff;color:#433bc5;box-shadow:none}.primary-btn:hover{background:var(--purple-dark);transform:translateY(-1px)}.hero-card .primary-btn:hover{background:#efefff}.ghost-btn{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.24)}.hero-orbit{width:230px;height:190px;position:relative;margin-right:20px}.orbit-ring{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(-25deg)}.ring-one{width:220px;height:95px;top:45px;left:0}.ring-two{width:155px;height:155px;top:15px;left:33px;transform:rotate(35deg)}.orbit-core{position:absolute;top:62px;left:90px;width:53px;height:53px;border-radius:50%;background:#fff;color:#5d56e7;display:flex;align-items:center;justify-content:center;font:800 20px 'Plus Jakarta Sans';box-shadow:0 0 0 10px rgba(255,255,255,.08)}.orbit-core small{position:absolute;font-size:8px;bottom:7px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.stat-card,.practice-panel,.section-card,.question-card{background:var(--surface);border:1px solid var(--line);border-radius:16px}.stat-card{display:flex;align-items:center;gap:14px;padding:17px 20px}.stat-icon{width:39px;height:39px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px}.purple{background:#eeedff;color:var(--purple)}.mint{background:var(--mint);color:#2caa79}.amber{background:var(--amber);color:#d79d22}.stat-card strong{display:block;font:800 22px 'Plus Jakarta Sans'}.stat-card small{color:var(--muted);font-size:12px}.practice-panel{padding:25px 27px;margin-bottom:20px}.panel-heading,.section-title{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font-size:24px;margin:0}.mode-toggle{background:#f0f1f7;padding:4px;border-radius:10px}.mode-btn{border:0;background:transparent;padding:8px 15px;border-radius:7px;color:var(--muted);font:600 13px 'Hind Siliguri';cursor:pointer}.mode-btn.active{background:#fff;color:var(--purple);box-shadow:0 2px 8px #dfe1ea}.filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:13px;margin-top:21px}.filters label{font-size:12px;color:var(--muted)}select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:11px;font:500 14px 'Hind Siliguri';outline:0}.outline-btn{border:1px solid #bbb8ff;color:var(--purple);background:#fafaff;height:43px;white-space:nowrap}.outline-btn:hover{background:#f0efff}.hidden{display:none!important}.question-area{margin:26px 0}.quiz-topline{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:13px}.progress-track{height:7px;border-radius:20px;background:#e7e8f1;flex:1}.progress-fill{height:100%;border-radius:20px;background:var(--purple);width:20%;transition:.3s}.timer{font:700 13px 'Plus Jakarta Sans';color:var(--purple);min-width:50px;text-align:right}.question-card{padding:29px 34px;margin-top:14px}.question-meta{display:flex;gap:10px;align-items:center;margin-bottom:19px}.chip{font-size:12px;color:var(--purple);background:#efeeff;padding:5px 10px;border-radius:20px}.muted{font-size:13px;color:var(--muted)}.question-card h2{font-size:25px;line-height:1.45;margin:0 0 25px;max-width:850px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;font-size:16px;transition:.2s;background:#fff}.option:hover{border-color:#b7b3ff;background:#fafaff}.option .letter{width:28px;height:28px;border-radius:8px;background:#f2f3f7;color:#69717c;display:flex;align-items:center;justify-content:center;font:700 12px 'Plus Jakarta Sans'}.option.selected{border-color:var(--purple);background:#f7f6ff}.option.selected .letter{background:var(--purple);color:#fff}.option.correct{border-color:#3eb985;background:#effbf5}.option.correct .letter{background:#3eb985;color:#fff}.option.wrong{border-color:#e57474;background:#fff3f3}.option.wrong .letter{background:#e57474;color:#fff}.answer-note{margin-top:16px;border-radius:10px;padding:10px 13px;font-size:14px}.answer-note.good{background:#edf9f3;color:#25855f}.answer-note.bad{background:#fff1f1;color:#bc4b4b}.explanation{border-left:3px solid var(--purple);background:#f8f8ff;padding:14px 17px;margin-top:18px;border-radius:0 10px 10px 0}.explanation-title{font-weight:700;color:var(--purple)}.explanation p{margin:5px 0;font-size:14px;line-height:1.6}.explanation small{color:var(--muted)}.quiz-actions{display:flex;justify-content:space-between;margin-top:25px}.secondary-btn{background:transparent;color:var(--muted);padding-left:0}.below-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:22px}.section-card{padding:23px 25px}.section-title h3{font-size:18px;margin:0}.section-title span{color:var(--purple);font-size:12px}.progress-item{margin-top:18px}.progress-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.progress-label span:last-child{color:var(--muted)}.subject-track{height:7px;background:#eef0f4;border-radius:20px}.subject-bar{height:100%;background:var(--purple);border-radius:20px}.tips-card{background:#fffcf5;border-color:#f2ead8}.tips-card p{color:#766b55;line-height:1.6;font-size:14px;margin:20px 0}.tip-badge{background:#fff0ce;color:#d69a1f!important;padding:4px 8px;border-radius:6px;font:700 10px 'Plus Jakarta Sans'}.text-btn{padding:0;background:none;color:#9b741f}footer{text-align:center;color:#a1a8b1;font-size:12px;margin:30px 0 0}@media(max-width:760px){.app-shell{padding:0 15px 22px}.topbar-meta{display:none}.hero-card{padding:30px 25px;min-height:290px}.hero-card h1{font-size:29px}.hero-orbit{position:absolute;right:-72px;bottom:-20px;opacity:.65}.stats-row{gap:8px}.stat-card{padding:12px 9px;gap:8px}.stat-card strong{font-size:18px}.stat-card small{font-size:10px}.practice-panel{padding:20px 17px}.panel-heading{align-items:flex-start;gap:12px;flex-direction:column}.filters{grid-template-columns:1fr 1fr}.filters label:nth-child(3){grid-column:1}.outline-btn{grid-column:2}.question-card{padding:22px 18px}.question-card h2{font-size:21px}.options{grid-template-columns:1fr}.below-grid{grid-template-columns:1fr}}
@font-face{font-family:'Ruhul Amin';src:url('assets/fonts/Ruhul-Amin-Unicode.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:'Ruhul Amin';src:url('assets/fonts/Ruhul-Amin-Italic-Unicode.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}body,.primary-btn,.ghost-btn,.outline-btn,.secondary-btn,.text-btn,.brand,.eyebrow,.stat-card strong,.timer,.mode-btn,select{font-family:'Ruhul Amin',sans-serif}
.option{font-family:'Ruhul Amin',sans-serif}
.question-image{display:block;max-width:min(100%,560px);max-height:360px;object-fit:contain;margin:16px auto 0;border-radius:12px;background:#fff}.option-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px}.option-image{display:block;max-width:100%;max-height:180px;object-fit:contain;border-radius:8px;background:#fff}.result-review-body .question-image,.result-review-body .option-image{margin:10px 0;max-height:260px}
.profile-switcher{display:flex;align-items:center;gap:9px}.profile-label{font-size:12px;color:var(--muted)}.profile-switcher select{width:145px;margin:0;padding:8px 10px}.profile-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eeedff;color:var(--purple);font-weight:700}.profile-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin:0 0 20px;display:flex;align-items:center;justify-content:space-between}.profile-summary h2{font-size:22px;margin:0}.profile-summary p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:13px}.focus-points{padding:10px 18px;border-radius:12px;background:#f5f3ff;text-align:center;color:var(--purple)}.focus-points span{display:block;font-size:11px}.focus-points strong{font:800 24px 'Ruhul Amin';display:block}.activity-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:23px 25px;margin-top:18px}.activity-list{margin-top:14px}.activity-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #f0f1f4;font-size:13px}.activity-dot{width:8px;height:8px;border-radius:50%;background:#5d57e7}.activity-row time{margin-left:auto;color:var(--muted);font-size:11px}.empty-activity{color:var(--muted);font-size:13px;padding:12px 0}@media(max-width:760px){.profile-label{display:none}.profile-switcher select{width:122px}.profile-summary{align-items:flex-start;gap:14px}.focus-points{padding:8px 12px}.activity-card{padding:20px 17px}}
 .login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 15%,#e7e5ff,transparent 30%),var(--bg)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 20px 60px rgba(36,31,93,.1)}.login-card h1{font-size:28px;line-height:1.25;margin:5px 0 10px}.login-copy{color:var(--muted);font-size:14px;margin:0 0 25px}.login-card form{display:grid;gap:15px}.login-card label{font-size:13px;color:var(--muted)}.login-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:9px;font:14px 'Ruhul Amin';outline:0}.login-card .primary-btn{width:100%;margin-top:4px}.login-error{color:#bd5353;font-size:13px;min-height:18px;margin:0}.login-hint{display:block;color:#a0a6b0;margin-top:22px}.logout-btn{border:0;background:transparent;color:var(--muted);font:600 12px 'Ruhul Amin';cursor:pointer}.leaderboard-card,.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:23px 25px;margin-top:18px}.leaderboard-card h2,.admin-card h2{font-size:22px;margin:0}.leaderboard-tabs{display:flex;gap:5px;background:#f1f2f7;padding:4px;border-radius:9px}.leader-tab{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:7px;font:600 12px 'Ruhul Amin';cursor:pointer}.leader-tab.active{background:#fff;color:var(--purple);box-shadow:0 2px 7px #dddfea}.leader-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border-top:1px solid #f0f1f4;padding:12px 0}.leader-rank{font:800 17px 'Ruhul Amin';color:var(--purple)}.leader-name{font-weight:700}.leader-score{font-size:12px;color:var(--muted)}.admin-card{background:#fcfbff;border-color:#dcd9ff}.admin-card>p{color:var(--muted);font-size:13px}.admin-badge{font:700 10px 'Ruhul Amin';color:var(--purple);background:#eeedff;padding:5px 8px;border-radius:6px}.reset-form{display:flex;gap:9px}.reset-form select,.reset-form input{margin:0;flex:1;padding:10px;border:1px solid var(--line);border-radius:8px;font:14px 'Ruhul Amin'}.reset-message{color:#338c6d;font-size:13px;min-height:16px}@media(max-width:760px){.profile-switcher{gap:5px}.profile-label{display:none}.profile-switcher select{width:122px}.login-card{padding:27px 22px}.leaderboard-card,.admin-card{padding:20px 17px}.leaderboard-card .section-title{align-items:flex-start;gap:12px;flex-direction:column}.reset-form{display:grid}.leaderboard-tabs{width:max-content}}
 .exam-rule{font-size:10px;color:var(--purple);margin-left:5px;white-space:nowrap}
.progress-snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0 4px}.progress-snapshot>div{background:#f8f8fc;border-radius:10px;padding:11px 13px}.progress-snapshot strong{display:block;font:800 20px 'Ruhul Amin';color:var(--purple)}.progress-snapshot span{font-size:11px;color:var(--muted)}
 .blue{background:#e6f1ff;color:#4184dc}
/* Mobile-first home view: keep attention on starting practice. */
.stats-row,.profile-summary,.below-grid,.activity-card,.leaderboard-card,.admin-card{display:none}.hero-card{min-height:205px;padding:31px 27px}.hero-card h1{font-size:32px}.practice-panel{background:transparent;border:0;padding:24px 0;margin:0}.section-nav{display:flex;gap:7px;margin:4px 0 15px;padding:4px;background:#eef0f6;border-radius:11px}.section-nav-btn{flex:1;border:0;background:transparent;color:var(--muted);padding:9px 6px;border-radius:8px;font:600 13px 'Ruhul Amin';cursor:pointer}.section-nav-btn.active{background:#fff;color:var(--purple);box-shadow:0 2px 7px #dfe1ea}.question-area{min-height:calc(100vh - 96px);margin:0;padding-top:16px}.question-area .question-card{margin-top:14px}.quiz-topline{gap:9px}.back-btn{border:0;background:transparent;color:var(--muted);font:600 12px 'Ruhul Amin';padding:0;cursor:pointer;white-space:nowrap}.question-area .question-card{box-shadow:0 10px 30px rgba(36,31,93,.06)}.mode-toggle{display:flex;align-items:center}.hero-card .hero-orbit{opacity:.65}@media(max-width:760px){.hero-card{min-height:190px;padding:26px 21px}.hero-card h1{font-size:28px}.hero-copy{font-size:14px;max-width:260px}.practice-panel{padding-top:18px}.practice-panel .panel-heading h2{font-size:21px}.question-area{padding-top:5px}.question-area .question-card{padding:21px 16px}.quiz-topline{font-size:11px}.timer{font-size:11px}}

.progress-dashboard{margin:12px 0 22px}
.bank-notice{background:#fff8e8;border:1px solid #ead7a7;border-radius:14px;padding:15px 18px;margin:16px 0 0;color:#765722}
.bank-notice strong{display:block;font-size:15px}
.bank-notice p{font-size:13px;line-height:1.6;margin:5px 0 0}
.mode-btn:disabled{opacity:.45;cursor:not-allowed}
.timing-hint{color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0 0}
.practice-panel.mock-mode .practice-only-filter{display:none}
.practice-panel.mock-mode .filters{grid-template-columns:minmax(0,1fr) auto}
.practice-panel.mock-mode .filters .outline-btn{grid-column:auto}
@media(max-width:760px){.practice-panel.mock-mode .filters{grid-template-columns:1fr auto}}
.timer{white-space:nowrap}
.secondary-btn:disabled{opacity:.45;cursor:not-allowed}
.leader-admin{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:5px;background:#eeedff;color:var(--purple);font-size:10px;font-weight:700;vertical-align:middle}
.progress-heading{display:flex;justify-content:space-between;align-items:end;gap:14px}
.progress-heading h2{font-size:24px;margin:0}
.progress-periods{display:flex;gap:4px;padding:4px;border-radius:10px;background:#eef0f6}
.progress-period{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:8px 12px;cursor:pointer;font:600 13px 'Ruhul Amin'}
.progress-period.active{background:#fff;color:var(--purple);box-shadow:0 2px 7px #dfe1ea}
.period-caption{color:var(--muted);font-size:13px;margin:9px 0 15px}
.progress-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.progress-metric,.progress-panel{background:#fff;border:1px solid var(--line);border-radius:14px}
.progress-metric{padding:16px}
.progress-metric span,.progress-metric small{display:block;color:var(--muted);font-size:12px}
.progress-metric strong{display:block;color:var(--ink);font-size:27px;line-height:1.4;margin:4px 0}
.progress-note{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 2px 0}
.progress-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.progress-panel{padding:19px 20px;min-width:0}
.progress-panel h3{font-size:17px;margin:0 0 15px}
.trend-legend{font-size:11px;color:var(--muted);margin:0 0 12px}
.trend-row{display:grid;grid-template-columns:58px minmax(0,1fr) 36px 110px;align-items:center;gap:8px;margin:10px 0;font-size:12px}
.trend-row span,.trend-row small{color:var(--muted)}
.trend-row strong{text-align:right;font-size:12px}
.trend-track{height:8px;background:#eff0f7;border-radius:10px;overflow:hidden}
.trend-bar{height:100%;background:var(--purple);border-radius:10px}
.history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.history-row:first-child{border-top:0}
.history-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.history-row strong{white-space:nowrap;color:var(--purple);font-size:12px}
.progress-empty{color:var(--muted);font-size:13px;line-height:1.6;margin:0}
.focus-panel p{font-size:14px;color:var(--muted);line-height:1.6}
.focus-panel .text-btn{color:var(--purple)}
.answer-warning{margin-top:10px;padding:9px 12px;border:1px solid #e7c86f;border-radius:9px;background:#fff8df;color:#765722;font-size:12px;line-height:1.55}
.answer-note.neutral{background:#f2f3f7;color:#59636e}
.practice-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5f3ff 0%,#fbfaff 58%,#eef5ff 100%);border:1px solid #d9d5ff;border-radius:20px;padding:25px 27px;margin:18px 0 20px;box-shadow:0 12px 30px rgba(69,61,170,.09)}
.practice-panel:before{content:none}
.practice-panel .eyebrow{color:#655dd8}
.practice-panel .mode-toggle{background:rgba(255,255,255,.72);border:1px solid rgba(99,91,255,.12);box-shadow:inset 0 1px 0 #fff}
.practice-panel select{border-color:#dcd9f0;box-shadow:0 3px 10px rgba(48,43,109,.04)}
.practice-panel .outline-btn{background:#635bff;border-color:#635bff;color:#fff;box-shadow:0 7px 16px rgba(99,91,255,.2)}
.practice-panel .outline-btn:hover{background:#4e47df}
.practice-panel.mock-mode{background:linear-gradient(135deg,#fff8ed 0%,#fffdf8 58%,#fff2e7 100%);border-color:#efd8b5;box-shadow:0 12px 30px rgba(155,99,32,.09)}
.practice-panel.mock-mode .eyebrow{color:#b66b23}
.practice-panel.mock-mode .mode-btn.active{color:#b85d27}
.practice-panel.mock-mode .outline-btn{background:#d96d38;border-color:#d96d38;box-shadow:0 7px 16px rgba(217,109,56,.2)}
.practice-panel.mock-mode .outline-btn:hover{background:#bd5729}
@media(max-width:760px){.practice-panel{padding:20px 17px 19px;margin:14px 0 17px;border-radius:17px}.practice-panel:before{width:4px}}
@media(max-width:760px){.progress-heading{align-items:flex-start;flex-direction:column}.progress-heading h2{font-size:21px}.progress-periods{width:100%}.progress-period{flex:1}.progress-metrics{grid-template-columns:1fr 1fr;gap:8px}.progress-metric{padding:12px}.progress-metric strong{font-size:23px}.progress-columns{grid-template-columns:1fr}.progress-panel{padding:17px}.trend-row{grid-template-columns:50px minmax(0,1fr) 32px 87px;gap:6px}.trend-row small{font-size:10px}}

/* Persistent signed-in navigation */
.app-shell > .topbar{
  position:sticky;
  top:0;
  z-index:100;
  margin:0 -28px;
  padding:0 28px;
  background:rgba(246,247,251,.94);
  border-bottom:1px solid rgba(215,218,227,.9);
  box-shadow:0 8px 24px rgba(23,33,43,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

@media(max-width:760px){
  .app-shell > .topbar{
    height:64px;
    margin:0 -15px;
    padding:0 15px;
  }
  .app-shell > .topbar .brand{font-size:14px;gap:7px}
  .app-shell > .topbar .brand-mark{font-size:21px}
  .app-shell > .topbar .signed-in-name{font-size:13px}
}

.back-btn{
  border:1px solid var(--purple);
  border-radius:9px;
  background:var(--purple);
  color:#fff;
  padding:7px 10px;
  box-shadow:0 5px 12px rgba(99,91,255,.22);
}
.back-btn:hover{background:var(--purple-dark);border-color:var(--purple-dark)}

.question-area .timer{
  min-width:auto;
  padding:6px 9px;
  border-radius:9px;
  background:#ebe9ff;
  color:var(--purple-dark);
  font-size:15px;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(99,91,255,.12);
}

.question-area .secondary-btn{
  padding:9px 13px;
  border:1px solid #e2dfff;
  border-radius:9px;
  background:#f5f3ff;
  color:#625bd0;
}
.question-area .secondary-btn:hover{background:#ebe9ff;border-color:#d3ceff}

.nav-exam-timer{
  position:sticky;
  top:76px;
  z-index:99;
  margin:0 -28px;
  padding:9px 28px 10px;
  border-top:1px solid rgba(99,91,255,.12);
  border-bottom:1px solid rgba(99,91,255,.2);
  background:rgba(239,238,255,.96);
  color:var(--purple-dark);
  text-align:center;
  font:800 17px 'Ruhul Amin',sans-serif;
  line-height:1.2;
  letter-spacing:.3px;
  box-shadow:0 5px 14px rgba(56,50,150,.1);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav-exam-timer:before{content:'◷  অবশিষ্ট সময়  ';font-size:12px;font-weight:600;color:#7771c9;letter-spacing:0}

.result-score,.result-review{grid-column:1/-1}
.result-review{margin-top:8px;text-align:left}
.result-review-heading h3{margin:0;font-size:20px}
.result-review-heading p{margin:4px 0 13px;color:var(--muted);font-size:13px}
.result-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px}
.result-filter{border:1px solid #dddafc;border-radius:20px;background:#f8f7ff;color:#6a63c8;padding:6px 13px;font:600 12px 'Ruhul Amin',sans-serif;white-space:nowrap;cursor:pointer}
.result-filter.active{border-color:var(--purple);background:var(--purple);color:#fff}
.result-review-list{display:grid;gap:9px}
.result-review-item{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.result-review-item.correct{border-left:4px solid #3eb985}.result-review-item.wrong{border-left:4px solid #e57474}.result-review-item.unanswered{border-left:4px solid #d79d22}.result-review-item.neutral{border-left:4px solid #89919b}
.result-review-item summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;cursor:pointer;list-style:none}
.result-review-item summary::-webkit-details-marker{display:none}
.result-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#f2f3f7;color:#68717d;font-size:11px;font-weight:700}
.result-question{font-size:14px;line-height:1.4}.result-status{font-size:11px;font-weight:700}
.result-review-item.correct .result-status{color:#25855f}.result-review-item.wrong .result-status{color:#bc4b4b}.result-review-item.unanswered .result-status{color:#ad7811}.result-review-item.neutral .result-status{color:#68717d}
.result-review-body{padding:0 14px 14px 49px;border-top:1px solid #f0f1f4}
.result-review-body>p{margin:10px 0 0;font-size:13px}.result-warning{padding:8px 10px;border-radius:8px;background:#fff8e8;color:#8b651b}
.result-explanation{margin-top:12px;padding:12px;border-radius:9px;background:#f8f8ff;font-size:13px;line-height:1.55}.result-explanation p{margin:4px 0}.result-explanation small{color:var(--muted)}

@media(max-width:760px){
  .nav-exam-timer{top:64px;margin:0 -15px;padding:9px 15px 10px;font-size:17px}
  .result-review-item summary{grid-template-columns:26px minmax(0,1fr);gap:8px;padding:11px 10px}.result-status{grid-column:2}.result-review-body{padding:0 11px 12px}
  .practice-panel .panel-heading{
    width:100%;
    flex-direction:row;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }
  .practice-panel .mode-toggle{flex:0 0 auto}
  .question-area{padding-top:18px}
  .quiz-topline{align-items:center}
  .question-area .question-card h2{font-size:19px;line-height:1.4}
  .question-area .option{font-size:15px;padding:12px 14px}
  .question-area .timer{font-size:15px;padding:7px 9px}
}

/* User avatars and compact sign-out control */
.profile-avatar{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:50%;display:block;background:#eeedff center/cover no-repeat;box-shadow:none}
.logout-btn{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:#fff0f0;color:#d94f4f;cursor:pointer}
.logout-btn:hover{background:#ffe2e2;color:#bd3434}
.logout-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.leader-row{grid-template-columns:38px 34px 1fr auto}
.leader-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.admin-block{margin-top:20px;padding-top:18px;border-top:1px solid #ebe9fb}
.admin-block h3{margin:0;font-size:17px}
.admin-block>p{margin:4px 0 12px;color:var(--muted);font-size:13px}
.avatar-user{max-width:240px;margin:0}
.avatar-picker{display:grid;grid-template-columns:repeat(8,52px);gap:9px;margin-top:13px}
.avatar-choice{width:52px;height:52px;padding:2px;border:2px solid transparent;border-radius:50%;background:#fff;cursor:pointer}
.avatar-choice img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatar-choice.selected{border-color:var(--purple);box-shadow:0 0 0 3px #e7e5ff}
@media(max-width:760px){.profile-switcher{gap:7px}.avatar-picker{grid-template-columns:repeat(4,48px)}.avatar-choice{width:48px;height:48px}.leader-row{grid-template-columns:26px 32px 1fr auto;gap:7px}}
@media(max-width:760px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.filters label:nth-child(1){grid-column:1}.filters label:nth-child(2){grid-column:2/4}.filters label:nth-child(3){grid-column:1/3}.filters .outline-btn{grid-column:3;padding-left:15px;padding-right:15px}}
@media(max-width:420px){.practice-panel .panel-heading{flex-direction:column;align-items:stretch;gap:13px}.practice-panel .mode-toggle{width:100%}.practice-panel .mode-btn{flex:1}.filters label:nth-child(1),.filters label:nth-child(2){grid-column:1/4}.filters label:nth-child(3){grid-column:1/3}.filters .outline-btn{grid-column:3}}
.trivia-card{width:100%;display:flex;align-items:center;gap:13px;margin:0 0 15px;padding:14px 18px;border:1px solid #c9e8dd;border-radius:15px;background:linear-gradient(110deg,#e8fbf4,#eff4ff);color:#245e52}.trivia-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;background:#fff7d6;color:#e0a51b;box-shadow:0 4px 12px rgba(224,165,27,.14)}.trivia-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trivia-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;font-size:14px;line-height:1.45}@media(max-width:420px){.trivia-card{padding:12px 14px;gap:10px}.trivia-icon{width:31px;height:31px;flex-basis:31px}.trivia-icon svg{width:19px;height:19px}.trivia-card p{font-size:13px}}

/* Mobile polish */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,canvas,svg{max-width:100%}
@media(max-width:760px){
  input,select,textarea{font-size:16px}
  .admin-card .reset-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .admin-card .reset-form>*{width:100%;min-width:0;max-width:100%}
  .admin-card .reset-form select,.admin-card .reset-form input{height:44px}
  .admin-card .outline-btn,.admin-card .reset-form button{height:44px}
  .avatar-user{max-width:none;width:100%}
  .avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:start}
  .section-nav{overflow-x:auto;scrollbar-width:none}
  .section-nav::-webkit-scrollbar{display:none}
  .section-nav-btn{white-space:nowrap;min-height:40px}
  .leader-name{min-width:0;overflow-wrap:anywhere}
  .mode-btn,.option,.primary-btn,.outline-btn,.secondary-btn{min-height:44px}
  .app-shell{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:max(22px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){
  .app-shell{padding-left:12px;padding-right:12px}
  .hero-card h1{font-size:25px}
  .question-card h2{font-size:19px}
  .progress-metrics{gap:6px}
  .trend-row{grid-template-columns:44px minmax(0,1fr) 28px 76px}
}
.topbar{gap:10px}
.brand{min-width:0;white-space:nowrap}
.profile-switcher{min-width:0}
.signed-in-name{min-width:0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:400px){.signed-in-name{max-width:84px}.brand{font-size:15px;gap:7px}}
@media(max-width:760px){.admin-card .reset-form>*{grid-column:1!important}}
@media(max-width:360px){.app-shell>.topbar{margin:0 -12px;padding:0 12px}}

.profile-avatar{cursor:pointer;padding:0}.profile-avatar:hover{box-shadow:0 0 0 3px #e7e5ff}.my-avatar-wrap{position:relative;display:inline-flex}.my-avatar-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:max-content;max-width:calc(100vw - 32px);padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(23,33,43,.18)}.my-avatar-pop.hidden{display:none}.my-avatar-pop p{margin:0;font-size:13px;font-weight:700}.my-avatar-pop .avatar-picker{margin-top:10px;grid-template-columns:repeat(4,48px)}.my-avatar-pop .avatar-choice{width:48px;height:48px}

.dash-hidden{display:none!important}

/* Review Dashboard */
.review-dashboard{margin:0;padding:0}
.review-dash-heading{margin-bottom:18px}
.review-dash-heading .eyebrow{margin:0;color:#b36b00;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-dash-heading h2{margin:4px 0 0;font-size:22px}
.review-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.review-stat{padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line);text-align:center}
.review-stat strong{display:block;font-size:28px;color:var(--purple)}
.review-stat span{display:block;margin-top:4px;font-size:12px;color:var(--muted);font-weight:600}
.review-stat.warn strong{color:#c0392b}
.review-hint{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.5}
.review-empty{padding:30px 16px;text-align:center;border-radius:14px;background:#fff;border:1px solid var(--line)}
.review-empty p{margin:0}.review-empty p:first-child{font-size:20px;margin-bottom:6px}.review-empty .muted{font-size:13px;color:var(--muted)}
.review-subject-cards{display:grid;gap:8px;margin-bottom:16px}
.review-subject-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.review-subject-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.review-subject-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-subject-count{font-size:12px;color:var(--muted)}.warn-text{color:#c0392b;font-weight:600}
.review-start-btn{flex:0 0 auto;padding:8px 16px;border:1px solid var(--purple);border-radius:10px;background:#f8f7ff;color:var(--purple);font:700 13px 'Ruhul Amin',sans-serif;cursor:pointer;white-space:nowrap}
.review-start-btn:hover{background:var(--purple);color:#fff}
.review-actions{margin-bottom:18px}
.review-all-btn{width:100%;font-size:15px}
.review-remaining{grid-column:1/-1;text-align:center;margin:8px 0 0;font-size:14px;color:var(--muted)}
.review-browse-details{border-radius:14px;background:#fff;border:1px solid var(--line);overflow:hidden}
.review-browse-details>summary{padding:14px 18px;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.review-browse-details>summary::-webkit-details-marker{display:none}
.review-browse-details>summary::before{content:'▸ ';color:var(--muted)}
.review-browse-details[open]>summary::before{content:'▾ '}
.review-browse-list{border-top:1px solid var(--line);padding:8px}
.review-browse-item{border:1px solid var(--line);border-radius:10px;margin-bottom:6px;overflow:hidden}
.review-browse-item.persistent{border-left:4px solid #e57474}
.review-browse-item.improving{border-left:4px solid #3eb985}
.review-browse-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;padding:10px 12px;cursor:pointer;list-style:none;font-size:13px;line-height:1.4}
.review-browse-item summary::-webkit-details-marker{display:none}
.review-q-subject{display:block;font-size:11px;font-weight:700;color:var(--purple);margin-bottom:2px}
.review-q-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-q-meta{grid-column:2;font-size:11px;color:var(--muted);white-space:nowrap;text-align:right}
.review-q-detail{padding:4px 12px 12px;border-top:1px solid #f0f1f4;font-size:13px;line-height:1.55}
.review-q-options{display:grid;gap:4px;margin:8px 0}
.review-correct-opt{font-weight:700;color:#25855f}
.review-q-expl{margin:10px 0 4px;padding:10px;border-radius:8px;background:#f8f8ff}
@media(max-width:760px){
  .review-stat-row{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .review-stat{padding:12px 8px}.review-stat strong{font-size:22px}
  .review-subject-card{flex-direction:column;align-items:stretch;gap:8px}
  .review-start-btn{width:100%;text-align:center;padding:10px}
}
@media(max-width:360px){.review-stat-row{grid-template-columns:1fr;gap:6px}}

.locked-exam-card{margin:0 0 22px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#1f1b4d,#3a33a8);color:#fff;box-shadow:0 12px 30px rgba(52,45,150,.25)}
.locked-exam-card.hidden{display:none}.locked-exam-card h2{margin:4px 0 0;color:#fff}.locked-exam-card .eyebrow{color:#c9c6ff}.lock-badge{font-size:26px}
.locked-exam-meta{margin:10px 0 16px;font-size:13px;color:#dcdaff;line-height:1.6}.locked-note{margin:0 0 12px;font-size:14px;line-height:1.6}
.locked-form{display:flex;gap:10px;flex-wrap:wrap}.locked-form input{flex:1 1 200px;min-width:0;margin:0;padding:12px 14px;border:1px solid transparent;border-radius:12px;background:#fff;color:var(--ink)}
.locked-btn{padding:12px 22px;border:0;border-radius:12px;background:#ffd166;color:#2b2200;font-weight:800;cursor:pointer}.locked-btn:disabled{opacity:.6;cursor:wait}
.locked-exam-card .reset-message{color:#ffd9d9;min-height:18px}.locked-exam-card .result-score{margin:0;background:rgba(255,255,255,.14);color:#fff}
@media(max-width:760px){.locked-exam-card{padding:18px;border-radius:16px}.locked-form input,.locked-btn{flex:1 1 100%}}
/* locked exam card: distinct light style + spacing */
.locked-exam-card{margin:22px 0;background:#fffaf0;color:var(--ink);border:1px solid #f0d9a8;border-left:6px solid #f5a524;box-shadow:0 8px 22px rgba(120,80,0,.08)}
.locked-exam-card h2{color:var(--ink)}.locked-exam-card .eyebrow{color:#b36b00}
.locked-exam-meta{color:#6b5a3a}.locked-exam-card .panel-heading{align-items:flex-start;gap:12px;flex-direction:row}.lock-badge{flex:0 0 auto;font-size:24px}
.locked-form input{border:1px solid #e3cf9f;background:#fff}.locked-btn{background:#f5a524;color:#2b1a00}
.locked-exam-card .reset-message{color:#c0392b}.locked-exam-card .result-score{background:#fff3d6;color:var(--ink)}

/* শিখুন (Learn) */
.learn-card{cursor:pointer;text-align:left;font:inherit;width:100%;border-color:#d9d4ff;background:linear-gradient(110deg,#f1efff,#eaf4ff);color:#3b3796}
.learn-card strong{display:block;font-size:15px;margin-bottom:2px}.learn-card p{font-size:13px;color:#5a5aa0;-webkit-line-clamp:2}
.learn-card .learn-icon{background:#fff;color:var(--purple);box-shadow:0 4px 12px rgba(99,91,255,.16)}
.learn-card>div{flex:1;min-width:0}.learn-arrow{font-size:18px;color:var(--purple);font-weight:700}
.learn-card:hover{border-color:var(--purple)}.learn-card:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.learn-page{grid-column:1/-1;width:100%;max-width:760px;margin:0 auto}
.learn-top{margin-bottom:14px}.learn-title{margin:2px 0 14px;font-size:24px}
.learn-search{position:relative;margin-bottom:10px}.learn-search svg{position:absolute;left:13px;top:50%;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.learn-search input{width:100%;box-sizing:border-box;padding:13px 14px 13px 42px;border:1px solid var(--line);border-radius:13px;background:var(--surface);font:500 15px 'Ruhul Amin',sans-serif;color:var(--ink)}
.learn-search input:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
.learn-count{margin:0 0 10px;font-size:13px;color:var(--muted)}
.learn-list{display:flex;flex-direction:column;gap:8px}
.learn-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--ink)}
.learn-item:hover{border-color:var(--purple);background:#faf9ff}
.learn-play{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f1efff;color:var(--purple);font-size:12px}
.learn-item-main{flex:1;min-width:0}.learn-item-main b{display:block;font-size:15px}.learn-item-main span{font-size:12px;color:var(--muted)}
.learn-empty{padding:26px 10px;text-align:center;color:var(--muted);font-size:14px}
.learn-list-back{border:0;background:transparent;color:var(--purple);font:700 13px 'Ruhul Amin',sans-serif;padding:0;margin-bottom:10px;cursor:pointer}
.learn-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}.learn-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.learn-yt-link{display:inline-block;margin-top:12px;font-size:13px;color:var(--muted)}
.learn-video-item{margin-bottom:20px}.learn-video-label{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--purple)}
