
:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e6eaf0;--accent:#5b5cf0;--accent2:#7c3aed;--green:#16a34a;--red:#dc2626;--shadow:0 12px 35px rgba(25,35,60,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit}button{cursor:pointer;border:0}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#101426;color:#fff;padding:22px 15px;position:fixed;inset:0 auto 0 0;z-index:5}
.logo{font-weight:800;font-size:21px;padding:8px 12px 24px;display:flex;gap:10px;align-items:center}.logo-dot{width:12px;height:12px;background:linear-gradient(135deg,#7c3aed,#5b5cf0);border-radius:50%;box-shadow:0 0 18px #6868ff}
.nav{display:grid;gap:6px}.nav a{background:transparent;color:#aeb5c8;text-align:left;padding:12px 13px;border-radius:10px;font-weight:600}.nav a:hover,.nav a.active{background:#1c2238;color:#fff}.nav a span{display:inline-block;width:25px}
.main{margin-left:260px;width:calc(100% - 260px);padding:30px;max-width:1500px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.top h1{margin:0;font-size:29px}.top p{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.stat b{font-size:27px}.stat small{display:block;color:var(--muted);margin-top:5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-top:18px}.card h2{margin:0 0 7px}.muted{color:var(--muted)}.progress{height:9px;background:#edf0f5;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.btn{padding:11px 16px;border-radius:10px;background:#eef0ff;color:#4447c8;font-weight:700}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.btn.dark{background:#111827;color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.list{display:grid;gap:10px;margin-top:18px}.qrow{display:flex;gap:15px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.qnum{min-width:48px;height:40px;border-radius:10px;background:#f0f1ff;color:#4b4dc6;display:grid;place-items:center;font-weight:800}.qtext{flex:1;line-height:1.45}.qrow button{padding:8px 12px;border-radius:8px;background:#f3f4f6}
.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fff}.search:focus{border-color:#818cf8}.toolbar{display:flex;gap:10px;margin-top:15px}.toolbar>*{flex:1}
.quiz{max-width:900px;margin:auto}.quiz-head{display:flex;justify-content:space-between;align-items:center}.badge{background:#eef0ff;color:#4b4dc6;padding:7px 11px;border-radius:999px;font-weight:800;font-size:13px}.question{font-size:25px;line-height:1.35;margin:28px 0}.answers{display:grid;gap:11px}.answer{padding:17px;border:1px solid var(--line);border-radius:13px;text-align:left;background:#fff;transition:.15s}.answer:hover{border-color:#9294ff;transform:translateY(-1px)}.answer.correct{border-color:#86efac;background:#f0fdf4}.answer.wrong{border-color:#fca5a5;background:#fff1f2}.answer.disabled{cursor:default}.answer b{display:inline-grid;place-items:center;width:30px;height:30px;background:#f0f1f5;border-radius:8px;margin-right:10px}.feedback{margin-top:15px;padding:15px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);line-height:1.5}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.tag{padding:7px 10px;border-radius:999px;background:#f2f3f7;color:#596174;font-size:13px}
.empty{text-align:center;padding:45px;color:var(--muted)}.hidden{display:none!important}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.25s;z-index:20}.toast.show{opacity:1;transform:none}
@media(max-width:900px){.sidebar{width:70px;padding:18px 8px}.logo{font-size:0;justify-content:center}.logo-dot{width:14px;height:14px}.nav a{font-size:0;text-align:center}.nav a span{font-size:18px;width:auto}.main{margin-left:70px;width:calc(100% - 70px);padding:20px}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr 1fr}.top h1{font-size:23px}.question{font-size:21px}.toolbar{flex-direction:column}.qrow{align-items:flex-start}.qrow button{display:none}}

.answer-grid{display:grid;gap:12px;margin-top:20px}.choice{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:14px;text-align:left;background:#fff;color:var(--text);transition:.15s}.choice:hover:not(:disabled){border-color:#9294ff;transform:translateY(-1px);box-shadow:0 5px 16px rgba(91,92,240,.1)}.choice:disabled{cursor:default}.choice .letter{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:#f0f1f5;color:#596174;font-weight:800}.choice.correct{border-color:#86efac;background:#f0fdf4}.choice.correct .letter{background:#dcfce7;color:#15803d}.choice.wrong{border-color:#fca5a5;background:#fff1f2}.choice.wrong .letter{background:#fee2e2;color:#b91c1c}.choice-text{line-height:1.45}.quiz-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:18px}.quiz-actions .actions{margin-top:0}.result-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);line-height:1.5}@media(max-width:600px){.quiz-actions{align-items:stretch;flex-direction:column}.quiz-actions .actions{width:100%}}

.nav a{display:block;text-decoration:none}.mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.mode-switch .selected{background:#171b32;color:#fff}.mode-description{padding:16px 18px;border:1px solid #d9dcff;background:#f6f6ff;border-radius:14px;line-height:1.55;margin:14px 0}.pro-area{width:100%;min-height:150px;resize:vertical;padding:15px;border:1px solid var(--line);border-radius:12px;font:inherit;line-height:1.55;outline:none}.pro-area:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(91,92,240,.12)}.pro-area:disabled{background:#f8fafc;color:#384152}.word-count{text-align:right;color:var(--muted);font-size:13px;margin-top:5px}.pro-summary{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.score-chip{padding:8px 12px;border-radius:999px;background:#f3f4f6;font-weight:700}

/* Mobile-first navigation and touch targets */
@media(max-width:640px){
 html,body{min-width:320px;overflow-x:hidden}body{padding-bottom:env(safe-area-inset-bottom)}.app{display:block;min-height:100vh}.sidebar{width:auto;height:calc(64px + env(safe-area-inset-bottom));padding:5px 3px env(safe-area-inset-bottom);inset:auto 0 0;position:fixed;z-index:30;background:#101426;border-top:1px solid rgba(255,255,255,.12)}.logo{display:none}.nav{height:100%;display:flex;align-items:stretch;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav a{flex:1 0 48px;min-width:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 3px;border-radius:9px;text-align:center;font-size:10px;line-height:1.1;white-space:normal;color:#aeb5c8}.nav a span{display:block;width:auto;font-size:17px;line-height:1}.nav a.active{background:#1c2238;color:#fff}.main{margin-left:0;width:100%;max-width:none;padding:16px 14px calc(78px + env(safe-area-inset-bottom))}.top{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}.top h1{font-size:24px;line-height:1.2}.top p{font-size:14px;line-height:1.45}.top>.btn{min-height:44px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px;border-radius:14px}.stat b{font-size:23px}.stat small{font-size:12px;line-height:1.35}.card{padding:17px;border-radius:16px;margin-top:14px}.card h2{font-size:19px}.question{font-size:21px;line-height:1.38;margin:20px 0;overflow-wrap:anywhere}.quiz{max-width:none}.quiz-head{gap:8px}.quiz-head .muted{font-size:13px}.answer-grid{gap:9px;margin-top:15px}.choice{padding:13px 12px;gap:9px;border-radius:12px}.choice .letter{flex-basis:30px;height:30px}.choice-text{font-size:15px;line-height:1.42;overflow-wrap:anywhere}.feedback,.result-note,.mode-description{font-size:14px;line-height:1.5;padding:13px}.actions{gap:8px}.btn{min-height:44px;padding:11px 13px}.quiz-actions{align-items:stretch;flex-direction:column}.quiz-actions .actions{width:100%}.quiz-actions .btn{width:100%}.pro-area{min-height:160px;font-size:16px;padding:13px}.list{gap:8px}.qrow{align-items:flex-start;gap:9px;padding:12px;flex-wrap:wrap}.qnum{min-width:42px;height:36px}.qtext{min-width:0;flex:1 1 calc(100% - 60px);font-size:14px;overflow-wrap:anywhere}.qrow button{display:inline-flex;min-height:40px;align-items:center;padding:8px 10px;border-radius:9px}.search{font-size:16px;min-height:46px}.toolbar{flex-direction:column}.two{grid-template-columns:minmax(0,1fr);gap:0}.self-rate{flex-direction:column}.self-rate .btn{width:100%;min-width:0}.empty{padding:30px 16px}
}
@media(max-width:380px){.main{padding-left:11px;padding-right:11px}.nav a{flex-basis:45px;min-width:45px;font-size:9px}.grid{gap:8px}.stat{padding:12px}.top h1{font-size:22px}.question{font-size:20px}.choice-text{font-size:14px}}

.exam-entry{width:100%;display:flex;align-items:center;gap:13px;margin-top:20px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);text-align:left;transition:.15s}.exam-entry:hover{border-color:#818cf8;box-shadow:0 5px 16px rgba(91,92,240,.1)}.exam-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:20px;font-weight:800}.exam-entry b,.exam-entry small{display:block}.exam-entry small{margin-top:3px;color:var(--muted);font-size:13px}.exam-arrow{margin-left:auto;color:var(--accent);font-size:22px}
.learn-answer-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.learn-answer-text{margin-top:8px;font-size:17px;line-height:1.55}.learn-answer-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
