:root{--brand:#8f4b43;--brand-dark:#5b2b28;--cream:#fff8f0;--card:#fffdf9;--ink:#2d2523;--muted:#776965;--line:#eadbd3;--ok:#1d7c50;--err:#a92f2f;--shadow:0 24px 70px rgba(91,43,40,.14)}
*{box-sizing:border-box}body.portal-body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff7ec 0,#fffaf6 42%,#f7ebe4 100%);font-family:Montserrat,Roboto,Arial,sans-serif;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:28px}.portal-card{width:min(480px,100%);background:rgba(255,253,249,.94);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.wide-card{width:min(920px,100%)}.portal-card h1{font-family:'Playfair Display',Georgia,serif;margin:0 0 10px;color:var(--brand-dark);font-size:clamp(28px,4vw,44px)}.portal-card h2{font-size:18px;margin:24px 0 12px;color:var(--brand-dark)}.portal-card p{line-height:1.7;color:var(--muted)}.portal-form{display:grid;gap:14px}.portal-form label,.portal-card label{display:grid;gap:7px;color:var(--brand-dark);font-weight:700;font-size:14px}.portal-form input,.portal-form select,.portal-form textarea,.portal-card textarea{width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}.portal-form textarea,.portal-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),#bf6659);color:white;text-decoration:none;padding:12px 21px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(143,75,67,.25)}.btn.secondary{background:#fff;color:var(--brand-dark);border:1px solid var(--line);box-shadow:none}.btn.full{width:100%}.portal-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.success-box,.error-box{border-radius:16px;padding:14px 16px;margin:16px 0;line-height:1.7}.success-box{background:#edf9f2;border:1px solid #bde7cf;color:#155d3b}.error-box{background:#fff0f0;border:1px solid #f2b9b9;color:var(--err)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}.dash-tile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.dash-tile strong{display:block;font-size:28px;color:var(--brand-dark)}.site-top{position:fixed;left:18px;right:18px;top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,253,249,.9);border:1px solid var(--line);backdrop-filter:blur(14px);padding:10px 14px;border-radius:999px;box-shadow:0 14px 35px rgba(91,43,40,.08)}.site-top a{text-decoration:none;color:var(--brand-dark);font-weight:800}.muted{color:var(--muted);font-size:14px}code{background:#fff4ec;border:1px solid var(--line);padding:2px 6px;border-radius:8px}@media(max-width:640px){body.portal-body{padding:18px;align-items:flex-start}.portal-card{padding:24px;margin-top:50px}.site-top{position:static;margin-bottom:16px;border-radius:18px;flex-direction:column}}

.subscription-list{display:grid;gap:14px;margin:14px 0 22px}.subscription-item{display:grid;grid-template-columns:1.4fr .7fr .9fr 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.subscription-item strong,.subscription-item span,.subscription-item small{display:block}.subscription-item span,.subscription-item small{color:var(--muted);font-size:13px;word-break:break-word}.tile-email{font-size:16px!important;word-break:break-word}@media(max-width:780px){.subscription-item{grid-template-columns:1fr}}

.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--brand)}.pulse-card{margin-top:54px}.pulse-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 14px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;font-weight:800;color:var(--brand-dark)}.pulse-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:16px}.pulse-resource-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(91,43,40,.06)}.pulse-resource-card h2{margin:8px 0 8px;font-size:18px}.pulse-resource-card p{margin:0 0 12px;word-break:break-word}.resource-type{display:inline-flex;align-items:center;justify-content:center;min-width:54px;border-radius:999px;padding:7px 11px;background:#fff4ec;border:1px solid var(--line);color:var(--brand-dark);font-weight:900;font-size:12px}.resource-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px;margin:12px 0}.btn.small{padding:9px 14px;font-size:13px}.site-top{z-index:5}.site-top .muted{white-space:nowrap}@media(max-width:640px){.pulse-card{margin-top:16px}.pulse-toolbar{align-items:flex-start;flex-direction:column}.site-top{gap:8px}.site-top a,.site-top span{font-size:13px}}

/* ===== One-login product library ===== */
.product-library-card{max-width:1180px}.portal-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:34px 0 18px}.portal-section-head h2{margin:2px 0 0}.portal-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:34px}.portal-product-card{display:grid;grid-template-columns:150px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:15px;box-shadow:0 14px 38px rgba(83,45,39,.07)}.portal-product-card.is-inactive{opacity:.65}.portal-product-media{width:150px;min-height:150px;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#6f3934,#a85a4f);display:grid;place-items:center;color:#fff;font:800 4rem 'Playfair Display',Georgia,serif}.portal-product-media img{width:100%;height:100%;object-fit:cover}.portal-product-copy{min-width:0}.portal-product-copy h3{font-family:'Playfair Display',Georgia,serif;color:var(--brand-dark);font-size:22px;line-height:1.15;margin:4px 0 8px}.portal-product-copy p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 12px}.portal-product-type{display:inline-flex;border-radius:999px;background:#fff1e8;color:var(--brand-dark);padding:5px 8px;font:800 10px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}.portal-product-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.portal-product-meta span{font-size:10px;color:var(--muted);background:#faf4ef;border-radius:999px;padding:5px 8px}.portal-expired-label{font-weight:800;color:#94483f;font-size:12px}.product-access-card{max-width:860px}.product-access-description{line-height:1.8;color:var(--muted)}@media(max-width:900px){.portal-product-grid{grid-template-columns:1fr}}@media(max-width:620px){.portal-section-head{align-items:flex-start;flex-direction:column}.portal-product-card{grid-template-columns:1fr}.portal-product-media{width:100%;aspect-ratio:1.6/1;min-height:0}}

/* ===== Secure password recovery ===== */
.forgot-link-row{display:flex;justify-content:flex-end;margin-top:-6px}.forgot-link-row a,.portal-links>a:not(.btn){color:var(--brand);font-weight:800;text-decoration:none}.forgot-link-row a:hover,.portal-links>a:not(.btn):hover{text-decoration:underline;text-underline-offset:3px}

/* ===== Edvantage Learning Engine ===== */
.portal-body.learning-body{display:block;min-height:100vh;padding:94px 28px 42px}.learning-body>.portal-card,.learning-body>.mock-exam-shell,.learning-body>.question-bank-shell{margin:0 auto}.learning-dashboard{max-width:1180px}.learning-breadcrumb{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:20px}.learning-breadcrumb a{color:var(--brand);text-decoration:none}.learning-product-head{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line)}.learning-product-head p{margin-bottom:0}.learning-product-head img{width:180px;height:126px;object-fit:cover;border-radius:20px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(91,43,40,.1)}.learning-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.learning-stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px}.learning-stat span,.learning-stat small{display:block;color:var(--muted);font-size:11px}.learning-stat strong{display:block;color:var(--brand-dark);font-size:24px;margin:5px 0}.learning-stat.good strong{color:#1d7c50}.learning-stat.bad strong{color:#a83c34}.learning-section-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:34px 0 15px}.learning-section-title h2{margin:2px 0 0;font:700 28px 'Playfair Display',Georgia,serif}.learning-section-title>p{max-width:440px;margin:0;text-align:right;font-size:12px}.learning-note{border:1px solid #ecd7ad;background:#fff9e9;color:#6c5525;padding:13px 16px;border-radius:15px;font-size:12px;line-height:1.6;margin:15px 0}.learning-chip,.bundle-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.learning-chip{background:#f0f7f3;color:#196443;border:1px solid #d3eadc}.bundle-chip{background:#f7efe2;color:#7a5321;border:1px solid #ead6b7}.product-card-labels{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ultimate-banner{margin:20px 0;padding:21px 23px;border:1px solid #d8bc91;border-radius:22px;background:linear-gradient(135deg,#fff9eb,#f4e1bf);box-shadow:0 12px 28px rgba(105,74,34,.08)}.ultimate-banner span{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#8b6428}.ultimate-banner strong{display:block;font:700 22px 'Playfair Display',Georgia,serif;color:#5c3c16;margin:4px 0}.ultimate-banner p{margin:0;color:#775c36;font-size:12px}.mock-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mock-library-card{display:grid;grid-template-columns:64px 1fr;gap:15px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;align-items:start}.mock-number{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--brand-dark),var(--brand));color:#fff;font-size:20px;font-weight:900}.mock-library-card h3{font:700 20px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:6px 0}.mock-library-card p{font-size:11px;line-height:1.5;margin:0}.question-bank-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.bank-set-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.bank-set-card{text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;position:relative;overflow:hidden}.bank-set-card span,.bank-set-card small{display:block;color:var(--muted);font-size:10px}.bank-set-card strong{display:block;color:var(--brand-dark);font-size:20px;margin:5px 0}.bank-set-card i{position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--brand) var(--progress),#f1e5de var(--progress))}.bundle-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.bundle-product-card{display:grid;grid-template-columns:110px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;text-decoration:none;color:var(--ink)}.bundle-product-card img{width:110px;height:84px;object-fit:cover;border-radius:14px}.bundle-product-card div{display:flex;flex-direction:column;justify-content:center}.bundle-product-card span,.bundle-product-card small{font-size:10px;color:var(--muted)}.bundle-product-card strong{font:700 17px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:4px 0}.learning-footer-links{margin-top:34px;border-top:1px solid var(--line);padding-top:20px}

/* Mock exam */
.mock-exam-body{background:#f6f0eb}.mock-exam-shell{width:min(1320px,100%)}.mock-exam-header{display:flex;justify-content:space-between;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px 21px;margin-bottom:14px;box-shadow:0 10px 30px rgba(68,45,39,.05)}.mock-exam-header a{font-size:11px;font-weight:800;color:var(--brand);text-decoration:none}.mock-exam-header h1{font:700 27px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:3px 0}.mock-exam-header p{margin:0;color:var(--muted);font-size:11px}.mock-clock{min-width:145px;text-align:center;border-radius:17px;padding:10px 16px;background:#fff6ef;border:1px solid var(--line)}.mock-clock span{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.mock-clock strong{display:block;color:var(--brand-dark);font-size:25px;font-variant-numeric:tabular-nums}.mock-clock.is-low{background:#fff0f0;border-color:#f0b5b5}.mock-clock.is-low strong{color:#a52f2f}.mock-exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.mock-question-stage,.mock-palette-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 30px rgba(68,45,39,.05)}.mock-question-stage{padding:24px;min-height:650px}.mock-stage-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:11px;font-weight:900;color:var(--muted)}.review-toggle,.clear-response{border:0;background:transparent;color:var(--brand);font:800 11px Montserrat,sans-serif;cursor:pointer}.review-toggle.active{color:#9a6a19}.mock-question{display:none;padding:26px 0 12px}.mock-question.is-active{display:block}.mock-q-number{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:900}.mock-q-text{font:600 18px/1.65 Montserrat,sans-serif;color:#302825;margin:11px 0 22px;white-space:normal}.mock-options{display:grid;gap:10px}.mock-option{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:16px;padding:13px 14px;cursor:pointer;background:#fff}.mock-option:hover{border-color:#c99588;background:#fffaf6}.mock-option:has(input:checked){border-color:var(--brand);background:#fff5ef;box-shadow:0 0 0 1px rgba(143,75,67,.08)}.mock-option input{position:absolute;opacity:0;pointer-events:none}.mock-option-letter{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-weight:900;color:var(--brand-dark)}.mock-option:has(input:checked) .mock-option-letter{background:var(--brand);color:#fff;border-color:var(--brand)}.clear-response{margin-top:13px}.mock-nav{display:flex;justify-content:space-between;gap:12px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.mock-nav button:disabled{opacity:.45;cursor:not-allowed}.mock-palette-panel{padding:18px;position:sticky;top:88px}.palette-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.palette-summary div{text-align:center;background:#faf5f1;border-radius:13px;padding:9px 5px}.palette-summary strong{display:block;color:var(--brand-dark);font-size:18px}.palette-summary span{font-size:8px;color:var(--muted)}.mock-palette-panel h2{font-size:13px;margin:18px 0 10px}.mock-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:360px;overflow:auto;padding-right:3px}.mock-palette button{aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-weight:800;cursor:pointer}.mock-palette button.is-answered{background:#eaf7ef;color:#17633f;border-color:#b8ddc8}.mock-palette button.is-review{box-shadow:inset 0 0 0 2px #d69d35}.mock-palette button.is-current{outline:2px solid var(--brand);outline-offset:1px}.palette-legend{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0;font-size:8px;color:var(--muted)}.palette-legend span{display:flex;gap:4px;align-items:center}.palette-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;border:1px solid var(--line);background:#fff}.palette-legend i.answered{background:#eaf7ef;border-color:#b8ddc8}.palette-legend i.review{box-shadow:inset 0 0 0 2px #d69d35}.autosave-state{font-size:9px!important;text-align:center;margin:9px 0 0!important}.mock-modal[hidden]{display:none}.mock-modal{position:fixed;inset:0;z-index:30;background:rgba(35,26,23,.55);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.mock-modal>div{width:min(470px,100%);background:#fff;border-radius:24px;padding:27px;box-shadow:0 35px 90px rgba(0,0,0,.2)}.mock-modal h2{font:700 28px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:0 0 8px}.modal-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.modal-stats span{background:#faf5f1;border-radius:14px;padding:13px;text-align:center;color:var(--muted);font-size:11px}.modal-stats strong{font-size:20px;color:var(--brand-dark)}

/* Mock results */
.mock-result-card{max-width:1050px}.result-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:22px;padding:23px;background:linear-gradient(145deg,#6b3732,#9d5148);color:#fff;margin:20px 0}.result-hero>div:first-child>span{font-size:10px;letter-spacing:.12em;font-weight:900}.result-hero>div:first-child>strong{display:block;font-size:54px;line-height:1;margin:6px 0}.result-hero strong small{font-size:20px;opacity:.7}.result-hero p{color:#fff;margin:0}.result-ring{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f4d5ae var(--score),rgba(255,255,255,.18) 0);position:relative}.result-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#753c36}.result-ring span{position:relative;font-weight:900;font-size:18px}.answer-review-list{display:grid;gap:9px}.answer-review{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.answer-review summary{display:grid;grid-template-columns:58px 100px 1fr;gap:10px;align-items:center;cursor:pointer;padding:13px 15px;list-style:none}.answer-review summary::-webkit-details-marker{display:none}.answer-review summary span{font-weight:900;color:var(--brand-dark)}.answer-review summary strong{font-size:11px}.answer-review summary small{color:var(--muted);text-align:right}.answer-review.correct summary strong{color:#187147}.answer-review.wrong summary strong{color:#a43c35}.answer-review>div{border-top:1px solid var(--line);padding:17px}.answer-review>div>p{color:var(--ink);font-weight:600}.review-option{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:9px;border-radius:11px;margin:5px 0}.review-option b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid var(--line)}.review-option.is-correct{background:#eaf7ef;color:#165c3c}.review-option.is-selected-wrong{background:#fff0ef;color:#94332e}

/* Question bank practice */
.question-bank-shell{width:min(1240px,100%)}.qb-header{display:flex;align-items:end;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 22px;margin-bottom:13px}.qb-header a{color:var(--brand);font-size:11px;text-decoration:none;font-weight:900}.qb-header h1{font:700 28px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:3px 0}.qb-header .eyebrow{margin-top:10px}.qb-progress-summary{text-align:right}.qb-progress-summary span,.qb-progress-summary strong,.qb-progress-summary small{display:block}.qb-progress-summary span{font-size:20px;font-weight:900;color:var(--brand-dark)}.qb-progress-summary strong{font-size:11px}.qb-progress-summary small{font-size:9px;color:var(--muted)}.qb-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:13px;align-items:start}.qb-card,.qb-sidebar{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.qb-question-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:800}.qb-card h2{font:600 19px/1.6 Montserrat,sans-serif;color:var(--ink);margin:16px 0 21px}.qb-options{display:grid;gap:9px}.qb-option{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:15px;padding:12px 13px;cursor:pointer}.qb-option input{position:absolute;opacity:0}.qb-option b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid var(--line);color:var(--brand-dark)}.qb-option:has(input:checked){background:#fff6f0;border-color:#be7b70}.qb-option:has(input:checked) b{background:var(--brand);color:#fff;border-color:var(--brand)}.qb-option.is-correct{background:#eaf7ef;border-color:#acd8bf}.qb-option.is-correct b{background:#23734d;color:#fff;border-color:#23734d}.qb-option.is-wrong{background:#fff0ef;border-color:#e4b0ac}.qb-option.is-wrong b{background:#a84940;color:#fff;border-color:#a84940}.qb-feedback{display:flex;flex-direction:column;gap:4px;margin:15px 0 0;border-radius:14px;padding:12px 14px;font-size:11px}.qb-feedback.correct{background:#eaf7ef;color:#165c3c}.qb-feedback.wrong{background:#fff0ef;color:#8e322c}.qb-feedback.neutral{background:#fff9e8;color:#695223}.qb-actions,.qb-nav{display:flex;gap:10px;flex-wrap:wrap}.qb-actions{margin-top:15px}.qb-nav{justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.qb-sidebar{position:sticky;top:88px}.qb-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.qb-mini-stats div{background:#faf5f1;border-radius:12px;text-align:center;padding:8px 4px}.qb-mini-stats strong,.qb-mini-stats span{display:block}.qb-mini-stats strong{font-size:17px;color:var(--brand-dark)}.qb-mini-stats span{font-size:8px;color:var(--muted)}.qb-sidebar h3{font-size:12px;color:var(--brand-dark);margin:17px 0 9px}.qb-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-height:405px;overflow:auto;padding:2px}.qb-palette a{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--muted);font-size:10px;font-weight:900}.qb-palette a.answered{background:#f5efe9}.qb-palette a.correct{background:#eaf7ef;color:#17633f;border-color:#b8ddc8}.qb-palette a.wrong{background:#fff0ef;color:#9a3a33;border-color:#e7b4b0}.qb-palette a.current{outline:2px solid var(--brand);outline-offset:1px}.qb-side-links{display:grid;gap:7px;margin-top:14px}.qb-side-links a{font-size:10px;color:var(--brand);font-weight:900;text-decoration:none}.qb-toast{position:fixed;right:24px;bottom:24px;z-index:20;background:#2f6b4d;color:#fff;border-radius:999px;padding:10px 16px;font-size:11px;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.15)}

@media(max-width:980px){.learning-overview-grid{grid-template-columns:repeat(2,1fr)}.bank-set-grid{grid-template-columns:repeat(3,1fr)}.mock-exam-layout,.qb-layout{grid-template-columns:1fr}.mock-palette-panel,.qb-sidebar{position:static}.mock-palette{max-height:none}.qb-palette{max-height:none}.mock-library-grid{grid-template-columns:1fr}}
@media(max-width:700px){.portal-body.learning-body{padding:16px}.learning-body .site-top{position:static;margin:0 auto 14px;max-width:100%}.learning-product-head{grid-template-columns:1fr}.learning-product-head img{width:100%;height:auto;aspect-ratio:16/9}.learning-overview-grid{grid-template-columns:1fr 1fr}.bank-set-grid{grid-template-columns:repeat(2,1fr)}.bundle-product-grid{grid-template-columns:1fr}.learning-section-title{display:block}.learning-section-title>p{text-align:left;margin-top:6px}.mock-exam-header,.qb-header{align-items:flex-start;flex-direction:column}.mock-clock{width:100%}.mock-question-stage{padding:16px;min-height:0}.mock-q-text{font-size:16px}.mock-palette-panel{padding:14px}.mock-palette{grid-template-columns:repeat(8,1fr)}.answer-review summary{grid-template-columns:45px 80px 1fr}.result-hero{align-items:flex-start}.result-ring{width:90px;height:90px}.qb-card,.qb-sidebar{padding:16px}.qb-progress-summary{text-align:left}.qb-palette{grid-template-columns:repeat(8,1fr)}}
@media(max-width:480px){.learning-overview-grid{grid-template-columns:1fr}.bank-set-grid{grid-template-columns:1fr 1fr}.mock-library-card{grid-template-columns:50px 1fr}.mock-number{width:46px;height:46px;border-radius:14px;font-size:16px}.mock-option,.qb-option{grid-template-columns:33px 1fr}.mock-palette,.qb-palette{grid-template-columns:repeat(5,1fr)}.result-hero>div:first-child>strong{font-size:42px}.result-ring{display:none}.answer-review summary{grid-template-columns:42px 1fr}.answer-review summary small{grid-column:1/-1;text-align:left}.qb-nav .btn{font-size:11px;padding:10px 13px}}

/* ===== Source-aware instructions QA patch ===== */
.learning-instruction-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:24px;align-items:start;margin:20px 0 28px;padding:22px 24px;border:1px solid #e2cfc3;border-radius:22px;background:linear-gradient(145deg,#fffdf9,#fff5ed);box-shadow:0 12px 30px rgba(91,43,40,.06)}.learning-instruction-card>div>span{display:block;color:var(--brand);font-size:9px;letter-spacing:.14em;font-weight:900}.learning-instruction-card h3{font:700 22px 'Playfair Display',Georgia,serif;color:var(--brand-dark);margin:4px 0 7px}.learning-instruction-card p{margin:0!important;font-size:11px!important;line-height:1.7!important}.learning-instruction-card ul{margin:0;padding-left:20px;color:var(--muted);font-size:10px;line-height:1.7}.learning-instruction-card li+li{margin-top:3px}.learning-instruction-card li strong{color:var(--brand-dark)}
.bank-set-card{min-height:168px}.bank-set-coverage{display:flex;flex-direction:column;gap:4px;margin:9px 0 8px}.bank-set-coverage em{font-style:normal;font-size:8px;line-height:1.45;color:#705c56;background:#faf4ef;border:1px solid #f0e3db;border-radius:8px;padding:5px 7px}.bank-set-card>small{margin-top:auto}
.qb-source-path{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:10px;font-size:10px;color:var(--muted)}.qb-source-path span{font-weight:700}.qb-source-path i{font-style:normal;color:#b8a49b}.qb-source-path strong{color:var(--brand);font-weight:900}.qb-instruction-bar{border:1px solid #ead7c8;background:#fff8f0;border-radius:16px;padding:12px 14px;margin-bottom:17px}.qb-instruction-bar>span{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:var(--brand);margin-bottom:4px}.qb-instruction-bar p{margin:0;color:#5f504b;font-size:11px;line-height:1.6}.qb-question-meta span{display:flex;gap:5px;align-items:baseline}.qb-question-meta small{font-size:8px;font-weight:700;color:#aa9690}.qb-source-note,.mock-source-note{display:flex;gap:8px;align-items:flex-start;border:1px solid #ecd7ad;background:#fff9e9;color:#6c5525;border-radius:12px;padding:9px 11px;margin:12px 0;font-size:10px;line-height:1.55}.qb-source-note strong,.mock-source-note strong{white-space:nowrap}.qb-shared-directions,.mock-shared-directions{border-left:4px solid var(--brand);background:#faf5f1;border-radius:0 14px 14px 0;padding:13px 15px;margin:13px 0 16px}.qb-shared-directions strong,.mock-shared-directions strong{display:block;color:var(--brand-dark);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.qb-shared-directions p,.mock-shared-directions p{margin:0!important;color:#584a46!important;font-size:11px!important;line-height:1.65!important}
.mock-preflight{max-width:930px}.mock-preflight-head{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:22px;border-bottom:1px solid var(--line)}.mock-preflight-head h1{margin-bottom:8px}.mock-preflight-head p{margin:0}.mock-preflight-badge{width:116px;height:116px;flex:0 0 116px;border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#743b35,#a9574d);color:#fff;box-shadow:0 16px 36px rgba(91,43,40,.2)}.mock-preflight-badge strong{font:700 32px 'Playfair Display',Georgia,serif;line-height:1}.mock-preflight-badge span{font-size:8px;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.mock-rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.mock-rule-grid>div{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px}.mock-rule-grid span,.mock-rule-grid strong,.mock-rule-grid small{display:block}.mock-rule-grid span{font-size:8px;letter-spacing:.1em;font-weight:900;color:var(--muted)}.mock-rule-grid strong{color:var(--brand-dark);font-size:17px;margin:5px 0}.mock-rule-grid small{font-size:9px;line-height:1.5;color:var(--muted)}.mock-preflight-rules{background:#fff;border:1px solid var(--line);border-radius:20px;padding:19px 22px}.mock-preflight-rules h2{margin-top:0}.mock-preflight-rules ol{margin:0;padding-left:21px;color:var(--muted);font-size:11px;line-height:1.75}.mock-preflight-rules li+li{margin-top:3px}.mock-preflight-actions{justify-content:space-between}.mock-instructions-inline{border:1px solid var(--line);background:#fffaf5;border-radius:13px;margin:14px 0;padding:10px 11px}.mock-instructions-inline summary{cursor:pointer;color:var(--brand-dark);font-size:10px;font-weight:900}.mock-instructions-inline ul{margin:9px 0 0;padding-left:17px;font-size:8px;line-height:1.6;color:var(--muted)}
@media(max-width:800px){.learning-instruction-card{grid-template-columns:1fr}.mock-rule-grid{grid-template-columns:1fr 1fr}.mock-preflight-head{align-items:flex-start}.mock-preflight-badge{width:88px;height:88px;flex-basis:88px}.mock-preflight-badge strong{font-size:25px}}
@media(max-width:520px){.learning-instruction-card{padding:17px}.mock-rule-grid{grid-template-columns:1fr}.mock-preflight-head{display:block}.mock-preflight-badge{margin-top:16px}.mock-preflight-actions{display:grid}.mock-preflight-actions .btn{width:100%}.qb-question-meta{gap:8px;flex-direction:column}.qb-question-meta span{justify-content:flex-start}}
