:root{--bg:#eaf8ff;--ink:#06283a;--muted:#476d82;--accent:#00b0f0;--line:#00b0f02e;--shadow:0 20px 60px #00567a1f;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", serif;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at top left, #00b0f03d, transparent 30%), radial-gradient(circle at top right, #6ad0ff33, transparent 26%), linear-gradient(180deg, #f8fdff 0%, var(--bg) 56%, #d7f1ff 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.2;background-color:#0000;background-image:linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 100%),linear-gradient(#ffffff0f 0 1px,#0000 1px 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0}button,select,input{font:inherit}#root{z-index:1;position:relative}.app-shell{width:min(100% - 32px,1240px);margin:20px auto 72px}.devtools-guard{z-index:9999;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eaf8fffa;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.devtools-guard__panel{text-align:center;background:#fffffff0;border:1px solid #00b0f029;border-radius:28px;width:min(100%,560px);padding:28px;box-shadow:0 24px 60px #006c9429}.devtools-guard__panel h2{font-family:var(--font-display);margin:0 0 10px;font-size:clamp(2rem,5vw,3rem);line-height:.95}.devtools-guard__panel p{color:var(--muted);margin:0;line-height:1.7}.hero-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#00b0f02e,#0000 32%),linear-gradient(135deg,#f9fefff0,#e4f7ffdb);border-radius:36px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.95fr);gap:28px;padding:32px;display:grid}.hero-copy h1{max-width:10ch;font-family:var(--font-display);letter-spacing:-.05em;margin:14px 0;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.92}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:.82rem;display:inline-flex}.eyebrow span{letter-spacing:normal;text-transform:none;background:#00b0f014;border-radius:999px;padding:6px 10px}.lead,.micro-copy,.status-copy,.question-tag,.review-copy,.review-explanation,.empty-panel p,.alert,.result-list{color:var(--muted)}.lead{max-width:60ch;margin:0;font-size:1.04rem;line-height:1.75}.hero-tools,.status-block,.question-panel,.empty-panel,.alert{box-shadow:var(--shadow);background:#ffffffd1;border:1px solid #00b0f024}.hero-tools{border-radius:28px;align-self:end;gap:18px;min-width:0;padding:22px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--muted);font-size:.92rem}.field select{width:100%;min-height:52px;color:var(--ink);font:inherit;background:#fffffff5;border:1px solid #00b0f038;border-radius:16px;padding:12px 16px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}button{appearance:none;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:14px 18px;font-weight:600;transition:transform .18s,box-shadow .18s,opacity .18s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.56;cursor:not-allowed}button.primary{color:#f8fdff;background:linear-gradient(135deg, #0099d3, var(--accent));box-shadow:0 14px 28px #007fad3d}button.secondary{color:var(--ink);background:#00b0f01a}.micro-copy{margin:0;font-size:.92rem;line-height:1.65}.workspace{grid-template-columns:minmax(290px,.85fr) minmax(0,1.8fr);align-items:start;gap:28px;margin-top:28px;display:grid}.workspace--full{display:block}.main-stage{width:100%;min-width:0}.alert,.empty-panel{border-radius:24px;padding:22px}.alert{background:#eff9fffa;border-color:#00b0f03d;margin-bottom:18px}.empty-panel{text-align:center}.loading-banner{color:var(--ink);background:#f5fcfff5;border:1px solid #00b0f024;border-radius:999px;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;display:inline-flex;box-shadow:0 12px 26px #006c941a}.loading-banner__spinner{border:2px solid #00b0f038;border-top-color:var(--accent);border-radius:999px;width:18px;height:18px;animation:.85s linear infinite spin}.question-stack{gap:16px;transition:opacity .18s;display:grid}.question-stack--busy{opacity:.72;pointer-events:none}.question-panel{border-radius:26px;padding:22px;overflow:hidden}.question-panel.is-correct{background:#effaf3f2;border-color:#2f6c4f4d}.question-panel.is-incorrect{background:#fcf2f1f2;border-color:#a0323238}.question-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;margin-bottom:18px;display:grid}.question-number{background:#00b0f01f;border-radius:999px;place-items:center;min-width:46px;height:46px;font-weight:700;display:inline-grid}.question-tag{margin:0 0 8px;font-size:.88rem}.question-header h3{margin:0;font-size:1.08rem;line-height:1.6}.option-list{gap:10px;display:grid}.option-row{cursor:pointer;background:#ffffffd9;border:1px solid #00b0f029;border-radius:18px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:grid;position:relative}.option-row:hover{border-color:#00b0f047;transform:translateY(-1px);box-shadow:0 12px 24px #006c9414}.option-row input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.option-row.correct{background:#e7f7edf2;border-color:#2f6c4f57}.option-row.wrong{background:#fceeeef2;border-color:#a0323247}.option-row.selected:not(.correct):not(.wrong){background:linear-gradient(135deg,#f0fbfffa,#e0f6fffa);border-color:#00b0f05c;box-shadow:0 14px 28px #00b0f01f}.option-letter{width:30px;height:30px;color:var(--accent);background:#00b0f01f;border-radius:999px;place-items:center;font-size:.92rem;font-weight:700;transition:background-color .18s,color .18s,transform .18s;display:inline-grid}.option-row.selected:not(.correct):not(.wrong) .option-letter{background:var(--accent);color:#f8fdff;transform:scale(1.04)}.option-text{min-width:0;line-height:1.6}.review-panel{border-top:1px dashed #00b0f033;margin-top:16px;padding-top:14px}.review-status{margin:0 0 8px;font-weight:700}.review-status.good{color:#2f6c4f}.review-status.warn{color:#a03232}.review-copy,.review-explanation{margin:0;line-height:1.7}.review-answer{color:var(--ink);margin:0 0 8px;line-height:1.6}.review-explanation{margin-top:8px}.submit-dock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fdfff0;border:1px solid #00b0f024;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex;box-shadow:0 18px 44px #006c9424}.submit-dock--inline{z-index:12;width:100%;margin-bottom:22px;position:sticky;top:16px}.submit-dock__meta{flex:auto;min-width:0}.submit-dock__course{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.88rem;font-weight:700;line-height:1.4;display:block}.submit-dock__label{color:var(--muted);font-size:.9rem;display:block}.submit-dock__meta strong{margin-top:4px;font-size:1.04rem;line-height:1.3;display:block}.result-summary{margin-bottom:16px}.submit-dock__scorecards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.submit-dock__scorecard{background:linear-gradient(135deg,#f2fcfff5,#e0f6fff0);border:1px solid #00b0f029;border-radius:18px;padding:14px 16px}.submit-dock__scorecard span{color:var(--muted);font-size:.84rem;line-height:1.4;display:block}.submit-dock__scorecard strong{color:var(--ink);letter-spacing:-.03em;margin-top:6px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05;display:block}.submit-dock__progress{background:#00b0f01f;border-radius:999px;height:10px;margin-top:10px;overflow:hidden}.submit-dock__progress span{border-radius:inherit;background:linear-gradient(90deg,#63d7ff,#00b0f0 64%,#008bc2 100%);height:100%;transition:width .22s;display:block}.submit-dock__button{flex:none;min-width:220px}.question-actions{justify-content:flex-end;margin-top:8px;display:flex}.question-actions__button{min-width:240px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.hero-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);padding:28px}}@media (width<=1040px){.hero-panel,.workspace{grid-template-columns:1fr}}@media (width<=720px){.app-shell{width:min(100% - 20px,1240px);margin-top:18px}.hero-panel,.hero-tools,.status-block,.question-panel,.empty-panel,.alert{border-radius:22px}.hero-panel,.hero-tools,.status-block,.question-panel{padding:18px}.hero-panel{gap:18px}.hero-actions,.hero-actions button{width:100%}.hero-copy h1{max-width:none;font-size:clamp(2.4rem,14vw,4rem)}.lead{font-size:.98rem;line-height:1.68}.question-header{grid-template-columns:1fr;gap:12px}.question-number{width:42px;min-width:42px}.option-row{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;padding:14px}.submit-dock{border-radius:20px;flex-direction:column;align-items:stretch;padding:14px}.submit-dock--inline{margin-bottom:16px;top:12px}.submit-dock__button{width:100%;min-width:0}.loading-banner{border-radius:18px;width:100%;margin-bottom:16px;display:flex}.question-actions{justify-content:stretch}.question-actions__button{width:100%;min-width:0}.submit-dock__meta strong{font-size:1rem}.submit-dock__course{font-size:.8rem}.submit-dock__scorecards{grid-template-columns:1fr}}@media (width<=520px){.app-shell{width:min(100% - 14px,1240px)}.hero-panel{border-radius:20px;padding:16px}.hero-tools,.question-panel,.empty-panel,.alert{border-radius:18px;padding:16px}.eyebrow{gap:8px;font-size:.76rem}.question-tag{font-size:.82rem}.question-header h3{font-size:1rem}.option-row{border-radius:16px}.submit-dock{border-radius:18px;padding:12px}.submit-dock--inline{top:10px}.submit-dock__meta strong{font-size:.98rem}.submit-dock__course{letter-spacing:.03em;font-size:.76rem}}
