:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f6f7fb}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.app{min-height:100vh;display:grid;grid-template-columns:330px 1fr}aside{background:#111827;color:#fff;padding:28px 22px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand>b{width:42px;height:42px;border-radius:12px;background:#e5e7eb;color:#111827;display:grid;place-items:center}.brand span{display:grid}.brand small,.progress small,nav small{color:#9ca3af}.progress{padding:16px;background:#ffffff12;border:1px solid #ffffff16;border-radius:16px;margin-bottom:26px}.progress>div{display:flex;justify-content:space-between}.progress i{display:block;height:8px;background:#ffffff1f;border-radius:999px;overflow:hidden;margin:10px 0}.progress em{display:block;height:100%;background:#fff}.progress small{display:block}nav h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#9ca3af}nav button{width:100%;display:grid;grid-template-columns:30px 1fr;gap:10px;text-align:left;border:0;background:transparent;color:#d1d5db;padding:10px;border-radius:12px;margin:4px 0}nav button.active,nav button:hover{background:#ffffff12;color:#fff}nav button>b{width:26px;height:26px;border-radius:8px;background:#ffffff12;display:grid;place-items:center;font-size:12px}nav button span{display:grid;font-weight:700;font-size:13px;line-height:1.25}nav small{font-weight:400;margin-top:4px}.exam{width:100%;margin-top:18px;padding:12px;border:1px solid #ffffff2e;border-radius:12px;background:transparent;color:#fff;font-weight:800}main{width:min(100%,1040px);padding:48px 50px 80px;margin:0 auto}header{margin-bottom:28px}header>span,.sectionTitle>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#475569}h1{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.03em;margin:8px 0;color:#111827}header p{font-size:18px;color:#64748b;line-height:1.6;max-width:72ch}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards article,.questions article{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;box-shadow:0 6px 20px #0f172a0a}.cards article>b{width:28px;height:28px;border-radius:8px;background:#111827;color:#fff;display:grid;place-items:center}.cards h2,.questions h2,.key h2,.trap h2,.memory h2{font-size:18px}.cards p{line-height:1.65;color:#475569}.sectionTitle{margin:42px 0 18px}.sectionTitle h2{font-size:28px;margin:6px 0 4px;color:#111827}.sectionTitle p{color:#64748b;line-height:1.6;margin:6px 0;max-width:72ch}.study{margin-top:12px}.studyBlock{display:grid;grid-template-columns:46px 1fr;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;margin:14px 0;box-shadow:0 5px 18px #0f172a08}.studyBlock>div:last-child{max-width:72ch}.studyNumber{width:38px;height:38px;border-radius:12px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:800}.studyBlock h3{font-size:20px;margin:3px 0 12px;color:#111827;line-height:1.3}.studyBlock p{line-height:1.72;color:#475569;margin:0 0 12px}.studyBlock ul,.studyBlock ol,.legalCard ul,.trap ul,.memory ul{padding-left:20px}.studyBlock li,.legalCard li,.trap li,.memory li{line-height:1.6;margin:6px 0}.legal{margin-top:16px}.legalCard{background:#fff;border:1px solid #cbd5e1;border-left:5px solid #334155;border-radius:16px;padding:22px;margin:14px 0}.legalCard>*{max-width:72ch}.legalHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.legalHead>div{display:grid}.legalHead strong{font-size:18px}.legalHead span{color:#64748b;margin-top:3px}.legalHead a{font-size:13px;font-weight:800;color:#1d4ed8;text-decoration:none;white-space:nowrap}.legalHead a:hover{text-decoration:underline}.legalCard blockquote{margin:18px 0;padding:14px 16px;background:#f8fafc;border-left:4px solid #94a3b8;border-radius:8px;font-family:Georgia,serif;line-height:1.55;color:#334155}.legalCard h4{margin:16px 0 4px}.key{background:#eef2ff;border:1px solid #dbe4ff;border-radius:18px;padding:22px 24px;margin-top:22px}.key ul,.trap ul,.memory ul{max-width:72ch}.key li{margin:7px 0;line-height:1.5}.trap{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:22px 24px;margin-top:16px}.memory{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:18px;padding:22px 24px;margin-top:16px}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.primary,.secondary{border-radius:12px;padding:12px 16px;font-weight:800}.primary{background:#111827;color:#fff;border:1px solid #111827}.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}.primary:disabled{opacity:.35;cursor:not-allowed}.questions{display:grid;gap:16px}.questions article{max-width:80ch}.questions article>button{width:100%;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #e5e7eb;background:#f8fafc;padding:11px 12px;border-radius:12px;margin:8px 0;color:#334155}.questions article>button>b{width:28px;height:28px;display:grid;place-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.questions button.chosen{border-color:#111827}.questions button.correct{border-color:#15803d;background:#f0fdf4}.questions button.wrong{border-color:#b91c1c;background:#fef2f2}.explanation{background:#f8fafc;border-radius:10px;padding:12px;color:#475569;line-height:1.6}.wide{width:100%;margin-top:18px}.result{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.result span{background:#111827;color:#9ca3af;padding:18px;border-radius:16px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.result strong{display:block;color:#fff;font-size:32px;margin-top:6px}.historicalQuestions{margin-top:18px}.historicalCard{background:#fff;border:1px solid #cbd5e1;border-radius:18px;padding:22px;margin:14px 0;box-shadow:0 5px 18px #0f172a08}.historicalCard>*{max-width:72ch}.historicalMeta{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.historicalMeta strong{font-size:12px;letter-spacing:.08em;color:#7c2d12;background:#ffedd5;padding:6px 8px;border-radius:8px}.historicalMeta span{font-size:13px;color:#64748b;text-align:right}.historicalCard h3{font-size:18px;line-height:1.45;color:#111827}.historicalCard ol{padding-left:26px;color:#334155}.historicalCard li{line-height:1.55;margin:8px 0}.historicalStatus{margin-top:14px;padding:11px 12px;border-radius:10px;background:#f8fafc;color:#475569;font-size:13px}.historicalNote{color:#64748b;font-size:13px;line-height:1.55}.historicalCard>a{display:inline-block;margin-top:4px;font-size:13px;font-weight:800;color:#1d4ed8;text-decoration:none}.historicalCard>a:hover{text-decoration:underline}@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:static;height:auto}.cards{grid-template-columns:1fr}main{padding:30px 20px 60px}.legalHead,.historicalMeta{flex-direction:column}.legalHead a{white-space:normal}.historicalMeta span{text-align:left}}@media(max-width:520px){aside nav{display:block;max-height:45vh;overflow:auto;padding-right:4px}aside{padding:18px}.actions{flex-direction:column}.actions button{width:100%}.result,.studyBlock{grid-template-columns:1fr}.sectionTitle h2{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{max-width:100%;overflow-x:hidden}.app{width:100%;max-width:100%;grid-template-columns:minmax(0,330px) minmax(0,1fr)}.app>*{min-width:0}aside{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.brand span,nav button span{min-width:0}.brand strong,nav button span,.exam,main :is(h1,h2,h3,p,li,a,button){overflow-wrap:anywhere}.progress>div{gap:8px}nav button,.questions article>button{grid-template-columns:30px minmax(0,1fr);min-width:0}main{min-width:0}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article,.questions article,.actions>*{min-width:0}
