/* Personal edition: scoped, responsive layouts that inherit the site's font. */
:where(.qfb-qe-quiz-list,.qfb-qe-category-page,.qfb-qe-quiz){--qfb-ink:#172b3a;--qfb-muted:#516575;--qfb-line:#dbe3e8;--qfb-accent:#09675c;color:var(--qfb-ink);font-family:inherit;line-height:1.6;box-sizing:border-box}
:where(.qfb-qe-quiz-list,.qfb-qe-category-page,.qfb-qe-quiz) *{box-sizing:border-box}
.qfb-qe-quiz-list,.qfb-qe-category-page{width:100%;max-width:1120px;margin:32px auto}
.qfb-qe-quiz-list h2,.qfb-qe-category-page h2{font-size:1.35rem;line-height:1.3;margin:32px 0 18px;color:var(--qfb-ink)}
.qfb-qe-cat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.qfb-qe-cat-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:16px;row-gap:2px;min-height:104px;padding:18px;text-align:start;border:1px solid var(--qfb-line);border-radius:12px;background:#fff;text-decoration:none;transition:border-color .15s}
.qfb-qe-cat-card img,.qfb-qe-cat-card-img{grid-column:1;grid-row:1 / span 2;width:64px;height:64px;object-fit:cover;border-radius:10px;margin:0}
.qfb-qe-cat-card span{grid-column:2;font-size:1rem;line-height:1.4;color:var(--qfb-ink);overflow-wrap:anywhere}
.qfb-qe-cat-card small{grid-column:2;color:var(--qfb-muted);font-size:.8rem}
.qfb-qe-cat-card:not(:has(img)){grid-template-columns:1fr}
.qfb-qe-cat-card:not(:has(img)) span,.qfb-qe-cat-card:not(:has(img)) small{grid-column:1}
.qfb-qe-cat-card:hover{border-color:var(--qfb-accent);background:#f7faf9}
.qfb-qe-list-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px}
.qfb-qe-card{padding:22px;border-color:var(--qfb-line);border-radius:12px;box-shadow:none;max-width:100%}
.qfb-qe-card-img{height:156px;border-radius:8px}
.qfb-qe-card-tag{color:var(--qfb-accent);font-size:.7rem;letter-spacing:.06em}
.qfb-qe-card-title{font-size:1.15rem;line-height:1.4;color:var(--qfb-ink)}
.qfb-qe-card-meta,.qfb-qe-card-desc{color:var(--qfb-muted)}
.qfb-qe-btn{background:var(--qfb-accent);color:#fff;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:7px;font:inherit;font-weight:600}
.qfb-qe-btn:hover{background:#07574e;color:#fff}
.qfb-qe-btn:disabled{opacity:.6;cursor:wait}
.qfb-qe-back{background:transparent;border:0;padding:8px 0;color:var(--qfb-accent);font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.qfb-qe-cat-hero{text-align:start;padding:24px 0;border-bottom:1px solid var(--qfb-line);margin-bottom:28px}
.qfb-qe-cat-hero-img{width:112px;height:112px;object-fit:cover;float:inline-end;margin-inline-start:24px;border-radius:14px}
.qfb-qe-cat-hero:after{content:"";display:block;clear:both}
.qfb-qe-cat-hero h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:8px 0 16px;color:var(--qfb-ink)}
.qfb-qe-cat-desc{margin:0;max-width:680px;color:var(--qfb-muted)}
.qfb-qe-quiz{padding:clamp(18px,4vw,32px);border-color:var(--qfb-line);border-radius:12px;box-shadow:none;background:#fff}
.qfb-qe-title{font-size:1.4rem;line-height:1.4;color:var(--qfb-ink)}
.qfb-qe-meta{padding:12px 0;background:transparent;font-size:.85rem;color:var(--qfb-muted);margin-bottom:6px;flex-wrap:wrap}
.qfb-qe-progress{display:block;width:100%;height:6px;accent-color:var(--qfb-accent);margin-bottom:28px}
.qfb-qe-question{font-size:1.13rem;line-height:1.6;margin-bottom:20px;overflow-wrap:anywhere}
.qfb-qe-option{display:flex;align-items:flex-start;gap:12px;border-color:var(--qfb-line);border-radius:8px;padding:15px}
.qfb-qe-option input{margin:5px 0 0;accent-color:var(--qfb-accent);flex-shrink:0;width:18px;height:18px}
.qfb-qe-option:has(input:checked){background:#eef7f4;border-color:var(--qfb-accent)}
.qfb-qe-result{padding:0;background:transparent}
.qfb-qe-score-circle{background:var(--qfb-accent)}
.qfb-qe-review-item{border-radius:6px;border:1px solid var(--qfb-line);border-inline-start-width:4px}
.qfb-qe-review-correct{border-inline-start-color:#167447}.qfb-qe-review-wrong{border-inline-start-color:#aa3e34}
.qfb-qe-references{font-size:.9rem;padding-inline-start:20px}
.qfb-qe-error,.qfb-load-error{color:#9a3027;font-size:.9rem}.qfb-qe-error:empty,.qfb-load-error:empty{display:none}
:where(.qfb-qe-quiz,.qfb-qe-quiz-list,.qfb-qe-category-page) :focus-visible{outline:3px solid #237eab;outline-offset:3px}
@media(max-width:480px){.qfb-qe-cat-hero-img{width:80px;height:80px;margin-inline-start:14px}.qfb-qe-score-summary{gap:14px}.qfb-qe-actions{gap:12px}.qfb-qe-btn{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.qfb-qe-cat-card{transition:none}}

/* Focused practice rounds — 1.3.1 */
.qfb-qe-intro{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#152f3c;color:#fff;padding:36px 40px;border-radius:18px;margin-bottom:36px}
.qfb-qe-eyebrow{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--qfb-accent);margin-bottom:10px}
.qfb-qe-intro .qfb-qe-eyebrow{color:#a9dbd1}
.qfb-qe-quiz-list .qfb-qe-intro h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.18;margin:0 0 14px;letter-spacing:-.025em;max-width:600px}
.qfb-qe-intro p{color:#d5e2e8;max-width:540px;margin:0;font-size:.95rem;line-height:1.7}
.qfb-qe-round-note{display:flex;gap:16px;align-items:center;border-inline-start:1px solid #46606b;padding-inline-start:28px;flex-shrink:0}
.qfb-qe-round-note strong{font-size:3rem;line-height:1;letter-spacing:-.06em;font-weight:600}
.qfb-qe-round-note span{color:#d5e2e8;font-size:.8rem;line-height:1.5}
.qfb-qe-cat-card{padding:20px;border-radius:14px;min-height:116px}
.qfb-qe-cat-card img,.qfb-qe-cat-card-img{width:72px;height:72px;border-radius:12px}
.qfb-qe-cat-card small span{font-size:1rem;color:var(--qfb-accent);margin-inline-start:6px}
.qfb-qe-card{border-radius:14px;padding:24px}
.qfb-qe-card .qfb-qe-btn{width:100%;margin-top:8px}
.qfb-qe-quiz{max-width:820px;border-radius:18px;padding:clamp(22px,5vw,42px);margin-top:20px}
.qfb-qe-quiz .qfb-qe-title{font-size:clamp(1.4rem,3vw,1.8rem);letter-spacing:-.025em;line-height:1.3;margin:0}
.qfb-qe-question{font-size:clamp(1.13rem,2.5vw,1.4rem);line-height:1.5;font-weight:600;margin:24px 0}
.qfb-qe-options{display:grid;gap:12px}
.qfb-qe-option{position:relative;align-items:center;margin:0;padding:16px;min-height:68px;gap:14px;cursor:pointer;transition:background-color .12s,border-color .12s}
.qfb-qe-option input{position:absolute;opacity:0;width:1px;height:1px}
.qfb-qe-option:has(input:focus-visible){outline:3px solid #237eab;outline-offset:3px}
.qfb-qe-option-letter{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--qfb-line);border-radius:8px;color:var(--qfb-muted);font-size:.8rem;font-weight:600;background:#f7f9fa}
.qfb-qe-option:has(input:checked) .qfb-qe-option-letter{background:var(--qfb-accent);color:#fff;border-color:var(--qfb-accent)}
.qfb-qe-option-check{margin-inline-start:auto;color:var(--qfb-accent);visibility:hidden;font-weight:700}
.qfb-qe-option:has(input:checked) .qfb-qe-option-check{visibility:visible}
.qfb-qe-answer-hint{font-size:.8rem;color:var(--qfb-muted);margin:18px 0 0}
.qfb-qe-actions{border-top:1px solid var(--qfb-line);padding-top:20px;margin-top:24px}
.qfb-prev{background:#fff;border-color:var(--qfb-line);color:var(--qfb-muted)}
.qfb-qe-score-summary{padding:24px;background:#f0f7f5;border-radius:12px;margin-bottom:28px}
.qfb-qe-review-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem}
.qfb-qe-question-id{font-size:.75rem;color:var(--qfb-muted);font-variant-numeric:tabular-nums;padding:3px 8px;background:#f1f5f7;border-radius:5px}
.qfb-qe-review-q{font-size:1rem;line-height:1.6;margin:14px 0}
.qfb-play-again{margin-top:20px}
.qfb-qe-playing>.qfb-qe-intro,.qfb-qe-playing>.qfb-qe-cat-grid,.qfb-qe-playing>h2{display:none}
.qfb-qe-review-correct strong,.qfb-qe-answer-correct{color:#146443}
.qfb-qe-review-wrong strong{color:#9a3027}
@media(max-width:640px){.qfb-qe-intro{padding:26px 24px;align-items:flex-start;flex-direction:column;gap:24px;border-radius:14px}.qfb-qe-round-note{border-inline-start:0;padding-inline-start:0;gap:12px}.qfb-qe-round-note strong{font-size:2rem}.qfb-qe-round-note br{display:none}.qfb-qe-cat-card{padding:16px}.qfb-qe-cat-card img{width:64px;height:64px}.qfb-qe-quiz{padding:24px 20px}.qfb-qe-option{padding:13px;gap:10px}.qfb-qe-score-summary{padding:16px}.qfb-qe-review-item{padding:14px}}
@media(prefers-reduced-motion:reduce){.qfb-qe-option{transition:none}}

/* Cover-image category and topic cards, matching the supplied visual reference. */
.qfb-qe-browse-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dce3eb;border-radius:28px;color:#151d30;text-decoration:none;box-shadow:0 2px 4px rgba(22,40,61,.08);transition:border-color .15s,transform .15s;min-width:0}
.qfb-qe-browse-card:hover{border-color:#91ada9;transform:translateY(-2px);color:#151d30;text-decoration:none}
.qfb-qe-browse-card .qfb-qe-browse-image{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center;margin:0;border-radius:0;max-width:100%}
.qfb-qe-browse-body{padding:26px 18px 28px;text-align:center}
.qfb-qe-browse-body h3{margin:0 0 9px;font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:700;letter-spacing:.01em;line-height:1.25;color:#151d30;overflow-wrap:anywhere}
.qfb-qe-browse-body p{margin:0;color:#657a98;font-size:1.15rem;line-height:1.5}
.qfb-qe-browse-fallback{display:grid;place-items:center;aspect-ratio:2/1;background:#e8f0ef;color:#476c66;font-size:3rem;font-weight:600}
.qfb-qe-cat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px}
.qfb-qe-open-play{text-align:center;display:inline-block;text-decoration:none}
.qfb-qe-category-page .qfb-qe-cat-hero{background:#f4f7f8;padding:32px;border:1px solid #e2e8ed;border-radius:18px}
@media(max-width:640px){.qfb-qe-browse-card{border-radius:24px}.qfb-qe-browse-body{padding:24px 16px}.qfb-qe-category-page .qfb-qe-cat-hero{padding:24px}}
@media(prefers-reduced-motion:reduce){.qfb-qe-browse-card{transition:none}.qfb-qe-browse-card:hover{transform:none}}
/* Step 1 visual finish: shared surfaces, resilient content and accessible states. */
:where(.qfb-qe-quiz-list,.qfb-qe-category-page,.qfb-qe-quiz){--qfb-muted:#506378;--qfb-line:#d8e2e8;font-size:16px}
.qfb-qe-card,.qfb-qe-quiz{box-shadow:0 6px 24px rgba(23,43,58,.045)}
.qfb-qe-card-title,.qfb-qe-title,.qfb-qe-cat-desc,.qfb-qe-card-desc,.qfb-qe-review-item{overflow-wrap:anywhere}
.qfb-qe-btn{text-align:center;text-decoration:none;line-height:1.5;transition:background-color .15s,box-shadow .15s}
.qfb-qe-btn:focus-visible{box-shadow:0 0 0 5px #e1f2ee}
.qfb-qe-back:hover{text-decoration:underline;text-underline-offset:4px}
.qfb-qe-browse-body p{color:var(--qfb-muted)}
.qfb-qe-browse-fallback{background:linear-gradient(135deg,#e3f0ec,#edf0f8);color:#365f59}
.qfb-qe-card .qfb-qe-btn{margin-top:auto}
.qfb-qe-time:not(:empty){padding:4px 10px;background:#edf5f3;border:1px solid #d2e5df;border-radius:999px;color:#155e54;font-variant-numeric:tabular-nums}
.qfb-qe-time.qfb-qe-time-urgent{background:#fff1ed;border-color:#e8b8ab;color:#922f22}
.qfb-qe-meta{align-items:center;min-height:48px}
.qfb-qe-progress{overflow:hidden;border:0;border-radius:99px;background:#e8efed}
.qfb-qe-progress::-webkit-progress-bar{background:#e8efed;border-radius:99px}
.qfb-qe-progress::-webkit-progress-value{background:var(--qfb-accent);border-radius:99px}
.qfb-qe-progress::-moz-progress-bar{background:var(--qfb-accent);border-radius:99px}
.qfb-qe-option>span:not(.qfb-qe-option-letter):not(.qfb-qe-option-check){min-width:0;overflow-wrap:anywhere;line-height:1.55}
.qfb-qe-option:hover{background:#f3f8f6;border-color:#8aada5}
.qfb-qe-option:has(input:checked){background:#eaf5f0;border-color:var(--qfb-accent)}
.qfb-qe-option:has(input:disabled){cursor:default}
.qfb-qe-question-image{width:auto;max-height:400px;object-fit:contain;margin-inline:auto}
.qfb-qe-result h2{margin:0 0 20px;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.025em}
.qfb-qe-score-summary p{margin:4px 0;color:var(--qfb-muted)}
.qfb-qe-score-summary p:first-child{color:var(--qfb-ink);font-weight:600}
.qfb-qe-score-circle{width:96px;height:96px;min-width:96px;font-size:1.6rem;box-shadow:0 0 0 6px #deeee7}
.qfb-qe-review-item{padding:20px;margin:14px 0;border-radius:12px}
.qfb-qe-explanation{padding-top:12px;border-top:1px solid var(--qfb-line);color:var(--qfb-muted);font-size:.94rem;line-height:1.7}
.qfb-qe-references a{color:#09675c;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0;overflow-wrap:anywhere}
.qfb-qe-message{padding:28px;border:1px dashed #b7c9d1;background:#f5f8fa;border-radius:14px;color:#506378;text-align:center;line-height:1.7}
.qfb-qe-error:not(:empty),.qfb-load-error:not(:empty){padding:12px 16px;border:1px solid #e7c3bb;border-radius:10px;background:#fff5f2;line-height:1.6}
.qfb-qe-error.qfb-qe-saving{color:#155e54;background:#eff7f4;border-color:#cde3db}
.qfb-qe-btn[aria-busy=true]::before{content:'';display:inline-block;width:14px;height:14px;margin-inline-end:9px;vertical-align:-2px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:qfb-spin .8s linear infinite}
@keyframes qfb-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.qfb-qe-quiz-list,.qfb-qe-category-page{margin-block:20px}.qfb-qe-quiz{padding:22px 16px;border-radius:16px}.qfb-qe-option{min-height:64px}.qfb-qe-option-letter{width:30px;height:30px}.qfb-qe-score-summary{align-items:flex-start;flex-direction:column;gap:18px;padding:22px}.qfb-qe-review-item{padding:16px}.qfb-qe-actions .qfb-qe-btn{min-width:100px}.qfb-play-again{width:100%}.qfb-qe-cat-hero-img{float:none;margin:0 0 16px}}
@media(prefers-reduced-motion:reduce){.qfb-qe-btn{transition:none}.qfb-qe-btn[aria-busy=true]::before{animation:none}}
@media(forced-colors:active){.qfb-qe-option:has(input:checked){outline:2px solid Highlight}.qfb-qe-option-letter{border-color:ButtonText}}

/* Mixed question types and optional review navigation. */
.qfb-review-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.qfb-review-controls .qfb-qe-btn,.qfb-review-grid .qfb-qe-btn{background:#f3f7f6;color:#155e54;border:1px solid #c6dcd4}.qfb-flag[aria-pressed=true]{background:#fff2cd;border-color:#d2ae50;color:#6d4c00}.qfb-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:22px}.qfb-review-grid .qfb-qe-btn{text-align:left}.qfb-qe-option:has(input[type=checkbox]) .qfb-qe-option-letter{border-radius:4px}

/* Topic browser matching the horizontal-card reference. */
.qfb-topic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e5ebf2;margin:0 0 24px}
.qfb-topic-toolbar[hidden],.qfb-topic-view-all[hidden],.qfb-topic-tile[hidden]{display:none}
.qfb-topic-tabs{display:flex;gap:12px;min-width:0;overflow-x:auto}
.qfb-topic-sort,.qfb-topic-view-all{appearance:none;background:transparent;border:0;border-radius:0;font:inherit;font-size:.94rem;font-weight:650;line-height:1.5;white-space:nowrap;cursor:pointer;padding:16px 14px;color:#60758e;min-height:44px}
.qfb-topic-sort{border-bottom:3px solid transparent}.qfb-topic-sort[aria-pressed=true]{color:#2259e8;border-bottom-color:#2d67ff}.qfb-topic-sort:hover,.qfb-topic-view-all:hover{color:#174bd2;background:#f0f5ff}
.qfb-topic-view-all{color:#2863f3;padding-inline:0;flex-shrink:0}
.qfb-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}
.qfb-topic-tile{display:flex;align-items:center;gap:16px;min-width:0;min-height:106px;padding:16px;background:#fff;border:1px solid #dde5ee;border-radius:20px;text-decoration:none;color:#172238;box-shadow:0 2px 3px #172b3a08;transition:border-color .15s,box-shadow .15s}
.qfb-topic-tile:hover{color:#172238;text-decoration:none;border-color:#abc3fa;box-shadow:0 4px 12px #172b3a0c}
.qfb-topic-tile .qfb-topic-icon,.qfb-topic-initial{display:block;width:64px;height:64px;object-fit:cover;border-radius:14px;margin:0;flex-shrink:0}
.qfb-topic-initial{display:grid;place-items:center;background:#edf3fc;color:#43689c;font-size:1.7rem;font-weight:600}
.qfb-topic-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.qfb-topic-label{display:block;color:#172238;font-size:1rem;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qfb-topic-count{color:#627994;font-size:.88rem;line-height:1.5}
.qfb-topic-arrow{color:#427fff;font-size:1.35rem;flex-shrink:0}.qfb-topic-status{font-size:.85rem;color:#627994}.qfb-topic-status:empty{display:none}
.qfb-topics :focus-visible{outline:3px solid #2259e8;outline-offset:3px}
@media(max-width:1000px){.qfb-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.qfb-topic-grid{grid-template-columns:1fr;gap:12px}.qfb-topic-toolbar{flex-wrap:wrap;gap:0}.qfb-topic-tabs{width:100%;gap:0}.qfb-topic-sort{padding:12px 10px;font-size:.85rem}.qfb-topic-view-all{margin-inline-start:auto;padding:10px 0}.qfb-topic-tile{min-height:96px;padding:14px;border-radius:18px}.qfb-topic-tile .qfb-topic-icon,.qfb-topic-initial{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.qfb-topic-tile{transition:none}}
