:root{--bg:#f2f5f9;--card:#fff;--text:#172b46;--muted:#586980;--line:#d6e0ec;--accent:#1557a3;--accent-bg:#eef4fc;--ok:#18834c;--ok-bg:#e7f5eb;--bad:#c74835;--bad-bg:#fff0ee;--warn:#9a6700;--warn-bg:#fff6dc;--sel:#dfeafa}
:root{color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-theme=auto]{color-scheme:dark;--bg:#0f1722;--card:#17212f;--text:#e3e9f2;--muted:#9aabc2;--line:#2b3a4f;--accent:#7fb1ee;--accent-bg:#1c2b40;--ok:#5cc98d;--ok-bg:#16301f;--bad:#f08a78;--bad-bg:#3a1f1b;--warn:#e9bf55;--warn-bg:#3a2f12;--sel:#22395a}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0f1722;--card:#17212f;--text:#e3e9f2;--muted:#9aabc2;--line:#2b3a4f;--accent:#7fb1ee;--accent-bg:#1c2b40;--ok:#5cc98d;--ok-bg:#16301f;--bad:#f08a78;--bad-bg:#3a1f1b;--warn:#e9bf55;--warn-bg:#3a2f12;--sel:#22395a}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:var(--accent)}
main,footer{max-width:1050px;margin:auto;padding:20px 16px}
footer{color:var(--muted);font-size:.85rem}
h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:8px 0 12px}
h2{font-size:1.25rem}
code{background:var(--accent-bg);padding:1px 5px;border-radius:4px}
.ans code,.qtext code{white-space:pre-wrap;overflow-wrap:anywhere}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.muted{color:var(--muted)}
/* Nagłówek jak w panelu TablicaPro (app/widoki/uklad.php, .pub-menu): te same kształty, czcionka IBM Plex Sans, kolory z motywu /testy. */
.pub-menu{background:color-mix(in srgb,var(--card) 92%,transparent);border-bottom:1px solid var(--line);font-family:"IBM Plex Sans",system-ui,sans-serif;position:relative;z-index:30}
.pub-wrap{max-width:1050px;margin:auto;padding:0 16px;display:flex;align-items:center;gap:18px;min-height:64px}
.pub-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--text);text-decoration:none;flex:none}
.pub-logo-znak{width:32px;height:32px;border-radius:9px;background:#1e3a8a;display:grid;place-items:center;flex:none}
.pub-logo-znak svg{width:20px;height:20px}
.pub-okruszki{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;color:var(--muted);overflow:hidden}
.pub-okruszki a,.pub-okruszki .kr{color:var(--muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.pub-okruszki a:hover{color:var(--accent)}
.pub-okruszki .kr-ostatni{color:var(--text);font-weight:600}
.pub-okruszki .sep{opacity:.5;flex:none}
/* Zakładki modułu testów pod nagłówkiem */
.testy-zakladki{background:var(--card);border-bottom:1px solid var(--line);font-family:"IBM Plex Sans",system-ui,sans-serif}
.testy-zakladki .pub-wrap{min-height:0;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.testy-zakladki a{padding:11px 14px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14.5px;white-space:nowrap;border-bottom:2px solid transparent}
.testy-zakladki a:hover{color:var(--accent)}
.testy-zakladki a.on{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}
footer #theme-toggle{margin-left:8px}
.pub-akcje{margin-left:auto;display:flex;gap:8px;align-items:center;flex:none}
.pub-akcje form,.pub-mobilne form{margin:0;display:contents}
.pub-menu .pub-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 15px;border-radius:10px;font:600 14px/1 "IBM Plex Sans",system-ui,sans-serif;
  text-decoration:none;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;white-space:nowrap}
.pub-menu .pub-btn:hover,.pub-menu .pub-btn.on{border-color:var(--accent);color:var(--accent)}
.pub-mobilne{display:none;margin-left:auto;position:relative;flex:none}
.pub-mobilne summary{list-style:none;cursor:pointer;height:40px;width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--text)}
.pub-mobilne summary::-webkit-details-marker{display:none}
.pub-mobilne .panel{position:absolute;right:0;top:48px;width:min(86vw,280px);background:var(--card);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.14);padding:10px;display:flex;flex-direction:column;gap:6px}
.pub-mobilne .panel .pub-btn{width:100%}
@media (max-width:820px){.pub-akcje{display:none}.pub-mobilne{display:block}}
@media (max-width:820px){.pub-okruszki a:not(.kr-ostatni),.pub-okruszki .sep{display:none}}
@media (max-width:480px){.pub-okruszki{display:none}}
.inline{display:inline}
button,.button{font:inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:7px;padding:9px 16px;text-decoration:none;display:inline-block}
@media (prefers-color-scheme:dark){:root[data-theme=auto] :is(button,.button):not(.secondary,.link,.ans,.pub-btn){color:#0f1722}}
:root[data-theme=dark] :is(button,.button):not(.secondary,.link,.ans,.pub-btn){color:#0f1722}
button.secondary,.button.secondary{background:var(--accent-bg);color:var(--accent);border-color:var(--line)}
button.small{padding:4px 10px;font-size:.85rem}
button.link{background:none;border:0;color:var(--accent);padding:0;text-decoration:underline}
button:disabled{opacity:.6;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #347fcf;outline-offset:2px}
.box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}
.box.narrow{max-width:520px;margin:24px auto}
.form{display:grid;gap:14px}
.form label{display:grid;gap:4px;font-weight:600}
.form label.row,.row{display:flex;gap:8px;align-items:center;font-weight:400}
input,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);width:100%}
input[type=checkbox],input[type=radio]{width:auto}
fieldset{border:1px solid var(--line);border-radius:8px;display:grid;gap:6px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px 12px;margin-left:24px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.flash{padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card)}
.flash.ok{background:var(--ok-bg);border-color:var(--ok)}
.flash.bad{background:var(--bad-bg);border-color:var(--bad)}
.flash.warn{background:var(--warn-bg);border-color:var(--warn)}
.bad{color:var(--bad)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px}
.tile:hover{border-color:var(--accent)}
.tile h3{margin:0;font-size:1.05rem}
.tile strong{font-size:1.8rem;color:var(--accent)}
.tile small{color:var(--muted)}
.tile.big .code{font-size:1.6rem;font-weight:800;color:var(--accent)}
.checks{list-style:none;padding:0}.checks .ok{color:var(--ok)}.checks .bad{color:var(--bad)}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.85rem;color:var(--muted)}
.nowrap{white-space:nowrap}
.badge{display:inline-block;font-size:.8rem;padding:2px 8px;border-radius:8px;border:1px solid var(--line)}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.warn{background:var(--warn-bg);color:var(--warn)}
input.copy{width:min(320px,60vw);font-size:.8rem;padding:5px}
.credentials pre{background:var(--accent-bg);padding:12px;border-radius:8px;font-size:1.05rem;white-space:pre-wrap}
.toolbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}
.toolbar input[type=search]{flex:1;min-width:200px}
.toolbar.sticky{position:sticky;top:0;z-index:5}
#timer{font-weight:700;font-variant-numeric:tabular-nums}#timer.late{color:var(--bad)}
#save-state{color:var(--muted);font-size:.9rem}
.toolbar #finish{margin-left:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:14px 0;overflow-wrap:anywhere}
.card h3{margin:0 0 8px;font-size:1rem;color:var(--muted)}
.card img,.card video{max-width:100%!important;height:auto!important;display:block;margin:12px auto}
.card table{max-width:100%!important;width:auto}
.answers{display:grid;gap:8px;margin-top:14px}
.ans{text-align:left;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:11px 14px;display:flex;gap:8px;align-items:flex-start}
.ans>b{flex:none;white-space:nowrap}
.ans>span{min-width:0;overflow-wrap:anywhere}
.ans:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}
.ans:disabled{opacity:1}
.ans.selected{background:var(--sel);border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.ans.good,.ans.should{background:var(--ok-bg);border-color:var(--ok)}
.ans.wrong{background:var(--bad-bg);border-color:var(--bad)}
.feedback{font-weight:650;margin:10px 0 0}
.feedback:empty{display:none}
.sources{font-size:.83rem;color:var(--muted);margin-top:10px}
.score{font-size:1.8rem;font-weight:800}.score.ok{color:var(--ok)}.score.bad{color:var(--bad)}
textarea{font:inherit;font-family:ui-monospace,Consolas,monospace;font-size:.9rem;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);width:100%;resize:vertical}
.answer-edit{display:grid;gap:4px;margin:6px 0}
.answer-edit .key{font-weight:600}
.edit-link{font-size:.85rem;font-weight:400;margin-left:8px}
.card.hidden-q{opacity:.7;border-style:dashed}
[hidden]{display:none!important}
@media(max-width:600px){.card,.box{padding:14px}.toolbar #finish{margin-left:0;width:100%}}
@media print{.pub-menu,.testy-zakladki,.toolbar,footer,.sources{display:none}.card{break-inside:avoid}}
#theme-toggle{white-space:nowrap}
button.danger{color:var(--bad);border-color:var(--bad)}
.button.small{padding:4px 10px;font-size:.85rem}
.qr-view{text-align:center}
#qr{background:#fff;border-radius:12px;padding:8px;margin:12px auto;width:min(82vw,62vh,560px)}
#qr svg{display:block;width:100%;height:auto}
.qr-hint{font-size:1.3rem;font-weight:700}
.qr-url code{font-size:.85rem;word-break:break-all}
:fullscreen .pub-menu,:fullscreen .testy-zakladki,:fullscreen footer,:fullscreen .qr-actions{display:none}
.code{font-family:ui-monospace,Consolas,monospace;letter-spacing:.15em;font-size:1.05rem}
.code-input{font-size:1.4rem;letter-spacing:.3em;max-width:9em}
.qr-code{font-size:clamp(1.4rem,4vw,2.6rem)}.qr-code strong{font-family:ui-monospace,Consolas,monospace;letter-spacing:.2em}
tr.row-alert td{background:var(--bad-bg)}
body.no-copy #quiz{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body.no-copy #quiz img{-webkit-user-drag:none;pointer-events:none}
body.no-copy #quiz video{-webkit-user-drag:none}
@media print{body.no-copy main{display:none}}
ol.incidents{margin:4px 0 0;padding-left:1.4em;font-size:.88rem;max-height:14em;overflow-y:auto}
.inc-leave{color:var(--warn)}.inc-block{color:var(--bad)}.inc-stop{color:var(--bad);font-weight:700}
.one-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.one-nav #next{font-size:1.05rem;padding:11px 22px}
#fs-gate{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:16px}
#fs-gate[hidden]{display:none!important}
.close-test{margin:10px 0}
.stats-tiles .tile strong{font-size:1.6rem}
.bar{display:inline-block;height:10px;min-width:2px;max-width:70%;background:var(--accent);border-radius:3px;vertical-align:middle}
.bar.alt{background:var(--ok)}
table.stats td{white-space:nowrap}
.results-toggle{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:8px 0}
.bar.low{background:var(--bad)}
.saved-classes{display:grid;gap:6px;margin-bottom:12px}
.pins{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0}
.pin-card{border:1px dashed var(--line);padding:12px;display:grid;gap:4px;break-inside:avoid}
.pin-card .pin{font-size:1.2rem}.pin-card .pin b{font-family:ui-monospace,Consolas,monospace;letter-spacing:.2em;font-size:1.5rem}
.pin-url{word-break:break-all;color:var(--muted)}
@media print{.no-print{display:none}.pins{grid-template-columns:repeat(3,1fr)}.pin-card{border-color:#999;color:#000}}
.test-list{display:grid;gap:14px;margin:16px 0}
.test-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;gap:12px}
.test-card.is-off{opacity:.8;background:var(--bg)}
.tc-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;justify-content:space-between}
.tc-head h3{margin:0;font-size:1.15rem}.tc-head p{margin:2px 0 0;font-size:.9rem}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.chips li{background:var(--accent-bg);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.85rem}
.tc-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tc-link input.copy{flex:1;min-width:220px;width:auto;font-size:.85rem}
.tc-foot{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.tc-stats{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.tc-stats strong{font-size:1.2rem}
.tc-results{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
@media(max-width:600px){.tc-actions{margin-left:0}}
.res-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end;justify-content:space-between}
.res-head h1{margin-bottom:4px}.res-head p{margin:0}
.res-actions{display:flex;flex-wrap:wrap;gap:6px}
.res-panel{padding:12px 18px}.res-panel>*{margin:6px 0}
.res-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:14px 0}
.res-tiles .tile strong{font-size:1.7rem}
.grade-dist{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-top:4px}
.grade{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;font-weight:800;color:#fff;background:#6b7a90}
.grade.g1{background:#c74835}.grade.g2{background:#d9822b}.grade.g3{background:#a3870f}.grade.g4{background:#3f8f4f}.grade.g5{background:#18834c}.grade.g6{background:#1557a3}
.res-table td{vertical-align:middle}
.res-score{min-width:170px}
.meter{display:inline-block;width:90px;height:8px;border-radius:4px;background:var(--line);overflow:hidden;vertical-align:middle;margin-right:8px}
.meter>span{display:block;height:100%}.meter .ok{background:var(--ok)}.meter .bad{background:var(--bad)}
button.small-link{font-size:.82rem;margin-left:6px}
.res-table td:nth-child(2),.res-table td:nth-child(3){white-space:nowrap}
#qtimer{font-weight:700;font-variant-numeric:tabular-nums}#qtimer.late{color:var(--bad)}
.inline-num{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center;font-weight:400!important}.inline-num input{width:6em}
/* Edytor własnych pytań (pytania.php) */
.ans-edit{display:flex;align-items:center;gap:8px}
.ans-edit input[type=text],.ans-edit input:not([type]){flex:1;min-width:0}
.own-q{border-top:1px solid var(--line);padding:12px 0}
.own-q:first-of-type{border-top:0}
.own-ans{margin:6px 0 8px;padding-left:28px}
.own-ans li{margin:2px 0}
.own-ans li.ok{font-weight:600}
.own-actions{margin:0;display:flex;gap:6px;flex-wrap:wrap}
/* Edytor testu (test.php), wybór pytań (pula.php) */
details>summary.button{list-style:none;display:inline-block}
details>summary.button::-webkit-details-marker{display:none}
.test-sec{scroll-margin-top:16px}
.sec-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:6px}
.sec-name{display:flex;gap:6px;align-items:center;flex:1;min-width:240px}
.sec-name input{font-size:1.1rem;font-weight:700;flex:1;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text)}
.items{list-style:decimal;padding-left:26px;margin:8px 0}
.item{padding:10px 0;border-top:1px solid var(--line)}
.item:first-child{border-top:0}
.item .qtext p{margin:0 0 4px}
.item-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rand{margin:0 0 6px;line-height:2.2}
.rand form{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}
.num-sm{width:72px}
.add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.add-row details{flex:1 1 100%}
.add-row details:not([open]){flex:0 0 auto}
.add-form{margin-top:10px;max-width:none}
.add-sec{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.add-sec label{flex:1;min-width:220px}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.filter-row label{flex:1;min-width:160px}
.sticky-bar{position:sticky;top:0;z-index:5;background:var(--bg);padding:10px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.pick{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;cursor:pointer}
.pick:hover{border-color:var(--accent)}
.pick.is-in{opacity:.6;cursor:default}
.pick input{margin-top:5px;flex:none}
.pick-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.pick-body .qtext p{margin:0}
.pick .own-ans{display:flex;flex-direction:column;padding:0;margin:0;font-size:.92rem}
.pick .own-ans .ok{font-weight:600;color:var(--ok)}
/* Etap A: oceny, statystyki, ustawienia */
.grade.gtxt{width:auto;min-width:1.9em;border-radius:12px;padding:0 .65em;font-size:.85rem;white-space:nowrap}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 16px}
.instr{background:var(--accent-bg);border-left:3px solid var(--accent);padding:10px 14px;border-radius:0 8px 8px 0;margin:10px 0}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:8px 0}
.inline-form label{display:flex;flex-direction:column;gap:3px;font-size:.9rem}
.scale-box summary{cursor:pointer}
.ranges{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.ranges li{display:flex;align-items:center;gap:6px}
.gbars{display:flex;flex-direction:column;gap:6px}
.gbar{display:grid;grid-template-columns:auto 1fr 2.2em;gap:10px;align-items:center}
.gbar-track{background:var(--line);border-radius:6px;height:14px;overflow:hidden}
.gbar-fill{display:block;height:100%;background:var(--accent);border-radius:6px}
.gbar-n{text-align:right;font-weight:600}
.hist{display:flex;gap:4px;align-items:flex-end;height:150px;padding-top:14px}
.hist-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.hist-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px;display:block;opacity:.85}
.hist-n{font-size:.78rem;color:var(--muted);height:1.1em}
.hist-x{font-size:.75rem;color:var(--muted);margin-top:3px}
.q-an{border-top:1px solid var(--line);padding:2px 0}
.q-an summary{display:grid;grid-template-columns:1fr 7.5em 5em;gap:10px;align-items:center;cursor:pointer;padding:8px 0;list-style:none}
.q-an summary::-webkit-details-marker{display:none}
.q-an.flagged summary{background:var(--warn-bg);border-radius:8px;padding:8px}
.q-an-num{text-align:right;white-space:nowrap}
.q-an-body{padding:6px 0 12px}
.dist{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}
.dist li{display:grid;grid-template-columns:minmax(0,1fr) 38% 6em;gap:10px;align-items:center}
.dist li.is-key .dist-txt{font-weight:600;color:var(--ok)}
.dist-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dist-bar{background:var(--line);border-radius:6px;height:10px;overflow:hidden}
.dist-bar span{display:block;height:100%;background:var(--accent);border-radius:6px}
.dist li.is-key .dist-bar span{background:var(--ok)}
.dist-n{text-align:right;white-space:nowrap}
.dz-grid{display:flex;flex-wrap:wrap;gap:16px}
.dz-col{display:flex;flex-direction:column;gap:6px;min-width:150px}
.dz-col h3{margin:0}
.dz-col textarea{width:9em;font-family:ui-monospace,Consolas,monospace;resize:vertical}
.scale-edit td,.scale-edit th{padding:4px 8px;text-align:left}
.scale-edit input[type=text],.scale-edit input:not([type]){width:100%}
@media(max-width:600px){.q-an summary{grid-template-columns:1fr auto auto;gap:6px;font-size:.92rem}.q-an-num small{display:none}.dist li{grid-template-columns:1fr 5em}.dist-bar{display:none}}
@media print{.no-print{display:none !important}.q-an{break-inside:avoid}.q-an:not([open]) .q-an-body{display:none}}
@media(max-width:600px){.res-tiles{grid-template-columns:1fr 1fr !important;gap:10px}.res-tiles .tile{padding:10px 12px}.res-tiles .tile strong{font-size:1.4rem}.res-tiles .tile h3{font-size:.85rem}.res-tiles .tile small{font-size:.78rem}}

/* Kafelki testów odpowiadają układowi kart kursów. */
.course-test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;margin:20px 0}
.course-test-tile{gap:14px;padding:20px;min-width:0;transition:border-color .15s,transform .15s}
.course-test-tile:hover{transform:translateY(-2px)}
.course-test-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.course-test-head{display:flex;gap:14px;align-items:flex-start}
.course-test-head>div{min-width:0}
.course-test-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;color:#fff}
.course-test-icon svg{width:24px;height:24px}
.course-test-tile h3{font-size:1.1rem;line-height:1.35;margin:6px 0 0}
.course-test-tile .badge{align-self:flex-start}
.course-test-action{color:var(--accent);font-weight:600;margin-top:auto}

.course-test-button{width:100%;height:100%;text-align:left;font:inherit;cursor:pointer}
.course-test-button:hover{background:var(--card);color:inherit}
.course-test-title{font-weight:700;font-size:1.1rem;line-height:1.35}
.test-card:target{outline:2px solid var(--accent);outline-offset:4px}
#dzialy,.test-card{scroll-margin-top:24px}

/* Kompaktowa oferta: wspólne wiersze wyrównują treść, ceny i przyciski. */
.shop-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));column-gap:12px;row-gap:10px}
.shop-grid .tile{padding:16px;gap:10px}
.shop-grid h3{font-size:1rem;line-height:1.3;margin:0}
.shop-grid p{margin:0;font-size:.85rem;line-height:1.4}
.shop-grid small{font-size:.78rem;line-height:1.4}
.shop-grid .badge{font-size:.75rem;padding:3px 8px;justify-self:start;align-self:start}
.shop-grid .tile>strong{font-size:1.4rem;line-height:1.25}
.shop-grid .button{width:100%;text-align:center;padding:8px 12px;font-size:.9rem;line-height:1.4;align-self:end}
.shop-pack{display:grid;grid-template-rows:auto auto 1fr auto auto auto auto}
@supports(grid-template-rows:subgrid){.shop-pack{grid-row:span 7;grid-template-rows:subgrid}}
.shop-course .course-test-head{min-height:90px}
.shop-course .button{margin-top:auto}
@media(max-width:600px){.shop-course .course-test-head{min-height:0}.shop-grid .tile{padding:14px}}
