*{box-sizing:border-box}body{margin:0;background:#f3f5f9;color:#1e293b;font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1250px;margin:22px auto;padding:24px 32px;background:white;border-radius:14px;box-shadow:0 4px 26px #12223a12}h1{margin:0 0 14px;font-size:1.8rem}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}select,button{font:inherit;padding:8px 12px;border-radius:7px;border:1px solid #8290a4}select{min-width:250px}button{background:#1d57a7;color:white;border:0;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:default}#komunikat{color:#a52525}.zadanie{border:1px solid #d4dae4;border-radius:9px;padding:12px 16px;margin:12px 0}.naglowek{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:4px}.zadanie h3{font-size:1.06rem;margin:0;color:#123d78}.zadanie h3 small{font-weight:400;color:#66758a}.tresc-zadania{margin:4px 0 10px}.tresc-zadania>.teksty{display:block}.opcje-abc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.kafelek{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce2e9;border-radius:6px;cursor:pointer;min-width:0}.kafelek:has(input:checked){background:#eef4ff;border-color:#5380c0}.kafelek input{margin:0 4px 0 0}.teksty img{max-width:100%;height:auto;max-height:230px;vertical-align:middle}.tabela-wrap{overflow-x:auto}.tabela-pf,.tabela-odpowiedzi{border-collapse:collapse;width:100%;table-layout:auto}.tabela-pf th,.tabela-pf td,.tabela-odpowiedzi td,.tabela-odpowiedzi th{border:1px solid #bbc5d4;padding:6px 10px}.tabela-pf thead{background:#edf1f7}.tabela-pf th:first-child{text-align:left}.tabela-pf th:not(:first-child),.tabela-pf .pole-pf{width:68px;text-align:center}.pole-pf label,.pole-radio{cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:28px}.pole-pf input,.pole-radio input{width:17px;height:17px;margin:0}.pole-pf span,.pole-radio span{display:none}.uz-siatka{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px}.uz-siatka h4{font-size:.92rem;margin:0 0 5px;color:#394963}.tabela-odpowiedzi .symbol{width:40px;text-align:center;background:#f1f4f9}.tabela-odpowiedzi .pole-wyboru{width:55px;text-align:center}.tabela-odpowiedzi tr:has(input:checked){background:#eef4ff}.ocena{font-size:.85rem;font-weight:700;padding:2px 10px;border-radius:20px}.wynik-ok{background:#dff4e4;color:#155d30}.wynik-zero{background:#fce7e7;color:#a32828}.ocenione .dobrze{background:#ddf5e3!important;box-shadow:inset 4px 0 #1f924b}.ocenione .zle{background:#fce0e0!important;box-shadow:inset 4px 0 #cf4141}.ocenione .poprawna-komorka{background:#bdebc8!important;outline:2px solid #288b4c;outline-offset:-2px}.ocenione input{accent-color:#555}#wynik{margin:22px 0;font-size:1.18rem}#wynik strong{font-size:1.3rem}.legenda{font-size:.85rem;font-weight:400;margin:8px 0;color:#45556b}.legenda-ok{color:#187843;font-weight:700}.legenda-zle{color:#be3636;font-weight:700}.MathJax[display="true"],mjx-container[display="true"]{margin:.3em 0!important}@media(max-width:720px){main{margin:0;padding:14px;border-radius:0}.opcje-abc,.uz-siatka{grid-template-columns:1fr}.zadanie{padding:10px}.tabela-pf th:not(:first-child),.tabela-pf .pole-pf{width:45px}.tabela-pf th,.tabela-pf td{padding:5px}.toolbar select{min-width:0;max-width:100%}}
/* Arkusz egzaminacyjny: jedna tabela UZ, trzy obszary o niezależnych wysokościach wierszy. */
.tabela-uz{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #7e8997}
.tabela-uz>tbody>tr>td{padding:0;vertical-align:stretch;border:1px solid #7e8997}
.tabela-uz .uz-lewa{width:30%}.tabela-uz .uz-poniewaz{width:15%;text-align:center;vertical-align:middle;background:#fafafa;padding:4px}
.tabela-uz .uz-prawa{width:55%}
.uz-czesci{border-collapse:collapse;width:100%;height:100%;table-layout:fixed}
.uz-czesci tr+tr{border-top:1px solid #7e8997}
.uz-czesci th,.uz-czesci td{padding:0;border:0}
.uz-czesci .uz-symbol{width:43px;text-align:center;font-weight:700;border-right:1px solid #7e8997;background:#f5f6f8}
.uz-opcja{display:flex;align-items:center;gap:9px;padding:9px 10px;cursor:pointer;min-height:49px;height:100%}
.uz-opcja input{margin:0;flex:0 0 auto;width:17px;height:17px}
.uz-czesci tr:has(input:checked){background:#eef4ff}
.ocenione .uz-czesci tr.dobrze{background:#ddf5e3!important}
.ocenione .uz-czesci tr.zle{background:#fce0e0!important}
.teksty mjx-container:not([display="true"]){display:inline-block!important;vertical-align:middle;margin:0 .08em!important}
@media(max-width:650px){.tabela-uz{min-width:620px}.uz-opcja{padding:7px}.tabela-uz .uz-poniewaz{width:90px}}

/* Kółko wyboru przed oznaczeniem A/B lub 1/2/3. */
.uz-czesci .uz-symbol{width:78px}
.uz-wybor-symbol{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 8px;min-height:49px;cursor:pointer}
.uz-wybor-symbol input{width:17px;height:17px;margin:0;flex:0 0 17px;cursor:pointer}
.uz-wybor-symbol span{white-space:nowrap}
.uz-opcja{display:flex;align-items:center;min-height:49px}

/* v5: kółko zawsze przed symbolem, bez zależności od wewnętrznego układu tabeli */
.tabela-uz .uz-czesci .uz-symbol { width: 90px; min-width: 90px; }
.tabela-uz .uz-wybor-symbol { display: inline-flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 9px; white-space: nowrap; width: 100%; }
.tabela-uz .uz-wybor-symbol > input[type="radio"] { position: static; order: 0; display: inline-block; appearance: auto; opacity: 1; visibility: visible; width: 18px; height: 18px; margin: 0; flex: 0 0 18px; }
.tabela-uz .uz-wybor-symbol > span { order: 1; display: inline; }

/* Zadania z dwiema lukami (AB + CD). */
.luki-akapit{margin:9px 0;line-height:1.65}
.luki-inline{display:inline-flex;vertical-align:middle;border:1px solid #64748b;margin:0 5px;white-space:nowrap;border-radius:2px;overflow:hidden}
.luka-przycisk{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:30px;cursor:pointer;background:white;font-weight:700}
.luka-przycisk+.luka-przycisk{border-left:1px solid #64748b}
.luka-przycisk input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.luka-przycisk:has(input:checked){background:#dceaff;box-shadow:inset 0 0 0 2px #2563eb}
.luka-przycisk:has(input:focus-visible){outline:2px solid #2563eb;outline-offset:-2px}
.luki-opcje{margin:8px 0;display:grid;gap:10px}
.luki-para{display:flex;gap:8px 25px;flex-wrap:wrap}
.luki-odpowiedz{display:inline-flex;gap:7px;align-items:center;padding:5px 9px;border:1px solid transparent;border-radius:3px}
.luki-odpowiedz b{min-width:23px}
.ocenione .luka-przycisk.dobrze,.ocenione .luki-odpowiedz.dobrze{background:#ddf5e3!important;box-shadow:inset 0 0 0 2px #1f924b}
.ocenione .luka-przycisk.zle,.ocenione .luki-odpowiedz.zle{background:#fce0e0!important;box-shadow:inset 0 0 0 2px #cf4141}

/* v8: stoper testu */
.test-naglowek{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0}
.test-naglowek h2{margin:0}
.stoper{font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #cad5e2;background:#f2f6fc;color:#163d73;border-radius:8px;padding:6px 12px;font-size:1rem}
.stoper strong{font-size:1.15rem}
.stoper.zatrzymany{background:#e9f6ed;color:#17613a}

/* Obrazy w zadaniach - bez ograniczenia wysokości */
.teksty img {
    max-width: 100%;
    max-height: none !important;
    width: auto;
    height: auto;
    display: block;
    margin: 10px auto;
}
