:root {
    --brand-ink: #122b29;
    --brand-green: #d8f36a;
    --brand-muted: #62706b;

    /* Override Bootstrap's primary so btn-primary / bg-primary / text-primary
       etc. match the Supertest brand (from index.html) across the whole app
       without having to touch every view that uses those utility classes. */
    --bs-primary: var(--brand-ink);
    --bs-primary-rgb: 18, 43, 41;
    --bs-link-color: var(--brand-ink);
    --bs-link-hover-color: #0b1a19;
}

.btn-primary {
    --bs-btn-bg: var(--brand-ink);
    --bs-btn-border-color: var(--brand-ink);
    --bs-btn-hover-bg: #0b1a19;
    --bs-btn-hover-border-color: #0b1a19;
    --bs-btn-active-bg: #0b1a19;
    --bs-btn-active-border-color: #0b1a19;
}

body {
    background: #f5f6fa;
}

.navbar-brand { letter-spacing: .2px; }

/* Brand mark — matches the ↗ logo on the index.html landing page */
.supertest-brand { font-weight: 800; letter-spacing: -.6px; }
.supertest-brand-mark {
    background: var(--brand-ink);
    color: var(--brand-green);
    display: grid;
    place-items: center;
    border-radius: 8px;
    transform: rotate(-7deg);
    line-height: 1;
    flex-shrink: 0;
}
.supertest-brand-word { color: inherit; }
.supertest-brand-dot { color: #a9c958; margin-left: -3px; }

/* On the dark navbar, the ink-colored mark needs to stay legible against the
   ink background — swap it to the green fill with ink glyph in that context. */
.navbar-dark .supertest-brand-mark { background: var(--brand-green); color: var(--brand-ink); }

.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.08); border-radius: .75rem; }

.subject-card, .test-card { transition: transform .15s ease, box-shadow .15s ease; }
.subject-card:hover, .test-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.10); }

