.language-bar { color:#f7eed4; }
.rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0; }
.rule-grid article { border-radius:16px; background:var(--cream); padding:16px; line-height:1.6; }
.rule-grid strong { font-size:1.2rem; }
.exam-statusbar { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:18px 0; background:var(--cream); border:3px solid #d8b56a; padding:16px; border-radius:20px; }
.timer-box span,.timer-box strong { display:block; }
.timer-box strong { font-size:1.6rem; font-variant-numeric:tabular-nums; }
.timer-box.warning { color:var(--berry); }
.exam-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:16px; }
.answer-panel { align-self:start; padding:18px 12px; }
.answer-panel h2 { margin:0 0 14px; }
.answer-card { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.answer-card button { min-width:0; padding:5px; border-radius:10px; font-size:.95rem; }
.answer-card button.current { outline:3px solid var(--gold); }
.answer-card button.answered { background:var(--moss); color:#fff; }
.answer-card button.marked::after { content:'★'; display:block; color:var(--gold); font-size:.75rem; }
.exam-main .answers.cols-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.exam-main .board { padding:18px; }
.results { margin-top:20px; }
#resultSummary { font-size:1.3rem; line-height:1.6; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; line-height:1.6; }
th,td { padding:10px; text-align:left; border-bottom:1px solid #c9ae6d; }
.review-list { display:flex; flex-wrap:wrap; gap:10px; }
.storage-notice { padding:12px; border-radius:12px; background:var(--cream); margin:10px 0; }
@media(max-width:800px) { .exam-layout { grid-template-columns:1fr; } .answer-card { grid-template-columns:repeat(10,minmax(0,1fr)); } .rule-grid { grid-template-columns:1fr; } }
@media(max-width:480px) { .answer-card { grid-template-columns:repeat(5,minmax(0,1fr)); } }

.exam-statusbar { position:sticky; top:8px; z-index:5; }
@media(min-width:801px) { .answer-panel { position:sticky; top:130px; } }
