.semester-shell{max-width:1200px;margin:0 auto;padding:36px 32px 64px;outline:none}.semester-shell p{margin:0}.semester-shell h1{font-size:34px;line-height:1.4;letter-spacing:-1.2px;margin:12px 0}.semester-shell h2{font-size:23px;margin:0;line-height:1.5}.semester-shell h3{margin:0;font-size:17px;line-height:1.5}.semester-shell button,.semester-shell a{transition:background .15s,border-color .15s}.semester-hero{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:34px 36px;border:1px solid #d5e1f6;border-radius:20px;background:linear-gradient(115deg,#f4f8ff,#e8efff)}.semester-hero .eyebrow{color:#315dcc}.semester-hero .hero-description{max-width:620px;line-height:1.8;font-size:15px;color:#5d6d87}.hero-action{display:flex;flex-direction:column;gap:12px;align-items:center;flex-shrink:0}.hero-action small{color:var(--muted);font-size:12px}.semester-shell .primary,.semester-shell .secondary{border-radius:10px;text-align:center;white-space:nowrap}.semester-meta{display:flex;gap:16px;margin-top:18px;font-size:13px;color:#4e6284}.semester-meta b{color:#284ca4}.area-scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:22px}.area-score{padding:18px 20px;background:white;border:1px solid var(--line);border-radius:14px}.area-score .score-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.area-score .area-symbol{font-size:19px;color:#315dcc;font-weight:750}.area-score h3{font-size:14px;margin:10px 0}.area-score strong{font-size:23px}.area-score strong small{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px}.area-score .progress-track{margin-top:12px;height:5px;border-radius:5px;overflow:hidden}.curriculum-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0 16px}.curriculum-heading p{font-size:13px;color:var(--muted);margin-top:6px}.filter-tabs{display:flex;padding:4px;background:#e6ebf3;border-radius:10px;gap:3px}.filter-tabs button{border:0;background:transparent;color:#6c7890;padding:9px 13px;border-radius:7px;font-size:13px;font-weight:650;white-space:nowrap}.filter-tabs button[aria-pressed=true]{background:white;color:#315dcc;box-shadow:0 2px 5px #1d3a6010}.curriculum-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.unit-group{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;align-self:start}.unit-group-head{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #e9edf4}.group-symbol{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#edf3ff;color:#315dcc;font-weight:750;font-size:20px}.unit-group-head h3{font-size:16px}.unit-group-head small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.unit-row{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #edf0f5;min-height:88px}.unit-row:last-child{border-bottom:0}.unit-row:hover{background:#f6f9ff}.unit-number{font-size:12px;color:#8996aa;font-variant-numeric:tabular-nums}.unit-copy{min-width:0;flex:1}.unit-copy strong{font-size:15px;line-height:1.55;display:block;word-break:keep-all}.unit-copy small{font-size:12px;line-height:1.7;color:var(--muted);display:block;margin-top:3px}.unit-level{font-size:11px;font-weight:650;white-space:nowrap;padding:5px 7px;border-radius:6px;background:#f3f5f8;color:#74839a}.unit-level.needs{color:#916224;background:#fff3df}.unit-level.pass{color:#28715b;background:#e9f6ef}.unit-arrow{font-size:21px;color:#91a0b6}.score-summary{min-width:130px;text-align:center;border-left:1px solid #cbd9f0;padding-left:30px}.score-summary strong{font-size:44px;color:#315dcc;font-weight:800;letter-spacing:-2px}.score-summary small{font-size:15px;color:#7284a2}.score-summary span{display:block;font-size:12px;color:#7284a2;margin-top:2px}.result-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;align-items:center}.result-actions button{font-size:13px}.result-actions .text-button{color:#315dcc;padding:0}.empty-curriculum{padding:44px 24px;text-align:center;border:1px solid #cfe5dd;background:#f6fcf8;border-radius:16px}.empty-curriculum .empty-mark{display:grid;place-items:center;width:52px;height:52px;background:#dff2e8;color:#2f805b;font-size:27px;border-radius:50%;margin:0 auto 16px}.empty-curriculum p{color:var(--muted);line-height:1.8;margin:10px 0 18px;font-size:14px}.storage-note{padding:12px 16px;background:#fff4dd;color:#805b2a;border-radius:10px;margin-bottom:18px!important;font-size:13px}.exam-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.exam-top h1{font-size:24px;margin:5px 0 0}.exam-shell{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:24px;align-items:start}.exam-card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px 34px;min-height:590px;display:flex;flex-direction:column;outline:none}.exam-card .progress-track{margin:17px 0 30px;height:4px}.exam-question-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-question-heading .tag{font-size:12px;border-radius:6px}.exam-card h2{font-size:25px;margin-top:20px;line-height:1.7;white-space:pre-line;word-break:keep-all}.exam-card .choices{margin:28px 0 16px;gap:10px}.exam-card .choices button{border-radius:10px;min-height:55px}.exam-card .choices button span{font-size:17px}.exam-card .choices button .choice-number{font-size:14px}.unknown-button{border:0;border-radius:8px;background:#f4f6f9;color:#6b7a90;padding:12px;font-size:14px;width:100%;margin:0 0 26px}.unknown-button[aria-pressed=true]{background:#edf3ff;color:#315dcc;box-shadow:inset 0 0 0 2px #315dcc}.exam-card .actionbar{padding-top:20px}.exam-card .actionbar .secondary{padding:12px 16px}.exam-nav{background:white;border:1px solid var(--line);border-radius:16px;padding:21px}.exam-nav h2{font-size:16px}.exam-nav .muted{font-size:12px;margin:6px 0 18px}.question-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.question-map button{border:1px solid var(--line);background:white;border-radius:6px;aspect-ratio:1;color:#75829a;padding:0;font-size:12px}.question-map button.answered{background:#edf3ff;border-color:#cbdaff;color:#315dcc}.question-map button.unknown{background:#faf1e3;border-color:#f1dfbe;color:#946421}.question-map button[aria-current=step]{background:#315dcc;border-color:#315dcc;color:white;font-weight:750}.map-legend{font-size:11px;line-height:1.9;color:var(--muted);margin-top:16px!important}.map-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:#c6d7ff;margin-right:4px}.map-legend i.unknown{background:#f1dfbe;margin-left:8px}.exam-progress-note{margin-top:18px!important;font-size:12px;color:var(--muted);line-height:1.8}.answer-review{margin-top:26px;background:white;border:1px solid var(--line);border-radius:14px;padding:18px 22px}.answer-review>summary{color:#405777;font-weight:650;font-size:14px}.review-unit{padding:18px 0;border-top:1px solid #e9edf4}.review-unit:first-of-type{margin-top:16px}.review-unit h3{margin-bottom:12px}.exam-review-item{padding:12px 0;line-height:1.8;font-size:14px}.exam-review-item p+p{margin-top:7px}.exam-review-item .correct{color:#28775b;font-weight:650}.exam-review-item .incorrect{color:#9b6630;font-weight:650}.exam-review-item .explanation{color:#62728b}.curriculum-return{color:#315dcc;border-bottom:1px solid #bdcbee;padding-block:5px}.curriculum-return:hover{color:#183b95}
@media(max-width:1000px){.semester-shell{padding:28px 24px 48px}.semester-hero{padding:28px}.semester-shell h1{font-size:29px}.area-scores{grid-template-columns:1fr 1fr}.curriculum-heading{align-items:flex-start}.exam-shell{grid-template-columns:minmax(0,1fr) 205px;gap:18px}.exam-card{padding:25px}.exam-nav{padding:16px}.question-map{gap:4px}}
@media(max-width:700px){.semester-shell{padding:20px 16px 40px}.semester-hero{padding:24px;align-items:flex-start;flex-direction:column;gap:22px}.semester-shell h1{font-size:26px}.hero-action{width:100%;align-items:stretch;text-align:center}.semester-meta{flex-wrap:wrap;gap:8px 15px;margin-top:14px}.area-scores{gap:10px;margin-top:16px}.area-score{padding:14px}.area-score h3{font-size:13px;min-height:40px;margin:8px 0}.area-score strong{font-size:20px}.area-score .score-top{font-size:11px}.score-summary{border-left:0;padding:0;display:flex;align-items:baseline;gap:5px;text-align:left}.score-summary strong{font-size:36px}.score-summary span{margin-left:8px}.curriculum-heading{display:block;margin-top:28px}.filter-tabs{margin-top:16px;display:inline-flex}.curriculum-grid{grid-template-columns:1fr;gap:16px}.unit-group-head{padding:18px}.unit-row{padding:16px;gap:10px}.unit-copy strong{font-size:14px}.unit-arrow{display:none}.unit-level{font-size:10px;padding:5px}.semester-shell h2{font-size:21px}.exam-top h1{font-size:21px}.exam-top .secondary{font-size:12px;padding:10px}.exam-shell{display:flex;flex-direction:column;gap:18px}.exam-card{width:100%;padding:22px 20px;min-height:0}.exam-card h2{font-size:23px}.exam-card .choices{margin-top:23px}.exam-nav{width:100%;padding:20px}.question-map{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.exam-nav h2{font-size:16px}.exam-nav .muted{margin-bottom:12px}.exam-top .eyebrow{font-size:11px}.exam-card .actionbar{flex-wrap:nowrap}.exam-card .primary{font-size:14px;padding:12px 16px}.exam-card .actionbar .secondary{font-size:14px}.answer-review{padding:16px}.curriculum-return{display:inline-block;font-size:12px}.topbar:has(.curriculum-return){gap:12px;padding-inline:16px}.topbar:has(.curriculum-return) .brand{font-size:18px}.topbar:has(.curriculum-return) .home-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.semester-shell *{transition:none!important}}
@media(min-width:701px) and (max-height:820px){body:has(.exam-shell) .topbar{height:64px}.semester-shell:has(.exam-shell){padding-top:20px;padding-bottom:20px}.exam-top{margin-bottom:14px}.exam-top h1{font-size:22px}.exam-card{min-height:0;padding:22px 28px}.exam-card .progress-track{margin:12px 0 18px}.exam-card h2{font-size:23px;line-height:1.55;margin-top:14px}.exam-card .choices{margin:20px 0 12px;gap:8px}.exam-card .choices button{min-height:46px;padding:10px 14px}.unknown-button{padding:10px;margin-bottom:18px}.exam-card .actionbar{padding-top:16px}}
.question-map button.unknown{border-style:dashed}

.demo-button{border:1px dashed #acbedc;border-radius:10px;background:transparent;color:#49628b;padding:11px 15px;font-size:13px;font-weight:650;white-space:nowrap}.demo-button:hover{background:#e9f0ff;border-color:#315dcc;color:#315dcc}.demo-button:focus-visible{outline:3px solid #97b8ff;outline-offset:3px}.exam-top-actions{display:flex;gap:10px;align-items:center}.hero-action .demo-button{width:100%}@media(max-width:700px){.exam-top{display:block}.exam-top-actions{margin-top:14px;flex-wrap:wrap}.exam-top-actions .demo-button{font-size:12px;padding:10px}}

.semester-shell>.ai-analysis{background:white;border:1px solid var(--line);border-radius:18px;min-height:560px}.semester-shell .ai-analysis-label{margin:0 0 14px}.semester-shell .ai-analysis-description{margin:0 auto 26px}.semester-shell .ai-analysis-note{margin:27px 0 0}

.unit-learning{display:flex;align-items:center;gap:10px;margin-top:7px;font-size:11px;color:#506686}.unit-learning.finished{color:#26775b}.unit-progress-track{display:block;width:70px;height:4px;border-radius:8px;background:#e8edf5;overflow:hidden}.unit-progress-track i{display:block;height:100%;background:#376adb}.finished .unit-progress-track i{background:#2d916d}.unit-row:focus-visible{outline:3px solid #789cec;outline-offset:-3px}
