/* Independent graphite + amber learning workspace. No third-party UI assets. */
:root{--surface:#111923;--surface-2:#19232f;--line:#2c3847;--muted:#abb7c7;--radius:20px}
body{background:radial-gradient(ellipse at 85% 0,rgba(255,173,36,.055),transparent 600px),#090e15;line-height:1.6}
.app-shell{width:min(1240px,100%)}
.topbar{background:rgba(9,14,21,.96);padding:14px 26px;min-height:78px;height:auto}
.brand-mark{box-shadow:none;border-radius:12px}.brand small{font-size:14px}.brand strong{font-size:18px}
main{min-width:0;padding:32px 28px 110px}h1{font-size:clamp(26px,3.2vw,38px);line-height:1.35;letter-spacing:-.035em}h2{line-height:1.45}
.workspace-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:0 0 26px}.workspace-heading h1{margin:9px 0 0}.workspace-heading p{margin:10px 0 0}.workspace-tag{flex-shrink:0;margin-top:8px;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;color:var(--muted)}
.eyebrow{font-size:13px!important;letter-spacing:.09em;color:#ffc160}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.focus-card{background:linear-gradient(135deg,#242319,#181d23 72%);border:1px solid #675330;border-radius:24px;padding:28px;position:relative;overflow:hidden}.focus-card h2{font-size:clamp(23px,2.6vw,31px);letter-spacing:-.025em;margin:18px 0 12px;max-width:16em}.focus-card>p{color:#c1c7cd}.focus-card .button-row{margin:24px 0 20px}.focus-note{font-size:14px!important;margin:0!important;color:var(--muted)!important}
.overview-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:26px}.overview-card .section-heading{margin:0;gap:12px}.overview-card h2{font-size:17px;margin:0}.overview-card .section-heading>span{font-size:13px}.coverage-number{font-size:60px;letter-spacing:-.06em;line-height:1.15;color:var(--text);font-weight:750;margin:19px 0 16px}.coverage-number small{font-size:24px;color:var(--muted);margin-left:4px}.overview-metrics{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.overview-metrics strong{display:block;font-size:21px}.overview-metrics strong small{font-size:13px;color:var(--muted);font-weight:400}.overview-metrics span{display:block;font-size:13px;color:var(--muted)}
.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 32px}.shortcut-card{display:flex;align-items:center;gap:12px;text-align:left;padding:18px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;min-width:0}.shortcut-card:hover{border-color:var(--amber)}.shortcut-card strong{display:block;font-size:16px}.shortcut-card small{display:block;font-size:13px;color:var(--muted);margin-top:3px}.shortcut-card>span:last-child{margin-left:auto;color:var(--muted)}.shortcut-symbol{font-size:25px;color:var(--amber)}
.section-heading{margin:28px 0 16px;align-items:center}.section-heading h2{font-size:20px;margin:0}.text-button{background:none;color:var(--amber);border:0;font-size:14px;cursor:pointer;padding:10px 0}.course-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-tile{padding:22px;border-radius:20px}.course-code{font-size:34px}.course-tile h2{font-size:18px;margin-top:24px}.course-status{font-size:13px;border-radius:6px}.course-english{font-size:13px;line-height:1.65}.course-tile-footer p{font-size:13px}.course-tile-footer button{font-size:14px;padding:0 12px}.course-available{border-color:#947237;background:linear-gradient(160deg,#2b271e,var(--surface) 80%)}
.service-strip{display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid var(--line);padding:25px 0;margin-top:28px}.service-strip strong{font-size:16px}.service-strip p{font-size:14px;margin:6px 0 0}.service-strip button{flex-shrink:0}.course-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0}.course-facts strong{color:var(--amber);font-size:15px}.course-facts p{font-size:15px;color:var(--muted);margin-top:10px}
.plan-summary{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid #675330;background:#211f19;padding:20px 24px;border-radius:16px;margin-bottom:20px}.plan-summary span{color:var(--muted);font-size:14px}.study-route{display:grid;gap:16px;margin-bottom:26px}.route-step{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:20px}.route-step h2{font-size:23px;margin:8px 0 12px}.route-step p{max-width:65ch}.route-number{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#332a1c;color:var(--amber);font-size:20px;font-weight:750}.route-step .button-row{margin-bottom:0}.help-details{border-bottom:1px solid var(--line);padding:18px 0}.help-details summary{cursor:pointer;font-weight:600;min-height:30px}.help-details p{color:var(--muted);margin:14px 0}.help-details a{color:var(--amber)}
.primary-button{box-shadow:none;border-radius:12px;min-height:50px}.back-button,.secondary-button{border-radius:12px;min-height:46px}.panel-card,.account-card{border-radius:20px}.welcome-card{padding:26px;border-radius:20px}.welcome-card h1{font-size:30px}.hero-grid{gap:18px}.resume-card{padding:24px;border-radius:20px}.section-card{border-radius:16px}.section-card h3{font-size:18px}.mode-card{border-radius:16px}.question-card{border-radius:20px;padding:28px}.cloud-option{border-radius:13px;padding:17px}.cloud-explanation{border-radius:13px}.quiz-top{margin-bottom:18px}.quiz-top .progress-label{font-size:14px}.quiz-top .back-button{font-size:14px}.question-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cloud-question{font-size:21px;line-height:1.75}.legal-footer{border-top:1px solid var(--line);padding-top:20px}.account-card>h2{font-size:clamp(20px,3vw,28px);overflow-wrap:anywhere}
.membership-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.membership-item{background:var(--surface-2);padding:20px;border:1px solid var(--line);border-radius:14px}.membership-item:last-child{margin-bottom:0}.membership-item strong{font-size:16px}.membership-item p{font-size:14px}.admin-filters{display:grid;grid-template-columns:180px 1fr;gap:16px;margin:20px 0}.admin-filters label{font-size:14px;color:var(--muted)}.admin-filters select,.admin-filters input{display:block;width:100%;margin-top:8px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:16px;min-width:0}.admin-filter-row[hidden]{display:none!important}
.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav button{font-size:14px;cursor:pointer;min-height:48px}.bottom-nav button span{font-size:23px}.bottom-nav button.active{color:var(--amber)}select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(min-width:980px){main{margin-left:196px}.bottom-nav{position:fixed;top:112px;left:max(24px,calc((100vw - 1240px)/2 + 24px));width:164px;grid-template-columns:1fr;gap:8px;background:none;padding:0;z-index:15}.bottom-nav button{display:flex;align-items:center;gap:14px;text-align:left;background:none;border:1px solid transparent;color:var(--muted);border-radius:12px;padding:12px 16px}.bottom-nav button span{width:25px}.bottom-nav button.active{background:#2b251b;border-color:#655134}.topbar{margin-bottom:0}.course-catalog{gap:12px}.course-tile{padding:18px}.dashboard-grid{grid-template-columns:1.15fr 1fr}.shortcut-card{padding:16px 12px;gap:8px}.shortcut-symbol{font-size:21px}}
@media(max-width:979px){.bottom-nav{position:fixed;inset:auto 0 0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(12,18,27,.97);border-top:1px solid var(--line);z-index:30;backdrop-filter:blur(16px)}.bottom-nav button{background:none;border:0;color:var(--muted);padding:4px;font-size:14px}.bottom-nav button span{display:block;line-height:1.2;margin-bottom:4px}main{padding-bottom:calc(115px + env(safe-area-inset-bottom))}.dashboard-grid{grid-template-columns:1fr 1fr}.workspace-tag{display:none}}
@media(max-width:660px){.topbar{padding:12px 18px;min-height:72px}.brand strong{font-size:17px}.brand-mark{width:40px;height:40px}.brand small{display:none}main{padding:24px 18px calc(115px + env(safe-area-inset-bottom))}.workspace-heading{margin-bottom:20px}.workspace-heading h1{font-size:27px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.focus-card{padding:24px}.focus-card h2{font-size:25px;margin:14px 0 10px}.focus-card .button-row{gap:10px;margin:20px 0 16px}.focus-card .back-button{font-size:14px}.overview-card{padding:22px}.coverage-number{font-size:46px;margin:12px 0}.overview-metrics{margin-top:12px}.shortcut-grid{grid-template-columns:1fr;gap:10px;margin:16px 0 28px}.shortcut-card{padding:14px 18px}.shortcut-card small{font-size:14px}.course-catalog{grid-template-columns:1fr;gap:14px}.course-tile{padding:22px}.course-tile h2{margin-top:18px;font-size:20px}.course-english{margin-bottom:16px}.course-tile-footer button{font-size:16px}.service-strip{align-items:flex-start;flex-direction:column;gap:16px}.course-facts{grid-template-columns:1fr;gap:14px}.course-facts p{margin-bottom:0}.route-step{grid-template-columns:36px 1fr;gap:15px;padding:22px 18px}.route-number{width:36px;height:36px;font-size:16px;border-radius:9px}.route-step h2{font-size:21px}.route-step .primary-button{font-size:15px;padding:10px 15px}.plan-summary{padding:18px}.membership-list{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr}.member-row{align-items:flex-start;flex-direction:column;gap:8px}.cloud-card{padding:22px 18px}.auth-panel{padding:24px 18px;margin-top:0}.legal-consent{padding:14px}.inline-form{grid-template-columns:1fr}.question-card{padding:22px 16px}.cloud-question{font-size:19px}.quiz-top{gap:12px}.quiz-top .back-button{padding:10px}.cloud-option{font-size:17px;padding:15px 12px;gap:12px}.cloud-option small{font-size:16px}.cloud-explanation{padding:18px}.resume-card{flex-direction:column;align-items:stretch}.resume-card .primary-button{margin:0}.stat-strip{flex-wrap:wrap}.history-row{align-items:flex-start}.history-row>span{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Two-subject licensing hubs */
.exam-hero{padding:clamp(22px,4vw,40px);border:1px solid #2b394b;border-radius:24px;background:linear-gradient(130deg,#1b2431,#111820);margin:18px 0 24px}
.exam-hero h1{margin:12px 0;font-size:clamp(26px,4vw,40px)}
.exam-hero>p{line-height:1.7;max-width:850px}
.exam-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 8px}
.exam-facts>div{padding-top:16px;border-top:1px solid #344256;display:grid;gap:8px}
.exam-facts strong{color:#ffb327;font-size:clamp(17px,2.2vw,24px)}
.exam-facts span{color:#a7b5c8;font-size:14px}
.exam-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.exam-subject{padding:28px;display:flex;align-items:flex-start;flex-direction:column;gap:12px;min-width:0}
.exam-subject h2,.exam-subject p{margin:0}.exam-subject p{line-height:1.75;overflow-wrap:anywhere}
.exam-subject>.button-row,.exam-subject>button{margin-top:auto}
.exam-badge{font-size:13px;color:#ffca77;background:#302819;border-radius:8px;padding:8px 10px;margin:4px 0 10px}
.exam-source{color:#9dacc1;font-size:13px;line-height:1.9;margin:20px 0}
.exam-source a,.exam-links a{color:#efbb6b;text-underline-offset:4px}
.outline-panel{padding:8px 26px}.outline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:22px 0;border-bottom:1px solid #2a3648}
.outline-row:last-child{border-bottom:0}.outline-row h2{font-size:19px;margin:0}.outline-row p{margin:8px 0 0;line-height:1.6}.outline-row>strong{color:#ffb327;font-size:24px}
.outline-track{grid-column:1/-1;height:5px;background:#263143;border-radius:5px;overflow:hidden}.outline-track span{display:block;background:#ffa717;height:100%}
.exam-checklist{padding:26px;margin:24px 0}.exam-checklist label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;line-height:1.6}.exam-checklist input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:#ffa717}
.exam-faq .help-details p{line-height:1.9}.exam-links{padding-left:20px}.exam-links li{margin:14px 0;line-height:1.6}
@media(max-width:620px){.exam-subjects{grid-template-columns:1fr}.exam-facts{grid-template-columns:1fr;gap:4px}.exam-facts>div{grid-template-columns:1fr 1fr;padding:12px 0;gap:12px;align-items:center}.exam-subject{padding:22px}.course-breadcrumb{flex-wrap:wrap}.outline-panel{padding:6px 20px}}

/* Learning tools extend the existing navy/amber theme. */
.review-panel,.exam-tools{margin:20px 0;padding:20px;border:1px solid var(--border,#334155);border-radius:18px;background:var(--panel,#142033)}
.review-count{font-size:2rem;color:#ffb52b}.review-count small{font-size:1rem;color:#cad5e5}
.weakness-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid #334155}.weakness-list article p{margin:5px 0}.weakness-list article>div{flex:1}
.exam-tool-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.exam-tool-summary strong{font-variant-numeric:tabular-nums;color:#ffcb60}.answer-sheet summary{padding:14px 0;cursor:pointer;font-weight:700}.answer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}.answer-cell{min-height:50px;border:1px solid #53647c;border-radius:9px;background:#17243a;color:#eef4ff;font-size:1rem;cursor:pointer}.answer-cell small{display:block}.answer-cell.is-answered{background:#244c56}.answer-cell.is-uncertain{border:2px solid #ffb52b}.answer-cell.is-current{outline:2px solid white;outline-offset:2px}.result-sections{text-align:left;margin:24px 0}.demo-card{max-width:860px;margin:auto}.demo-meta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.demo-score{font-size:2.5rem;font-weight:800;color:#ffb52b}
@media(max-width:600px){.weakness-list article{flex-wrap:wrap}.weakness-list article>div{flex-basis:65%}.review-panel,.exam-tools{padding:16px}.answer-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
