:root{--bg:#f4f7fb;--panel:#fff;--text:#172033;--muted:#667085;--line:#d9e0ea;--accent:#3156d3;--accent2:#2447bf;--good:#137a44;--bad:#b42318;--soft:#e9eeff;--shadow:0 10px 28px rgba(20,33,61,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55}button,.import-label{border:0;border-radius:12px;padding:12px 15px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer;text-align:center}button:hover,.import-label:hover{background:var(--accent2)}button.secondary,.secondary{background:#eef2ff;color:#1e3a8a}.hero{width:min(1180px,calc(100% - 28px));margin:22px auto 16px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#1e3a8a,#3156d3);color:#fff;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:16px;align-items:center}.hero h1{margin:0;font-size:32px}.hero p{margin:6px 0 0;opacity:.92}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.layout{width:min(1180px,calc(100% - 28px));margin:0 auto 40px;display:grid;grid-template-columns:220px 1fr;gap:16px}.sidebar{position:sticky;top:16px;height:max-content;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:var(--shadow);display:grid;gap:8px}.nav{background:#f8fafc;color:#334155;text-align:left}.nav.active{background:var(--accent);color:#fff}.view{display:none}.view.active{display:block}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:16px}.grid{display:grid;gap:12px}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.mode{min-height:120px;text-align:left;display:grid;gap:6px;align-content:center}.mode span{font-weight:500;opacity:.92}.readiness-row,.difficulty-row{display:flex;gap:10px;flex-wrap:wrap}.readiness{min-width:86px}.difficulty{min-width:145px}.muted{color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.metric{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.metric strong{display:block;font-size:26px}.topic-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.topic-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff;display:grid;gap:10px}.topic-card h3{margin:0;font-size:16px}.topic-card p{margin:0}.test-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.badge{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;color:var(--muted);font-weight:800}.progress{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-bottom:14px}.progress div{height:100%;background:var(--accent);width:0%;transition:.2s}.question-card h2{font-size:22px;white-space:pre-wrap}.options{display:grid;gap:10px}.option{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;cursor:pointer}.option:hover{border-color:var(--accent);background:#f8fbff}.option input{margin-top:5px}.answer-input{width:min(520px,100%);font-size:18px;border:1px solid var(--line);border-radius:12px;padding:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.feedback{margin-top:16px;padding:15px;border-radius:14px;border:1px solid var(--line);background:#f8fafc}.feedback.good{background:#ecfdf3;border-color:#bbf7d0}.feedback.bad{background:#fff1f2;border-color:#fecdd3}.feedback h3{margin:0 0 8px}.theory{max-height:230px;overflow:auto;padding:12px;border-left:4px solid var(--accent);background:#f8fafc;border-radius:10px}.prompt-box{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:12px;padding:12px;max-height:240px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:13px}.hidden{display:none!important}.toast{position:fixed;right:18px;bottom:18px;background:#111827;color:white;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);z-index:10}.error-item{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:800px){.hero{display:block}.hero-actions{margin-top:14px}.layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(4,1fr)}.nav{text-align:center;padding:10px 6px}.question-card h2{font-size:19px}}
.theory h5{margin:14px 0 6px;font-size:15px;color:#172033}.theory p{margin:7px 0}.theory ul,.theory ol{margin:7px 0 10px 22px;padding:0}.theory li{margin:5px 0}.theory .math-block{margin:10px 0;padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow-x:auto}.theory hr{border:0;border-top:1px solid var(--line);margin:12px 0}

/* Responsive answer layout fixes */
.option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;width:100%;min-width:0;overflow:hidden;line-height:1.45}.option input{flex:0 0 auto;margin-top:5px}.option-index{flex:0 0 28px;display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#e9eeff;color:#3156d3;font-weight:900}.option-text{flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;overflow-x:auto}.option-text .mjx-container,.question-card .mjx-container,.feedback .mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}.question-card h2{overflow-wrap:break-word}.content,.card,.question-card,.answerArea,.options{min-width:0}.actions button{min-width:130px}.hero-actions .secondary,.import-label{white-space:nowrap}

@media(max-width:800px){
  body{font-size:15px}.hero{width:calc(100% - 20px);margin:10px auto 10px;padding:18px;border-radius:16px}.hero h1{font-size:25px}.hero-actions{display:grid;grid-template-columns:1fr;gap:8px}.layout{width:calc(100% - 20px);grid-template-columns:1fr;gap:10px}.sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.nav{font-size:14px;text-align:center;padding:10px 6px}.card{padding:14px;border-radius:14px;margin-bottom:10px}.cards{grid-template-columns:1fr}.mode{min-height:92px}.readiness-row,.difficulty-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.readiness,.difficulty{min-width:0;width:100%;padding:11px 8px}.topic-list{grid-template-columns:1fr}.test-top{align-items:stretch;flex-direction:column}.badge{width:100%;border-radius:12px}.question-card h2{font-size:18px;line-height:1.35}.option{padding:11px 10px;gap:8px}.option-index{flex-basis:25px;min-width:25px;width:25px;height:25px;font-size:13px}.option-text{font-size:15px}.actions{display:grid;grid-template-columns:1fr;gap:8px}.actions button{width:100%;min-width:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table{display:block;overflow-x:auto;white-space:nowrap}.prompt-box,.theory{max-height:300px;font-size:13px}.toast{left:10px;right:10px;bottom:10px;text-align:center}
}

@media(max-width:420px){
  .summary-grid{grid-template-columns:1fr}.readiness-row,.difficulty-row{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr}.hero h1{font-size:22px}.option{gap:7px}.option-text{font-size:14px}.question-card h2{font-size:17px}
}

/* In-page modal and reset progress UI */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:20px}.modal-card h3{margin:0 0 8px;font-size:22px}.modal-card p{margin:0 0 14px;color:#475569}.modal-extra{margin:12px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}.resume-box{display:grid;gap:6px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.resume-box b{color:#1e3a8a}.resume-box span{color:#475569}.confirm-warning{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;border-radius:12px;padding:11px 12px;font-weight:700}.danger-zone{margin-top:22px;padding:16px;border:1px solid #fecdd3;background:#fff1f2;border-radius:14px}.danger-zone h3{margin-top:0;color:#991b1b}.danger-zone p{color:#7f1d1d}.danger,button.danger{background:#dc2626!important;color:#fff!important}.danger:hover,button.danger:hover{background:#b91c1c!important}
@media(max-width:800px){.modal-backdrop{align-items:end;padding:10px}.modal-card{border-radius:18px 18px 12px 12px;padding:16px}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions button{width:100%}.danger-zone{padding:13px}}

/* Quizlet-like theory flashcards */
.flashcard-actions{display:flex;gap:10px;flex-wrap:wrap}.flashcard-wrap{display:grid;gap:12px}.flashcard{min-height:390px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease,border-color .15s ease;overflow:hidden}.flashcard:hover{transform:translateY(-2px);border-color:#93c5fd}.flash-face{min-height:390px;display:grid;align-content:center;gap:12px;padding:28px}.flash-front{text-align:center;background:linear-gradient(135deg,#fff,#f8fbff)}.flash-front h3{font-size:28px;margin:0}.flash-front p{font-size:21px;margin:0;color:#334155}.flip-hint{display:inline-block;justify-self:center;margin-top:10px;padding:8px 12px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-weight:800}.flash-back{align-content:start}.flash-back h3{margin:0 0 8px}.flash-back .theory{max-height:none;min-height:285px}.main-reset{margin-top:22px;margin-bottom:0}
@media(max-width:800px){.flashcard-actions{display:grid;grid-template-columns:1fr 1fr}.flashcard-actions button{width:100%;min-width:0}.flashcard{min-height:330px;border-radius:16px}.flash-face{min-height:330px;padding:18px}.flash-front h3{font-size:22px}.flash-front p{font-size:17px}.flash-back .theory{min-height:220px;max-height:420px}.main-reset{margin-top:12px}}
@media(max-width:420px){.flashcard-actions{grid-template-columns:1fr}.flash-front h3{font-size:20px}.flash-face{padding:15px}}

/* Auth and theory pages */
.auth-screen{width:min(520px,calc(100% - 28px));margin:24px auto 48px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px;display:grid;gap:12px}.auth-card h2{margin:0}.auth-card label{display:grid;gap:6px;font-weight:800;color:#334155}.auth-card input,.topic-controls select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.auth-actions{display:flex;gap:10px;flex-wrap:wrap}.user-box{align-self:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:white;border-radius:999px;padding:8px 12px;font-weight:800}.topic-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.topic-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.theory-panel h3{margin-top:0}.hero-actions .hidden{display:none!important}
@media(max-width:800px){.auth-screen{width:calc(100% - 20px);margin:12px auto 32px}.auth-actions{display:grid;grid-template-columns:1fr}.topic-buttons{grid-template-columns:1fr}.topic-controls{grid-template-columns:1fr}.user-box{border-radius:12px;text-align:center}.hero-actions{display:grid!important;grid-template-columns:1fr}.hero-actions button,.hero-actions label{width:100%}}

/* Custom question flow builder */
.builder-card h3{margin:0}.builder-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px}.builder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.mini-actions{display:flex;gap:6px;flex-wrap:wrap}.mini-actions button{padding:7px 10px;font-size:13px}.builder-list{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:10px;display:grid;gap:7px;max-height:310px;overflow:auto}.builder-list.compact{max-height:none}.builder-list label{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:10px;background:#fff;border:1px solid #edf2f7;cursor:pointer}.builder-list label:hover{border-color:#93c5fd}.builder-list input{margin-top:3px}.builder-count{display:grid;gap:6px;margin:13px 0;font-weight:800;color:#334155}.builder-count input{border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;width:100%}
@media(max-width:800px){.builder-grid{grid-template-columns:1fr}.builder-head{display:grid}.mini-actions{display:grid;grid-template-columns:1fr 1fr}.builder-list{max-height:260px}}

/* Larger and resizable theory / explanation blocks */
.theory{min-height:280px;max-height:70vh;resize:vertical;overflow:auto}.feedback .theory{min-height:260px;max-height:62vh}.theory-panel .theory{min-height:520px;max-height:78vh}.flash-back .theory{min-height:430px;max-height:72vh}.prompt-box{min-height:210px;max-height:58vh;resize:vertical;overflow:auto}.modal-extra .theory{min-height:260px}.question-card .feedback{max-width:100%}
@media(max-width:800px){.theory{min-height:300px;max-height:68vh;resize:vertical}.feedback .theory{min-height:260px;max-height:60vh}.theory-panel .theory{min-height:420px;max-height:72vh}.flash-back .theory{min-height:340px;max-height:68vh}.prompt-box{min-height:220px;max-height:58vh}}
@media(max-width:420px){.theory{min-height:260px}.theory-panel .theory{min-height:360px}.flash-back .theory{min-height:300px}.prompt-box{min-height:200px}}

/* Site icon and light/dark theme switcher */
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--bg:#0b1020;--panel:#111827;--text:#e5e7eb;--muted:#9ca3af;--line:#263244;--accent:#60a5fa;--accent2:#3b82f6;--good:#34d399;--bad:#fb7185;--soft:#172554;--shadow:0 14px 36px rgba(0,0,0,.34)}
.brand-title{display:flex;align-items:center;gap:12px;margin:0}.site-logo{width:48px;height:48px;border-radius:14px;object-fit:cover;box-shadow:0 10px 24px rgba(0,0,0,.22);flex:0 0 auto}.theme-toggle,#themeToggle{white-space:nowrap}
html[data-theme="dark"] body{background:radial-gradient(circle at top left,#111c37 0,#0b1020 42%,#070b16 100%);color:var(--text)}
html[data-theme="dark"] .hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);border:1px solid #263244;color:#f8fafc}
html[data-theme="dark"] .card,html[data-theme="dark"] .auth-card,html[data-theme="dark"] .flashcard,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .topic-card,html[data-theme="dark"] .question-card,html[data-theme="dark"] .sidebar{background:var(--panel)!important;border-color:var(--line)!important;color:var(--text)}
html[data-theme="dark"] .muted,html[data-theme="dark"] .auth-card label,html[data-theme="dark"] .builder-count,html[data-theme="dark"] .modal-card p{color:var(--muted)!important}
html[data-theme="dark"] button.secondary,html[data-theme="dark"] .secondary,html[data-theme="dark"] .badge,html[data-theme="dark"] .flip-hint{background:#172554!important;color:#bfdbfe!important;border-color:#1d4ed8!important}
html[data-theme="dark"] .nav{background:#0f172a;color:#dbeafe;border-color:var(--line)}html[data-theme="dark"] .nav.active,html[data-theme="dark"] .nav:hover{background:#1d4ed8;color:#fff}
html[data-theme="dark"] .mode,html[data-theme="dark"] .readiness,html[data-theme="dark"] .difficulty{background:#0f172a;border-color:var(--line);color:var(--text)}html[data-theme="dark"] .mode span{color:var(--muted)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] .auth-card input,html[data-theme="dark"] .topic-controls select,html[data-theme="dark"] .builder-count input{background:#0f172a;color:var(--text);border-color:var(--line)}
html[data-theme="dark"] .builder-list,html[data-theme="dark"] .resume-box,html[data-theme="dark"] .formula,html[data-theme="dark"] .theory-block,html[data-theme="dark"] .feedback{background:#0f172a!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] .builder-list label,html[data-theme="dark"] .error-item,html[data-theme="dark"] .metric,html[data-theme="dark"] .theory .math-block{background:#111827!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] .option{background:#0f172a!important;border-color:var(--line)!important;color:var(--text)!important}html[data-theme="dark"] .option:hover{background:#172554!important;border-color:#3b82f6!important}html[data-theme="dark"] .option-index{background:#1e3a8a;color:#dbeafe}
html[data-theme="dark"] .flash-front{background:linear-gradient(135deg,#111827,#0f172a)!important}html[data-theme="dark"] .flash-front p{color:#cbd5e1}html[data-theme="dark"] .prompt-box{background:#020617;color:#e2e8f0;border:1px solid var(--line)}
html[data-theme="dark"] .danger-zone{background:#2b1117!important;border-color:#7f1d1d!important}html[data-theme="dark"] .danger-zone h3{color:#fecdd3}html[data-theme="dark"] .danger-zone p{color:#fecdd3}html[data-theme="dark"] .confirm-warning{background:#2b1117;border-color:#7f1d1d;color:#fecdd3}
html[data-theme="dark"] .progress{background:#1f2937}html[data-theme="dark"] .table th,html[data-theme="dark"] .table td{border-color:var(--line)}html[data-theme="dark"] .toast{background:#e5e7eb;color:#111827}
@media(max-width:800px){.site-logo{width:42px;height:42px}.brand-title{gap:9px}}
