*{box-sizing:border-box} :root{--bg:#0b1020;--panel:#121a2f;--panel2:#17223c;--text:#ecf2ff;--muted:#94a3bd;--line:#253454;--accent:#4fd1c5;--accent2:#7c8cff;--good:#4ade80;--bad:#fb7185;--warn:#fbbf24;--shadow:0 18px 55px rgba(0,0,0,.28);--radius:18px} html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 15% -10%,#1c3153 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:22px 18px;background:rgba(12,18,34,.94);border-right:1px solid var(--line);backdrop-filter:blur(14px);display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111d;box-shadow:0 10px 30px rgba(79,209,197,.2)}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{width:100%;border:0;background:transparent;color:var(--muted);display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:11px;text-align:left;font-size:14px;cursor:pointer}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,rgba(79,209,197,.13),rgba(124,140,255,.08));color:var(--text)}.nav-item.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-foot{margin-top:auto;padding:14px 8px;border-top:1px solid var(--line)}.tiny{font-size:11px;color:var(--muted);line-height:1.5}.text-btn{border:0;background:transparent;color:#fb7185;padding:10px 0;cursor:pointer;font-size:12px}.main{grid-column:2;padding:24px 32px 40px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--accent);font-weight:800}.topbar h1{margin:4px 0 0;font-size:28px}.top-actions{display:flex;gap:10px;align-items:center}.status-pill,.badge{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;background:rgba(255,255,255,.02)}.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}.view{display:none;animation:fade .18s ease}.view.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(23,34,60,.97),rgba(16,25,46,.97));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stat-card{min-height:125px}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:30px;font-weight:800;margin:8px 0}.stat-sub{font-size:11px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:24px 0 12px}.section-title h2{font-size:18px;margin:0}.section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.domain-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.domain-card{position:relative;overflow:hidden}.domain-card .domain-num{font-size:11px;color:var(--muted)}.domain-card strong{display:block;min-height:48px;margin:8px 0}.progress{height:8px;border-radius:999px;background:#0a1120;overflow:hidden;border:1px solid #1f2b45}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px}.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:750;cursor:pointer;background:linear-gradient(135deg,var(--accent),#66e1d7);color:#06111d}.btn.secondary{background:linear-gradient(135deg,var(--accent2),#9aa5ff);color:#090e1c}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--bad);color:white}.btn:disabled{opacity:.45;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field label{display:block;font-size:11px;color:var(--muted);margin:0 0 7px}.field select,.field input{width:100%;background:#0d1528;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:none}.check-row{display:flex;flex-wrap:wrap;gap:9px}.check{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--muted);font-size:12px}.check input{accent-color:var(--accent)}.hero-card{padding:24px;display:grid;grid-template-columns:1.4fr .6fr;gap:20px;align-items:center}.hero-card h2{font-size:27px;margin:0 0 9px}.hero-card p{color:var(--muted);line-height:1.65;margin:0 0 16px}.hero-metric{padding:20px;border:1px solid var(--line);border-radius:15px;background:#0d1528;text-align:center}.hero-metric strong{font-size:36px;display:block}.quiz-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.question-card{padding:24px}.q-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.q-meta .badge{padding:5px 8px;font-size:10px}.question-text{font-size:19px;line-height:1.55;font-weight:720;margin:0 0 18px}.keyword{color:#8af3e8;background:rgba(79,209,197,.11);padding:0 4px;border-radius:5px}.options{display:grid;gap:10px}.option{width:100%;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;text-align:left;padding:13px;border:1px solid var(--line);border-radius:13px;background:#0d1528;color:var(--text);cursor:pointer;line-height:1.4}.option:hover{border-color:#3f547f}.option .letter{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#172440;font-weight:800}.option.selected{border-color:var(--accent2);box-shadow:0 0 0 2px rgba(124,140,255,.12)}.option.correct{border-color:var(--good);background:rgba(74,222,128,.08)}.option.wrong{border-color:var(--bad);background:rgba(251,113,133,.08)}.feedback{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.feedback h3{margin:0 0 10px}.feedback-block{padding:13px 14px;border-radius:12px;background:#0d1528;border:1px solid var(--line);margin-top:10px}.feedback-block strong{display:block;margin-bottom:5px}.feedback-block p{margin:0;color:#c6d0e2;line-height:1.55;font-size:13px}.feedback-block.good{border-color:rgba(74,222,128,.45)}.feedback-block.warn{border-color:rgba(251,191,36,.45)}.feedback-block.info{border-color:rgba(79,209,197,.45)}.quiz-side{position:sticky;top:20px;height:max-content}.timer{font-size:28px;font-weight:900;letter-spacing:.04em}.side-actions{display:grid;gap:9px;margin-top:13px}.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:340px;overflow:auto;padding-right:4px}.qnav{aspect-ratio:1;border:1px solid var(--line);background:#0d1528;color:var(--muted);border-radius:8px;font-size:11px;cursor:pointer}.qnav.answered{border-color:var(--accent);color:var(--text)}.qnav.flagged{box-shadow:inset 0 -3px var(--warn)}.qnav.current{background:var(--accent2);color:white}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:800px}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;vertical-align:top}.table th{position:sticky;top:0;background:#111a2e;color:var(--muted);z-index:1}.table tr:hover td{background:rgba(255,255,255,.015)}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin-bottom:12px}.filters input,.filters select{background:#0d1528;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px}.weak-list{display:grid;gap:10px}.weak-row{display:grid;grid-template-columns:1.5fr 1fr 80px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.score-ring{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--score)*1%),#1d2b48 0);margin:auto}.score-ring::before{content:"";width:86px;height:86px;border-radius:50%;background:var(--panel);position:absolute}.score-ring span{position:relative;font-size:24px;font-weight:900}.review-grid{grid-template-columns:repeat(3,1fr)}.coverage-domain{margin-bottom:12px}.coverage-topic{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;color:#c9d4e7}.keyword-card{padding:16px}.keyword-card h3{margin:0 0 8px;color:var(--accent)}.keyword-card p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.empty{padding:35px;text-align:center;color:var(--muted)}.footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:#6f809d;line-height:1.5}.mobile-only{display:none}.modal{max-width:520px;background:#111a2e;color:var(--text);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(3,8,18,.75);backdrop-filter:blur(5px)}.modal-close{float:right;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.modal p{color:var(--muted);line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.kpi-good{color:var(--good)}.kpi-bad{color:var(--bad)}.kpi-warn{color:var(--warn)}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.domain-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.quiz-shell{grid-template-columns:1fr}.quiz-side{position:relative;top:auto}.review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{padding:18px 14px}.mobile-only{display:inline-grid;place-items:center}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.status-pill{display:none}.stats-grid,.domain-grid,.form-grid,.review-grid{grid-template-columns:1fr}.hero-card{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.question-card{padding:17px}.question-text{font-size:17px}.weak-row{grid-template-columns:1fr}.quiz-shell{display:block}.quiz-side{margin-top:14px}}
