/* Bilsene 9.2: bonus points, exam waiting room, reports, admin, sharing, help, screen fitting. */
.bonus-badge{display:inline-flex;align-items:center;gap:8px;margin:6px auto;padding:8px 18px;border-radius:999px;font-weight:900;letter-spacing:.3px;background:#ffe27a;color:#4a3300;border:3px solid #f2b400;box-shadow:0 4px 0 #c99200;animation:bonus-pop 1.2s ease-in-out infinite alternate}
.bonus-badge::before{content:"★"}
.bonus-badge.bonus-100{background:#ff8fab;color:#5a0019;border-color:#e2416b;box-shadow:0 4px 0 #b02148}
#game-content>.bonus-badge,.round-countdown .bonus-badge{display:flex;width:max-content;font-size:clamp(20px,2.4vw,34px);padding:10px 26px}
.answer-feedback .bonus-badge{font-size:18px;animation:none}
.review-item .bonus-badge{font-size:13px;padding:3px 10px;margin:4px 0;animation:none;box-shadow:none;border-width:2px}
.preview-question-card .bonus-badge,.question-report .bonus-badge{font-size:13px;padding:4px 12px;margin:0 6px;animation:none;box-shadow:none}
.bonus-mini{color:#b0204a}
.question-panel.has-bonus{border-color:#f2b400;box-shadow:0 0 0 3px #ffe27a inset}
.bonus-select select{min-width:150px}
@keyframes bonus-pop{from{transform:scale(1)}to{transform:scale(1.06)}}

/* Planned exam: quick plan, results choice, waiting room, end of exam */
.quick-plan{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 14px;padding:12px;border:1px dashed #74cbc2;border-radius:12px;background:#f2fbf9;font-weight:600;color:#165c58}
.quick-plan input{width:76px;padding:8px;text-align:center}
.quick-plan .button{margin-left:auto}
.result-choice{border:1px solid #cfe8e3;border-radius:12px;padding:10px 14px;margin:0 0 14px}
.result-choice legend{font-weight:800;color:#0b4f4e;padding:0 6px}
.result-choice .legal-check{margin:6px 0}
.exam-countdown-box{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:20px auto;padding:22px 40px;border-radius:24px;background:#063f44;color:#fff}
.exam-countdown-box span,.exam-countdown-box small{font-weight:700;opacity:.85}
.exam-countdown{font-size:clamp(48px,9vw,96px);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:2px}
.results-warning{max-width:620px;margin:18px auto;padding:18px 22px;border-radius:18px;background:#fff1c5;border:3px solid #f2b400;color:#4a3300}
.results-warning strong{display:block;font-size:clamp(24px,3vw,34px)}
.results-warning p{margin:6px 0 0;font-size:18px;font-weight:700;color:#4a3300}
.results-closed{max-width:620px;margin:16px auto;padding:16px 20px;border-radius:16px;background:#e3f6ff;color:#0d4a6b;font-size:18px;font-weight:700}
.share-result{margin-top:8px}

/* Screen fitting: planned exam on computers, teacher projector in live competitions */
body.exam-student .page-heading{display:none}
body.exam-player #game-content>.bonus-badge{font-size:clamp(16px,1.6vw,22px);padding:6px 18px;margin:2px auto 6px}
body.exam-player .game-board{padding:clamp(10px,2vh,24px)}
body.exam-player .game-question{font-size:clamp(18px,calc(.8vw + 1.3vh),30px)!important;margin:0 auto 12px!important;line-height:1.3}
body.exam-player .question-stage{padding:4px 0!important;height:auto!important}
body.exam-player .question-image{max-height:30vh;width:auto;max-width:100%;object-fit:contain}
body.exam-player .game-board .answer-button{min-height:clamp(52px,9vh,96px);font-size:clamp(15px,calc(.55vw + 1vh),22px);padding:10px 14px;border-radius:16px}
body.exam-player .game-board .answer-symbol{width:clamp(34px,5.5vh,54px);height:clamp(34px,5.5vh,54px)}
body.exam-player .game-board .answer-symbol svg{width:70%;height:70%}
body.exam-player .option-image{max-height:14vh}
body.exam-player .answers-grid{gap:clamp(8px,1.4vh,14px)}
body.host-question .answers-grid.host-fit{display:grid;grid-template-rows:repeat(var(--choice-rows,2),minmax(0,1fr));gap:clamp(10px,1.4vh,18px)}
body.host-question .answers-grid.host-fit .answer-button{min-height:0;height:100%;overflow:hidden;padding:clamp(10px,1.6vh,22px) clamp(14px,1.6vw,28px)}
body.host-question .answers-grid.host-fit .answer-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;max-height:100%}
body.host-question .answers-grid.host-fit .answer-text{display:block;line-height:1.15;overflow-wrap:break-word;font-weight:800}
body.host-question .answers-grid.host-fit .answer-symbol{width:clamp(56px,9vh,110px);height:clamp(56px,9vh,110px)}
body.host-question .answers-grid.host-fit .option-image{max-height:40%;object-fit:contain}

/* Reports */
.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 18px;border-bottom:2px solid #d6ece8}
.report-tabs a{padding:10px 16px;border-radius:10px 10px 0 0;font-weight:700;color:#3a6c69;text-decoration:none}
.report-tabs a.active{background:#0b7f84;color:#fff}
.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 22px}
.report-stats>div{background:#effaf8;border:1px solid #cfe9e4;border-radius:14px;padding:14px 16px}
.report-stats strong{display:block;font-size:26px;color:#0a5f63}
.report-stats span{color:#456e6b;font-weight:600}
.text-correct{color:#0a7a45!important}.text-wrong{color:#b73052!important}
.success-bar{height:10px;border-radius:6px;background:#ffe0e5;overflow:hidden;margin:8px 0}
.success-bar span{display:block;height:100%;background:#39bc76}
.report-matrix{border-collapse:collapse;font-size:13px}
.report-matrix th,.report-matrix td{border:1px solid #d9ebe7;padding:5px 7px;text-align:center;white-space:nowrap}
.report-matrix .matrix-name{text-align:left;font-weight:700;position:sticky;left:0;background:#fff}
.report-matrix thead th{position:sticky;top:0;background:#eef8f6}
.matrix-wrap{max-height:70vh;overflow:auto}
.cell-correct{background:#dcf7e6;color:#0a6c3d;font-weight:800}
.cell-wrong{background:#ffe3e9;color:#a52646;font-weight:800}
.cell-blank{color:#7c8f8d}.cell-poll{color:#3a5fbf}.cell-cancelled{background:#f2f2f2;color:#777}
.roster-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.roster{border:1px solid #d6ebe6;border-radius:14px;padding:12px}
.roster-correct{border-top:5px solid #39bc76}.roster-wrong{border-top:5px solid #f17090}.roster-blank{border-top:5px solid #a9b8b6}
.roster-row{padding:6px 0;border-bottom:1px dashed #e1eeeb}.roster-row small{display:block;color:#7a4152}
.button.small{padding:7px 12px;font-size:13px;margin-top:6px}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.pager a{padding:6px 11px;border:1px solid #bfe1db;border-radius:8px;text-decoration:none}.pager a.active{background:#0b7f84;color:#fff}
.student-card{border:1px solid #cfe5e0;border-radius:16px;padding:18px;margin:18px 0;background:#fff}
.student-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.student-card h3{margin:0;font-size:22px}.student-card header p{margin:4px 0;color:#557b78}
.student-card-score{text-align:right}.student-card-score strong{font-size:32px;color:#0a6c6f;display:block}
.card-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.card-table th,.card-table td{border:1px solid #dcece8;padding:5px 7px;text-align:left}
.card-foot{margin-top:10px;font-size:12px;color:#5b7d7a;text-align:right}
.report-list td small{color:#5a7c79}.row-actions{white-space:nowrap}.row-actions a{margin-right:10px;font-weight:700}
.report-filter{flex-wrap:wrap}.inline-date{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.inline-date input{width:auto}
.question-report.report-correct{border-left:6px solid #39bc76}.question-report.report-wrong{border-left:6px solid #f17090}.question-report.report-blank{border-left:6px solid #a9b8b6}
.print-brand,.print-foot{display:none}
.print-brand{align-items:center;gap:14px;padding-bottom:12px;margin-bottom:12px;border-bottom:3px solid #0b7f84}
.print-brand strong{font-size:24px;color:#0b7f84}.print-brand small{display:block;color:#4a6d6a}.print-brand .print-date{margin-left:auto;color:#4a6d6a}
.print-foot{margin-top:18px;padding-top:10px;border-top:2px solid #0b7f84;font-size:12px;color:#355f5c;text-align:center}
body:has(.print-brand:not(.print-only)) .print-brand:not(.print-only){display:flex}
body:has(.print-brand:not(.print-only)) .print-foot:not(.print-only){display:block}

/* Admin */
.tier-balances{color:#2f6460}
.admin-stats>div strong{font-size:24px}

/* Share dialog */
.share-dialog{border:0;border-radius:20px;padding:18px;max-width:min(92vw,560px)}
.share-dialog::backdrop{background:#062e31b3}
.share-dialog img{width:100%;height:auto;border-radius:14px;display:block;margin-bottom:12px}

/* Help guide */
.help-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.help-toc a{padding:8px 14px;border-radius:999px;background:#e5f7f3;color:#0b5f5c;font-weight:700;text-decoration:none}
.help-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:22px;align-items:start;margin:18px 0}
.help-step img{width:100%;height:auto;max-height:640px;object-fit:contain;object-position:top;border-radius:14px;border:1px solid #cfe5e0;box-shadow:0 8px 24px #0b3b3f1f}
.help-step ol{padding-left:20px}.help-step li{margin:6px 0}
@media(max-width:860px){.help-step{grid-template-columns:1fr}}

@media print{
  .print-brand,.print-only.print-brand{display:flex!important}
  .print-foot,.print-only.print-foot{display:block!important}
  .admin-tabs,.admin-overview,.report-tabs,.pager,.share-invite,.button.small{display:none!important}
  .student-card{break-after:page;border:0;padding:0}
  .matrix-wrap{max-height:none}
  .report-matrix{font-size:9pt}.report-matrix th,.report-matrix td{padding:2px 3px}
  .page-break{break-before:page}
  .cell-correct,.cell-wrong,.success-bar span,.print-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.print-only{display:none}
@media print{.print-only{display:flex}footer.print-only{display:block}}

/* 9.2.1: choices are told apart by shape and colour only; no A–E letters. */
.answer-symbol{display:inline-grid;place-items:center}.answer-symbol small{display:none!important}.answer-symbol svg{margin:0}
.quiz-cover.language{background:#eef0fd}.quiz-cover.idea{background:#fff8e1}.quiz-cover.music{background:#fdf0f5}.quiz-cover.arts{background:#fdf3ea}.quiz-cover.sport{background:#ecf8f0}.quiz-cover.tech{background:#e9f2fd}.quiz-cover.history{background:#f8f3ea}.quiz-cover.values{background:#fdf1ef}
body.player-view .page-heading{display:none}
@media(max-width:600px){.answer-feedback{padding:20px 16px;margin:14px auto}.answer-feedback h2{font-size:28px}.feedback-icon{font-size:52px}.feedback-points{font-size:32px}.answer-feedback p{font-size:16px}}
body.host-question .answers-grid.host-fit .answer-symbol svg{width:72%;height:72%}
