:root{
  --bg:#f5f7fb; --card:#ffffff; --ink:#111827; --muted:#667085; --line:#d9e2ef;
  --blue:#2563eb; --blue2:#1d4ed8; --green:#16a34a; --red:#dc2626; --amber:#f59e0b;
  --shadow:0 10px 30px rgba(15,23,42,.08); --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.appHeader{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,#0f172a,#2563eb);color:white;padding:16px max(16px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 4px 18px rgba(15,23,42,.18)}
.appHeader h1{margin:0 0 4px;font-size:22px}.appHeader p{margin:0;opacity:.85;font-size:14px}.userBox{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.userBox button{background:#ffffff22;color:white;border:1px solid #ffffff44}
main{max-width:1120px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0;box-shadow:var(--shadow)}
.loginCard{max-width:460px;margin:40px auto}.muted{color:var(--muted)}.hidden{display:none!important}label{display:block;font-weight:800;color:#475467;margin:12px 0 6px}input,select{width:100%;font:inherit;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:white;color:var(--ink)}button{font:inherit;border:0;border-radius:15px;padding:12px 16px;font-weight:900;cursor:pointer}.primary{background:var(--blue);color:white}.primary:hover{background:var(--blue2)}.secondary{background:#eef2ff;color:#1e3a8a}.danger{background:#fee2e2;color:#991b1b}.full{width:100%;margin-top:12px}.msg{font-weight:900}.msg.bad{color:var(--red)}.msg.ok{color:var(--green)}
.topNav{display:flex;gap:8px;position:sticky;top:76px;z-index:15;background:var(--bg);padding:8px 0}.navBtn{background:white;color:#344054;border:1px solid var(--line)}.navBtn.active{background:var(--blue);color:white;border-color:var(--blue)}
.sectionTitleRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.filters{max-width:310px;margin:14px 0}.folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px}.folder{background:#fff7ed;color:#111827;border:1px solid #fed7aa;text-align:left;min-height:132px;box-shadow:none;transition:transform .15s,box-shadow .15s,border-color .15s}.folder:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.08);border-color:#fb923c}.folderIcon{font-size:30px}.folderTitle{display:block;font-size:18px;margin:8px 0 6px}.folderMeta{color:var(--muted);font-size:13px;line-height:1.35}.folderCount{display:block;margin-top:10px;color:var(--blue);font-weight:900}
.flashTopBar{display:flex;justify-content:space-between;gap:10px;align-items:center;position:sticky;top:126px;z-index:10;background:var(--bg);padding:8px 0}.flashShell{max-width:840px;margin:0 auto}.flashMeta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chip{display:inline-flex;align-items:center;background:var(--blue);color:white;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.chip.ghost{background:#eef2ff;color:#1e3a8a}.progressBar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:10px 0 14px}#progressFill{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#16a34a);transition:width .2s}
.flashCard{background:white;border:1px solid var(--line);box-shadow:0 18px 50px rgba(15,23,42,.12);border-radius:28px;padding:22px;min-height:420px}.flashCard h2{font-size:22px;line-height:1.35;margin:10px 0 18px}.questionImage{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:0 auto 16px;border:1px solid var(--line);border-radius:18px;background:#fff}.options{display:grid;gap:10px}.option{display:block;width:100%;text-align:left;background:#fff;color:#111827;border:1px solid var(--line);padding:14px;border-radius:16px;line-height:1.35}.option:hover{border-color:var(--blue)}.option.correct{border-color:var(--green);background:#ecfdf5}.option.wrong{border-color:var(--red);background:#fef2f2}.feedback{margin-top:14px;border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafc}.feedback.ok{border-color:var(--green);background:#ecfdf5}.feedback.bad{border-color:var(--red);background:#fef2f2}.flashControls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 28px}.statsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat{background:#eef2ff;border:1px solid #dbeafe;border-radius:18px;padding:16px}.stat b{font-size:28px}.fileInput{position:absolute;left:-9999px}.fileButton{display:inline-block;background:#eef2ff;color:#1e3a8a;padding:12px 16px;border-radius:15px;cursor:pointer;margin:8px 8px 8px 0}.fileName{color:var(--muted);font-weight:700}
@media(max-width:700px){.appHeader{display:block}.topNav{top:84px;overflow-x:auto}.folders{grid-template-columns:1fr}.flashTopBar{top:132px}.flashCard{border-radius:22px;padding:16px;min-height:calc(100vh - 270px)}.flashCard h2{font-size:19px}.questionImage{max-height:300px}.flashControls{position:sticky;bottom:0;background:var(--bg);padding:8px 0;margin-bottom:0}button{padding:12px 13px}}
