/* Citizenship test practice (tool + pages) */
.ct{--ctf:1;font-size:calc(1rem*var(--ctf));margin:18px 0}
.ct-s1{--ctf:1.2}.ct-s2{--ctf:1.4}.ct-s3{--ctf:1.65}
.ct-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:.9em}
.ct-grp{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-weight:600;max-width:100%}.ct-b{max-width:100%}
.ct-b{font:inherit;font-weight:800;min-width:44px;min-height:44px;border:1px solid var(--acc);border-radius:8px;background:#fff;color:var(--acc2);cursor:pointer}
.ct-chk,.ct-sel{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;font-weight:600;min-height:44px;max-width:100%}.ct-sel select{flex:1 1 180px;min-width:0}.ct-chk input{width:22px;height:22px}
.ct-sel select,.ct-row select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);max-width:100%}
.ct-menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.ct-menu>*{min-width:0}.ct-row select{width:100%}
.ct-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:0 0 14px}.ct-menu .ct-card{margin:0}
.ct-card h3{margin:0 0 6px}.ct-card p{color:var(--ink)}
.ct-row{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.ct-row label{display:grid;gap:4px;font-weight:600;font-size:.92em;flex:1 1 150px}
.ct .btn{font:inherit;font-weight:700;border:1px solid transparent;cursor:pointer;min-height:44px;margin:4px 6px 4px 0}.ct .btn.o{border-color:var(--acc)}.ct .btn:disabled{opacity:.5;cursor:not-allowed}
.ct-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-weight:700}.ct-time{margin-left:auto;font:700 1.3em ui-monospace,Consolas,monospace;color:var(--acc2);background:#eef3fb;border-radius:8px;padding:2px 12px}.ct-time.low{background:#fde8e8;color:#a11}
.ct-lab{color:var(--mut);font-weight:600;font-size:.88em}
.ct-bar2{height:8px;background:#e3e8f0;border-radius:4px;margin:8px 0 14px;overflow:hidden}.ct-bar2 i{display:block;height:100%;background:var(--acc)}
.ct-q{border:0;padding:0;margin:0}.ct-q h3{font-family:inherit;font-size:1.25em;line-height:1.4;margin:6px 0 14px;color:var(--ink)}.ct-t{padding:0;font-size:.78em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.ct-opts{display:grid;gap:10px}
.ct-o{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;min-height:48px;position:relative}
.ct-o:hover{border-color:var(--acc)}.ct-o input{position:absolute;opacity:0;width:1px;height:1px}
.ct-o:has(input:checked){border-color:var(--acc2);background:#eef4ff}.ct-o:has(input:focus-visible){outline:3px solid var(--acc);outline-offset:2px}
.ct-l{flex:none;width:30px;height:30px;border-radius:50%;background:#e3e8f0;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy)}
.ct-o:has(input:checked) .ct-l{background:var(--acc2);color:#fff}
.ct-o.ok,.ct-o.ok:has(input:checked){border-color:#1a7f4b;background:#eefaf3}.ct-o.ok .ct-l,.ct-o.ok:has(input:checked) .ct-l{background:#1a7f4b;color:#fff}.ct-o.no,.ct-o.no:has(input:checked){border-color:#c0392b;background:#fdf0ee}.ct-o.no .ct-l,.ct-o.no:has(input:checked) .ct-l{background:#c0392b;color:#fff}
.ct-tag{margin-left:auto;font-size:.78em;white-space:nowrap;padding-left:8px}
.ct-fb{border:1px solid var(--line);border-left:6px solid var(--acc);background:#fff;border-radius:12px;padding:14px 16px;margin:14px 0}.ct-fb.ok{border-left-color:#1a7f4b}.ct-fb.no{border-left-color:#c0392b}
.ct-fb h4,.ct-pl h4,.ct-ex h4{margin:10px 0 2px;font-size:1em}.ct-fb p{margin:6px 0}.ct-pl{background:#fff8e6;border-radius:10px;padding:6px 12px;margin:8px 0}
.ct-tip{background:#eef4ff;border-radius:10px;padding:8px 12px}.ct-warn{background:#fff3e0;border:1px solid #e0a82e;border-radius:10px;padding:8px 12px}
.ct-tr{background:#f4f7fc;border-radius:10px;padding:6px 14px;margin:8px 0}.ct-tr .ct-c{font-weight:700}
.ct-src{border-top:1px solid var(--line);padding-top:8px;margin-top:10px}
.ct-nav{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.ct-keys{margin:4px 0}
.ct-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct-resbox{border:2px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 0 14px;background:#fff}.ct-resbox.ok{border-color:#1a7f4b;background:#eefaf3}.ct-resbox.no{border-color:#c0392b;background:#fdf0ee}.ct-resbox h3{margin:0 0 6px}.ct-score{font-size:1.4em;margin:0}
.ct-rv{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;background:#fff}.ct-rv summary{cursor:pointer;font-weight:600}.ct-rv.ok{border-left:5px solid #1a7f4b}.ct-rv.no{border-left:5px solid #c0392b}.ct-mk{display:inline-block;width:1.4em;font-weight:800}
.ct-hist .tt{font-size:.92em}
.ct-hc{background:#000;color:#fff;border-radius:14px;padding:12px}
.ct-hc .ct-bar,.ct-hc .ct-card,.ct-hc .ct-o,.ct-hc .ct-fb,.ct-hc .ct-rv,.ct-hc .ct-resbox{background:#000;color:#fff;border-color:#fff}
.ct-hc .ct-card p,.ct-hc .ct-q h3,.ct-hc .fine,.ct-hc .ct-t,.ct-hc .ct-lab,.ct-hc .ct-row label,.ct-hc .ct-card h3,.ct-hc .ct-resbox h3,.ct-hc a{color:#fff}
.ct-hc .ct-o:has(input:checked){background:#003a8c;border-color:#ffd400}.ct-hc .ct-l{background:#fff;color:#000}.ct-hc .ct-o.ok,.ct-hc .ct-o.ok:has(input:checked){background:#00401f;border-color:#6dff9f}.ct-hc .ct-o.no,.ct-hc .ct-o.no:has(input:checked){background:#5a0000;border-color:#ff8a8a}
.ct-hc .ct-tip,.ct-hc .ct-pl,.ct-hc .ct-warn,.ct-hc .ct-tr{background:#111;color:#fff;border:1px solid #fff}.ct-hc .btn{background:#ffd400;color:#000;border-color:#ffd400}.ct-hc .btn.o{background:#000;color:#fff;border-color:#fff}
.ct-hc .ct-b,.ct-hc select{background:#000;color:#fff;border-color:#fff}.ct-hc .tt,.ct-hc .tt th,.ct-hc .tt td{background:#000;color:#fff}.ct-hc .ct-time{background:#111;color:#ffd400}.ct-hc .ct-bar2{background:#444}.ct-hc .ct-bar2 i{background:#ffd400}
.ct-hc :focus-visible{outline:3px solid #ffd400}
.ctn{background:#fff8e6;border:1px solid #f1d58a;border-left:4px solid var(--gold);border-radius:10px;padding:12px 14px;margin:14px 0;font-size:.92rem;line-height:1.5;color:#4a3b10}
.ctn.dis{background:#f4f7fc;border-color:var(--line);border-left-color:var(--acc2);color:var(--ink)}
.ctc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0}.ctc .card.soon{opacity:.85;border-left-color:#c4cde2}.badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:2px 8px;border-radius:4px;background:#eef3fb;color:var(--acc2)}
@media(max-width:700px){.ct-menu{grid-template-columns:minmax(0,1fr)}.ct-time{margin-left:0}.ct-tag{display:none}.ct-o.ok::after{content:"Correct";margin-left:auto;font-weight:700;font-size:.8em}}
@media(max-width:420px){.ct-bar{gap:6px 12px;padding:8px 10px}.ct-b{min-width:40px}.ct-card{padding:14px}}
