.test-wrap{max-width:100%;margin:0 auto;font-family:'Georgia',serif}
.test-intro{background:#f0f4ff;border-left:4px solid #3a5fcd;padding:1em 1.2em;
  margin-bottom:1.5em;border-radius:0 6px 6px 0;font-size:.95em;color:#444}
.variant-tabs{display:flex;gap:.5em;margin-bottom:1.2em;flex-wrap:wrap;font-family:sans-serif}
.tab-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:5px;padding:5px 14px;
  cursor:pointer;font-size:.85em;color:#555}
.tab-btn:hover{background:#e5e5e5}
.tab-btn.active{background:#2c3e50;color:#fff;border-color:#2c3e50}
.variant-card{border:1px solid #ddd;border-radius:8px;margin-bottom:1.5em;
  overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.variant-header{background:#2c3e50;color:#fff;padding:.7em 1.2em;
  display:flex;align-items:center;gap:.8em}
.variant-badge{background:#3a5fcd;color:#fff;font-size:.8em;font-weight:bold;
  padding:2px 10px;border-radius:12px;white-space:nowrap;font-family:sans-serif}
.variant-theme{font-size:1em;font-style:italic;opacity:.9}
.test-body{padding:1.2em}
.test-hint{font-size:.88em;color:#777;margin-bottom:1em;font-family:sans-serif}
.question-block{margin-bottom:1.4em;padding-bottom:1.2em;border-bottom:1px solid #eee}
.question-block:last-child{border-bottom:none}
.question-header{display:flex;align-items:center;gap:.5em;margin-bottom:.4em;font-family:sans-serif}
.q-num{font-weight:bold;color:#2c3e50;font-size:1.05em;min-width:1.5em}
.q-bloom-badge{font-size:.72em;padding:2px 8px;border-radius:10px;
  font-weight:600;text-transform:uppercase}
.q-type-badge{font-size:.72em;padding:2px 7px;border-radius:10px;
  background:#eceff1;color:#546e7a;font-weight:600}
.question-text{font-size:1em;line-height:1.5;color:#222;margin-bottom:.7em}
.question-options{display:flex;flex-direction:column;gap:.35em}
.q-option{display:flex;align-items:flex-start;gap:.6em;padding:.45em .8em;
  border:1px solid #ddd;border-radius:5px;cursor:pointer;
  transition:background .15s,border-color .15s;font-family:sans-serif;
  font-size:.92em;line-height:1.45;user-select:none}
.q-option *{pointer-events:none}
.q-option:hover{background:#f0f4ff;border-color:#3a5fcd}
.q-option.selected{background:#dde3ff;border-color:#3a5fcd;border-width:2px;font-weight:600}
.q-option.selected .q-letter{color:#3a5fcd}
.q-option.correct{background:#c8e6c9;border-color:#2e7d32;border-width:2px;font-weight:600}
.q-option.correct .q-letter{color:#1b5e20}
.q-option.wrong{background:#ffcdd2;border-color:#c62828;border-width:2px;font-weight:600}
.q-option.wrong .q-letter{color:#b71c1c}
.q-letter{font-weight:bold;color:#3a5fcd;min-width:1.2em;flex-shrink:0}
.q-text{flex:1}
.question-explanation{margin-top:.6em;padding:.5em .8em;background:#fffde7;
  border-left:3px solid #f9a825;border-radius:0 5px 5px 0;
  font-size:.88em;color:#555;font-family:sans-serif;line-height:1.5}
.test-controls{display:flex;align-items:center;gap:.8em;margin:1em 0 .5em;
  flex-wrap:wrap;font-family:sans-serif}
.check-btn{background:#2c3e50;color:#fff;border:none;border-radius:5px;
  padding:8px 20px;cursor:pointer;font-size:.9em;transition:background .2s}
.check-btn:hover{background:#1a252f}
.reset-btn{background:#fff;border:1px solid #bbb;border-radius:5px;
  padding:7px 16px;cursor:pointer;font-size:.9em;color:#555}
.reset-btn:hover{background:#f5f5f5}
.score-display{font-weight:bold;font-size:1em;color:#2c3e50}
.show-answers-area{margin-top:.5em}
.show-answers-btn{background:none;border:1px solid #bbb;border-radius:5px;
  padding:5px 14px;cursor:pointer;font-size:.85em;color:#555;font-family:sans-serif}
.show-answers-btn:hover{background:#f5f5f5}
.show-answers-btn.open{background:#27ae60;color:#fff;border-color:#27ae60}
.print-controls{padding:0 1.2em 1em}
.print-single-btn{background:#fff;border:1px solid #bbb;border-radius:5px;
  padding:5px 14px;cursor:pointer;font-size:.85em;color:#555;font-family:sans-serif}
.print-single-btn:hover{background:#f5f5f5}
/* modal */
#print-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;
  display:flex;align-items:flex-start;justify-content:center;padding:2vh 1em;overflow-y:auto}
#print-modal{background:#fff;border-radius:8px;width:100%;max-width:820px;
  display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.35);margin:auto}
#print-modal-toolbar{background:#2c3e50;color:#fff;padding:.7em 1.2em;border-radius:8px 8px 0 0;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5em;
  font-family:sans-serif;font-size:.9em;position:sticky;top:0;z-index:10}
#print-modal-toolbar-left{flex:1;min-width:0}
#print-modal-toolbar-right{display:flex;gap:.5em;flex-shrink:0}
.modal-btn{border:none;border-radius:5px;padding:6px 14px;cursor:pointer;
  font-size:.85em;font-family:sans-serif;font-weight:600;transition:opacity .15s}
.modal-btn:hover{opacity:.85}
.modal-btn-copy{background:#3498db;color:#fff}
.modal-btn-print{background:#27ae60;color:#fff}
.modal-btn-close{background:#e74c3c;color:#fff}
#print-modal-content{padding:2em 2.5em;font-family:'Times New Roman',serif;
  font-size:12pt;line-height:1.6;flex:1;overflow-y:auto}
#print-modal-content .print-card{border-bottom:2px dashed #ccc;
  padding-bottom:2em;margin-bottom:2em}
#print-modal-content .print-card:last-child{border-bottom:none;margin-bottom:0}
/* print cards */
.print-card{font-family:'Times New Roman',serif;font-size:12pt;line-height:1.6}
.print-card-header{border-bottom:2px solid #000;padding-bottom:.5em;margin-bottom:1em}
.print-card-title{font-size:14pt;font-weight:bold;letter-spacing:1px}
.print-card-subtitle{font-size:11pt;color:#333;margin-top:.2em}
.print-card-variant{font-size:10pt;color:#555;font-style:italic;margin-top:.2em}
.print-student-info{margin:.8em 0}
.print-field-row{display:flex;align-items:baseline;gap:.5em;margin-bottom:.4em;flex-wrap:wrap}
.print-label{font-size:10pt;white-space:nowrap}
.print-line{flex:1;border-bottom:1px solid #000;min-width:150px}
.print-line.short{flex:0 0 80px;min-width:80px}
.print-instruction{background:#f5f5f5;border:1px solid #ccc;padding:.5em .8em;
  margin:.8em 0;font-size:10pt;border-radius:4px}
.print-questions-block{margin-top:.8em}
.print-question{margin-bottom:1.1em;padding-bottom:.8em;border-bottom:1px dotted #ccc}
.print-question:last-child{border-bottom:none}
.print-q-text{font-size:11pt;margin-bottom:.3em;line-height:1.5}
.print-q-options{font-size:10pt;color:#333;margin-bottom:.3em;line-height:1.8}
.print-q-answer{font-size:10pt;color:#555}
.all-print-sections{display:none}
@media print{
  .test-intro,.variant-tabs,.test-controls,.show-answers-area,
  .print-controls,#online-section{display:none!important}
  .all-print-sections{display:block!important}
  .print-card{page-break-after:always;padding:1.5em}
  .print-card:last-child{page-break-after:avoid}
}
