/* Isolated V33 practice styles. Existing portal and authentication styles are unchanged. */
.v33-practice{--v33-ink:#17382f;--v33-muted:#46645b;--v33-border:#bdcfc5;color:var(--v33-ink);font-size:16px;line-height:1.55;max-width:100%;overflow-wrap:anywhere}
.v33-practice *{box-sizing:border-box}
.v33-practice h2{font-size:clamp(1.65rem,3vw,2.15rem);margin:.3rem 0 .5rem;line-height:1.2;color:#123c2f}
.v33-heading{padding:8px 0 16px;border-bottom:1px solid var(--v33-border)}
.v33-eyebrow{font-size:.75rem;letter-spacing:.09em;font-weight:800;color:#536554}
.v33-intro{margin:.35rem 0;max-width:80ch;color:var(--v33-muted)}
.v33-small{font-size:.87rem;color:#46645b;line-height:1.5;margin:.7rem 0}
.v33-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:20px;background:#edf4ee;border:1px solid var(--v33-border);border-radius:12px;margin:20px 0 14px}
.v33-controls label{display:flex;flex-direction:column;gap:6px;font-size:.95rem;font-weight:750;min-width:210px;flex:1;color:#17382f;margin:0}
.v33-practice select{color:#17382f!important;background:#fff!important;border:2px solid #46735a!important;border-radius:8px;font-size:16px;font-weight:700;min-height:48px;padding:10px 34px 10px 12px;width:100%;max-width:100%;appearance:auto;box-shadow:none}
.v33-practice option{color:#17382f!important;background:#fff!important}
.v33-practice button{font:inherit;border-radius:9px;min-height:44px;padding:10px 16px;cursor:pointer;max-width:100%;white-space:normal;line-height:1.4;letter-spacing:normal;box-shadow:none}
.v33-practice .v33-primary{background:#20573e!important;color:#fff!important;border:2px solid #20573e;font-weight:750}
.v33-practice .v33-secondary{background:#fff!important;color:#204c39!important;border:1px solid #628471;font-weight:650}
.v33-practice button:hover:not(:disabled){filter:brightness(.96)}
.v33-practice button:disabled{opacity:.68;cursor:default}
.v33-practice :focus-visible{outline:3px solid #ae7707;outline-offset:3px}
.v33-count{flex-basis:100%;font-size:1rem;font-weight:700;margin:0!important;color:#17382f}
.v33-picker{margin:14px 0;border:1px solid var(--v33-border);border-radius:10px;padding:14px;background:#fff}
.v33-practice summary{font-weight:750;cursor:pointer;min-height:36px;line-height:1.5;color:#214a37}
.v33-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.v33-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v33-groups fieldset{border:1px solid #cbd8cf;border-radius:9px;padding:10px 12px;min-width:0;background:#fafcf9}
.v33-groups legend{font-weight:750;font-size:.92rem;padding:0 6px;color:#294b3c;max-width:100%}
.v33-topic{display:grid!important;grid-template-columns:20px minmax(0,1fr) 28px;gap:9px;align-items:center;margin:0!important;padding:9px 3px!important;font-size:.94rem;cursor:pointer;min-height:44px}
.v33-topic input{width:19px!important;height:19px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:#245d40}
.v33-topic-count{font-size:.8rem;font-weight:750;background:#e1ede2;border-radius:5px;text-align:center;color:#204d35;padding:1px 3px}
.v33-activity{padding:24px 0 8px;scroll-margin-top:100px}
.v33-progress{font-weight:800;letter-spacing:.02em;font-size:.94rem;color:#1e4c37;margin:0 0 5px}
.v33-question{display:block!important;visibility:visible!important;opacity:1!important;color:#153d2e!important;background:#f7fbf6!important;border:2px solid #52765b;border-left:7px solid #3e6b4a;border-radius:10px;padding:20px!important;font-size:clamp(1.15rem,2.2vw,1.5rem)!important;line-height:1.45!important;position:relative!important;z-index:1!important;height:auto!important;min-height:0!important;margin:18px 0!important}
.v33-answers{display:grid;gap:10px}
.v33-practice .v33-answer{display:block;width:100%;text-align:left;background:#fff!important;color:#193e2e!important;border:1.5px solid #819b88;padding:15px 18px;font-size:1rem;opacity:1!important}
.v33-practice .v33-answer.is-correct{background:#e0f1df!important;border:2px solid #367a3b;color:#153d24!important}
.v33-practice .v33-answer.is-wrong{background:#fff0e8!important;border:2px solid #b2613a;color:#5a291c!important}
.v33-feedback{padding:18px;border-radius:9px;background:#edf4ee;border:1px solid #a6c0ae;margin:18px 0}
.v33-feedback p{margin:.4rem 0}
.v33-sources,.v33-study-section{background:#fbfcfa;border:1px solid #b9cdbe;border-radius:9px;margin:14px 0;padding:14px;max-width:100%}
.v33-source{padding:12px 0;border-bottom:1px solid #d7e0d8}
.v33-practice blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;padding:0 14px;border-left:3px solid #879e81;color:#344c3f;font-size:.96rem}
.v33-practice .v33-flashcard{display:block;width:100%;text-align:center;min-height:210px;white-space:pre-wrap;background:#f6faf2!important;border:2px solid #54794f;color:#163c2c!important;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.5;padding:28px;font-weight:650}
.v33-empty{padding:14px;background:#f6f4ea;border:1px solid #cfc7a2;border-radius:8px;color:#514d35}
.v33-result{font-size:1.3rem;font-weight:750;color:#194d34}
.v33-lake{max-width:100%;margin:18px 0 12px}
.v33-lake .lake-canvas{width:100%!important;height:auto!important;max-height:360px;aspect-ratio:960/460;object-fit:cover;display:block;background:#357586;border-radius:12px}
.v33-study-section p{font-size:1rem;line-height:1.65}
.v33-build-label{display:inline-block;font-size:.8rem;background:#e9f2e8;color:#204530;border:1px solid #a9beac;border-radius:5px;padding:4px 8px;margin:5px 0}
@media(max-width:700px){.v33-groups{grid-template-columns:1fr}.v33-controls{padding:14px;gap:12px}.v33-controls label{min-width:0;flex-basis:100%}.v33-controls>.v33-primary{width:100%}.v33-question{padding:15px!important}.v33-practice .v33-flashcard{padding:20px;min-height:190px}.v33-lake .lake-canvas{max-height:250px}}

/* V51 study source highlighting */
.v51-study-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.v51-study-controls button.v51-selected{background:#153c67;color:white;border-color:#153c67}
.v33-study-section .v51-passage{background:#fff0ac;border-left:4px solid #e5a426;padding:12px 14px;border-radius:5px;line-height:1.65;scroll-margin-top:24px}
.v33-study-section [hidden]{display:none!important}


/* V64 Merge Master */
.v64-merge{margin:18px 0 12px;position:relative;max-width:100%}
.v64-merge .merge-canvas{width:100%;height:auto;display:block;aspect-ratio:960/430;max-height:390px;background:#30363d;border-radius:14px;border:1px solid #9fb1bd}
.v64-merge-hud{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-top:8px;background:#eef4f7;border:1px solid #c9d6df;border-radius:10px;color:#17324b;font-size:.92rem}
.v64-merge-rule{padding:11px 14px;border-left:4px solid #f47719;background:#fff6ee;border-radius:8px;color:#5c3a22;font-weight:700}
.v33-practice .v64-restart{background:#8c2731!important;color:#fff!important;border:2px solid #8c2731;font-weight:800;width:100%;margin-top:10px}
@media(max-width:700px){.v64-merge .merge-canvas{max-height:250px}.v64-merge-hud{display:grid;grid-template-columns:1fr}.v33-practice .v64-restart{min-height:52px}}


/* V65 side-by-side game layout */
.v65-game-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:20px;align-items:start;margin:16px 0}
.v65-game-visual{min-width:0}.v65-game-visual .v33-lake,.v65-game-visual .v64-merge{margin:0}
.v65-game-qa{min-width:0;background:#f8fbf9;border:1px solid #bdcfc5;border-radius:14px;padding:16px;position:sticky;top:88px}
.v65-game-qa .v33-question{margin:0 0 12px!important;padding:15px!important;font-size:clamp(1.05rem,1.8vw,1.3rem)!important}
.v65-game-qa .v33-answer{padding:11px 13px!important;min-height:44px}
.v65-game-qa .v33-feedback{margin:12px 0;padding:13px}.v65-game-qa .v33-sources{margin:10px 0;padding:10px}
.v65-game-qa .v64-merge-rule{margin:0 0 12px}
@media(max-width:900px){.v65-game-split{grid-template-columns:1fr}.v65-game-qa{position:static}.v65-game-visual .v33-lake .lake-canvas,.v65-game-visual .v64-merge .merge-canvas{max-height:320px}}

/* V65 Health Insurance licensing checklist */
.v65-checklist{max-width:900px;margin:0 auto;color:#17324b}
.v65-checklist-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.1em;color:#a24f13;margin-bottom:6px}
.v65-checklist h2{margin:0 0 8px;color:#142b43;font-size:clamp(1.6rem,3vw,2.2rem)}
.v65-checklist-intro{color:#586c7e;line-height:1.6;margin:0 0 18px}
.v65-checklist-status{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;gap:12px;align-items:center;background:#eef4f7;border:1px solid #ccd9e1;border-radius:12px;padding:12px 14px;margin-bottom:15px}
.v65-checklist-progress{height:12px;border-radius:999px;background:#d6e0e6;overflow:hidden}.v65-checklist-progress-fill{height:100%;width:0;background:#f47719;transition:width .2s ease}
.v65-checklist-list{display:grid;gap:10px}.v65-checklist-item{display:grid!important;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;margin:0!important;padding:15px!important;border:1px solid #dce4eb;border-radius:12px;background:#fff;cursor:pointer}
.v65-checklist-item input{width:21px!important;height:21px!important;min-height:0!important;margin:3px 0 0!important;accent-color:#20573e}.v65-checklist-item.is-done{background:#f2f8f2;border-color:#9ab99f}.v65-checklist-item.is-done .v65-checklist-step-label{text-decoration:line-through;text-decoration-thickness:1px;color:#496253}
.v65-checklist-copy{display:grid;gap:5px}.v65-checklist-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.v65-checklist-number{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#142b43;color:#fff;font-size:.78rem;font-weight:800}.v65-checklist-step-label{font-size:1rem;font-weight:700;color:#17324b;cursor:pointer}.v65-checklist-step-label:focus-visible{outline:2px solid #f47719;outline-offset:3px;border-radius:3px}.v65-checklist-branch{font-style:normal;font-size:.72rem;font-weight:800;color:#8c470e;background:#fff0e2;border-radius:999px;padding:3px 8px}.v65-checklist-copy small{color:#5a6c7c;line-height:1.55;font-size:.9rem}
.v65-checklist-link{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:4px;padding:7px 10px;border-radius:8px;background:#eaf2f8;color:#154e78!important;font-size:.86rem;font-weight:750;text-decoration:none;border:1px solid #bed1df}.v65-checklist-link::after{content:'↗';font-size:.9em}.v65-checklist-link:hover{text-decoration:underline}.v65-checklist-link:focus-visible{outline:3px solid #f47719;outline-offset:2px}
.v65-checklist-note{margin-top:16px;padding:12px 14px;border-left:4px solid #f47719;background:#fff7ef;border-radius:8px;color:#60462f;font-size:.88rem;line-height:1.55}
@media(max-width:620px){.v65-checklist-status{grid-template-columns:1fr}.v65-checklist-item{padding:13px!important}}

/* V66 checklist grouping and FFM clarification */
.v66-checklist-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}
.v66-checklist-status{background:#eef4f7;border:1px solid #ccd9e1;border-radius:12px;padding:12px 14px;min-width:0}
.v66-checklist-status-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.v66-checklist-status-top span{font-size:.78rem;color:#5b6f80;text-align:right}
.v66-checklist-group{margin:20px 0 0}.v66-checklist-group-heading{padding:0 2px 8px;border-bottom:2px solid #e3e9ee;margin-bottom:10px}.v66-checklist-group-heading h3{margin:0 0 4px;color:#142b43;font-size:1.15rem}.v66-checklist-group-heading p{margin:0;color:#657687;font-size:.9rem;line-height:1.45}
.v66-ffm-disclaimer{display:block;margin-top:5px;padding:10px 12px;border-left:4px solid #f47719;border-radius:8px;background:#fff6ed;color:#654429;font-size:.86rem;line-height:1.5;font-weight:650}
.v66-checklist-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.v66-na-button{margin:0!important;padding:8px 11px!important;min-height:40px;background:#eef2f5!important;color:#29445a!important;border:1px solid #bdcbd5!important;border-radius:8px!important;font-size:.82rem!important;font-weight:750!important}.v66-na-button[aria-pressed="true"]{background:#e7f0f7!important;border-color:#6b91ad!important;color:#123f60!important}.v65-checklist-item.is-na{background:#f7fafc;border-style:dashed;border-color:#9fb2bf}.v65-checklist-item.is-na .v65-checklist-step-label{color:#526879}.v65-checklist-item.is-na input{opacity:.45}
@media(max-width:760px){.v66-checklist-status-grid{grid-template-columns:1fr}.v66-checklist-status-top span{text-align:left}}

/* V66 consistent Health Insurance topic hierarchy */
.v66-topic-subgroup{margin:10px 0;border:1px solid #cfdbe5;border-radius:11px;background:#f8fafc;padding:9px 11px}.v66-topic-subgroup>summary{cursor:pointer;font-weight:800;color:#17324b;padding:4px 2px}.v66-topic-subgroup-actions{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.v66-topic-subgroup-actions button{margin:0!important;padding:8px 10px!important;min-height:38px}.v66-topic-subgroup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.topic-subcategory{width:100%;margin-top:10px;border:1px solid #cfdbe5;border-radius:10px;background:#f8fafc;padding:9px 11px}.topic-subcategory>summary{cursor:pointer;font-weight:800;color:#17324b}.topic-subcategory .topic-category-items{margin-top:10px}@media(max-width:700px){.v66-topic-subgroup-list{grid-template-columns:1fr}.topic-subcategory .topic-category-items button{width:100%!important}}
