/* RajExamVibe */
.rev-tests-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}
.rev-card,.rev-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.rev-card h3{margin-top:0}.rev-meta{margin:12px 0;color:#555}
.rev-btn{display:inline-block;background:#168cf0;color:#fff!important;padding:10px 18px;border-radius:6px;text-decoration:none;border:0;cursor:pointer}
.rev-btn-outline{background:#fff;color:#168cf0!important;border:1px solid #168cf0}
.rev-cbt{background:#f6f7f9;padding:15px;border-radius:10px}
.rev-cbt-top{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:15px;border-radius:8px;margin-bottom:15px}
#rev-timer{font-weight:700;font-size:22px}
.rev-cbt-layout{display:grid;grid-template-columns:1fr 300px;gap:15px}
.rev-question-area,.rev-palette{background:#fff;border-radius:8px;padding:20px}
.rev-question-text{font-size:20px;margin:15px 0;line-height:1.6}
.rev-option{display:block;border:1px solid #ddd;padding:13px;margin:10px 0;border-radius:7px;cursor:pointer}
.rev-option:hover{background:#f4f8ff}
.rev-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}
.rev-nav button{padding:9px 13px;border:1px solid #ccc;background:#fff;border-radius:6px;cursor:pointer}
.rev-nav .rev-submit{background:#d63638;color:#fff;border-color:#d63638}
.rev-palette h3{margin-top:0}
.rev-palette-btn{width:42px;height:42px;margin:4px;border:1px solid #ccc;background:#f1f3f5;border-radius:5px;cursor:pointer}
.rev-palette-btn.rev-answered{background:#24a148;color:#fff;border-color:#24a148}
.rev-palette-btn.rev-review{background:#8a3ffc;color:#fff;border-color:#8a3ffc}
.rev-palette-btn.rev-current{outline:3px solid #168cf0}
.rev-legend{margin-top:15px;font-size:13px;display:grid;gap:6px}
@media(max-width:900px){.rev-tests-grid{grid-template-columns:1fr 1fr}.rev-cbt-layout{grid-template-columns:1fr}.rev-palette{order:-1}}
@media(max-width:600px){.rev-tests-grid{grid-template-columns:1fr}.rev-question-text{font-size:17px}}

/* v0.1.1 Mock Test Card Design */
.rev-tests-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:24px;max-width:1200px}
.rev-card{position:relative;overflow:hidden;padding:24px;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 8px 24px rgba(15,23,42,.08);transition:transform .2s ease,box-shadow .2s ease}
.rev-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#168cf0,#4f46e5)}
.rev-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.13)}
.rev-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.rev-badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eaf4ff;color:#168cf0;font-size:11px;font-weight:700;letter-spacing:.6px}
.rev-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #dcfce7}
.rev-card h3{font-size:22px;line-height:1.3;margin:0 0 10px;color:#111827}
.rev-card-desc{min-height:52px;margin:0 0 18px;color:#5b6472;font-size:14px;line-height:1.6}
.rev-card-info{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.rev-card-info span{padding:8px 10px;border-radius:8px;background:#f1f5f9;color:#374151;font-size:13px}
.rev-card-info strong{font-weight:600}
.rev-start-btn{width:100%;box-sizing:border-box;text-align:center;padding:12px 16px;border-radius:9px;font-weight:600}
.rev-start-btn span{float:right;font-size:18px;line-height:14px}
@media(max-width:1000px){.rev-tests-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:600px){.rev-tests-grid{grid-template-columns:1fr}}

/* v0.1.2 Results and admin-friendly UI */
.rev-result{max-width:1100px;margin:20px auto}
.rev-result-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.rev-result-hero h2{margin:8px 0}.rev-rank-big{font-size:42px;font-weight:800;color:#168cf0;text-align:center}.rev-rank-big small{display:block;font-size:13px;color:#64748b}
.rev-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.rev-result-stats>div{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;text-align:center}
.rev-result-stats strong{display:block;font-size:25px}.rev-result-stats span{color:#64748b;font-size:13px}
.rev-result-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin:18px 0}
.rev-leaderboard{overflow:auto}.rev-leaderboard table{width:100%;border-collapse:collapse}.rev-leaderboard th,.rev-leaderboard td{padding:11px;border-bottom:1px solid #eee;text-align:left}.rev-my-rank{font-weight:700;background:#eff6ff}
.rev-answer-review{border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin:12px 0}.rev-answer-review h4{margin-top:0}
.rev-explanation{background:#f8fafc;border-left:4px solid #168cf0;padding:12px;border-radius:6px}
@media(max-width:700px){.rev-result-stats{grid-template-columns:repeat(2,1fr)}.rev-result-hero{align-items:flex-start}.rev-rank-big{font-size:32px}}

/* v0.1.3 Question Bank category-first upload */
.rev-category-launch{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px;margin:18px 0;max-width:1100px;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.rev-category-launch h2{margin:0 0 6px}.rev-category-launch p{color:#64748b;margin-top:0}
.rev-category-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-top:18px}
.rev-category-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-decoration:none!important;border:1px solid #e5e7eb;border-radius:12px;padding:17px;background:#f8fbff;transition:.18s}
.rev-category-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.10);border-color:#168cf0}
.rev-category-card strong{font-size:16px;color:#111827}.rev-category-card small{color:#64748b}
.rev-category-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#168cf0;color:#fff;font-size:22px;line-height:1}
@media(max-width:900px){.rev-category-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:650px){.rev-category-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}

/* v0.1.4 Mock Test / Question Bank workflow */
.rev-exam-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin:12px 0 16px;max-width:1000px}
.rev-toolbar-note{color:#64748b;font-size:13px}
.rev-exam-category-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.rev-exam-cat-pill{display:inline-block;padding:7px 11px;border:1px solid #dbe3ec;border-radius:999px;text-decoration:none;background:#f8fbff;color:#1d4ed8}
.rev-exam-cat-pill span{font-weight:700}
.rev-picker-category-heading{position:sticky;top:0;background:#eef6ff;border-bottom:1px solid #cbd5e1;padding:9px;margin-top:5px;color:#1e3a8a}

/* v0.1.5 Mock Test manual question category filter */
.rev-manual-q-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:15px;margin:12px 0}
.rev-question-category-filter{min-width:260px;padding:8px 10px}
.rev-selected-count{font-weight:700;color:#168cf0;padding-bottom:8px}
.rev-admin-question-picker{max-height:380px;overflow:auto;border:1px solid #dbe2ea;padding:8px;background:#fff;border-radius:10px}
.rev-manual-question-row{display:block;padding:10px 8px;border-bottom:1px solid #edf0f3;cursor:pointer;line-height:1.5}
.rev-manual-question-row:hover{background:#f8fbff}
.rev-manual-question-row input{margin-right:7px}
.rev-q-category{color:#64748b;font-size:12px;font-weight:600}
.rev-no-questions{text-align:center;padding:25px;color:#64748b}

/* v0.1.7 Manual Question Selection - admin */
.rev-manual-q-toolbar{display:flex!important;align-items:flex-end!important;gap:12px!important;flex-wrap:wrap!important;background:#f8fafc!important;border:1px solid #dfe5ec!important;border-radius:10px!important;padding:14px!important;margin:12px 0!important}
.rev-question-category-filter{min-width:260px!important;height:40px!important;padding:6px 10px!important}
.rev-manual-q-toolbar .button{height:40px!important;line-height:26px!important}
.rev-selected-count{font-weight:700!important;color:#168cf0!important;padding:10px 0!important}
.rev-admin-question-picker{max-height:420px!important;overflow-y:auto!important;overflow-x:hidden!important;border:1px solid #d9e0e7!important;padding:0!important;background:#fff!important;border-radius:8px!important}
.rev-manual-question-row{display:flex!important;align-items:flex-start!important;gap:8px!important;width:100%!important;box-sizing:border-box!important;padding:11px 13px!important;border-bottom:1px solid #edf0f3!important;cursor:pointer!important;line-height:1.5!important;background:#fff!important}
.rev-manual-question-row:hover{background:#f6faff!important}
.rev-manual-question-row input{flex:0 0 auto!important;margin:3px 0 0 0!important}
.rev-manual-question-row strong{flex:0 0 auto!important;white-space:nowrap!important}
.rev-manual-question-row .rev-q-category{flex:0 0 auto!important;white-space:nowrap!important;color:#64748b!important;font-size:12px!important;font-weight:600!important}

/* v0.1.8 Separate category question selection */
.rev-category-select-launch{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px;margin:14px 0;max-width:760px}
.rev-category-select-launch select{min-width:360px;height:44px;padding:7px 12px;font-size:15px}
.rev-selected-summary{display:inline-block;background:#eff6ff;color:#1d4ed8;padding:10px 14px;border-radius:8px;margin:6px 0 14px}
.rev-select-questions-page{max-width:1200px}
.rev-select-questions-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin:12px 0 18px}
.rev-select-questions-head h2{margin:8px 0 4px;font-size:25px}
.rev-select-actions{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border:1px solid #dfe5ec;padding:13px 16px;border-radius:10px;margin-bottom:14px}
#rev-category-selected-count{font-weight:700;color:#168cf0}
.rev-large-question-list{display:flex;flex-direction:column;gap:14px}
.rev-large-question-card{display:flex;gap:14px;background:#fff;border:1px solid #dfe4ea;border-radius:12px;padding:18px;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.rev-large-question-card:hover{border-color:#93c5fd;box-shadow:0 7px 18px rgba(15,23,42,.08)}
.rev-large-question-card.is-selected{border-color:#168cf0;background:#f8fbff;box-shadow:0 0 0 2px rgba(22,140,240,.10)}
.rev-large-question-check{padding-top:3px}
.rev-large-question-check input{width:20px;height:20px}
.rev-large-question-content{flex:1;min-width:0}
.rev-large-question-number{font-size:13px;font-weight:700;color:#64748b;margin-bottom:7px}
.rev-large-question-text{font-size:18px;line-height:1.65;color:#111827;margin-bottom:12px}
.rev-large-options{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}
.rev-large-options span{display:block;background:#f8fafc;border:1px solid #edf0f3;border-radius:8px;padding:9px 11px;font-size:15px;line-height:1.5}
.rev-select-footer{margin:18px 0 30px}
@media(max-width:800px){.rev-select-questions-head{flex-direction:column;align-items:flex-start}.rev-large-options{grid-template-columns:1fr}.rev-category-select-launch select{min-width:100%;max-width:100%}}

/* v0.1.9 login/register entry */
.rev-login-gate{max-width:560px;margin:50px auto;padding:20px}
.rev-login-gate-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:35px;text-align:center;box-shadow:0 12px 35px rgba(15,23,42,.08)}
.rev-login-gate-card h2{margin:8px 0;font-size:28px}
.rev-login-gate-card p{color:#64748b;margin-bottom:25px}
.rev-login-gate-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.rev-login-btn,.rev-register-btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none!important;font-weight:600}
.rev-login-btn{background:#168cf0;color:#fff!important}
.rev-register-btn{border:1px solid #168cf0;color:#168cf0!important;background:#fff}

/* v0.1.14 — full-screen CBT layout */
body.rev-standalone-body{margin:0!important;padding:0!important;background:#eef2f7!important;overflow:hidden}
.rev-standalone-body .rev-cbt{position:fixed;inset:0;z-index:999999;width:100vw;height:100dvh;min-height:100vh;box-sizing:border-box;border-radius:0!important;padding:0!important;background:#eef2f7!important;overflow:hidden;display:flex;flex-direction:column}
.rev-cbt-top{flex:0 0 auto;min-height:68px;box-sizing:border-box;padding:12px 18px!important;border-radius:0!important;margin:0!important;border-bottom:1px solid #dbe2ea!important;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.rev-cbt-title{display:flex;align-items:center;gap:14px;min-width:0}.rev-cbt-title strong{font-size:20px}.rev-cbt-user{font-size:13px;color:#64748b}
.rev-cbt-tools{display:flex;align-items:center;gap:10px}.rev-timer-label{font-size:12px;color:#64748b}.rev-tool-btn{padding:8px 12px!important;border:1px solid #cbd5e1!important;background:#fff!important;border-radius:7px!important;cursor:pointer}
.rev-cbt-layout{flex:1 1 auto;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:0!important;overflow:hidden!important}
.rev-question-area{border-radius:0!important;padding:28px 34px!important;overflow:auto!important;background:#fff!important}
.rev-question{max-width:1000px;margin:0 auto}.rev-question h3{font-size:18px;margin-top:0;border-bottom:1px solid #e5e7eb;padding-bottom:12px}
.rev-question-text{font-size:21px!important;line-height:1.7!important;margin:22px 0!important}
.rev-option{font-size:17px!important;padding:15px!important;border:1px solid #dbe2ea!important;background:#fff!important}
.rev-option:has(input:checked){border-color:#168cf0!important;background:#eff6ff!important}
.rev-nav{position:sticky;bottom:0;background:#fff;padding:14px 0 0!important;margin-top:25px!important;border-top:1px solid #e5e7eb;z-index:5}
.rev-nav button{padding:11px 16px!important}.rev-nav .rev-save-next{background:#168cf0!important;color:#fff!important;border-color:#168cf0!important}.rev-nav .rev-clear-answer{color:#b45309!important;border-color:#f59e0b!important;background:#fffbeb!important}
.rev-palette{border-radius:0!important;padding:22px!important;overflow:auto!important;border-left:1px solid #dbe2ea;background:#f8fafc!important}
.rev-palette h3{font-size:19px}.rev-palette-count{font-size:13px;color:#64748b;margin-bottom:12px}
.rev-palette-btn{width:44px!important;height:44px!important;margin:4px!important;border-radius:7px!important;background:#fff!important}
.rev-palette-btn.rev-answered{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important}
.rev-palette-btn.rev-review{background:#7c3aed!important;color:#fff!important;border-color:#7c3aed!important}
.rev-palette-btn.rev-current{outline:3px solid #168cf0!important;outline-offset:1px}
.rev-palette-btn.rev-answered.rev-review{background:#7c3aed!important}
.rev-legend{display:grid!important;gap:9px!important;margin-top:20px!important;color:#475569}
.rev-legend span{display:flex;align-items:center;gap:8px}.rev-status-dot{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid #cbd5e1}.rev-dot-answered{background:#16a34a;border-color:#16a34a}.rev-dot-unanswered{background:#fff}.rev-dot-review{background:#7c3aed;border-color:#7c3aed}.rev-dot-current{background:#fff;outline:2px solid #168cf0;outline-offset:1px}
@media(max-width:900px){
 .rev-cbt-layout{grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;overflow:auto!important}
 .rev-palette{order:-1;max-height:145px;border-left:0;border-bottom:1px solid #dbe2ea;padding:10px 14px!important}
 .rev-palette h3{display:inline-block;margin:0 12px 6px 0}.rev-palette-count{display:inline-block;margin:0}
 .rev-palette-buttons{display:block}
 .rev-legend{display:none!important}
 .rev-question-area{padding:20px 16px!important}
 .rev-question-text{font-size:18px!important}
 .rev-option{font-size:16px!important}
 .rev-cbt-top{min-height:60px!important;padding:8px 12px!important}
 .rev-cbt-title strong{font-size:16px}.rev-cbt-user{display:none}
 .rev-timer-label{display:none}.rev-tool-btn{font-size:12px;padding:7px 9px!important}
}
@media(max-width:600px){
 .rev-nav{gap:6px!important}.rev-nav button{font-size:13px!important;padding:10px 11px!important}
 .rev-nav form{width:100%}.rev-nav .rev-submit{width:100%}
}

/* v0.1.18 — polished instructions, auth and true viewport CBT */
.rev-instruction-page{max-width:1120px;margin:28px auto;padding:0 18px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}
.rev-instruction-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px;border-radius:24px;background:linear-gradient(135deg,#0f6fe8,#4f46e5);color:#fff;box-shadow:0 18px 45px rgba(37,99,235,.20)}
.rev-instruction-hero h1{margin:10px 0 7px;font-size:34px;line-height:1.15;color:#fff}
.rev-instruction-hero p{margin:0;color:rgba(255,255,255,.88);font-size:16px}
.rev-instruction-icon{font-size:64px;width:100px;height:100px;border-radius:24px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.rev-instruction-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.rev-instruction-stats>div{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:18px;text-align:center;box-shadow:0 8px 25px rgba(15,23,42,.05)}
.rev-instruction-stats strong{display:block;font-size:26px;color:#1769e0}
.rev-instruction-stats span{display:block;color:#64748b;font-size:13px;margin-top:4px}
.rev-instruction-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
.rev-instruction-card{background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:24px;box-shadow:0 8px 25px rgba(15,23,42,.05)}
.rev-instruction-card h2{margin:0 0 16px;font-size:20px}
.rev-rich-text,.rev-instruction-card ul{color:#526071;line-height:1.75}
.rev-instruction-card li{margin:7px 0}
.rev-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rev-feature-list span{background:#f5f8ff;border:1px solid #e5ebf7;border-radius:10px;padding:11px;font-size:14px}
.rev-start-panel{margin-top:18px;background:#fff;border:1px solid #dfe6f1;border-radius:18px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 30px rgba(15,23,42,.07)}
.rev-start-panel strong{font-size:20px}.rev-start-panel p{margin:4px 0 0;color:#64748b}
.rev-auth-actions{display:flex;gap:10px;flex-wrap:wrap}
.rev-btn-primary{background:#168cf0!important;color:#fff!important;border-color:#168cf0!important}
.rev-big-start{min-width:210px;font-size:18px!important;padding:14px 24px!important}
.rev-badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;font-weight:800;letter-spacing:.05em}
.rev-instruction-page .rev-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;border-radius:10px;padding:12px 20px;font-weight:700;border:1px solid #168cf0}
body.rev-standalone-body{margin:0;background:#f5f7fb}
body.rev-standalone-body .rev-cbt{margin:0!important;max-width:none!important;width:100vw;min-height:100vh;border-radius:0!important;box-shadow:none!important}
.rev-cbt{position:relative;width:100%;min-height:100vh;background:#f6f8fc;overflow:hidden}
.rev-cbt-top{height:74px;background:#fff;border-bottom:1px solid #dfe5ee;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-sizing:border-box;position:sticky;top:0;z-index:10}
.rev-cbt-title{display:flex;align-items:center;gap:20px;font-size:20px}.rev-cbt-user{font-size:14px;color:#64748b}
.rev-cbt-tools{display:flex;align-items:center;gap:10px}.rev-timer-label{font-size:13px;color:#64748b}.rev-cbt-tools #rev-timer{font-size:25px;font-weight:800;letter-spacing:.04em;color:#111827}
.rev-cbt-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100vh - 74px)}
.rev-question-area{padding:30px 38px 120px;box-sizing:border-box;min-width:0}
.rev-question{max-width:none;background:#fff;border:1px solid #e1e7ef;border-radius:16px;padding:28px;box-shadow:0 8px 25px rgba(15,23,42,.05)}
.rev-question h3{margin:0 0 18px;font-size:22px}.rev-question-text{font-size:20px;line-height:1.7;margin-bottom:20px}
.rev-option{display:flex!important;align-items:flex-start;gap:10px;background:#fff;border:1px solid #dce3ec;border-radius:11px;padding:15px 16px!important;margin:10px 0!important;font-size:17px;cursor:pointer}
.rev-option:hover{border-color:#7aaaf5;background:#f7fbff}.rev-option input{margin-top:5px}
.rev-nav{position:fixed;bottom:0;left:0;right:340px;background:#fff;border-top:1px solid #dfe5ee;padding:14px 24px;display:flex;gap:10px;z-index:11}
.rev-nav button{border-radius:9px;padding:11px 17px;border:1px solid #cfd7e3;background:#fff;font-weight:700;cursor:pointer}
.rev-nav .rev-save-next{background:#168cf0;color:#fff;border-color:#168cf0}.rev-nav .rev-submit{background:#dc2626;color:#fff;border-color:#dc2626}
.rev-palette{background:#fff;border-left:1px solid #dfe5ee;padding:26px;box-sizing:border-box}
.rev-palette h3{margin-top:0;font-size:21px}.rev-palette-count{color:#64748b;margin-bottom:18px}
#rev-palette-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.rev-palette-btn{height:44px;border:1px solid #cfd7e3;border-radius:9px;background:#fff;cursor:pointer;font-weight:700}
.rev-palette-btn.rev-answered{background:#16a34a!important;color:#fff;border-color:#16a34a}.rev-palette-btn.rev-review{background:#7c3aed!important;color:#fff;border-color:#7c3aed}.rev-palette-btn.rev-current{outline:3px solid #168cf0;outline-offset:1px}
.rev-legend{display:flex;flex-direction:column;gap:11px;margin-top:24px;color:#64748b;font-size:14px}.rev-legend span{display:flex;align-items:center;gap:9px}.rev-status-dot{width:15px;height:15px;border-radius:4px;display:inline-block;border:1px solid #cbd5e1}.rev-dot-answered{background:#16a34a;border-color:#16a34a}.rev-dot-review{background:#7c3aed;border-color:#7c3aed}.rev-dot-current{background:#fff;outline:2px solid #168cf0}.rev-dot-unanswered{background:#fff}
@media(max-width:900px){
 .rev-instruction-grid{grid-template-columns:1fr}.rev-start-panel{flex-direction:column;align-items:stretch}
 .rev-cbt-top{padding:0 14px;height:64px}.rev-cbt-layout{display:flex;flex-direction:column;min-height:calc(100vh - 64px)}
 .rev-question-area{padding:14px 12px 190px}.rev-question{padding:18px}.rev-question-text{font-size:18px}
 .rev-palette{order:-1;border-left:0;border-bottom:1px solid #dfe5ee;padding:12px 14px}.rev-palette h3{display:inline-block;margin:0 10px 8px 0}
 #rev-palette-buttons{grid-template-columns:repeat(6,1fr)}.rev-legend{display:none}
 .rev-nav{right:0;flex-wrap:wrap;padding:10px}.rev-nav button{flex:1;min-width:110px}
}
@media(max-width:600px){
 .rev-instruction-page{margin:12px auto;padding:0 10px}.rev-instruction-hero{padding:22px;border-radius:18px}.rev-instruction-hero h1{font-size:27px}.rev-instruction-icon{width:68px;height:68px;font-size:38px}
 .rev-instruction-stats{gap:8px}.rev-instruction-stats>div{padding:12px 6px}.rev-instruction-stats strong{font-size:20px}
 .rev-feature-list{grid-template-columns:1fr}.rev-auth-actions{flex-direction:column}.rev-auth-actions .rev-btn{width:100%}
 .rev-cbt-title{font-size:17px}.rev-cbt-user{display:none}.rev-cbt-tools{gap:5px}.rev-timer-label{display:none}.rev-cbt-tools #rev-timer{font-size:21px}
 #rev-palette-buttons{grid-template-columns:repeat(6,1fr);gap:6px}.rev-palette-btn{height:38px}
 .rev-nav button{min-width:0;font-size:13px;padding:10px 8px}.rev-option{font-size:16px!important}
}

/* v0.1.19 CBT reliability + full viewport */
html:has(.rev-standalone-body), body.rev-standalone-body {
    margin: 0 !important;
    padding: 0 !important;
}
body.rev-standalone-body {
    min-height: 100vh !important;
    background: #f6f7f9 !important;
}
body.rev-standalone-body .rev-cbt {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}
body.rev-standalone-body .rev-cbt-top {
    border-radius: 0 !important;
    margin: 0 !important;
}
body.rev-standalone-body .rev-nav button,
body.rev-standalone-body .rev-palette-btn,
body.rev-standalone-body .rev-option {
    pointer-events: auto !important;
}
.rev-nav button:disabled {
    opacity: .55;
    cursor: not-allowed;
}
#rev-timer {
    min-width: 72px;
    display: inline-block;
    text-align: center;
    font-variant-numeric: tabular-nums;
}


/* v0.1.21 — keep CBT controls close to the question; no oversized empty gap */
body.rev-standalone-body .rev-question-area {
    padding-bottom: 24px !important;
}
body.rev-standalone-body .rev-nav {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    bottom: 0 !important;
    width: auto !important;
    margin-top: 18px !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.08) !important;
}
@media(max-width:900px){
    body.rev-standalone-body .rev-question-area { padding-bottom: 20px !important; }
    body.rev-standalone-body .rev-nav { margin-top: 14px !important; }
}


/* v0.1.22 — balanced question-to-controls spacing */
body.rev-standalone-body .rev-question-area {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 28px 34px 28px !important;
}
body.rev-standalone-body .rev-question {
    margin: 0 !important;
    padding: 28px !important;
}
body.rev-standalone-body .rev-nav {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe5ee !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
@media(max-width:900px){
    body.rev-standalone-body .rev-question-area {
        padding: 18px 14px 24px !important;
    }
    body.rev-standalone-body .rev-question {
        padding: 20px !important;
    }
    body.rev-standalone-body .rev-nav {
        margin-top: 18px !important;
        padding-top: 10px !important;
    }
}


/* v0.1.23 — compact CBT spacing and result leaderboard */
body.rev-standalone-body .rev-question-area { padding: 22px 34px 24px !important; }
body.rev-standalone-body .rev-question { padding: 24px !important; }
body.rev-standalone-body .rev-question h3 { margin-bottom: 14px !important; }
body.rev-standalone-body .rev-question-text { margin-bottom: 16px !important; }
body.rev-standalone-body .rev-nav { margin-top: 14px !important; padding-top: 10px !important; }
.rev-my-rank { background: #eef6ff !important; font-weight: 700; }
@media(max-width:900px){ body.rev-standalone-body .rev-question-area { padding: 14px 12px 20px !important; } body.rev-standalone-body .rev-question { padding: 18px !important; } body.rev-standalone-body .rev-nav { margin-top: 12px !important; } }


/* v0.1.24 — compact, balanced Exam Instructions spacing */
.rev-instruction-page{
    max-width:1120px!important;
    margin:18px auto!important;
    padding:0 16px!important;
}
.rev-instruction-hero{
    gap:20px!important;
    padding:24px 28px!important;
    border-radius:20px!important;
}
.rev-instruction-hero h1{
    margin:7px 0 5px!important;
    font-size:32px!important;
}
.rev-instruction-icon{
    width:82px!important;
    height:82px!important;
    border-radius:20px!important;
    font-size:52px!important;
}
.rev-instruction-stats{
    gap:12px!important;
    margin:12px 0!important;
}
.rev-instruction-stats>div{
    padding:14px!important;
    border-radius:14px!important;
}
.rev-instruction-stats strong{
    font-size:24px!important;
}
.rev-instruction-grid{
    gap:14px!important;
}
.rev-instruction-card{
    padding:19px!important;
    border-radius:16px!important;
}
.rev-instruction-card h2{
    margin:0 0 10px!important;
    font-size:19px!important;
}
.rev-rich-text,.rev-instruction-card ul{
    line-height:1.55!important;
}
.rev-instruction-card li{
    margin:4px 0!important;
}
.rev-feature-list{
    gap:8px!important;
}
.rev-feature-list span{
    padding:9px 10px!important;
}
.rev-start-panel{
    margin-top:12px!important;
    padding:16px 20px!important;
    border-radius:16px!important;
}
@media(max-width:800px){
    .rev-instruction-page{margin:12px auto!important;padding:0 12px!important}
    .rev-instruction-hero{padding:20px!important}
    .rev-instruction-grid{gap:12px!important}
}

/* v0.1.26 — student logout */
.rev-user-bar{
    width:100%;
    max-width:1120px;
    margin:0 auto 14px;
    padding:10px 14px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid #e4e8f0;
    border-radius:10px;
    background:#fff;
    box-shadow:0 3px 12px rgba(0,0,0,.05);
    font-size:14px;
}
.rev-logout-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:8px;
    text-decoration:none !important;
    background:#dc3545;
    color:#fff !important;
    font-weight:600;
}
.rev-logout-btn:hover{
    background:#bb2d3b;
    color:#fff !important;
}
@media(max-width:600px){
    .rev-user-bar{align-items:stretch;flex-direction:column}
    .rev-logout-btn{width:100%}
}

/* v0.1.27 logout button in CBT header */
.rev-cbt-tools .rev-logout-btn{margin-left:14px;padding:7px 12px;font-size:13px;border-radius:7px;display:inline-flex;align-items:center;}
@media(max-width:700px){.rev-cbt-tools .rev-logout-btn{margin-left:8px;padding:6px 9px;font-size:12px;}}

/* v0.1.29 — Logout belongs on the pre-exam instructions screen, not during CBT */
.rev-ready-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rev-ready-logout{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:700px){.rev-ready-actions{width:100%;}.rev-ready-actions form,.rev-ready-actions .rev-ready-logout{width:100%;}.rev-ready-actions .rev-ready-logout{box-sizing:border-box;}}


/* v0.1.35 — mobile-safe exam instructions; Test Features removed */
html, body { max-width:100%; }
body.rev-standalone-body.rev-exam-ready {
    margin:0 !important;
    padding:0 !important;
    min-height:100vh !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:#f5f7fb !important;
}
body.rev-standalone-body.rev-exam-ready .rev-cbt {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:100vh !important;
    overflow:visible !important;
    display:block !important;
    background:#f5f7fb !important;
}
body.rev-standalone-body.rev-exam-ready .rev-instruction-page {
    width:100% !important;
    max-width:1120px !important;
    box-sizing:border-box !important;
    margin:0 auto !important;
    padding:20px !important;
}
body.rev-standalone-body.rev-exam-ready .rev-instruction-grid {
    grid-template-columns:1fr !important;
}
body.rev-standalone-body.rev-exam-ready .rev-instruction-card {
    width:100% !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body.rev-exam-ready .rev-start-panel {
    margin-bottom:20px !important;
}
body.rev-standalone-body.rev-exam-ready .rev-feature-list {
    display:none !important;
}

@media (max-width:700px) {
    body.rev-standalone-body.rev-exam-ready .rev-instruction-page {
        padding:12px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-hero {
        padding:20px !important;
        border-radius:18px !important;
        gap:12px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-hero h1 {
        font-size:25px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-icon {
        width:58px !important;
        height:58px !important;
        font-size:32px !important;
        flex:0 0 58px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-stats {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:8px !important;
        margin:12px 0 !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-stats>div {
        padding:13px 5px !important;
        min-width:0 !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-stats strong {
        font-size:21px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-stats span {
        font-size:12px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-card {
        padding:17px !important;
        border-radius:15px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-instruction-card h2 {
        font-size:18px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-start-panel {
        padding:17px !important;
        border-radius:15px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-start-panel p {
        font-size:14px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions,
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions form,
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions .rev-ready-logout {
        width:100% !important;
    }
}


/* v1.0.2 — responsive CBT + complete result answer review */
html, body { max-width:100%; box-sizing:border-box; }
html { overflow-x:hidden; }
body.rev-standalone-body { width:100%; overflow-x:hidden !important; }
body.rev-standalone-body .rev-cbt {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
body.rev-standalone-body .rev-cbt-layout {
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0,1fr) minmax(280px,330px) !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-question-area,
body.rev-standalone-body .rev-palette {
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-question {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere;
}
body.rev-standalone-body .rev-question-text,
body.rev-standalone-body .rev-option {
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:normal;
}
body.rev-standalone-body .rev-option {
    box-sizing:border-box !important;
}
body.rev-standalone-body #rev-palette-buttons {
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
}
body.rev-standalone-body .rev-palette-btn {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    color:#1f2937 !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-palette-btn.rev-answered,
body.rev-standalone-body .rev-palette-btn.rev-review {
    color:#fff !important;
}
body.rev-standalone-body .rev-nav {
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:100% !important;
}
body.rev-standalone-body .rev-nav form { margin:0 !important; }

/* Result page: show question, all four options, answer status and explanation. */
.rev-result {
    width:100%;
    max-width:1100px;
    box-sizing:border-box;
    padding:0 10px;
    overflow-wrap:anywhere;
}
.rev-answer-review {
    width:100%;
    box-sizing:border-box;
    overflow:hidden;
}
.rev-review-question {
    font-size:20px;
    line-height:1.7;
    margin:8px 0 18px;
    overflow-wrap:anywhere;
}
.rev-review-options {
    display:grid;
    gap:10px;
    margin:0 0 16px;
}
.rev-review-option {
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:10px;
    width:100%;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid #dbe2ea;
    border-radius:10px;
    background:#fff;
    color:#172033;
    line-height:1.55;
    overflow-wrap:anywhere;
}
.rev-review-option-letter {
    flex:0 0 30px;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#f1f5f9;
    font-weight:800;
}
.rev-review-option-text { flex:1 1 auto; min-width:0; }
.rev-review-option-tag {
    flex:0 0 auto;
    margin-left:auto;
    padding:4px 7px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
}
.rev-review-correct {
    border-color:#86efac;
    background:#f0fdf4;
}
.rev-review-correct .rev-review-option-letter {
    background:#16a34a;
    color:#fff;
}
.rev-review-selected { border-color:#60a5fa; background:#eff6ff; }
.rev-review-selected .rev-review-option-letter { background:#168cf0; color:#fff; }
.rev-review-wrong { border-color:#fca5a5; background:#fef2f2; }
.rev-review-wrong .rev-review-option-letter { background:#dc2626; color:#fff; }
.rev-tag-correct { background:#dcfce7; color:#166534; }
.rev-tag-selected-correct { background:#dbeafe; color:#1d4ed8; }
.rev-tag-wrong { background:#fee2e2; color:#991b1b; }
.rev-review-summary {
    display:flex;
    flex-wrap:wrap;
    gap:10px 22px;
    padding:12px 0;
    margin-bottom:14px;
    border-top:1px solid #eef2f7;
    border-bottom:1px solid #eef2f7;
}
.rev-explanation { box-sizing:border-box; overflow-wrap:anywhere; }
.rev-explanation-content > :first-child { margin-top:0; }
.rev-explanation-content > :last-child { margin-bottom:0; }

@media (max-width:1100px) and (min-width:901px) {
    body.rev-standalone-body .rev-cbt-layout {
        grid-template-columns:minmax(0,1fr) 300px !important;
    }
    body.rev-standalone-body .rev-palette { padding:18px !important; }
    body.rev-standalone-body #rev-palette-buttons { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
    body.rev-standalone-body .rev-nav { right:300px !important; }
}

@media (max-width:900px) {
    body.rev-standalone-body .rev-cbt { overflow-y:auto !important; }
    body.rev-standalone-body .rev-cbt-layout {
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        min-height:0 !important;
        overflow:visible !important;
    }
    body.rev-standalone-body .rev-palette {
        order:-1;
        width:100% !important;
        max-height:none !important;
        overflow:visible !important;
        padding:12px 14px !important;
        border-left:0 !important;
        border-bottom:1px solid #dbe2ea !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:6px !important;
    }
    body.rev-standalone-body .rev-question-area {
        width:100% !important;
        padding:14px 12px 150px !important;
        overflow:visible !important;
    }
    body.rev-standalone-body .rev-nav {
        position:sticky !important;
        left:auto !important;
        right:auto !important;
        bottom:0 !important;
        width:100% !important;
        margin:12px 0 0 !important;
        padding:10px !important;
        background:#fff !important;
        border-top:1px solid #dfe5ee !important;
        flex-wrap:wrap !important;
    }
    body.rev-standalone-body .rev-nav > button {
        flex:1 1 calc(50% - 6px) !important;
        min-width:0 !important;
    }
    body.rev-standalone-body .rev-nav form {
        width:100% !important;
        flex:0 0 100% !important;
    }
    body.rev-standalone-body .rev-nav form .rev-submit {
        width:100% !important;
    }
    .rev-review-question { font-size:18px; }
}

@media (max-width:600px) {
    body.rev-standalone-body .rev-cbt-top {
        width:100% !important;
        min-width:0 !important;
        height:auto !important;
        min-height:60px !important;
        padding:9px 12px !important;
    }
    body.rev-standalone-body .rev-cbt-title { min-width:0; gap:8px; }
    body.rev-standalone-body .rev-cbt-title strong { font-size:16px; }
    body.rev-standalone-body .rev-cbt-tools { min-width:0; }
    body.rev-standalone-body .rev-cbt-tools #rev-timer { font-size:20px; min-width:auto; }
    body.rev-standalone-body #rev-palette-buttons { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
    body.rev-standalone-body .rev-palette-btn { height:40px !important; }
    body.rev-standalone-body .rev-question { padding:16px !important; border-radius:12px !important; }
    body.rev-standalone-body .rev-question h3 { font-size:19px !important; }
    body.rev-standalone-body .rev-question-text { font-size:17px !important; line-height:1.6 !important; }
    body.rev-standalone-body .rev-option { font-size:15px !important; padding:13px !important; }
    body.rev-standalone-body .rev-nav > button { font-size:13px !important; padding:10px 7px !important; }
    .rev-result { padding:0 6px; }
    .rev-result-section { padding:14px !important; }
    .rev-answer-review { padding:13px !important; }
    .rev-review-option { flex-wrap:wrap; padding:11px; }
    .rev-review-option-tag { margin-left:40px; }
    .rev-review-question { font-size:17px; line-height:1.6; }
    .rev-review-summary { display:grid; gap:7px; }
}


/* v1.0.3 — final responsive polish for CBT + result tables */
body.rev-standalone-body .rev-cbt-layout {
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:0 !important;
}
body.rev-standalone-body .rev-palette {
    overflow:hidden !important;
}
body.rev-standalone-body #rev-palette-buttons {
    grid-template-columns:repeat(5,minmax(44px,1fr)) !important;
    gap:8px !important;
}
body.rev-standalone-body .rev-palette-btn {
    height:44px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:15px !important;
    line-height:1 !important;
    color:#1f2937 !important;
}
body.rev-standalone-body .rev-palette-btn.rev-answered,
body.rev-standalone-body .rev-palette-btn.rev-review {
    color:#fff !important;
}
body.rev-standalone-body .rev-nav button,
body.rev-standalone-body .rev-nav .rev-submit {
    color:#1f2937 !important;
    background:#fff !important;
    border-color:#cfd7e3 !important;
    white-space:nowrap !important;
}
body.rev-standalone-body .rev-nav .rev-clear-answer { color:#b45309 !important; border-color:#f59e0b !important; background:#fffaf0 !important; }
body.rev-standalone-body .rev-nav .rev-save-next { color:#fff !important; background:#168cf0 !important; border-color:#168cf0 !important; }
body.rev-standalone-body .rev-nav .rev-submit { color:#fff !important; background:#dc2626 !important; border-color:#dc2626 !important; }
body.rev-standalone-body .rev-nav button:disabled { color:#64748b !important; }

.rev-result { max-width:1100px !important; width:100% !important; box-sizing:border-box !important; }
.rev-result-section { min-width:0 !important; overflow:hidden !important; }
.rev-leaderboard { width:100% !important; overflow:visible !important; }
.rev-leaderboard table { width:100% !important; table-layout:fixed !important; }
.rev-leaderboard th,.rev-leaderboard td { overflow-wrap:anywhere !important; word-break:normal !important; }
.rev-review-options { width:100% !important; }
.rev-review-option { min-width:0 !important; }
.rev-review-option-text { overflow-wrap:anywhere !important; min-width:0 !important; }

@media (max-width:900px) {
    body.rev-standalone-body .rev-cbt-layout { display:flex !important; flex-direction:column !important; }
    body.rev-standalone-body .rev-palette { width:100% !important; padding:12px 14px !important; }
    body.rev-standalone-body #rev-palette-buttons { grid-template-columns:repeat(6,minmax(42px,1fr)) !important; gap:7px !important; }
    body.rev-standalone-body .rev-palette-btn { height:42px !important; }
    body.rev-standalone-body .rev-nav { position:relative !important; bottom:auto !important; left:auto !important; right:auto !important; margin-top:12px !important; padding:10px !important; }
}

@media (max-width:600px) {
    body.rev-standalone-body .rev-cbt-top { padding:9px 12px !important; }
    body.rev-standalone-body #rev-palette-buttons { grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:7px !important; }
    body.rev-standalone-body .rev-palette-btn { height:42px !important; font-size:14px !important; }
    body.rev-standalone-body .rev-question-area { padding:12px 10px 24px !important; }
    body.rev-standalone-body .rev-question { padding:16px !important; }
    body.rev-standalone-body .rev-option { font-size:16px !important; line-height:1.5 !important; padding:13px 12px !important; }
    body.rev-standalone-body .rev-nav { display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
    body.rev-standalone-body .rev-nav > button { width:100% !important; min-width:0 !important; margin:0 !important; color:#1f2937 !important; }
    body.rev-standalone-body .rev-nav .rev-save-next { color:#fff !important; }
    body.rev-standalone-body .rev-nav form { width:100% !important; grid-column:1 / -1 !important; }
    body.rev-standalone-body .rev-nav form .rev-submit { width:100% !important; color:#fff !important; }

    .rev-result { padding:0 8px !important; }
    .rev-result-hero { flex-direction:column !important; padding:18px !important; }
    .rev-result-stats { gap:8px !important; }
    .rev-result-stats>div { padding:14px 8px !important; }
    .rev-result-section { padding:14px !important; border-radius:12px !important; }

    /* Previous attempts become readable cards instead of a cramped table. */
    .rev-attempt-history .rev-leaderboard table,
    .rev-attempt-history .rev-leaderboard tbody,
    .rev-attempt-history .rev-leaderboard tr,
    .rev-attempt-history .rev-leaderboard td { display:block !important; width:100% !important; box-sizing:border-box !important; }
    .rev-attempt-history .rev-leaderboard thead { display:none !important; }
    .rev-attempt-history .rev-leaderboard tr { margin:0 0 12px !important; padding:8px 12px !important; border:1px solid #dbe2ea !important; border-radius:10px !important; background:#fff !important; }
    .rev-attempt-history .rev-leaderboard tr:last-child { margin-bottom:0 !important; }
    .rev-attempt-history .rev-leaderboard td { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:12px !important; padding:8px 0 !important; border-bottom:1px solid #eef2f7 !important; text-align:right !important; }
    .rev-attempt-history .rev-leaderboard td:last-child { border-bottom:0 !important; }
    .rev-attempt-history .rev-leaderboard td::before { content:attr(data-label); flex:0 0 88px; text-align:left; font-weight:700; color:#475569; }
    .rev-attempt-history .rev-leaderboard td > * { min-width:0; }

    /* Leaderboard stays compact and readable on phones. */
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard table,
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard tbody,
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard tr,
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard td { display:block !important; width:100% !important; box-sizing:border-box !important; }
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard thead { display:none !important; }
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard tr { display:grid !important; grid-template-columns:70px minmax(0,1fr) 80px !important; gap:8px; align-items:center; padding:10px 8px !important; border-bottom:1px solid #eef2f7 !important; }
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard td { padding:4px !important; border:0 !important; text-align:left !important; }
    .rev-result-section:not(.rev-attempt-history) .rev-leaderboard td::before { display:none !important; }

    .rev-answer-review { padding:12px !important; }
    .rev-review-question { font-size:17px !important; line-height:1.65 !important; }
    .rev-review-option { display:grid !important; grid-template-columns:32px minmax(0,1fr) !important; gap:9px !important; align-items:start !important; }
    .rev-review-option-tag { grid-column:2 !important; margin:0 !important; justify-self:start !important; }
}


/* v1.0.4 — definitive desktop/mobile layout fix */
/* CBT navigation labels must always remain visible. */
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav form .rev-submit {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    font-family:inherit !important;
    font-size:15px !important;
    line-height:1.25 !important;
    text-indent:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-transform:none !important;
}
body.rev-standalone-body .rev-nav > button#rev-prev,
body.rev-standalone-body .rev-nav > button#rev-review {
    color:#1f2937 !important;
    background:#fff !important;
}
body.rev-standalone-body .rev-nav > button#rev-clear {
    color:#b45309 !important;
    background:#fffbeb !important;
    border-color:#f59e0b !important;
}

/* Palette: never allow buttons to touch/overlap each other. */
body.rev-standalone-body #rev-palette-buttons {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    padding:2px !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-palette-btn {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    height:44px !important;
    box-sizing:border-box !important;
    position:relative !important;
    z-index:1 !important;
}
body.rev-standalone-body .rev-palette-btn.rev-current { z-index:2 !important; }

/* Previous Attempts: use a clean, independent table on desktop. */
.rev-attempt-history .rev-history-table {
    width:100% !important;
    overflow-x:auto !important;
}
.rev-attempt-history .rev-history-table table {
    width:100% !important;
    min-width:680px !important;
    table-layout:auto !important;
    border-collapse:collapse !important;
}
.rev-attempt-history .rev-history-table th,
.rev-attempt-history .rev-history-table td {
    padding:12px 14px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    vertical-align:middle !important;
    text-align:left !important;
}
.rev-attempt-history .rev-history-table th:nth-child(1),
.rev-attempt-history .rev-history-table td:nth-child(1) { width:90px !important; }
.rev-attempt-history .rev-history-table th:nth-child(2),
.rev-attempt-history .rev-history-table td:nth-child(2) { width:240px !important; }
.rev-attempt-history .rev-history-table th:nth-child(3),
.rev-attempt-history .rev-history-table td:nth-child(3) { width:110px !important; }
.rev-attempt-history .rev-history-table th:nth-child(4),
.rev-attempt-history .rev-history-table td:nth-child(4),
.rev-attempt-history .rev-history-table th:nth-child(5),
.rev-attempt-history .rev-history-table td:nth-child(5) { width:100px !important; }
.rev-attempt-history .rev-history-table th:nth-child(6),
.rev-attempt-history .rev-history-table td:nth-child(6) { width:150px !important; }

/* Answer review: never squeeze the question/options into narrow columns. */
.rev-answer-review {
    overflow:visible !important;
}
.rev-review-question,
.rev-review-option-text,
.rev-explanation-content {
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}
.rev-review-option {
    min-height:48px !important;
    align-items:flex-start !important;
}

@media (max-width:900px) {
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height:42px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav form .rev-submit {
        font-size:14px !important;
        min-height:44px !important;
    }
}

@media (max-width:600px) {
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height:42px !important;
        font-size:14px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav form .rev-submit {
        font-size:14px !important;
        min-height:48px !important;
    }

    /* Previous attempts are cards on mobile — no squeezed table. */
    .rev-attempt-history .rev-history-table {
        overflow:visible !important;
    }
    .rev-attempt-history .rev-history-table table,
    .rev-attempt-history .rev-history-table tbody,
    .rev-attempt-history .rev-history-table tr,
    .rev-attempt-history .rev-history-table td {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }
    .rev-attempt-history .rev-history-table thead {
        display:none !important;
    }
    .rev-attempt-history .rev-history-table tr {
        margin:0 0 12px !important;
        padding:8px 12px !important;
        border:1px solid #dbe2ea !important;
        border-radius:12px !important;
        background:#fff !important;
    }
    .rev-attempt-history .rev-history-table td {
        display:grid !important;
        grid-template-columns:100px minmax(0,1fr) !important;
        gap:10px !important;
        align-items:start !important;
        padding:9px 0 !important;
        border-bottom:1px solid #eef2f7 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
    .rev-attempt-history .rev-history-table td:last-child {
        border-bottom:0 !important;
    }
    .rev-attempt-history .rev-history-table td::before {
        content:attr(data-label) !important;
        font-weight:700 !important;
        color:#475569 !important;
    }
}

/* v1.0.5 — navigation labels forced visible in every theme/browser */
body.rev-standalone-body .rev-nav button.rev-nav-label,
body.rev-standalone-body .rev-nav button.rev-nav-label span,
body.rev-standalone-body .rev-nav form button.rev-nav-label,
body.rev-standalone-body .rev-nav form button.rev-nav-label span {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    text-indent:0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:center !important;
}
body.rev-standalone-body .rev-nav button#rev-prev,
body.rev-standalone-body .rev-nav button#rev-prev span,
body.rev-standalone-body .rev-nav button#rev-review,
body.rev-standalone-body .rev-nav button#rev-review span {
    color:#1f2937 !important;
}
body.rev-standalone-body .rev-nav button#rev-prev:disabled,
body.rev-standalone-body .rev-nav button#rev-prev:disabled span {
    color:#64748b !important;
    opacity:1 !important;
}
body.rev-standalone-body .rev-nav button#rev-clear span { color:#b45309 !important; }
body.rev-standalone-body .rev-nav button#rev-next span { color:#fff !important; }
body.rev-standalone-body .rev-nav form button.rev-submit span { color:#fff !important; }
body.rev-standalone-body .rev-nav button#rev-prev,
body.rev-standalone-body .rev-nav button#rev-clear,
body.rev-standalone-body .rev-nav button#rev-review,
body.rev-standalone-body .rev-nav button#rev-next {
    min-height:44px !important;
    min-width:120px !important;
    padding:10px 14px !important;
    box-sizing:border-box !important;
}
@media (max-width:600px) {
    body.rev-standalone-body .rev-nav button.rev-nav-label,
    body.rev-standalone-body .rev-nav button.rev-nav-label span,
    body.rev-standalone-body .rev-nav form button.rev-nav-label,
    body.rev-standalone-body .rev-nav form button.rev-nav-label span {
        font-size:14px !important;
        min-height:48px !important;
    }
    body.rev-standalone-body .rev-nav button#rev-prev,
    body.rev-standalone-body .rev-nav button#rev-clear,
    body.rev-standalone-body .rev-nav button#rev-review,
    body.rev-standalone-body .rev-nav button#rev-next {
        min-width:0 !important;
        width:100% !important;
    }
}


/* v1.0.6 — mobile navigation labels: render a guaranteed visible label */
@media (max-width:600px) {
    body.rev-standalone-body .rev-nav {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        align-items:stretch !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev,
    body.rev-standalone-body .rev-nav > button#rev-review {
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:52px !important;
        height:auto !important;
        padding:12px 8px !important;
        overflow:visible !important;
        visibility:visible !important;
        opacity:1 !important;
        text-indent:-9999px !important;
        font-size:0 !important;
        line-height:1 !important;
        white-space:normal !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev::after,
    body.rev-standalone-body .rev-nav > button#rev-review::after {
        content:attr(data-label) !important;
        position:absolute !important;
        inset:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:8px !important;
        box-sizing:border-box !important;
        text-indent:0 !important;
        font-family:Arial,Helvetica,sans-serif !important;
        font-size:14px !important;
        font-weight:700 !important;
        line-height:1.25 !important;
        white-space:normal !important;
        overflow:visible !important;
        visibility:visible !important;
        opacity:1 !important;
        color:#1f2937 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev:disabled::after {
        color:#64748b !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-clear,
    body.rev-standalone-body .rev-nav > button#rev-next {
        min-height:52px !important;
        height:auto !important;
        padding:12px 8px !important;
        white-space:normal !important;
    }
    body.rev-standalone-body .rev-nav form button.rev-submit {
        min-height:52px !important;
    }
}


/* v1.0.7 — result page mobile: readable Previous Attempts cards */
@media screen and (max-width: 768px) {
    .rev-result .rev-attempt-history {
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }
    .rev-result .rev-attempt-history .rev-history-table {
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }
    .rev-result .rev-attempt-history .rev-history-table table {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        table-layout:auto !important;
        border:0 !important;
        box-sizing:border-box !important;
    }
    .rev-result .rev-attempt-history .rev-history-table thead,
    .rev-result .rev-attempt-history .rev-history-table tbody {
        display:block !important;
        width:100% !important;
    }
    .rev-result .rev-attempt-history .rev-history-table thead {
        display:none !important;
    }
    .rev-result .rev-attempt-history .rev-history-table tr {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin:0 0 14px !important;
        padding:10px 14px !important;
        box-sizing:border-box !important;
        border:1px solid #d7dee8 !important;
        border-radius:12px !important;
        background:#fff !important;
        overflow:hidden !important;
    }
    .rev-result .rev-attempt-history .rev-history-table tr:last-child {
        margin-bottom:0 !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td {
        display:grid !important;
        grid-template-columns:92px minmax(0,1fr) !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        padding:9px 0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
        border:0 !important;
        border-bottom:1px solid #edf1f5 !important;
        text-align:left !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:anywhere !important;
        vertical-align:middle !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td:last-child {
        border-bottom:0 !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td::before {
        content:attr(data-label) !important;
        display:block !important;
        width:auto !important;
        font-weight:700 !important;
        color:#475569 !important;
        white-space:nowrap !important;
        word-break:normal !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td > * {
        min-width:0 !important;
        max-width:100% !important;
        overflow-wrap:anywhere !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td a {
        display:inline-block !important;
        max-width:100% !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td:nth-child(2) {
        line-height:1.45 !important;
    }
}

/* v1.0.7 — desktop result history remains a normal readable table */
@media screen and (min-width:769px) {
    .rev-result .rev-attempt-history .rev-history-table {
        overflow-x:auto !important;
    }
    .rev-result .rev-attempt-history .rev-history-table table {
        width:100% !important;
        min-width:680px !important;
        table-layout:auto !important;
    }
    .rev-result .rev-attempt-history .rev-history-table th,
    .rev-result .rev-attempt-history .rev-history-table td {
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:anywhere !important;
    }
}

/* v1.0.8 — mobile question palette must show completely */
@media (max-width: 900px) {
    body.rev-standalone-body .rev-cbt-layout {
        display: flex !important;
        flex-direction: column !important;
        overflow: visible !important;
    }
    body.rev-standalone-body .rev-palette {
        order: -1 !important;
        width: 100% !important;
        max-height: none !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        padding: 12px 14px 14px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
        width: 100% !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}
@media (max-width: 600px) {
    body.rev-standalone-body .rev-palette {
        padding: 11px 12px 13px !important;
    }
    body.rev-standalone-body .rev-palette h3 {
        display: inline-block !important;
        margin: 0 8px 8px 0 !important;
        font-size: 18px !important;
    }
    body.rev-standalone-body .rev-palette-count {
        display: inline-block !important;
        margin: 0 0 8px !important;
        font-size: 13px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height: 40px !important;
        font-size: 15px !important;
    }
}


/* v1.0.9 — mobile CBT navigation compact + Submit Test always present */
@media screen and (max-width:600px) {
    body.rev-standalone-body .rev-nav {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        grid-auto-rows:58px !important;
        gap:8px !important;
        padding:10px !important;
        min-height:0 !important;
        height:auto !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > button#rev-prev,
    body.rev-standalone-body .rev-nav > button#rev-clear,
    body.rev-standalone-body .rev-nav > button#rev-review,
    body.rev-standalone-body .rev-nav > button#rev-next {
        width:100% !important;
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
        margin:0 !important;
        padding:8px 6px !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }
    body.rev-standalone-body .rev-nav form#rev-submit-form {
        display:block !important;
        width:100% !important;
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
        grid-column:1 / -1 !important;
        grid-row:auto !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }
    body.rev-standalone-body .rev-nav form#rev-submit-form .rev-submit {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
        margin:0 !important;
        padding:8px 12px !important;
        box-sizing:border-box !important;
        visibility:visible !important;
        opacity:1 !important;
        overflow:visible !important;
        color:#fff !important;
        background:#dc2626 !important;
        border-color:#dc2626 !important;
    }
    body.rev-standalone-body .rev-nav form#rev-submit-form .rev-submit span {
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        color:#fff !important;
        font-size:15px !important;
        font-weight:700 !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }
}


/* v1.1.0 — definitive mobile CBT navigation fix
   Use the real button labels; remove the old pseudo-element workaround. */
@media screen and (max-width:600px) {
    body.rev-standalone-body .rev-nav {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        grid-auto-rows:auto !important;
        gap:10px !important;
        align-items:stretch !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
        padding:10px 0 0 !important;
        box-sizing:border-box !important;
    }
    /* Cancel v1.0.6 pseudo-label hack that could place text outside its button. */
    body.rev-standalone-body .rev-nav > button#rev-prev::after,
    body.rev-standalone-body .rev-nav > button#rev-review::after {
        content:none !important;
        display:none !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev,
    body.rev-standalone-body .rev-nav > button#rev-clear,
    body.rev-standalone-body .rev-nav > button#rev-review,
    body.rev-standalone-body .rev-nav > button#rev-next {
        position:static !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-width:0 !important;
        height:56px !important;
        min-height:56px !important;
        max-height:none !important;
        margin:0 !important;
        padding:8px 6px !important;
        box-sizing:border-box !important;
        overflow:visible !important;
        visibility:visible !important;
        opacity:1 !important;
        text-indent:0 !important;
        font-size:15px !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev span,
    body.rev-standalone-body .rev-nav > button#rev-clear span,
    body.rev-standalone-body .rev-nav > button#rev-review span,
    body.rev-standalone-body .rev-nav > button#rev-next span {
        display:block !important;
        position:static !important;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        visibility:visible !important;
        opacity:1 !important;
        text-indent:0 !important;
        white-space:normal !important;
        overflow:visible !important;
        font-size:15px !important;
        font-weight:700 !important;
        line-height:1.25 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev span { color:#1f2937 !important; }
    body.rev-standalone-body .rev-nav > button#rev-clear span { color:#b45309 !important; }
    body.rev-standalone-body .rev-nav > button#rev-review span { color:#1f2937 !important; }
    body.rev-standalone-body .rev-nav > button#rev-next span { color:#fff !important; }

    body.rev-standalone-body .rev-nav > form#rev-submit-form {
        display:block !important;
        grid-column:1 / -1 !important;
        width:100% !important;
        height:56px !important;
        min-height:56px !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }
    body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:56px !important;
        min-height:56px !important;
        max-height:none !important;
        margin:0 !important;
        padding:8px 12px !important;
        box-sizing:border-box !important;
        visibility:visible !important;
        opacity:1 !important;
        overflow:visible !important;
        text-indent:0 !important;
    }
    body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit span {
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        color:#fff !important;
        text-indent:0 !important;
        white-space:nowrap !important;
        font-size:15px !important;
        font-weight:700 !important;
        line-height:1.2 !important;
    }
}

/* ================================================================
   RajExamVibe CBT v1.2.0 — FINAL RESPONSIVE UI
   This block intentionally overrides older incremental CBT patches.
   ================================================================ */

/* ---------- Exam shell ---------- */
body.rev-standalone-body {
    margin: 0 !important;
    padding: 0 !important;
    background: #f6f8fc !important;
    overflow-x: hidden !important;
}
body.rev-standalone-body .rev-cbt {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
body.rev-standalone-body .rev-cbt-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    align-items: start !important;
    min-height: 0 !important;
}
body.rev-standalone-body .rev-question-area {
    min-width: 0 !important;
    width: 100% !important;
    padding: 24px 28px 28px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-question {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 26px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-question-text {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
body.rev-standalone-body .rev-option {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* ---------- Question palette ---------- */
body.rev-standalone-body .rev-palette {
    position: sticky !important;
    top: 74px !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    border-left: 1px solid #dfe5ee !important;
}
body.rev-standalone-body #rev-palette-buttons {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-palette-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    line-height: 1 !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-palette-btn.rev-current {
    outline: 3px solid #168cf0 !important;
    outline-offset: 1px !important;
    position: relative !important;
    z-index: 1 !important;
}
body.rev-standalone-body .rev-palette-btn.rev-answered {
    background: #16a34a !important;
    color: #fff !important;
    border-color: #16a34a !important;
}
body.rev-standalone-body .rev-palette-btn.rev-review {
    background: #7c3aed !important;
    color: #fff !important;
    border-color: #7c3aed !important;
}
body.rev-standalone-body .rev-palette-btn.rev-answered.rev-review {
    background: #7c3aed !important;
    color: #fff !important;
}

/* ---------- Navigation: never fixed, never overlapping ---------- */
body.rev-standalone-body .rev-nav {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 18px 0 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe5ee !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav > form,
body.rev-standalone-body .rev-nav > form > button {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    text-indent: 0 !important;
    white-space: normal !important;
    line-height: 1.2 !important;
}
body.rev-standalone-body .rev-nav > button span,
body.rev-standalone-body .rev-nav > form > button span {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 1.2 !important;
}
body.rev-standalone-body .rev-nav > button#rev-prev,
body.rev-standalone-body .rev-nav > button#rev-clear,
body.rev-standalone-body .rev-nav > button#rev-review,
body.rev-standalone-body .rev-nav > button#rev-next {
    font-size: 15px !important;
    font-weight: 700 !important;
}
body.rev-standalone-body .rev-nav > form#rev-submit-form {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}
body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit span {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* ---------- Result page: readable tables/cards ---------- */
.rev-result {
    width: min(1100px, calc(100% - 32px)) !important;
    max-width: 1100px !important;
    margin: 20px auto !important;
    box-sizing: border-box !important;
}
.rev-result-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.rev-attempt-history .rev-history-table,
.rev-leaderboard {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}
.rev-attempt-history table,
.rev-leaderboard table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
}
.rev-attempt-history th,
.rev-attempt-history td,
.rev-leaderboard th,
.rev-leaderboard td {
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
.rev-answer-review {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.rev-review-question,
.rev-review-option-text {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
.rev-review-options {
    width: 100% !important;
}
.rev-review-option {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: start !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
    body.rev-standalone-body .rev-cbt-top {
        height: 64px !important;
        padding: 0 14px !important;
    }
    body.rev-standalone-body .rev-cbt-layout {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
    }
    body.rev-standalone-body .rev-palette {
        position: relative !important;
        top: auto !important;
        order: -1 !important;
        width: 100% !important;
        padding: 14px !important;
        border-left: 0 !important;
        border-bottom: 1px solid #dfe5ee !important;
    }
    body.rev-standalone-body .rev-question-area {
        padding: 16px 14px 24px !important;
    }
}

/* ---------- Phone ---------- */
@media (max-width: 600px) {
    body.rev-standalone-body .rev-cbt-top {
        height: 58px !important;
        padding: 0 12px !important;
    }
    body.rev-standalone-body .rev-cbt-title {
        font-size: 17px !important;
        gap: 0 !important;
    }
    body.rev-standalone-body .rev-cbt-user,
    body.rev-standalone-body .rev-timer-label {
        display: none !important;
    }
    body.rev-standalone-body .rev-cbt-tools #rev-timer {
        min-width: 64px !important;
        font-size: 21px !important;
    }
    body.rev-standalone-body .rev-palette {
        padding: 14px 12px 16px !important;
    }
    body.rev-standalone-body .rev-palette h3 {
        display: inline-block !important;
        margin: 0 8px 10px 0 !important;
        font-size: 21px !important;
    }
    body.rev-standalone-body .rev-palette-count {
        display: inline-block !important;
        margin: 0 0 10px !important;
        font-size: 14px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height: 44px !important;
        min-height: 44px !important;
        font-size: 15px !important;
        border-radius: 8px !important;
    }
    body.rev-standalone-body .rev-question-area {
        padding: 14px 12px 22px !important;
    }
    body.rev-standalone-body .rev-question {
        padding: 18px !important;
        border-radius: 15px !important;
    }
    body.rev-standalone-body .rev-question h3 {
        font-size: 21px !important;
        margin-bottom: 14px !important;
    }
    body.rev-standalone-body .rev-question-text {
        font-size: 18px !important;
        line-height: 1.65 !important;
        margin-bottom: 16px !important;
    }
    body.rev-standalone-body .rev-option {
        min-height: 58px !important;
        padding: 14px 12px !important;
        margin: 9px 0 !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        gap: 9px !important;
    }
    body.rev-standalone-body .rev-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin-top: 16px !important;
        padding-top: 12px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > form#rev-submit-form,
    body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit {
        height: 56px !important;
        min-height: 56px !important;
    }
    body.rev-standalone-body .rev-nav > button {
        padding: 8px 8px !important;
        font-size: 14px !important;
    }
    body.rev-standalone-body .rev-nav > button span,
    body.rev-standalone-body .rev-nav > form#rev-submit-form > button.rev-submit span {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    /* Result page */
    .rev-result {
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
    }
    .rev-result-hero {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        padding: 18px !important;
    }
    .rev-rank-big {
        font-size: 30px !important;
        text-align: left !important;
    }
    .rev-result-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .rev-result-stats > div {
        padding: 14px 8px !important;
    }
    .rev-result-section {
        padding: 14px !important;
        margin: 12px 0 !important;
        border-radius: 12px !important;
    }

    /* Previous attempts become clean mobile cards instead of squeezed columns. */
    .rev-attempt-history .rev-history-table {
        overflow: visible !important;
    }
    .rev-attempt-history .rev-history-table table,
    .rev-attempt-history .rev-history-table thead,
    .rev-attempt-history .rev-history-table tbody,
    .rev-attempt-history .rev-history-table tr,
    .rev-attempt-history .rev-history-table th,
    .rev-attempt-history .rev-history-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .rev-attempt-history .rev-history-table thead {
        display: none !important;
    }
    .rev-attempt-history .rev-history-table tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
        margin: 0 0 12px !important;
        padding: 10px !important;
        border: 1px solid #dfe5ee !important;
        border-radius: 10px !important;
        background: #fff !important;
    }
    .rev-attempt-history .rev-history-table tr.rev-my-rank {
        background: #eef6ff !important;
    }
    .rev-attempt-history .rev-history-table td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 7px 6px !important;
        border: 0 !important;
        text-align: right !important;
        overflow-wrap: anywhere !important;
    }
    .rev-attempt-history .rev-history-table td::before {
        content: attr(data-label) !important;
        flex: 0 0 auto !important;
        margin-right: 8px !important;
        font-weight: 700 !important;
        color: #475569 !important;
        text-align: left !important;
    }
    .rev-attempt-history .rev-history-table td > * {
        min-width: 0 !important;
    }
    .rev-attempt-history .rev-history-table td a {
        color: #0672d8 !important;
        font-weight: 700 !important;
        overflow-wrap: anywhere !important;
    }

    /* Leaderboard stays readable on phone. */
    .rev-leaderboard {
        overflow: visible !important;
    }
    .rev-leaderboard table,
    .rev-leaderboard thead,
    .rev-leaderboard tbody,
    .rev-leaderboard tr,
    .rev-leaderboard th,
    .rev-leaderboard td {
        box-sizing: border-box !important;
    }
    .rev-leaderboard table {
        table-layout: auto !important;
    }
    .rev-leaderboard th,
    .rev-leaderboard td {
        padding: 9px 7px !important;
        font-size: 14px !important;
        overflow-wrap: anywhere !important;
    }

    /* Answer review: full question + all four options + explanation. */
    .rev-answer-review {
        padding: 13px !important;
        margin: 12px 0 !important;
    }
    .rev-review-question {
        font-size: 18px !important;
        line-height: 1.6 !important;
        margin-bottom: 12px !important;
    }
    .rev-review-option {
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 11px !important;
        margin: 8px 0 !important;
        font-size: 15px !important;
    }
    .rev-review-option-text {
        min-width: 0 !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
    .rev-review-option-tag {
        grid-column: 2 !important;
        justify-self: start !important;
        margin-top: 2px !important;
    }
}

/* =====================================================================
   RajExamVibe CBT — Laravel-inspired responsive layout (v1.3.0)
   This block intentionally overrides older responsive patches above.
   ===================================================================== */

body.rev-standalone-body,
html {
    max-width: 100%;
    overflow-x: hidden;
}

body.rev-standalone-body .rev-cbt {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #f4f6f9 !important;
    color: #172033 !important;
    box-sizing: border-box !important;
}

body.rev-standalone-body .rev-cbt * {
    box-sizing: border-box;
}

body.rev-standalone-body .rev-cbt-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 0 28px !important;
    background: #fff !important;
    border-bottom: 1px solid #dfe5ee !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

body.rev-standalone-body .rev-cbt-title {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    overflow: hidden !important;
}

body.rev-standalone-body .rev-cbt-title strong {
    display: block !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.rev-standalone-body .rev-cbt-user {
    color: #64748b !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

body.rev-standalone-body .rev-cbt-tools {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.rev-standalone-body .rev-timer-label {
    color: #64748b !important;
    font-size: 13px !important;
}

body.rev-standalone-body #rev-timer {
    display: inline-block !important;
    min-width: 78px !important;
    padding: 5px 8px !important;
    text-align: center !important;
    color: #172033 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
}

body.rev-standalone-body #rev-timer.warning {
    color: #dc2626 !important;
}

body.rev-standalone-body .rev-cbt-layout {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 24px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 310px !important;
    align-items: start !important;
    gap: 22px !important;
    min-height: 0 !important;
}

body.rev-standalone-body .rev-question-area {
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

body.rev-standalone-body .rev-question {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px !important;
    background: #fff !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 20px rgba(15,23,42,.06) !important;
    overflow: visible !important;
}

body.rev-standalone-body .rev-question h3 {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #e5e7eb !important;
    color: #172033 !important;
    font-size: 23px !important;
    line-height: 1.25 !important;
}

body.rev-standalone-body .rev-question-text {
    width: 100% !important;
    margin: 0 0 22px !important;
    color: #334155 !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

body.rev-standalone-body .rev-option {
    width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 !important;
    padding: 15px 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    border: 2px solid #e1e7ef !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #172033 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    cursor: pointer !important;
}

body.rev-standalone-body .rev-option:hover {
    border-color: #168cf0 !important;
    background: #f7fbff !important;
}

body.rev-standalone-body .rev-option input[type="radio"] {
    flex: 0 0 auto !important;
    width: 17px !important;
    height: 17px !important;
    margin: 4px 2px 0 0 !important;
}

body.rev-standalone-body .rev-nav {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe5ee !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
    overflow: visible !important;
    z-index: 5 !important;
}

body.rev-standalone-body .rev-nav form {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav form > button,
body.rev-standalone-body .rev-nav button.rev-nav-label {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cfd7e3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #172033 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

body.rev-standalone-body .rev-nav button span {
    display: block !important;
    max-width: 100% !important;
    font: inherit !important;
    line-height: inherit !important;
    white-space: normal !important;
    text-indent: 0 !important;
}

/* Remove all older mobile pseudo-labels that caused duplicate/overlapping text. */
body.rev-standalone-body .rev-nav #rev-prev::after,
body.rev-standalone-body .rev-nav #rev-review::after {
    content: none !important;
    display: none !important;
}

body.rev-standalone-body .rev-nav #rev-clear {
    color: #b45309 !important;
    background: #fffbeb !important;
    border-color: #f59e0b !important;
}

body.rev-standalone-body .rev-nav #rev-next {
    color: #fff !important;
    background: #168cf0 !important;
    border-color: #168cf0 !important;
}

body.rev-standalone-body .rev-nav .rev-submit {
    color: #fff !important;
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

body.rev-standalone-body .rev-nav button:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}

body.rev-standalone-body .rev-palette {
    position: sticky !important;
    top: 94px !important;
    align-self: start !important;
    min-width: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 118px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 20px !important;
    background: #fff !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 20px rgba(15,23,42,.06) !important;
}

body.rev-standalone-body .rev-palette h3 {
    display: block !important;
    margin: 0 0 5px !important;
    color: #172033 !important;
    font-size: 21px !important;
    line-height: 1.3 !important;
}

body.rev-standalone-body .rev-palette-count {
    display: block !important;
    margin: 0 0 16px !important;
    color: #64748b !important;
    font-size: 13px !important;
}

body.rev-standalone-body #rev-palette-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 2px !important;
}

body.rev-standalone-body .rev-palette-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cfd7e3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1 !important;
}

body.rev-standalone-body .rev-palette-btn.rev-current {
    outline: 3px solid #168cf0 !important;
    outline-offset: 1px !important;
    z-index: 2 !important;
}

body.rev-standalone-body .rev-palette-btn.rev-answered {
    background: #16a34a !important;
    color: #fff !important;
    border-color: #16a34a !important;
}

body.rev-standalone-body .rev-palette-btn.rev-review,
body.rev-standalone-body .rev-palette-btn.rev-answered.rev-review {
    background: #7c3aed !important;
    color: #fff !important;
    border-color: #7c3aed !important;
}

body.rev-standalone-body .rev-legend {
    display: grid !important;
    gap: 10px !important;
    margin-top: 20px !important;
    color: #64748b !important;
    font-size: 13px !important;
}

body.rev-standalone-body .rev-legend span {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.rev-standalone-body .rev-status-dot {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    border-radius: 4px !important;
    display: inline-block !important;
}

/* =========================== RESULT PAGE ============================ */
.rev-result {
    width: min(1100px, calc(100% - 32px)) !important;
    max-width: 1100px !important;
    margin: 24px auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.rev-result-section {
    min-width: 0 !important;
    overflow: visible !important;
}

.rev-result .rev-attempt-history,
.rev-result .rev-leaderboard,
.rev-result .rev-answer-review {
    min-width: 0 !important;
    max-width: 100% !important;
}

.rev-attempt-history .rev-history-table {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.rev-attempt-history .rev-history-table table {
    width: 100% !important;
    min-width: 680px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.rev-attempt-history .rev-history-table th,
.rev-attempt-history .rev-history-table td {
    padding: 12px 10px !important;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.rev-attempt-history .rev-history-table th:nth-child(1),
.rev-attempt-history .rev-history-table td:nth-child(1) { width: 12% !important; }
.rev-attempt-history .rev-history-table th:nth-child(2),
.rev-attempt-history .rev-history-table td:nth-child(2) { width: 35% !important; }
.rev-attempt-history .rev-history-table th:nth-child(3),
.rev-attempt-history .rev-history-table td:nth-child(3) { width: 15% !important; }
.rev-attempt-history .rev-history-table th:nth-child(4),
.rev-attempt-history .rev-history-table td:nth-child(4) { width: 12% !important; }
.rev-attempt-history .rev-history-table th:nth-child(5),
.rev-attempt-history .rev-history-table td:nth-child(5) { width: 12% !important; }
.rev-attempt-history .rev-history-table th:nth-child(6),
.rev-attempt-history .rev-history-table td:nth-child(6) { width: 14% !important; }

.rev-review-question,
.rev-review-option-text,
.rev-explanation-content {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.rev-review-options {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.rev-review-option {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    overflow: visible !important;
}

.rev-review-option-text {
    min-width: 0 !important;
}

.rev-review-option-tag {
    grid-column: 2 !important;
    justify-self: start !important;
    margin: 0 !important;
}

@media (max-width: 1000px) {
    body.rev-standalone-body .rev-cbt-layout {
        grid-template-columns: minmax(0, 1fr) 280px !important;
        gap: 16px !important;
        padding: 18px !important;
    }
    body.rev-standalone-body .rev-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    body.rev-standalone-body .rev-nav .rev-submit {
        grid-column: span 3 !important;
    }
}

@media (max-width: 800px) {
    body.rev-standalone-body .rev-cbt-top {
        height: 64px !important;
        min-height: 64px !important;
        padding: 0 14px !important;
    }
    body.rev-standalone-body .rev-cbt-title strong {
        font-size: 17px !important;
    }
    body.rev-standalone-body .rev-cbt-user,
    body.rev-standalone-body .rev-timer-label {
        display: none !important;
    }
    body.rev-standalone-body #rev-timer {
        min-width: 70px !important;
        font-size: 22px !important;
    }
    body.rev-standalone-body .rev-cbt-layout {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 0 !important;
        gap: 0 !important;
    }
    body.rev-standalone-body .rev-palette {
        position: static !important;
        order: -1 !important;
        width: 100% !important;
        max-height: 235px !important;
        overflow-y: auto !important;
        border: 0 !important;
        border-bottom: 1px solid #dfe5ee !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 14px !important;
    }
    body.rev-standalone-body .rev-palette h3 {
        display: inline-block !important;
        margin: 0 10px 4px 0 !important;
        font-size: 20px !important;
    }
    body.rev-standalone-body .rev-palette-count {
        display: inline-block !important;
        margin: 0 0 8px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height: 44px !important;
        min-height: 44px !important;
    }
    body.rev-standalone-body .rev-legend {
        display: none !important;
    }
    body.rev-standalone-body .rev-question-area {
        width: 100% !important;
        padding: 14px !important;
    }
    body.rev-standalone-body .rev-question {
        padding: 20px !important;
        border-radius: 14px !important;
    }
    body.rev-standalone-body .rev-question h3 {
        font-size: 21px !important;
    }
    body.rev-standalone-body .rev-question-text {
        font-size: 19px !important;
        line-height: 1.6 !important;
    }
    body.rev-standalone-body .rev-option {
        padding: 14px !important;
        font-size: 16px !important;
    }
    body.rev-standalone-body .rev-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        margin-top: 16px !important;
        padding-top: 12px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav form > button,
    body.rev-standalone-body .rev-nav button.rev-nav-label {
        min-height: 52px !important;
        font-size: 14px !important;
        padding: 10px 8px !important;
    }
    body.rev-standalone-body .rev-nav .rev-submit {
        grid-column: span 2 !important;
    }

    .rev-result {
        width: calc(100% - 20px) !important;
        margin: 12px auto !important;
    }
    .rev-result-hero {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .rev-result-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .rev-result-section {
        padding: 16px !important;
    }
}

@media (max-width: 550px) {
    body.rev-standalone-body .rev-palette {
        max-height: 225px !important;
        padding: 12px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        gap: 7px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height: 42px !important;
        min-height: 42px !important;
        font-size: 14px !important;
    }
    body.rev-standalone-body .rev-question-area {
        padding: 10px !important;
    }
    body.rev-standalone-body .rev-question {
        padding: 16px !important;
    }
    body.rev-standalone-body .rev-question h3 {
        font-size: 20px !important;
        margin-bottom: 15px !important;
    }
    body.rev-standalone-body .rev-question-text {
        font-size: 18px !important;
    }
    body.rev-standalone-body .rev-option {
        padding: 13px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    /* Previous Attempts = readable cards; no squeezed/vertical letters. */
    .rev-attempt-history .rev-history-table {
        overflow: visible !important;
    }
    .rev-attempt-history .rev-history-table table,
    .rev-attempt-history .rev-history-table tbody,
    .rev-attempt-history .rev-history-table tr,
    .rev-attempt-history .rev-history-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    .rev-attempt-history .rev-history-table thead {
        display: none !important;
    }
    .rev-attempt-history .rev-history-table tr {
        margin: 0 0 12px !important;
        padding: 8px 12px !important;
        border: 1px solid #dbe2ea !important;
        border-radius: 12px !important;
        background: #fff !important;
    }
    .rev-attempt-history .rev-history-table td {
        display: grid !important;
        grid-template-columns: 95px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid #eef2f7 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
    .rev-attempt-history .rev-history-table td:last-child {
        border-bottom: 0 !important;
    }
    .rev-attempt-history .rev-history-table td::before {
        content: attr(data-label) !important;
        display: block !important;
        color: #475569 !important;
        font-weight: 700 !important;
        white-space: normal !important;
    }

    .rev-review-option {
        grid-template-columns: 32px minmax(0, 1fr) !important;
    }
    .rev-review-option-text {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
}

/* =====================================================================
   FINAL RESPONSIVE OVERRIDE — v1.4.0
   Clean Laravel-style CBT layout. This block intentionally comes last.
   ===================================================================== */

html { max-width:100% !important; overflow-x:hidden !important; }
body.rev-standalone-body { max-width:100% !important; overflow-x:hidden !important; margin:0 !important; }
body.rev-standalone-body .rev-cbt,
body.rev-standalone-body .rev-cbt * { box-sizing:border-box !important; }

body.rev-standalone-body .rev-cbt {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#f4f6f9 !important;
    overflow:visible !important;
}

body.rev-standalone-body .rev-cbt-top {
    position:sticky !important;
    top:0 !important;
    z-index:100 !important;
    width:100% !important;
    min-height:70px !important;
    height:70px !important;
    padding:12px 24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    background:#fff !important;
    border-bottom:1px solid #e2e8f0 !important;
}

body.rev-standalone-body .rev-cbt-title { min-width:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
body.rev-standalone-body .rev-cbt-title strong {
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:20px !important;
    line-height:1.25 !important;
}
body.rev-standalone-body .rev-cbt-tools { flex:0 0 auto !important; }

body.rev-standalone-body .rev-cbt-layout {
    width:min(1200px,100%) !important;
    max-width:1200px !important;
    margin:0 auto !important;
    padding:20px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:20px !important;
    align-items:start !important;
}

body.rev-standalone-body .rev-question-area { min-width:0 !important; width:100% !important; padding:0 !important; }
body.rev-standalone-body .rev-question {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:24px !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:14px !important;
    box-shadow:0 4px 20px rgba(0,0,0,.06) !important;
}
body.rev-standalone-body .rev-question-text {
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}
body.rev-standalone-body .rev-option {
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    flex-wrap:nowrap !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}
body.rev-standalone-body .rev-option input[type="radio"] { flex:0 0 17px !important; }

/* Palette: never overflow, never overlap, any number of questions. */
body.rev-standalone-body .rev-palette {
    position:sticky !important;
    top:90px !important;
    width:100% !important;
    min-width:0 !important;
    max-height:calc(100vh - 110px) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    padding:18px !important;
}
body.rev-standalone-body #rev-palette-buttons {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
}
body.rev-standalone-body .rev-palette-btn {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
    line-height:1 !important;
}

/* Navigation: real grid items; form is NOT display:contents. */
body.rev-standalone-body .rev-nav {
    width:100% !important;
    margin:20px 0 0 !important;
    padding:14px 0 0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
    position:static !important;
    overflow:visible !important;
}
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav > form {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}
body.rev-standalone-body .rev-nav > form {
    display:block !important;
    padding:0 !important;
}
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav > form > button {
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    text-indent:0 !important;
}
body.rev-standalone-body .rev-nav > button span,
body.rev-standalone-body .rev-nav > form > button span {
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    text-indent:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    font:inherit !important;
    line-height:1.2 !important;
}
body.rev-standalone-body .rev-nav #rev-prev,
body.rev-standalone-body .rev-nav #rev-clear,
body.rev-standalone-body .rev-nav #rev-review,
body.rev-standalone-body .rev-nav #rev-next,
body.rev-standalone-body .rev-nav #rev-submit-form > button { grid-column:auto !important; }
body.rev-standalone-body .rev-nav #rev-submit-form { grid-column:1 / -1 !important; }
body.rev-standalone-body .rev-nav #rev-submit-form > button { min-height:50px !important; }

/* Result review content must wrap, never squeeze into a narrow column. */
.rev-result,
.rev-result-section,
.rev-answer-review,
.rev-review-question,
.rev-review-options,
.rev-review-option { min-width:0 !important; max-width:100% !important; }
.rev-review-question,
.rev-review-option-text,
.rev-explanation-content { overflow-wrap:anywhere !important; word-break:normal !important; white-space:normal !important; }
.rev-review-options { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
.rev-review-option { display:grid !important; grid-template-columns:36px minmax(0,1fr) !important; gap:10px !important; width:100% !important; }
.rev-review-option-tag { grid-column:2 !important; justify-self:start !important; }

/* Mobile */
@media (max-width:800px) {
    body.rev-standalone-body .rev-cbt-top {
        min-height:62px !important;
        height:62px !important;
        padding:10px 12px !important;
        gap:10px !important;
    }
    body.rev-standalone-body .rev-cbt-title strong { font-size:17px !important; }
    body.rev-standalone-body .rev-cbt-user,
    body.rev-standalone-body .rev-timer-label { display:none !important; }
    body.rev-standalone-body #rev-timer { min-width:72px !important; font-size:20px !important; }

    body.rev-standalone-body .rev-cbt-layout {
        width:100% !important;
        max-width:none !important;
        display:flex !important;
        flex-direction:column !important;
        gap:12px !important;
        padding:10px !important;
    }
    body.rev-standalone-body .rev-palette {
        position:static !important;
        order:-1 !important;
        width:100% !important;
        max-height:none !important;
        overflow:visible !important;
        padding:14px !important;
        border-radius:12px !important;
    }
    body.rev-standalone-body .rev-palette h3 { font-size:18px !important; margin:0 0 4px !important; }
    body.rev-standalone-body .rev-palette-count { margin:0 0 12px !important; }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height:40px !important;
        min-height:40px !important;
        font-size:14px !important;
    }
    body.rev-standalone-body .rev-legend { display:none !important; }

    body.rev-standalone-body .rev-question-area { padding:0 !important; }
    body.rev-standalone-body .rev-question { padding:16px !important; border-radius:12px !important; }
    body.rev-standalone-body .rev-question h3 { font-size:19px !important; margin-bottom:14px !important; }
    body.rev-standalone-body .rev-question-text { font-size:17px !important; line-height:1.55 !important; margin-bottom:18px !important; }
    body.rev-standalone-body .rev-option { padding:13px !important; margin:8px 0 !important; font-size:16px !important; line-height:1.5 !important; }

    body.rev-standalone-body .rev-nav {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
        margin-top:14px !important;
        padding-top:12px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > form > button {
        min-height:50px !important;
        height:auto !important;
        padding:10px 6px !important;
        font-size:14px !important;
        line-height:1.2 !important;
    }
    body.rev-standalone-body .rev-nav #rev-submit-form { grid-column:1 / -1 !important; }
    body.rev-standalone-body .rev-nav #rev-submit-form > button { min-height:52px !important; font-size:15px !important; }

    .rev-result { width:calc(100% - 16px) !important; margin:10px auto !important; }
    .rev-result-hero { flex-direction:column !important; align-items:flex-start !important; }
    .rev-result-stats { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
    .rev-result-section { padding:14px !important; }
}

@media (max-width:420px) {
    body.rev-standalone-body .rev-cbt-layout { padding:7px !important; }
    body.rev-standalone-body .rev-palette { padding:11px !important; }
    body.rev-standalone-body #rev-palette-buttons { gap:6px !important; }
    body.rev-standalone-body .rev-palette-btn { height:38px !important; min-height:38px !important; font-size:13px !important; }
    body.rev-standalone-body .rev-question { padding:13px !important; }
    body.rev-standalone-body .rev-option { padding:11px !important; font-size:15px !important; }
    body.rev-standalone-body .rev-nav { gap:7px !important; }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > form > button { font-size:13px !important; padding:9px 5px !important; }
}

/* =========================================================
   RAJEXAMVIBE CBT — CLEAN FINAL RESPONSIVE OVERRIDE v1.5
   Keep the exam controls readable on phones and desktops.
   ========================================================= */
html, body { max-width:100%; overflow-x:hidden !important; }
body.rev-standalone-body .rev-cbt,
body.rev-standalone-body .rev-cbt-layout,
body.rev-standalone-body .rev-question-area,
body.rev-standalone-body .rev-question,
body.rev-standalone-body .rev-palette { box-sizing:border-box !important; min-width:0 !important; max-width:100% !important; }

/* Desktop */
body.rev-standalone-body .rev-cbt-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:0 !important;
    width:100% !important;
    max-width:1400px !important;
    margin:0 auto !important;
    overflow:visible !important;
}
body.rev-standalone-body .rev-question-area {
    width:100% !important;
    padding:24px 28px 34px !important;
    overflow:visible !important;
}
body.rev-standalone-body .rev-palette {
    width:100% !important;
    padding:20px !important;
    position:sticky !important;
    top:0 !important;
    align-self:start !important;
    max-height:calc(100vh - 70px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
}
body.rev-standalone-body .rev-palette h3 {
    display:block !important;
    margin:0 0 4px !important;
    font-size:21px !important;
    line-height:1.25 !important;
}
body.rev-standalone-body .rev-palette-count {
    display:block !important;
    margin:0 0 14px !important;
    font-size:14px !important;
    line-height:1.4 !important;
}
body.rev-standalone-body #rev-palette-buttons {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
}
body.rev-standalone-body .rev-palette-btn {
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    font-size:14px !important;
}

/* Controls: 4 controls in two columns + full-width submit */
body.rev-standalone-body .rev-nav {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    margin:18px 0 0 !important;
    padding:14px 0 24px !important;
    overflow:visible !important;
    position:static !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav > form,
body.rev-standalone-body .rev-nav > form > button {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
body.rev-standalone-body .rev-nav > button,
body.rev-standalone-body .rev-nav > form > button {
    min-height:52px !important;
    height:auto !important;
    padding:11px 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    line-height:1.2 !important;
    font-size:15px !important;
}
body.rev-standalone-body .rev-nav > form { display:block !important; padding:0 !important; }
body.rev-standalone-body .rev-nav > button span,
body.rev-standalone-body .rev-nav > form > button span {
    display:block !important;
    position:static !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    text-indent:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
    font:inherit !important;
    line-height:1.2 !important;
}
body.rev-standalone-body .rev-nav #rev-submit-form {
    grid-column:1 / -1 !important;
    width:100% !important;
}
body.rev-standalone-body .rev-nav #rev-submit-form > button {
    min-height:54px !important;
    font-size:16px !important;
}

@media (max-width:800px) {
    body.rev-standalone-body .rev-cbt-layout {
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        max-width:none !important;
        gap:10px !important;
        padding:8px !important;
    }
    body.rev-standalone-body .rev-palette {
        order:-1 !important;
        position:static !important;
        width:100% !important;
        max-height:none !important;
        overflow:visible !important;
        padding:14px !important;
        border-radius:14px !important;
    }
    body.rev-standalone-body .rev-palette h3 {
        display:inline-block !important;
        vertical-align:baseline !important;
        margin:0 8px 10px 0 !important;
        font-size:20px !important;
    }
    body.rev-standalone-body .rev-palette-count {
        display:inline-block !important;
        margin:0 0 10px !important;
        font-size:15px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        height:42px !important;
        min-height:42px !important;
        font-size:15px !important;
    }
    body.rev-standalone-body .rev-question-area {
        padding:0 !important;
        width:100% !important;
    }
    body.rev-standalone-body .rev-question {
        width:100% !important;
        padding:17px !important;
        margin:0 !important;
        border-radius:14px !important;
    }
    body.rev-standalone-body .rev-question h3 {
        font-size:20px !important;
        line-height:1.25 !important;
        margin:0 0 18px !important;
    }
    body.rev-standalone-body .rev-question-text {
        font-size:18px !important;
        line-height:1.55 !important;
        margin:0 0 18px !important;
        overflow-wrap:anywhere !important;
    }
    body.rev-standalone-body .rev-option {
        width:100% !important;
        min-width:0 !important;
        padding:13px 12px !important;
        margin:8px 0 !important;
        font-size:16px !important;
        line-height:1.45 !important;
        box-sizing:border-box !important;
    }
    body.rev-standalone-body .rev-nav {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:9px !important;
        margin-top:14px !important;
        padding:12px 0 26px !important;
    }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > form > button {
        min-height:56px !important;
        padding:10px 7px !important;
        font-size:15px !important;
    }
    body.rev-standalone-body .rev-nav #rev-submit-form > button {
        min-height:58px !important;
        font-size:16px !important;
    }
}

@media (max-width:480px) {
    body.rev-standalone-body .rev-cbt-layout { padding:7px !important; }
    body.rev-standalone-body .rev-palette { padding:12px !important; }
    body.rev-standalone-body .rev-palette h3 { font-size:19px !important; margin-right:5px !important; }
    body.rev-standalone-body .rev-palette-count { font-size:14px !important; }
    body.rev-standalone-body #rev-palette-buttons { gap:6px !important; }
    body.rev-standalone-body .rev-palette-btn { height:40px !important; min-height:40px !important; font-size:14px !important; }
    body.rev-standalone-body .rev-question { padding:14px !important; }
    body.rev-standalone-body .rev-question-text { font-size:17px !important; }
    body.rev-standalone-body .rev-option { padding:12px 10px !important; font-size:15px !important; }
    body.rev-standalone-body .rev-nav { gap:8px !important; }
    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > form > button { min-height:54px !important; font-size:14px !important; }
    body.rev-standalone-body .rev-nav #rev-submit-form > button { min-height:56px !important; font-size:15px !important; }
}

/* =========================================================
   RAJEXAMVIBE CBT v1.5.4 — MOBILE PALETTE FLOW FIX
   Preserve v1.5.0 desktop layout. Only remove the mobile
   palette height cap that could cause overlap with the question.
   ========================================================= */
@media (max-width:800px) {
    body.rev-standalone-body .rev-palette {
        max-height:none !important;
        overflow:visible !important;
    }
}
@media (max-width:550px) {
    body.rev-standalone-body .rev-palette {
        max-height:none !important;
        overflow:visible !important;
    }
}

/* =========================================================
   v1.5.5 — CBT LAPTOP LAYOUT + MOBILE SAFE BREAKPOINT
   Desktop follows the requested CBT style: question on the
   left, palette/sidebar on the right, submit in sidebar.
   Mobile rules are isolated below 800px.
   ========================================================= */

@media (min-width: 801px) {
    body.rev-standalone-body .rev-cbt-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 300px !important;
        gap: 0 !important;
        min-height: calc(100vh - 74px) !important;
        padding: 0 !important;
    }

    body.rev-standalone-body .rev-question-area {
        min-width: 0 !important;
        padding: 28px 28px 18px !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-question {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 20px 0 0 !important;
        padding: 12px 0 0 !important;
        border-top: 1px solid #dfe5ee !important;
        box-sizing: border-box !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.rev-standalone-body .rev-nav > button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-palette {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-height: calc(100vh - 74px) !important;
        max-height: none !important;
        padding: 22px 20px 18px !important;
        box-sizing: border-box !important;
        border-left: 1px solid #dfe5ee !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    body.rev-standalone-body .rev-palette h3 {
        display: block !important;
        margin: 0 0 6px !important;
        font-size: 21px !important;
    }

    body.rev-standalone-body .rev-palette-count {
        display: block !important;
        margin: 0 0 14px !important;
    }

    body.rev-standalone-body #rev-palette-buttons {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.rev-standalone-body .rev-palette-btn {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-legend {
        margin-top: 20px !important;
    }

    body.rev-standalone-body .rev-palette-submit {
        margin-top: auto !important;
        padding-top: 18px !important;
    }

    body.rev-standalone-body .rev-palette-submit form {
        width: 100% !important;
        margin: 0 !important;
    }

    body.rev-standalone-body .rev-palette-submit .rev-submit {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        border-radius: 7px !important;
        box-sizing: border-box !important;
        font-size: 15px !important;
    }
}

@media (max-width: 800px) {
    body.rev-standalone-body .rev-cbt-layout {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 8px !important;
        gap: 10px !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-palette {
        order: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 12px 14px !important;
        border: 1px solid #dfe5ee !important;
        border-radius: 14px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-palette-submit {
        margin-top: 14px !important;
        padding-top: 0 !important;
    }

    body.rev-standalone-body .rev-palette-submit .rev-submit {
        min-height: 48px !important;
        width: 100% !important;
    }

    body.rev-standalone-body .rev-question-area {
        order: 1 !important;
        width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.rev-standalone-body .rev-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        width: 100% !important;
        margin-top: 14px !important;
        padding: 12px 0 18px !important;
        box-sizing: border-box !important;
    }
}


/* v1.5.6 MOBILE CBT LAYOUT — desktop untouched */
.rev-mobile-palette-toggle{display:none;}
@media(max-width:800px){
 body.rev-standalone-body .rev-cbt{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:#fff!important;border-radius:0!important;overflow:visible!important;}
 body.rev-standalone-body .rev-cbt-top{position:sticky!important;top:0!important;z-index:50!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:60px!important;margin:0!important;padding:9px 12px!important;border-radius:0!important;border-bottom:1px solid #e5e7eb!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;box-sizing:border-box!important;}
 body.rev-standalone-body .rev-cbt-title{min-width:0!important;overflow:hidden!important;}
 body.rev-standalone-body .rev-cbt-title strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:17px!important;}
 body.rev-standalone-body .rev-cbt-user{display:none!important;}
 body.rev-standalone-body .rev-cbt-tools{flex:0 0 auto!important;display:flex!important;align-items:center!important;}
 body.rev-standalone-body .rev-timer-label{display:none!important;}
 body.rev-standalone-body #rev-timer{font-size:20px!important;font-weight:800!important;white-space:nowrap!important;}
 body.rev-standalone-body .rev-cbt-layout{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;padding:0!important;margin:0!important;}
 body.rev-standalone-body .rev-palette{display:none!important;order:0!important;width:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:14px!important;border:0!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;}
 body.rev-standalone-body .rev-palette.rev-mobile-palette-open{display:block!important;}
 body.rev-standalone-body .rev-palette h3{display:inline-block!important;margin:0 8px 4px 0!important;font-size:21px!important;}
 body.rev-standalone-body .rev-palette-count{display:inline-block!important;margin:0 0 12px!important;font-size:14px!important;color:#64748b!important;}
 body.rev-standalone-body #rev-palette-buttons{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;width:100%!important;}
 body.rev-standalone-body .rev-palette-btn{width:100%!important;height:44px!important;min-height:44px!important;margin:0!important;box-sizing:border-box!important;}
 body.rev-standalone-body .rev-question-area{order:1!important;width:100%!important;padding:0 0 78px!important;margin:0!important;box-sizing:border-box!important;}
 body.rev-standalone-body .rev-question{width:100%!important;margin:0!important;padding:18px 16px!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;}
 body.rev-standalone-body .rev-question h3{margin:0 0 16px!important;padding-bottom:12px!important;border-bottom:1px solid #e5e7eb!important;font-size:22px!important;}
 body.rev-standalone-body .rev-question-text{margin:0 0 16px!important;font-size:19px!important;line-height:1.6!important;overflow-wrap:anywhere!important;}
 body.rev-standalone-body .rev-option{display:flex!important;align-items:flex-start!important;gap:9px!important;width:100%!important;min-height:54px!important;margin:8px 0!important;padding:12px 8px!important;box-sizing:border-box!important;border:0!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;font-size:17px!important;line-height:1.5!important;background:#fff!important;}
 body.rev-standalone-body .rev-option input{flex:0 0 auto!important;margin-top:4px!important;}
 body.rev-standalone-body .rev-mobile-palette-toggle{display:flex!important;position:fixed!important;right:14px!important;bottom:74px!important;z-index:80!important;width:54px!important;height:54px!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:7px!important;background:#18b8d0!important;color:#fff!important;font-size:27px!important;line-height:1!important;box-shadow:0 5px 14px rgba(0,0,0,.18)!important;cursor:pointer!important;}
 body.rev-standalone-body .rev-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:70!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)!important;gap:7px!important;width:100%!important;margin:0!important;padding:9px 9px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe5ee!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -3px 12px rgba(0,0,0,.08)!important;box-sizing:border-box!important;}
 body.rev-standalone-body .rev-nav>button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:50px!important;margin:0!important;padding:7px 5px!important;font-size:14px!important;box-sizing:border-box!important;white-space:nowrap!important;}
 body.rev-standalone-body #rev-prev{display:none!important;}
}
@media(max-width:480px){body.rev-standalone-body .rev-cbt-title strong{font-size:16px!important;}body.rev-standalone-body #rev-timer{font-size:19px!important;}body.rev-standalone-body .rev-question{padding:17px 13px!important;}body.rev-standalone-body .rev-question-text{font-size:18px!important;}body.rev-standalone-body .rev-option{font-size:16px!important;}body.rev-standalone-body .rev-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)!important;gap:6px!important;padding-left:6px!important;padding-right:6px!important;} }

/* v1.5.7 — Testbook-style mobile CBT drawer/navigation. Desktop untouched. */
@media (max-width: 800px) {
    body.rev-standalone-body .rev-cbt {
        position: fixed !important;
        inset: 0 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    body.rev-standalone-body .rev-cbt-top {
        position: relative !important;
        height: 64px !important;
        min-height: 64px !important;
        flex: 0 0 64px !important;
        padding: 0 16px !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
    }
    body.rev-standalone-body .rev-cbt-title { min-width: 0 !important; gap: 0 !important; }
    body.rev-standalone-body .rev-cbt-title strong {
        display: block !important;
        max-width: 62vw !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 18px !important;
        font-weight: 500 !important;
    }
    body.rev-standalone-body .rev-cbt-user { display: none !important; }
    body.rev-standalone-body .rev-cbt-tools { margin-left: auto !important; }
    body.rev-standalone-body .rev-timer-label { display: none !important; }
    body.rev-standalone-body #rev-timer {
        min-width: 0 !important;
        font-size: 25px !important;
        font-weight: 800 !important;
        letter-spacing: .04em !important;
    }

    body.rev-standalone-body .rev-cbt-layout {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: calc(100dvh - 64px) !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.rev-standalone-body .rev-question-area {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 0 0 82px !important;
        background: #fff !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch !important;
    }
    body.rev-standalone-body .rev-question {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 20px 24px 30px !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }
    body.rev-standalone-body .rev-question h3 {
        margin: 0 !important;
        padding: 0 0 16px !important;
        border-bottom: 1px solid #e2e6eb !important;
        font-size: 27px !important;
        line-height: 1.25 !important;
        font-weight: 500 !important;
    }
    body.rev-standalone-body .rev-question-text {
        margin: 28px 0 24px !important;
        font-size: 20px !important;
        line-height: 1.62 !important;
        color: #334155 !important;
        overflow-wrap: anywhere !important;
    }
    body.rev-standalone-body .rev-option {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 18px 8px 18px 8px !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-sizing: border-box !important;
        font-size: 18px !important;
        line-height: 1.55 !important;
    }
    body.rev-standalone-body .rev-option:first-of-type { border-top: 1px solid #e5e7eb !important; }
    body.rev-standalone-body .rev-option input {
        flex: 0 0 auto !important;
        width: 20px !important;
        height: 20px !important;
        margin: 3px 0 0 !important;
    }
    body.rev-standalone-body .rev-option:has(input:checked) {
        background: #f3f8ff !important;
        border-color: #d7e6fb !important;
    }

    /* Bottom controls: exactly the compact 3-button mobile bar. */
    body.rev-standalone-body .rev-nav {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 90 !important;
        display: grid !important;
        grid-template-columns: minmax(0,1.25fr) minmax(72px,.55fr) minmax(0,1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 9px 10px calc(9px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #dfe5ee !important;
        border-radius: 0 !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 -2px 10px rgba(0,0,0,.07) !important;
        box-sizing: border-box !important;
    }
    body.rev-standalone-body .rev-nav > button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 8px 7px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        font-weight: 600 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
    body.rev-standalone-body #rev-prev { display: none !important; }
    body.rev-standalone-body #rev-review { order: 1 !important; }
    body.rev-standalone-body #rev-clear { order: 2 !important; }
    body.rev-standalone-body #rev-next { order: 3 !important; }
    body.rev-standalone-body #rev-next { background: #168cf0 !important; color: #fff !important; border-color: #168cf0 !important; }
    body.rev-standalone-body #rev-review { background: #fff !important; }
    body.rev-standalone-body #rev-clear { background: #fffbeb !important; color: #b45309 !important; border-color: #f59e0b !important; }

    /* Floating palette button, like the reference mobile CBT. */
    body.rev-standalone-body .rev-mobile-palette-toggle {
        display: flex !important;
        position: fixed !important;
        right: 12px !important;
        bottom: 82px !important;
        z-index: 120 !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 8px !important;
        background: #18b8d0 !important;
        color: #fff !important;
        box-shadow: 0 5px 18px rgba(0,0,0,.20) !important;
        font-size: 28px !important;
    }

    /* Question palette opens as a right-side drawer instead of taking document space. */
    body.rev-standalone-body .rev-palette {
        display: none !important;
        position: fixed !important;
        top: 64px !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 110 !important;
        width: min(72vw, 330px) !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 20px 16px calc(90px + env(safe-area-inset-bottom)) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        border: 0 !important;
        border-left: 1px solid #c8dce8 !important;
        border-radius: 0 !important;
        background: #eaf8fd !important;
        box-shadow: -8px 0 25px rgba(15,23,42,.20) !important;
        box-sizing: border-box !important;
    }
    body.rev-standalone-body .rev-palette.rev-mobile-palette-open { display: block !important; }
    body.rev-standalone-body .rev-palette h3 {
        display: block !important;
        margin: 0 0 4px !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
    }
    body.rev-standalone-body .rev-palette-count {
        display: block !important;
        margin: 0 0 18px !important;
        font-size: 14px !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0,1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }
    body.rev-standalone-body .rev-palette-btn {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }
    body.rev-standalone-body .rev-legend {
        display: flex !important;
        margin-top: 24px !important;
        gap: 10px !important;
        font-size: 13px !important;
    }
    body.rev-standalone-body .rev-palette-submit {
        margin-top: 26px !important;
        padding: 0 !important;
    }
    body.rev-standalone-body .rev-palette-submit .rev-submit {
        width: 100% !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        font-size: 16px !important;
        border-radius: 6px !important;
        background: #18aeca !important;
        color: #fff !important;
        border-color: #18aeca !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    body.rev-standalone-body .rev-question { padding-left: 24px !important; padding-right: 24px !important; }
    body.rev-standalone-body .rev-question h3 { font-size: 26px !important; }
    body.rev-standalone-body .rev-question-text { font-size: 19px !important; }
    body.rev-standalone-body .rev-option { font-size: 17px !important; min-height: 62px !important; }
    body.rev-standalone-body .rev-nav { grid-template-columns: minmax(0,1.25fr) minmax(70px,.55fr) minmax(0,1fr) !important; gap: 6px !important; padding-left: 7px !important; padding-right: 7px !important; }
    body.rev-standalone-body .rev-nav > button { font-size: 14px !important; min-height: 48px !important; }
    body.rev-standalone-body .rev-palette { width: 74vw !important; }
}


/* v1.5.8 — Mobile polish based on reference screenshot. Desktop untouched. */
@media (max-width: 800px) {
    /* Keep the question completely flat like the reference CBT UI. */
    body.rev-standalone-body .rev-question,
    body.rev-standalone-body .rev-question-area {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.rev-standalone-body .rev-question {
        padding: 18px 24px 32px !important;
    }

    /* Options are outside any card: clean separated rows. */
    body.rev-standalone-body .rev-option {
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 18px 6px !important;
    }
    body.rev-standalone-body .rev-option:has(input:checked) {
        background: #f2f8ff !important;
        border-bottom-color: #d5e7fb !important;
    }

    /* Bottom controls: stable 2 x 2 mobile layout; no horizontal overflow. */
    body.rev-standalone-body .rev-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: minmax(50px, auto) !important;
        gap: 7px !important;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    }
    body.rev-standalone-body .rev-nav > button {
        min-height: 50px !important;
        height: auto !important;
        padding: 8px 8px !important;
        border-radius: 7px !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        font-weight: 650 !important;
    }
    body.rev-standalone-body #rev-prev {
        display: flex !important;
        order: 1 !important;
        background: #f7fbff !important;
        border-color: #b9d3ed !important;
        color: #26364a !important;
    }
    body.rev-standalone-body #rev-review {
        display: flex !important;
        order: 2 !important;
        background: #eef7ff !important;
        border-color: #8ec5f5 !important;
        color: #26364a !important;
    }
    body.rev-standalone-body #rev-clear {
        display: flex !important;
        order: 3 !important;
        background: #fff8e8 !important;
        border-color: #f0a400 !important;
        color: #ad5a00 !important;
    }
    body.rev-standalone-body #rev-next {
        display: flex !important;
        order: 4 !important;
        background: #198fe9 !important;
        border-color: #198fe9 !important;
        color: #fff !important;
    }

    /* Move the palette toggle above the bottom controls so it never covers a button. */
    body.rev-standalone-body .rev-mobile-palette-toggle {
        right: 14px !important;
        bottom: 122px !important;
        width: 52px !important;
        height: 52px !important;
        border-radius: 7px !important;
        z-index: 130 !important;
        background: #19b7cf !important;
        color: #fff !important;
        box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
    }

    /* Palette: clean Testbook-like side panel, with its own scroll for many questions. */
    body.rev-standalone-body .rev-palette {
        top: 64px !important;
        right: 0 !important;
        bottom: 0 !important;
        width: min(78vw, 360px) !important;
        max-height: none !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 20px 16px calc(110px + env(safe-area-inset-bottom)) !important;
        border: 0 !important;
        border-left: 1px solid #c7dfe8 !important;
        border-radius: 0 !important;
        background: #eaf8fd !important;
        box-shadow: -8px 0 24px rgba(15,23,42,.18) !important;
    }
    body.rev-standalone-body #rev-palette-buttons {
        max-height: none !important;
        overflow: visible !important;
    }
    body.rev-standalone-body .rev-palette-submit {
        position: sticky !important;
        bottom: 0 !important;
        padding-top: 12px !important;
        background: linear-gradient(to bottom, rgba(234,248,253,0), #eaf8fd 18px) !important;
    }
}

@media (max-width: 480px) {
    body.rev-standalone-body .rev-question { padding-left: 24px !important; padding-right: 24px !important; }
    body.rev-standalone-body .rev-question h3 { font-size: 25px !important; }
    body.rev-standalone-body .rev-question-text { font-size: 18px !important; line-height: 1.6 !important; }
    body.rev-standalone-body .rev-option { font-size: 17px !important; min-height: 60px !important; }
    body.rev-standalone-body .rev-nav { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 6px !important; }
    body.rev-standalone-body .rev-nav > button { min-height: 48px !important; font-size: 14px !important; }
    body.rev-standalone-body .rev-mobile-palette-toggle { bottom: 118px !important; right: 12px !important; }
    body.rev-standalone-body .rev-palette { width: 82vw !important; }
}

/* v1.5.9 — mobile final polish: floating palette control + centered labels */
@media (max-width: 800px) {
    body.rev-standalone-body .rev-mobile-palette-toggle {
        right: 12px !important;
        bottom: 165px !important;
        width: 52px !important;
        height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 200 !important;
    }

    body.rev-standalone-body .rev-nav > button,
    body.rev-standalone-body .rev-nav > button > span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.rev-standalone-body .rev-nav > button > span {
        width: 100% !important;
        min-height: 100% !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 480px) {
    body.rev-standalone-body .rev-mobile-palette-toggle {
        right: 12px !important;
        bottom: 160px !important;
    }
}

/* v1.5.10 — mobile navigation final polish
   Keep labels perfectly centered and give each action a subtle tint. */
@media screen and (max-width:600px) {
    body.rev-standalone-body .rev-nav > button#rev-prev,
    body.rev-standalone-body .rev-nav > button#rev-clear,
    body.rev-standalone-body .rev-nav > button#rev-review,
    body.rev-standalone-body .rev-nav > button#rev-next {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        vertical-align:middle !important;
        padding:0 8px !important;
        box-sizing:border-box !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev {
        background:#f4f8ff !important;
        border-color:#b9d5f3 !important;
        color:#243044 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-review {
        background:#f1f8ff !important;
        border-color:#9cccf6 !important;
        color:#243044 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-clear {
        background:#fff9e9 !important;
        border-color:#f0a000 !important;
        color:#b45309 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-next {
        background:#edf6ff !important;
        border-color:#2b93ee !important;
        color:#fff !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-prev span,
    body.rev-standalone-body .rev-nav > button#rev-clear span,
    body.rev-standalone-body .rev-nav > button#rev-review span,
    body.rev-standalone-body .rev-nav > button#rev-next span {
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        text-align:center !important;
        line-height:1.2 !important;
    }
}

/* v1.5.11 — final mobile action-button fix
   Labels are centered in both axes; Save & Next keeps strong contrast. */
@media screen and (max-width:600px) {
    body.rev-standalone-body .rev-nav > button#rev-prev,
    body.rev-standalone-body .rev-nav > button#rev-review,
    body.rev-standalone-body .rev-nav > button#rev-clear,
    body.rev-standalone-body .rev-nav > button#rev-next {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        height:auto !important;
        min-height:54px !important;
        padding:8px 10px !important;
        box-sizing:border-box !important;
        line-height:1.2 !important;
        overflow:hidden !important;
    }

    body.rev-standalone-body .rev-nav > button#rev-prev {
        background:#eef6ff !important;
        border:1px solid #a9cdf2 !important;
        color:#243044 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-review {
        background:#eef8ff !important;
        border:1px solid #9bcdf7 !important;
        color:#243044 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-clear {
        background:#fff8e8 !important;
        border:1px solid #f2a000 !important;
        color:#b45309 !important;
    }
    body.rev-standalone-body .rev-nav > button#rev-next {
        background:#168ff0 !important;
        border:1px solid #168ff0 !important;
        color:#fff !important;
    }

    body.rev-standalone-body .rev-nav > button#rev-prev > span,
    body.rev-standalone-body .rev-nav > button#rev-review > span,
    body.rev-standalone-body .rev-nav > button#rev-clear > span,
    body.rev-standalone-body .rev-nav > button#rev-next > span {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:100% !important;
        margin:0 !important;
        padding:0 !important;
        text-align:center !important;
        line-height:1.2 !important;
        white-space:normal !important;
        overflow-wrap:break-word !important;
        color:inherit !important;
    }
}


/* v1.5.13 — Previous Attempts mobile history fix */
@media screen and (max-width: 768px) {
    .rev-result .rev-attempt-history .rev-history-table table {
        min-width: 0 !important;
        width: 100% !important;
    }
    .rev-result .rev-attempt-history .rev-history-table tr {
        display:block !important;
        width:100% !important;
        padding:10px 14px !important;
        margin:0 0 14px !important;
        box-sizing:border-box !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td {
        display:grid !important;
        grid-template-columns:96px minmax(0,1fr) !important;
        align-items:center !important;
        column-gap:14px !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        padding:10px 0 !important;
        margin:0 !important;
        text-align:left !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td::before {
        grid-column:1 !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        white-space:nowrap !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        font-weight:700 !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td .rev-history-value {
        grid-column:2 !important;
        display:block !important;
        min-width:0 !important;
        width:100% !important;
        max-width:100% !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:break-word !important;
        text-align:left !important;
        line-height:1.4 !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td .rev-history-value strong {
        display:inline !important;
    }
    .rev-result .rev-attempt-history .rev-history-table td a {
        display:inline !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:break-word !important;
    }
}


/* v1.5.13 — mobile instruction buttons: compact, contained, centered */
@media screen and (max-width:700px) {
    body.rev-standalone-body.rev-exam-ready .rev-start-panel,
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions,
    body.rev-standalone-body.rev-exam-ready .rev-auth-actions {
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions form {
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        margin:0 !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions .rev-big-start,
    body.rev-standalone-body.rev-exam-ready .rev-auth-actions .rev-btn {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        padding:13px 16px !important;
        min-height:50px !important;
        line-height:1.2 !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-auth-actions {
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
    }
    body.rev-standalone-body.rev-exam-ready .rev-auth-actions .rev-btn span,
    body.rev-standalone-body.rev-exam-ready .rev-ready-actions .rev-big-start span {
        float:none !important;
        margin-left:8px !important;
    }
}


/* v1.5.16 — instructions Back button */
.rev-instruction-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0 0 18px;
    padding:10px 20px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#eff6ff;
    color:#1d4ed8 !important;
    text-decoration:none !important;
    font-size:16px;
    font-weight:700;
    box-sizing:border-box;
    transition:background .15s ease, transform .15s ease;
}
.rev-instruction-back:hover{background:#dbeafe;transform:translateY(-1px);}
@media(max-width:700px){
    .rev-instruction-back{
        width:auto;
        min-width:120px;
        min-height:46px;
        margin:0 0 16px;
        font-size:16px;
    }
}
