.cbp-app{--cbp-navy:#173a67;--cbp-ink:#172d44;--cbp-muted:#526579;--cbp-line:#d5e0e9;--cbp-pale:#eef4f9;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cbp-ink);max-width:1180px;margin:24px auto;background:#f7f9fb;border:1px solid var(--cbp-line);border-radius:20px;overflow:hidden}.cbp-app *{box-sizing:border-box}.cbp-app [hidden]{display:none!important}.cbp-app .cbp-brand{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--cbp-navy);color:white;padding:20px 28px}.cbp-app .cbp-brand strong{letter-spacing:.12em;font-size:21px}.cbp-app .cbp-brand span{font-size:14px}.cbp-app .cbp-nav{display:flex;flex-wrap:wrap;gap:6px;padding:14px 22px;background:white;border-bottom:1px solid var(--cbp-line)}.cbp-app .cbp-nav button{font:inherit;font-size:14px;line-height:1.35;font-weight:650;background:white;color:var(--cbp-navy);border:1px solid transparent;border-radius:9px;padding:11px 13px;cursor:pointer;min-height:44px}.cbp-app .cbp-nav button[aria-current]{background:var(--cbp-pale);border-color:#a5bbcd}.cbp-app .cbp-storage{padding:12px 28px;margin:0;font-size:12px;line-height:1.5;color:var(--cbp-muted);background:#fff}.cbp-app .cbp-learning{padding:28px}.cbp-app .cbp-exams{padding:18px}.cbp-app .cbp-hero{padding:30px;background:#eaf1f7;border-radius:15px;margin-bottom:24px;border:1px solid #d1dfe9}.cbp-app h2{color:var(--cbp-navy);font-size:clamp(25px,3.3vw,36px);line-height:1.22;margin:8px 0 14px;font-weight:750;letter-spacing:-.025em}.cbp-app h3{font-size:21px;line-height:1.35;color:var(--cbp-navy);margin:8px 0 12px}.cbp-app p{margin:0 0 14px}.cbp-app .cbp-kicker{font-size:11px;letter-spacing:.1em;font-weight:750;color:#526579;margin:0 0 8px}.cbp-app .cbp-goal{max-width:740px}.cbp-app .cbp-progress-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:24px}.cbp-app progress{display:block;width:100%;height:8px;appearance:none;border:none;border-radius:5px;overflow:hidden;background:#d3e0eb;margin:12px 0}.cbp-app progress::-webkit-progress-bar{background:#d3e0eb;border-radius:5px}.cbp-app progress::-webkit-progress-value{background:#bd8633;border-radius:5px}.cbp-app progress::-moz-progress-bar{background:#bd8633}.cbp-app .cbp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.cbp-app .cbp-card{border:1px solid var(--cbp-line);border-radius:15px;background:#fff;padding:24px;min-width:0}.cbp-app .cbp-lesson{display:flex;flex-direction:column;align-items:flex-start}.cbp-app .cbp-lesson .cbp-btn{margin-top:8px}.cbp-app .cbp-lesson p{color:var(--cbp-muted);font-size:14px}.cbp-app .cbp-btn{font:inherit;font-size:14px;font-weight:650;line-height:1.4;min-height:44px;padding:12px 18px;border:1px solid var(--cbp-navy);border-radius:9px;color:#fff;background:var(--cbp-navy);cursor:pointer;text-align:center;white-space:normal}.cbp-app .cbp-btn:hover{background:#24588f;border-color:#24588f}.cbp-app .cbp-secondary{color:var(--cbp-navy);background:#f1f5f9;border-color:#ccd8e2}.cbp-app .cbp-secondary:hover{background:#e1eaf3;color:var(--cbp-navy);border-color:#a9bece}.cbp-app button:disabled{opacity:.5;cursor:default}.cbp-app button:focus-visible,.cbp-app select:focus-visible,.cbp-app textarea:focus-visible,.cbp-app input:focus-visible,.cbp-app summary:focus-visible{outline:3px solid #aa720e;outline-offset:3px}.cbp-app h2:focus{outline:none}.cbp-app .cbp-final{display:flex;gap:25px;align-items:center;justify-content:space-between;margin:20px 0}.cbp-app .cbp-final .cbp-btn{flex-shrink:0}.cbp-app .cbp-details{margin:16px 0;border:1px solid var(--cbp-line);padding:16px 20px;border-radius:12px;background:white;font-size:14px}.cbp-app summary{cursor:pointer;font-weight:650;line-height:1.5}.cbp-app .cbp-details[open] summary{margin-bottom:14px}.cbp-app .cbp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.cbp-app .cbp-heading{margin-bottom:18px}.cbp-app .cbp-study{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px}.cbp-app .cbp-source{border:1px solid var(--cbp-line);border-radius:12px;background:white;overflow:hidden}.cbp-app .cbp-source>summary{padding:16px 18px;background:var(--cbp-pale);font-size:14px}.cbp-app .cbp-source>div{padding:20px;max-height:680px;overflow:auto}.cbp-app .cbp-caption{font-size:12px;line-height:1.5;color:var(--cbp-muted)}.cbp-app .cbp-literary{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.8}.cbp-app .cbp-glossary{border-top:1px solid var(--cbp-line);padding-top:16px;font-size:14px}.cbp-app dt{font-weight:650}.cbp-app dd{margin:0 0 12px}.cbp-app .cbp-question{font-weight:650;font-size:18px;line-height:1.55}.cbp-app .cbp-options{border:0;padding:0;margin:0;min-width:0}.cbp-app .cbp-options legend{font-size:12px;color:var(--cbp-muted);margin-bottom:9px}.cbp-app .cbp-options label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--cbp-line);border-radius:10px;padding:13px;margin:10px 0;cursor:pointer;line-height:1.5}.cbp-app .cbp-options label:has(input:checked){border-color:#668faf;background:#eef5fb}.cbp-app input[type=radio],.cbp-app input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin:3px 0 0;accent-color:var(--cbp-navy)}.cbp-app .cbp-field,.cbp-app .cbp-matches label,.cbp-app .cbp-selfscore label{display:block;margin:12px 0;font-size:14px;font-weight:650}.cbp-app textarea,.cbp-app select{font:inherit;font-size:16px;color:var(--cbp-ink);background:#fff;border:1px solid #aebfcd;border-radius:8px;padding:11px;width:100%;margin-top:7px}.cbp-app textarea{resize:vertical;min-height:90px;line-height:1.6}.cbp-app select{white-space:normal;max-width:100%;text-overflow:ellipsis}.cbp-app .cbp-order{padding:0;list-style:none;counter-reset:item;margin:16px 0}.cbp-app .cbp-order li{counter-increment:item;display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--cbp-line);border-radius:10px;margin:10px 0;font-size:15px}.cbp-app .cbp-order li::before{content:counter(item);font-size:12px;color:var(--cbp-muted);min-width:15px}.cbp-app .cbp-order li>span{flex:1}.cbp-app .cbp-order li>div{display:flex;gap:4px}.cbp-app .cbp-order button{color:var(--cbp-navy);background:var(--cbp-pale);border:1px solid #c6d5e2;border-radius:7px;min-width:40px;min-height:44px;cursor:pointer;font-size:19px}.cbp-app .cbp-feedback:not(:empty){margin-top:18px;padding:16px;border-left:4px solid #ad7d31;background:#fff8e9;font-size:14px}.cbp-app .cbp-feedback p:last-child{margin-bottom:0}.cbp-app .cbp-feedback ul{padding-left:20px}.cbp-app .cbp-step-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--cbp-line);padding-top:20px;margin:24px 0 18px}.cbp-app .cbp-notice{padding:14px 18px;background:#fff8e9;border-radius:9px;font-size:14px}.cbp-app .cbp-summary{padding:0;list-style:none}.cbp-app .cbp-summary li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--cbp-line)}.cbp-app .cbp-summary small{display:block;color:var(--cbp-muted);margin-top:4px}.cbp-app .cbp-review-item{border-top:1px solid var(--cbp-line);margin-top:20px;padding-top:20px}.cbp-app .cbp-review-item p,.cbp-app .cbp-copy p{white-space:pre-wrap;overflow-wrap:anywhere}.cbp-app .cbp-result{margin:18px 0}.cbp-app .cbp-copy{padding:18px;background:var(--cbp-pale);border-radius:9px;margin:14px 0}.cbp-app .cbp-selfscore{border:1px solid var(--cbp-line);border-radius:10px;margin-top:18px;padding:14px}.cbp-app .cbp-selfscore legend{font-size:13px;padding:0 5px}.cbp-app .cbp-selfscore select{display:block;max-width:200px}.cbp-app .cbp-selftotal{padding-top:10px;font-weight:650}.cbp-app .cbp-preview{background:var(--cbp-pale);border-radius:8px;padding:12px;font-size:14px}
@media(max-width:760px){.cbp-app{margin:10px auto;border-radius:12px}.cbp-app .cbp-learning{padding:16px}.cbp-app .cbp-brand{padding:18px}.cbp-app .cbp-brand span{font-size:12px}.cbp-app .cbp-nav{padding:10px;gap:3px}.cbp-app .cbp-nav button{font-size:12px;padding:10px}.cbp-app .cbp-storage{padding:12px 18px}.cbp-app .cbp-hero{padding:20px}.cbp-app .cbp-grid,.cbp-app .cbp-study{grid-template-columns:1fr}.cbp-app .cbp-final{display:block}.cbp-app .cbp-final .cbp-btn{margin-top:10px}.cbp-app .cbp-card{padding:18px}.cbp-app .cbp-source>div{max-height:350px}.cbp-app .cbp-step-actions{flex-wrap:wrap}.cbp-app .cbp-summary li{align-items:flex-start;gap:10px}.cbp-app .cbp-summary .cbp-btn{padding:10px 12px}.cbp-app .cbp-exams{padding:6px}.cbp-app .cbp-order li>div{flex-direction:column}.cbp-app .cbp-options label{padding:12px}.cbp-app .cbp-literary{font-size:16px}}
@media(prefers-reduced-motion:reduce){.cbp-app *{scroll-behavior:auto!important}}

.cbp-app .cbp-cycle-selector{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px;padding:20px 22px;background:#fff;border:1px solid var(--cbp-line);border-radius:15px}.cbp-app .cbp-cycle-selector h2{font-size:24px;margin:2px 0 6px}.cbp-app .cbp-cycle-selector p{margin-bottom:0}.cbp-app .cbp-cycle-tabs{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:10px;min-width:min(100%,460px)}.cbp-app .cbp-cycle-tabs button{display:grid;text-align:left;gap:2px;padding:12px 14px;border:1px solid var(--cbp-line);border-radius:10px;background:#f8fafc;color:var(--cbp-ink);font:inherit;cursor:pointer}.cbp-app .cbp-cycle-tabs button[aria-current]{border-color:#668faf;background:#e9f2f9;box-shadow:inset 0 0 0 1px #668faf}.cbp-app .cbp-cycle-tabs button strong{color:var(--cbp-navy);font-size:13px}.cbp-app .cbp-cycle-tabs button span{font-size:13px;line-height:1.35}.cbp-app .cbp-cycle-tabs button small{font-size:11px;color:var(--cbp-muted)}.cbp-app .cbp-roadmap ol{list-style:none;padding:0;margin:12px 0}.cbp-app .cbp-roadmap li{border-top:1px solid var(--cbp-line);padding:15px 0}.cbp-app .cbp-roadmap li>div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cbp-app .cbp-roadmap li>div span{font-size:11px;font-weight:700;color:var(--cbp-muted);background:var(--cbp-pale);border-radius:999px;padding:4px 8px;white-space:nowrap}.cbp-app .cbp-roadmap li.is-available>div span{color:#126445;background:#e8f6ef}.cbp-app .cbp-roadmap li p{font-size:14px;margin:6px 0 2px}.cbp-app .cbp-roadmap li small{color:var(--cbp-muted);line-height:1.5}
@media(max-width:760px){.cbp-app .cbp-cycle-selector{display:block;padding:16px}.cbp-app .cbp-cycle-tabs{grid-template-columns:1fr;min-width:0;margin-top:14px}.cbp-app .cbp-roadmap li>div{display:block}.cbp-app .cbp-roadmap li>div span{display:inline-block;margin-top:5px}}
