/* ============================================
   BOARD PREP — PREMIUM DARK THEME
   ============================================ */
:root {
    --bp-bg: #050510;
    --bp-surface: rgba(255,255,255,0.04);
    --bp-surface-hover: rgba(255,255,255,0.08);
    --bp-border: rgba(255,255,255,0.08);
    --bp-text: #f1f5f9;
    --bp-text-dim: rgba(255,255,255,0.55);
    --bp-primary: #8b5cf6;
    --bp-primary-glow: rgba(139,92,246,0.35);
    --bp-accent: #6366f1;
    --bp-success: #10b981;
    --bp-error: #ef4444;
    --bp-warn: #f59e0b;
    --bp-radius: 14px;
    --bp-transition: cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Outfit',sans-serif;background:var(--bp-bg);color:var(--bp-text);min-height:100vh;overflow-x:hidden;font-size:16px}

/* BG */
.bp-bg{position:fixed;inset:0;z-index:0;background:#030308}
.bp-bg::before{content:'';position:absolute;top:-40%;left:-40%;width:180%;height:180%;background:radial-gradient(ellipse at 25% 25%,rgba(139,92,246,.12) 0%,transparent 50%),radial-gradient(ellipse at 75% 60%,rgba(99,102,241,.08) 0%,transparent 50%);animation:bpBgDrift 25s ease-in-out infinite;filter:blur(80px)}
@keyframes bpBgDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-3%,3%)}}

/* Container */
.bp-container{position:relative;z-index:10;max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}

/* Header */
.bp-header{display:flex;align-items:center;gap:1rem;padding:1rem 0 1.5rem}
.bp-back{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:50px;color:#fff;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s var(--bp-transition);backdrop-filter:blur(10px)}
.bp-back:hover{background:var(--bp-surface-hover);transform:translateX(-3px)}
.bp-header-info{flex:1}
.bp-header-info h1{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.bp-header-info p{font-size:1rem;color:var(--bp-text-dim);margin-top:.15rem}

/* Filter Bar */
.bp-filters{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);margin-bottom:2rem;backdrop-filter:blur(12px)}
.bp-dropdown-group{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:140px}
.bp-label{font-size:.8rem;font-weight:700;color:var(--bp-text-dim);text-transform:uppercase;letter-spacing:.5px}
.bp-select{padding:.7rem 1rem;border-radius:10px;border:1.5px solid var(--bp-border);background:rgba(255,255,255,.04);color:var(--bp-text);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s var(--bp-transition);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}
.bp-select:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}
.bp-select:focus{outline:none;border-color:var(--bp-primary);box-shadow:0 0 0 3px var(--bp-primary-glow)}
.bp-select option{background:#1a1a2e;color:#fff;padding:.5rem}
.bp-select option:disabled{color:#555}

/* Section Title */
.bp-section-title{font-size:1.35rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}

/* View Transitions */
.bp-view{display:none;animation:bpFadeIn .4s ease}
.bp-view.active{display:block}
@keyframes bpFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Chapter Grid */
.bp-chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.bp-chapter-card{position:relative;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:1.1rem 1.2rem;cursor:pointer;transition:all .35s var(--bp-transition);overflow:hidden}
.bp-chapter-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--ch-color,.5) 0%,transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.bp-chapter-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.15);box-shadow:0 12px 32px rgba(0,0,0,.4)}
.bp-chapter-card:hover::before{opacity:.08}
.bp-chapter-card .ch-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;position:relative;z-index:1}
.bp-chapter-card .ch-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);flex-shrink:0}
.bp-chapter-card .ch-num{font-size:.8rem;font-weight:700;color:var(--bp-text-dim);text-transform:uppercase;letter-spacing:.5px}
.bp-chapter-card .ch-name{font-size:1.1rem;font-weight:600;line-height:1.3;position:relative;z-index:1}
.bp-chapter-card .ch-name-hi{font-size:.95rem;color:var(--bp-text-dim);margin-top:.15rem;position:relative;z-index:1}
.bp-chapter-card .ch-stats{display:flex;gap:.75rem;margin-top:.7rem;position:relative;z-index:1}
.bp-chapter-card .ch-stat{font-size:.85rem;color:var(--bp-text-dim);display:flex;align-items:center;gap:.25rem;padding:.3rem .6rem;background:rgba(255,255,255,.04);border-radius:6px}
.bp-chapter-card.empty{opacity:.5;pointer-events:none}
.bp-chapter-card.empty::after{content:'Coming Soon';position:absolute;top:.6rem;right:.7rem;font-size:.6rem;padding:.2rem .5rem;background:rgba(255,255,255,.1);border-radius:6px;color:var(--bp-text-dim);font-weight:600}
.bp-chapter-card .ch-progress{height:3px;background:rgba(255,255,255,.06);border-radius:2px;margin-top:.6rem;position:relative;z-index:1;overflow:hidden}
.bp-chapter-card .ch-progress-fill{height:100%;background:linear-gradient(90deg,var(--bp-primary),var(--bp-accent));border-radius:2px;transition:width .5s var(--bp-transition)}

