/* Noryzen CBT — front-end styles */
:root{
	--ncbt-primary:#1a4d8f;
	--ncbt-primary-dark:#123a6b;
	--ncbt-green:#3fb950;
	--ncbt-red:#e5484d;
	--ncbt-grey:#9aa3ab;
	--ncbt-purple:#8957e5;
	--ncbt-bg:#f4f6f9;
	--ncbt-border:#dfe4ea;
	--ncbt-text:#1f2937;
}
.ncbt-wrap, .ncbt-exam-shell, .ncbt-list-wrap{
	font-family:'Noto Sans Devanagari','Inter',system-ui,sans-serif;
	color:var(--ncbt-text);
	box-sizing:border-box;
}
.ncbt-wrap *, .ncbt-exam-shell *{box-sizing:border-box;}

/* ---- Buttons ---- */
.ncbt-btn{
	font-family:inherit;
	font-size:14px;
	font-weight:600;
	padding:10px 18px;
	border-radius:6px;
	border:1px solid var(--ncbt-border);
	background:#fff;
	color:var(--ncbt-text);
	cursor:pointer;
	transition:background .15s ease;
}
.ncbt-btn:hover{background:#eef1f5;}
.ncbt-btn:disabled{opacity:.5;cursor:not-allowed;}
.ncbt-btn-primary{background:var(--ncbt-primary);color:#fff;border-color:var(--ncbt-primary);}
.ncbt-btn-primary:hover{background:var(--ncbt-primary-dark);}
.ncbt-btn-purple{background:var(--ncbt-purple);color:#fff;border-color:var(--ncbt-purple);}
.ncbt-btn-large{padding:12px 28px;font-size:16px;}
.ncbt-btn-submit{width:100%;margin-top:12px;background:var(--ncbt-red);color:#fff;border-color:var(--ncbt-red);}

/* ---- Exam list ---- */
.ncbt-exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.ncbt-exam-card{background:#fff;border:1px solid var(--ncbt-border);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px;}
.ncbt-exam-card h3{margin:0;font-size:18px;}
.ncbt-exam-desc{margin:0;font-size:14px;color:#5b6572;}
.ncbt-exam-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#5b6572;}
.ncbt-exam-meta li{background:var(--ncbt-bg);padding:4px 10px;border-radius:20px;}
.ncbt-empty{padding:24px;text-align:center;color:#5b6572;}

/* ---- Instructions ---- */
.ncbt-instructions{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--ncbt-border);border-radius:10px;padding:28px;}
.ncbt-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0;}
.ncbt-info-grid div{background:var(--ncbt-bg);border-radius:8px;padding:12px;text-align:center;}
.ncbt-info-grid span{display:block;font-size:12px;color:#5b6572;margin-bottom:4px;}
.ncbt-info-grid strong{font-size:18px;}
.ncbt-instructions-body ul{padding-left:20px;line-height:1.7;}
.ncbt-start-form{margin-top:20px;display:flex;flex-direction:column;gap:14px;}
.ncbt-start-form input[type="text"]{padding:10px 12px;border:1px solid var(--ncbt-border);border-radius:6px;font-size:15px;}
.ncbt-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:14px;}
.ncbt-error{color:var(--ncbt-red);font-weight:600;}

/* ---- Exam interface ---- */
.ncbt-loading{padding:60px;text-align:center;font-size:16px;}
.ncbt-exam-header{
	display:flex;justify-content:space-between;align-items:center;
	background:var(--ncbt-primary);color:#fff;padding:12px 20px;border-radius:8px 8px 0 0;
}
.ncbt-exam-title{font-weight:600;font-size:16px;}
.ncbt-timer{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.15);padding:6px 14px;border-radius:6px;}
.ncbt-timer-danger{background:var(--ncbt-red);animation:ncbt-pulse 1s infinite;}
@keyframes ncbt-pulse{0%,100%{opacity:1;}50%{opacity:.6;}}

.ncbt-exam-main{display:flex;gap:0;border:1px solid var(--ncbt-border);border-top:none;border-radius:0 0 8px 8px;overflow:hidden;background:#fff;}
.ncbt-question-panel{flex:1 1 70%;padding:24px;min-width:0;}
.ncbt-question-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
#ncbt-q-number{font-weight:700;color:var(--ncbt-primary);}
.ncbt-section-tag{background:var(--ncbt-bg);padding:3px 10px;border-radius:14px;font-size:12px;}
.ncbt-question-text{font-size:16px;line-height:1.7;margin-bottom:20px;white-space:pre-wrap;}
.ncbt-options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.ncbt-option-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--ncbt-border);border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .15s;}
.ncbt-option-row:hover{border-color:var(--ncbt-primary);}
.ncbt-option-row input{margin-top:4px;}
.ncbt-actions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--ncbt-border);padding-top:18px;}

.ncbt-palette-panel{flex:0 0 280px;background:var(--ncbt-bg);border-left:1px solid var(--ncbt-border);padding:20px;}
.ncbt-legend{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:16px;}
.ncbt-legend span{display:flex;align-items:center;gap:6px;}
.ncbt-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.ncbt-dot-grey{background:var(--ncbt-grey);}
.ncbt-dot-red{background:var(--ncbt-red);}
.ncbt-dot-green{background:var(--ncbt-green);}
.ncbt-dot-purple{background:var(--ncbt-purple);}

.ncbt-palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.ncbt-pal-btn{
	aspect-ratio:1;border-radius:6px;border:none;font-weight:700;font-size:13px;color:#fff;cursor:pointer;
	background:var(--ncbt-grey);
}
.ncbt-pal-not_visited{background:var(--ncbt-grey);}
.ncbt-pal-not_answered{background:var(--ncbt-red);}
.ncbt-pal-answered{background:var(--ncbt-green);}
.ncbt-pal-marked{background:var(--ncbt-purple);}
.ncbt-pal-answered_marked{background:var(--ncbt-purple);box-shadow:inset 0 0 0 3px var(--ncbt-green);}
.ncbt-pal-active{outline:3px solid var(--ncbt-primary-dark);outline-offset:1px;}

/* ---- Result ---- */
.ncbt-result{max-width:820px;margin:0 auto;}
.ncbt-score-card{background:#fff;border:1px solid var(--ncbt-border);border-radius:10px;padding:24px;text-align:center;margin:18px 0;}
.ncbt-score-big{font-size:36px;font-weight:800;color:var(--ncbt-primary);}
.ncbt-score-big span{font-size:18px;color:#5b6572;font-weight:600;}
.ncbt-score-pct{font-size:16px;color:#5b6572;margin-top:4px;}
.ncbt-text-green{color:var(--ncbt-green);}
.ncbt-text-red{color:var(--ncbt-red);}
.ncbt-review-heading{margin-top:26px;}
.ncbt-review-item{background:#fff;border:1px solid var(--ncbt-border);border-left:4px solid var(--ncbt-grey);border-radius:8px;padding:16px;margin-bottom:12px;}
.ncbt-review-correct{border-left-color:var(--ncbt-green);}
.ncbt-review-wrong{border-left-color:var(--ncbt-red);}
.ncbt-review-skip{border-left-color:var(--ncbt-grey);}
.ncbt-review-q{font-weight:600;margin-bottom:8px;}
.ncbt-review-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:14px;}
.ncbt-review-options li{padding:6px 10px;border-radius:6px;background:var(--ncbt-bg);}
.ncbt-opt-correct{background:rgba(63,185,80,.15)!important;font-weight:600;}
.ncbt-opt-selected-wrong{background:rgba(229,72,77,.15)!important;text-decoration:line-through;}
.ncbt-review-explain{margin-top:8px;font-size:13px;color:#5b6572;}

/* ---- Responsive ---- */
@media (max-width:820px){
	.ncbt-exam-main{flex-direction:column;}
	.ncbt-palette-panel{flex:1 1 auto;border-left:none;border-top:1px solid var(--ncbt-border);}
	.ncbt-palette-grid{grid-template-columns:repeat(8,1fr);}
	.ncbt-exam-header{flex-direction:row;flex-wrap:wrap;gap:10px;}
}
@media (max-width:480px){
	.ncbt-palette-grid{grid-template-columns:repeat(6,1fr);}
	.ncbt-actions{flex-direction:column;}
	.ncbt-actions .ncbt-btn{width:100%;}
}

/* ---- v2 additions ---- */
.ncbt-cat-tag{align-self:flex-start;background:#e8f0fb;color:var(--ncbt-primary);font-size:12px;font-weight:600;padding:3px 10px;border-radius:14px;}
.ncbt-result-status{display:inline-block;margin-top:10px;padding:6px 16px;border-radius:20px;font-weight:700;}
.ncbt-result-status.is-pass{background:rgba(63,185,80,.15);color:#1a7431;}
.ncbt-result-status.is-fail{background:rgba(229,72,77,.15);color:#b32d2e;}
.ncbt-result-msg{margin:10px 0 0;color:#5b6572;}
