/* ==== extracted from original offset 427 ==== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --navy:#1a3c6e; --blue:#2a5298; --accent:#f0a500;
      --light-bg:#f4f6f9; --card-bg:#fff; --text:#222; --muted:#444; --border:#dce8ff;
      --cl9:#e74c3c; --cl10:#27ae60; --cl11:#8e44ad; --cl12:#2980b9;
    }
    body { font-family:'Segoe UI',Arial,sans-serif; background:var(--light-bg); color:var(--text); }
    /* ── NAVBAR ── */
    header { background:var(--navy); position:sticky; top:0; z-index:1000; box-shadow:0 2px 8px rgba(0,0,0,.25); }
    nav.navbar { max-width:1300px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:0 16px; height:60px; }
    .logo { color:#fff; font-size:1.2rem; font-weight:700; white-space:nowrap; }
    ul.nav-links { list-style:none; display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
    ul.nav-links>li>a { display:block; color:#dce8ff; text-decoration:none; padding:16px 10px; font-size:.82rem; transition:background .2s; white-space:nowrap; }
    ul.nav-links>li>a:hover { background:var(--blue); color:#fff; }
    li.dropdown { position:relative; }
    ul.dropdown-menu { display:none; position:absolute; top:100%; left:0; list-style:none; background:#fff; min-width:220px; border-radius:0 0 8px 8px; box-shadow:0 6px 20px rgba(0,0,0,.15); z-index:999; }
    ul.dropdown-menu li a { display:block; padding:10px 16px; color:var(--navy); text-decoration:none; font-size:.85rem; border-bottom:1px solid #eef2f8; transition:background .15s; }
    ul.dropdown-menu li:last-child a { border-bottom:none; }
    ul.dropdown-menu li a:hover { background:#eef2fb; color:var(--blue); }
    li.dropdown:hover ul.dropdown-menu { display:block; }
    .submenu-parent { position:relative; }
    .submenu { display:none; position:absolute; top:0; left:100%; list-style:none; background:#fff; min-width:190px; border-radius:0 8px 8px 8px; box-shadow:0 6px 20px rgba(0,0,0,.15); z-index:1000; }
    .submenu li a { display:block; padding:10px 16px; color:var(--navy); text-decoration:none; font-size:.85rem; border-bottom:1px solid #eef2f8; }
    .submenu li:last-child a { border-bottom:none; }
    .submenu li a:hover { background:#eef2fb; }
    .submenu-parent:hover .submenu { display:block; }
    /* ── HERO ── */
    .hero { width:100%; background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 60%,#1e6ab5 100%); padding:70px 20px; text-align:center; color:#fff; }
    .hero h1 { font-size:2.6rem; font-weight:800; margin-bottom:12px; }
    .hero p { font-size:1.1rem; color:#c8dcff; max-width:600px; margin:0 auto 28px; }
    .hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
    .btn-primary { background:var(--accent); color:#fff; border:none; padding:13px 26px; border-radius:6px; font-size:.95rem; font-weight:600; cursor:pointer; transition:background .2s; }
    .btn-primary:hover { background:#d4900a; }
    .btn-secondary { background:transparent; color:#fff; border:2px solid #fff; padding:12px 24px; border-radius:6px; font-size:.95rem; font-weight:600; cursor:pointer; transition:all .2s; }
    .btn-secondary:hover { background:#fff; color:var(--navy); }
    /* ── CARDS ── */
    .card { background:var(--card-bg); max-width:960px; margin:30px auto; padding:28px 34px; border-radius:10px; box-shadow:0 2px 12px rgba(0,0,0,.08); }
    .card h2 { color:var(--navy); font-size:1.35rem; margin-bottom:16px; border-left:4px solid var(--blue); padding-left:12px; }
    .card p { line-height:1.75; color:var(--muted); margin-bottom:10px; }
    .card ul { padding-left:20px; color:var(--muted); }
    .card ul li { margin-bottom:6px; line-height:1.6; }
    .ai-badge { display:inline-block; background:linear-gradient(90deg,#f0a500,#e07b00); color:#fff; font-size:.68rem; font-weight:700; padding:2px 7px; border-radius:4px; vertical-align:middle; margin-left:6px; }
    /* ── WHY CHOOSE US TABLE ── */
    .wcu-table-wrap { overflow-x:auto; border-radius:14px; box-shadow:0 8px 28px rgba(26,60,110,.14); margin-top:4px; }
    .wcu-table { width:100%; min-width:480px; border-collapse:separate; border-spacing:0; }
    .wcu-table thead tr { background:linear-gradient(100deg,var(--navy) 0%,var(--blue) 100%); }
    .wcu-table th { color:#fff; text-align:left; padding:15px 22px; font-family:'Poppins',sans-serif; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }
    .wcu-table th:first-child { border-radius:14px 0 0 0; }
    .wcu-table th:last-child { border-radius:0 14px 0 0; }
    .wcu-table tbody tr { background:#fff; border-left:5px solid var(--wcu-accent, var(--accent)); transition:background .2s, transform .15s; }
    .wcu-table tbody tr:nth-child(even) { background:#f8faff; }
    .wcu-table tbody tr:hover { background:#eef4ff; transform:translateX(3px); }
    .wcu-table td { padding:16px 22px; font-size:.92rem; color:var(--text); border-bottom:1px solid #eef2f8; vertical-align:middle; }
    .wcu-table tbody tr:last-child td { border-bottom:none; }
    .wcu-table tbody tr:last-child td:first-child { border-radius:0 0 0 14px; }
    .wcu-table tbody tr:last-child td:last-child { border-radius:0 0 14px 0; }
    .wcu-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--wcu-accent, var(--accent)); color:#fff; font-size:1.05rem; margin-right:12px; vertical-align:middle; box-shadow:0 3px 8px rgba(0,0,0,.15); }
    .wcu-title { font-family:'Poppins',sans-serif; font-weight:700; color:var(--navy); font-size:.95rem; letter-spacing:.01em; }
    .wcu-desc { color:var(--muted); line-height:1.6; }
    @media (max-width:560px){
      .wcu-table-wrap { box-shadow:none; }
      .wcu-table, .wcu-table thead, .wcu-table tbody, .wcu-table tr, .wcu-table td { display:block; width:100%; min-width:0; }
      .wcu-table thead { display:none; }
      .wcu-table tbody tr { border-radius:10px; margin-bottom:10px; box-shadow:0 4px 14px rgba(26,60,110,.1); }
      .wcu-table tbody tr:last-child td:first-child,
      .wcu-table tbody tr:last-child td:last-child { border-radius:10px 10px 0 0; }
      .wcu-table td:first-child { border-bottom:none; padding-bottom:6px; }
      .wcu-table td:last-child { padding-top:0; border-radius:0 0 10px 10px; }
    }
    /* ── SMART SEARCH ── */
    .search-bar { display:flex; gap:10px; margin-bottom:16px; }
    .search-bar input { flex:1; padding:11px 14px; border:2px solid var(--border); border-radius:8px; font-size:.95rem; outline:none; transition:border .2s; }
    .search-bar input:focus { border-color:var(--blue); }
    .search-bar button { background:var(--blue); color:#fff; border:none; padding:11px 18px; border-radius:8px; cursor:pointer; font-size:.95rem; }
    .search-result-item { padding:11px 14px; border-radius:6px; background:#f0f5ff; margin-bottom:8px; border-left:3px solid var(--blue); cursor:pointer; }
    .search-result-item:hover { background:#dce8ff; }
    .search-result-item strong { color:var(--navy); display:block; font-size:.93rem; }
    .search-result-item span { font-size:.82rem; color:#666; }
    .no-result { color:#888; font-style:italic; padding:8px 0; }
    /* ── CHATBOT ── */
    .chat-window { border:1.5px solid var(--border); border-radius:10px; height:320px; overflow-y:auto; padding:14px; background:#f8faff; margin-bottom:12px; display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth; }
    .chat-msg { max-width:82%; padding:10px 14px; border-radius:14px; font-size:.9rem; line-height:1.5; }
    .chat-msg.bot { background:var(--navy); color:#fff; border-bottom-left-radius:4px; align-self:flex-start; }
    .chat-msg.user { background:var(--accent); color:#fff; border-bottom-right-radius:4px; align-self:flex-end; }
    .chat-input-row { display:flex; gap:10px; }
    .chat-input-row input { flex:1; padding:10px 13px; border:2px solid var(--border); border-radius:8px; font-size:.93rem; outline:none; }
    .chat-input-row input:focus { border-color:var(--blue); }
    .chat-input-row button { background:var(--blue); color:#fff; border:none; padding:10px 16px; border-radius:8px; cursor:pointer; }
    .chat-input-row button:disabled { opacity:.5; cursor:not-allowed; }
    .typing-dots span { display:inline-block; width:6px; height:6px; background:#aec3e8; border-radius:50%; margin:0 2px; animation:bounce 1.2s infinite; }
    .typing-dots span:nth-child(2) { animation-delay:.2s; }
    .typing-dots span:nth-child(3) { animation-delay:.4s; }
    @keyframes bounce { 0%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-7px)} }

    /* ── AI PAPER GENERATOR ── */
    /* ── FLOATING ANNOUNCEMENT BAR (just below navbar) ── */
    .ann-bar { position:fixed; left:0; right:0; top:60px; bottom:auto; z-index:999; display:flex; flex-direction:row; align-items:center; gap:10px;
      background:linear-gradient(135deg,#1a3c6e 0%,#2a5298 100%); border-bottom:3px solid var(--accent);
      padding:8px 14px; box-shadow:0 4px 14px rgba(0,0,0,.25); }
    .ann-bar .ann-icon { font-size:1.2rem; flex:0 0 auto; animation:annPulse 1.6s infinite; }
    @keyframes annPulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.18);} }
    .ann-track { flex:1 1 auto; overflow:hidden; white-space:nowrap; }
    .ann-track span { display:inline-block; padding-left:100%; color:#fff; font-weight:600; font-size:.86rem;
      animation:annScroll 35s linear infinite; }
    .ann-track:hover span { animation-play-state:paused; }
    @keyframes annScroll { 0%{transform:translateX(0);} 100%{transform:translateX(-100%);} }
    .ann-bar button.ann-btn { flex:0 0 auto; background:var(--accent); color:#1a3c6e; border:none; border-radius:20px;
      padding:6px 14px; font-size:.78rem; font-weight:700; cursor:pointer; }
    .ann-bar button.ann-close { position:static; flex:0 0 auto; background:transparent; color:#fff; border:none; font-size:1rem; cursor:pointer; }
    @media (max-width:680px){ .ann-bar button.ann-btn { display:none; } }
    .ann-modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:10000; }
    .ann-modal { background:#fff; max-width:680px; width:92%; max-height:82vh; overflow-y:auto; margin:5vh auto;
      border-radius:12px; padding:24px; position:relative; }
    .ann-modal h3 { color:var(--navy); margin:14px 0 8px; border-bottom:2px solid var(--accent); padding-bottom:4px; }
    .ann-modal h3:first-of-type { margin-top:0; }
    .ann-modal table { width:100%; border-collapse:collapse; font-size:.85rem; margin:8px 0 14px; }
    .ann-modal th, .ann-modal td { border:1px solid var(--border); padding:7px 10px; text-align:left; }
    .ann-modal th { background:#f4f6f9; color:var(--navy); }
    .ann-modal ul { margin:6px 0 12px 20px; font-size:.88rem; line-height:1.7; }
    .ann-modal .ann-modal-close { position:absolute; top:10px; right:14px; background:transparent; border:none;
      font-size:1.4rem; cursor:pointer; color:#555; }
    @media print { .ann-bar, .ann-modal-overlay { display:none !important; } }
    .pg-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:16px; }
    .pg-field label { display:block; font-size:.82rem; font-weight:700; color:var(--navy); margin-bottom:6px; }
    .pg-field select, .pg-field input[type=text], .pg-field input[type=number], .pg-field textarea {
      width:100%; padding:10px 12px; border:2px solid var(--border); border-radius:8px; font-size:.9rem; outline:none; font-family:inherit; background:#fff; color:var(--text);
    }
    .pg-field select:focus, .pg-field input:focus, .pg-field textarea:focus { border-color:var(--blue); }
    .pg-field textarea { resize:vertical; min-height:70px; }
    .pg-settings { background:#f4f6f9; border:1.5px dashed var(--border); border-radius:10px; padding:16px; margin-bottom:18px; }
    .pg-settings summary { cursor:pointer; font-weight:700; color:var(--navy); font-size:.9rem; }
    .pg-note { font-size:.78rem; color:#777; line-height:1.6; margin-top:8px; }
    .pg-toggle-row { display:flex; flex-wrap:wrap; gap:18px; background:#f4f8ff; border:1px solid #dce8ff; border-radius:10px; padding:12px 16px; margin-bottom:18px; }
    .pg-toggle { display:flex; align-items:center; gap:8px; font-size:.84rem; font-weight:600; color:var(--navy); cursor:pointer; }
    .pg-toggle input[type="checkbox"] { width:16px; height:16px; cursor:pointer; accent-color:var(--blue); }
    .pg-slo-tag { background:#eef7ff; border-left:3px solid var(--blue); color:#1a5276; font-size:.78rem; font-weight:600; padding:6px 10px; border-radius:6px; margin:8px 0 2px; }

    /* ── AI PAPER CHECKER ── */
    .pc-mode-tabs { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
    .pc-mode-btn { flex:1; min-width:200px; background:#f4f7fb; border:2px solid #e2e8f5; border-radius:12px; padding:14px 16px; cursor:pointer; text-align:center; font-weight:700; font-size:.9rem; color:#5b6776; transition:all .2s; }
    .pc-mode-btn.active { background:linear-gradient(135deg,var(--blue),var(--navy)); color:#fff; border-color:var(--navy); box-shadow:0 6px 16px rgba(26,60,110,.25); }
    .pc-mode-panel { display:none; }
    .pc-mode-panel.active { display:block; }
    .pc-section { background:#fafbfd; border:1px solid #e7edf9; border-radius:12px; padding:18px; margin-bottom:18px; }
    .pc-section-title { font-weight:700; color:var(--navy); font-size:.92rem; margin-bottom:12px; display:flex; align-items:center; gap:7px; }
    .pc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:14px; }
    .pc-field label { display:block; font-size:.78rem; font-weight:700; color:var(--navy); margin-bottom:5px; }
    .pc-field input[type=text], .pc-field input[type=number], .pc-field textarea, .pc-field select {
      width:100%; padding:9px 11px; border:1px solid #d6dfee; border-radius:8px; font-size:.86rem; font-family:inherit; box-sizing:border-box;
    }
    .pc-field textarea { min-height:70px; resize:vertical; }
    .pc-key-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:8px; margin-top:10px; max-height:260px; overflow-y:auto; padding:4px; }
    .pc-key-cell { background:#fff; border:1px solid #e2e8f5; border-radius:8px; padding:6px; text-align:center; }
    .pc-key-cell span { display:block; font-size:.68rem; font-weight:700; color:#789; margin-bottom:3px; }
    .pc-key-cell select { width:100%; border:1px solid #d6dfee; border-radius:5px; padding:3px; font-size:.78rem; font-weight:700; text-align:center; }
    .pc-capture-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    .pc-cam-box { width:100%; max-width:420px; background:#000; border-radius:10px; overflow:hidden; position:relative; display:none; }
    .pc-cam-box video { width:100%; display:block; }
    .pc-thumbs { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
    .pc-thumb { position:relative; width:110px; height:140px; border-radius:8px; overflow:hidden; border:2px solid #d6dfee; }
    .pc-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
    .pc-thumb .pc-thumb-del { position:absolute; top:3px; right:3px; background:rgba(220,53,69,.9); color:#fff; border:none; border-radius:50%; width:20px; height:20px; font-size:.7rem; cursor:pointer; line-height:1; }
    .pc-thumb .pc-thumb-tag { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.6); color:#fff; font-size:.62rem; text-align:center; padding:2px; }
    .pc-result-table { width:100%; border-collapse:collapse; font-size:.82rem; margin-top:10px; }
    .pc-result-table th, .pc-result-table td { border:1px solid #e2e8f5; padding:7px 9px; text-align:left; }
    .pc-result-table th { background:#f0f5ff; color:var(--navy); font-weight:700; }
    .pc-result-table td.pc-correct { background:#eafaf0; color:#1e8449; font-weight:700; }
    .pc-result-table td.pc-wrong { background:#fdecea; color:#c0392b; font-weight:700; }
    .pc-result-table td.pc-blank { background:#fdf6e3; color:#9a7d0a; font-weight:700; }
    .pc-score-banner { display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; background:linear-gradient(135deg,var(--blue),var(--navy)); color:#fff; border-radius:12px; padding:18px 20px; margin:14px 0; }
    .pc-score-banner .pc-score-big { font-size:2.1rem; font-weight:800; }
    .pc-score-chip-row { display:flex; gap:10px; flex-wrap:wrap; }
    .pc-score-chip2 { background:rgba(255,255,255,.15); border-radius:8px; padding:8px 14px; font-size:.78rem; font-weight:600; text-align:center; }
    .pc-score-chip2 b { display:block; font-size:1.1rem; }
    .pc-compiler-summary { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
    .pc-compiler-stat { flex:1; min-width:120px; background:#f4f7ff; border:1px solid #e2eaff; border-radius:10px; padding:10px 14px; text-align:center; }
    .pc-compiler-stat b { display:block; font-size:1.3rem; color:var(--navy); }
    .pc-compiler-stat span { font-size:.72rem; color:#777; font-weight:600; }

    /* ── AI VOCABULARY BUILDER ── */
    .vb-source-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px; margin-top:8px; }
    .vb-source-chip { display:flex; align-items:center; gap:7px; background:#fff; border:1px solid #e2e8f5; border-radius:8px; padding:8px 10px; font-size:.8rem; font-weight:600; color:#444; cursor:pointer; }
    .vb-source-chip input { width:15px; height:15px; cursor:pointer; accent-color:var(--blue); }
    .vb-word-card { background:#fff; border:1px solid #e7edf9; border-radius:12px; padding:16px 18px; margin-bottom:14px; box-shadow:0 4px 12px rgba(26,60,110,.07); }
    .vb-word-head { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
    .vb-word-head h4 { font-family:'Poppins',sans-serif; font-size:1.15rem; color:var(--navy); margin:0; }
    .vb-pos { font-size:.7rem; font-weight:700; color:#888; background:#f0f2f7; padding:2px 8px; border-radius:10px; text-transform:uppercase; }
    .vb-source-badge { font-size:.68rem; font-weight:700; color:#fff; background:linear-gradient(90deg,var(--blue),var(--navy)); padding:3px 9px; border-radius:10px; margin-left:auto; }
    .vb-row { font-size:.85rem; color:#444; margin:4px 0; line-height:1.55; }
    .vb-row b { color:var(--navy); }
    .vb-usage { font-style:italic; color:#555; background:#f8f9fc; border-left:3px solid var(--blue); padding:8px 12px; border-radius:6px; margin-top:8px; font-size:.84rem; }
    .vb-bank-item { display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fafbfd; border:1px solid #e7edf9; border-radius:8px; padding:8px 12px; margin-bottom:6px; font-size:.84rem; }

    /* ── REGISTRATION GATES (Teacher / Student) ── */
    .reg-gate-wrap { max-width:560px; margin:30px auto; background:#fff; border:1px solid #e7edf9; border-radius:16px; box-shadow:0 10px 30px rgba(26,60,110,.1); padding:30px 32px; }
    .reg-gate-icon { width:60px; height:60px; border-radius:18px; background:linear-gradient(135deg,var(--blue),var(--navy)); display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin-bottom:16px; box-shadow:0 8px 18px rgba(26,60,110,.3); }
    .reg-gate-wrap h2 { margin:0 0 6px; font-size:1.25rem; }
    .reg-gate-wrap p.reg-sub { color:#666; font-size:.86rem; margin-bottom:20px; line-height:1.5; }
    .reg-field { margin-bottom:14px; }
    .reg-field label { display:block; font-size:.78rem; font-weight:700; color:var(--navy); margin-bottom:5px; }
    .reg-field input, .reg-field select { width:100%; padding:10px 12px; border:1px solid #d6dfee; border-radius:8px; font-size:.88rem; font-family:inherit; box-sizing:border-box; }
    .reg-row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .reg-note { font-size:.74rem; color:#888; line-height:1.5; margin-top:14px; }
    .reg-status-msg { font-size:.82rem; border-radius:8px; padding:9px 12px; margin-top:12px; }
    .reg-status-msg.ok { background:#eafaf0; color:#1e8449; }
    .reg-status-msg.err { background:#fdecea; color:#c0392b; }
    .pg-key-row { display:flex; gap:10px; margin-top:10px; flex-wrap:wrap; }
    .pg-key-row input { flex:1; min-width:200px; padding:9px 12px; border:2px solid var(--border); border-radius:8px; font-size:.85rem; }
    .pg-status-chip { display:inline-block; font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px; margin-left:8px; }
    .pg-status-chip.on { background:#e8f8ed; color:#27ae60; }
    .pg-status-chip.off { background:#fde8e8; color:#e74c3c; }
    .pg-output { border:2px solid var(--border); border-radius:10px; padding:24px; background:#fff; margin-top:18px; min-height:80px; line-height:1.8; font-size:.92rem; }
    .pg-output h3 { color:var(--navy); margin:14px 0 8px; font-size:1.05rem; border-bottom:2px solid var(--accent); padding-bottom:4px; }
    .pg-output h3:first-child { margin-top:0; }
    .pg-output ol, .pg-output ul { margin:6px 0 12px 22px; }
    .pg-output li { margin-bottom:8px; }
    .pg-output p { margin-bottom:8px; color:var(--text); }
    .pg-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
    .pg-actions button { background:var(--blue); color:#fff; border:none; padding:9px 16px; border-radius:8px; font-size:.82rem; font-weight:600; cursor:pointer; }
    .pg-actions button:hover { background:var(--navy); }
    .pg-loading { display:flex; align-items:center; gap:10px; color:#666; font-size:.9rem; padding:10px 0; }
    .pg-filebox { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .pg-filebox input[type=file] { font-size:.82rem; }
    .pg-filename { font-size:.78rem; color:#27ae60; font-weight:600; }
    .pg-breakdown { background:#f4f6f9; border:1.5px dashed var(--border); border-radius:10px; padding:16px; margin-bottom:16px; }
    .pg-breakdown-title { font-size:.88rem; font-weight:700; color:var(--navy); margin-bottom:12px; }
    .pg-breakdown-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:10px 0; border-bottom:1px solid var(--border); }
    .pg-breakdown-row:last-of-type { border-bottom:none; }
    .pg-breakdown-label { flex:1 1 170px; font-size:.85rem; font-weight:700; color:var(--navy); }
    .pg-breakdown-row label.pg-sub { display:flex; flex-direction:column; font-size:.72rem; font-weight:600; color:#666; gap:4px; }
    .pg-breakdown-row input[type=number] { width:90px; padding:7px 9px; border:2px solid var(--border); border-radius:7px; font-size:.85rem; outline:none; font-family:inherit; }
    .pg-breakdown-row input[type=number]:focus { border-color:var(--blue); }
    .pg-breakdown-subtotal { font-size:.82rem; font-weight:700; color:var(--blue); min-width:80px; text-align:right; }
    .pg-breakdown-total { margin-top:12px; font-size:.92rem; font-weight:700; color:var(--navy); text-align:right; }
    .pg-breakdown-total span { color:var(--blue); font-size:1.1rem; }
    @media print {
      header, .hero, footer, .pg-field, .pg-settings, .pg-actions, .btn-secondary, nav { display:none !important; }
      .pg-output { border:none; }
    }

    /* ══════════════════════════════════════
       CLASS TABS  (IX / X / XI / XII)
    ══════════════════════════════════════ */
    .class-tab-bar {
      display:flex; gap:8px; margin-bottom:20px; padding:7px;
      border-radius:16px; overflow-x:auto; overflow-y:hidden;
      background:linear-gradient(135deg,#eef3fb,#e2ebf7);
      border:1px solid #dbe6f5;
      box-shadow:inset 0 1px 3px rgba(26,60,110,.08);
      scrollbar-width:thin; -webkit-overflow-scrolling:touch;
    }
    .class-tab-bar::-webkit-scrollbar { height:6px; }
    .class-tab-bar::-webkit-scrollbar-track { background:transparent; }
    .class-tab-bar::-webkit-scrollbar-thumb { background:#c3d3ea; border-radius:3px; }
    .class-select-wrap { display:flex; align-items:center; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
    .class-select-label { font-weight:700; color:var(--navy); font-size:.95rem; }
    .class-select { flex:1; min-width:220px; max-width:360px; padding:12px 16px; border-radius:10px; border:2px solid var(--border); font-size:.95rem; font-weight:600; color:var(--navy); background:#fff; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:border-color .2s; }
    .css-tab-btn { padding:10px 18px; border-radius:8px; border:2px solid var(--border); background:#fff; color:var(--navy); font-weight:700; font-size:.85rem; cursor:pointer; transition:.2s; }
    .css-tab-btn.active, .css-tab-btn:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
    .css-panel { display:none; }
    .css-panel.active { display:block; animation:fadeIn .25s; }
    .css-panel h3 { color:#C0392B; margin:18px 0 8px; font-size:1.05rem; }
    .css-panel h3:first-child { margin-top:4px; }
    .css-panel ul, .css-panel ol { margin:8px 0 14px 22px; }
    .css-panel li { margin-bottom:6px; line-height:1.5; }
    .css-panel p { line-height:1.6; margin-bottom:10px; }
    /* ── PRECIS RESOURCE ITEM GRIDS (plain section style, matching Grammar/Precis tabs) ── */
    .golden-rules-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:10px; }
    .golden-rule-chip { background:#fff; border-radius:9px; padding:11px 13px; box-shadow:0 2px 6px rgba(0,0,0,.06); border:1px solid #f3e3bd; transition:transform .15s, box-shadow .15s; }
    .golden-rule-chip:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.1); }
    .golden-rule-chip .grc-num { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--accent); color:#fff; font-size:.72rem; font-weight:800; margin-right:7px; flex-shrink:0; }
    .golden-rule-chip .grc-title { font-weight:700; color:#1a3c6e; font-size:.86rem; }
    .golden-rule-chip .grc-desc { font-size:.78rem; color:#555; margin-top:5px; line-height:1.5; }
    .gr-toggle-wrap { text-align:center; margin-top:16px; }
    .gr-toggle-btn { background:var(--accent); color:#fff; border:none; padding:9px 22px; border-radius:20px; font-weight:700; font-size:.82rem; cursor:pointer; box-shadow:0 3px 8px rgba(240,165,0,.35); }
    .gr-toggle-btn:hover { background:#d4900a; }
    .gr-extra-rules { display:none; }
    .gr-extra-rules.shown { display:grid; }
    .criteria-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:0 0 4px; }
    .criteria-card { background:#fff; border-radius:11px; padding:14px 16px; box-shadow:0 4px 12px rgba(0,0,0,.09); border-top:4px solid var(--cl12); transition:transform .15s, box-shadow .15s; }
    .criteria-card:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.13); }
    .criteria-card .cc-icon { font-size:1.3rem; margin-bottom:6px; display:block; }
    .criteria-card .cc-title { font-weight:800; color:var(--cl12); font-size:.88rem; display:block; margin-bottom:5px; }
    .criteria-card .cc-desc { font-size:.8rem; color:#555; line-height:1.5; }

    .title-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:0 0 4px; }
    .title-example-card { background:#fff; border-radius:11px; padding:15px 17px; box-shadow:0 4px 12px rgba(0,0,0,.09); border-top:4px solid #1e8449; transition:transform .15s, box-shadow .15s; }
    .title-example-card:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.13); }
    .title-example-card .tec-theme { font-weight:800; color:#1a3c6e; font-size:.82rem; text-transform:uppercase; letter-spacing:.02em; margin-bottom:10px; display:block; }
    .title-example-card .tec-row { font-size:.83rem; margin-bottom:8px; line-height:1.5; }
    .title-example-card .tec-row .tec-label { display:block; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-bottom:2px; }
    .title-example-card .tec-mediocre { color:#b94a3a; text-decoration:line-through; opacity:.85; }
    .title-example-card .tec-mediocre .tec-label { color:#b94a3a; text-decoration:none; opacity:1; }
    .title-example-card .tec-impactful { color:#1e8449; font-weight:700; }
    .title-example-card .tec-impactful .tec-label { color:#1e8449; }

    .contention-compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0 16px; }
    @media (max-width:560px){ .contention-compare { grid-template-columns:1fr; } }
    .contention-box { border-radius:10px; padding:13px 15px; font-size:.83rem; line-height:1.55; box-shadow:0 4px 12px rgba(0,0,0,.08); }
    .contention-box.stereotype { background:#fdecea; border:1px solid #f5c6bc; color:#943126; border-top:4px solid #c0392b; }
    .contention-box.dormant { background:#eafaf1; border:1px solid #a9dfbf; color:#1e6b41; border-top:4px solid #1e8449; }
    .contention-box .cb-label { font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; display:block; margin-bottom:6px; }
    .rule-of-three-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:10px 0 18px; }
    .r3-step { background:#fff; border-radius:10px; padding:14px 16px; box-shadow:0 4px 12px rgba(0,0,0,.09); border-top:4px solid var(--cl11); transition:transform .15s, box-shadow .15s; }
    .r3-step:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.13); }
    .r3-step .r3-num { font-size:1.5rem; font-weight:800; color:var(--cl11); opacity:.35; line-height:1; }
    .r3-step h5 { margin:4px 0 6px; color:var(--cl11); font-size:.88rem; }
    .r3-step p { font-size:.8rem; color:#555; margin:0; line-height:1.5; }
    .verb-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:0 0 4px; }
    .verb-card { background:#fff; border-radius:11px; padding:14px 16px; box-shadow:0 4px 12px rgba(0,0,0,.09); border-top:4px solid var(--navy); transition:transform .15s, box-shadow .15s; }
    .verb-card:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.13); }
    .verb-card .vc-verb { font-weight:800; font-style:italic; color:var(--navy); font-size:.95rem; display:block; margin-bottom:5px; }
    .verb-card .vc-desc { font-size:.8rem; color:#555; line-height:1.5; }
    .passage-list { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
    .passage-item { background:#fff; border-radius:9px; box-shadow:0 2px 6px rgba(0,0,0,.07); border:1px solid #eee; overflow:hidden; }
    .passage-item summary { padding:10px 14px; cursor:pointer; font-weight:700; color:var(--navy); font-size:.85rem; list-style:none; display:flex; align-items:center; gap:8px; }
    .passage-item summary::-webkit-details-marker { display:none; }
    .passage-item summary::before { content:'▸'; color:var(--accent); font-size:.8rem; transition:transform .15s; flex-shrink:0; }
    .passage-item[open] summary::before { transform:rotate(90deg); }
    .passage-item summary:hover { background:#f7f9fc; }
    .passage-item p { padding:0 14px 14px 32px; margin:0; font-size:.85rem; color:#444; line-height:1.65; }
    .passage-lab-controls { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
    .passage-lab-controls button { background:#fff; border:2px solid var(--border); color:var(--navy); font-weight:700; font-size:.78rem; padding:7px 14px; border-radius:18px; cursor:pointer; }
    .passage-lab-controls button:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
    .grammar-error-item.passage-item summary { color:#943126; }
    .ge-faulty, .ge-corrected, .ge-rule { padding:8px 14px 8px 32px; font-size:.84rem; line-height:1.55; }
    .ge-faulty { color:#943126; background:#fdf1ef; }
    .ge-corrected { color:#1e6b41; background:#f0faf3; }
    .ge-rule { color:#444; background:#f7f8fa; border-radius:0 0 9px 9px; }
    .ge-label { display:block; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-bottom:2px; }
    .ge-faulty .ge-label { color:#c0392b; }
    .ge-corrected .ge-label { color:#1e8449; }
    .ge-rule .ge-label { color:#888; }
    .opening-formula { background:#1a3c6e; color:#fff; border-radius:10px; padding:12px 16px; font-size:.85rem; text-align:center; margin-bottom:16px; font-weight:600; }
    .opening-formula span { color:#f0a500; }
    @keyframes fadeIn { from{opacity:0;} to{opacity:1;} }
    .class-select:hover, .class-select:focus { border-color:var(--cl10); outline:none; }
    @media (max-width:480px){ .class-select-wrap{flex-direction:column; align-items:stretch;} .class-select{max-width:100%;} }
    .class-tab-btn {
      --tint:#2a5298; --tint2:#1a3c6e;
      flex:0 0 auto; min-width:106px; padding:10px 15px;
      border:1px solid #e4ecf8; border-radius:11px; cursor:pointer;
      font-size:.88rem; font-weight:700; letter-spacing:.2px; line-height:1.3;
      background:#fff; color:var(--tint);
      box-shadow:0 1px 2px rgba(26,60,110,.06);
      transition:transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .18s, background .18s, color .18s;
    }
    .class-tab-btn span { font-weight:500; opacity:.72; }
    .class-tab-btn:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(26,60,110,.15); border-color:var(--tint); }
    .class-tab-btn.active {
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      color:#fff; border-color:transparent;
      box-shadow:0 6px 16px rgba(26,60,110,.3);
    }
    .class-tab-btn.active span { opacity:.9; }
    .class-tab-btn.cl9  { --tint:#e74c3c; --tint2:#c0392b; }
    .class-tab-btn.cl10 { --tint:#27ae60; --tint2:#1e8449; }
    .class-tab-btn.cl11 { --tint:#8e44ad; --tint2:#6c3483; }
    .class-tab-btn.cl12 { --tint:#2980b9; --tint2:#1a5276; }
    .class-panel { display:none; animation:fadeIn .3s; }
    .class-panel.active { display:block; }
    @keyframes fadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }

    /* class header strip */
    .class-header {
      --tint:#2a5298; --tint2:#1a3c6e;
      position:relative; overflow:hidden;
      display:flex; align-items:center; gap:14px;
      padding:16px 18px; border-radius:15px; margin-bottom:18px;
      color:#fff;
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      box-shadow:0 7px 20px rgba(26,60,110,.2);
    }
    .class-header::after {
      content:''; position:absolute; right:-34px; top:-46px;
      width:160px; height:160px; border-radius:50%;
      background:rgba(255,255,255,.09); pointer-events:none;
    }
    .class-header .cl-icon {
      font-size:1.45rem; flex-shrink:0;
      width:48px; height:48px; border-radius:14px;
      background:rgba(255,255,255,.22);
      display:flex; align-items:center; justify-content:center;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
    }
    .class-header > div { position:relative; z-index:1; }
    .class-header h3 { font-size:1.06rem; font-weight:800; letter-spacing:.2px; }
    .class-header p { font-size:.78rem; opacity:.93; line-height:1.5; margin-top:3px; }
    .class-header.cl9  { --tint:#ef6b5e; --tint2:#c0392b; }
    .class-header.cl10 { --tint:#2ecc71; --tint2:#1e8449; }
    .class-header.cl11 { --tint:#a569bd; --tint2:#6c3483; }
    .class-header.cl12 { --tint:#5dade2; --tint2:#1a5276; }

    /* subject grid inside a class panel */
    .subject-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(146px,1fr)); gap:12px; margin-bottom:16px; }
    .subj-card {
      --tint:#5dade2; --tint2:#1a3c6e;
      position:relative; overflow:hidden;
      border:1px solid #e3ebf7; border-radius:14px;
      padding:16px 10px 14px; text-align:center; cursor:pointer;
      background:#fff;
      box-shadow:0 2px 7px rgba(26,60,110,.07);
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
    }
    /* top accent rail */
    .subj-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--tint),var(--tint2));
      transition:height .2s;
    }
    .subj-card .s-icon {
      font-size:1.42rem; margin:2px auto 9px;
      width:46px; height:46px; border-radius:13px;
      display:flex; align-items:center; justify-content:center;
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      box-shadow:0 3px 9px rgba(26,60,110,.2);
      transition:transform .2s;
    }
    .subj-card .s-name { font-size:.82rem; font-weight:700; color:var(--navy); line-height:1.32; }
    .subj-card:hover {
      transform:translateY(-4px);
      box-shadow:0 12px 24px rgba(26,60,110,.17);
      border-color:var(--tint);
    }
    .subj-card:hover::before { height:5px; }
    .subj-card:hover .s-icon { transform:scale(1.08) rotate(-4deg); }
    /* selected state — fills with the class colour */
    .subj-card.sel {
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      border-color:transparent;
      box-shadow:0 10px 24px rgba(26,60,110,.3);
    }
    .subj-card.sel::before { height:0; }
    .subj-card.sel .s-name { color:#fff; }
    .subj-card.sel .s-icon { background:rgba(255,255,255,.22); box-shadow:none; }
    .subj-card.cl9  { --tint:#ef6b5e; --tint2:#c0392b; }
    .subj-card.cl10 { --tint:#2ecc71; --tint2:#1e8449; }
    .subj-card.cl11 { --tint:#a569bd; --tint2:#6c3483; }
    .subj-card.cl12 { --tint:#5dade2; --tint2:#1a5276; }

    /* ══════════════════════════════════════
       MCQs SECTION — gradient quiz tiles
    ══════════════════════════════════════ */
    .subj-card.mcq-grad-card {
      border:none; border-radius:14px; padding:15px 16px; text-align:left;
      display:flex; align-items:center; gap:13px;
      color:#fff;
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      box-shadow:0 5px 16px rgba(26,60,110,.2);
      transition:transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s;
    }
    /* soft light bloom in the corner */
    .subj-card.mcq-grad-card::before {
      content:''; position:absolute; top:-30px; right:-26px;
      width:104px; height:104px; border-radius:50%;
      background:rgba(255,255,255,.12);
      height:104px; left:auto;
      transition:transform .3s;
    }
    .subj-card.mcq-grad-card .s-icon {
      font-size:1.35rem; flex-shrink:0; margin:0;
      width:44px; height:44px; border-radius:13px;
      background:rgba(255,255,255,.2);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
      display:flex; align-items:center; justify-content:center;
    }
    .subj-card.mcq-grad-card .s-name {
      color:#fff; font-weight:700; font-size:.9rem; flex:1;
      text-align:left; line-height:1.28; position:relative; z-index:1;
    }
    .subj-card.mcq-grad-card::after {
      content:'\2192'; font-size:1.05rem; opacity:.9; flex-shrink:0;
      position:relative; z-index:1; transition:transform .2s;
    }
    .subj-card.mcq-grad-card:hover {
      transform:translateY(-4px);
      box-shadow:0 14px 30px rgba(26,60,110,.32);
      border-color:transparent;
    }
    .subj-card.mcq-grad-card:hover::before { transform:scale(1.25); }
    .subj-card.mcq-grad-card:hover::after  { transform:translateX(4px); }
    .subj-card.mcq-grad-card:hover .s-icon { transform:none; }
    .subj-card.mcq-grad-card.sel { outline:3px solid rgba(255,255,255,.75); outline-offset:-3px; }

    /* name + sub-label stack as one flex item, arrow stays right */
    .subj-card .s-body { flex:1; min-width:0; text-align:left; position:relative; z-index:1; }
    .subj-card .s-body .s-name { flex:none; }

    /* sub-label inside a gradient quiz tile (e.g. "398 MCQs") */
    .subj-card.mcq-grad-card .s-sub {
      font-size:.68rem; color:rgba(255,255,255,.82); margin-top:2px;
      position:relative; z-index:1; font-weight:500;
    }
    /* the name + sub-label stack together, arrow stays on the right */
    .subj-card.mcq-grad-card .s-name { margin-bottom:0; }
    /* sub-label inside an online-test tile (light surface) */
    #online-test .subj-card .s-sub { font-size:.68rem; color:#6b7c92; margin-top:2px; }
    #online-test .subj-card.sel .s-sub { color:rgba(255,255,255,.85); }

    /* ══════════════════════════════════════
       MCQs SECTION — notes / vocabulary cards
       (light surface, coloured rail — clearly
        "reading material", not a quiz)
    ══════════════════════════════════════ */
    .subj-card.note-card {
      --soft1:#f4f8fd; --soft2:#e8f0f9;
      border:1px solid transparent; border-radius:14px;
      padding:14px 15px 14px 16px; text-align:left;
      display:flex; align-items:center; gap:12px;
      background:linear-gradient(135deg,var(--soft1),var(--soft2));
      box-shadow:0 2px 8px rgba(26,60,110,.09);
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s;
    }
    /* left rail instead of a top rail */
    .subj-card.note-card::before {
      content:''; position:absolute; left:0; top:0; bottom:0;
      width:4px; height:auto; right:auto;
      background:linear-gradient(180deg,var(--tint),var(--tint2));
      transition:width .2s;
    }
    .subj-card.note-card .s-icon {
      font-size:1.3rem; flex-shrink:0; margin:0;
      width:42px; height:42px; border-radius:12px;
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      box-shadow:0 3px 9px rgba(26,60,110,.18);
      display:flex; align-items:center; justify-content:center;
    }
    .subj-card.note-card .s-name {
      flex:1; text-align:left; color:var(--tint2);
      font-weight:700; font-size:.87rem; line-height:1.3;
    }
    .subj-card.note-card .s-name small {
      display:block; font-weight:400; font-size:.66rem;
      color:#6b7c92; margin-top:2px; letter-spacing:.1px;
    }
    .subj-card.note-card::after {
      content:'\2192'; font-size:1rem; flex-shrink:0;
      color:var(--tint); opacity:.75; transition:transform .2s, opacity .2s;
    }
    .subj-card.note-card:hover {
      transform:translateY(-3px);
      box-shadow:0 12px 24px rgba(26,60,110,.16);
      border-color:var(--tint);
    }
    .subj-card.note-card:hover::before { width:6px; }
    .subj-card.note-card:hover::after  { transform:translateX(4px); opacity:1; }
    .subj-card.note-card:hover .s-icon { transform:scale(1.06); }

    /* ══════════════════════════════════════
       CLASS SELECTOR — grid of class cards
    ══════════════════════════════════════ */
    .class-grid {
      display:grid;
      grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
      gap:10px; margin-bottom:20px;
    }
    .class-grid .cg-head {
      grid-column:1/-1;
      font-size:.74rem; font-weight:800; letter-spacing:.6px;
      color:#8fa0b6; text-transform:uppercase;
      margin:6px 0 -2px; text-align:center;
    }
    /* the chips reuse .class-tab-btn so the existing JS keeps working */
    .class-grid .class-tab-btn {
      flex:none; min-width:0; width:100%;
      display:flex; flex-direction:column; align-items:center; gap:2px;
      padding:13px 8px; border-radius:13px;
      position:relative; overflow:hidden;
    }
    .class-grid .class-tab-btn .cg-icon {
      font-size:1.3rem; line-height:1.15; margin-bottom:2px;
      filter:saturate(1.05);
    }
    .class-grid .class-tab-btn .cg-label {
      font-size:.85rem; font-weight:700; line-height:1.25;
    }
    .class-grid .class-tab-btn .cg-sub {
      font-size:.67rem; font-weight:500; opacity:.72; line-height:1.3;
    }
    .class-grid .class-tab-btn.active .cg-sub { opacity:.9; }
    /* checkmark on the selected class */
    .class-grid .class-tab-btn.active::after {
      content:'\2713';
      position:absolute; top:7px; right:8px;
      font-size:.72rem; font-weight:800; color:#fff; opacity:.9;
    }

    /* ══════════════════════════════════════
       ONLINE TEST SECTION — "start test" tiles
    ══════════════════════════════════════ */
    #online-test .subject-grid {
      grid-template-columns:repeat(auto-fill,minmax(146px,1fr)); gap:12px;
    }
    /* grid tiles (same shape as the MCQ subject cards), with a play badge */
    #online-test .subj-card {
      display:block; text-align:center;
      padding:16px 10px 14px; border-radius:14px;
    }
    /* top accent rail, like the other subject tiles */
    #online-test .subj-card::before {
      top:0; left:0; right:0; bottom:auto;
      width:auto; height:3px;
      background:linear-gradient(90deg,var(--tint),var(--tint2));
    }
    #online-test .subj-card:hover::before { width:auto; height:5px; }
    #online-test .subj-card .s-icon {
      margin:2px auto 9px; width:46px; height:46px;
      font-size:1.42rem; border-radius:13px;
    }
    #online-test .subj-card .s-name {
      text-align:center; font-size:.82rem; line-height:1.32;
    }
    #online-test .subj-card .s-body { text-align:center; }
    /* play badge — corner marker showing this launches a timed test */
    #online-test .subj-card::after {
      content:'\25B6';
      position:absolute; top:9px; right:9px;
      width:22px; height:22px; border-radius:50%;
      font-size:.5rem; color:#fff;
      background:linear-gradient(135deg,var(--tint),var(--tint2));
      display:flex; align-items:center; justify-content:center;
      padding-left:2px; opacity:.9;
      box-shadow:0 2px 6px rgba(26,60,110,.22);
      transition:transform .2s, opacity .2s;
    }
    #online-test .subj-card:hover::after { transform:scale(1.18); opacity:1; }
    #online-test .subj-card:hover .s-icon { transform:scale(1.08) rotate(-4deg); }
    #online-test .subj-card.sel::before { height:0; }
    #online-test .subj-card.sel::after {
      background:rgba(255,255,255,.28); box-shadow:none;
    }

    /* ══════════════════════════════════════
       MCQs — "About this bank" footer panel
    ══════════════════════════════════════ */
    .mcq-about {
      margin-top:26px; padding:16px 18px;
      border-radius:14px;
      background:linear-gradient(135deg,#f7f9fc,#eef3f9);
      border:1px solid #e2e9f3;
      border-left:4px solid var(--blue);
    }
    .mcq-about h4 {
      font-size:.86rem; font-weight:800; color:var(--navy);
      margin:0 0 6px; letter-spacing:.2px;
    }
    .mcq-about p {
      font-size:.83rem; color:#5b6b80; line-height:1.6; margin:0;
    }
    .mcq-about strong { color:var(--navy); font-weight:700; }

    /* ══════════════════════════════════════
       QUIZ / TEST SETTINGS BAR
    ══════════════════════════════════════ */
    .settings-bar {
      display:flex; flex-wrap:wrap; align-items:center; gap:14px;
      padding:14px 16px; margin-bottom:18px;
      border-radius:15px;
      background:linear-gradient(135deg,#f6f9ff,#eaf1fc);
      border:1px solid #dde8f7;
      box-shadow:0 2px 10px rgba(26,60,110,.07);
    }
    .settings-bar .sb-title {
      display:flex; align-items:center; gap:7px;
      font-weight:800; color:var(--navy); font-size:.86rem;
      padding-right:14px; margin-right:2px;
      border-right:1px solid #dbe5f4;
    }
    .settings-bar .sb-title .sb-dot {
      width:26px; height:26px; border-radius:9px; flex-shrink:0;
      background:linear-gradient(135deg,#2a5298,#1a3c6e);
      display:flex; align-items:center; justify-content:center;
      font-size:.8rem; color:#fff;
    }
    .settings-bar .sb-field { display:flex; align-items:center; gap:8px; }
    .settings-bar .sb-field label {
      font-size:.8rem; color:#4a5b70; font-weight:600; white-space:nowrap;
    }
    .settings-bar select {
      padding:8px 12px; border-radius:10px;
      border:1.5px solid #cfdcf1; background:#fff;
      font-size:.83rem; font-weight:700; color:var(--navy);
      cursor:pointer; transition:border-color .18s, box-shadow .18s;
    }
    .settings-bar select:hover, .settings-bar select:focus {
      border-color:var(--blue); outline:none;
      box-shadow:0 0 0 3px rgba(42,82,152,.12);
    }
    .settings-bar .sb-hint {
      flex-basis:100%; font-size:.75rem; color:#7688a0; line-height:1.45;
    }
    @media (max-width:560px){
      .settings-bar { gap:10px; }
      .settings-bar .sb-title { border-right:none; padding-right:0; flex-basis:100%; }
      .settings-bar .sb-field { flex-basis:100%; justify-content:space-between; }
      .settings-bar select { flex:1; margin-left:8px; }
    }


    /* CS unit sub-panel */
    .cs-unit-panel { background:#f0f5ff; border:1.5px solid var(--border); border-radius:8px; padding:14px; margin-bottom:14px; display:none; }
    .cs-unit-panel h4 { color:var(--navy); font-size:.9rem; margin-bottom:10px; }
    .cs-unit-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:7px; }
    .cs-unit-card { border:1.5px solid #8ab4f8; border-radius:7px; padding:9px 10px; cursor:pointer; background:#fff; font-size:.78rem; font-weight:600; color:var(--navy); text-align:center; transition:all .18s; }
    .cs-unit-card:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

    /* MCQ Quiz internals */
    .quiz-score { font-size:.97rem; color:var(--navy); font-weight:600; margin:10px 0; }
    .quiz-question-box { background:#f0f5ff; border-radius:8px; padding:18px; margin-bottom:14px; }
    .quiz-question-box h3 { font-size:.97rem; color:var(--navy); margin-bottom:12px; }
    .quiz-options { list-style:none; padding:0; display:flex; flex-direction:column; gap:7px; }
    .quiz-options li { cursor:pointer; padding:9px 13px; border-radius:6px; border:1.5px solid #cdd8f0; background:#fff; font-size:.9rem; transition:all .15s; }
    .quiz-options li:hover { border-color:var(--blue); background:#eef2fb; }
    .quiz-options li.correct { background:#d4edda; border-color:#28a745; color:#155724; font-weight:600; }
    .sa-just { margin-top:12px; background:#fffbea; border:1px solid #f5e6a8; border-left:4px solid #f1c40f; border-radius:8px; padding:10px 13px; font-size:.85rem; color:#6b5900; line-height:1.55; }
    .sa-just-ok { display:inline-block; font-weight:700; color:#1e8449; font-size:.8rem; margin-bottom:4px; }
    .sa-just-no { display:inline-block; font-weight:700; color:#c0392b; font-size:.8rem; margin-bottom:4px; }
    .sa-just-ans { font-weight:700; color:#1e8449; margin:2px 0 4px; }
    .sa-just-body { color:#5d4e00; }
    .quiz-options li.wrong { background:#f8d7da; border-color:#dc3545; color:#721c24; }
    .quiz-options li.disabled { cursor:not-allowed; }
    .quiz-progress { font-size:.82rem; color:#666; margin-bottom:6px; }
    .quiz-final { text-align:center; padding:28px; }
    .quiz-final .score-big { font-size:2.8rem; font-weight:800; color:var(--navy); }
    /* Non-verbal (figure-based) MCQ styles */
    .nv-fig-box { background:#fff; border:1.5px solid #cdd8f0; border-radius:6px; padding:4px; display:flex; align-items:center; justify-content:center; width:78px; height:78px; }
    .nv-qmark { font-size:1.7rem; font-weight:800; color:#999; background:#f3f3f3; border-style:dashed; }
    .nv-options { list-style:none; padding:0; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
    .nv-options li { cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:4px; border-radius:8px; padding:5px; border:1.5px solid transparent; transition:all .15s; }
    .nv-options li:hover .nv-fig-box { border-color:var(--blue); background:#eef2fb; }
    .nv-options li.correct .nv-fig-box { background:#d4edda; border-color:#28a745; }
    .nv-options li.wrong .nv-fig-box { background:#f8d7da; border-color:#dc3545; }
    .nv-options li.disabled { cursor:not-allowed; }
    .nv-opt-label { font-size:.78rem; font-weight:700; color:#555; }
    .nv-fig-box { font-size:1.05rem; font-weight:700; color:#1a3c6e; }
    .nv-data { display:block; margin-top:10px; font-family:'Courier New',monospace; font-weight:700; color:#1a3c6e; background:#eef4fb; border:1px solid #d6e4f0; padding:10px 16px; border-radius:8px; font-size:.95rem; line-height:1.8; }
    .nv-expl { margin-top:14px; background:#f2fbf5; border-left:4px solid #27ae60; border-radius:8px; padding:10px 14px; font-size:.86rem; color:#2c3e50; line-height:1.6; }
    .quiz-explanation { margin-top:14px; background:#fffbea; border-left:4px solid #f0a500; border-radius:8px; padding:10px 14px; font-size:.86rem; color:#2c3e50; line-height:1.6; }
    .quiz-btns { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
    .quiz-btns button { padding:9px 20px; border-radius:6px; border:none; cursor:pointer; font-size:.88rem; font-weight:600; }
    .btn-next-q  { background:var(--blue); color:#fff; }
    .btn-reset   { background:#6c757d; color:#fff; }
    .btn-generate{ background:var(--accent); color:#fff; }

    /* ── ONLINE TEST ── */
    .test-panel-wrap { margin-top:16px; }
    #test-panel { display:none; }
    .test-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; flex-wrap:wrap; gap:8px; }
    .test-timer { font-size:1.05rem; font-weight:700; color:#dc3545; background:#fff3f3; padding:5px 12px; border-radius:6px; border:2px solid #f8d7da; }
    .test-progress-bar { height:5px; background:#dce8ff; border-radius:3px; margin-bottom:16px; }
    .test-progress-fill { height:100%; background:var(--blue); border-radius:3px; transition:width .3s; }
    .test-question { font-size:1rem; font-weight:600; color:var(--navy); margin-bottom:14px; }
    .test-options { display:flex; flex-direction:column; gap:9px; }
    .test-option { display:flex; align-items:center; gap:10px; padding:11px 14px; border:1.5px solid #cdd8f0; border-radius:8px; cursor:pointer; background:#fff; transition:all .15s; }
    .test-option input[type=radio] { accent-color:var(--blue); width:16px; height:16px; cursor:pointer; flex-shrink:0; }
    .test-option label { cursor:pointer; font-size:.92rem; }
    .test-option:hover { border-color:var(--blue); background:#eef2fb; }
    .test-option.correct { background:#d4edda; border-color:#28a745; }
    .test-option.wrong   { background:#f8d7da; border-color:#dc3545; }
    .test-nav { display:flex; justify-content:space-between; margin-top:18px; flex-wrap:wrap; gap:8px; }
    .test-nav button { padding:9px 20px; border:none; border-radius:6px; font-weight:600; cursor:pointer; font-size:.92rem; }
    .btn-prev        { background:#6c757d; color:#fff; }
    .btn-submit-test { background:#28a745; color:#fff; }
    .test-result-card { background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; border-radius:14px; padding:36px; text-align:center; margin-top:16px; }
    .test-result-card .result-score { font-size:3.6rem; font-weight:900; }
    .test-result-card .result-label { font-size:1rem; opacity:.85; margin-top:5px; }
    .test-result-card .result-stats { display:flex; justify-content:center; gap:26px; margin-top:18px; flex-wrap:wrap; }
    .result-stat { text-align:center; }
    .result-stat .stat-val   { font-size:1.7rem; font-weight:800; }
    .result-stat .stat-label { font-size:.78rem; opacity:.75; }
    .review-item { margin-bottom:12px; padding:11px; border-radius:8px; border-left:4px solid; }
    .review-item.ok   { background:#d4edda; border-color:#28a745; }
    .review-item.wrong{ background:#f8d7da; border-color:#dc3545; }
    .review-item.skip { background:#fff3cd; border-color:#ffc107; }
    .map-wrapper { border-radius:10px; overflow:hidden; margin-top:14px; }
    .map-wrapper iframe { width:100%; height:360px; border:0; display:block; }
    footer { text-align:center; padding:20px; background:var(--navy); color:#aec3e8; font-size:.86rem; margin-top:40px; }
    @media(max-width:768px){
      .hero h1{font-size:1.7rem;} .card{margin:12px;padding:18px;}
      ul.nav-links{display:none;} .class-tab-btn{font-size:.78rem;padding:11px 4px;}
    }
    .offer-row { transition: box-shadow .2s, transform .15s; }
    .offer-dropdown:hover { box-shadow: 0 4px 14px rgba(0,0,0,.12); }
    .offer-dropdown.open .dropdown-chevron { transform: rotate(180deg); }
    .offer-dropdown.open { grid-column: 1 / -1; }

    /* ── PREMIUM "WE OFFER" CARD CHROME (applies to every offer card) ── */
    .offer-row.offer-dropdown {
      background:#fff; border-radius:16px; border:1px solid #e7edf9;
      box-shadow:0 6px 18px rgba(26,60,110,.09);
      position:relative; overflow:hidden;
      transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
    }
    .offer-row.offer-dropdown::before{
      content:''; position:absolute; top:0; left:0; right:0; height:5px;
      background:linear-gradient(90deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e));
    }
    .offer-row.offer-dropdown:hover{
      transform:translateY(-5px);
      box-shadow:0 18px 36px rgba(26,60,110,.2);
      border-color:#d8e4fb;
    }
    .offer-row.offer-dropdown.open{
      box-shadow:0 18px 36px rgba(26,60,110,.2);
    }
    .offer-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px 20px 18px; }
    .offer-head-left{ display:flex; align-items:flex-start; gap:14px; min-width:0; }
    .offer-icon-badge{
      width:50px; height:50px; border-radius:15px; flex-shrink:0;
      background:linear-gradient(135deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e));
      display:flex; align-items:center; justify-content:center; font-size:1.5rem;
      box-shadow:0 8px 16px -4px rgba(26,60,110,.4); color:#fff;
      transition:transform .3s;
    }
    .offer-row.offer-dropdown:hover .offer-icon-badge{ transform:scale(1.08) rotate(-4deg); }
    .offer-title-wrap{ min-width:0; }
    .offer-title-row{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
    .offer-title-row strong{ font-family:'Poppins',sans-serif; font-size:1rem; color:var(--navy); font-weight:700; }
    .offer-tag{
      display:inline-flex; align-items:center; gap:4px;
      background:linear-gradient(90deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e));
      color:#fff; font-size:.62rem; font-weight:700; padding:3px 10px; border-radius:20px;
      letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;
      box-shadow:0 3px 8px rgba(0,0,0,.15);
    }
    .offer-desc{ font-size:.84rem; color:#5b6776; margin-top:5px; line-height:1.5; }
    .offer-row.offer-dropdown .dropdown-chevron{
      width:32px; height:32px; border-radius:50%; flex-shrink:0;
      background:#f0f5ff; display:flex; align-items:center; justify-content:center;
      color:var(--rm-c1,#2a5298) !important; font-size:1rem !important;
      transition:transform .25s, background .25s, color .25s;
    }
    .offer-row.offer-dropdown.open .dropdown-chevron{
      background:linear-gradient(135deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e));
      color:#fff !important;
    }
    .offer-highlights{ display:flex; flex-wrap:wrap; gap:7px; padding:0 20px 18px; margin-top:-6px; }
    .offer-chip{
      display:inline-flex; align-items:center; gap:5px; background:#f4f7ff;
      border:1px solid #e2eaff; color:var(--navy); font-size:.72rem; font-weight:600;
      padding:5px 11px; border-radius:20px;
    }
    .offer-detail-panel{ border-top:1px solid #eef2fb; padding:16px 20px 22px; font-size:.83rem; color:#333; line-height:1.6; background:linear-gradient(180deg,#fbfcff 0%,#fff 60px); }
    .offer-detail-panel strong:first-child{ color:var(--navy); font-size:.92rem; }

    /* ── PREPARATION ROADMAP (schematic) ── */
    .roadmap-badge { display:inline-flex; align-items:center; gap:5px; background:linear-gradient(90deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e)); color:#fff; font-size:.68rem; font-weight:700; padding:3px 9px; border-radius:20px; margin-left:6px; vertical-align:middle; letter-spacing:.02em; }
    .prep-roadmap { margin:16px 0 6px; background:linear-gradient(135deg,#f8faff 0%,#eef4ff 100%); border:1px solid #dce8ff; border-radius:12px; padding:18px 16px 20px; }
    .prep-roadmap-head { font-weight:700; font-size:.86rem; color:var(--navy); margin-bottom:14px; display:flex; align-items:center; gap:7px; }
    .roadmap-track { display:flex; align-items:flex-start; gap:0; position:relative; flex-wrap:wrap; }
    .roadmap-step { flex:1; min-width:108px; text-align:center; position:relative; padding:0 6px 10px; }
    .roadmap-step::before { content:''; position:absolute; top:21px; left:-50%; width:100%; height:3px; background:repeating-linear-gradient(90deg,var(--rm-c1,#2a5298) 0 6px,transparent 6px 11px); z-index:1; }
    .roadmap-step:first-child::before { display:none; }
    .roadmap-step .step-circle { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--rm-c1,#2a5298),var(--rm-c2,#1a3c6e)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin:0 auto 8px; box-shadow:0 4px 10px rgba(26,60,110,.28); position:relative; z-index:2; }
    .roadmap-step .step-num { position:absolute; top:-4px; right:14px; background:var(--accent); color:#fff; font-size:.6rem; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.25); z-index:3; }
    .roadmap-step .step-title { font-weight:700; font-size:.74rem; color:var(--navy); margin-bottom:3px; line-height:1.3; }
    .roadmap-step .step-desc { font-size:.68rem; color:#667; line-height:1.4; }
    @media (max-width:680px){
      .roadmap-track { flex-direction:column; align-items:stretch; gap:14px; }
      .roadmap-step { display:flex; align-items:center; gap:12px; text-align:left; min-width:0; padding:0; }
      .roadmap-step .step-circle { margin:0; flex-shrink:0; }
      .roadmap-step::before { content:''; position:absolute; left:21px; top:-14px; width:3px; height:14px; background:repeating-linear-gradient(180deg,var(--rm-c1,#2a5298) 0 6px,transparent 6px 11px); }
      .roadmap-step .step-num { top:-2px; right:auto; left:30px; }
    }
    .method-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; margin-top:10px; }
    .method-card { background:#fff; border-radius:9px; padding:12px 14px; border:1px solid var(--border); box-shadow:0 2px 7px rgba(0,0,0,.05); border-left:3px solid var(--rm-c1,#2a5298); }
    .method-card h4 { font-size:.8rem; color:var(--navy); margin-bottom:4px; display:flex; align-items:center; gap:6px; }
    .method-card p { font-size:.75rem; color:#555; line-height:1.55; margin:0; }

    /* ══════════ AFNS TEST PREPARATION CARD ══════════ */
    .afns-card { border-top:4px solid #c2185b; }
    .afns-card h2 { display:flex; align-items:center; gap:8px; }
    .afns-badge { display:inline-block; background:linear-gradient(135deg,#c2185b,#8e0e3f); color:#fff; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:20px; vertical-align:middle; margin-left:8px; letter-spacing:.5px; }
    .afns-header { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#fdeef4 0%,#fce4ec 100%); border-radius:12px; padding:16px 18px; margin-bottom:18px; border-left:4px solid #c2185b; }
    .afns-header .afns-icon { font-size:2.2rem; }
    .afns-header h3 { color:#8e0e3f; margin:0 0 4px; font-size:1.05rem; }
    .afns-header p { margin:0; font-size:.82rem; color:#555; }
    .afns-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin:16px 0; }
    .afns-info-box { background:#fff; border:1px solid var(--border); border-left:3px solid #c2185b; border-radius:10px; padding:14px 16px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
    .afns-info-box h4 { font-size:.85rem; color:var(--navy); margin:0 0 8px; display:flex; align-items:center; gap:6px; }
    .afns-info-box ul { margin:0; padding-left:18px; }
    .afns-info-box li { font-size:.8rem; color:#555; line-height:1.6; margin-bottom:4px; }
    .afns-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:.82rem; }
    .afns-table th { background:#c2185b; color:#fff; text-align:left; padding:9px 12px; }
    .afns-table td { padding:9px 12px; border-bottom:1px solid var(--border); color:#444; }
    .afns-table tr:nth-child(even) td { background:#fdf3f7; }
    .afns-cta { background:#fdeef4; border-left:3px solid #c2185b; border-radius:8px; padding:12px 16px; font-size:.86rem; color:#333; margin-top:14px; }
    @media (max-width:680px){ .afns-grid{grid-template-columns:1fr;} .afns-header{flex-direction:column;text-align:center;} }
    .airmen-card { border-top:4px solid #14548c; }
    .airmen-card h2 { display:flex; align-items:center; gap:8px; }
    .airmen-badge { display:inline-block; background:linear-gradient(135deg,#14548c,#0a2f52); color:#fff; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:20px; vertical-align:middle; margin-left:8px; letter-spacing:.5px; }
    .airmen-header { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#e9f2fb 0%,#dcebf8 100%); border-radius:12px; padding:16px 18px; margin-bottom:18px; border-left:4px solid #14548c; }
    .airmen-header .airmen-icon { font-size:2.2rem; }
    .airmen-header h3 { color:#0a2f52; margin:0 0 4px; font-size:1.05rem; }
    .airmen-header p { margin:0; font-size:.82rem; color:#555; }
    .airmen-info-box { background:#fff; border:1px solid var(--border); border-left:3px solid #14548c; border-radius:10px; padding:14px 16px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
    .airmen-info-box h4 { font-size:.85rem; color:var(--navy); margin:0 0 8px; display:flex; align-items:center; gap:6px; }
    .airmen-info-box ul { margin:0; padding-left:18px; }
    .airmen-info-box li { font-size:.8rem; color:#555; line-height:1.6; margin-bottom:4px; }
    .airmen-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:.8rem; }
    .airmen-table th { background:#14548c; color:#fff; text-align:left; padding:8px 10px; }
    .airmen-table td { padding:8px 10px; border-bottom:1px solid var(--border); color:#444; }
    .airmen-table tr:nth-child(even) td { background:#f2f7fc; }
    .airmen-cta { background:#e9f2fb; border-left:3px solid #14548c; border-radius:8px; padding:12px 16px; font-size:.86rem; color:#333; margin-top:14px; }
    .airmen-quiz-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
    .airmen-subj { background:#fff; border:2px solid #cfe0f2; border-radius:10px; padding:12px 8px; text-align:center; cursor:pointer; transition:.15s; }
    .airmen-subj:hover { border-color:#14548c; transform:translateY(-2px); }
    .airmen-subj.sel { background:linear-gradient(135deg,#e9f2fb,#dcebf8); border-color:#14548c; }
    .airmen-subj .as-ico { font-size:1.5rem; }
    .airmen-subj .as-name { font-weight:700; color:#0a2f52; font-size:.82rem; margin-top:3px; }
    .airmen-subj .as-cls { font-size:.72rem; color:#14548c; font-weight:600; }
    .airmen-subj .as-n { font-size:.68rem; color:#889; margin-top:2px; }
    .airmen-q { background:#f7fafd; border:1px solid #d8e6f3; border-radius:10px; padding:12px 14px; margin-bottom:10px; }
    .airmen-q .q { font-weight:700; color:#0a2f52; font-size:.87rem; margin-bottom:8px; }
    .airmen-opt { display:block; width:100%; text-align:left; background:#fff; border:1.5px solid #cfe0f2; border-radius:8px; padding:7px 12px; margin:5px 0; font-size:.85rem; color:#444; cursor:pointer; }
    .airmen-opt:hover { border-color:#14548c; }
    .airmen-opt.correct { background:#eafaf1; border-color:#27ae60; color:#1e8449; font-weight:700; }
    .airmen-opt.wrong { background:#fdecea; border-color:#e74c3c; color:#c0392b; }
    .airmen-opt:disabled { cursor:default; }
    @media (max-width:680px){ .airmen-header{flex-direction:column;text-align:center;} }
    .cadet-card { border-top:4px solid #556b2f; }
    .cadet-card h2 { display:flex; align-items:center; gap:8px; }
    .cadet-badge { display:inline-block; background:linear-gradient(135deg,#556b2f,#3a4a1f); color:#fff; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:20px; vertical-align:middle; margin-left:8px; letter-spacing:.5px; }
    .cadet-header { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#f1f5e9 0%,#e6ecd8 100%); border-radius:12px; padding:16px 18px; margin-bottom:18px; border-left:4px solid #556b2f; }
    .cadet-header .cadet-icon { font-size:2.2rem; }
    .cadet-header h3 { color:#3a4a1f; margin:0 0 4px; font-size:1.05rem; }
    .cadet-header p { margin:0; font-size:.82rem; color:#555; }
    .cadet-info-box { background:#fff; border:1px solid var(--border); border-left:3px solid #556b2f; border-radius:10px; padding:14px 16px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
    .cadet-info-box h4 { font-size:.85rem; color:var(--navy); margin:0 0 8px; display:flex; align-items:center; gap:6px; }
    .cadet-info-box ul { margin:0; padding-left:18px; }
    .cadet-info-box li { font-size:.8rem; color:#555; line-height:1.6; margin-bottom:4px; }
    .cadet-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:.8rem; }
    .cadet-table th { background:#556b2f; color:#fff; text-align:left; padding:8px 10px; }
    .cadet-table td { padding:8px 10px; border-bottom:1px solid var(--border); color:#444; }
    .cadet-table tr:nth-child(even) td { background:#f6f8f0; }
    .cadet-cta { background:#f1f5e9; border-left:3px solid #556b2f; border-radius:8px; padding:12px 16px; font-size:.86rem; color:#333; margin-top:14px; }
    @media (max-width:680px){ .cadet-header{flex-direction:column;text-align:center;} }

/* ==== extracted from original offset 1018127 ==== */
.ol-hero-banner {
        background: linear-gradient(135deg, #3a3a3a 0%, #5f5f5f 55%, #7d7d7d 130%);
        border-radius: 10px 10px 0 0;
        padding: 18px 20px 14px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
      }
      .ol-hero-banner .ohb-left { display:flex; align-items:center; gap:14px; }
      .ol-hero-banner .ohb-icon { font-size:2rem; background:rgba(255,255,255,.18); border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
      .ol-hero-banner .ohb-title { color:#ffffff; font-size:1.08rem; font-weight:800; letter-spacing:.01em; }
      .ol-hero-banner .ohb-sub { color:#e9e9e9; font-size:.78rem; margin-top:2px; }
      .ol-stat { background:rgba(255,255,255,.16); border-radius:8px; padding:6px 12px; text-align:center; min-width:74px; }
      .ol-stat .os-val { color:#ffffff; font-weight:800; font-size:1rem; line-height:1; }
      .ol-stat .os-lbl { color:#e9e9e9; font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; }
      .ol-subj-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin:10px 0; }
      .ol-subj-card { background:#f8f8f8; border:1px solid #dfdfdf; border-radius:8px; padding:10px 12px; }
      .ol-subj-card .os-name { color:#3a3a3a; font-weight:700; font-size:.82rem; }
      .ol-subj-card .os-code { color:#5f5f5f; font-size:.7rem; font-weight:600; }
      .ol-elective-chip { display:inline-block; background:#f4f4f4; color:#3a3a3a; border:1px solid #dfdfdf; border-radius:16px; padding:4px 11px; font-size:.72rem; font-weight:600; margin:3px 4px 3px 0; }
      .ol-exam-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:8px 0 14px; }
      .ol-exam-card { background:#ffffff; border:1px solid #ececec; border-radius:10px; padding:12px 14px; box-shadow:0 2px 8px rgba(58,58,58,.06); }
      .ol-exam-card h5 { margin:0 0 6px; font-size:.86rem; color:#3a3a3a; display:flex; align-items:center; gap:6px; }
      .ol-exam-card p { margin:0; font-size:.76rem; color:#444444; line-height:1.45; }
      .ol-grade-table { width:100%; border-collapse:collapse; margin:10px 0 14px; font-size:.78rem; }
      .ol-grade-table th { background:#3a3a3a; color:#ffffff; padding:8px 10px; text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; }
      .ol-grade-table td { padding:7px 10px; border-bottom:1px solid #f4f4f4; color:#333333; }
      .ol-grade-table tr:nth-child(even) td { background:#fbfbfb; }
      .ol-grade-badge { display:inline-block; font-weight:800; padding:2px 10px; border-radius:6px; color:#ffffff; font-size:.76rem; }

/* ==== extracted from original offset 1031603 ==== */
.nts-hero-banner {
        background: linear-gradient(135deg, #383838 0%, #4e4e4e 55%, #a9a9a9 130%);
        border-radius: 10px 10px 0 0;
        padding: 18px 20px 14px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
      }
      .nts-hero-banner .nhb-left { display:flex; align-items:center; gap:14px; }
      .nts-hero-banner .nhb-icon { font-size:2rem; background:rgba(255,255,255,.18); border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
      .nts-hero-banner .nhb-title { color:#ffffff; font-size:1.08rem; font-weight:800; letter-spacing:.01em; }
      .nts-hero-banner .nhb-sub { color:#e7e7e7; font-size:.78rem; margin-top:2px; }
      .nts-stat { background:rgba(255,255,255,.16); border-radius:8px; padding:6px 12px; text-align:center; min-width:74px; }
      .nts-stat .ns-val { color:#ffffff; font-weight:800; font-size:1rem; line-height:1; }
      .nts-stat .ns-lbl { color:#e7e7e7; font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; }
      .nts-types-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:10px 0; }
      .nts-type-card { background:#f9f9f9; border:1px solid #e4e4e4; border-radius:8px; padding:10px 12px; }
      .nts-type-card .nt-name { color:#6d6d6d; font-weight:700; font-size:.82rem; }
      .nts-type-card .nt-desc { color:#555555; font-size:.75rem; margin-top:3px; line-height:1.4; }
      .nts-subtab-row { display:flex; gap:8px; margin:14px 0 12px; flex-wrap:wrap; }
      .nts-subtab-btn { background:#f6f6f6; border:1.5px solid #e4e4e4; color:#6d6d6d; font-weight:700; font-size:.8rem; padding:8px 16px; border-radius:20px; cursor:pointer; transition:all .2s; }
      .nts-subtab-btn.active { background:linear-gradient(90deg,#a9a9a9,#8b8b8b); color:#ffffff; border-color:transparent; box-shadow:0 3px 10px rgba(169,169,169,.3); }
      .nts-mini-stats { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
      .nts-mini-stat { background:#383838; color:#ffffff; border-radius:8px; padding:8px 14px; text-align:center; flex:1; min-width:90px; }
      .nts-mini-stat .nms-val { font-weight:800; font-size:1rem; }
      .nts-mini-stat .nms-lbl { font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; color:#cecece; }
      .nts-section-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:8px 0 14px; }
      .nts-section-card { background:#ffffff; border:1px solid #eaeaea; border-radius:10px; padding:12px 14px; box-shadow:0 2px 8px rgba(56,56,56,.06); }
      .nts-section-card h5 { margin:0 0 8px; font-size:.86rem; color:#383838; display:flex; align-items:center; gap:6px; }
      .nts-section-card ul { margin:0; padding-left:18px; }
      .nts-section-card ul li { font-size:.76rem; color:#444444; margin-bottom:6px; line-height:1.45; }
      .nts-subj-table { width:100%; border-collapse:collapse; margin:10px 0 14px; font-size:.76rem; }
      .nts-subj-table th { background:#383838; color:#ffffff; padding:8px 10px; text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; }
      .nts-subj-table td { padding:7px 10px; border-bottom:1px solid #f1f1f1; color:#333333; }
      .nts-subj-table tr:nth-child(even) td { background:#fafafa; }
      .nts-qtype-chip { display:inline-block; background:#f3f3f3; color:#383838; border:1px solid #e5e5e5; border-radius:16px; padding:4px 11px; font-size:.72rem; font-weight:600; margin:3px 4px 3px 0; }

/* ==== extracted from original offset 1047720 ==== */
.mdcat-hero-banner {
        background: linear-gradient(135deg, #606060 0%, #797979 50%, #939393 100%);
        border-radius: 10px 10px 0 0;
        padding: 18px 20px 14px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
      }
      .mdcat-hero-banner .mhb-left { display:flex; align-items:center; gap:14px; }
      .mdcat-hero-banner .mhb-icon { font-size:2rem; background:rgba(255,255,255,.18); border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
      .mdcat-hero-banner .mhb-title { color:#ffffff; font-size:1.08rem; font-weight:800; letter-spacing:.01em; }
      .mdcat-hero-banner .mhb-sub { color:rgba(255,255,255,.82); font-size:.78rem; margin-top:3px; }
      .mdcat-badge-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
      .mdcat-badge { background:rgba(255,255,255,.2); color:#ffffff; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:20px; border:1px solid rgba(255,255,255,.35); white-space:nowrap; }
      .mdcat-stats-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; padding:16px; background:#f7f7f7; border-bottom:1px solid #d4d4d4; }
      .mdcat-stat { text-align:center; }
      .mdcat-stat .ms-val { font-size:1.3rem; font-weight:800; color:#606060; font-family:'Poppins',sans-serif; display:block; }
      .mdcat-stat .ms-lbl { font-size:.68rem; color:#666666; font-weight:600; text-transform:uppercase; letter-spacing:.05em; display:block; margin-top:2px; }
      .mdcat-body { padding:18px 18px 20px; background:#ffffff; border-radius:0 0 10px 10px; }
      .mdcat-section-title { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#606060; margin:16px 0 10px; display:flex; align-items:center; gap:6px; }
      .mdcat-section-title::after { content:''; flex:1; height:1px; background:#e2e2e2; }
      .mdcat-subject-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; margin-bottom:4px; }
      .mdcat-subj { border-radius:8px; padding:10px 12px; text-align:center; border:1.5px solid; }
      .mdcat-subj.bio  { border-color:#7d7d7d; background:#f4f4f4; }
      .mdcat-subj.chem { border-color:#666666; background:#f1f1f1; }
      .mdcat-subj.phy  { border-color:#6c6c6c; background:#f2f2f2; }
      .mdcat-subj.eng  { border-color:#a9a9a9; background:#f8f8f8; }
      .mdcat-subj.lr   { border-color:#797979; background:#f2f2f2; }
      .mdcat-subj .ms-icon { font-size:1.3rem; display:block; margin-bottom:4px; }
      .mdcat-subj .ms-name { font-size:.75rem; font-weight:700; color:#222222; }
      .mdcat-diff-bar { display:flex; height:20px; border-radius:6px; overflow:hidden; margin:10px 0 4px; }
      .mdcat-diff-bar .db-easy  { background:#7d7d7d; flex:15; display:flex; align-items:center; justify-content:center; font-size:.65rem; color:#ffffff; font-weight:700; }
      .mdcat-diff-bar .db-mod   { background:#a9a9a9; flex:70; display:flex; align-items:center; justify-content:center; font-size:.65rem; color:#ffffff; font-weight:700; }
      .mdcat-diff-bar .db-hard  { background:#606060; flex:15; display:flex; align-items:center; justify-content:center; font-size:.65rem; color:#ffffff; font-weight:700; }
      .mdcat-pass-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
      .mdcat-pass-chip { flex:1; min-width:140px; border-radius:8px; padding:10px 14px; display:flex; align-items:center; gap:10px; }
      .mdcat-pass-chip.mbbs { background:linear-gradient(90deg,#f3f3f3,#e9e9e9); border:1.5px solid #6c6c6c; }
      .mdcat-pass-chip.bds  { background:linear-gradient(90deg,#f4f4f4,#e9e9e9); border:1.5px solid #7d7d7d; }
      .mdcat-pass-chip .mpc-icon { font-size:1.3rem; }
      .mdcat-pass-chip .mpc-pct { font-size:1.2rem; font-weight:800; color:#383838; }
      .mdcat-pass-chip .mpc-lbl { font-size:.72rem; color:#555555; font-weight:600; display:block; }

      /* ── Merit Calculator ── */
      .mdcat-calc-wrap { background:#f6f6f6; border:1.5px dashed #e5e5e5; border-radius:10px; padding:16px; margin-top:4px; }
      .mdcat-calc-title { font-size:.85rem; font-weight:700; color:#383838; margin-bottom:12px; display:flex; align-items:center; gap:6px; }
      .mdcat-calc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-bottom:14px; }
      .mdcat-calc-field label { display:block; font-size:.72rem; font-weight:700; color:#444444; margin-bottom:5px; text-transform:uppercase; letter-spacing:.04em; }
      .mdcat-calc-field input { width:100%; padding:9px 12px; border:2px solid #e5e5e5; border-radius:7px; font-size:.9rem; font-weight:600; color:#383838; background:#ffffff; outline:none; transition:border-color .2s; font-family:inherit; }
      .mdcat-calc-field input:focus { border-color:#797979; }
      .mdcat-calc-btn { background:linear-gradient(90deg,#606060,#797979); color:#ffffff; border:none; padding:10px 22px; border-radius:8px; font-size:.88rem; font-weight:700; cursor:pointer; transition:opacity .2s; }
      .mdcat-calc-btn:hover { opacity:.88; }
      .mdcat-calc-result { margin-top:12px; display:none; }
      .mdcat-calc-result .mcr-box { background:#ffffff; border-radius:8px; padding:14px 16px; border:2px solid #797979; }
      .mdcat-calc-result .mcr-agg { font-size:1.6rem; font-weight:800; color:#606060; font-family:'Poppins',sans-serif; }
      .mdcat-calc-result .mcr-steps { margin-top:8px; font-size:.78rem; color:#555555; line-height:1.8; }
      .mdcat-calc-result .mcr-verdict { margin-top:8px; font-size:.8rem; font-weight:700; padding:6px 12px; border-radius:6px; display:inline-block; }
      .mcr-verdict.pass { background:#f4f4f4; color:#5f5f5f; border:1.5px solid #7d7d7d; }
      .mcr-verdict.fail { background:#f2f2f2; color:#606060; border:1.5px solid #797979; }

      .mdcat-tip-row { display:flex; flex-direction:column; gap:7px; }
      .mdcat-tip { display:flex; align-items:flex-start; gap:10px; background:#fafafa; border-radius:7px; padding:9px 12px; border-left:3px solid #797979; }
      .mdcat-tip .mt-icon { font-size:1rem; flex-shrink:0; margin-top:1px; }
      .mdcat-tip .mt-text { font-size:.8rem; color:#333333; line-height:1.55; }
      .mdcat-tip .mt-text strong { color:#383838; display:block; margin-bottom:2px; }

/* ==== extracted from original offset 1063253 ==== */
.ecat-hero-banner {
        background: linear-gradient(135deg, #454545 0%, #6c6c6c 55%, #9b9b9b 100%);
        border-radius: 10px 10px 0 0;
        padding: 18px 20px 14px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
      }
      .ecat-hero-banner .ehb-left { display:flex; align-items:center; gap:14px; }
      .ecat-hero-banner .ehb-icon { font-size:2rem; background:rgba(255,255,255,.18); border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
      .ecat-hero-banner .ehb-title { color:#ffffff; font-size:1.08rem; font-weight:800; letter-spacing:.01em; }
      .ecat-hero-banner .ehb-sub { color:rgba(255,255,255,.82); font-size:.78rem; margin-top:3px; }
      .ecat-badge-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
      .ecat-badge { background:rgba(255,255,255,.2); color:#ffffff; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:20px; border:1px solid rgba(255,255,255,.35); white-space:nowrap; }

      .ecat-stats-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:10px; padding:16px; background:#f2f2f2; border-bottom:1px solid #d4d4d4; }
      .ecat-stat { text-align:center; }
      .ecat-stat .es-val { font-size:1.3rem; font-weight:800; color:#454545; font-family:'Poppins',sans-serif; display:block; }
      .ecat-stat .es-lbl { font-size:.68rem; color:#666666; font-weight:600; text-transform:uppercase; letter-spacing:.05em; display:block; margin-top:2px; }

      .ecat-body { padding:18px 18px 20px; background:#ffffff; border-radius:0 0 10px 10px; }
      .ecat-section-title { font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#454545; margin:16px 0 10px; display:flex; align-items:center; gap:6px; }
      .ecat-section-title::after { content:''; flex:1; height:1px; background:#d4d4d4; }

      /* Subject combos */
      .ecat-combo-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
      .ecat-combo-tab { border-radius:20px; padding:5px 14px; font-size:.75rem; font-weight:700; cursor:default; border:1.5px solid; }
      .ecat-combo-tab.eng  { border-color:#454545; background:#f2f2f2; color:#454545; }
      .ecat-combo-tab.bio  { border-color:#5f5f5f; background:#f4f4f4; color:#5f5f5f; }

      .ecat-subject-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; margin-bottom:4px; }
      .ecat-subj { border-radius:8px; padding:10px 12px; border:1.5px solid; }
      .ecat-subj .esj-top { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
      .ecat-subj .esj-icon { font-size:1.2rem; }
      .ecat-subj .esj-name { font-size:.78rem; font-weight:700; color:#383838; }
      .ecat-subj .esj-mcq { font-size:.72rem; font-weight:600; color:#888888; }
      .ecat-subj .esj-marks { font-size:.7rem; background:rgba(108,108,108,.12); color:#454545; border-radius:4px; padding:2px 7px; display:inline-block; font-weight:700; }
      .ecat-subj.math  { border-color:#666666; background:#f1f1f1; }
      .ecat-subj.phys  { border-color:#6c6c6c; background:#f2f2f2; }
      .ecat-subj.chem  { border-color:#939393; background:#f6f6f6; }
      .ecat-subj.eng2  { border-color:#7d7d7d; background:#f4f4f4; }
      .ecat-subj.bio2  { border-color:#606060; background:#f2f2f2; }
      .ecat-subj.cs    { border-color:#747474; background:#f3f3f3; }

      /* Scoring visual */
      .ecat-score-row { display:flex; gap:10px; flex-wrap:wrap; }
      .ecat-score-chip { flex:1; min-width:120px; border-radius:8px; padding:10px 14px; text-align:center; }
      .ecat-score-chip.correct { background:linear-gradient(135deg,#f4f4f4,#e9e9e9); border:1.5px solid #7d7d7d; }
      .ecat-score-chip.skip    { background:linear-gradient(135deg,#f8f8f8,#ededed); border:1.5px solid #a9a9a9; }
      .ecat-score-chip.neg     { background:#f9f9f9; border:1.5px dashed #aaaaaa; }
      .ecat-score-chip .sc-val { font-size:1.4rem; font-weight:800; font-family:'Poppins',sans-serif; display:block; }
      .ecat-score-chip.correct .sc-val { color:#5f5f5f; }
      .ecat-score-chip.skip .sc-val    { color:#929292; }
      .ecat-score-chip.neg .sc-val     { color:#888888; }
      .ecat-score-chip .sc-lbl { font-size:.7rem; color:#555555; font-weight:600; }

      /* Syllabus notice */
      .ecat-syllabus-box { background:linear-gradient(90deg,#f2f2f2,#f6f6f6); border:1.5px solid #cdcdcd; border-radius:8px; padding:10px 14px; display:flex; gap:10px; align-items:flex-start; }
      .ecat-syllabus-box .esb-icon { font-size:1.3rem; flex-shrink:0; }
      .ecat-syllabus-box .esb-text { font-size:.8rem; color:#383838; line-height:1.55; }

      /* Merit Calculator */
      .ecat-calc-wrap { background:#f6f6f6; border:1.5px dashed #cdcdcd; border-radius:10px; padding:16px; margin-top:4px; }
      .ecat-calc-title { font-size:.85rem; font-weight:700; color:#454545; margin-bottom:12px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
      .ecat-calc-title span.wt-note { font-size:.7rem; color:#888888; font-weight:400; }
      .ecat-calc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-bottom:14px; }
      .ecat-calc-field label { display:block; font-size:.72rem; font-weight:700; color:#444444; margin-bottom:5px; text-transform:uppercase; letter-spacing:.04em; }
      .ecat-calc-field input { width:100%; padding:9px 12px; border:2px solid #cdcdcd; border-radius:7px; font-size:.9rem; font-weight:600; color:#454545; background:#ffffff; outline:none; transition:border-color .2s; font-family:inherit; }
      .ecat-calc-field input:focus { border-color:#6c6c6c; }
      .ecat-calc-btn { background:linear-gradient(90deg,#454545,#6c6c6c); color:#ffffff; border:none; padding:10px 22px; border-radius:8px; font-size:.88rem; font-weight:700; cursor:pointer; transition:opacity .2s; }
      .ecat-calc-btn:hover { opacity:.88; }
      .ecat-calc-result { margin-top:12px; display:none; }
      .ecat-calc-result .ecr-box { background:#ffffff; border-radius:8px; padding:14px 16px; border:2px solid #6c6c6c; }
      .ecat-calc-result .ecr-agg { font-size:1.6rem; font-weight:800; color:#454545; font-family:'Poppins',sans-serif; }
      .ecat-calc-result .ecr-steps { margin-top:8px; font-size:.78rem; color:#555555; line-height:1.8; }
      .ecat-calc-result .ecr-verdict { margin-top:8px; font-size:.8rem; font-weight:700; padding:6px 12px; border-radius:6px; display:inline-block; }
      .ecr-verdict.good { background:#f4f4f4; color:#5f5f5f; border:1.5px solid #7d7d7d; }
      .ecr-verdict.mid  { background:#f8f8f8; color:#929292; border:1.5px solid #a9a9a9; }
      .ecr-verdict.low  { background:#f2f2f2; color:#606060; border:1.5px solid #797979; }

      /* Tips */
      .ecat-tip-row { display:flex; flex-direction:column; gap:7px; }
      .ecat-tip { display:flex; align-items:flex-start; gap:10px; background:#f9f9f9; border-radius:7px; padding:9px 12px; border-left:3px solid #6c6c6c; }
      .ecat-tip .et-icon { font-size:1rem; flex-shrink:0; margin-top:1px; }
      .ecat-tip .et-text { font-size:.8rem; color:#333333; line-height:1.55; }
      .ecat-tip .et-text strong { color:#454545; display:block; margin-bottom:2px; }

      /* Exam day */
      .ecat-day-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; }
      .ecat-day-card { background:#fafafa; border-radius:8px; padding:10px 12px; border:1.5px solid #d4d4d4; }
      .ecat-day-card .edc-icon { font-size:1.1rem; margin-bottom:4px; }
      .ecat-day-card .edc-title { font-size:.76rem; font-weight:700; color:#383838; margin-bottom:3px; }
      .ecat-day-card .edc-desc  { font-size:.74rem; color:#555555; line-height:1.45; }

/* ==== extracted from original offset 1082262 ==== */
.hec-hero-banner {
        background: linear-gradient(135deg, #323232 0%, #4f4f4f 55%, #7d7d7d 130%);
        border-radius: 10px 10px 0 0;
        padding: 18px 20px 14px;
        display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
      }
      .hec-hero-banner .hhb-left { display:flex; align-items:center; gap:14px; }
      .hec-hero-banner .hhb-icon { font-size:2rem; background:rgba(255,255,255,.18); border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
      .hec-hero-banner .hhb-title { color:#ffffff; font-size:1.08rem; font-weight:800; letter-spacing:.01em; }
      .hec-hero-banner .hhb-sub { color:#e4e4e4; font-size:.78rem; margin-top:2px; }
      .hec-stat { background:rgba(255,255,255,.16); border-radius:8px; padding:6px 12px; text-align:center; min-width:74px; }
      .hec-stat .hs-val { color:#ffffff; font-weight:800; font-size:1rem; line-height:1; }
      .hec-stat .hs-lbl { color:#e4e4e4; font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; }
      .hec-subtab-row { display:flex; gap:8px; margin:14px 0 12px; flex-wrap:wrap; }
      .hec-subtab-btn { background:#f2f2f2; border:1.5px solid #d8d8d8; color:#434343; font-weight:700; font-size:.8rem; padding:8px 16px; border-radius:20px; cursor:pointer; transition:all .2s; }
      .hec-subtab-btn.active { background:linear-gradient(90deg,#4f4f4f,#323232); color:#ffffff; border-color:transparent; box-shadow:0 3px 10px rgba(79,79,79,.3); }
      .hec-mini-stats { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
      .hec-mini-stat { background:#323232; color:#ffffff; border-radius:8px; padding:8px 14px; text-align:center; flex:1; min-width:90px; }
      .hec-mini-stat .hms-val { font-weight:800; font-size:1rem; }
      .hec-mini-stat .hms-lbl { font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; color:#d0d0d0; }
      .hec-section-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin:8px 0 14px; }
      .hec-section-card { background:#f8f8f8; border:1px solid #d8d8d8; border-radius:8px; padding:10px 12px; }
      .hec-section-card .hc-name { color:#434343; font-weight:700; font-size:.82rem; }
      .hec-section-card .hc-desc { color:#555555; font-size:.75rem; margin-top:3px; line-height:1.4; }
      .hec-cat-chip { display:inline-block; background:#f2f2f2; color:#434343; border:1px solid #d8d8d8; border-radius:16px; padding:4px 11px; font-size:.72rem; font-weight:600; margin:3px 4px 3px 0; }

/* ==== extracted from original offset 3329994 ==== */
.bioxi-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
  .bioxi-tabs button{background:#fff;border:2px solid #e3c9c4;color:#a93226;font-weight:700;font-size:.76rem;padding:7px 12px;border-radius:16px;cursor:pointer;}
  .bioxi-tabs button.active,.bioxi-tabs button:hover{background:#a93226;color:#fff;border-color:#a93226;}
  .bioxi-mcq{background:#fdf7f6;border:1px solid #f1d4cf;border-radius:10px;padding:12px 14px;margin-bottom:10px;}
  .bioxi-mcq .q{font-weight:700;color:#a93226;font-size:.88rem;margin-bottom:8px;}
  .bioxi-opt{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid #e3c9c4;border-radius:8px;padding:7px 12px;margin:5px 0;font-size:.85rem;color:#444;cursor:pointer;transition:.15s;}
  .bioxi-opt:hover{border-color:#a93226;}
  .bioxi-opt.correct{background:#eafaf1;border-color:#27ae60;color:#1e8449;font-weight:700;}
  .bioxi-opt.wrong{background:#fdecea;border-color:#e74c3c;color:#c0392b;}
  .bioxi-opt:disabled{cursor:default;}
  .bioxi-just{margin-top:8px;background:#fffbea;border:1px solid #f5e6a8;border-left:4px solid #f1c40f;border-radius:8px;padding:9px 12px;font-size:.83rem;color:#6b5900;line-height:1.5;}
  .bioxi-just b{color:#1e8449;}
  .bioxi-h{color:#a93226;margin:20px 0 10px;font-size:1rem;border-left:4px solid #cb4335;padding-left:10px;}
  .bioxi-count{font-size:.78rem;color:#888;font-weight:400;}

/* ==== extracted from original offset 3484137 ==== */
.bioxii-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
  .bioxii-tabs button{background:#fff;border:2px solid #d7bde2;color:#7d3c98;font-weight:700;font-size:.76rem;padding:7px 12px;border-radius:16px;cursor:pointer;}
  .bioxii-tabs button.active,.bioxii-tabs button:hover{background:#7d3c98;color:#fff;border-color:#7d3c98;}
  .bioxii-mcq{background:#faf6fc;border:1px solid #e5d3ef;border-radius:10px;padding:12px 14px;margin-bottom:10px;}
  .bioxii-mcq .q{font-weight:700;color:#7d3c98;font-size:.88rem;margin-bottom:8px;}
  .bioxii-opt{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid #d7bde2;border-radius:8px;padding:7px 12px;margin:5px 0;font-size:.85rem;color:#444;cursor:pointer;transition:.15s;}
  .bioxii-opt:hover{border-color:#7d3c98;}
  .bioxii-opt.correct{background:#eafaf1;border-color:#27ae60;color:#1e8449;font-weight:700;}
  .bioxii-opt.wrong{background:#fdecea;border-color:#e74c3c;color:#c0392b;}
  .bioxii-opt:disabled{cursor:default;}
  .bioxii-just{margin-top:8px;background:#fffbea;border:1px solid #f5e6a8;border-left:4px solid #f1c40f;border-radius:8px;padding:9px 12px;font-size:.83rem;color:#6b5900;line-height:1.5;}
  .bioxii-just b{color:#1e8449;}
  .bioxii-h{color:#7d3c98;margin:20px 0 10px;font-size:1rem;border-left:4px solid #a569bd;padding-left:10px;}
  .bioxii-count{font-size:.78rem;color:#888;font-weight:400;}

/* ==== extracted from original offset 10055937 ==== */
#wa-fab{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;
    background:#25d366;display:flex;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:0 6px 18px rgba(0,0,0,.28);z-index:9998;font-size:1.6rem;color:#fff;
    animation:waPulse 2.4s infinite;}
  @keyframes waPulse{0%{box-shadow:0 6px 18px rgba(37,211,102,.45);}70%{box-shadow:0 6px 18px rgba(37,211,102,0);}100%{box-shadow:0 6px 18px rgba(37,211,102,0);}}
  #wa-panel{position:fixed;bottom:92px;right:24px;width:300px;max-width:88vw;background:#fff;
    border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.28);z-index:9999;overflow:hidden;
    display:none;font-family:'Segoe UI',Arial,sans-serif;}
  #wa-panel.open{display:block;}
  #wa-panel .wa-head{background:#1fa855;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;}
  #wa-panel .wa-head .wa-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.25);
    display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex:none;}
  #wa-panel .wa-head strong{display:block;font-size:.88rem;}
  #wa-panel .wa-head span{display:block;font-size:.7rem;color:#e6fbef;}
  #wa-panel .wa-close{margin-left:auto;cursor:pointer;font-size:1rem;opacity:.85;}
  #wa-panel .wa-body{padding:14px 16px;background:#e9f8ee;}
  #wa-panel .wa-bubble{background:#fff;border-radius:10px;padding:10px 12px;font-size:.83rem;color:#222;
    box-shadow:0 1px 4px rgba(0,0,0,.08);margin-bottom:12px;line-height:1.5;}
  #wa-panel .wa-start{display:block;text-align:center;background:#25d366;color:#fff;text-decoration:none;
    font-weight:700;font-size:.86rem;padding:10px;border-radius:8px;}
  #wa-fab.hide, #wa-panel.hide{display:none !important;}
  @media (max-width:560px){
    #wa-fab{bottom:16px;right:16px;width:52px;height:52px;font-size:1.4rem;}
    #wa-panel{bottom:78px;right:14px;}
  }