/* Type Selection */
.bp-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:520px;margin:0 auto}
.bp-type-card{position:relative;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .35s var(--bp-transition);overflow:hidden}
.bp-type-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.4)}
.bp-type-card .type-icon{font-size:2.5rem;margin-bottom:.75rem;display:block}
.bp-type-card .type-title{font-size:1.25rem;font-weight:700;margin-bottom:.35rem}
.bp-type-card .type-desc{font-size:.95rem;color:var(--bp-text-dim);line-height:1.5}
.bp-type-card .type-count{margin-top:.75rem;font-size:.9rem;font-weight:600;padding:.35rem .8rem;background:rgba(255,255,255,.06);border-radius:8px;display:inline-block}
.bp-type-card.mcq-card:hover{border-color:var(--bp-primary);box-shadow:0 15px 40px var(--bp-primary-glow)}
.bp-type-card.sub-card:hover{border-color:var(--bp-accent);box-shadow:0 15px 40px rgba(99,102,241,.25)}
.bp-type-card.disabled{opacity:.35;pointer-events:none}
.bp-type-back{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:10px;color:var(--bp-text-dim);font-size:.85rem;font-weight:500;cursor:pointer;margin-bottom:1.25rem;font-family:inherit;transition:all .3s}
.bp-type-back:hover{background:var(--bp-surface-hover);color:#fff}

/* ─── PRACTICE: Common ─── */
.bp-practice-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.bp-practice-progress{flex:1;min-width:180px}
.bp-practice-progress .prog-text{font-size:.8rem;color:var(--bp-text-dim);margin-bottom:.4rem;display:flex;justify-content:space-between}
.bp-practice-progress .prog-bar{height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.bp-practice-progress .prog-fill{height:100%;background:linear-gradient(90deg,var(--bp-primary),var(--bp-success));border-radius:3px;transition:width .4s var(--bp-transition)}
.bp-quit-btn{padding:.5rem 1rem;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.25);border-radius:10px;color:#fca5a5;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .3s}
.bp-quit-btn:hover{background:rgba(239,68,68,.25)}

/* ─── MCQ Mode ─── */
.bp-mcq-card{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:1.75rem;backdrop-filter:blur(12px)}
.bp-mcq-question{font-size:1.15rem;font-weight:600;line-height:1.65;margin-bottom:1.25rem;white-space:normal}
.bp-mcq-difficulty{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}
.bp-mcq-difficulty.easy{background:rgba(16,185,129,.15);color:#34d399}
.bp-mcq-difficulty.medium{background:rgba(245,158,11,.15);color:#fbbf24}
.bp-mcq-difficulty.hard{background:rgba(239,68,68,.15);color:#fca5a5}
.bp-mcq-options{display:flex;flex-direction:column;gap:.6rem}
.bp-mcq-option{display:flex;align-items:center;gap:.75rem;padding:1rem 1.2rem;background:rgba(255,255,255,.03);border:1.5px solid var(--bp-border);border-radius:12px;cursor:pointer;transition:all .25s var(--bp-transition);font-size:1.05rem;line-height:1.5}
.bp-mcq-option:hover:not(.disabled){background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);transform:translateX(4px)}
.bp-mcq-option .opt-letter{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);flex-shrink:0;transition:all .3s}
.bp-mcq-option.correct{border-color:var(--bp-success);background:rgba(16,185,129,.1)}
.bp-mcq-option.correct .opt-letter{background:var(--bp-success);color:#fff;border-color:var(--bp-success)}
.bp-mcq-option.wrong{border-color:var(--bp-error);background:rgba(239,68,68,.08)}
.bp-mcq-option.wrong .opt-letter{background:var(--bp-error);color:#fff;border-color:var(--bp-error)}
.bp-mcq-option.disabled{pointer-events:none;opacity:.7}
.bp-mcq-option.disabled.correct{opacity:1}

/* Explanation Box */
.bp-explanation{margin-top:1.25rem;padding:1.25rem;background:rgba(139,92,246,.06);border:1px solid rgba(139,92,246,.15);border-radius:12px;display:none;animation:bpFadeIn .3s ease}
.bp-explanation.show{display:block}
.bp-explanation .exp-title{font-size:.8rem;font-weight:700;color:var(--bp-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem}
.bp-explanation .exp-text{font-size:1.02rem;line-height:1.75;color:rgba(255,255,255,.88)}
.bp-mcq-next{display:none;margin-top:1.25rem;padding:.85rem 2rem;background:linear-gradient(135deg,var(--bp-primary),var(--bp-accent));border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .3s;box-shadow:0 6px 20px var(--bp-primary-glow)}
.bp-mcq-next.show{display:inline-flex;align-items:center;gap:.5rem}
.bp-mcq-next:hover{transform:translateY(-2px);box-shadow:0 8px 28px var(--bp-primary-glow)}

/* ─── Subjective Mode ─── */
.bp-sub-card{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:1.75rem;backdrop-filter:blur(12px)}
.bp-sub-marks{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:8px;font-size:.75rem;font-weight:700;background:rgba(99,102,241,.15);color:#a5b4fc;margin-bottom:.75rem}
.bp-sub-question{font-size:1.15rem;font-weight:600;line-height:1.65;margin-bottom:1.25rem;white-space:normal}
.bp-reveal-btn{padding:.85rem 2rem;background:linear-gradient(135deg,var(--bp-accent),var(--bp-primary));border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .3s;box-shadow:0 6px 20px rgba(99,102,241,.3);display:flex;align-items:center;gap:.5rem;margin:0 auto}
.bp-reveal-btn:hover{transform:translateY(-2px)}

.bp-sub-answer{display:none;margin-top:1.5rem;animation:bpFadeIn .4s ease}
.bp-sub-answer.show{display:block}
.bp-sub-answer-box{padding:1.25rem;background:rgba(16,185,129,.04);border:1px solid rgba(16,185,129,.12);border-radius:12px;margin-bottom:1rem}
.bp-sub-answer-box .ans-label{font-size:.75rem;font-weight:700;color:var(--bp-success);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;display:flex;align-items:center;gap:.3rem}
.bp-sub-answer-box .ans-text{font-size:1.02rem;line-height:1.75;color:rgba(255,255,255,.92);white-space:normal}
.bp-sub-answer-box .ans-text strong{color:#a5b4fc;font-weight:700}

/* Answer Headings & Content */
.bp-ans-h2,.bp-ans-h3,.bp-ans-h4,.bp-ans-h5{color:#c4b5fd;font-weight:700;margin-top:.9rem;margin-bottom:.5rem;line-height:1.4}
.bp-ans-h2{font-size:1.25rem}
.bp-ans-h3{font-size:1.15rem;color:#a78bfa}
.bp-ans-h4{font-size:1.05rem;color:#a5b4fc}
.bp-ans-h5{font-size:.98rem;color:#93c5fd}
.bp-ans-h2:first-child,.bp-ans-h3:first-child,.bp-ans-h4:first-child,.bp-ans-h5:first-child{margin-top:0}
.bp-ans-p{margin:.5rem 0;line-height:1.7;color:rgba(255,255,255,.9)}
.bp-ans-p:first-child{margin-top:0}
.bp-ans-p:last-child{margin-bottom:0}
.bp-ans-ul{list-style:none;padding:0;margin:.5rem 0}
.bp-ans-li{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.88);padding:.25rem 0 .25rem 1.4rem;position:relative}
.bp-ans-li::before{content:'•';position:absolute;left:.2rem;color:#a5b4fc;font-size:1.2rem;line-height:1.3}
.bp-ans-hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);margin:.9rem 0}
.bp-equation-box{margin:.85rem 0;padding:.75rem 1.2rem;background:rgba(30,41,59,.45);border:1px solid rgba(148,163,184,.2);border-radius:8px;text-align:center;font-size:1.02rem;font-weight:500;overflow-x:auto;color:#e2e8f0;line-height:1.6}
.bp-math-inline{font-weight:500;color:#f8fafc}
.bp-math-inline sub,.bp-equation-box sub{font-size:.78em;vertical-align:sub;line-height:0}
.bp-math-inline sup,.bp-equation-box sup{font-size:.78em;vertical-align:super;line-height:0}
.bp-inline-code{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.25);padding:.15rem .45rem;border-radius:6px;font-family:'JetBrains Mono','Fira Code',monospace;font-size:.9em;color:#cbd5e1}
.bp-code-block{background:rgba(15,23,42,.75);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.9rem 1.2rem;margin:.75rem 0;overflow-x:auto;font-family:'JetBrains Mono','Fira Code',monospace;font-size:.92rem;line-height:1.55;color:#e2e8f0}
.bp-code-block code{font-family:inherit;color:inherit}

.bp-key-points{padding:1rem 1.25rem;background:rgba(245,158,11,.04);border:1px solid rgba(245,158,11,.12);border-radius:12px;margin-bottom:1rem}
.bp-key-points .kp-label{font-size:.75rem;font-weight:700;color:var(--bp-warn);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem}
.bp-key-points ul{list-style:none;padding:0;margin:0}
.bp-key-points li{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.85);padding:.35rem 0 .35rem 1.4rem;position:relative}
.bp-key-points li::before{content:'✦';position:absolute;left:0;color:var(--bp-warn);font-size:.75rem}

.bp-example-box{padding:1rem 1.25rem;background:rgba(139,92,246,.04);border:1px solid rgba(139,92,246,.12);border-radius:12px;margin-bottom:1rem}
.bp-example-box .ex-label{font-size:.75rem;font-weight:700;color:var(--bp-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem}
.bp-example-box .ex-text{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.85);font-style:italic}

/* Diagram Box */
.bp-diagram-box{padding:1.25rem;background:rgba(56,189,248,.04);border:1px solid rgba(56,189,248,.15);border-radius:12px;margin-bottom:1rem;text-align:center}
.bp-diagram-box .diag-label{font-size:.85rem;font-weight:700;color:#38bdf8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;display:flex;align-items:center;gap:.35rem;justify-content:center}
.bp-diagram-img{max-width:100%;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px rgba(0,0,0,.3)}
.bp-diagram-svg{padding:.5rem 0;display:flex;justify-content:center}
.bp-diagram-svg svg{max-width:100%;height:auto}

/* Answer Tables */
.bp-table{width:100%;border-collapse:collapse;margin:.75rem 0;border-radius:10px;overflow:hidden;font-size:.95rem}
.bp-table th{background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(99,102,241,.25));color:#c4b5fd;padding:.65rem .75rem;text-align:left;font-weight:700;border:1px solid rgba(139,92,246,.25);white-space:nowrap}
.bp-table td{padding:.55rem .75rem;border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.85);line-height:1.5}
.bp-table tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.bp-table tbody tr:nth-child(even){background:rgba(255,255,255,.05)}
.bp-table tbody tr:hover{background:rgba(139,92,246,.08)}

.bp-sub-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}

/* Question Navigator */
.bp-q-nav{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);backdrop-filter:blur(12px)}
.bp-q-nav-section{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.bp-q-nav-label{font-size:.75rem;font-weight:700;color:var(--bp-text-dim);padding:.2rem .6rem;border-radius:6px;background:rgba(255,255,255,.03);min-width:90px;text-align:center;white-space:nowrap}
.bp-q-nav-pills{display:flex;gap:.35rem;flex-wrap:wrap}
.bp-q-pill{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:.85rem;font-weight:700;cursor:pointer;border:1.5px solid var(--bp-border);background:rgba(255,255,255,.03);color:var(--bp-text-dim);transition:all .25s var(--bp-transition)}
.bp-q-pill:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.bp-q-pill.active{background:linear-gradient(135deg,var(--bp-primary),var(--bp-accent));color:#fff;border-color:var(--bp-primary);box-shadow:0 4px 15px var(--bp-primary-glow)}
.bp-q-pill.short{border-bottom:2.5px solid var(--bp-success)}
.bp-q-pill.long{border-bottom:2.5px solid var(--bp-warn)}
.bp-q-pill.numerical{border-bottom:2.5px solid #38bdf8}
.bp-sub-btn{padding:.7rem 1.3rem;border-radius:10px;border:1px solid var(--bp-border);background:var(--bp-surface);color:var(--bp-text-dim);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .3s;display:flex;align-items:center;gap:.4rem}
.bp-sub-btn:hover{background:var(--bp-surface-hover);color:#fff}
.bp-sub-btn.understood{border-color:rgba(16,185,129,.3);color:#34d399}
.bp-sub-btn.understood:hover{background:rgba(16,185,129,.12)}
.bp-sub-btn.understood.active{background:#10b981 !important;color:#fff !important;border-color:#10b981 !important;box-shadow:0 4px 15px rgba(16,185,129,0.35)}
.bp-sub-btn.revise{border-color:rgba(245,158,11,.3);color:#fbbf24}
.bp-sub-btn.revise:hover{background:rgba(245,158,11,.12)}
.bp-sub-btn.revise.active{background:#f59e0b !important;color:#fff !important;border-color:#f59e0b !important;box-shadow:0 4px 15px rgba(245,158,11,0.35)}
.bp-sub-btn.next-q{background:linear-gradient(135deg,var(--bp-primary),var(--bp-accent));color:#fff;border:none;box-shadow:0 4px 15px var(--bp-primary-glow)}

.bp-q-pill.status-understood{background:rgba(16,185,129,0.2) !important;border-color:var(--bp-success) !important;color:#34d399 !important}
.bp-q-pill.status-revise{background:rgba(245,158,11,0.2) !important;border-color:var(--bp-warn) !important;color:#fbbf24 !important}

.sub-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:6px;font-size:.65rem;font-weight:700;margin-left:.5rem}
.sub-status-badge.understood{background:rgba(16,185,129,0.15);color:#34d399;border:1px solid rgba(16,185,129,0.3)}
.sub-status-badge.revise{background:rgba(245,158,11,0.15);color:#fbbf24;border:1px solid rgba(245,158,11,0.3)}

/* ─── Results ─── */
.bp-results-card{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:2rem;text-align:center;max-width:480px;margin:0 auto;backdrop-filter:blur(12px)}
.bp-results-card .res-icon{font-size:3rem;margin-bottom:.75rem}
.bp-results-card .res-title{font-size:1.4rem;font-weight:800;margin-bottom:.25rem}
.bp-results-card .res-subtitle{font-size:.9rem;color:var(--bp-text-dim);margin-bottom:1.5rem}
.bp-results-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}
.bp-results-stats .rs-item{padding:.75rem;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid var(--bp-border)}
.bp-results-stats .rs-value{font-size:1.3rem;font-weight:800;color:var(--bp-primary)}
.bp-results-stats .rs-label{font-size:.72rem;color:var(--bp-text-dim);margin-top:.2rem}
.bp-results-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.bp-results-actions button{padding:.75rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .3s;border:none}
.bp-results-actions .retry-btn{background:linear-gradient(135deg,var(--bp-primary),var(--bp-accent));color:#fff;box-shadow:0 4px 15px var(--bp-primary-glow)}
.bp-results-actions .back-btn{background:var(--bp-surface);color:var(--bp-text-dim);border:1px solid var(--bp-border)}

/* Locked Chapter Cards */
.bp-chapter-card.locked{opacity:.7;position:relative}
.bp-chapter-card.locked::after{content:'';position:absolute;inset:0;border-radius:var(--bp-radius);background:linear-gradient(135deg,rgba(0,0,0,.15),rgba(0,0,0,.05));pointer-events:none}
.bp-chapter-card.locked:hover{transform:translateY(-4px);opacity:.85}
.ch-lock{font-size:.9rem;margin-left:auto}
.ch-free{margin-left:auto;font-size:.6rem;font-weight:800;padding:.15rem .5rem;border-radius:6px;background:linear-gradient(135deg,#10b981,#34d399);color:#022c22;letter-spacing:.5px}
.ch-premium-badge{text-align:center;font-size:.75rem;font-weight:700;padding:.35rem .6rem;border-radius:8px;background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(245,158,11,.08));color:#fbbf24;border:1px solid rgba(251,191,36,.2);margin-top:.5rem}

/* MCQ Set Cards Selection */
.bp-sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.bp-set-card{position:relative;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:1.25rem 1.4rem;cursor:pointer;transition:all .35s var(--bp-transition);overflow:hidden;display:flex;flex-direction:column;gap:.4rem}
.bp-set-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--ch-color,.5) 0%,transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.bp-set-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.15);box-shadow:0 12px 32px rgba(0,0,0,.4)}
.bp-set-card:hover::before{opacity:.08}
.bp-set-card .set-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem;position:relative;z-index:1}
.bp-set-card .set-icon{font-size:1.3rem}
.bp-set-card .set-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.bp-set-card .set-badge.completed{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}
.bp-set-card .set-badge.in-progress{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}
.bp-set-card .set-badge.not-started{background:rgba(255,255,255,.05);color:var(--bp-text-dim);border:1px solid rgba(255,255,255,.1)}
.bp-set-card .set-name{font-size:1.05rem;font-weight:600;position:relative;z-index:1;color:#fff}
.bp-set-card .set-count{font-size:.85rem;color:var(--bp-text-dim);position:relative;z-index:1}
.bp-set-card .set-score{font-size:.85rem;font-weight:600;color:var(--bp-accent);position:relative;z-index:1;margin-top:.1rem}

/* Responsive */
@media(max-width:600px){
    .bp-container{padding:1rem .75rem 2rem}
    .bp-header h1{font-size:1.2rem}
    .bp-chapters-grid{grid-template-columns:1fr}
    .bp-sets-grid{grid-template-columns:1fr}
    .bp-type-grid{grid-template-columns:1fr}
    .bp-mcq-card,.bp-sub-card{padding:1.25rem}
    .bp-filters{gap:.35rem;padding:.5rem}
    .bp-filter-chip{padding:.45rem .75rem;font-size:.75rem}
}
