/* V80 — Topic Wise Practice Online */
.topic-practice-hero{background:linear-gradient(135deg,#082b57 0%,#0d4d87 55%,#17335f 100%);color:#fff}
.topic-practice-hero h1,.topic-practice-hero p{color:#fff}
.topic-practice-shell{padding:34px 0 54px}
.topic-intro-card{background:linear-gradient(180deg,#fff 0%,#f7faff 100%);border:1px solid #dce7f5;border-radius:22px;padding:24px;box-shadow:0 14px 34px rgba(8,43,87,.10);margin-bottom:24px}
.topic-intro-card h2{margin:0 0 8px;color:#092d5a}.topic-intro-card p{margin:0;color:#5d6b7d}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.topic-card{appearance:none;width:100%;text-align:left;border:1px solid #d9e4f2;border-radius:18px;background:#fff;padding:19px;cursor:pointer;box-shadow:0 8px 22px rgba(17,48,86,.08);transition:.22s ease;position:relative;overflow:hidden}
.topic-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(17,48,86,.13)}
.topic-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#c99120,#f2c24f)}
.topic-card small{display:block;color:#a16b09;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.topic-card h3{margin:0 0 6px;color:#0a315f}.topic-card p{margin:0;color:#6b7788;font-size:13px}.topic-card .topic-count{display:inline-block;margin-top:12px;background:#eef5ff;color:#0d4d87;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.topic-empty{grid-column:1/-1;border:1px dashed #b8c8dd;border-radius:18px;padding:30px;text-align:center;background:#fbfdff;color:#68778a}.topic-empty strong{display:block;color:#0a315f;font-size:20px;margin-bottom:6px}
.topic-set-panel,.topic-test-panel{margin-top:24px}.topic-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.topic-panel-head h2{margin:0;color:#0b315f}.topic-back{border:0;background:#edf4ff;color:#0d4d87;font-weight:800;border-radius:10px;padding:10px 13px;cursor:pointer}
.topic-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topic-set-card{border:1px solid #d9e5f1;border-radius:16px;background:#fff;padding:18px;text-align:left;cursor:pointer;display:flex;gap:14px;align-items:center;box-shadow:0 8px 18px rgba(13,49,95,.07)}.topic-set-card:hover{border-color:#d3a43b;box-shadow:0 12px 22px rgba(13,49,95,.11)}.topic-set-no{min-width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#0d4d87;color:#fff;font-weight:900}.topic-set-card h3{margin:0 0 4px;color:#0b315f}.topic-set-card p{margin:0;color:#6e7b8b;font-size:13px}.topic-set-go{margin-left:auto;color:#a46c00;font-weight:900}
.topic-test-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.topic-question-card{background:#fff;border:1px solid #d9e5f1;border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(13,49,95,.08)}.topic-directions{border-left:4px solid #d3a43b;background:#fff9ea;border-radius:10px;padding:10px 12px;margin-bottom:16px;color:#6b5a32}.topic-question-card h3{color:#0a315f;margin:0 0 16px;line-height:1.45}.topic-options{display:grid;gap:10px}.topic-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #dfe7f0;border-radius:12px;padding:12px;cursor:pointer}.topic-option:hover{background:#f7faff}.topic-option input{margin-top:3px}.topic-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.topic-action{border:0;border-radius:11px;padding:12px 10px;font-weight:800;cursor:pointer}.topic-action.clear{background:#f1f4f8;color:#425267}.topic-action.review{background:#fff3cd;color:#805a00}.topic-action.prev{background:#eaf1fb;color:#123b68}.topic-action.next{background:#0d4d87;color:#fff}
.topic-side{background:#fff;border:1px solid #d9e5f1;border-radius:18px;padding:16px;height:max-content;position:sticky;top:90px}.topic-side-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.topic-side-head strong{color:#0a315f}.topic-timer{font-weight:900;color:#a16b09}.topic-omr{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.topic-bubble{aspect-ratio:1;border-radius:50%;border:1px solid #cbd7e5;background:#fff;cursor:pointer;font-size:12px;font-weight:800}.topic-bubble.answered{background:#dff4e6;border-color:#7fca98}.topic-bubble.review{box-shadow:0 0 0 2px #e8b84b inset}.topic-bubble.current{background:#0d4d87;color:#fff;border-color:#0d4d87}.topic-submit{width:100%;margin-top:14px;border:0;border-radius:11px;padding:12px;background:#b57d12;color:#fff;font-weight:900;cursor:pointer}.topic-score{background:#eef8f1;border:1px solid #b7dec2;border-radius:16px;padding:18px;margin-bottom:18px}.topic-score h3{margin:0 0 6px;color:#1b5c2d}.topic-score p{margin:4px 0;color:#395a43}
.topic-instruction-overlay{position:fixed;inset:0;background:rgba(4,18,38,.72);z-index:10000;display:grid;place-items:center;padding:18px}.topic-instruction-card{width:min(700px,100%);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28)}.topic-instruction-head{background:linear-gradient(135deg,#082b57,#0d4d87);color:#fff;padding:20px}.topic-instruction-head h2{margin:3px 0 0;color:#fff}.topic-instruction-body{padding:20px}.topic-instruction-body ul{padding-left:20px;color:#536174}.topic-instruction-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.topic-instruction-actions button{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.topic-instruction-actions .cancel{background:#edf2f8;color:#37495e}.topic-instruction-actions .start{background:#0d4d87;color:#fff}
.hidden{display:none!important}
@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-test-wrap{grid-template-columns:1fr}.topic-side{position:static}.topic-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.topic-grid,.topic-set-grid{grid-template-columns:1fr}.topic-practice-shell{padding-top:22px}.topic-intro-card{padding:18px}.topic-question-card{padding:16px}.topic-actions{margin-top:12px}.topic-action{min-height:44px}.topic-panel-head{flex-direction:column}.topic-side{padding:14px}.topic-omr{grid-template-columns:repeat(10,1fr);gap:5px}.topic-bubble{font-size:10px}.topic-instruction-actions{flex-direction:column-reverse}.topic-instruction-actions button{width:100%}}
