:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17212b;background:#f5f7f9;line-height:1.45}*{box-sizing:border-box}body{margin:0}.topbar{height:58px;background:#fff;border-bottom:1px solid #d9e0e6;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.topbar button{font-weight:800;letter-spacing:.04em}.ghost{border:0;background:transparent;cursor:pointer}.topbar #sessionMeta{font-size:.9rem;color:#52606d}.topbar #timer{font-variant-numeric:tabular-nums;font-weight:800;min-width:80px;text-align:right}.warn{color:#a64b00}.danger{color:#b42318}main{max-width:1180px;margin:0 auto;padding:34px 24px 60px}.hero{padding:42px 0 24px}.hero h1{font-size:clamp(2rem,5vw,4rem);margin:0 0 10px;letter-spacing:-.04em}.hero p{max-width:760px;color:#52606d;font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #dce3e8;border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(16,24,40,.03)}button.action,.choice{border:1px solid #b7c3cc;background:#fff;border-radius:10px;padding:14px 16px;font:inherit;cursor:pointer;text-align:left}.action{font-weight:700}.action:hover,.choice:hover{border-color:#52606d}.action.primary{background:#17212b;color:white;border-color:#17212b}.action.secondary{background:#eaf0f4}.buttonrow{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.subject{min-height:118px}.subject strong{display:block;font-size:1.1rem}.subject span{display:block;color:#667482;margin-top:6px}.subtle{color:#667482}.question-shell{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.question-main{background:#fff;border:1px solid #dce3e8;border-radius:14px;padding:28px}.question-title{font-size:1.28rem;white-space:pre-wrap;margin:0 0 24px}.choice{display:block;width:100%;margin:10px 0;padding:16px}.choice.selected{border:2px solid #17212b;background:#eef3f6}.choice.correct{border-color:#16803b;background:#eefbf2}.choice.wrong{border-color:#c4320a;background:#fff3f0}.choice-letter{font-weight:800;margin-right:10px}.side{display:flex;flex-direction:column;gap:14px}.progressbar{height:9px;background:#edf1f4;border-radius:99px;overflow:hidden}.progressbar span{display:block;height:100%;background:#17212b}.feedback{margin-top:20px;padding:18px;border-radius:10px;background:#f6f8fa}.feedback.good{border-left:5px solid #16803b}.feedback.bad{border-left:5px solid #c4320a}.feedback h3{margin:0 0 8px}.rationale{font-size:.94rem;color:#52606d;margin:8px 0}.flagged{background:#fff5d6!important;border-color:#b7791f!important}.study-topic{margin:12px 0}.study-topic h3{margin-top:0}.study-topic dl{display:grid;grid-template-columns:140px 1fr;gap:8px 14px}.study-topic dt{font-weight:800}.study-topic dd{margin:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{background:#fff;border:1px solid #dce3e8;border-radius:12px;padding:16px}.stat b{display:block;font-size:1.7rem}.breakdown{width:100%;border-collapse:collapse}.breakdown th,.breakdown td{padding:10px;border-bottom:1px solid #e5eaee;text-align:left}.badge{display:inline-block;padding:4px 9px;border-radius:99px;background:#edf1f4;font-size:.82rem;font-weight:700}.badge.strong{background:#e8f8ee}.badge.weak{background:#fff0ec}.review-item{background:#fff;border:1px solid #dce3e8;border-radius:12px;padding:18px;margin:12px 0}.review-item h4{white-space:pre-wrap}.answerline{margin:5px 0}.settings label{display:block;margin:10px 0}.settings select,.settings input{width:100%;padding:10px;border:1px solid #b7c3cc;border-radius:8px;font:inherit}.empty{padding:30px;text-align:center;color:#667482}@media(max-width:800px){.question-shell{grid-template-columns:1fr}.side{order:-1}.topbar{padding:0 12px}.topbar #sessionMeta{display:none}main{padding:20px 14px 40px}.question-main{padding:18px}.study-topic dl{grid-template-columns:1fr}.study-topic dt{margin-top:8px}}

.errorbox{white-space:pre-wrap;background:#fff3f0;border:1px solid #f0b4a5;border-radius:8px;padding:12px;overflow:auto}


/* V2.2 light UI cleanup: clearer hierarchy without changing the app structure. */
.mode-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.home-actions{margin-top:22px}
.home-actions .card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}
.home-actions .card strong{font-size:1.12rem;letter-spacing:.02em}
.home-actions .card span{line-height:1.45}
.results-summary{margin-bottom:14px}
.results-summary h2{margin:.1rem 0 .35rem}
.stats{align-items:stretch}
.stat{min-height:92px;display:flex;flex-direction:column;justify-content:space-between}
.stat b{font-size:clamp(1.35rem,4vw,2rem)}
.question-title{line-height:1.35;max-width:68ch}
.choice{line-height:1.42;text-align:left}
@media (max-width: 640px){
  main{padding-left:14px;padding-right:14px}
  .topbar{gap:8px;padding:10px 12px}
  .home-actions{grid-template-columns:1fr}
  .home-actions .card{min-height:112px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{min-height:82px;padding:14px}
  .question-main{padding:16px}
  .choice{padding:13px 14px}
}

.numeric-answer{display:grid;gap:8px;margin:18px 0;font-weight:700}.numeric-answer input{font:inherit;font-size:1.15rem;padding:14px;border:2px solid var(--line);border-radius:10px;max-width:280px}.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.readiness-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}@media(max-width:760px){.readiness-grid{grid-template-columns:1fr 1fr}}

.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.mode-option{display:grid!important;grid-template-columns:auto 1fr;column-gap:10px;row-gap:4px;padding:16px;border:1px solid #b7c3cc;border-radius:12px;background:#fff;cursor:pointer}.mode-option input{width:auto!important;grid-row:1/3;align-self:start;margin-top:4px}.mode-option strong{display:block}.mode-option span{color:#667482;font-size:.92rem}.check-answer{display:block;margin:18px 0 4px;background:#eaf0f4!important}.answer-locked{font-size:.85rem;color:#667482;margin-bottom:0}.choice:disabled{cursor:default;opacity:1}.numeric-answer input:disabled{background:#f6f8fa;color:#17212b}@media(max-width:700px){.mode-grid{grid-template-columns:1fr}}
