:root{--bg:#f7faff;--paper:#fff;--ink:#0f172a;--muted:#667085;--line:#e6eaf2;--blue:#2563eb;--blue2:#1d4ed8;--green:#16a34a;--red:#dc2626;--orange:#f97316;--purple:#7c3aed;--soft:#f2f6ff;--shadow:0 22px 60px #0f172a14;--radius:26px;--side:276px}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 0 0,#dbeafe 0,#f7faff 360px,#f7faff),linear-gradient(#f7faff,#fff);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{grid-template-columns:var(--side) 1fr;min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--line);background:#ffffffe0;height:100vh;padding:18px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;margin-bottom:18px;display:flex}.brandOnly{border:1px solid var(--line);background:linear-gradient(#fff,#f8fafc);border-radius:22px;padding:12px}.brand h1{letter-spacing:-.04em;margin:0;font-size:23px;font-weight:950}.brandText{font-size:20px;font-weight:950}.sub,.muted{color:var(--muted);font-size:13px}.navTitle{text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;margin:16px 8px 8px;font-size:11px;font-weight:900}.profileMini{border:1px solid var(--line);background:#f8fafc;border-radius:22px;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:flex}.avatar{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;border-radius:20px;flex:none;place-items:center;width:58px;height:58px;font-size:28px;font-weight:950;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.nav{gap:7px;display:grid}.nav a{text-align:left;color:#334155;background:0 0;border-radius:16px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-weight:850;transition:all .15s;display:flex}.nav a:hover,.nav a.active{color:var(--blue2);background:#eef2ff;box-shadow:inset 0 0 0 1px #dbeafe}.main{width:100%;max-width:1340px;margin:0 auto;padding:22px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar h1,.topbar h2{margin:0;font-size:22px}.pill{color:#344054;background:#f2f4f7;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.pill.blue{color:#1d4ed8;background:#dbeafe}.pill.green{color:#166534;background:#dcfce7}.pill.orange{color:#9a3412;background:#ffedd5}.pill.red{color:#991b1b;background:#fee2e2}.pill.purple{color:#6d28d9;background:#ede9fe}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff5;margin-bottom:18px;padding:20px}.flat{box-shadow:none}.grid{gap:18px;display:grid}.cols2{grid-template-columns:repeat(2,1fr)}.cols3{grid-template-columns:repeat(3,1fr)}.cols4{grid-template-columns:repeat(4,1fr)}.hero{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.heroPanel{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:34px;min-height:270px;padding:34px;position:relative;overflow:hidden}.heroPanel:before{content:"";background:#ffffff1f;border-radius:50%;width:270px;height:270px;position:absolute;top:-100px;right:-100px}.heroPanel>*{position:relative}.heroPanel p{color:#dbeafe;line-height:1.65}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.space{justify-content:space-between}.btn{cursor:pointer;color:#fff;background:#111827;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-weight:900;transition:all .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.secondary{color:#1e293b;background:#eef2ff}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.stat{border:1px solid var(--line);background:#f9fafb;border-radius:20px;padding:16px}.stat strong{font-size:28px;display:block}.input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:15px;padding:12px}.textarea{resize:vertical;min-height:140px;line-height:1.55}.answer{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:16px;margin:9px 0;padding:13px;display:block}.answer.selected{border-color:var(--blue);background:#eff6ff}.answer.correct{border-color:var(--green);background:#f0fdf4}.answer.wrong{border-color:var(--red);background:#fef2f2}.progress{background:#e5e7eb;border-radius:999px;height:12px;overflow:hidden}.progress span{background:linear-gradient(90deg,var(--blue),var(--green));height:100%;transition:all .35s;display:block}.report{white-space:pre-wrap;color:#e5e7eb;background:#111827;border-radius:18px;padding:16px;line-height:1.55}.subjectCard{position:relative;overflow:hidden}.subjectCard:after{content:"";opacity:.75;background:#dbeafe;border-radius:50%;width:110px;height:110px;position:absolute;top:-34px;right:-34px}.subjectCard>*{position:relative}.notion{border:1px solid var(--line);background:#fff;border-radius:20px;margin:12px 0;padding:15px}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.admin-tabs button{cursor:pointer;background:#eef2ff;border:0;border-radius:999px;padding:9px 12px;font-weight:900}.admin-tabs button.active{color:#fff;background:#111827}.success{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:12px;padding:14px;display:flex}.success.locked{opacity:.45;filter:grayscale(.6)}.chartBox{border:1px solid var(--line);background:linear-gradient(#fff,#f8fafc);border-radius:22px;align-items:end;gap:10px;height:220px;padding:16px;display:flex}.bar{background:linear-gradient(#2563eb,#93c5fd);border-radius:12px 12px 0 0;flex:1;min-height:12px;position:relative}.bar span{color:var(--muted);font-size:11px;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.resultBanner{z-index:50;color:#166534;box-shadow:var(--shadow);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:22px;margin-bottom:18px;padding:16px;position:sticky;top:12px}.mobileTop{display:none}@media (max-width:980px){.shell{display:block}.sidebar{display:none}.mobileTop{z-index:90;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:#f8fbfff5;padding:10px;display:block;position:sticky;top:0}.main{padding:14px}.hero,.cols2,.cols3,.cols4{grid-template-columns:1fr}.topbar{align-items:flex-start}.chartBox{height:180px}}