/* Test-taking screen */
.question-nav-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: .4rem; }
@media (min-width: 768px) { .question-nav-grid { grid-template-columns: repeat(8, 1fr); } }
.qnav-btn { aspect-ratio: 1; border-radius: .4rem; border: 1px solid #dee2e6; background: #fff; font-size: .85rem; }
.qnav-btn.answered { background: #198754; color: #fff; border-color: #198754; }
.qnav-btn.skipped { background: #ffc107; border-color: #ffc107; }
.qnav-btn.bookmarked { outline: 2px solid #0d6efd; }
.qnav-btn.current { box-shadow: 0 0 0 3px rgba(13,110,253,.35); }

#timerBox { font-variant-numeric: tabular-nums; font-weight: 600; }
#timerBox.text-danger { animation: pulse 1s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.5} }

.option-label { cursor: pointer; display:block; padding: .65rem .9rem; border: 1px solid #dee2e6; border-radius: .5rem; margin-bottom: .5rem; }
.option-label:hover { background: #f8f9fa; }
.option-label input:checked ~ .opt-text { font-weight: 600; }
.option-label.correct { background: #d1e7dd; border-color: #198754; }
.option-label.incorrect { background: #f8d7da; border-color: #dc3545; }

.qr-box img { max-width: 260px; width: 100%; }

@media (max-width: 576px) {
    .question-nav-grid { grid-template-columns: repeat(5, 1fr); }
}

/* Shared Supertest interface: keep the landing page's palette and spacing. */
:root{--brand-paper:#fafbf6;--brand-line:#dfe5db;--bs-body-font-family:Arial,Helvetica,sans-serif;--bs-body-color:var(--brand-ink);--bs-body-bg:var(--brand-paper);--bs-secondary-color:var(--brand-muted);--bs-border-color:var(--brand-line);--bs-primary-bg-subtle:#edf3df;--bs-primary-text-emphasis:var(--brand-ink)}
body,body.bg-light{background:var(--brand-paper)!important;color:var(--brand-ink);line-height:1.65}
h1,h2,h3,h4,h5,h6{color:var(--brand-ink);letter-spacing:-.035em;line-height:1.2}
a{color:var(--brand-ink);text-underline-offset:4px}a:hover{color:#526c27}
:focus-visible{outline:3px solid #829e46;outline-offset:3px}
.container{max-width:1180px}.app-main{min-height:calc(100vh - 210px);padding-top:38px!important;padding-bottom:48px!important}
.app-navbar{background:var(--brand-paper)!important;border-bottom:1px solid var(--brand-line);min-height:86px;--bs-navbar-color:var(--brand-muted);--bs-navbar-hover-color:var(--brand-ink);--bs-navbar-active-color:var(--brand-ink);--bs-navbar-brand-color:var(--brand-ink);--bs-navbar-brand-hover-color:var(--brand-ink)}
.app-navbar .navbar-brand{margin-right:28px}.app-navbar .nav-link{font-size:13px;font-weight:600;padding:12px!important;border-radius:8px}.app-navbar .nav-link:hover,.app-navbar .nav-link[aria-current=page]{background:#edf3df;color:var(--brand-ink)}
.navbar-toggler{min-width:44px;min-height:44px;border:1px solid var(--brand-line);padding:8px;font-size:18px;color:var(--brand-ink)}
.dropdown-menu{border:1px solid var(--brand-line);border-radius:12px;box-shadow:0 12px 35px #122b2910;padding:8px}.dropdown-item{padding:11px 14px;border-radius:7px;font-size:14px}.dropdown-item:active{background:var(--brand-ink)}
.btn{border-radius:8px;font-weight:600;font-size:14px;min-height:44px;padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;white-space:normal}.btn-sm{padding:9px 13px;font-size:12px;min-height:42px}.btn-lg{padding:15px 24px;font-size:16px}
.btn-primary{--bs-btn-color:#fff;--bs-btn-disabled-bg:var(--brand-ink);--bs-btn-disabled-border-color:var(--brand-ink);--bs-btn-focus-shadow-rgb:130,158,70}
.btn-success,.btn-light{--bs-btn-color:var(--brand-ink);--bs-btn-bg:var(--brand-green);--bs-btn-border-color:var(--brand-green);--bs-btn-hover-color:var(--brand-ink);--bs-btn-hover-bg:#c9e65c;--bs-btn-hover-border-color:#c9e65c;--bs-btn-active-color:var(--brand-ink);--bs-btn-active-bg:#bed953;--bs-btn-active-border-color:#bed953}
.btn-outline-primary{--bs-btn-color:var(--brand-ink);--bs-btn-border-color:#a8b5a6;--bs-btn-hover-bg:var(--brand-ink);--bs-btn-hover-border-color:var(--brand-ink);--bs-btn-active-bg:var(--brand-ink);--bs-btn-active-border-color:var(--brand-ink)}
.btn-outline-secondary{--bs-btn-color:var(--brand-muted);--bs-btn-border-color:var(--brand-line)}
.card{border:1px solid var(--brand-line);border-radius:14px;background:#fff;box-shadow:0 5px 20px #122b2903;overflow-wrap:anywhere}.card-header{background:#f1f4e9;border-bottom:1px solid var(--brand-line);padding:17px 22px}.card-header:first-child{border-radius:14px 14px 0 0}.subject-card:hover,.test-card:hover{border-color:#a8be77;box-shadow:0 9px 24px #122b2909}.subject-card>i{background:#eff3e6;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:21px}.subject-card .badge{align-self:flex-start;margin-top:auto}.badge{font-weight:600;line-height:1.4;border-radius:6px;padding:6px 9px;white-space:normal}.bg-primary-subtle{background:#edf3df!important}
.form-label{font-size:13px;font-weight:600;margin-bottom:7px}.form-control,.form-select{min-height:48px;border-radius:8px;border-color:var(--brand-line);font-size:16px;padding:11px 13px;background-color:#fff;color:var(--brand-ink)}.form-control:focus,.form-select:focus{border-color:#829e46;box-shadow:0 0 0 3px #d8f36a55}.form-check-input:checked{background-color:var(--brand-ink);border-color:var(--brand-ink)}.form-check-input:focus{box-shadow:0 0 0 3px #d8f36a55;border-color:#829e46}input[type=file]{font-size:13px}.form-text{line-height:1.6}
.table{--bs-table-color:var(--brand-ink);--bs-table-border-color:var(--brand-line);--bs-table-hover-bg:#f2f5ea;font-size:14px;margin-bottom:0}.table>:not(caption)>*>*{padding:15px 18px}.table thead th{background:#eef2e6;color:var(--brand-muted);font-size:11px;letter-spacing:.6px;text-transform:uppercase}.table-responsive{border:1px solid var(--brand-line);border-radius:12px;background:#fff}.table-responsive .table{min-width:580px}.list-group-item{border-color:var(--brand-line);color:var(--brand-ink)}.alert{border-radius:10px;font-size:14px;overflow-wrap:anywhere}.modal-content{border:1px solid var(--brand-line);border-radius:16px}.modal-header,.modal-footer{padding:18px 22px}.modal-body{padding:22px}.breadcrumb{font-size:12px}
.app-footer{border-top:1px solid var(--brand-line);font-size:12px!important}.app-footer p{margin:0}.app-eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.7px;margin-bottom:15px}.study-banner{background:var(--brand-ink);color:#fff;border-radius:18px;padding:32px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.study-banner h1{color:white;font-size:clamp(26px,4vw,38px);margin-bottom:10px}.study-banner p{color:#c1cec7;margin:0;font-size:14px}.study-banner .app-eyebrow{color:var(--brand-green)}.study-banner .plan-chip{background:#ffffff0c;border:1px solid #52635c;border-radius:10px;padding:15px 20px;font-size:12px;max-width:330px}.plan-chip strong{color:var(--brand-green);display:block;font-size:15px}
.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;max-width:1050px;margin:18px auto}.auth-intro h1{font-size:clamp(38px,5vw,60px);letter-spacing:-2px;margin:20px 0;line-height:1.08}.auth-intro h1 span{background:linear-gradient(transparent 70%,var(--brand-green) 70%)}.auth-intro p{color:var(--brand-muted);max-width:360px}.auth-intro .auth-note{border-top:1px solid var(--brand-line);padding-top:23px;margin-top:30px;font-size:13px}.auth-content{min-width:0}.auth-content>.row{margin:0}.auth-content>.row>div{width:100%;padding:0}.auth-content .card{box-shadow:0 15px 45px #122b2905}.auth-content h3{font-size:27px}.auth-content form+p{font-size:13px}
.option-label{padding:15px;border-color:var(--brand-line);border-radius:9px;background:white;line-height:1.6;overflow-wrap:anywhere}.option-label:has(input:checked){background:#eef7d9;border-color:#90b557}.option-label.correct{background:#eef7d9;border-color:#90b557}.option-label.incorrect{background:#f8d7da;border-color:#dc3545}.qnav-btn{min-height:44px;border-color:var(--brand-line);color:var(--brand-ink)}.qnav-btn.current{box-shadow:0 0 0 3px #a9c95888;border-color:#829e46}.qnav-btn.bookmarked{outline-color:#526c27}.question-nav-grid{padding:4px;grid-template-columns:repeat(5,minmax(0,1fr))}.test-toolbar{border:1px solid var(--brand-line);gap:18px}.test-toolbar>div:first-child{min-width:0;overflow-wrap:anywhere}.test-toolbar>div:last-child{flex-shrink:0}#timerBox{color:var(--brand-ink);background:#edf3df;padding:3px 12px;border-radius:6px}.test-workspace .question-block>.fs-5{font-size:18px!important;line-height:1.7}.question-nav-toggle{display:none}.question-actions>div{flex-wrap:wrap}.question-block .badge{align-self:center}.question-block>.d-flex{gap:10px}.test-workspace{padding-bottom:32px!important}.qr-box{max-width:260px}
@media(min-width:992px){.app-navbar .container-fluid,.admin-main{max-width:1440px}.question-map{display:block!important}.test-workspace .question-sidebar{position:sticky;top:100px;align-self:flex-start}}
@media(max-width:991.98px){.app-navbar{min-height:74px}.navbar-collapse{padding:14px 0;max-height:calc(100dvh - 90px);overflow:auto}.navbar-nav .dropdown-menu{position:static}.auth-shell{gap:30px}.question-nav-toggle{display:inline-flex;width:100%;justify-content:space-between;margin-bottom:12px}.question-map:not(.show){display:none}.study-banner{align-items:start}.navbar-nav .dropdown-toggle{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:767.98px){.container{padding-left:20px;padding-right:20px}.app-main{padding-top:24px!important}.auth-shell{grid-template-columns:1fr;gap:22px;margin:0 auto;max-width:500px}.auth-intro h1{font-size:36px;margin:12px 0}.auth-intro p,.auth-intro .auth-note{display:none}.auth-intro .app-eyebrow{margin-bottom:0;font-size:10px}.auth-content .card{padding:25px!important}.study-banner{flex-direction:column;padding:25px;gap:20px}.study-banner .plan-chip{width:100%;max-width:none}.table-responsive{-webkit-overflow-scrolling:touch}.card .d-flex{min-width:0}.modal-dialog{margin:12px}.modal-footer{gap:8px}.modal-footer .btn{flex:1;margin:0}.test-workspace .question-nav-grid{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.test-workspace .question-actions>.btn-clear{flex:1}.test-workspace .question-actions>div{flex:2;flex-wrap:nowrap}.test-workspace .question-actions .btn{padding:11px 10px;flex:1;font-size:12px}.test-workspace .question-actions{gap:8px!important}.test-workspace .question-block>.d-flex:first-child{flex-wrap:wrap}.app-footer{padding-left:20px;padding-right:20px}.admin-main{padding-left:16px!important;padding-right:16px!important}.admin-main h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.nav-tabs{border-color:var(--brand-line);gap:5px}.nav-tabs .nav-link{color:var(--brand-muted);border-radius:8px 8px 0 0;min-height:44px;font-size:13px;font-weight:600}.nav-tabs .nav-link.active{background:#edf3df;color:var(--brand-ink);border-color:var(--brand-line)}.nav-pills{--bs-nav-pills-link-active-bg:var(--brand-ink);gap:5px}.nav-pills .nav-link{min-height:44px;font-size:13px}.study-banner h1,.auth-intro h1{font-weight:700}
@media(max-width:767.98px){.test-workspace .question-actions>div{flex:1 0 100%}.test-workspace .question-actions>.btn-clear{flex:0 0 auto}.test-workspace .question-actions .btn{font-size:14px}.option-row{padding:12px 4px;border:1px solid var(--brand-line);border-radius:10px}.option-row>div:nth-child(1){width:20%;order:0}.option-row>div:nth-child(2){width:55%;order:1}.option-row>div:nth-child(3),.option-row>div:nth-child(4){width:100%;order:3}.option-row>div:nth-child(5){width:25%;order:2;text-align:right}.option-row .form-check-input{width:22px;height:22px}.admin-main>div.d-flex{flex-wrap:wrap;gap:12px}}
/* Hindi subject catalogue */
[lang=hi] h1,[lang=hi] h2,[lang=hi] h3,[lang=hi] .app-eyebrow{letter-spacing:normal;line-height:1.6}[lang=hi] .study-banner p{line-height:1.9}.hindi-topic-group summary{cursor:pointer;border-radius:14px;line-height:1.8}.hindi-topic-group summary::marker{color:#627a32}.hindi-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.hindi-topic-list li{border-top:1px solid var(--brand-line);padding:13px 0;line-height:1.8;display:flex;flex-direction:column;gap:3px}.hindi-topic-list .small{font-size:12px}@media(max-width:640px){.hindi-topic-list{grid-template-columns:1fr}.hindi-topic-group summary{font-size:15px}}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/noto-sans-devanagari-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/noto-sans-devanagari-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(../fonts/noto-sans-devanagari-700.ttf) format('truetype');
}

body{font-family:Arial,'Noto Sans Devanagari',sans-serif}[lang=hi]{font-family:'Noto Sans Devanagari',Arial,sans-serif}
