.zsl-matura {
  --zslm-navy: #082B49;
  --zslm-navy-dark: #061E34;
  --zslm-teal: #147B89;
  --zslm-teal-light: #3C9EAC;
  --zslm-course-accent: #F0B400;
  --zslm-white: #FFFFFF;
  --zslm-gray: #F5F5F5;
  --zslm-border: #DCE4EA;
  --zslm-text: #17324A;
  --zslm-muted: #5E7181;
  --zslm-success: #1E6B4F;
  --zslm-success-bg: #EFF8F3;
  --zslm-error: #9E3B34;
  --zslm-error-bg: #FFF4F2;
  display: block;
  position: relative;
  min-width: 0;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  color: var(--zslm-text);
  font: inherit;
  box-sizing: border-box;
}
.zsl-matura *, .zsl-matura *::before, .zsl-matura *::after { box-sizing: border-box; }
.zsl-matura [hidden] { display:none!important; }
.zsl-matura button, .zsl-matura input, .zsl-matura select, .zsl-matura textarea { font: inherit; }
.zsl-matura .zslm-visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.zsl-matura .zslm-course-head {
  border-top: 4px solid var(--zslm-course-accent);
  background: var(--zslm-navy);
  color: var(--zslm-white);
  border-radius: 16px;
  padding: clamp(22px, 4vw, 42px);
}
.zsl-matura .zslm-course-kicker,
.zsl-matura .zslm-eyebrow { display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.zsl-matura .zslm-course-kicker { color:#D8E7EC;margin-bottom:10px; }
.zsl-matura .zslm-head-grid { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end; }
.zsl-matura .zslm-title { margin:0;color:var(--zslm-white);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15; }
.zsl-matura .zslm-lead { margin:12px 0 0;color:#E7F0F3;max-width:760px;font-size:1rem;line-height:1.6; }
.zsl-matura .zslm-status { display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.9rem; }
.zsl-matura .zslm-status-dot { width:9px;height:9px;border-radius:50%;background:var(--zslm-course-accent);flex:0 0 auto; }
.zsl-matura .zslm-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--zslm-border);border-radius:14px;background:var(--zslm-border); }
.zsl-matura .zslm-summary > div { background:var(--zslm-white);padding:16px 18px; }
.zsl-matura .zslm-summary-label { display:block;color:var(--zslm-muted);font-size:.78rem;margin-bottom:5px; }
.zsl-matura .zslm-summary strong { color:var(--zslm-navy); }
.zsl-matura .zslm-app-toolbar { display:flex;align-items:center;gap:16px;margin:18px 0 4px;min-height:44px; }
.zsl-matura .zslm-back-button,.zsl-matura .zslm-text-button { appearance:none;border:0;background:transparent;color:var(--zslm-teal);font-weight:800;padding:10px 0;cursor:pointer;min-height:44px; }
.zsl-matura .zslm-current-location { color:var(--zslm-muted);font-size:.9rem; }
.zsl-matura .zslm-section-head { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:end;margin:34px 0 18px; }
.zsl-matura .zslm-eyebrow { color:var(--zslm-teal);margin-bottom:6px; }
.zsl-matura .zslm-section-head h3,.zsl-matura .zslm-module-hero h3,.zsl-matura .zslm-atlas-node h3 { margin:0;color:var(--zslm-navy);font-size:clamp(1.35rem,2.5vw,1.8rem); }
.zsl-matura .zslm-section-head p,.zsl-matura .zslm-module-hero p { margin:0;color:var(--zslm-muted);line-height:1.6; }
.zsl-matura .zslm-dashboard-strip,.zsl-matura .zslm-module-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px; }
.zsl-matura .zslm-module-stats { grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0; }
.zsl-matura .zslm-metric { background:var(--zslm-gray);border:1px solid var(--zslm-border);border-radius:12px;padding:14px 16px;min-width:0; }
.zsl-matura .zslm-metric-label { display:block;color:var(--zslm-muted);font-size:.78rem;margin-bottom:5px; }
.zsl-matura .zslm-metric-value { display:block;color:var(--zslm-navy);font-size:1.15rem;overflow-wrap:anywhere; }
.zsl-matura .zslm-module-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.zsl-matura .zslm-module-card { min-width:0;background:var(--zslm-white);border:1px solid var(--zslm-border);border-radius:14px;padding:20px;position:relative;overflow:hidden; }
.zsl-matura .zslm-module-card::before { content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--zslm-teal); }
.zsl-matura .zslm-module-card--button { display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'order title arrow' '. desc arrow' '. meta arrow';column-gap:14px;row-gap:6px;width:100%;text-align:left;cursor:pointer;color:inherit;transition:border-color .18s ease,transform .18s ease,background .18s ease;min-height:154px; }
.zsl-matura .zslm-module-card--button:hover { border-color:var(--zslm-teal-light);background:#FCFEFE;transform:translateY(-1px); }
.zsl-matura .zslm-module-order { grid-area:order;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#F8EEC9;color:var(--zslm-navy-dark);font-weight:800;font-size:.8rem; }
.zsl-matura .zslm-module-title { grid-area:title;color:var(--zslm-navy);font-size:1.05rem;font-weight:800;align-self:center; }
.zsl-matura .zslm-module-desc { grid-area:desc;color:var(--zslm-muted);line-height:1.55;font-size:.94rem; }
.zsl-matura .zslm-module-meta { grid-area:meta;font-size:.76rem;font-weight:700;color:var(--zslm-teal);margin-top:4px; }
.zsl-matura .zslm-module-arrow { grid-area:arrow;align-self:center;color:var(--zslm-teal);font-size:1.3rem;font-weight:800; }
.zsl-matura .zslm-login-note,.zsl-matura .zslm-action-panel { display:flex;align-items:center;justify-content:space-between;gap:20px;background:#F8FBFC;border:1px solid var(--zslm-border);border-radius:14px;padding:18px 20px;margin:0 0 18px; }
.zsl-matura .zslm-login-note p,.zsl-matura .zslm-action-panel p { margin:5px 0 0;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-action-panel h4 { margin:0;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;border:1px solid var(--zslm-navy);border-radius:10px;background:var(--zslm-navy);color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer;white-space:nowrap; }
.zsl-matura .zslm-button:hover { background:var(--zslm-navy-dark); }
.zsl-matura .zslm-button--secondary { background:#fff;color:var(--zslm-navy)!important;border-color:var(--zslm-border); }
.zsl-matura .zslm-button--secondary:hover { border-color:var(--zslm-teal);background:#F8FBFC; }
.zsl-matura .zslm-button:disabled,.zsl-matura .zslm-mini-button:disabled { opacity:.45;cursor:not-allowed; }
.zsl-matura .zslm-module-hero { padding:22px 0 4px;border-bottom:1px solid var(--zslm-border); }
.zsl-matura .zslm-module-hero p { margin-top:10px;max-width:820px; }
.zsl-matura .zslm-exercise-view { max-width:900px;margin:22px auto 0; }
.zsl-matura .zslm-exercise-top { display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px; }
.zsl-matura .zslm-exercise-difficulty { color:var(--zslm-muted);font-size:.82rem;text-transform:capitalize; }
.zsl-matura .zslm-question { color:var(--zslm-navy);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45;margin:16px 0; }
.zsl-matura .zslm-stimulus { background:var(--zslm-gray);border-left:4px solid var(--zslm-teal);border-radius:10px;padding:16px 18px;margin:12px 0; }
.zsl-matura .zslm-stimulus h4 { margin:0 0 8px;color:var(--zslm-navy); }
.zsl-matura .zslm-stimulus p { margin:0;line-height:1.65;white-space:pre-line; }
.zsl-matura .zslm-choice-list { border:0;padding:0;margin:0;display:grid;gap:10px; }
.zsl-matura .zslm-choice { display:flex;align-items:flex-start;gap:12px;border:1px solid var(--zslm-border);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fff;min-height:50px; }
.zsl-matura .zslm-choice:has(input:checked) { border-color:var(--zslm-teal);background:#F2FAFB; }
.zsl-matura .zslm-choice input { margin-top:3px;width:18px;height:18px;accent-color:var(--zslm-teal);flex:0 0 auto; }
.zsl-matura .zslm-confidence { margin:18px 0 12px; }
.zsl-matura .zslm-confidence label { display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--zslm-muted);font-size:.9rem; }
.zsl-matura .zslm-select { min-height:44px;border:1px solid var(--zslm-border);border-radius:8px;background:#fff;padding:8px 34px 8px 10px;color:var(--zslm-text);font-size:16px; }
.zsl-matura .zslm-order-list { display:grid;gap:8px;padding-left:28px; }
.zsl-matura .zslm-order-item { border:1px solid var(--zslm-border);border-radius:10px;padding:10px 12px;background:#fff; }
.zsl-matura .zslm-order-item::marker { font-weight:800;color:var(--zslm-teal); }
.zsl-matura .zslm-order-item { display:list-item; }
.zsl-matura .zslm-order-controls { float:right;display:inline-flex;gap:5px;margin-left:12px; }
.zsl-matura .zslm-mini-button { width:36px;height:36px;border:1px solid var(--zslm-border);background:#fff;color:var(--zslm-navy);border-radius:7px;cursor:pointer;font-weight:800; }
.zsl-matura .zslm-feedback { margin-top:18px;padding:16px 18px;border-radius:12px;border:1px solid var(--zslm-border); }
.zsl-matura .zslm-feedback p { margin:6px 0 0;line-height:1.55; }
.zsl-matura .zslm-feedback .zslm-button { margin-top:14px; }
.zsl-matura .zslm-feedback--correct { border-color:#B7DDC9;background:var(--zslm-success-bg); }
.zsl-matura .zslm-feedback--correct strong { color:var(--zslm-success); }
.zsl-matura .zslm-feedback--incorrect { border-color:#E9C2BD;background:var(--zslm-error-bg); }
.zsl-matura .zslm-feedback--incorrect strong { color:var(--zslm-error); }
.zsl-matura .zslm-feedback-learning { color:var(--zslm-muted);font-size:.9rem; }
.zsl-matura .zslm-atlas-tabs { display:flex;flex-wrap:wrap;gap:8px;margin:20px 0; }
.zsl-matura .zslm-tab { min-height:44px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);padding:9px 14px;font-weight:800;cursor:pointer; }
.zsl-matura .zslm-tab[aria-pressed="true"] { background:var(--zslm-navy);color:#fff;border-color:var(--zslm-navy); }
.zsl-matura .zslm-atlas-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-atlas-card { min-height:62px;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;color:var(--zslm-navy);font-weight:750;text-align:left;padding:13px 14px;cursor:pointer; }
.zsl-matura .zslm-atlas-card:hover { border-color:var(--zslm-teal);background:#F9FCFC; }
.zsl-matura .zslm-atlas-node { max-width:1000px;margin:18px auto 0; }
.zsl-matura .zslm-atlas-lead { color:var(--zslm-muted);line-height:1.7;font-size:1rem;max-width:860px; }
.zsl-matura .zslm-subheading { margin:26px 0 10px;color:var(--zslm-navy); }
.zsl-matura .zslm-relation-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-relation-card { display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;padding:12px 14px;cursor:pointer;color:var(--zslm-text); }
.zsl-matura .zslm-relation-card strong { color:var(--zslm-navy); }
.zsl-matura .zslm-relation-card span { color:var(--zslm-muted);font-size:.78rem; }
.zsl-matura .zslm-status-chip { display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:7px 11px;background:#F8EEC9;color:var(--zslm-navy-dark);font-weight:800;font-size:.8rem; }
.zsl-matura .zslm-fact-row { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0; }
.zsl-matura .zslm-skeleton { min-height:128px;border-radius:14px;background:linear-gradient(90deg,#f4f6f7,#e9eef1,#f4f6f7);background-size:200% 100%;animation:zslm-loading 1.2s linear infinite; }
.zsl-matura .zslm-message { margin:16px 0 0;padding:14px 16px;border-radius:12px;background:var(--zslm-gray);color:var(--zslm-text);border-left:4px solid var(--zslm-course-accent); }
.zsl-matura .zslm-message--error { border-left-color:var(--zslm-error);background:var(--zslm-error-bg); }
.zsl-matura .zslm-muted { color:var(--zslm-muted);font-size:.9rem; }
.zsl-matura :focus-visible { outline:3px solid var(--zslm-course-accent);outline-offset:3px; }
@keyframes zslm-loading { to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .zsl-matura .zslm-skeleton { animation:none; } .zsl-matura .zslm-module-card--button { transition:none; } }
@media (max-width:900px) { .zsl-matura .zslm-dashboard-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } .zsl-matura .zslm-atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  .zsl-matura .zslm-head-grid,.zsl-matura .zslm-section-head { grid-template-columns:1fr; }
  .zsl-matura .zslm-status { justify-self:start; }
  .zsl-matura .zslm-summary,.zsl-matura .zslm-dashboard-strip,.zsl-matura .zslm-module-stats { grid-template-columns:1fr; }
  .zsl-matura .zslm-module-grid,.zsl-matura .zslm-atlas-grid,.zsl-matura .zslm-relation-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-login-note,.zsl-matura .zslm-action-panel { align-items:flex-start;flex-direction:column; }
  .zsl-matura .zslm-button { width:100%;white-space:normal; }
  .zsl-matura .zslm-module-card--button { min-height:0; }
  .zsl-matura .zslm-app-toolbar { align-items:flex-start;flex-direction:column;gap:0; }
}

/* Atlas wiedzy v0.3 */
.zsl-matura .zslm-atlas-intro { margin:18px 0 0;padding:16px 18px;border-left:4px solid var(--zslm-course-accent);border-radius:10px;background:#FFFDF6; }
.zsl-matura .zslm-atlas-intro strong { color:var(--zslm-navy); }
.zsl-matura .zslm-atlas-intro p { margin:5px 0 0;color:var(--zslm-muted);line-height:1.6; }
.zsl-matura .zslm-atlas-controls { margin:18px 0; }
.zsl-matura .zslm-atlas-search-label { display:block;max-width:620px;margin-bottom:12px; }
.zsl-matura .zslm-atlas-search { width:100%;min-height:48px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;padding:10px 14px;color:var(--zslm-text);font-size:16px; }
.zsl-matura .zslm-atlas-search:focus { border-color:var(--zslm-teal); }
.zsl-matura .zslm-atlas-card { display:flex;flex-direction:column;justify-content:center;gap:4px; }
.zsl-matura .zslm-atlas-card-title { color:var(--zslm-navy);font-size:.98rem; }
.zsl-matura .zslm-atlas-card-secondary { color:var(--zslm-muted);font-size:.78rem;font-weight:600; }
.zsl-matura .zslm-atlas-more { margin:18px auto 0;width:auto; }
.zsl-matura .zslm-work-facts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0; }
.zsl-matura .zslm-work-fact { min-width:0;border:1px solid var(--zslm-border);border-radius:10px;background:#F8FBFC;padding:12px 14px; }
.zsl-matura .zslm-work-fact span { display:block;color:var(--zslm-muted);font-size:.75rem;margin-bottom:4px; }
.zsl-matura .zslm-work-fact strong { display:block;color:var(--zslm-navy);font-size:.92rem;overflow-wrap:anywhere; }
.zsl-matura .zslm-chip-grid { display:flex;flex-wrap:wrap;gap:8px; }
.zsl-matura .zslm-chip-button,.zsl-matura .zslm-chip-static { display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);padding:8px 12px;font-weight:750;text-align:left; }
.zsl-matura button.zslm-chip-button { cursor:pointer; }
.zsl-matura button.zslm-chip-button:hover { border-color:var(--zslm-teal);background:#F5FBFC; }
.zsl-matura .zslm-detail-list { margin:8px 0 0;padding-left:22px;color:var(--zslm-text); }
.zsl-matura .zslm-detail-list li { margin:7px 0;line-height:1.55; }
.zsl-matura .zslm-timeline { list-style:none;counter-reset:zslm-step;margin:10px 0 0;padding:0;display:grid;gap:10px; }
.zsl-matura .zslm-timeline li { counter-increment:zslm-step;position:relative;padding:14px 16px 14px 52px;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;line-height:1.55; }
.zsl-matura .zslm-timeline li::before { content:counter(zslm-step);position:absolute;left:14px;top:12px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#F8EEC9;color:var(--zslm-navy-dark);font-weight:800;font-size:.75rem; }
.zsl-matura .zslm-oral-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-oral-card { border:1px solid var(--zslm-border);border-radius:10px;padding:13px 14px;background:#F8FBFC; }
.zsl-matura .zslm-oral-no { display:block;color:var(--zslm-teal);font-size:.75rem;font-weight:800;margin-bottom:4px; }
.zsl-matura .zslm-oral-card strong { color:var(--zslm-navy);line-height:1.4; }
.zsl-matura .zslm-example-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-example-card { display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;padding:14px 15px;color:var(--zslm-text); }
.zsl-matura button.zslm-example-card { cursor:pointer; }
.zsl-matura button.zslm-example-card:hover { border-color:var(--zslm-teal);background:#FAFDFD; }
.zsl-matura .zslm-example-card strong { color:var(--zslm-navy);font-size:1rem; }
.zsl-matura .zslm-example-card p { margin:0;color:var(--zslm-muted);line-height:1.5; }
.zsl-matura .zslm-example-author { color:var(--zslm-teal);font-size:.78rem;font-weight:700; }
.zsl-matura .zslm-example-scene { margin-top:5px;padding-top:8px;border-top:1px dashed var(--zslm-border); }
.zsl-matura .zslm-example-scene > span { display:block;color:var(--zslm-teal);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px; }
.zsl-matura .zslm-sources { margin-top:28px;border-top:1px solid var(--zslm-border);padding-top:12px;color:var(--zslm-muted); }
.zsl-matura .zslm-sources summary { cursor:pointer;color:var(--zslm-teal);font-weight:800;min-height:44px;display:flex;align-items:center; }
@media (max-width:900px) { .zsl-matura .zslm-work-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .zsl-matura .zslm-work-facts,.zsl-matura .zslm-oral-grid,.zsl-matura .zslm-example-grid { grid-template-columns:1fr; } .zsl-matura .zslm-atlas-more { width:100%; } }

/* Deep Knowledge Atlas + UX v0.4 */
.zsl-matura {
  --zslm-humanities-warm:#FFF9E8;
  --zslm-humanities-line:#E8D8A3;
  --zslm-soft-teal:#EEF8F9;
  --zslm-soft-navy:#F3F7FA;
  --zslm-panel:#FFFFFF;
}
.zsl-matura .zslm-atlas-node { max-width:1080px; }
.zsl-matura .zslm-detail-top { margin-bottom:12px; }
.zsl-matura .zslm-detail-title { margin:7px 0 0;max-width:880px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12;letter-spacing:-.02em;color:var(--zslm-navy); }
.zsl-matura .zslm-atlas-lead { margin:14px 0 18px;max-width:900px;font-size:1.02rem;line-height:1.75;color:#496173; }
.zsl-matura .zslm-atlas-grid--work { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.zsl-matura .zslm-atlas-grid--character { grid-template-columns:repeat(3,minmax(0,1fr)); }
.zsl-matura .zslm-atlas-card { position:relative;min-height:70px;padding:14px 44px 14px 15px;transition:border-color .16s ease,background-color .16s ease,transform .16s ease;overflow:hidden; }
.zsl-matura .zslm-atlas-card-title { overflow-wrap:anywhere;line-height:1.35; }
.zsl-matura .zslm-atlas-card-arrow { position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--zslm-teal);font-size:1.1rem; }
@media (hover:hover) and (pointer:fine) {
  .zsl-matura .zslm-atlas-card:hover { transform:translateY(-1px); }
}
.zsl-matura .zslm-atlas-tabs { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px;-webkit-overflow-scrolling:touch; }
.zsl-matura .zslm-tab { flex:0 0 auto; }
.zsl-matura .zslm-local-nav { display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 24px;padding:10px;border:1px solid var(--zslm-border);border-radius:13px;background:#F8FBFC; }
.zsl-matura .zslm-local-nav-link { min-height:40px;border:0;border-radius:9px;background:transparent;padding:7px 10px;color:var(--zslm-teal);font-weight:800;cursor:pointer; }
.zsl-matura .zslm-local-nav-link:hover { background:#fff;color:var(--zslm-navy); }
.zsl-matura .zslm-content-section,.zsl-matura .zslm-knowledge-panel { scroll-margin-top:120px;margin:26px 0 0;padding:22px;border:1px solid var(--zslm-border);border-radius:15px;background:var(--zslm-panel); }
.zsl-matura .zslm-knowledge-panel > .zslm-subheading,.zsl-matura .zslm-content-section > .zslm-subheading { margin:2px 0 10px;font-size:1.22rem; }
.zsl-matura .zslm-panel-eyebrow { display:block;margin-bottom:5px;color:var(--zslm-teal);font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase; }
.zsl-matura .zslm-section-intro { margin:0 0 16px;max-width:820px;color:var(--zslm-muted);line-height:1.65; }
.zsl-matura .zslm-inner-heading { margin:22px 0 10px;color:var(--zslm-navy);font-size:1rem; }
.zsl-matura .zslm-quick-recall { scroll-margin-top:120px;margin:22px 0 0;padding:20px 22px;border:1px solid var(--zslm-humanities-line);border-left:5px solid var(--zslm-course-accent);border-radius:15px;background:linear-gradient(135deg,var(--zslm-humanities-warm),#fff 76%); }
.zsl-matura .zslm-quick-recall-head { display:flex;align-items:flex-start;gap:13px; }
.zsl-matura .zslm-quick-recall-head h4 { margin:0;color:var(--zslm-navy);font-size:1.17rem; }
.zsl-matura .zslm-quick-recall-head p { margin:3px 0 0;color:var(--zslm-muted); }
.zsl-matura .zslm-quick-badge { flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:34px;border-radius:999px;background:var(--zslm-course-accent);color:var(--zslm-navy-dark);font-size:.76rem;font-weight:900; }
.zsl-matura .zslm-quick-recall-text { margin:15px 0 0;line-height:1.65;color:var(--zslm-text); }
.zsl-matura .zslm-check-list { list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px; }
.zsl-matura .zslm-check-list li { position:relative;padding-left:24px;line-height:1.5;color:var(--zslm-text); }
.zsl-matura .zslm-check-list li::before { content:'✓';position:absolute;left:0;top:0;color:var(--zslm-teal);font-weight:900; }
.zsl-matura .zslm-scene-stack { display:grid;gap:12px; }
.zsl-matura .zslm-scene-card { overflow:hidden;border:1px solid var(--zslm-border);border-radius:13px;background:#fff; }
.zsl-matura .zslm-scene-top { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 16px;background:var(--zslm-soft-navy); }
.zsl-matura .zslm-scene-top h5 { margin:0;color:var(--zslm-navy);font-size:1rem;line-height:1.45; }
.zsl-matura .zslm-scene-no { display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--zslm-teal);font-size:.77rem;font-weight:900;border:1px solid var(--zslm-border); }
.zsl-matura .zslm-scene-body { display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--zslm-border); }
.zsl-matura .zslm-scene-note { padding:14px 16px;min-width:0; }
.zsl-matura .zslm-scene-note + .zslm-scene-note { border-left:1px solid var(--zslm-border); }
.zsl-matura .zslm-scene-note strong { display:block;margin-bottom:5px;color:var(--zslm-navy);font-size:.83rem; }
.zsl-matura .zslm-scene-note p { margin:0;color:var(--zslm-muted);line-height:1.55;font-size:.91rem; }
.zsl-matura .zslm-scene-note--exam { background:#FFFDF7; }
.zsl-matura .zslm-problem-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-problem-card { min-width:0;width:100%;text-align:left;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;padding:15px;color:var(--zslm-text); }
.zsl-matura button.zslm-problem-card { cursor:pointer; }
.zsl-matura button.zslm-problem-card:hover { border-color:var(--zslm-teal);background:#FAFDFD; }
.zsl-matura .zslm-problem-card strong { display:block;color:var(--zslm-navy);font-size:1rem; }
.zsl-matura .zslm-problem-card p { margin:6px 0 0;color:var(--zslm-muted);line-height:1.55;font-size:.9rem; }
.zsl-matura .zslm-problem-evidence { display:block;margin-top:10px;padding-top:9px;border-top:1px dashed var(--zslm-border);color:var(--zslm-teal);font-size:.8rem;line-height:1.45; }
.zsl-matura .zslm-guided-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-guided-card { width:100%;min-width:0;text-align:left;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;padding:13px 14px;color:var(--zslm-text); }
.zsl-matura button.zslm-guided-card { cursor:pointer; }
.zsl-matura button.zslm-guided-card:hover { border-color:var(--zslm-teal);background:var(--zslm-soft-teal); }
.zsl-matura .zslm-guided-card strong { display:block;color:var(--zslm-navy);line-height:1.4; }
.zsl-matura .zslm-guided-card p { margin:6px 0 0;color:var(--zslm-muted);font-size:.88rem;line-height:1.5; }
.zsl-matura .zslm-exam-paths { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.zsl-matura .zslm-exam-path { border:1px solid var(--zslm-humanities-line);border-radius:13px;background:#FFFDF7;padding:16px; }
.zsl-matura .zslm-exam-path-label { color:var(--zslm-teal);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em; }
.zsl-matura .zslm-exam-path h5 { margin:4px 0 12px;color:var(--zslm-navy);font-size:1rem; }
.zsl-matura .zslm-exam-steps { margin:0;padding-left:22px;color:var(--zslm-text); }
.zsl-matura .zslm-exam-steps li { margin:7px 0;line-height:1.5; }
.zsl-matura .zslm-warning-box { margin-top:18px;padding:15px 16px;border-left:4px solid #B85D4A;border-radius:10px;background:#FFF7F5; }
.zsl-matura .zslm-warning-box > strong { color:#7A3127; }
.zsl-matura .zslm-question-list { margin:0;padding-left:24px; }
.zsl-matura .zslm-question-list li { margin:10px 0;line-height:1.55;padding-left:4px; }
.zsl-matura .zslm-compare-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.zsl-matura .zslm-compare-card { width:100%;text-align:left;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;padding:14px;color:var(--zslm-text);cursor:pointer; }
.zsl-matura .zslm-compare-card strong { color:var(--zslm-navy); }
.zsl-matura .zslm-compare-card p { margin:6px 0 0;color:var(--zslm-muted);line-height:1.5; }
.zsl-matura .zslm-compare-prompt { margin:12px 0 0;padding:12px 14px;border-radius:10px;background:var(--zslm-soft-teal);color:var(--zslm-text);line-height:1.55; }
.zsl-matura .zslm-example-tip { margin-top:8px!important;padding-top:8px;border-top:1px dashed var(--zslm-border);font-size:.82rem!important;color:var(--zslm-teal)!important; }
.zsl-matura .zslm-more-links { margin-top:26px;border-top:1px solid var(--zslm-border);padding-top:12px; }
.zsl-matura .zslm-more-links summary { display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--zslm-teal);font-weight:850; }
.zsl-matura .zslm-more-links .zslm-relation-grid { margin-top:10px; }
.zsl-matura .zslm-sources { margin-top:22px; }

@media (max-width:900px) {
  .zsl-matura .zslm-atlas-grid--work,.zsl-matura .zslm-problem-grid,.zsl-matura .zslm-guided-grid,.zsl-matura .zslm-exam-paths { grid-template-columns:1fr; }
  .zsl-matura .zslm-check-list { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .zsl-matura .zslm-content-section,.zsl-matura .zslm-knowledge-panel { padding:17px 15px;margin-top:18px; }
  .zsl-matura .zslm-quick-recall { padding:17px 15px; }
  .zsl-matura .zslm-local-nav { flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch; }
  .zsl-matura .zslm-local-nav-link { flex:0 0 auto; }
  .zsl-matura .zslm-scene-body { grid-template-columns:1fr; }
  .zsl-matura .zslm-scene-note + .zslm-scene-note { border-left:0;border-top:1px solid var(--zslm-border); }
  .zsl-matura .zslm-compare-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-atlas-grid--character { grid-template-columns:1fr; }
}

/* Anonymous learner profile + Atlas taxonomy v0.5 */
.zsl-matura .zslm-anon-onboarding,
.zsl-matura .zslm-profile-bar {
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:18px 0;padding:18px 20px;border:1px solid var(--zslm-border);border-radius:15px;
  background:linear-gradient(135deg,#F6FBFC 0%,#fff 72%);
}
.zsl-matura .zslm-anon-onboarding > div:first-child { min-width:0;max-width:720px; }
.zsl-matura .zslm-anon-onboarding strong { display:block;margin:4px 0 5px;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-anon-onboarding p { margin:0;color:var(--zslm-muted);line-height:1.6; }
.zsl-matura .zslm-profile-bar > div { display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap; }
.zsl-matura .zslm-profile-status-dot { width:10px;height:10px;border-radius:50%;background:var(--zslm-teal);box-shadow:0 0 0 4px rgba(20,123,137,.11); }
.zsl-matura .zslm-profile-id { color:var(--zslm-muted);font-size:.82rem;font-weight:700; }
.zsl-matura .zslm-profile-actions { display:flex;align-items:center;justify-content:flex-start;gap:9px;flex-wrap:wrap; }
.zsl-matura dialog.zslm-profile-dialog { width:min(720px,calc(100% - 28px));max-height:min(86vh,760px);padding:0;border:0;border-radius:18px;background:#fff;color:var(--zslm-text);box-shadow:0 24px 80px rgba(6,30,52,.28);overflow:auto; }
.zsl-matura dialog.zslm-profile-dialog::backdrop { background:rgba(6,30,52,.64); }
.zsl-matura .zslm-profile-dialog-card { position:relative;padding:28px; }
.zsl-matura .zslm-profile-dialog-close { position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#F2F6F8;color:var(--zslm-navy);font-size:1.55rem;line-height:1;cursor:pointer; }
.zsl-matura .zslm-profile-title { margin:6px 48px 8px 0;color:var(--zslm-navy);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2; }
.zsl-matura .zslm-profile-lead { margin:0 0 18px;max-width:620px;color:var(--zslm-muted);line-height:1.65; }
.zsl-matura .zslm-profile-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0 0 20px;padding:0;list-style:none; }
.zsl-matura .zslm-profile-facts li { position:relative;padding-left:24px;color:var(--zslm-text); }
.zsl-matura .zslm-profile-facts li::before { content:'✓';position:absolute;left:0;color:var(--zslm-teal);font-weight:900; }
.zsl-matura .zslm-recovery-code { display:block;margin:16px 0;padding:17px;border:1px solid var(--zslm-humanities-line);border-radius:12px;background:#FFFDF7;color:var(--zslm-navy);font-size:.92rem;font-weight:800;line-height:1.65;overflow-wrap:anywhere;word-break:break-word;user-select:all; }
.zsl-matura .zslm-profile-warning { margin:14px 0 18px;padding:13px 15px;border-left:4px solid var(--zslm-course-accent);border-radius:10px;background:var(--zslm-humanities-warm); }
.zsl-matura .zslm-profile-warning strong { color:var(--zslm-navy); }
.zsl-matura .zslm-profile-warning p { margin:4px 0 0;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-profile-form { display:grid;gap:14px; }
.zsl-matura .zslm-profile-label { display:grid;gap:7px;color:var(--zslm-navy);font-weight:800; }
.zsl-matura .zslm-profile-input { width:100%;min-height:92px;resize:vertical;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;padding:12px 13px;color:var(--zslm-text);font:inherit;font-size:16px;line-height:1.5;box-sizing:border-box; }
.zsl-matura .zslm-profile-input:focus { outline:3px solid rgba(20,123,137,.18);border-color:var(--zslm-teal); }
.zsl-matura .zslm-profile-error { margin:12px 0 0;padding:11px 13px;border-radius:9px;background:#FFF2F0;color:#7A3127;font-weight:700; }
.zsl-matura .zslm-profile-small { margin:16px 0 0;color:var(--zslm-muted);font-size:.85rem;line-height:1.55; }
.zsl-matura .zslm-button--danger { background:#fff;color:#8A342A;border-color:#D9A098; }
.zsl-matura .zslm-button--danger:hover { background:#FFF5F3;border-color:#B85D4A; }

/* Prevent long educational labels from escaping cards. */
.zsl-matura .zslm-atlas-grid { grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
.zsl-matura .zslm-atlas-grid--work { grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr)); }
.zsl-matura .zslm-atlas-grid--character { grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr)); }
.zsl-matura .zslm-atlas-card { min-width:0;height:auto;min-height:72px; }
.zsl-matura .zslm-atlas-card-title,.zsl-matura .zslm-atlas-card-secondary { display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal; }
.zsl-matura .zslm-atlas-card-secondary { margin-top:5px;padding-right:4px; }

/* Historical timeline */
.zsl-matura .zslm-era-map { display:grid;gap:14px;margin-top:16px; }
.zsl-matura .zslm-era-axis { position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:9px 0 0; }
.zsl-matura .zslm-era-axis::before { content:'';position:absolute;left:4%;right:4%;top:25px;height:2px;background:linear-gradient(90deg,var(--zslm-teal),var(--zslm-course-accent),var(--zslm-teal));opacity:.35; }
.zsl-matura .zslm-era-card { position:relative;z-index:1;min-width:0;width:100%;text-align:left;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;padding:16px;color:var(--zslm-text);cursor:pointer; }
.zsl-matura .zslm-era-card::before { content:'';display:block;width:14px;height:14px;margin:0 0 12px;border:4px solid #fff;border-radius:50%;background:var(--zslm-teal);box-shadow:0 0 0 2px var(--zslm-teal); }
.zsl-matura .zslm-era-card[data-pendulum="reason"]::before { background:var(--zslm-course-accent);box-shadow:0 0 0 2px var(--zslm-course-accent); }
.zsl-matura .zslm-era-card strong { display:block;color:var(--zslm-navy);font-size:1rem;line-height:1.3;overflow-wrap:anywhere; }
.zsl-matura .zslm-era-years { display:block;margin-top:4px;color:var(--zslm-teal);font-size:.78rem;font-weight:800; }
.zsl-matura .zslm-era-lens { display:block;margin-top:8px;color:var(--zslm-muted);font-size:.84rem;line-height:1.45; }
.zsl-matura .zslm-era-legend { display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 0;color:var(--zslm-muted);font-size:.82rem; }
.zsl-matura .zslm-era-legend span { display:inline-flex;align-items:center;gap:7px; }
.zsl-matura .zslm-era-legend i { width:10px;height:10px;border-radius:50%;background:var(--zslm-teal); }
.zsl-matura .zslm-era-legend .is-reason i { background:var(--zslm-course-accent); }
.zsl-matura .zslm-era-note { margin:0;padding:12px 14px;border-radius:10px;background:#F7FAFC;color:var(--zslm-muted);font-size:.86rem;line-height:1.55; }

/* Classified atlas groups */
.zsl-matura .zslm-atlas-groups { display:grid;gap:20px; }
.zsl-matura .zslm-atlas-group { min-width:0; }
.zsl-matura .zslm-atlas-group-head { margin:0 0 9px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px; }
.zsl-matura .zslm-atlas-group-head h4 { margin:0;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-atlas-group-head p { margin:3px 0 0;color:var(--zslm-muted);font-size:.84rem; }
.zsl-matura .zslm-atlas-group-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:10px; }
.zsl-matura .zslm-foundation-badge { display:inline-flex;align-items:center;min-height:24px;margin-top:7px;padding:2px 8px;border-radius:999px;background:var(--zslm-humanities-warm);color:#735700;font-size:.7rem;font-weight:900; }

@media (max-width:900px) {
  .zsl-matura .zslm-era-axis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zsl-matura .zslm-era-axis::before { display:none; }
}
@media (max-width:640px) {
  .zsl-matura .zslm-anon-onboarding,.zsl-matura .zslm-profile-bar { align-items:stretch;flex-direction:column; }
  .zsl-matura .zslm-profile-actions { width:100%; }
  .zsl-matura .zslm-profile-actions .zslm-button { flex:1 1 180px; }
  .zsl-matura .zslm-profile-facts { grid-template-columns:1fr; }
  .zsl-matura .zslm-profile-dialog-card { padding:24px 18px 20px; }
  .zsl-matura .zslm-era-axis { grid-template-columns:1fr; }
}

/* v0.5 — Atlas taxonomy, deep concepts, stronger RWD/overflow */
.zsl-matura,
.zsl-matura * { box-sizing:border-box; }
.zsl-matura .zslm-title,
.zsl-matura .zslm-detail-title,
.zsl-matura .zslm-section-head h3,
.zsl-matura .zslm-module-card,
.zsl-matura .zslm-module-card *,
.zsl-matura .zslm-guided-card,
.zsl-matura .zslm-guided-card *,
.zsl-matura .zslm-problem-card,
.zsl-matura .zslm-problem-card *,
.zsl-matura .zslm-relation-card,
.zsl-matura .zslm-relation-card *,
.zsl-matura .zslm-example-card,
.zsl-matura .zslm-example-card *,
.zsl-matura .zslm-work-fact,
.zsl-matura .zslm-work-fact *,
.zsl-matura .zslm-chip-button,
.zsl-matura .zslm-chip-static,
.zsl-matura .zslm-atlas-card,
.zsl-matura .zslm-atlas-card * {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

.zsl-matura .zslm-atlas-tabs--hidden-accessible { display:none; }
.zsl-matura .zslm-atlas-nav-groups {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.zsl-matura .zslm-atlas-nav-group {
  min-width:0;
  padding:14px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:#fff;
}
.zsl-matura .zslm-atlas-nav-group-head { margin:0 0 10px; }
.zsl-matura .zslm-atlas-nav-group-head strong {
  display:block;
  color:var(--zslm-navy);
  font-size:.96rem;
  line-height:1.25;
}
.zsl-matura .zslm-atlas-nav-group-head span {
  display:block;
  margin-top:3px;
  color:var(--zslm-muted);
  font-size:.78rem;
  line-height:1.4;
}
.zsl-matura .zslm-atlas-nav-actions { display:flex;flex-wrap:wrap;gap:7px; }
.zsl-matura .zslm-atlas-nav-button {
  appearance:none;
  min-height:40px;
  max-width:100%;
  padding:8px 11px;
  border:1px solid var(--zslm-border);
  border-radius:10px;
  background:#F8FAFB;
  color:var(--zslm-navy);
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-atlas-nav-button[aria-pressed="true"] {
  border-color:var(--zslm-teal);
  background:rgba(20,123,137,.08);
  color:var(--zslm-teal);
  box-shadow:inset 0 0 0 1px var(--zslm-teal);
}
.zsl-matura .zslm-atlas-nav-button:focus-visible { outline:3px solid rgba(20,123,137,.2);outline-offset:2px; }

/* Historical "idea pendulum" diagram. */
.zsl-matura .zslm-era-wave-scroll {
  width:100%;
  overflow-x:auto;
  padding:4px 2px 8px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#F8FBFC);
  scrollbar-width:thin;
}
.zsl-matura .zslm-era-wave { display:block;width:max(100%,900px);height:auto;min-height:170px; }
.zsl-matura .zslm-era-guide { stroke:#DCE5EA;stroke-width:1;stroke-dasharray:5 7; }
.zsl-matura .zslm-era-guide--reason { stroke:rgba(240,180,0,.28); }
.zsl-matura .zslm-era-guide--spirit { stroke:rgba(20,123,137,.25); }
.zsl-matura .zslm-era-guide--plural { stroke:rgba(8,43,73,.18); }
.zsl-matura .zslm-era-wave-label { fill:#637482;font-size:10px;font-weight:800;letter-spacing:.06em; }
.zsl-matura .zslm-era-wave-path { fill:none;stroke:#8AA4AF;stroke-width:3;stroke-linecap:round;opacity:.72; }
.zsl-matura .zslm-era-wave-hit { fill:transparent;cursor:pointer; }
.zsl-matura .zslm-era-wave-dot { stroke:#fff;stroke-width:3;cursor:pointer; }
.zsl-matura .zslm-era-wave-dot--reason { fill:var(--zslm-course-accent); }
.zsl-matura .zslm-era-wave-dot--spirit { fill:var(--zslm-teal); }
.zsl-matura .zslm-era-wave-dot--plural { fill:var(--zslm-navy); }
.zsl-matura .zslm-era-wave-number { fill:var(--zslm-navy);font-size:10px;font-weight:900;pointer-events:none; }
.zsl-matura .zslm-era-wave-point:focus { outline:none; }
.zsl-matura .zslm-era-wave-point:focus .zslm-era-wave-hit { stroke:var(--zslm-teal);stroke-width:3; }
.zsl-matura .zslm-era-legend .is-plural i { background:var(--zslm-navy); }
.zsl-matura .zslm-era-axis { grid-template-columns:repeat(3,minmax(0,1fr)); }
.zsl-matura .zslm-era-index {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  min-height:24px;
  margin-bottom:8px;
  border-radius:999px;
  background:#F2F6F8;
  color:var(--zslm-teal);
  font-size:.72rem;
  font-weight:900;
}

/* Deep concept card. */
.zsl-matura .zslm-concept-facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:16px 0 22px;
}
.zsl-matura .zslm-concept-fact {
  min-width:0;
  padding:14px 15px;
  border:1px solid var(--zslm-border);
  border-radius:12px;
  background:#fff;
}
.zsl-matura .zslm-concept-fact > span {
  display:block;
  margin-bottom:5px;
  color:var(--zslm-teal);
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.zsl-matura .zslm-concept-fact p { margin:0;color:var(--zslm-text);line-height:1.55;overflow-wrap:anywhere; }
.zsl-matura .zslm-concept-fact--exam { border-left:4px solid var(--zslm-course-accent);background:#FFFDF7; }
.zsl-matura .zslm-concept-fact--warning { border-left:4px solid #C86C53;background:#FFF8F6; }
.zsl-matura .zslm-concept-fact--memory { border-left:4px solid var(--zslm-teal);background:#F6FBFC; }

/* More readable group separators. */
.zsl-matura .zslm-atlas-group + .zslm-atlas-group { padding-top:18px;border-top:1px solid #E8EEF1; }
.zsl-matura .zslm-atlas-group-head { align-items:flex-start; }
.zsl-matura .zslm-atlas-group-head > div { min-width:0; }
.zsl-matura .zslm-atlas-group-head h4 { overflow-wrap:anywhere; }

/* Long cards must expand vertically instead of escaping. */
.zsl-matura .zslm-module-grid,
.zsl-matura .zslm-guided-grid,
.zsl-matura .zslm-problem-grid,
.zsl-matura .zslm-example-grid,
.zsl-matura .zslm-relation-grid,
.zsl-matura .zslm-work-facts { align-items:stretch; }
.zsl-matura .zslm-module-card,
.zsl-matura .zslm-guided-card,
.zsl-matura .zslm-problem-card,
.zsl-matura .zslm-example-card,
.zsl-matura .zslm-relation-card { height:auto;min-height:0; }

@media (max-width:1020px) {
  .zsl-matura .zslm-atlas-nav-groups { grid-template-columns:1fr; }
  .zsl-matura .zslm-atlas-nav-group { display:grid;grid-template-columns:minmax(150px,.42fr) 1fr;gap:12px;align-items:start; }
  .zsl-matura .zslm-atlas-nav-group-head { margin:0; }
  .zsl-matura .zslm-era-axis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .zsl-matura .zslm-atlas-nav-group { display:block; }
  .zsl-matura .zslm-atlas-nav-group-head { margin-bottom:10px; }
  .zsl-matura .zslm-atlas-nav-button { flex:1 1 145px; }
  .zsl-matura .zslm-concept-facts { grid-template-columns:1fr; }
  .zsl-matura .zslm-era-axis { grid-template-columns:1fr; }
  .zsl-matura .zslm-era-wave { width:920px; }
}


/* v0.5.1 — layout/contrast hotfix.
 * These rules deliberately override theme/Elementor button defaults so long
 * educational copy can always wrap and cards grow vertically. */
.zsl-matura .zslm-problem-grid,
.zsl-matura .zslm-guided-grid,
.zsl-matura .zslm-example-grid,
.zsl-matura .zslm-relation-grid,
.zsl-matura .zslm-atlas-group-grid,
.zsl-matura .zslm-atlas-grid,
.zsl-matura .zslm-concept-facts,
.zsl-matura .zslm-exam-paths,
.zsl-matura .zslm-oral-grid,
.zsl-matura .zslm-work-facts {
  min-width:0;
  width:100%;
}

.zsl-matura button.zslm-problem-card,
.zsl-matura button.zslm-guided-card,
.zsl-matura button.zslm-example-card,
.zsl-matura button.zslm-relation-card,
.zsl-matura button.zslm-atlas-card,
.zsl-matura button.zslm-compare-card,
.zsl-matura button.zslm-era-card,
.zsl-matura .zslm-problem-card,
.zsl-matura .zslm-guided-card,
.zsl-matura .zslm-example-card,
.zsl-matura .zslm-relation-card,
.zsl-matura .zslm-atlas-card,
.zsl-matura .zslm-compare-card,
.zsl-matura .zslm-era-card {
  min-width:0!important;
  max-width:100%!important;
  width:100%;
  height:auto!important;
  min-height:0;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
}

.zsl-matura .zslm-problem-card *,
.zsl-matura .zslm-guided-card *,
.zsl-matura .zslm-example-card *,
.zsl-matura .zslm-relation-card *,
.zsl-matura .zslm-atlas-card *,
.zsl-matura .zslm-compare-card *,
.zsl-matura .zslm-era-card *,
.zsl-matura .zslm-concept-fact *,
.zsl-matura .zslm-scene-card * {
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.zsl-matura .zslm-problem-card p,
.zsl-matura .zslm-guided-card p,
.zsl-matura .zslm-example-card p,
.zsl-matura .zslm-relation-card span,
.zsl-matura .zslm-atlas-card-title,
.zsl-matura .zslm-atlas-card-secondary,
.zsl-matura .zslm-concept-fact p,
.zsl-matura .zslm-scene-note p {
  display:block;
  width:100%;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip;
}

/* Keep grid items from using their min-content width as an escape hatch. */
.zsl-matura .zslm-problem-grid > *,
.zsl-matura .zslm-guided-grid > *,
.zsl-matura .zslm-example-grid > *,
.zsl-matura .zslm-relation-grid > *,
.zsl-matura .zslm-atlas-group-grid > *,
.zsl-matura .zslm-atlas-grid > *,
.zsl-matura .zslm-concept-facts > *,
.zsl-matura .zslm-exam-paths > *,
.zsl-matura .zslm-oral-grid > *,
.zsl-matura .zslm-work-facts > * {
  min-width:0;
  max-width:100%;
}

/* Explicit text colours: do not inherit Elementor/global button colours. */
.zsl-matura button.zslm-problem-card,
.zsl-matura button.zslm-guided-card,
.zsl-matura button.zslm-example-card,
.zsl-matura button.zslm-relation-card,
.zsl-matura button.zslm-atlas-card,
.zsl-matura button.zslm-compare-card,
.zsl-matura button.zslm-era-card {
  color:var(--zslm-text)!important;
}
.zsl-matura button.zslm-problem-card strong,
.zsl-matura button.zslm-guided-card strong,
.zsl-matura button.zslm-example-card strong,
.zsl-matura button.zslm-relation-card strong,
.zsl-matura button.zslm-atlas-card strong,
.zsl-matura button.zslm-compare-card strong,
.zsl-matura button.zslm-era-card strong {
  color:var(--zslm-navy)!important;
}
.zsl-matura .zslm-button--secondary {
  background:#fff!important;
  color:var(--zslm-navy)!important;
}
.zsl-matura .zslm-button--danger {
  background:#fff!important;
  color:#8A342A!important;
  border-color:#D9A098!important;
}
.zsl-matura .zslm-button--danger:hover,
.zsl-matura .zslm-button--danger:focus-visible {
  background:#FFF5F3!important;
  color:#6E251D!important;
  border-color:#B85D4A!important;
}

/* Problem cards: a little more vertical breathing room for two-line prompts. */
.zsl-matura .zslm-problem-card { padding:16px 15px; }
.zsl-matura .zslm-problem-card p { margin-top:7px;line-height:1.5; }

@media (max-width:1100px) {
  .zsl-matura .zslm-problem-grid,
  .zsl-matura .zslm-guided-grid,
  .zsl-matura .zslm-example-grid,
  .zsl-matura .zslm-exam-paths { grid-template-columns:1fr; }
}

/* v0.6 — learning dashboard, assessment runner, Writing Lab, explainable reviews */
.zsl-matura .zslm-next-action,
.zsl-matura .zslm-review-overview {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-width:0;
  margin:0 0 20px;
  padding:20px 22px;
  border:1px solid #D6E3E8;
  border-left:5px solid var(--zslm-course-accent);
  border-radius:14px;
  background:linear-gradient(135deg,#FFFDF7 0%,#F8FBFC 100%);
}
.zsl-matura .zslm-next-action-copy,
.zsl-matura .zslm-review-overview > div { min-width:0; }
.zsl-matura .zslm-next-action-title { display:block;color:var(--zslm-navy);font-size:1.12rem;line-height:1.3; }
.zsl-matura .zslm-next-action p,
.zsl-matura .zslm-review-overview p { margin:6px 0 0;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-next-action-meta { display:flex;flex-wrap:wrap;gap:6px;margin-top:10px; }
.zsl-matura .zslm-mini-chip { display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#F1F6F8;color:var(--zslm-teal);font-size:.74rem;font-weight:800;line-height:1.3; }

.zsl-matura .zslm-review-list { display:grid;gap:10px;margin-top:14px; }
.zsl-matura .zslm-review-card { display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:14px 16px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff; }
.zsl-matura .zslm-review-card strong { color:var(--zslm-navy);display:block;overflow-wrap:anywhere; }
.zsl-matura .zslm-review-card p { margin:4px 0;color:var(--zslm-muted);line-height:1.45; }
.zsl-matura .zslm-review-index { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#F8EEC9;color:var(--zslm-navy);font-size:.74rem;font-weight:900; }
.zsl-matura .zslm-review-detail { display:block;color:#486271;font-size:.8rem;line-height:1.45; }
.zsl-matura .zslm-review-reason { margin:0 0 18px;padding:16px 18px;border:1px solid #CDE0E4;border-left:4px solid var(--zslm-teal);border-radius:12px;background:#F6FBFC; }
.zsl-matura .zslm-review-reason strong { display:block;color:var(--zslm-navy);font-size:1.02rem; }
.zsl-matura .zslm-review-reason p { margin:6px 0 0;line-height:1.5; }
.zsl-matura .zslm-review-reason-detail { color:var(--zslm-muted);font-size:.88rem; }
.zsl-matura .zslm-confidence-label { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 12px;color:var(--zslm-muted);font-size:.9rem; }

.zsl-matura .zslm-assessment-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0; }
.zsl-matura .zslm-assessment-card { display:flex;flex-direction:column;min-width:0;min-height:250px;padding:20px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff; }
.zsl-matura .zslm-assessment-card-head { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px; }
.zsl-matura .zslm-assessment-card h4 { margin:0;color:var(--zslm-navy);font-size:1.08rem;line-height:1.35; }
.zsl-matura .zslm-assessment-card p { margin:8px 0 14px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-assessment-card .zslm-button { margin-top:auto;align-self:flex-start; }
.zsl-matura .zslm-assessment-count,
.zsl-matura .zslm-assessment-history { color:var(--zslm-muted);font-size:.76rem; }
.zsl-matura .zslm-status-chip { display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#F8EEC9;color:#684F00;font-size:.72rem;font-weight:900; }
.zsl-matura .zslm-subsection { margin:26px 0 0;padding-top:22px;border-top:1px solid var(--zslm-border); }
.zsl-matura .zslm-subsection h4 { margin:0 0 6px;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-subsection > p { margin:0 0 12px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-chip-actions { display:flex;flex-wrap:wrap;gap:8px; }
.zsl-matura .zslm-chip-button { appearance:none;min-height:40px;padding:8px 12px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy)!important;font-weight:800;cursor:pointer;white-space:normal;text-align:left; }
.zsl-matura .zslm-chip-button:hover,.zsl-matura .zslm-chip-button:focus-visible { border-color:var(--zslm-teal);background:#F6FBFC; }

.zsl-matura .zslm-assessment-run { max-width:920px;margin:22px auto 0; }
.zsl-matura .zslm-assessment-progress { display:grid;grid-template-columns:minmax(220px,.45fr) minmax(200px,1fr);gap:18px;align-items:end;margin-bottom:22px;padding:15px 17px;border:1px solid var(--zslm-border);border-radius:12px;background:#F8FBFC; }
.zsl-matura .zslm-assessment-progress strong { display:block;color:var(--zslm-navy); }
.zsl-matura .zslm-progress-bar { width:100%;height:9px;overflow:hidden;border-radius:999px;background:#E4EBEF; }
.zsl-matura .zslm-progress-bar > span { display:block;height:100%;border-radius:inherit;background:var(--zslm-teal);transition:width .2s ease; }
.zsl-matura .zslm-secure-note { margin:12px 0 0;color:var(--zslm-muted);font-size:.82rem;line-height:1.5; }
.zsl-matura .zslm-assessment-summary { max-width:960px;margin:24px auto; }
.zsl-matura .zslm-assessment-summary > h3 { margin:0;color:var(--zslm-navy);font-size:clamp(1.45rem,3vw,2rem); }
.zsl-matura .zslm-summary-note { color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-assessment-result-hero { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 24px;padding:20px;border:1px solid #CDE0E4;border-left:5px solid var(--zslm-course-accent);border-radius:14px;background:#FFFDF8; }
.zsl-matura .zslm-assessment-result-hero strong { color:var(--zslm-navy);font-size:1.12rem; }
.zsl-matura .zslm-assessment-result-hero span { color:var(--zslm-muted); }
.zsl-matura .zslm-domain-results { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 24px; }
.zsl-matura .zslm-domain-result { min-width:0;padding:14px 16px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff; }
.zsl-matura .zslm-domain-result span { display:block;color:var(--zslm-muted);font-size:.8rem;line-height:1.35; }
.zsl-matura .zslm-domain-result strong { display:block;margin:6px 0 2px;color:var(--zslm-navy);font-size:1.2rem; }
.zsl-matura .zslm-domain-result small { color:var(--zslm-muted); }

.zsl-matura .zslm-start-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0; }
.zsl-matura .zslm-start-card { min-width:0;padding:18px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff; }
.zsl-matura .zslm-start-number { display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:10px;border-radius:50%;background:#F8EEC9;color:var(--zslm-navy);font-size:.78rem;font-weight:900; }
.zsl-matura .zslm-start-card strong { display:block;color:var(--zslm-navy); }
.zsl-matura .zslm-start-card p { margin:6px 0 0;color:var(--zslm-muted);line-height:1.5; }
.zsl-matura .zslm-action-panel--accent { border-left:5px solid var(--zslm-course-accent);background:#FFFDF8; }
.zsl-matura .zslm-path-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0; }
.zsl-matura .zslm-path-card { display:flex;flex-direction:column;min-width:0;min-height:230px;padding:20px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff; }
.zsl-matura .zslm-path-card h4 { margin:0;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-path-card p { margin:8px 0 16px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-path-card .zslm-button { margin-top:auto;align-self:flex-start; }

.zsl-matura .zslm-writing-type-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0; }
.zsl-matura .zslm-writing-type-card { display:flex;flex-direction:column;min-width:0;min-height:260px;padding:20px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff; }
.zsl-matura .zslm-writing-type-card h4 { margin:0;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-writing-type-card p { margin:8px 0 14px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-writing-type-card .zslm-button { margin-top:auto;align-self:flex-start; }
.zsl-matura .zslm-writing-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:20px 0; }
.zsl-matura .zslm-writing-head h3 { margin:0;color:var(--zslm-navy);font-size:clamp(1.35rem,2.5vw,1.8rem); }
.zsl-matura .zslm-writing-head p { margin:8px 0 0;color:var(--zslm-muted);line-height:1.55;max-width:780px; }
.zsl-matura .zslm-writing-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);gap:18px;align-items:start; }
.zsl-matura .zslm-writing-main,.zsl-matura .zslm-writing-side { min-width:0; }
.zsl-matura .zslm-writing-title { width:100%;min-height:44px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-navy);font-weight:800; }
.zsl-matura .zslm-writing-editor { display:block;width:100%;min-height:440px;resize:vertical;padding:18px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;color:var(--zslm-text);font-size:1rem;line-height:1.7; }
.zsl-matura .zslm-writing-editor:focus,.zsl-matura .zslm-writing-title:focus { outline:3px solid rgba(20,123,137,.15);border-color:var(--zslm-teal); }
.zsl-matura .zslm-writing-status { display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;padding:9px 12px;border-radius:9px;background:#F5F7F8;color:var(--zslm-muted);font-size:.82rem; }
.zsl-matura .zslm-writing-status strong { color:var(--zslm-navy); }
.zsl-matura .zslm-writing-status.is-good { background:var(--zslm-success-bg); }
.zsl-matura .zslm-writing-status.is-low,.zsl-matura .zslm-writing-status.is-high { background:#FFF8EB; }
.zsl-matura .zslm-writing-side { position:sticky;top:110px;padding:18px;border:1px solid var(--zslm-border);border-radius:12px;background:#F8FBFC; }
.zsl-matura .zslm-writing-side h4 { margin:0 0 12px;color:var(--zslm-navy); }
.zsl-matura .zslm-writing-checklist { display:grid;gap:10px; }
.zsl-matura .zslm-check-item { display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;color:var(--zslm-text);font-size:.88rem;line-height:1.45;cursor:pointer; }
.zsl-matura .zslm-check-item input { width:18px;height:18px;margin-top:1px;accent-color:var(--zslm-teal); }
.zsl-matura .zslm-privacy-note { margin:15px 0 0;padding-top:13px;border-top:1px solid var(--zslm-border);color:var(--zslm-muted);font-size:.78rem;line-height:1.5; }
.zsl-matura .zslm-writing-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.zsl-matura .zslm-draft-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura button.zslm-draft-card { appearance:none;display:grid;gap:4px;width:100%;min-width:0;padding:14px 15px;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;color:var(--zslm-text)!important;text-align:left;cursor:pointer; }
.zsl-matura .zslm-draft-card strong { color:var(--zslm-navy);overflow-wrap:anywhere; }
.zsl-matura .zslm-draft-card span,.zsl-matura .zslm-draft-card small { color:var(--zslm-muted); }

/* Universal text-containment contract for v0.6 components. */
.zsl-matura .zslm-next-action *,
.zsl-matura .zslm-review-card *,
.zsl-matura .zslm-review-reason *,
.zsl-matura .zslm-assessment-card *,
.zsl-matura .zslm-domain-result *,
.zsl-matura .zslm-start-card *,
.zsl-matura .zslm-path-card *,
.zsl-matura .zslm-writing-type-card *,
.zsl-matura .zslm-writing-side *,
.zsl-matura .zslm-draft-card * {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal;
}

@media (max-width:1050px) {
  .zsl-matura .zslm-assessment-grid,
  .zsl-matura .zslm-path-grid,
  .zsl-matura .zslm-writing-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zsl-matura .zslm-writing-layout { grid-template-columns:1fr; }
  .zsl-matura .zslm-writing-side { position:static; }
}
@media (max-width:760px) {
  .zsl-matura .zslm-next-action,.zsl-matura .zslm-review-overview,.zsl-matura .zslm-writing-head { flex-direction:column;align-items:stretch; }
  .zsl-matura .zslm-assessment-grid,.zsl-matura .zslm-path-grid,.zsl-matura .zslm-writing-type-grid,.zsl-matura .zslm-start-grid,.zsl-matura .zslm-domain-results,.zsl-matura .zslm-draft-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-assessment-progress { grid-template-columns:1fr; }
  .zsl-matura .zslm-assessment-card,.zsl-matura .zslm-writing-type-card,.zsl-matura .zslm-path-card { min-height:0; }
  .zsl-matura .zslm-writing-editor { min-height:360px; }
}
@media (max-width:520px) {
  .zsl-matura .zslm-next-action,.zsl-matura .zslm-review-overview,.zsl-matura .zslm-assessment-card,.zsl-matura .zslm-writing-type-card,.zsl-matura .zslm-path-card { padding:16px; }
  .zsl-matura .zslm-writing-editor { padding:14px;min-height:330px; }
  .zsl-matura .zslm-module-card--button { min-height:0; }
}

/* v0.6.1 — szybsza odpowiedź, 3-stopniowa pewność i nawigacja po pytaniach. */
.zsl-matura .zslm-confidence-pills {
  margin:18px 0 16px;
  padding:0;
  border:0;
  min-width:0;
}
.zsl-matura .zslm-confidence-legend {
  margin:0 0 8px;
  color:var(--zslm-muted);
  font-size:.86rem;
  font-weight:700;
}
.zsl-matura .zslm-confidence-options {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.zsl-matura .zslm-confidence-pill {
  position:relative;
  display:inline-flex;
  min-width:0;
  cursor:pointer;
}
.zsl-matura .zslm-confidence-pill input {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.zsl-matura .zslm-confidence-pill span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--zslm-border);
  border-radius:999px;
  background:#fff;
  color:var(--zslm-navy);
  font-size:.88rem;
  font-weight:800;
  line-height:1.2;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.zsl-matura .zslm-confidence-pill input:checked + span {
  border-color:var(--zslm-teal);
  background:#EAF6F8;
  box-shadow:inset 0 0 0 1px var(--zslm-teal);
  color:var(--zslm-navy);
}
.zsl-matura .zslm-confidence-pill input:focus-visible + span {
  outline:3px solid rgba(20,123,137,.18);
  outline-offset:2px;
}
.zsl-matura .zslm-auto-submit-note,
.zsl-matura .zslm-history-confidence,
.zsl-matura .zslm-assessment-saved {
  display:block;
  margin:10px 0 0;
  color:var(--zslm-muted);
  font-size:.82rem;
  line-height:1.45;
}
.zsl-matura .zslm-question-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 16px;
}
.zsl-matura .zslm-question-nav--after { margin:14px 0 0; }
.zsl-matura .zslm-assessment-question-nav {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 16px;
  padding:12px;
  border:1px solid var(--zslm-border);
  border-radius:12px;
  background:#FBFDFD;
}
.zsl-matura .zslm-question-index {
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  border:1px solid var(--zslm-border);
  border-radius:9px;
  background:#fff;
  color:var(--zslm-navy)!important;
  font-weight:850;
  cursor:pointer;
}
.zsl-matura .zslm-question-index:hover,
.zsl-matura .zslm-question-index:focus-visible {
  border-color:var(--zslm-teal);
  background:#F3FAFB;
}
.zsl-matura .zslm-question-index.is-answered {
  border-color:#8BC7CF;
  background:#EAF6F8;
}
.zsl-matura .zslm-question-index.is-current {
  border-color:var(--zslm-navy);
  background:var(--zslm-navy);
  color:#fff!important;
}
.zsl-matura .zslm-assessment-finish {
  margin:22px 0 0;
  padding:18px;
  border:1px solid #C9DFD4;
  border-left:5px solid var(--zslm-course-accent);
  border-radius:13px;
  background:#FBFEFC;
}
.zsl-matura .zslm-assessment-finish strong { color:var(--zslm-navy); }
.zsl-matura .zslm-assessment-finish p { margin:6px 0 14px;color:var(--zslm-muted);line-height:1.5; }
.zsl-matura .zslm-choice-list--history { opacity:.85; }

/* Większy oddech między limitem słów a CTA w kartach Writing Lab. */
.zsl-matura .zslm-writing-type-card > .zslm-mini-chip {
  margin:0 0 18px;
  align-self:flex-start;
}

@media (max-width:520px) {
  .zsl-matura .zslm-confidence-options { display:grid;grid-template-columns:1fr; }
  .zsl-matura .zslm-confidence-pill,
  .zsl-matura .zslm-confidence-pill span { width:100%; }
  .zsl-matura .zslm-question-nav { align-items:stretch; }
  .zsl-matura .zslm-question-nav .zslm-button { flex:1 1 100%; }
  .zsl-matura .zslm-assessment-question-nav { gap:6px;padding:10px; }
  .zsl-matura .zslm-question-index { width:36px;min-width:36px;height:36px; }
}

/* =========================================================
   ZSŁ Matura v0.7 — warstwa nauki i atlasy umiejętności
   ========================================================= */
.zsl-matura .zslm-mode-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 20px;
  padding:6px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:#F8FBFC;
}
.zsl-matura .zslm-mode-tab {
  appearance:none;
  min-height:42px;
  padding:9px 14px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--zslm-navy)!important;
  font-weight:800;
  cursor:pointer;
  white-space:normal;
  text-align:center;
}
.zsl-matura .zslm-mode-tab:hover { background:#fff;border-color:var(--zslm-border); }
.zsl-matura .zslm-mode-tab.is-active,
.zsl-matura .zslm-mode-tab[aria-pressed="true"] {
  background:var(--zslm-navy);
  border-color:var(--zslm-navy);
  color:#fff!important;
}
.zsl-matura .zslm-learning-catalog { min-width:0; }
.zsl-matura .zslm-learning-overview {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,300px);
  align-items:center;
  gap:20px;
  margin:0 0 24px;
  padding:20px 22px;
  border:1px solid var(--zslm-border);
  border-left:5px solid var(--zslm-course-accent);
  border-radius:14px;
  background:linear-gradient(135deg,#FFFDF6 0%,#FFFFFF 55%,#F7FBFC 100%);
}
.zsl-matura .zslm-learning-overview h4 { margin:0 0 6px;color:var(--zslm-navy);font-size:1.12rem; }
.zsl-matura .zslm-learning-overview p { margin:0;color:var(--zslm-muted);line-height:1.6; }
.zsl-matura .zslm-learning-overview-metrics { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.zsl-matura .zslm-learning-bar,
.zsl-matura .zslm-learning-progress-track {
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#E8EEF1;
}
.zsl-matura .zslm-learning-bar span,
.zsl-matura .zslm-learning-progress-track span {
  display:block;
  height:100%;
  min-width:0;
  background:linear-gradient(90deg,var(--zslm-teal),var(--zslm-teal-light));
  border-radius:inherit;
}
.zsl-matura .zslm-learning-group { margin:26px 0 0;min-width:0; }
.zsl-matura .zslm-learning-group-head { display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 10px; }
.zsl-matura .zslm-learning-group-head h4 { margin:0;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-learning-group-head span { color:var(--zslm-muted);font-size:.82rem; }
.zsl-matura .zslm-learning-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.zsl-matura .zslm-learning-card {
  appearance:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  width:100%;
  min-width:0;
  min-height:122px;
  padding:16px 17px;
  border:1px solid var(--zslm-border);
  border-radius:13px;
  background:#fff;
  color:var(--zslm-text)!important;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.zsl-matura .zslm-learning-card:hover { border-color:#9BCBD2;background:#FBFEFE;transform:translateY(-1px); }
.zsl-matura .zslm-learning-card-number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#F8EEC9;
  color:var(--zslm-navy-dark);
  font-weight:850;
  font-size:.78rem;
  flex:0 0 auto;
}
.zsl-matura .zslm-learning-card-copy { display:block;min-width:0; }
.zsl-matura .zslm-learning-card-copy strong,
.zsl-matura .zslm-learning-card-copy span,
.zsl-matura .zslm-learning-card-meta small {
  display:block;
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.zsl-matura .zslm-learning-card-copy strong { color:var(--zslm-navy);font-size:.98rem;line-height:1.35; }
.zsl-matura .zslm-learning-card-copy span { margin-top:5px;color:var(--zslm-muted);font-size:.86rem;line-height:1.5; }
.zsl-matura .zslm-learning-card-meta { display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:86px; }
.zsl-matura .zslm-learning-card-meta small { color:var(--zslm-muted);font-size:.72rem;text-align:right; }
.zsl-matura .zslm-learning-card-meta .is-completed { color:var(--zslm-success);font-weight:800; }
.zsl-matura .zslm-learning-card-meta .is-in_progress { color:var(--zslm-teal);font-weight:800; }
.zsl-matura .zslm-learning-card-arrow { color:var(--zslm-teal);font-size:1.1rem;align-self:center; }

.zsl-matura .zslm-learning-lesson { max-width:940px;margin:20px auto 0;min-width:0; }
.zsl-matura .zslm-learning-lesson-top { display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px; }
.zsl-matura .zslm-learning-lesson-meta { display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end; }
.zsl-matura .zslm-learning-lesson-hero {
  margin:0 0 14px;
  padding:24px 26px;
  border-top:4px solid var(--zslm-course-accent);
  border-radius:14px;
  background:var(--zslm-navy);
  color:#fff;
}
.zsl-matura .zslm-learning-lesson-hero .zslm-eyebrow { color:#B8DDE2; }
.zsl-matura .zslm-learning-lesson-hero h3 { margin:0;color:#fff;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.2; }
.zsl-matura .zslm-learning-lesson-hero p { margin:8px 0 0;color:#E5EFF2;line-height:1.6;max-width:760px; }
.zsl-matura .zslm-learning-progress-track { margin:0 0 20px;height:7px; }
.zsl-matura .zslm-learning-lesson-body { display:grid;gap:14px;min-width:0; }
.zsl-matura .zslm-learn-block,
.zsl-matura .zslm-learn-callout,
.zsl-matura .zslm-learn-check {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  border:1px solid var(--zslm-border);
  border-radius:13px;
  background:#fff;
  padding:18px 20px;
}
.zsl-matura .zslm-learn-block h4 { margin:0 0 9px;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-learn-block p,
.zsl-matura .zslm-learn-callout p,
.zsl-matura .zslm-learn-check p { margin:0;color:var(--zslm-text);line-height:1.68;white-space:normal!important;overflow-wrap:anywhere!important; }
.zsl-matura .zslm-learn-bullets,
.zsl-matura .zslm-learn-steps { margin:8px 0 0;padding-left:23px; }
.zsl-matura .zslm-learn-bullets li,
.zsl-matura .zslm-learn-steps li { margin:8px 0;line-height:1.55; }
.zsl-matura .zslm-learn-steps li::marker { color:var(--zslm-teal);font-weight:850; }
.zsl-matura .zslm-learn-callout { border-left-width:5px; }
.zsl-matura .zslm-learn-callout--remember { border-left-color:var(--zslm-teal);background:#F4FBFC; }
.zsl-matura .zslm-learn-callout--warning { border-left-color:var(--zslm-course-accent);background:#FFFDF5; }
.zsl-matura .zslm-learn-callout .zslm-panel-eyebrow { display:block;margin-bottom:5px;color:var(--zslm-navy);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em; }
.zsl-matura .zslm-learn-example-grid,
.zsl-matura .zslm-learn-compare { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-learn-example-card,
.zsl-matura .zslm-learn-compare article { min-width:0;border:1px solid var(--zslm-border);border-radius:11px;padding:14px 15px;background:#F9FBFC; }
.zsl-matura .zslm-learn-example-card span { display:block;margin-bottom:6px;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em; }
.zsl-matura .zslm-learn-example-card.is-bad { border-color:#E8C6C1;background:#FFF8F7; }
.zsl-matura .zslm-learn-example-card.is-bad span { color:var(--zslm-error); }
.zsl-matura .zslm-learn-example-card.is-good { border-color:#BBD9CC;background:#F5FBF7; }
.zsl-matura .zslm-learn-example-card.is-good span { color:var(--zslm-success); }
.zsl-matura .zslm-learn-note { margin-top:10px!important;color:var(--zslm-muted)!important;font-size:.88rem; }
.zsl-matura .zslm-learn-compare article strong { display:block;color:var(--zslm-navy);margin-bottom:6px; }
.zsl-matura .zslm-learn-check { padding:0;overflow:hidden; }
.zsl-matura .zslm-learn-check summary { padding:16px 18px;cursor:pointer;color:var(--zslm-navy);font-weight:850;background:#F7FBFC;line-height:1.45; }
.zsl-matura .zslm-learn-check[open] summary { border-bottom:1px solid var(--zslm-border); }
.zsl-matura .zslm-learn-hint { padding:14px 18px 0!important;color:var(--zslm-muted)!important;font-size:.88rem; }
.zsl-matura .zslm-learn-answer { padding:14px 18px 18px; }
.zsl-matura .zslm-learn-answer strong { display:block;color:var(--zslm-success);margin-bottom:5px; }
.zsl-matura .zslm-learning-lesson-footer { margin-top:22px;padding-top:18px;border-top:1px solid var(--zslm-border); }
.zsl-matura .zslm-learning-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:12px; }
.zsl-matura .zslm-button.is-complete { background:var(--zslm-success);border-color:var(--zslm-success); }

/* Uodpornienie tekstów modułów i nowych lekcji na overflow z motywu/Elementora. */
.zsl-matura .zslm-learning-card,
.zsl-matura .zslm-learning-card *,
.zsl-matura .zslm-learn-block,
.zsl-matura .zslm-learn-block *,
.zsl-matura .zslm-learn-callout,
.zsl-matura .zslm-learn-callout *,
.zsl-matura .zslm-learn-check,
.zsl-matura .zslm-learn-check * {
  min-width:0;
  max-width:100%;
}

@media (max-width:900px) {
  .zsl-matura .zslm-learning-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-learning-overview { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .zsl-matura .zslm-mode-tabs { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin; }
  .zsl-matura .zslm-mode-tab { flex:0 0 auto; }
  .zsl-matura .zslm-learning-lesson-top { align-items:flex-start;flex-direction:column; }
  .zsl-matura .zslm-learning-lesson-meta { justify-content:flex-start; }
  .zsl-matura .zslm-learn-example-grid,
  .zsl-matura .zslm-learn-compare { grid-template-columns:1fr; }
  .zsl-matura .zslm-learning-card { grid-template-columns:auto minmax(0,1fr); }
  .zsl-matura .zslm-learning-card-meta { grid-column:2;align-items:flex-start; }
  .zsl-matura .zslm-learning-card-meta small { text-align:left; }
  .zsl-matura .zslm-learning-card-arrow { display:none; }
  .zsl-matura .zslm-learning-actions .zslm-button { width:100%; }
}

/* v0.7 Teaching Layer: cele modułu, ćwiczenia prowadzone i płynniejsze ukończenie lekcji. */
.zsl-matura .zslm-learning-outcomes {
  margin:0 0 24px;
  padding:18px 20px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:#F7FBFC;
  min-width:0;
}
.zsl-matura .zslm-learning-outcomes-head { margin-bottom:8px; }
.zsl-matura .zslm-learning-outcomes-head h4 { margin:2px 0 0;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-learning-outcomes ul { margin:8px 0 0;padding-left:22px;display:grid;gap:7px; }
.zsl-matura .zslm-learning-outcomes li { color:var(--zslm-text);line-height:1.55;overflow-wrap:anywhere; }
.zsl-matura .zslm-learning-outcomes li::marker { color:var(--zslm-teal); }

.zsl-matura .zslm-learn-guided {
  border-left:5px solid var(--zslm-teal);
  background:linear-gradient(135deg,#F5FBFC 0%,#FFFFFF 70%);
}
.zsl-matura .zslm-learn-guided .zslm-panel-eyebrow {
  display:block;
  margin-bottom:5px;
  color:var(--zslm-teal);
  font-size:.74rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.zsl-matura .zslm-learn-guided-prompt { font-weight:700;color:var(--zslm-navy)!important; }
.zsl-matura .zslm-learn-guided-details {
  margin-top:12px;
  border:1px solid var(--zslm-border);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.zsl-matura .zslm-learn-guided-details summary {
  padding:12px 14px;
  cursor:pointer;
  color:var(--zslm-navy);
  font-weight:800;
  background:#F9FBFC;
}
.zsl-matura .zslm-learn-guided-details[open] summary { border-bottom:1px solid var(--zslm-border); }
.zsl-matura .zslm-learn-guided-details > p { padding:13px 14px!important; }
.zsl-matura .zslm-learn-guided-details > .zslm-learn-steps { margin:0;padding:12px 14px 12px 34px; }
.zsl-matura .zslm-learn-guided-model { border-color:#BBD9CC; }
.zsl-matura .zslm-learning-complete-badge {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:9px 14px;
  border:1px solid #BBD9CC;
  border-radius:10px;
  background:#F5FBF7;
  color:var(--zslm-success);
  font-weight:850;
}

.zsl-matura .zslm-learning-outcomes,
.zsl-matura .zslm-learning-outcomes *,
.zsl-matura .zslm-learn-guided,
.zsl-matura .zslm-learn-guided * {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

@media (max-width:767px) {
  .zsl-matura .zslm-learning-outcomes { padding:16px; }
  .zsl-matura .zslm-learning-complete-badge { width:100%;justify-content:center; }
}

/* v0.8 — mapy ścieżek i mini-atlasy umiejętności */
.zsl-matura .zslm-path-map,
.zsl-matura .zslm-skill-atlas,
.zsl-matura .zslm-skill-detail,
.zsl-matura .zslm-path-map *,
.zsl-matura .zslm-skill-atlas *,
.zsl-matura .zslm-skill-detail * {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.zsl-matura .zslm-path-map-intro,
.zsl-matura .zslm-skill-atlas-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin:18px 0 22px;
  padding:20px 22px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:#F8FBFC;
}
.zsl-matura .zslm-path-map-intro h4,
.zsl-matura .zslm-skill-atlas-intro h4 { margin:3px 0 6px;color:var(--zslm-navy);font-size:1.2rem; }
.zsl-matura .zslm-path-map-intro p,
.zsl-matura .zslm-skill-atlas-intro p { margin:0;color:var(--zslm-muted);line-height:1.6; }
.zsl-matura .zslm-path-map-meter,
.zsl-matura .zslm-skill-count {
  min-width:150px;
  padding:14px 16px;
  border:1px solid #C8DDE3;
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.zsl-matura .zslm-path-map-meter strong,
.zsl-matura .zslm-skill-count strong { display:block;color:var(--zslm-navy);font-size:1.35rem;line-height:1.1; }
.zsl-matura .zslm-path-map-meter > span,
.zsl-matura .zslm-skill-count span { display:block;margin-top:4px;color:var(--zslm-muted);font-size:.78rem; }
.zsl-matura .zslm-path-map-meter .zslm-learning-bar { margin-top:10px;width:150px;max-width:100%; }
.zsl-matura .zslm-path-next {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:0 0 26px;
  padding:18px 20px;
  border:1px solid #C2DDE2;
  border-left:5px solid var(--zslm-teal);
  border-radius:13px;
  background:#F4FBFC;
}
.zsl-matura .zslm-path-next h4 { margin:3px 0 4px;color:var(--zslm-navy);font-size:1.12rem; }
.zsl-matura .zslm-path-next p { margin:0;color:var(--zslm-muted); }
.zsl-matura .zslm-path-timeline { display:grid;gap:0;margin:6px 0 28px; }
.zsl-matura .zslm-path-stage { display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;position:relative; }
.zsl-matura .zslm-path-stage-rail { position:relative;display:flex;justify-content:center; }
.zsl-matura .zslm-path-stage:not(:last-child) .zslm-path-stage-rail::after {
  content:"";position:absolute;top:43px;bottom:-10px;width:2px;background:#D4E2E6;
}
.zsl-matura .zslm-path-stage.is-completed .zslm-path-stage-rail::after { background:#8FC9B1; }
.zsl-matura .zslm-path-stage-no {
  position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;border:2px solid #B8D5DA;background:#fff;color:var(--zslm-navy);font-weight:850;font-size:.78rem;
}
.zsl-matura .zslm-path-stage.is-completed .zslm-path-stage-no { background:#EFF8F2;border-color:#82C29F;color:#1E6A48; }
.zsl-matura .zslm-path-stage-main { padding:0 0 28px; }
.zsl-matura .zslm-path-stage-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px; }
.zsl-matura .zslm-path-stage-head h4 { margin:2px 0 0;color:var(--zslm-navy);font-size:1.08rem; }
.zsl-matura .zslm-path-status { flex:none;padding:6px 9px;border-radius:999px;background:#F2F5F6;color:var(--zslm-muted);font-size:.72rem;font-weight:800; }
.zsl-matura .zslm-path-status.is-completed { background:#EDF8F1;color:#1F704C; }
.zsl-matura .zslm-path-status.is-in_progress { background:#EEF8FA;color:var(--zslm-teal); }
.zsl-matura .zslm-path-lessons { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.zsl-matura .zslm-path-lesson {
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;
  min-height:70px;padding:12px 13px;text-align:left;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;cursor:pointer;color:inherit;
}
.zsl-matura .zslm-path-lesson:hover { border-color:#9BCBD2;background:#FBFEFE; }
.zsl-matura .zslm-path-lesson.is-recommended { border-color:var(--zslm-course-accent);box-shadow:inset 4px 0 0 var(--zslm-course-accent);background:#FFFDF7; }
.zsl-matura .zslm-path-lesson.is-completed { background:#F8FCFA;border-color:#C8E1D3; }
.zsl-matura .zslm-path-lesson-pos { display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#F2F6F7;color:var(--zslm-navy);font-size:.72rem;font-weight:850; }
.zsl-matura .zslm-path-lesson-copy { display:block; }
.zsl-matura .zslm-path-lesson-copy strong { display:block;color:var(--zslm-navy);font-size:.9rem;line-height:1.35; }
.zsl-matura .zslm-path-lesson-copy small { display:block;margin-top:4px;color:var(--zslm-muted);font-size:.72rem; }
.zsl-matura .zslm-path-lesson.is-recommended .zslm-path-lesson-copy small { color:#8A6500;font-weight:800; }
.zsl-matura .zslm-path-lesson-arrow { color:var(--zslm-teal);font-size:1rem; }

.zsl-matura .zslm-skill-controls { margin:0 0 18px; }
.zsl-matura .zslm-skill-search {
  width:100%;min-height:46px;padding:10px 14px;border:1px solid #BFD2D8;border-radius:10px;background:#fff;color:var(--zslm-text);font:inherit;
}
.zsl-matura .zslm-skill-search:focus { outline:3px solid rgba(240,180,0,.35);outline-offset:1px;border-color:var(--zslm-teal); }
.zsl-matura .zslm-skill-category-tabs { display:flex;gap:8px;overflow-x:auto;padding:10px 1px 5px;scrollbar-width:thin; }
.zsl-matura .zslm-skill-category { flex:0 0 auto;padding:8px 12px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap; }
.zsl-matura .zslm-skill-category:hover { border-color:#9BCBD2;background:#F8FCFD; }
.zsl-matura .zslm-skill-category.is-active { background:var(--zslm-navy);border-color:var(--zslm-navy);color:#fff; }
.zsl-matura .zslm-skill-results-meta { margin:0 0 8px;color:var(--zslm-muted);font-size:.78rem; }
.zsl-matura .zslm-skill-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-skill-card {
  width:100%;min-height:150px;padding:15px 16px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  border:1px solid var(--zslm-border);border-radius:12px;background:#fff;color:inherit;cursor:pointer;
}
.zsl-matura .zslm-skill-card:hover { border-color:#9BCBD2;background:#FBFEFE;transform:translateY(-1px); }
.zsl-matura .zslm-skill-card-category { display:block;margin-bottom:8px;color:var(--zslm-teal);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em; }
.zsl-matura .zslm-skill-card strong { display:block;color:var(--zslm-navy);font-size:.96rem;line-height:1.35; }
.zsl-matura .zslm-skill-card p { margin:7px 0 11px;color:var(--zslm-muted);font-size:.82rem;line-height:1.5; }
.zsl-matura .zslm-skill-card-arrow { margin-top:auto;color:var(--zslm-teal);font-size:.75rem;font-weight:850; }

.zsl-matura .zslm-skill-detail { max-width:940px;margin:20px auto 0; }
.zsl-matura .zslm-skill-detail-hero { margin:10px 0 18px;padding:24px 26px;border-radius:14px;background:var(--zslm-navy);border-top:3px solid var(--zslm-course-accent); }
.zsl-matura .zslm-skill-detail-hero .zslm-eyebrow { color:#B8DDE2; }
.zsl-matura .zslm-skill-detail-hero h3 { margin:2px 0 8px;color:#fff;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.2; }
.zsl-matura .zslm-skill-detail-hero p { margin:0;color:#E5EFF2;line-height:1.65; }
.zsl-matura .zslm-skill-detail-section,
.zsl-matura .zslm-skill-related,
.zsl-matura .zslm-lesson-skill-links { margin:14px 0;padding:18px 20px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff; }
.zsl-matura .zslm-skill-detail-section h4,
.zsl-matura .zslm-skill-related h4,
.zsl-matura .zslm-lesson-skill-links h4 { margin:3px 0 8px;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-lesson-skill-links > p { margin:0 0 12px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-skill-detail-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0; }
.zsl-matura .zslm-skill-example,
.zsl-matura .zslm-skill-pitfall { padding:16px 18px;border-radius:12px;border:1px solid var(--zslm-border); }
.zsl-matura .zslm-skill-example { background:#F4FBF7;border-color:#C6E0D1; }
.zsl-matura .zslm-skill-pitfall { background:#FFF9F2;border-color:#EAD3B2; }
.zsl-matura .zslm-skill-example p,
.zsl-matura .zslm-skill-pitfall p { margin:7px 0 0;color:var(--zslm-text);line-height:1.6; }
.zsl-matura .zslm-skill-related-grid,
.zsl-matura .zslm-lesson-skill-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.zsl-matura .zslm-skill-related-card,
.zsl-matura .zslm-lesson-skill-card { width:100%;padding:12px 13px;border:1px solid var(--zslm-border);border-radius:10px;background:#F9FBFC;text-align:left;color:inherit;cursor:pointer; }
.zsl-matura .zslm-skill-related-card:hover,
.zsl-matura .zslm-lesson-skill-card:hover { border-color:#9BCBD2;background:#F5FBFC; }
.zsl-matura .zslm-skill-related-card strong,
.zsl-matura .zslm-lesson-skill-card strong { display:block;color:var(--zslm-navy);font-size:.88rem;line-height:1.35; }
.zsl-matura .zslm-skill-related-card small,
.zsl-matura .zslm-lesson-skill-card small { display:block;margin-top:4px;color:var(--zslm-muted);font-size:.7rem; }

@media (max-width:1024px){
  .zsl-matura .zslm-skill-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .zsl-matura .zslm-path-map-intro,
  .zsl-matura .zslm-skill-atlas-intro { grid-template-columns:1fr; }
  .zsl-matura .zslm-path-map-meter,
  .zsl-matura .zslm-skill-count { min-width:0;width:100%;text-align:left; }
  .zsl-matura .zslm-path-map-meter .zslm-learning-bar { width:100%; }
  .zsl-matura .zslm-path-next { align-items:flex-start;flex-direction:column; }
  .zsl-matura .zslm-path-next .zslm-button { width:100%; }
  .zsl-matura .zslm-path-lessons,
  .zsl-matura .zslm-skill-grid,
  .zsl-matura .zslm-skill-detail-grid,
  .zsl-matura .zslm-skill-related-grid,
  .zsl-matura .zslm-lesson-skill-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-path-stage-head { flex-direction:column;gap:7px; }
  .zsl-matura .zslm-path-status { align-self:flex-start; }
}
@media (max-width:480px){
  .zsl-matura .zslm-path-stage { grid-template-columns:34px minmax(0,1fr);gap:9px; }
  .zsl-matura .zslm-path-stage-no { width:32px;height:32px;font-size:.66rem; }
  .zsl-matura .zslm-path-stage:not(:last-child) .zslm-path-stage-rail::after { top:35px; }
  .zsl-matura .zslm-path-lesson { grid-template-columns:auto minmax(0,1fr); }
  .zsl-matura .zslm-path-lesson-arrow { display:none; }
  .zsl-matura .zslm-skill-detail-hero { padding:20px 18px; }
}

/* ==========================================================
   v0.9.0 — WRITING COACH
   Lokalna diagnoza tekstu bez pseudo-punktacji CKE.
   ========================================================== */
.zsl-matura .zslm-coach-overview,
.zsl-matura .zslm-coach-intro {
  min-width:0;
  margin:18px 0;
  padding:18px 20px;
  border:1px solid rgba(20,123,137,.24);
  border-radius:14px;
  background:linear-gradient(135deg,#F4FBFC 0%,#FFFFFF 100%);
}
.zsl-matura .zslm-coach-overview h4,
.zsl-matura .zslm-coach-intro strong { margin:0;color:var(--zslm-navy); }
.zsl-matura .zslm-coach-overview p,
.zsl-matura .zslm-coach-intro p { margin:6px 0 0;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-writing-coach-actions { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 4px; }
.zsl-matura .zslm-button--coach { background:var(--zslm-teal);border-color:var(--zslm-teal); }
.zsl-matura .zslm-button--coach:hover { background:#0F6975;border-color:#0F6975; }
.zsl-matura .zslm-coach-local-note { color:var(--zslm-muted);font-size:.78rem;font-weight:700; }
.zsl-matura .zslm-writing-coach-host { min-width:0;margin-top:22px; }
.zsl-matura .zslm-writing-coach { min-width:0;padding:22px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(6,30,52,.045); }
.zsl-matura .zslm-coach-head { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--zslm-border); }
.zsl-matura .zslm-coach-head h4 { margin:0;color:var(--zslm-navy);font-size:clamp(1.2rem,2.2vw,1.55rem); }
.zsl-matura .zslm-coach-head p { margin:7px 0 0;max-width:780px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-coach-badge { flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid #E7C868;border-radius:999px;background:#FFF8DC;color:#624D00;font-size:.75rem;font-weight:850;white-space:nowrap; }
.zsl-matura .zslm-coach-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0; }
.zsl-matura .zslm-coach-stat { min-width:0;padding:14px 15px;border:1px solid var(--zslm-border);border-radius:11px;background:#F8FBFC; }
.zsl-matura .zslm-coach-stat strong { display:block;color:var(--zslm-navy);font-size:1.18rem;line-height:1.2; }
.zsl-matura .zslm-coach-stat span { display:block;margin-top:4px;color:var(--zslm-muted);font-size:.76rem; }
.zsl-matura .zslm-coach-plan { margin:18px 0;padding:18px 20px;border-left:4px solid var(--zslm-course-accent);border-radius:10px;background:#FFFAEC; }
.zsl-matura .zslm-coach-plan h5 { margin:0 0 10px;color:var(--zslm-navy);font-size:1rem; }
.zsl-matura .zslm-coach-plan ol { margin:0;padding-left:1.25rem;display:grid;gap:8px; }
.zsl-matura .zslm-coach-plan li { padding-left:3px;color:var(--zslm-text);line-height:1.5; }
.zsl-matura .zslm-coach-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-coach-card { min-width:0;padding:16px 17px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff; }
.zsl-matura .zslm-coach-card.is-good { border-color:#CBE3D7;background:#F7FCF9; }
.zsl-matura .zslm-coach-card.is-warn { border-color:#EAD79D;background:#FFFCF3; }
.zsl-matura .zslm-coach-card.is-risk { border-color:#E7BBB7;background:#FFF8F7; }
.zsl-matura .zslm-coach-card.is-manual { border-color:#BDD7DF;background:#F7FBFC; }
.zsl-matura .zslm-coach-card.is-info { background:#FAFBFC; }
.zsl-matura .zslm-coach-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:10px; }
.zsl-matura .zslm-coach-card-top strong { color:var(--zslm-navy);line-height:1.35; }
.zsl-matura .zslm-coach-status { flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#EEF3F5;color:var(--zslm-muted);font-size:.68rem;font-weight:850;letter-spacing:.02em;white-space:nowrap; }
.zsl-matura .zslm-coach-card.is-good .zslm-coach-status { background:#E7F5ED;color:var(--zslm-success); }
.zsl-matura .zslm-coach-card.is-warn .zslm-coach-status { background:#FFF0C7;color:#755900; }
.zsl-matura .zslm-coach-card.is-risk .zslm-coach-status { background:#FDE7E4;color:var(--zslm-error); }
.zsl-matura .zslm-coach-card.is-manual .zslm-coach-status { background:#E8F4F6;color:var(--zslm-teal); }
.zsl-matura .zslm-coach-card p { margin:9px 0 0;color:var(--zslm-text);line-height:1.52; }
.zsl-matura .zslm-coach-card small { display:block;margin-top:8px;color:var(--zslm-muted);line-height:1.48; }
.zsl-matura .zslm-coach-limits { margin-top:18px;padding:15px 17px;border-radius:11px;background:#F4F6F7;color:var(--zslm-muted); }
.zsl-matura .zslm-coach-limits strong { color:var(--zslm-navy); }
.zsl-matura .zslm-coach-limits p { margin:5px 0 0;line-height:1.52;font-size:.84rem; }
.zsl-matura .zslm-writing-coach *,
.zsl-matura .zslm-coach-overview *,
.zsl-matura .zslm-coach-intro * { min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal; }

@media (max-width:900px) {
  .zsl-matura .zslm-coach-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .zsl-matura .zslm-coach-head { flex-direction:column;align-items:stretch; }
  .zsl-matura .zslm-coach-badge { align-self:flex-start; }
  .zsl-matura .zslm-coach-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .zsl-matura .zslm-writing-coach { padding:16px; }
  .zsl-matura .zslm-coach-overview,.zsl-matura .zslm-coach-intro { padding:16px; }
  .zsl-matura .zslm-coach-stats { grid-template-columns:1fr 1fr; }
  .zsl-matura .zslm-writing-coach-actions .zslm-button { width:100%;white-space:normal;text-align:center; }
}
.zsl-matura .zslm-coach-official { margin:18px 0;padding:16px 18px;border:1px solid var(--zslm-border);border-radius:12px;background:#FAFCFD; }
.zsl-matura .zslm-coach-official h5 { margin:0 0 11px;color:var(--zslm-navy);font-size:.95rem; }
.zsl-matura .zslm-coach-official-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.zsl-matura .zslm-coach-official-item { min-width:0;padding:11px 12px;border:1px solid var(--zslm-border);border-radius:9px;background:#fff; }
.zsl-matura .zslm-coach-official-item strong { display:block;color:var(--zslm-navy);font-size:.82rem;line-height:1.35; }
.zsl-matura .zslm-coach-official-item span { display:block;margin-top:4px;color:var(--zslm-teal);font-size:.74rem;font-weight:800; }
.zsl-matura .zslm-coach-official > p { margin:10px 0 0;color:var(--zslm-muted);font-size:.77rem;line-height:1.45; }
@media (max-width:900px) { .zsl-matura .zslm-coach-official-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .zsl-matura .zslm-coach-official-grid { grid-template-columns:1fr; } }

/* ==========================================================
   v0.9.1 — BANK TEMATÓW I PEŁNA ŚCIEŻKA PISANIA
   ========================================================== */
.zsl-matura .zslm-topic-bank { margin:22px 0 26px;padding:22px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(6,30,52,.04); }
.zsl-matura .zslm-topic-bank__head { display:flex;align-items:flex-start;justify-content:space-between;gap:18px; }
.zsl-matura .zslm-topic-bank__head h4 { margin:0;color:var(--zslm-navy);font-size:clamp(1.2rem,2vw,1.55rem); }
.zsl-matura .zslm-topic-bank__head p { margin:7px 0 0;max-width:820px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-topic-requirements { display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:16px 0;padding:12px 14px;border-left:4px solid var(--zslm-course-accent);border-radius:9px;background:#F7FBFC; }
.zsl-matura .zslm-topic-requirements strong { color:var(--zslm-navy); }
.zsl-matura .zslm-topic-requirements span { color:var(--zslm-muted);font-size:.84rem; }
.zsl-matura .zslm-topic-controls { display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(130px,.65fr)) auto;gap:8px;margin:15px 0 8px; }
.zsl-matura .zslm-topic-search,.zsl-matura .zslm-topic-select { width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--zslm-border);border-radius:9px;background:#fff;color:var(--zslm-text);font:inherit; }
.zsl-matura .zslm-topic-search:focus,.zsl-matura .zslm-topic-select:focus { outline:3px solid rgba(20,123,137,.14);border-color:var(--zslm-teal); }
.zsl-matura .zslm-topic-count { margin:9px 0;color:var(--zslm-muted);font-size:.78rem;font-weight:700; }
.zsl-matura .zslm-topic-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.zsl-matura .zslm-topic-card { min-width:0;display:flex;flex-direction:column;padding:17px;border:1px solid var(--zslm-border);border-radius:12px;background:#FBFDFE;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.zsl-matura .zslm-topic-card.is-random { transform:translateY(-3px);border-color:var(--zslm-teal);box-shadow:0 10px 24px rgba(20,123,137,.13); }
.zsl-matura .zslm-topic-card__top,.zsl-matura .zslm-selected-topic__meta { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px; }
.zsl-matura .zslm-topic-kind { display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border-radius:999px;background:#EEF4F6;color:var(--zslm-teal);font-size:.7rem;font-weight:900;letter-spacing:.02em; }
.zsl-matura .zslm-topic-kind.is-official { background:#E8F3F6;color:#0A5662; }
.zsl-matura .zslm-topic-card h5 { margin:12px 0 10px;color:var(--zslm-navy);font-size:1rem;line-height:1.42; }
.zsl-matura .zslm-topic-tags { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px; }
.zsl-matura .zslm-topic-tags span { display:inline-flex;padding:4px 7px;border-radius:999px;background:#F0F3F5;color:var(--zslm-muted);font-size:.68rem;font-weight:750; }
.zsl-matura .zslm-topic-source-note { display:block;margin-top:auto;color:var(--zslm-muted);font-size:.72rem;line-height:1.4; }
.zsl-matura .zslm-topic-actions { display:flex;flex-wrap:wrap;gap:7px;margin-top:13px; }
.zsl-matura .zslm-topic-actions .zslm-button { white-space:normal;text-align:center; }
.zsl-matura .zslm-selected-topic { margin:0 0 18px;padding:18px;border:1px solid rgba(20,123,137,.28);border-radius:13px;background:#F7FCFD; }
.zsl-matura .zslm-selected-topic h4 { margin:12px 0 10px;color:var(--zslm-navy);font-size:1.08rem;line-height:1.45; }
.zsl-matura .zslm-topic-source { display:inline-flex;margin-top:8px;color:var(--zslm-teal);font-size:.78rem;font-weight:850;text-decoration:none!important; }
.zsl-matura .zslm-topic-source:hover { text-decoration:underline!important; }
.zsl-matura .zslm-coach-topic { margin:16px 0 0;padding:13px 15px;border-radius:10px;background:#F7FBFC; }
.zsl-matura .zslm-coach-topic strong { display:block;margin-top:4px;color:var(--zslm-navy);line-height:1.45; }
.zsl-matura .zslm-topic-bank *, .zsl-matura .zslm-selected-topic *, .zsl-matura .zslm-coach-topic * { min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal; }
@media (hover:hover) and (pointer:fine) { .zsl-matura .zslm-topic-card:hover { transform:translateY(-2px);border-color:rgba(20,123,137,.28);box-shadow:0 8px 20px rgba(6,30,52,.05); } }
@media (max-width:1100px) { .zsl-matura .zslm-topic-controls { grid-template-columns:repeat(2,minmax(0,1fr)); } .zsl-matura .zslm-topic-controls .zslm-button { width:100%; } }
@media (max-width:760px) { .zsl-matura .zslm-topic-grid { grid-template-columns:1fr; } .zsl-matura .zslm-topic-bank { padding:17px; } }
@media (max-width:520px) { .zsl-matura .zslm-topic-controls { grid-template-columns:1fr; } .zsl-matura .zslm-topic-actions { flex-direction:column; } .zsl-matura .zslm-topic-actions .zslm-button { width:100%; } }

/* ==========================================================
   v0.10 — ADAPTIVE LEARNING 2.0
   ========================================================== */
.zsl-matura .zslm-adaptive-plan { margin:22px 0;padding:22px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(6,30,52,.045); }
.zsl-matura .zslm-adaptive-plan-head { display:flex;align-items:flex-start;justify-content:space-between;gap:18px; }
.zsl-matura .zslm-adaptive-plan-head h4 { margin:0;color:var(--zslm-navy);font-size:clamp(1.25rem,2.1vw,1.6rem); }
.zsl-matura .zslm-adaptive-plan-head p { margin:7px 0 0;max-width:790px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-evidence-badge { flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap; }
.zsl-matura .zslm-evidence-badge.is-low { background:#FFF1CC;color:#715400; }
.zsl-matura .zslm-evidence-badge.is-medium { background:#EAF3F6;color:#155A65; }
.zsl-matura .zslm-evidence-badge.is-high { background:#E8F5ED;color:#23633F; }
.zsl-matura .zslm-session-presets { display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:16px 0; }
.zsl-matura .zslm-session-presets > strong { margin-right:3px;color:var(--zslm-navy);font-size:.84rem; }
.zsl-matura .zslm-session-preset { min-height:36px;padding:7px 12px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer; }
.zsl-matura .zslm-session-preset.is-active { border-color:var(--zslm-teal);background:#EAF7F8;color:#0B5C66; }
.zsl-matura .zslm-adaptive-evidence { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px; }
.zsl-matura .zslm-adaptive-evidence > div { min-width:0;padding:11px 12px;border:1px solid var(--zslm-border);border-radius:10px;background:#F8FBFC; }
.zsl-matura .zslm-adaptive-evidence strong { display:block;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-adaptive-evidence span { display:block;margin-top:3px;color:var(--zslm-muted);font-size:.72rem; }
.zsl-matura .zslm-adaptive-confidence,.zsl-matura .zslm-adaptive-note { margin:12px 0;padding:13px 15px;border-radius:10px;background:#F5F8F9; }
.zsl-matura .zslm-adaptive-confidence strong,.zsl-matura .zslm-adaptive-note strong { color:var(--zslm-navy); }
.zsl-matura .zslm-adaptive-confidence p,.zsl-matura .zslm-adaptive-note p { margin:5px 0 0;color:var(--zslm-muted);font-size:.8rem;line-height:1.5; }
.zsl-matura .zslm-adaptive-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0; }
.zsl-matura .zslm-adaptive-action { min-width:0;display:flex;flex-direction:column;padding:16px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff; }
.zsl-matura .zslm-adaptive-action:first-child { border-color:rgba(20,123,137,.32);background:#F8FCFD; }
.zsl-matura .zslm-adaptive-action-top { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.zsl-matura .zslm-adaptive-index { color:var(--zslm-teal);font-size:.72rem;font-weight:900;letter-spacing:.08em; }
.zsl-matura .zslm-adaptive-action h5 { margin:11px 0 7px;color:var(--zslm-navy);font-size:1rem;line-height:1.35; }
.zsl-matura .zslm-adaptive-action p { margin:0 0 10px;color:var(--zslm-muted);font-size:.82rem;line-height:1.5; }
.zsl-matura .zslm-adaptive-action .zslm-button { margin-top:auto;align-self:flex-start; }
.zsl-matura .zslm-adaptive-signals { display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px; }
.zsl-matura .zslm-adaptive-signals span { padding:4px 7px;border-radius:999px;background:#F0F4F5;color:var(--zslm-muted);font-size:.67rem;font-weight:750; }
.zsl-matura .zslm-review-mix { display:flex;flex-wrap:wrap;gap:6px;margin-top:9px; }
.zsl-matura .zslm-review-mix span,.zsl-matura .zslm-review-goal { display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.67rem;font-weight:850; }
.zsl-matura .zslm-review-mix .is-repair,.zsl-matura .zslm-review-goal.is-repair { background:#FFF0E7;color:#8A4519; }
.zsl-matura .zslm-review-mix .is-retrieval,.zsl-matura .zslm-review-goal.is-retrieval { background:#EAF3F6;color:#155A65; }
.zsl-matura .zslm-review-mix .is-transfer,.zsl-matura .zslm-review-goal.is-transfer { background:#EEF1FA;color:#46578A; }
.zsl-matura .zslm-review-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:10px; }
.zsl-matura .zslm-review-card-top strong { min-width:0; }
.zsl-matura .zslm-review-goal { flex:0 0 auto;white-space:nowrap; }
.zsl-matura .zslm-review-domain { display:block;margin-top:7px;color:var(--zslm-muted);font-size:.68rem;font-weight:750; }
.zsl-matura .zslm-adaptive-plan *, .zsl-matura .zslm-adaptive-note *, .zsl-matura .zslm-review-card-top * { min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal; }
@media (max-width:1000px) { .zsl-matura .zslm-adaptive-actions { grid-template-columns:1fr; } }
@media (max-width:760px) { .zsl-matura .zslm-adaptive-plan { padding:17px; } .zsl-matura .zslm-adaptive-plan-head { flex-direction:column;align-items:stretch; } .zsl-matura .zslm-evidence-badge { align-self:flex-start; } .zsl-matura .zslm-adaptive-evidence { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:430px) { .zsl-matura .zslm-adaptive-evidence { grid-template-columns:1fr 1fr; } .zsl-matura .zslm-adaptive-action .zslm-button { width:100%;text-align:center; } .zsl-matura .zslm-review-card-top { flex-direction:column; } .zsl-matura .zslm-review-goal { align-self:flex-start; } }

/* ==========================================================
   v0.11 — EXAM MODE + GLOBAL OVERFLOW HARDENING
   ========================================================== */
.zsl-matura,
.zsl-matura * { box-sizing:border-box;min-width:0; }
.zsl-matura :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,span,strong,small,label,legend,a,button,th,td,blockquote) {
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.zsl-matura .zslm-button,
.zsl-matura .zslm-chip-button,
.zsl-matura .zslm-mini-button,
.zsl-matura .zslm-status-chip,
.zsl-matura .zslm-coach-badge,
.zsl-matura .zslm-coach-status,
.zsl-matura .zslm-evidence-badge,
.zsl-matura .zslm-review-goal {
  white-space:normal!important;
  text-align:center;
}
.zsl-matura .zslm-coach-badge,
.zsl-matura .zslm-coach-status,
.zsl-matura .zslm-evidence-badge,
.zsl-matura .zslm-review-goal { flex-shrink:1; }
.zsl-matura input,
.zsl-matura select,
.zsl-matura textarea { max-width:100%; }
.zsl-matura .zslm-stimulus,
.zsl-matura .zslm-choice,
.zsl-matura .zslm-question,
.zsl-matura .zslm-assessment-card,
.zsl-matura .zslm-writing-type-card,
.zsl-matura .zslm-topic-card,
.zsl-matura .zslm-selected-topic,
.zsl-matura .zslm-adaptive-action,
.zsl-matura .zslm-review-card { overflow:hidden; }

.zsl-matura .zslm-assessment-card--exam {
  border-color:rgba(240,180,0,.48);
  background:linear-gradient(180deg,#FFFDF6 0%,#FFFFFF 74%);
  box-shadow:0 10px 28px rgba(6,30,52,.055);
}
.zsl-matura .zslm-assessment-card--exam .zslm-status-chip { background:#FFF1B8;color:#5C4600; }
.zsl-matura .zslm-exam-intro,
.zsl-matura .zslm-exam-run,
.zsl-matura .zslm-exam-writing,
.zsl-matura .zslm-exam-summary { min-width:0;max-width:100%; }
.zsl-matura .zslm-exam-intro > h3,
.zsl-matura .zslm-exam-writing > h3 { margin:8px 0 8px;color:var(--zslm-navy);font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.24; }
.zsl-matura .zslm-exam-facts {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:18px 0;
}
.zsl-matura .zslm-exam-facts > div,
.zsl-matura .zslm-exam-summary-card {
  min-width:0;
  padding:13px 12px;
  border:1px solid var(--zslm-border);
  border-radius:11px;
  background:#F8FBFC;
}
.zsl-matura .zslm-exam-facts strong,
.zsl-matura .zslm-exam-summary-card strong { display:block;color:var(--zslm-navy);font-size:1.05rem;line-height:1.25; }
.zsl-matura .zslm-exam-facts span,
.zsl-matura .zslm-exam-summary-card span { display:block;margin-top:4px;color:var(--zslm-muted);font-size:.75rem;line-height:1.35; }
.zsl-matura .zslm-exam-rules {
  margin:18px 0;
  padding:17px 18px;
  border:1px solid var(--zslm-border);
  border-left:4px solid var(--zslm-course-accent);
  border-radius:12px;
  background:#fff;
}
.zsl-matura .zslm-exam-rules h4 { margin:0 0 8px;color:var(--zslm-navy); }
.zsl-matura .zslm-exam-rules ul { margin:0;padding-left:20px; }
.zsl-matura .zslm-exam-rules li { margin:6px 0;line-height:1.55;color:var(--zslm-text); }
.zsl-matura .zslm-exam-bar {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  margin:0 0 10px;
  padding:15px 17px;
  border:1px solid rgba(20,123,137,.24);
  border-radius:13px;
  background:#F6FBFC;
}
.zsl-matura .zslm-exam-bar__title { min-width:0; }
.zsl-matura .zslm-exam-bar__title > strong { display:block;color:var(--zslm-navy);font-size:1rem;line-height:1.35; }
.zsl-matura .zslm-exam-bar__title > small { display:block;margin-top:3px;color:var(--zslm-muted);font-size:.72rem;line-height:1.4; }
.zsl-matura .zslm-exam-timer {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  padding:9px 12px;
  border-radius:10px;
  background:var(--zslm-navy);
  color:#fff;
  font-variant-numeric:tabular-nums;
  font-size:.95rem;
  letter-spacing:.02em;
  white-space:normal;
  text-align:center;
}
.zsl-matura .zslm-exam-timer.is-expired { background:#8A2D2D; }
.zsl-matura .zslm-exam-sections {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.zsl-matura .zslm-exam-section {
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--zslm-border);
  border-radius:10px;
  background:#fff;
  color:var(--zslm-navy);
  font:inherit;
  font-size:.82rem;
  font-weight:850;
  cursor:pointer;
  white-space:normal;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-exam-section.is-active { border-color:var(--zslm-teal);background:#EDF8FA;color:#0A5965; }
.zsl-matura .zslm-exam-integrity-note {
  margin:8px 0 16px;
  padding:10px 12px;
  border-radius:9px;
  background:#FFF8DF;
  color:#695000;
  font-size:.76rem;
  line-height:1.48;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-exam-progress { margin-top:14px; }
.zsl-matura .zslm-exam-question-nav .zslm-question-index.is-marked { box-shadow:inset 0 0 0 2px #D99F00; }
.zsl-matura .zslm-question-nav .zslm-button.is-marked { border-color:#D99F00;background:#FFF8DD;color:#624B00!important; }
.zsl-matura .zslm-exam-handoff { margin-top:18px; }
.zsl-matura .zslm-exam-topic-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.zsl-matura .zslm-exam-topic-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:18px;
  border:1px solid var(--zslm-border);
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.zsl-matura .zslm-exam-topic-card h4 { margin:12px 0 10px;color:var(--zslm-navy);font-size:1rem;line-height:1.48;overflow-wrap:anywhere; }
.zsl-matura .zslm-exam-topic-card .zslm-button { margin-top:auto;align-self:flex-start; }
.zsl-matura .zslm-exam-selected-topic { margin-top:15px; }
.zsl-matura .zslm-exam-editor { min-width:0;margin:14px 0; }
.zsl-matura .zslm-exam-textarea {
  width:100%;
  min-width:0;
  resize:vertical;
  line-height:1.65;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
.zsl-matura .zslm-exam-word-meter {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:7px 12px;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--zslm-border);
  border-radius:9px;
  background:#F8FBFC;
}
.zsl-matura .zslm-exam-word-meter strong { color:var(--zslm-navy); }
.zsl-matura .zslm-exam-word-meter span { color:#8A3E24;font-size:.78rem;font-weight:800; }
.zsl-matura .zslm-exam-word-meter span.is-ok { color:#276543; }
.zsl-matura .zslm-exam-writing-actions { display:flex;flex-wrap:wrap;gap:9px;margin:14px 0; }
.zsl-matura .zslm-exam-summary-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:18px 0;
}
.zsl-matura .zslm-exam-official-reference {
  margin:16px 0;
  padding:14px 16px;
  border-left:4px solid var(--zslm-teal);
  border-radius:10px;
  background:#F4FAFB;
}
.zsl-matura .zslm-exam-official-reference strong { color:var(--zslm-navy); }
.zsl-matura .zslm-exam-official-reference p { margin:5px 0 0;color:var(--zslm-muted);line-height:1.5; }
.zsl-matura .zslm-exam-resume {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:14px 0 20px;
  padding:15px 16px;
  border:1px solid rgba(240,180,0,.45);
  border-radius:12px;
  background:#FFFBEA;
}
.zsl-matura .zslm-exam-resume strong { display:block;color:var(--zslm-navy); }
.zsl-matura .zslm-exam-resume p { margin:4px 0 0;color:var(--zslm-muted);font-size:.8rem;line-height:1.45; }

@media (max-width:900px) {
  .zsl-matura .zslm-exam-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .zsl-matura .zslm-exam-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zsl-matura .zslm-assessment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .zsl-matura .zslm-exam-bar { grid-template-columns:1fr;align-items:stretch;padding:13px; }
  .zsl-matura .zslm-exam-timer { width:100%; }
  .zsl-matura .zslm-exam-sections,
  .zsl-matura .zslm-exam-topic-grid,
  .zsl-matura .zslm-assessment-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-exam-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zsl-matura .zslm-exam-resume { grid-template-columns:1fr; }
  .zsl-matura .zslm-exam-resume .zslm-button { width:100%; }
  .zsl-matura .zslm-question-nav { flex-wrap:wrap; }
}
@media (max-width:430px) {
  .zsl-matura .zslm-exam-facts,
  .zsl-matura .zslm-exam-summary-grid { grid-template-columns:1fr; }
  .zsl-matura .zslm-exam-intro .zslm-profile-actions,
  .zsl-matura .zslm-exam-writing-actions { flex-direction:column; }
  .zsl-matura .zslm-exam-intro .zslm-button,
  .zsl-matura .zslm-exam-writing-actions .zslm-button,
  .zsl-matura .zslm-exam-topic-card .zslm-button { width:100%;align-self:stretch; }
  .zsl-matura .zslm-assessment-progress { grid-template-columns:1fr!important; }
  .zsl-matura .zslm-assessment-question-nav { gap:6px; }
  .zsl-matura .zslm-question-index { width:34px;min-width:34px;height:34px;padding:0; }
}

/* =========================================================
   ZSŁ Matura v0.12 — accessibility, portability, hardening
   ========================================================= */
.zsl-matura .zslm-skip-link {
  position:absolute;
  z-index:9999;
  left:12px;
  top:12px;
  transform:translateY(-180%);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border:2px solid #fff;
  border-radius:9px;
  background:var(--zslm-navy-dark);
  color:#fff!important;
  font-weight:850;
  text-decoration:none!important;
}
.zsl-matura .zslm-skip-link:focus { position:fixed;transform:none; }

/* Dwukolorowy wskaźnik działa zarówno na bieli, jak i na granatowym tle. */
.zsl-matura :focus-visible {
  outline:2px solid #fff!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 5px var(--zslm-navy-dark)!important;
}
.zsl-matura :where(h2,h3,h4,[tabindex="-1"]):focus-visible { border-radius:4px; }
.zsl-matura :where(button,a,input,select,textarea,[role="button"],[tabindex]):focus { scroll-margin-block:110px 32px; }
.zsl-matura .zslm-app-view:focus-visible { outline-offset:4px!important; }

/* Duże cele kliknięcia — celowo powyżej minimum WCAG 2.2 AA. */
.zsl-matura .zslm-mini-button,
.zsl-matura .zslm-question-index {
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
}
.zsl-matura .zslm-session-preset,
.zsl-matura .zslm-local-nav-link,
.zsl-matura .zslm-chip-button { min-height:44px; }

/* Długie polskie etykiety nie mogą poszerzać gridu ani wychodzić poza ramkę. */
.zsl-matura :where(
  .zslm-button,.zslm-text-button,.zslm-back-button,.zslm-mini-button,
  .zslm-question-index,.zslm-session-preset,.zslm-mode-tab,.zslm-tab,
  .zslm-chip-button,.zslm-local-nav-link,.zslm-exam-section,
  .zslm-module-card,.zslm-path-card,.zslm-assessment-card,.zslm-topic-card,
  .zslm-writing-type-card,.zslm-draft-card,.zslm-skill-card,.zslm-atlas-card,
  .zslm-profile-dialog-card,.zslm-profile-backup,.zslm-feedback,
  .zslm-question,.zslm-stimulus,.zslm-choice,.zslm-selected-topic,
  .zslm-exam-intro,.zslm-exam-run,.zslm-exam-writing,.zslm-exam-summary
) {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.zsl-matura .zslm-button { white-space:normal; text-align:center; }
.zsl-matura :where(.zslm-head-grid,.zslm-section-head,.zslm-action-panel,.zslm-profile-bar,.zslm-anon-onboarding,.zslm-exam-bar,.zslm-exam-resume,.zslm-topic-bank__head) > * { min-width:0;max-width:100%; }
.zsl-matura :where(.zslm-title,.zslm-lead,.zslm-current-location,.zslm-module-title,.zslm-module-desc,.zslm-module-meta,.zslm-profile-title,.zslm-profile-lead,.zslm-exam-bar__title,.zslm-topic-card h5,.zslm-writing-title) { overflow-wrap:anywhere;word-break:normal; }

.zsl-matura .zslm-profile-backup {
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--zslm-border);
}
.zsl-matura .zslm-profile-backup h4 { margin:0 0 7px;color:var(--zslm-navy);font-size:1.05rem; }
.zsl-matura .zslm-profile-backup > p { margin:0 0 13px;color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-file-button { cursor:pointer; }
.zsl-matura .zslm-profile-success { margin:12px 0 0;padding:11px 13px;border-radius:9px;background:var(--zslm-success-bg);color:var(--zslm-success);font-weight:800;line-height:1.5; }

@media (max-width:520px) {
  .zsl-matura .zslm-assessment-question-nav { gap:8px; }
  .zsl-matura .zslm-profile-backup .zslm-profile-actions { flex-direction:column;align-items:stretch; }
  .zsl-matura .zslm-profile-backup .zslm-button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .zsl-matura *,
  .zsl-matura *::before,
  .zsl-matura *::after {
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

@media (forced-colors:active) {
  .zsl-matura :focus-visible { outline:3px solid Highlight!important;box-shadow:none!important; }
  .zsl-matura .zslm-status-dot,
  .zsl-matura .zslm-profile-status-dot { forced-color-adjust:auto; }
  .zsl-matura .zslm-button,
  .zsl-matura .zslm-question-index,
  .zsl-matura .zslm-choice { border:1px solid ButtonText; }
}

/* =========================================================
   ZSŁ Matura v0.13 — pilot readiness / resilience
   ========================================================= */
.zsl-matura .zslm-connection-banner {
  margin:12px 0;
  padding:11px 14px;
  border:1px solid #C58A00;
  border-left-width:4px;
  border-radius:10px;
  background:#FFF8DF;
  color:#594300;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-connection-banner[hidden] { display:none!important; }
.zsl-matura .zslm-connection-banner strong { color:#4F3B00; }
.zsl-matura .zslm-recovery-panel {
  min-width:0;
  max-width:760px;
  margin:10px auto;
  padding:22px;
  border:1px solid var(--zslm-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,30,52,.06);
  overflow:hidden;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-recovery-panel h3 { margin:4px 0 9px;color:var(--zslm-navy);font-size:1.2rem;line-height:1.35;overflow-wrap:anywhere; }
.zsl-matura .zslm-recovery-panel > p { color:var(--zslm-muted);line-height:1.55; }
.zsl-matura .zslm-pilot-privacy {
  margin:18px 0 0;
  padding:10px 12px;
  border-top:1px solid var(--zslm-border);
  color:#536978;
  font-size:.74rem;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-pilot-privacy strong { color:var(--zslm-navy); }
.zsl-matura.is-offline .zslm-status-dot { background:#C58A00; }

/* Stała siatka bezpieczeństwa dla treści pochodzących z banku / API. */
.zsl-matura :where(
  .zslm-home,.zslm-app-view,.zslm-section-head,.zslm-dashboard-strip,
  .zslm-module-grid,.zslm-assessment-grid,.zslm-path-grid,.zslm-skill-grid,
  .zslm-topic-grid,.zslm-topic-bank,.zslm-domain-results,.zslm-relation-grid,
  .zslm-exam-topic-grid,.zslm-exam-summary-grid,.zslm-exam-facts,
  .zslm-profile-actions,.zslm-question-nav,.zslm-assessment-question-nav,
  .zslm-recovery-panel,.zslm-connection-banner,.zslm-pilot-privacy
) { min-width:0;max-width:100%; }
.zsl-matura :where(
  p,li,strong,small,span,label,legend,h2,h3,h4,h5,
  .zslm-message,.zslm-feedback,.zslm-profile-error,.zslm-profile-success
) { overflow-wrap:anywhere;word-break:normal; }

@media (max-width:430px) {
  .zsl-matura .zslm-recovery-panel { padding:16px; }
  .zsl-matura .zslm-recovery-panel .zslm-profile-actions { flex-direction:column;align-items:stretch; }
  .zsl-matura .zslm-recovery-panel .zslm-button { width:100%; }
}

@media (forced-colors:active) {
  .zsl-matura .zslm-connection-banner,
  .zsl-matura .zslm-recovery-panel { border:1px solid CanvasText; }
}

/* ==========================================================
   v0.14 — LEARNING CORE REDESIGN
   ========================================================== */
.zsl-matura .zslm-learning-home-hero,
.zsl-matura .zslm-today-hero{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;
  padding:28px;border:1px solid var(--zslm-border,#dce6ec);border-radius:22px;
  background:linear-gradient(135deg,#f7fbfc 0%,#fff 72%);overflow:hidden;
}
.zsl-matura .zslm-learning-home-hero h3,
.zsl-matura .zslm-today-hero h3{margin:.2rem 0 .55rem;font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.12;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-learning-home-hero p,
.zsl-matura .zslm-today-hero p{max-width:760px;margin:0;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-home-main-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.zsl-matura .zslm-button--large{min-height:48px;padding:12px 18px;font-size:1rem;}
.zsl-matura .zslm-home-today-preview{margin-top:20px;padding:22px;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:#fff;}
.zsl-matura .zslm-home-today-preview h4{margin:.2rem 0 .75rem;font-size:1.2rem;}
.zsl-matura .zslm-home-today-list{margin:0 0 14px;padding-left:1.35rem;display:grid;gap:8px;}
.zsl-matura .zslm-home-today-list li{padding-left:4px;}
.zsl-matura .zslm-home-today-list li strong{display:inline;margin-right:8px;}
.zsl-matura .zslm-home-today-list li span{color:var(--zslm-muted,#61717c);font-size:.9rem;white-space:normal;}
.zsl-matura .zslm-home-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;}
.zsl-matura .zslm-home-link-card{appearance:none;text-align:left;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;align-items:center;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;color:inherit;cursor:pointer;}
.zsl-matura .zslm-home-link-card strong{font-size:1.02rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-home-link-card span{grid-column:1;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-home-link-card b{grid-column:2;grid-row:1/3;font-size:1.25rem;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-today-exam{min-width:130px;padding:12px 14px;border-radius:14px;background:var(--zslm-navy,#082b49);color:#fff;text-align:center;}
.zsl-matura .zslm-today-exam span,.zsl-matura .zslm-today-exam strong{display:block;}
.zsl-matura .zslm-today-exam span{font-size:.76rem;opacity:.82;}
.zsl-matura .zslm-today-exam strong{font-size:1.2rem;margin-top:2px;}
.zsl-matura .zslm-today-list{display:grid;gap:12px;margin-top:16px;}
.zsl-matura .zslm-today-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:17px;background:#fff;min-width:0;overflow:hidden;}
.zsl-matura .zslm-today-no{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef7f8;color:var(--zslm-teal,#147b89);font-weight:850;}
.zsl-matura .zslm-today-card-copy{min-width:0;}
.zsl-matura .zslm-today-kind{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-today-card h4{margin:.18rem 0 .35rem;font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere;}
.zsl-matura .zslm-today-card p{margin:0;color:var(--zslm-muted,#61717c);overflow-wrap:anywhere;}
.zsl-matura .zslm-today-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.zsl-matura .zslm-today-answer{margin-top:12px;padding:12px 14px;border-left:4px solid var(--zslm-teal,#147b89);border-radius:10px;background:#f3f9fa;}
.zsl-matura .zslm-today-answer p{margin:.25rem 0 0;color:inherit;}
.zsl-matura .zslm-program-progress{margin-top:18px;padding:20px;border:1px solid var(--zslm-border,#dce6ec);border-radius:17px;background:#fff;}
.zsl-matura .zslm-program-progress h4{margin:.2rem 0 .75rem;}
.zsl-matura .zslm-progress-track{height:9px;border-radius:999px;background:#e8eff3;overflow:hidden;}
.zsl-matura .zslm-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-program-progress p{margin:.8rem 0 0;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.zsl-matura .zslm-check-domain-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.zsl-matura .zslm-feedback-tip{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid rgba(8,43,73,.12);}
.zsl-matura .zslm-feedback-tip strong{display:block;margin-bottom:3px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-feedback-tip p{margin:0;}
.zsl-matura .zslm-info-box{margin:16px 0;padding:16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#f8fbfc;}

@media(max-width:767px){
  .zsl-matura .zslm-learning-home-hero,.zsl-matura .zslm-today-hero{grid-template-columns:1fr;padding:20px;align-items:start;}
  .zsl-matura .zslm-home-main-actions{justify-content:stretch;}
  .zsl-matura .zslm-home-main-actions .zslm-button{width:100%;}
  .zsl-matura .zslm-home-secondary,.zsl-matura .zslm-check-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-today-exam{justify-self:start;min-width:0;}
  .zsl-matura .zslm-today-card{grid-template-columns:38px minmax(0,1fr);}
  .zsl-matura .zslm-today-card>.zslm-button{grid-column:1/-1;width:100%;}
}
@media(max-width:390px){
  .zsl-matura .zslm-learning-home-hero,.zsl-matura .zslm-today-hero{padding:16px;border-radius:16px;}
  .zsl-matura .zslm-today-card{padding:14px;gap:10px;}
  .zsl-matura .zslm-home-link-card{padding:15px;}
}

/* ==========================================================
   v0.16 — BIBLIOTEKA WIEDZY 2.0
   ========================================================== */
.zsl-matura .zslm-library-orientation{
  margin:18px 0 0;padding:20px 22px;border:1px solid rgba(20,123,137,.24);
  border-left:5px solid var(--zslm-teal,#147b89);border-radius:15px;background:#f5fbfc;
  min-width:0;max-width:100%;overflow:hidden;
}
.zsl-matura .zslm-library-orientation p{margin:6px 0 0;line-height:1.65;color:var(--zslm-navy,#082b49);overflow-wrap:anywhere;}
.zsl-matura .zslm-knowledge-checklist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px;}
.zsl-matura .zslm-knowledge-checklist li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;min-width:0;}
.zsl-matura .zslm-knowledge-checklist li>span:last-child{overflow-wrap:anywhere;}
.zsl-matura .zslm-check-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#e7f5f6;color:var(--zslm-teal,#147b89);font-weight:900;line-height:1;}
.zsl-matura .zslm-cke-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
.zsl-matura .zslm-cke-evidence-card{position:relative;min-width:0;max-width:100%;padding:16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:13px;background:#fff;overflow:hidden;}
.zsl-matura .zslm-cke-evidence-card p{margin:8px 0 0;line-height:1.55;overflow-wrap:anywhere;}
.zsl-matura .zslm-cke-evidence-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0;}
.zsl-matura .zslm-cke-evidence-meta strong{overflow-wrap:anywhere;}
.zsl-matura .zslm-cke-evidence-meta span{font-size:.8rem;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-mini-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-width:0;}
.zsl-matura .zslm-mini-tags span,.zsl-matura .zslm-visual-evidence{display:inline-flex;max-width:100%;padding:5px 8px;border-radius:999px;background:#f0f5f7;font-size:.75rem;color:var(--zslm-navy,#082b49);overflow-wrap:anywhere;white-space:normal;}
.zsl-matura .zslm-visual-evidence{margin-top:10px;background:#fff6d9;border:1px solid rgba(240,180,0,.35);font-weight:800;}
.zsl-matura .zslm-character-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;min-width:0;}
.zsl-matura .zslm-character-profile>div{min-width:0;padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#f8fbfc;}
.zsl-matura .zslm-character-profile p{margin:5px 0 0;overflow-wrap:anywhere;}
.zsl-matura .zslm-work-facts{grid-template-columns:repeat(3,minmax(0,1fr));}
.zsl-matura .zslm-work-facts>*{min-width:0;overflow:hidden;}
.zsl-matura .zslm-work-facts strong{overflow-wrap:anywhere;word-break:normal;}

@media(max-width:900px){
  .zsl-matura .zslm-cke-evidence-grid,.zsl-matura .zslm-character-profile{grid-template-columns:1fr;}
  .zsl-matura .zslm-work-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .zsl-matura .zslm-library-orientation{padding:16px;}
  .zsl-matura .zslm-work-facts{grid-template-columns:1fr;}
  .zsl-matura .zslm-cke-evidence-card{padding:14px;}
}

/* ==========================================================
   v0.17 — VISUAL MATURA
   Local visual stimuli + CKE-modeled interpretation practice.
   ========================================================== */
.zsl-matura .zslm-visual-catalog-intro{
  margin:0 0 16px;padding:18px 20px;border:1px solid rgba(20,123,137,.25);
  border-left:5px solid var(--zslm-teal,#147b89);border-radius:15px;background:#f4fafb;
  min-width:0;max-width:100%;overflow:hidden;
}
.zsl-matura .zslm-visual-catalog-intro strong{display:block;color:var(--zslm-navy,#082b49);font-size:1.05rem;}
.zsl-matura .zslm-visual-catalog-intro p{margin:5px 0 0;line-height:1.55;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;min-width:0;max-width:100%;}
.zsl-matura .zslm-visual-card{
  display:grid;grid-template-rows:auto 1fr;width:100%;min-width:0;max-width:100%;padding:0;
  border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;color:var(--zslm-navy,#082b49);
  text-align:left;overflow:hidden;cursor:pointer;box-shadow:none;
}
.zsl-matura .zslm-visual-card:hover{border-color:rgba(20,123,137,.5);box-shadow:0 8px 24px rgba(8,43,73,.08);}
.zsl-matura .zslm-visual-card-media{aspect-ratio:16/10;background:#edf2f4;overflow:hidden;min-width:0;}
.zsl-matura .zslm-visual-card-media img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%;}
.zsl-matura .zslm-visual-card-body{display:flex;flex-direction:column;gap:7px;padding:15px;min-width:0;}
.zsl-matura .zslm-visual-card-title{font-size:1rem;line-height:1.3;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-card-body p{margin:0;color:var(--zslm-muted,#61717c);font-size:.88rem;line-height:1.45;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:5px;font-size:.8rem;color:var(--zslm-teal,#147b89);min-width:0;}
.zsl-matura .zslm-visual-card-foot span,.zsl-matura .zslm-visual-card-foot b{overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-detail{min-width:0;max-width:100%;}
.zsl-matura .zslm-visual-hero{margin:18px 0 20px;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:#f3f6f7;overflow:hidden;min-width:0;max-width:100%;}
.zsl-matura .zslm-visual-hero img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;background:#eef2f3;}
.zsl-matura .zslm-visual-hero figcaption{padding:10px 14px;background:#fff;color:var(--zslm-muted,#61717c);font-size:.78rem;line-height:1.45;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-protocol{margin:18px 0;padding:20px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;min-width:0;overflow:hidden;}
.zsl-matura .zslm-visual-protocol h4{margin:3px 0 12px;}
.zsl-matura .zslm-visual-protocol-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;counter-reset:none;}
.zsl-matura .zslm-visual-protocol-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border-radius:12px;background:#f7fafb;min-width:0;}
.zsl-matura .zslm-visual-protocol-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--zslm-navy,#082b49);color:#fff;font-weight:850;font-size:.78rem;}
.zsl-matura .zslm-visual-protocol-list p{margin:2px 0 0;font-size:.8rem;line-height:1.4;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-task{border-top:4px solid var(--zslm-teal,#147b89);}
.zsl-matura .zslm-visual-prompt{font-size:1.04rem;line-height:1.65;color:var(--zslm-navy,#082b49);overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-answer{width:100%;max-width:100%;min-height:160px;margin-top:12px;box-sizing:border-box;resize:vertical;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;min-width:0;}
.zsl-matura .zslm-visual-focus-card{padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#f8fbfc;min-width:0;overflow:hidden;}
.zsl-matura .zslm-visual-focus-card strong{display:block;color:var(--zslm-teal,#147b89);overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-focus-card p{margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-model{border-left:5px solid var(--zslm-yellow,#f0b400);background:#fffdf5;}
.zsl-matura .zslm-visual-model>p{line-height:1.65;overflow-wrap:anywhere;}
.zsl-matura .zslm-visual-cke-note{margin:18px 0;padding:16px 18px;border-radius:14px;background:#eef6f7;color:var(--zslm-navy,#082b49);border:1px solid rgba(20,123,137,.22);min-width:0;overflow:hidden;}
.zsl-matura .zslm-visual-cke-note strong{display:block;margin-bottom:4px;}
.zsl-matura .zslm-visual-cke-note p{margin:0;line-height:1.5;overflow-wrap:anywhere;}

@media(max-width:1024px){
  .zsl-matura .zslm-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-visual-protocol-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .zsl-matura .zslm-visual-grid,.zsl-matura .zslm-visual-focus-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-visual-protocol-list{grid-template-columns:1fr;}
  .zsl-matura .zslm-visual-hero{border-radius:14px;}
}
@media(max-width:390px){
  .zsl-matura .zslm-visual-catalog-intro,.zsl-matura .zslm-visual-protocol{padding:15px;}
  .zsl-matura .zslm-visual-card-body{padding:13px;}
  .zsl-matura .zslm-visual-focus-card{padding:12px;}
}

/* ==========================================================
   v0.21 — REPETYTORIUM + POWIĄZANIA WIEDZY + FINAL LEARNING UX
   ========================================================== */
.zsl-matura :where(
  .zslm-home--v021,.zslm-home-progress,.zslm-home-today-focus,
  .zslm-rep-view,.zslm-rep-hero,.zslm-rep-category-grid,.zslm-rep-unit-list,
  .zslm-rep-unit-card,.zslm-rep-unit-view,.zslm-rep-unit-hero,.zslm-rep-recall,
  .zslm-rep-writing,.zslm-rep-visual-grid,.zslm-rep-visual-card,.zslm-rep-finish,
  .zslm-today-progress-summary,.zslm-today-reviews,.zslm-today-main-focus,
  .zslm-qb-task,.zslm-qb-pair,.zslm-qb-source,.zslm-qb-feedback,.zslm-qb-set-list,
  .zslm-library-search,.zslm-library-main-grid,.zslm-kmap-view,.zslm-kmap-search-results,
  .zslm-kmap-work-grid,.zslm-kmap-compare-grid,.zslm-kmap-compare-card
){min-width:0;max-width:100%;box-sizing:border-box;}

.zsl-matura .zslm-home-progress{
  display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;
  gap:1px 12px;align-items:center;margin-top:18px;padding:14px 16px;border-radius:15px;
  background:#fff;border:1px solid var(--zslm-border,#dce6ec);max-width:390px;
}
.zsl-matura .zslm-home-progress strong{grid-row:1/3;font-size:1.8rem;line-height:1;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-home-progress span{font-weight:800;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-home-progress small{color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-home-today-focus{margin-top:18px;padding:18px 20px;border-radius:16px;background:#f7fafb;border:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-home-today-focus h4{margin:.2rem 0 .35rem;font-size:1.15rem;line-height:1.3;}
.zsl-matura .zslm-home-today-focus p{margin:0;color:var(--zslm-muted,#61717c);line-height:1.55;}
.zsl-matura .zslm-home-secondary--four{grid-template-columns:repeat(4,minmax(0,1fr));}

.zsl-matura .zslm-rep-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:24px;align-items:center;
  padding:24px;border:1px solid var(--zslm-border,#dce6ec);border-radius:20px;background:linear-gradient(135deg,#f4fafb 0%,#fff 74%);
}
.zsl-matura .zslm-rep-hero h3,.zsl-matura .zslm-rep-unit-hero h3{margin:.2rem 0 .55rem;color:var(--zslm-navy,#082b49);font-size:clamp(1.45rem,3.5vw,2rem);line-height:1.18;}
.zsl-matura .zslm-rep-hero p,.zsl-matura .zslm-rep-unit-hero p{margin:.3rem 0 0;line-height:1.6;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-rep-total{padding:16px;border-radius:15px;background:#fff;border:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-rep-progressbar{display:grid;gap:7px;margin:10px 0;}
.zsl-matura .zslm-rep-progressbar__top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.9rem;}
.zsl-matura .zslm-rep-progressbar__top span{color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-rep-progressbar__top strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-rep-intro{margin:14px 0 0;color:var(--zslm-muted,#61717c);font-size:.9rem;line-height:1.55;}
.zsl-matura .zslm-rep-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;}
.zsl-matura .zslm-rep-category-card{padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;overflow:hidden;}
.zsl-matura .zslm-rep-category-card h4{margin:0 0 6px;font-size:1.02rem;line-height:1.3;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-rep-category-card p{margin:0;color:var(--zslm-muted,#61717c);font-size:.87rem;line-height:1.5;}
.zsl-matura .zslm-rep-category-card .zslm-text-button{margin-top:10px;min-height:44px;}
.zsl-matura .zslm-rep-unit-list{display:grid;gap:10px;margin-top:14px;}
.zsl-matura .zslm-rep-unit-card{
  appearance:none;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;
  padding:15px 16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;color:inherit;text-align:left;cursor:pointer;
}
.zsl-matura .zslm-rep-unit-card:hover{border-color:rgba(20,123,137,.5);box-shadow:0 6px 20px rgba(8,43,73,.06);}
.zsl-matura .zslm-rep-unit-no{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf7f8;color:var(--zslm-teal,#147b89);font-weight:850;}
.zsl-matura .zslm-rep-unit-copy{display:grid;gap:3px;min-width:0;}
.zsl-matura .zslm-rep-unit-copy strong{color:var(--zslm-navy,#082b49);line-height:1.3;}
.zsl-matura .zslm-rep-unit-copy span{color:var(--zslm-muted,#61717c);font-size:.87rem;line-height:1.45;}
.zsl-matura .zslm-rep-unit-card small{color:var(--zslm-teal,#147b89);white-space:nowrap;}

.zsl-matura .zslm-rep-unit-view{display:grid;gap:18px;}
.zsl-matura .zslm-rep-unit-hero{padding:22px;border-radius:18px;border:1px solid var(--zslm-border,#dce6ec);background:#f8fbfc;}
.zsl-matura .zslm-rep-list{margin:8px 0 0;padding-left:1.35rem;display:grid;gap:8px;line-height:1.58;}
.zsl-matura .zslm-rep-recall,.zsl-matura .zslm-rep-writing,.zsl-matura .zslm-rep-visuals,.zsl-matura .zslm-rep-questions,.zsl-matura .zslm-rep-finish{
  padding:20px;border:1px solid var(--zslm-border,#dce6ec);border-radius:17px;background:#fff;overflow:hidden;
}
.zsl-matura .zslm-rep-recall{border-left:5px solid var(--zslm-teal,#147b89);background:#f7fbfc;}
.zsl-matura .zslm-rep-writing{border-left:5px solid var(--zslm-yellow,#f0b400);background:#fffdf6;}
.zsl-matura .zslm-rep-recall h4,.zsl-matura .zslm-rep-writing h4,.zsl-matura .zslm-rep-visuals h4,.zsl-matura .zslm-rep-questions h4,.zsl-matura .zslm-rep-finish h4{margin:.15rem 0 .65rem;}
.zsl-matura .zslm-rep-recall textarea,.zsl-matura .zslm-rep-writing textarea{width:100%;max-width:100%;min-height:112px;box-sizing:border-box;resize:vertical;}
.zsl-matura .zslm-rep-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px;}
.zsl-matura .zslm-rep-visual-card{overflow:hidden;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;}
.zsl-matura .zslm-rep-visual-card img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#eef2f3;}
.zsl-matura .zslm-rep-visual-card figcaption{padding:10px 12px;color:var(--zslm-muted,#61717c);font-size:.8rem;line-height:1.45;}

.zsl-matura .zslm-today-progress-summary{margin:16px 0;padding:14px 16px;border-radius:14px;background:#f7fafb;border:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-today-reviews{margin:15px 0;padding:17px;border-radius:15px;background:#fffaf0;border:1px solid rgba(240,180,0,.35);}
.zsl-matura .zslm-today-reviews ul{margin:8px 0 0;padding-left:1.25rem;display:grid;gap:7px;}
.zsl-matura .zslm-today-main-focus{padding:22px;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:#fff;}
.zsl-matura .zslm-today-main-focus h4{margin:.2rem 0 .4rem;font-size:1.3rem;line-height:1.25;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-today-main-focus p{line-height:1.55;color:var(--zslm-muted,#61717c);}

.zsl-matura .zslm-qb-set{display:grid;gap:14px;}
.zsl-matura .zslm-qb-set-list{display:grid;gap:16px;}
.zsl-matura .zslm-qb-task{padding:19px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;overflow:hidden;}
.zsl-matura .zslm-qb-task .zslm-panel-eyebrow{display:block;margin-bottom:6px;}
.zsl-matura .zslm-qb-work{display:block;margin:0 0 8px;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-qb-prompt{margin:.35rem 0 .55rem;font-size:1.05rem;line-height:1.48;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-qb-instruction{margin:.2rem 0 .8rem;color:var(--zslm-muted,#61717c);line-height:1.5;}
.zsl-matura .zslm-qb-answer{width:100%;max-width:100%;box-sizing:border-box;resize:vertical;}
.zsl-matura .zslm-qb-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px;}
.zsl-matura .zslm-qb-source{padding:15px;border-radius:13px;background:#f7fafb;border:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-qb-source h5{margin:0 0 8px;}
.zsl-matura .zslm-qb-source p{margin:0;line-height:1.62;white-space:pre-line;}
.zsl-matura .zslm-qb-source-text{margin:12px 0 16px;padding:14px 16px;border-left:4px solid var(--zslm-teal,#147b89);background:#f7fafb;line-height:1.62;}
.zsl-matura .zslm-qb-visual{margin:12px 0 16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;overflow:hidden;background:#f2f5f6;}
.zsl-matura .zslm-qb-visual img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;}
.zsl-matura .zslm-qb-visual figcaption{padding:9px 12px;background:#fff;font-size:.8rem;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-qb-feedback{margin-top:14px;padding:15px;border-radius:13px;background:#f2f9fa;border:1px solid rgba(20,123,137,.25);}
.zsl-matura .zslm-qb-feedback>strong{display:block;margin-bottom:6px;}
.zsl-matura .zslm-qb-model{margin-top:10px;line-height:1.6;}
.zsl-matura .zslm-qb-traps{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff8e7;}

.zsl-matura .zslm-library-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:14px 0 18px;}
.zsl-matura .zslm-library-search input{min-width:0;width:100%;min-height:44px;box-sizing:border-box;}
.zsl-matura .zslm-library-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}

.zsl-matura .zslm-kmap-view{display:grid;gap:18px;}
.zsl-matura .zslm-kmap-search-results{display:grid;gap:9px;}
.zsl-matura .zslm-search-result-card,.zsl-matura .zslm-kmap-work-card{
  appearance:none;width:100%;min-height:48px;padding:13px 15px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#fff;color:inherit;text-align:left;cursor:pointer;
}
.zsl-matura .zslm-search-result-card strong,.zsl-matura .zslm-kmap-work-card strong{display:block;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-search-result-card small,.zsl-matura .zslm-kmap-work-card small{display:block;margin-top:3px;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-kmap-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-kmap-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.zsl-matura .zslm-kmap-compare-card{padding:17px;border:1px solid var(--zslm-border,#dce6ec);border-radius:15px;background:#fff;}
.zsl-matura .zslm-kmap-compare-card h4{margin:.1rem 0 .55rem;color:var(--zslm-navy,#082b49);line-height:1.3;}
.zsl-matura .zslm-kmap-compare-card p{margin:.35rem 0;line-height:1.55;}
.zsl-matura .zslm-kmap-prompt{padding:10px 12px;border-radius:10px;background:#f4fafb;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-kmap-recall{padding:17px;border-left:5px solid var(--zslm-yellow,#f0b400);border-radius:14px;background:#fffaf0;}
.zsl-matura .zslm-kmap-recall p{margin:.4rem 0 0;line-height:1.58;}

@media(max-width:1024px){
  .zsl-matura .zslm-home-secondary--four{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-rep-category-grid,.zsl-matura .zslm-kmap-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-rep-hero{grid-template-columns:1fr;padding:19px;}
  .zsl-matura .zslm-rep-category-grid,.zsl-matura .zslm-library-main-grid,.zsl-matura .zslm-kmap-work-grid,.zsl-matura .zslm-kmap-compare-grid,.zsl-matura .zslm-qb-pair,.zsl-matura .zslm-rep-visual-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-rep-unit-card{grid-template-columns:38px minmax(0,1fr);}
  .zsl-matura .zslm-rep-unit-card>small{grid-column:2;white-space:normal;}
  .zsl-matura .zslm-library-search{grid-template-columns:1fr;}
  .zsl-matura .zslm-library-search .zslm-button{width:100%;}
}
@media(max-width:520px){
  .zsl-matura .zslm-home-secondary--four{grid-template-columns:1fr;}
  .zsl-matura .zslm-home-progress{grid-template-columns:auto minmax(0,1fr);padding:12px 14px;}
  .zsl-matura .zslm-rep-recall,.zsl-matura .zslm-rep-writing,.zsl-matura .zslm-rep-visuals,.zsl-matura .zslm-rep-questions,.zsl-matura .zslm-rep-finish,.zsl-matura .zslm-qb-task{padding:15px;}
  .zsl-matura .zslm-today-main-focus{padding:17px;}
}
@media(max-width:390px){
  .zsl-matura .zslm-rep-hero,.zsl-matura .zslm-rep-unit-hero{padding:15px;border-radius:15px;}
  .zsl-matura .zslm-rep-category-card{padding:15px;}
  .zsl-matura .zslm-rep-unit-card{padding:13px;gap:10px;}
  .zsl-matura .zslm-kmap-compare-card{padding:14px;}
}
/* v0.21 small component corrections after browser integration review. */
.zsl-matura input.zslm-library-search{
  display:block;width:100%;min-width:0;min-height:46px;margin:14px 0 18px;padding:10px 13px;
  border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#fff;color:var(--zslm-navy,#082b49);box-sizing:border-box;
}
.zsl-matura input.zslm-library-search:focus{outline:3px solid rgba(20,123,137,.2);outline-offset:2px;border-color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-rep-total strong{display:block;font-size:1.8rem;line-height:1;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-rep-total span{display:block;margin-top:4px;color:var(--zslm-muted,#61717c);font-size:.85rem;}
.zsl-matura .zslm-rep-category-card>strong{display:block;font-size:1.02rem;color:var(--zslm-navy,#082b49);line-height:1.3;}
.zsl-matura .zslm-rep-category-card>span{display:block;margin-top:5px;color:var(--zslm-muted,#61717c);font-size:.87rem;line-height:1.48;}
.zsl-matura .zslm-rep-category-card>small{display:block;margin-top:10px;color:var(--zslm-teal,#147b89);font-weight:700;}
.zsl-matura .zslm-rep-category-card>b,.zsl-matura .zslm-rep-unit-card>b,.zsl-matura .zslm-kmap-work-card>b{color:var(--zslm-teal,#147b89);}

/* ==========================================================
   v0.21.1 — REAL-SITE LAYOUT HOTFIX
   Long Polish copy must stay inside cards; media must touch its frame.
   ========================================================== */
.zsl-matura,
.zsl-matura *{box-sizing:border-box;}
.zsl-matura :where(
  .zslm-app-view,.zslm-learning-home,.zslm-learning-home-hero,.zslm-home-main-actions,
  .zslm-home-secondary,.zslm-home-secondary--four,.zslm-home-link-card,
  .zslm-section-head,.zslm-section-head>*,.zslm-today-more,.zslm-profile-actions,
  .zslm-today-main-focus,.zslm-today-reviews,.zslm-today-progress-summary,
  .zslm-rep-view,.zslm-rep-hero,.zslm-rep-hero>*,.zslm-rep-category-grid,
  .zslm-rep-category-card,.zslm-rep-unit-card,.zslm-rep-unit-copy,.zslm-rep-unit-view,
  .zslm-rep-section,.zslm-rep-writing,.zslm-rep-visuals,.zslm-rep-questions,.zslm-rep-finish,
  .zslm-library-view,.zslm-library-main-grid,.zslm-kmap-view,.zslm-kmap-work-grid,
  .zslm-kmap-compare-grid,.zslm-kmap-compare-card,.zslm-relation-grid,.zslm-relation-card,
  .zslm-check-hub,.zslm-check-grid,.zslm-qb-set,.zslm-qb-task,.zslm-qb-pair,.zslm-qb-source,
  .zslm-knowledge-panel,.zslm-path-grid,.zslm-path-card
){min-width:0;max-width:100%;}

.zsl-matura :where(
  h1,h2,h3,h4,h5,h6,p,li,summary,label,strong,small,span,b,a,button,figcaption,blockquote
){overflow-wrap:anywhere;word-break:normal;}

.zsl-matura :where(button,.zslm-button,.zslm-text-button,.zslm-back-button){
  max-width:100%;white-space:normal;line-height:1.3;
}

.zsl-matura .zslm-home-link-card{
  grid-template-columns:minmax(0,1fr) 22px;
  overflow:hidden;
}
.zsl-matura .zslm-home-link-card strong,
.zsl-matura .zslm-home-link-card span{
  min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;
}
.zsl-matura .zslm-home-link-card b{width:22px;text-align:center;align-self:center;}

.zsl-matura .zslm-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,42%);gap:18px;align-items:start;}
.zsl-matura .zslm-section-head>p{margin:.2rem 0 0;min-width:0;}
.zsl-matura .zslm-today-more,
.zsl-matura .zslm-profile-actions,
.zsl-matura .zslm-home-main-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.zsl-matura .zslm-today-more>*{flex:0 1 auto;}

/* Remove inline-image baseline/padding artefacts at the top of framed media. */
.zsl-matura :where(.zslm-visual-card-media,.zslm-visual-hero,.zslm-qb-visual,.zslm-rep-visual-card){
  padding:0!important;line-height:0;overflow:hidden;
}
.zsl-matura :where(.zslm-visual-card-media img,.zslm-visual-hero img,.zslm-qb-visual img,.zslm-rep-visual-card img){
  display:block!important;margin:0!important;padding:0!important;border:0;vertical-align:top;max-width:100%;
}
.zsl-matura :where(.zslm-visual-hero figcaption,.zslm-qb-visual figcaption,.zslm-rep-visual-card figcaption){line-height:1.45;}
.zsl-matura .zslm-rep-visual-card>strong,
.zsl-matura .zslm-rep-visual-card>p,
.zsl-matura .zslm-rep-visual-card>.zslm-button{margin-left:14px;margin-right:14px;}
.zsl-matura .zslm-rep-visual-card>strong{display:block;margin-top:14px;line-height:1.35;}
.zsl-matura .zslm-rep-visual-card>p{line-height:1.5;}
.zsl-matura .zslm-rep-visual-card>.zslm-button{margin-bottom:14px;}

@media (max-width: 900px){
  .zsl-matura .zslm-section-head{grid-template-columns:1fr;gap:8px;}
  .zsl-matura .zslm-rep-hero{grid-template-columns:1fr;gap:14px;}
}
@media (max-width: 520px){
  .zsl-matura .zslm-today-more>* ,
  .zsl-matura .zslm-profile-actions>* ,
  .zsl-matura .zslm-home-main-actions>*{width:100%;justify-content:center;}
  .zsl-matura .zslm-rep-unit-card{grid-template-columns:36px minmax(0,1fr);}
  .zsl-matura .zslm-rep-unit-card>b{display:none;}
  .zsl-matura .zslm-rep-unit-card small{white-space:normal;}
}

/* ==========================================================
   v0.22 — UX POLISH: clearer hierarchy, fewer competing cards
   ========================================================== */
.zsl-matura .zslm-home-utility-head{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:baseline;margin:22px 0 10px;min-width:0;}
.zsl-matura .zslm-home-utility-head strong{color:var(--zslm-navy,#082b49);font-size:1rem;}
.zsl-matura .zslm-home-utility-head span{color:var(--zslm-muted,#61717c);font-size:.88rem;}
.zsl-matura .zslm-home-secondary--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.zsl-matura .zslm-home-secondary--three .zslm-home-link-card{min-height:118px;align-content:center;}
.zsl-matura .zslm-home-secondary--three .zslm-home-link-card span{font-size:.88rem;line-height:1.45;}
.zsl-matura .zslm-learning-home-hero .zslm-home-main-actions{margin-top:18px;}
.zsl-matura .zslm-home-today-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;}
.zsl-matura .zslm-home-today-focus>.zslm-button{justify-self:end;}
@media(max-width:900px){.zsl-matura .zslm-home-secondary--three{grid-template-columns:1fr;}.zsl-matura .zslm-home-secondary--three .zslm-home-link-card{min-height:auto;}.zsl-matura .zslm-home-today-focus{grid-template-columns:1fr;}.zsl-matura .zslm-home-today-focus>.zslm-button{justify-self:start;}}
@media(max-width:520px){.zsl-matura .zslm-home-today-focus>.zslm-button{width:100%;justify-self:stretch;}}

/* ==========================================================
   v0.24 — SPRAWDZAM SIĘ 2.0
   ========================================================== */
.zsl-matura .zslm-qb-attempt-note{margin:8px 0 0;padding:9px 11px;border-radius:10px;background:#fff7dc;border:1px solid rgba(240,180,0,.38);color:var(--zslm-navy,#082b49);font-size:.88rem;line-height:1.45;}
.zsl-matura .zslm-qb-rating{margin-top:14px;padding-top:14px;border-top:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-qb-rating>strong{display:block;margin-bottom:8px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-qb-rating-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.zsl-matura .zslm-qb-rating-button{appearance:none;min-height:44px;padding:9px 13px;border:1px solid var(--zslm-border,#dce6ec);border-radius:999px;background:#fff;color:var(--zslm-navy,#082b49);font-weight:800;cursor:pointer;}
.zsl-matura .zslm-qb-rating-button.is-selected{border-color:var(--zslm-teal,#147b89);background:#eaf7f8;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-qb-rating-progress{margin:2px 0;color:var(--zslm-muted,#61717c);font-size:.88rem;}
.zsl-matura .zslm-qb-session-summary{padding:18px;border:1px solid rgba(20,123,137,.3);border-radius:16px;background:#f2f9fa;}
.zsl-matura .zslm-qb-session-summary h4{margin:.15rem 0 .55rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-qb-summary-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.zsl-matura .zslm-check-targeted{margin-top:18px;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#f8fbfc;}
.zsl-matura .zslm-check-targeted h4{margin:.2rem 0 .5rem;}
@media(max-width:520px){.zsl-matura .zslm-qb-rating-buttons>* , .zsl-matura .zslm-qb-summary-actions>*{width:100%;justify-content:center;}}

/* =========================================================
   v0.26 — jawna ścieżka uczenia: zrozum → przypomnij → zastosuj → sprawdź
   ========================================================= */
.zsl-matura .zslm-learning-sequence{
  margin-top:14px;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:#fff;
}
.zsl-matura .zslm-learning-sequence__steps{
  list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
}
.zsl-matura .zslm-learning-sequence__steps li{
  min-width:0;padding:12px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#f8fbfc;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:3px;align-items:center;
}
.zsl-matura .zslm-learning-sequence__steps li>b{
  width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--zslm-navy,#082b49);color:#fff;font-size:.78rem;
}
.zsl-matura .zslm-learning-sequence__steps li>strong{color:var(--zslm-navy,#082b49);font-size:.92rem;}
.zsl-matura .zslm-learning-sequence__steps li>small{grid-column:1/-1;color:var(--zslm-muted,#61717c);font-size:.78rem;line-height:1.4;}
.zsl-matura .zslm-today-route{
  margin:12px 0 16px;padding:11px 13px;border-radius:12px;background:#f4f9fa;border:1px solid rgba(20,123,137,.18);display:flex;gap:7px;flex-wrap:wrap;align-items:baseline;line-height:1.45;
}
.zsl-matura .zslm-today-route strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-today-route span{color:var(--zslm-muted,#61717c);}
@media(max-width:900px){.zsl-matura .zslm-learning-sequence__steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){
  .zsl-matura .zslm-learning-sequence{padding:14px;border-radius:15px;}
  .zsl-matura .zslm-learning-sequence__steps{grid-template-columns:1fr;gap:8px;}
  .zsl-matura .zslm-learning-sequence__steps li{padding:10px 11px;}
  .zsl-matura .zslm-today-route{display:block;}
  .zsl-matura .zslm-today-route strong,.zsl-matura .zslm-today-route span{display:block;}
}

/* ==========================================================
   v0.27 — Knowledge Library depth
   Dense knowledge cards remain readable on desktop and mobile.
========================================================== */
.zsl-matura .zslm-static-chip{
  display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--zslm-line,#d7e1e8);
  border-radius:10px;background:#f7fafc;color:var(--zslm-navy,#082b49);font-size:13px;font-weight:700;line-height:1.3;
}
.zsl-matura .zslm-scene-note + .zslm-scene-note{margin-top:10px;}
.zsl-matura .zslm-library-orientation + .zslm-work-facts{margin-top:14px;}
.zsl-matura .zslm-atlas-node .zslm-knowledge-panel p{overflow-wrap:anywhere;}
.zsl-matura .zslm-sources{margin-top:18px;}
@media(max-width:767px){
  .zsl-matura .zslm-static-chip{font-size:12px;min-height:34px;padding:6px 9px;}
}

/* ==========================================================
   v0.28 — UX / INFORMATION ARCHITECTURE / NAVIGATION
   One visual language, real browser-like back navigation,
   calmer cards and direct student-facing hierarchy.
========================================================== */
.zsl-matura{
  --zslm-surface:#ffffff;
  --zslm-surface-soft:#f7fafc;
  --zslm-surface-teal:#f1f8f9;
  --zslm-shadow-soft:0 10px 34px rgba(6,30,52,.055);
  --zslm-shadow-hover:0 14px 34px rgba(6,30,52,.085);
}

/* Course identity: ZSŁ Matura, not one school type. */
.zsl-matura .zslm-course-head{
  position:relative;overflow:hidden;
  padding:clamp(24px,3.4vw,38px) clamp(22px,3.7vw,42px);
  border-top-width:4px;border-radius:18px;
  background:linear-gradient(135deg,var(--zslm-navy-dark,#061e34) 0%,var(--zslm-navy,#082b49) 70%,#0b3a5b 100%);
  box-shadow:var(--zslm-shadow-soft);
}
.zsl-matura .zslm-course-head::after{
  content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;border-radius:50%;
  background:radial-gradient(circle,rgba(60,158,172,.16),rgba(60,158,172,0) 69%);pointer-events:none;
}
.zsl-matura .zslm-course-kicker{color:#bfe2e7;font-size:.75rem;letter-spacing:.105em;margin-bottom:9px;}
.zsl-matura .zslm-title{font-size:clamp(1.8rem,3.15vw,2.5rem);letter-spacing:-.025em;max-width:850px;}
.zsl-matura .zslm-lead{max-width:820px;margin-top:11px;color:#edf6f8;font-size:clamp(.96rem,1.2vw,1.05rem);line-height:1.62;}
.zsl-matura .zslm-status{position:relative;z-index:1;background:rgba(6,30,52,.22);border-color:rgba(255,255,255,.28);font-weight:750;white-space:nowrap;}

/* Student-useful exam facts replace internal build version. */
.zsl-matura .zslm-summary{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:14px;
  border-radius:16px;background:#fff;box-shadow:0 6px 24px rgba(6,30,52,.035);
}
.zsl-matura .zslm-summary>div{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:15px 18px;}
.zsl-matura .zslm-summary>div+div{border-left:1px solid var(--zslm-border,#dce4ea);}
.zsl-matura .zslm-summary-label{margin-bottom:6px;font-size:.75rem;}
.zsl-matura .zslm-summary strong{font-size:.98rem;line-height:1.35;}
.zsl-matura .zslm-summary-detail{display:block;margin-top:3px;color:var(--zslm-muted,#5e7181);font-size:.7rem;line-height:1.25;}

/* One consistent way back + explicit Start. */
.zsl-matura .zslm-app-toolbar{
  position:sticky;top:8px;z-index:28;display:flex;justify-content:space-between;align-items:center;gap:16px;
  min-height:54px;margin:14px 0 8px;padding:6px 8px;
  border:1px solid rgba(220,228,234,.94);border-radius:14px;background:rgba(255,255,255,.94);
  box-shadow:0 8px 26px rgba(6,30,52,.055);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.zsl-matura .zslm-toolbar-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;}
.zsl-matura .zslm-back-button,.zsl-matura .zslm-home-button{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;
  border:1px solid transparent;border-radius:9px;background:transparent;color:var(--zslm-navy,#082b49);font-weight:800;cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.zsl-matura .zslm-back-button:hover,.zsl-matura .zslm-home-button:hover{background:var(--zslm-surface-teal);border-color:rgba(20,123,137,.24);color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-current-location{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--zslm-muted,#5e7181);font-size:.82rem;}

/* Calm view transition; disabled for reduced motion below. */
.zsl-matura .zslm-app-view.is-entering{animation:zslm-v028-enter .19s ease-out both;}
@keyframes zslm-v028-enter{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Home hierarchy: one prominent start area, then quieter utilities. */
.zsl-matura .zslm-learning-home-hero{
  border-color:rgba(20,123,137,.19);background:linear-gradient(135deg,#f6fbfc 0%,#fff 74%);
  box-shadow:0 8px 26px rgba(6,30,52,.035);
}
.zsl-matura .zslm-learning-home-hero h3{letter-spacing:-.018em;}
.zsl-matura .zslm-home-utility-head{padding-top:2px;border-top:0;}
.zsl-matura .zslm-home-secondary--three{gap:12px;}
.zsl-matura .zslm-home-secondary--three .zslm-home-link-card{min-height:108px;padding:17px 18px;border-radius:14px;background:#fff;}

/* Shared interactive language. */
.zsl-matura :where(.zslm-home-link-card,.zslm-atlas-card,.zslm-kmap-work-card,.zslm-relation-card,.zslm-rep-category-card,.zslm-rep-unit-card,.zslm-search-result-card){
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
@media(hover:hover) and (pointer:fine){
  .zsl-matura :where(.zslm-home-link-card,.zslm-atlas-card,.zslm-kmap-work-card,.zslm-relation-card,.zslm-rep-category-card,.zslm-rep-unit-card,.zslm-search-result-card):hover{
    transform:translateY(-2px);border-color:rgba(20,123,137,.38);box-shadow:var(--zslm-shadow-hover);background:#fbfefe;
  }
}
.zsl-matura :where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid rgba(20,123,137,.26)!important;outline-offset:2px!important;}

/* Better vertical rhythm in long learning/knowledge screens. */
.zsl-matura .zslm-app-view{padding-bottom:18px;}
.zsl-matura .zslm-section-head{margin:28px 0 16px;gap:24px;}
.zsl-matura .zslm-knowledge-panel{margin-top:18px;}
.zsl-matura .zslm-knowledge-panel+.zslm-knowledge-panel{margin-top:14px;}
.zsl-matura .zslm-detail-top--compact{margin:0;min-height:0;}
.zsl-matura .zslm-detail-top--compact:empty{display:none;}
.zsl-matura .zslm-atlas-node,.zsl-matura .zslm-visual-detail,.zsl-matura .zslm-rep-unit-view{max-width:1120px;margin-inline:auto;}
.zsl-matura .zslm-atlas-node>.zslm-detail-title{margin-top:4px;}

/* Atlas category navigation: clearer group separation without oversized boxes. */
.zsl-matura .zslm-atlas-intro{padding:17px 19px;border-left-width:4px;border-radius:14px;}
.zsl-matura .zslm-atlas-nav-groups{gap:11px;}
.zsl-matura .zslm-atlas-nav-group{padding:14px;border-radius:14px;background:#fff;}
.zsl-matura .zslm-atlas-nav-group-head{margin-bottom:9px;}
.zsl-matura .zslm-atlas-nav-group-head strong{font-size:.94rem;}
.zsl-matura .zslm-atlas-nav-group-head span{font-size:.76rem;line-height:1.4;}
.zsl-matura .zslm-atlas-nav-button{min-height:40px;padding:8px 11px;border-radius:9px;font-size:.82rem;}
.zsl-matura .zslm-atlas-search{border-radius:12px;}

/* Fix work-card run-on text visible on production: title / author / action are separate rows. */
.zsl-matura .zslm-kmap-work-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:112px;padding:15px 38px 14px 15px;position:relative;
}
.zsl-matura .zslm-kmap-work-card::after{content:'→';position:absolute;right:15px;top:16px;color:var(--zslm-teal,#147b89);font-weight:900;}
.zsl-matura .zslm-kmap-work-card strong{line-height:1.32;}
.zsl-matura .zslm-kmap-work-author{display:block!important;margin:0!important;color:var(--zslm-muted,#5e7181);font-size:.8rem;line-height:1.35;}
.zsl-matura .zslm-card-action{display:block;margin-top:auto;padding-top:8px;color:var(--zslm-teal,#147b89);font-size:.78rem;font-weight:850;line-height:1.3;}

/* Comparisons: teach procedure once, then keep cards scannable. */
.zsl-matura .zslm-kmap-compare-section>h4{margin-bottom:6px;}
.zsl-matura .zslm-kmap-compare-intro{margin:0 0 14px!important;padding:11px 13px;border-radius:10px;background:var(--zslm-surface-teal);color:var(--zslm-navy,#082b49);line-height:1.55;}
.zsl-matura .zslm-kmap-compare-grid{gap:11px;}
.zsl-matura .zslm-kmap-compare-card{display:flex;flex-direction:column;gap:8px;min-height:190px;padding:15px;border-radius:13px;}
.zsl-matura .zslm-kmap-compare-card>strong{display:block;color:var(--zslm-navy,#082b49);font-size:.98rem;line-height:1.32;}
.zsl-matura .zslm-kmap-compare-card .zslm-kmap-compare-why{margin:0;line-height:1.48;color:var(--zslm-text,#17324a);}
.zsl-matura .zslm-kmap-compare-card .zslm-chip-grid{margin-top:0;}
.zsl-matura .zslm-kmap-compare-card>.zslm-text-button{align-self:flex-start;margin-top:auto;padding-bottom:0;}
.zsl-matura .zslm-kmap-prompt{display:none;}

/* "Dalsze połączenia" was too airy; compact related knowledge is easier to scan. */
.zsl-matura .zslm-relation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.zsl-matura .zslm-relation-card{
  position:relative;min-height:72px;padding:11px 34px 11px 12px;border-radius:11px;background:#fbfdfe;text-align:left;
}
.zsl-matura .zslm-relation-card::after{content:'→';position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--zslm-teal,#147b89);font-weight:900;}
.zsl-matura .zslm-relation-card strong{display:block;font-size:.88rem;line-height:1.3;}
.zsl-matura .zslm-relation-card span{display:block;margin-top:3px;color:var(--zslm-muted,#5e7181);font-size:.72rem;line-height:1.3;}
.zsl-matura .zslm-relation-card small{display:block;margin-top:5px;color:var(--zslm-muted,#5e7181);font-size:.7rem;line-height:1.35;}

/* Long content: readable line length and consistent action spacing. */
.zsl-matura .zslm-atlas-lead,.zsl-matura .zslm-section-intro,.zsl-matura .zslm-rep-intro{max-width:78ch;line-height:1.65;}
.zsl-matura .zslm-profile-actions,.zsl-matura .zslm-writing-actions,.zsl-matura .zslm-today-more,.zsl-matura .zslm-check-domain-buttons{gap:9px 10px;}
.zsl-matura .zslm-text-button{display:inline-flex;align-items:center;gap:4px;text-decoration:none;}

@media(max-width:980px){
  .zsl-matura .zslm-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--zslm-border,#dce4ea);}
  .zsl-matura .zslm-summary>div:nth-child(4){border-top:1px solid var(--zslm-border,#dce4ea);}
  .zsl-matura .zslm-relation-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-course-head{padding:22px 20px;border-radius:16px;}
  .zsl-matura .zslm-head-grid{grid-template-columns:1fr;gap:17px;align-items:start;}
  .zsl-matura .zslm-status{justify-self:start;min-height:38px;padding:7px 11px;}
  .zsl-matura .zslm-app-toolbar{position:sticky;top:5px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;margin-top:10px;}
  .zsl-matura .zslm-toolbar-actions{width:100%;justify-content:space-between;}
  .zsl-matura .zslm-current-location{padding:0 7px 5px;text-align:left;white-space:normal;line-height:1.35;}
  .zsl-matura .zslm-kmap-compare-grid,.zsl-matura .zslm-relation-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-kmap-compare-card{min-height:0;}
  .zsl-matura .zslm-kmap-work-card{min-height:96px;}
}
@media(max-width:480px){
  .zsl-matura .zslm-summary{grid-template-columns:1fr;}
  .zsl-matura .zslm-summary>div+div{border-left:0;border-top:1px solid var(--zslm-border,#dce4ea);}
  .zsl-matura .zslm-summary>div{min-height:68px;padding:12px 15px;}
  .zsl-matura .zslm-back-button,.zsl-matura .zslm-home-button{min-height:38px;padding:7px 9px;}
  .zsl-matura .zslm-atlas-nav-group{padding:12px;}
}
@media(prefers-reduced-motion:reduce){
  .zsl-matura .zslm-app-view.is-entering{animation:none!important;}
  .zsl-matura :where(.zslm-home-link-card,.zslm-atlas-card,.zslm-kmap-work-card,.zslm-relation-card,.zslm-rep-category-card,.zslm-rep-unit-card,.zslm-search-result-card){transition:none!important;}
}


/* v0.28 — exam map: important facts without technical release metadata. */
.zsl-matura .zslm-exam-map{margin:18px 0 22px;padding:20px;border:1px solid rgba(20,123,137,.18);border-radius:16px;background:linear-gradient(135deg,#fffdf7 0%,#fff 64%);box-shadow:0 7px 24px rgba(6,30,52,.035);}
.zsl-matura .zslm-exam-map__head{max-width:820px;margin-bottom:14px;}
.zsl-matura .zslm-exam-map__head h4{margin:4px 0 6px;color:var(--zslm-navy,#082b49);font-size:1.18rem;line-height:1.3;}
.zsl-matura .zslm-exam-map__head p{margin:0;color:var(--zslm-muted,#5e7181);line-height:1.55;}
.zsl-matura .zslm-exam-map__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-exam-map__card{display:flex;flex-direction:column;min-height:116px;padding:15px;border:1px solid var(--zslm-border,#dce4ea);border-radius:13px;background:#fff;}
.zsl-matura .zslm-exam-map__points{color:var(--zslm-teal,#147b89);font-size:1.3rem;line-height:1.1;}
.zsl-matura .zslm-exam-map__label{margin-top:8px;color:var(--zslm-navy,#082b49);font-weight:850;line-height:1.3;}
.zsl-matura .zslm-exam-map__card small{margin-top:auto;padding-top:8px;color:var(--zslm-muted,#5e7181);line-height:1.3;}
.zsl-matura .zslm-exam-map__note{margin:13px 0 0;color:var(--zslm-muted,#5e7181);font-size:.82rem;line-height:1.5;}
@media(max-width:980px){.zsl-matura .zslm-exam-map__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.zsl-matura .zslm-exam-map{padding:15px}.zsl-matura .zslm-exam-map__grid{grid-template-columns:1fr}.zsl-matura .zslm-exam-map__card{min-height:96px;}}

/* ============================================================
   v0.29 — Lesson Experience 2.0 prototype
   Guided, step-by-step lesson UI for selected Repetytorium units.
   ============================================================ */
.zsl-matura .zslm-rep-guided-badge{
  display:inline-flex;align-items:center;width:max-content;margin-top:8px;padding:5px 8px;
  border-radius:999px;background:#EEF8F9;color:var(--zslm-teal);font-style:normal;font-size:.72rem;font-weight:800;
}
.zsl-matura .zslm-rep-unit-view--guided{max-width:1080px;margin:20px auto 0;}
.zsl-matura .zslm-lesson-v2-hero{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;
  padding:clamp(22px,3vw,34px);border:1px solid var(--zslm-border);border-top:4px solid var(--zslm-course-accent);
  border-radius:16px;background:linear-gradient(135deg,#F8FBFC 0%,#FFFFFF 70%);
}
.zsl-matura .zslm-lesson-v2-hero h3{margin:4px 0 8px;color:var(--zslm-navy);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2;}
.zsl-matura .zslm-lesson-v2-hero p{margin:0;max-width:780px;color:var(--zslm-muted);line-height:1.65;}
.zsl-matura .zslm-lesson-v2-hero-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
.zsl-matura .zslm-lesson-v2-shell{margin-top:18px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(6,30,52,.045);}
.zsl-matura .zslm-lesson-v2-progress-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px 10px;color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-progress-head span{color:var(--zslm-muted);text-align:right;}
.zsl-matura .zslm-lesson-v2-progress{height:7px;background:#EAF0F3;overflow:hidden;}
.zsl-matura .zslm-lesson-v2-progress>span{display:block;height:100%;width:0;background:var(--zslm-teal);transition:width .22s ease;}
.zsl-matura .zslm-lesson-v2-nav{
  display:flex;gap:8px;padding:14px 16px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--zslm-border);background:#FBFDFD;
  overscroll-behavior-inline:contain;scroll-snap-type:x proximity;
}
.zsl-matura .zslm-lesson-v2-nav-step{
  flex:0 0 auto;display:grid;grid-template-columns:28px minmax(100px,190px);align-items:center;gap:8px;min-height:48px;
  border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-text);padding:7px 10px;text-align:left;cursor:pointer;scroll-snap-align:center;
}
.zsl-matura .zslm-lesson-v2-nav-step b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#EEF3F5;color:var(--zslm-navy);font-size:.78rem;}
.zsl-matura .zslm-lesson-v2-nav-step span{font-size:.78rem;font-weight:750;line-height:1.25;}
.zsl-matura .zslm-lesson-v2-nav-step.is-active{border-color:var(--zslm-teal);background:#F2FAFB;color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-nav-step.is-active b{background:var(--zslm-teal);color:#fff;}
.zsl-matura .zslm-lesson-v2-nav-step.is-done b{background:var(--zslm-success-bg);color:var(--zslm-success);}
.zsl-matura .zslm-lesson-v2-stage{min-height:440px;padding:clamp(22px,4vw,42px);}
.zsl-matura .zslm-lesson-v2-stage-head{max-width:820px;margin-bottom:24px;}
.zsl-matura .zslm-lesson-v2-stage-head h4{margin:4px 0 10px;color:var(--zslm-navy);font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.25;}
.zsl-matura .zslm-lesson-v2-stage-head p{margin:0;color:var(--zslm-muted);line-height:1.65;font-size:1rem;}
.zsl-matura .zslm-lesson-v2-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}
.zsl-matura .zslm-lesson-v2-facts>div{border:1px solid var(--zslm-border);border-radius:12px;padding:14px;background:#F9FBFC;}
.zsl-matura .zslm-lesson-v2-facts span{display:block;color:var(--zslm-muted);font-size:.76rem;margin-bottom:5px;}
.zsl-matura .zslm-lesson-v2-facts strong{display:block;color:var(--zslm-navy);line-height:1.45;}
.zsl-matura .zslm-lesson-v2-note{margin:14px 0;padding:16px 18px;border-left:4px solid var(--zslm-course-accent);border-radius:10px;background:#FFFBF1;}
.zsl-matura .zslm-lesson-v2-note strong{color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-note p{margin:6px 0 0;line-height:1.6;}
.zsl-matura .zslm-lesson-v2-outcomes{margin:20px 0;padding:18px;border-radius:12px;background:#F7FAFB;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-lesson-v2-outcomes h5{margin:0 0 10px;color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-lesson-v2-outcomes ul{margin:0;padding-left:22px;display:grid;gap:7px;line-height:1.55;}
.zsl-matura .zslm-lesson-v2-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.zsl-matura .zslm-lesson-v2-card{border:1px solid var(--zslm-border);border-radius:13px;padding:18px;background:#fff;min-width:0;}
.zsl-matura .zslm-lesson-v2-card h5{margin:0 0 8px;color:var(--zslm-navy);font-size:1.02rem;}
.zsl-matura .zslm-lesson-v2-card>p{margin:0;color:var(--zslm-text);line-height:1.62;}
.zsl-matura .zslm-lesson-v2-remember{margin-top:12px;padding:10px 12px;border-radius:9px;background:#F3F8FA;}
.zsl-matura .zslm-lesson-v2-remember strong{display:block;color:var(--zslm-teal);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;}
.zsl-matura .zslm-lesson-v2-remember span{line-height:1.5;font-size:.9rem;}
.zsl-matura .zslm-lesson-v2-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.zsl-matura .zslm-lesson-v2-quiz{display:grid;gap:16px;max-width:860px;}
.zsl-matura .zslm-lesson-v2-question{border:1px solid var(--zslm-border);border-radius:14px;padding:18px;background:#fff;}
.zsl-matura .zslm-lesson-v2-question h5{margin:5px 0 14px;color:var(--zslm-navy);font-size:1rem;line-height:1.45;}
.zsl-matura .zslm-lesson-v2-options{display:grid;gap:8px;}
.zsl-matura .zslm-lesson-v2-option{width:100%;min-height:46px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-text);padding:11px 13px;text-align:left;cursor:pointer;line-height:1.45;}
.zsl-matura .zslm-lesson-v2-option:hover:not(:disabled){border-color:var(--zslm-teal);background:#F8FBFC;}
.zsl-matura .zslm-lesson-v2-option.is-correct{border-color:#A6D5BD;background:var(--zslm-success-bg);color:var(--zslm-success);font-weight:700;}
.zsl-matura .zslm-lesson-v2-option.is-wrong{border-color:#E3B6B0;background:var(--zslm-error-bg);color:var(--zslm-error);}
.zsl-matura .zslm-lesson-v2-option:disabled{cursor:default;opacity:1;}
.zsl-matura .zslm-lesson-v2-feedback{margin-top:12px;padding:12px 14px;border-radius:10px;background:#F7FAFB;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-lesson-v2-feedback strong{color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-feedback p{margin:5px 0 0;line-height:1.55;}
.zsl-matura .zslm-lesson-v2-feedback.is-correct{background:var(--zslm-success-bg);border-color:#B7DDC9;}
.zsl-matura .zslm-lesson-v2-feedback.is-wrong{background:var(--zslm-error-bg);border-color:#E9C2BD;}
.zsl-matura .zslm-lesson-v2-evidence-grid{display:grid;gap:12px;}
.zsl-matura .zslm-lesson-v2-evidence-card{border:1px solid var(--zslm-border);border-radius:14px;padding:18px;background:#fff;}
.zsl-matura .zslm-lesson-v2-evidence-card h5{margin:4px 0 12px;color:var(--zslm-navy);font-size:1.08rem;}
.zsl-matura .zslm-lesson-v2-evidence-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:10px 0;border-top:1px solid #EDF1F3;}
.zsl-matura .zslm-lesson-v2-evidence-row:first-of-type{border-top:0;}
.zsl-matura .zslm-lesson-v2-evidence-row strong{color:var(--zslm-teal);font-size:.82rem;}
.zsl-matura .zslm-lesson-v2-evidence-row p{margin:0;line-height:1.6;}
.zsl-matura .zslm-lesson-v2-use-label{display:block;margin-top:12px;color:var(--zslm-navy);font-size:.82rem;}
.zsl-matura .zslm-lesson-v2-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.zsl-matura .zslm-lesson-v2-connection-card{border:1px solid var(--zslm-border);border-radius:14px;padding:18px;background:#fff;}
.zsl-matura .zslm-lesson-v2-connection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.zsl-matura .zslm-lesson-v2-connection-head h5{margin:0;color:var(--zslm-navy);font-size:1.05rem;}
.zsl-matura .zslm-lesson-v2-compare-row{padding:9px 0;border-top:1px solid #EDF1F3;}
.zsl-matura .zslm-lesson-v2-compare-row strong{display:block;color:var(--zslm-teal);font-size:.78rem;margin-bottom:3px;}
.zsl-matura .zslm-lesson-v2-compare-row p{margin:0;line-height:1.55;}
.zsl-matura .zslm-lesson-v2-when{margin:10px 0 0;padding:10px 12px;border-radius:9px;background:#F7FAFB;line-height:1.5;font-size:.9rem;}
.zsl-matura .zslm-lesson-v2-worked-question{padding:16px 18px;border-radius:12px;background:#F3F8FA;margin-bottom:12px;}
.zsl-matura .zslm-lesson-v2-worked-question strong{color:var(--zslm-teal);font-size:.78rem;text-transform:uppercase;}
.zsl-matura .zslm-lesson-v2-worked-question p{margin:5px 0 0;color:var(--zslm-navy);font-weight:750;line-height:1.55;}
.zsl-matura .zslm-lesson-v2-worked{border:1px solid var(--zslm-border);border-radius:12px;padding:16px 18px;margin:10px 0;}
.zsl-matura .zslm-lesson-v2-worked p{margin:7px 0 0;line-height:1.65;}
.zsl-matura .zslm-lesson-v2-worked small{display:block;margin-top:8px;color:var(--zslm-muted);line-height:1.5;}
.zsl-matura .zslm-lesson-v2-worked.is-weak{border-left:4px solid var(--zslm-error);background:#FFF9F8;}
.zsl-matura .zslm-lesson-v2-worked.is-strong{border-left:4px solid var(--zslm-success);background:#F7FCF9;}
.zsl-matura .zslm-lesson-v2-worked-answer{margin-top:12px;}
.zsl-matura .zslm-lesson-v2-worked-answer>summary{cursor:pointer;color:var(--zslm-teal);font-weight:800;padding:12px 0;}
.zsl-matura .zslm-lesson-v2-anatomy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;}
.zsl-matura .zslm-lesson-v2-anatomy>div{padding:12px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;}
.zsl-matura .zslm-lesson-v2-anatomy strong{display:block;color:var(--zslm-teal);font-size:.78rem;margin-bottom:4px;}
.zsl-matura .zslm-lesson-v2-anatomy span{line-height:1.5;}
.zsl-matura .zslm-lesson-v2-checklist{display:grid;gap:9px;margin:16px 0 20px;}
.zsl-matura .zslm-lesson-v2-check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--zslm-border);border-radius:10px;padding:12px 14px;background:#fff;cursor:pointer;line-height:1.5;}
.zsl-matura .zslm-lesson-v2-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--zslm-teal);flex:0 0 auto;}
.zsl-matura .zslm-lesson-v2-exit-recall{margin:16px 0;padding:16px 18px;border-radius:12px;background:#F7FAFB;border-left:4px solid var(--zslm-teal);}
.zsl-matura .zslm-lesson-v2-exit-recall strong{color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-exit-recall p{line-height:1.55;margin:5px 0 12px;}
.zsl-matura .zslm-lesson-v2-finish-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.zsl-matura .zslm-lesson-v2-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--zslm-border);background:#FBFDFD;}
.zsl-matura .zslm-lesson-v2-footer .zslm-button{min-width:132px;}

@media (max-width:900px){
  .zsl-matura .zslm-lesson-v2-hero{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-hero-meta{justify-content:flex-start;}
  .zsl-matura .zslm-lesson-v2-facts{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-card-grid,.zsl-matura .zslm-lesson-v2-connection-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .zsl-matura .zslm-lesson-v2-stage{padding:22px 16px;min-height:380px;}
  .zsl-matura .zslm-lesson-v2-progress-head{padding-inline:16px;flex-direction:column;gap:3px;}
  .zsl-matura .zslm-lesson-v2-progress-head span{text-align:left;}
  .zsl-matura .zslm-lesson-v2-nav{padding-inline:12px;}
  .zsl-matura .zslm-lesson-v2-nav-step{grid-template-columns:26px minmax(90px,150px);}
  .zsl-matura .zslm-lesson-v2-evidence-row{grid-template-columns:1fr;gap:4px;}
  .zsl-matura .zslm-lesson-v2-anatomy{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-footer{padding:12px;}
  .zsl-matura .zslm-lesson-v2-footer .zslm-button{min-width:0;flex:1;white-space:normal;}
  .zsl-matura .zslm-lesson-v2-connection-head{display:block;}
  .zsl-matura .zslm-lesson-v2-connection-head .zslm-mini-chip{margin-top:7px;}
}
@media (prefers-reduced-motion:reduce){
  .zsl-matura .zslm-lesson-v2-progress>span{transition:none;}
  .zsl-matura .zslm-lesson-v2-nav{scroll-behavior:auto;}
}


/* v0.30 — Lektury 2.0: active recall inside guided lessons */
.zsl-matura .zslm-lesson-v2-recall{display:grid;gap:14px;max-width:900px;}
.zsl-matura .zslm-lesson-v2-recall-card{border:1px solid var(--zslm-border);border-radius:14px;padding:18px;background:#fff;min-width:0;}
.zsl-matura .zslm-lesson-v2-recall-card h5{margin:5px 0 13px;color:var(--zslm-navy);font-size:1.02rem;line-height:1.5;}
.zsl-matura .zslm-lesson-v2-recall-card .zslm-writing-textarea{width:100%;min-height:104px;margin:0 0 10px;}
.zsl-matura .zslm-lesson-v2-recall-card .zslm-button{margin-top:0;}
.zsl-matura .zslm-lesson-v2-recall-answer{margin-top:12px;padding:14px 15px;border:1px solid #B9D9DD;border-radius:11px;background:#F3FAFB;}
.zsl-matura .zslm-lesson-v2-recall-answer strong{display:block;color:var(--zslm-teal);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;}
.zsl-matura .zslm-lesson-v2-recall-answer p{margin:6px 0 5px;color:var(--zslm-text);line-height:1.62;}
.zsl-matura .zslm-lesson-v2-recall-answer small{display:block;color:var(--zslm-muted);line-height:1.5;}
@media(max-width:520px){
  .zsl-matura .zslm-lesson-v2-recall-card{padding:14px;}
  .zsl-matura .zslm-lesson-v2-recall-card .zslm-button{width:100%;justify-content:center;}
}


/* ============================================================
   v0.30 — Lesson 2.0 visual worked examples
   ============================================================ */
.zsl-matura .zslm-lesson-v2-visual{margin:18px 0 20px;border:1px solid var(--zslm-border);border-radius:18px;overflow:hidden;background:#f8fbfc;}
.zsl-matura .zslm-lesson-v2-visual img{display:block;width:100%;max-height:520px;object-fit:contain;background:#eef4f7;}
.zsl-matura .zslm-lesson-v2-visual figcaption{display:flex;gap:6px 14px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;color:var(--zslm-muted);font-size:13px;line-height:1.5;}
.zsl-matura .zslm-lesson-v2-visual figcaption strong{color:var(--zslm-navy);font-size:14px;}
@media(max-width:767px){.zsl-matura .zslm-lesson-v2-visual{border-radius:14px}.zsl-matura .zslm-lesson-v2-visual img{max-height:420px}.zsl-matura .zslm-lesson-v2-visual figcaption{display:block}.zsl-matura .zslm-lesson-v2-visual figcaption span{display:block;margin-top:4px}}

/* ============================================================
   v0.30.1 — Lesson 2.0 consistency + typography hotfix
   ============================================================ */
.zsl-matura .zslm-lesson-v2-part-nav{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 0;padding:13px 16px;
  border:1px solid var(--zslm-border);border-radius:14px;background:#FBFDFD;
}
.zsl-matura .zslm-lesson-v2-part-label{color:var(--zslm-navy);font-size:.88rem;line-height:1.4;}
.zsl-matura .zslm-lesson-v2-part-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.zsl-matura .zslm-lesson-v2-part-button{
  appearance:none;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);
  min-height:38px;padding:8px 14px;font:inherit;font-size:.86rem;font-weight:800;line-height:1.2;cursor:pointer;
}
.zsl-matura .zslm-lesson-v2-part-button:hover:not(:disabled),
.zsl-matura .zslm-lesson-v2-part-button:focus-visible{border-color:var(--zslm-teal);background:#F2FAFB;outline:0;}
.zsl-matura .zslm-lesson-v2-part-button.is-active{border-color:var(--zslm-teal);background:var(--zslm-teal);color:#fff;cursor:default;opacity:1;}

/* Keep the complete lesson map visible on desktop. A missing number must never be a layout artifact. */
@media(min-width:768px){
  .zsl-matura .zslm-lesson-v2-nav{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));overflow:visible;scroll-snap-type:none;
  }
  .zsl-matura .zslm-lesson-v2-nav-step{width:100%;grid-template-columns:30px minmax(0,1fr);}
}

/* Stronger vertical rhythm and defensive wrapping for long Polish titles. */
.zsl-matura .zslm-lesson-v2-hero-copy,
.zsl-matura .zslm-lesson-v2-stage-head,
.zsl-matura .zslm-lesson-v2-card,
.zsl-matura .zslm-lesson-v2-evidence-card,
.zsl-matura .zslm-lesson-v2-connection-card,
.zsl-matura .zslm-lesson-v2-question,
.zsl-matura .zslm-lesson-v2-recall-card{min-width:0;}
.zsl-matura .zslm-lesson-v2-hero h3,
.zsl-matura .zslm-lesson-v2-stage-head h4,
.zsl-matura .zslm-lesson-v2-card h5,
.zsl-matura .zslm-lesson-v2-evidence-card h5,
.zsl-matura .zslm-lesson-v2-connection-head h5,
.zsl-matura .zslm-lesson-v2-question h5,
.zsl-matura .zslm-lesson-v2-recall-card h5{
  overflow-wrap:break-word;word-break:normal;hyphens:auto;
}
.zsl-matura .zslm-lesson-v2-stage-head .zslm-panel-eyebrow{display:block;margin:0 0 9px;line-height:1.35;}
.zsl-matura .zslm-lesson-v2-stage-head h4{margin:0 0 14px;line-height:1.32;}
.zsl-matura .zslm-lesson-v2-stage-head p{margin:0;line-height:1.72;}
.zsl-matura .zslm-lesson-v2-card h5{margin:0 0 11px;line-height:1.42;}
.zsl-matura .zslm-lesson-v2-card>p{margin:0;line-height:1.68;}
.zsl-matura .zslm-lesson-v2-evidence-card h5{margin:0 0 14px;line-height:1.42;}
.zsl-matura .zslm-lesson-v2-connection-head{min-width:0;margin-bottom:13px;}
.zsl-matura .zslm-lesson-v2-connection-head h5{line-height:1.42;min-width:0;}
.zsl-matura .zslm-lesson-v2-compare-row{padding:12px 0;}
.zsl-matura .zslm-lesson-v2-compare-row strong{margin-bottom:6px;line-height:1.35;}
.zsl-matura .zslm-lesson-v2-compare-row p{line-height:1.65;}
.zsl-matura .zslm-lesson-v2-nav-step span{line-height:1.38;overflow-wrap:break-word;word-break:normal;}
.zsl-matura .zslm-lesson-v2-remember{margin-top:15px;}
.zsl-matura .zslm-lesson-v2-tags{margin-top:14px;}

@media(max-width:767px){
  .zsl-matura .zslm-lesson-v2-part-nav{align-items:flex-start;flex-direction:column;padding:12px 13px;}
  .zsl-matura .zslm-lesson-v2-part-buttons{width:100%;}
  .zsl-matura .zslm-lesson-v2-part-button{flex:1 1 86px;text-align:center;}
  .zsl-matura .zslm-lesson-v2-nav{display:flex;overflow-x:auto;}
  .zsl-matura .zslm-lesson-v2-nav-step{grid-template-columns:28px minmax(118px,168px);min-height:58px;}
  .zsl-matura .zslm-lesson-v2-stage{padding:24px 16px;}
  .zsl-matura .zslm-lesson-v2-stage-head{margin-bottom:28px;}
}

/* ============================================================
   v0.31 — Sieć maturzysty
   problem → lektury → dowody → różnice → kontekst → epoka → wniosek
   ============================================================ */
.zsl-matura .zslm-network-view{display:grid;gap:20px;min-width:0;}
.zsl-matura .zslm-network-hero,
.zsl-matura .zslm-network-topic-hero,
.zsl-matura .zslm-network-work-hero{
  border:1px solid var(--zslm-border);border-radius:20px;background:linear-gradient(135deg,#F8FCFD 0%,#FFFFFF 72%);
  padding:26px;min-width:0;
}
.zsl-matura .zslm-network-hero{border-top:4px solid var(--zslm-gold);}
.zsl-matura .zslm-network-hero h3,
.zsl-matura .zslm-network-topic-hero h3,
.zsl-matura .zslm-network-work-hero h3{margin:7px 0 10px;line-height:1.22;overflow-wrap:break-word;}
.zsl-matura .zslm-network-hero p,
.zsl-matura .zslm-network-topic-hero p,
.zsl-matura .zslm-network-work-hero p{line-height:1.68;}
.zsl-matura .zslm-network-question{font-size:1.08rem;color:var(--zslm-navy);max-width:880px;}
.zsl-matura .zslm-network-orientation{margin-top:16px;padding:14px 16px;border-left:4px solid var(--zslm-teal);background:#F3F9FA;border-radius:0 12px 12px 0;}
.zsl-matura .zslm-network-first-answer{margin-top:20px;padding:16px;border:1px solid rgba(20,123,137,.25);border-radius:14px;background:#F6FBFC;}
.zsl-matura .zslm-network-first-answer>strong{display:block;margin-bottom:6px;color:var(--zslm-navy);}
.zsl-matura .zslm-network-first-answer>p{margin:0 0 12px;color:var(--zslm-muted);}
.zsl-matura .zslm-network-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-network-stats>div{padding:14px 16px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;}
.zsl-matura .zslm-network-stats strong{display:block;color:var(--zslm-navy);font-size:1.45rem;line-height:1.1;}
.zsl-matura .zslm-network-stats span{display:block;margin-top:5px;color:var(--zslm-muted);font-size:.82rem;line-height:1.35;}
.zsl-matura .zslm-network-controls{display:grid;gap:12px;padding:16px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;}
.zsl-matura .zslm-network-mode-tabs{display:flex;flex-wrap:wrap;gap:8px;}
.zsl-matura .zslm-network-mode-button{appearance:none;border:1px solid var(--zslm-border);border-radius:999px;background:#F7FAFB;color:var(--zslm-navy);padding:9px 14px;font:inherit;font-weight:800;font-size:.86rem;cursor:pointer;}
.zsl-matura .zslm-network-mode-button:hover,.zsl-matura .zslm-network-mode-button:focus-visible{border-color:var(--zslm-teal);outline:0;background:#F0FAFB;}
.zsl-matura .zslm-network-mode-button[aria-pressed="true"]{background:var(--zslm-teal);border-color:var(--zslm-teal);color:#fff;}
.zsl-matura .zslm-network-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.zsl-matura .zslm-network-catalog-card{appearance:none;width:100%;min-width:0;text-align:left;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;color:var(--zslm-text);padding:17px;font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.zsl-matura .zslm-network-catalog-card:hover,.zsl-matura .zslm-network-catalog-card:focus-visible{transform:translateY(-2px);border-color:rgba(20,123,137,.45);box-shadow:0 10px 26px rgba(6,30,52,.06);outline:0;}
.zsl-matura .zslm-network-catalog-card strong{display:block;margin:7px 0 7px;color:var(--zslm-navy);font-size:1rem;line-height:1.35;overflow-wrap:break-word;}
.zsl-matura .zslm-network-catalog-card>span:not(.zslm-mini-chip){display:block;color:var(--zslm-muted);font-size:.84rem;line-height:1.45;}
.zsl-matura .zslm-network-catalog-card p{margin:8px 0 0;color:var(--zslm-text);font-size:.88rem;line-height:1.55;}
.zsl-matura .zslm-network-catalog-card small{display:block;margin-top:10px;color:var(--zslm-muted);line-height:1.5;}
.zsl-matura .zslm-network-section{padding:22px;min-width:0;}
.zsl-matura .zslm-network-section>h4{margin:7px 0 8px;line-height:1.3;}
.zsl-matura .zslm-network-work-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;}
.zsl-matura .zslm-network-work-evidence{min-width:0;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;padding:18px;}
.zsl-matura .zslm-network-work-evidence header{margin-bottom:15px;}
.zsl-matura .zslm-network-work-evidence h5{margin:8px 0 4px;color:var(--zslm-navy);font-size:1rem;line-height:1.4;overflow-wrap:break-word;}
.zsl-matura .zslm-network-work-evidence header small{color:var(--zslm-muted);}
.zsl-matura .zslm-network-evidence-title{display:block;margin:0 0 10px;color:var(--zslm-teal);font-size:.9rem;line-height:1.4;}
.zsl-matura .zslm-network-evidence-row{padding:10px 0;border-top:1px solid #EAF0F3;}
.zsl-matura .zslm-network-evidence-row strong{display:block;margin-bottom:4px;color:var(--zslm-navy);font-size:.79rem;text-transform:uppercase;letter-spacing:.025em;}
.zsl-matura .zslm-network-evidence-row p{margin:0;line-height:1.62;}
.zsl-matura .zslm-network-card-actions,.zsl-matura .zslm-network-hero-actions{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:15px;}
.zsl-matura .zslm-network-comparison-grid,.zsl-matura .zslm-network-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.zsl-matura .zslm-network-comparison-card,.zsl-matura .zslm-network-context-card{min-width:0;padding:16px;border:1px solid var(--zslm-border);border-radius:14px;background:#FBFDFE;}
.zsl-matura .zslm-network-comparison-card h5,.zsl-matura .zslm-network-context-card h5{margin:0 0 10px;color:var(--zslm-navy);line-height:1.38;overflow-wrap:break-word;}
.zsl-matura .zslm-network-comparison-card>div{padding:8px 0;border-top:1px solid #E8EEF1;}
.zsl-matura .zslm-network-comparison-card>div strong{display:block;margin-bottom:3px;font-size:.8rem;color:var(--zslm-teal);}
.zsl-matura .zslm-network-comparison-card p,.zsl-matura .zslm-network-context-card p{margin:0;line-height:1.6;}
.zsl-matura .zslm-network-context-card small{display:block;margin:-3px 0 9px;color:var(--zslm-muted);}
.zsl-matura .zslm-network-when,.zsl-matura .zslm-network-note{margin-top:10px!important;padding:10px 12px;background:#F1F7F9;border-radius:10px;}
.zsl-matura .zslm-network-era-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.zsl-matura .zslm-network-era-card{padding:15px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;}
.zsl-matura .zslm-network-era-card>strong{display:block;color:var(--zslm-navy);line-height:1.35;}
.zsl-matura .zslm-network-era-card ul{margin:9px 0 0;padding-left:18px;}
.zsl-matura .zslm-network-era-card li{margin:4px 0;line-height:1.45;}
.zsl-matura .zslm-network-steps{display:grid;gap:8px;margin:14px 0 20px;padding-left:24px;}
.zsl-matura .zslm-network-steps li{padding-left:5px;line-height:1.6;}
.zsl-matura .zslm-network-self-check{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
.zsl-matura .zslm-network-self-check>div,.zsl-matura .zslm-network-recall-line{padding:13px;border:1px solid var(--zslm-border);border-radius:12px;background:#FBFDFE;min-width:0;}
.zsl-matura .zslm-network-self-check strong,.zsl-matura .zslm-network-recall-line strong{display:block;margin-bottom:9px;line-height:1.5;}
.zsl-matura .zslm-network-topic-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.zsl-matura .zslm-network-topic-chip{appearance:none;min-width:0;text-align:left;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;padding:14px;font:inherit;color:var(--zslm-text);cursor:pointer;}
.zsl-matura .zslm-network-topic-chip:hover,.zsl-matura .zslm-network-topic-chip:focus-visible{border-color:var(--zslm-teal);background:#F6FBFC;outline:0;}
.zsl-matura .zslm-network-topic-chip strong{display:block;margin-bottom:5px;color:var(--zslm-navy);line-height:1.35;}
.zsl-matura .zslm-network-topic-chip span{display:block;color:var(--zslm-muted);font-size:.84rem;line-height:1.5;}
.zsl-matura .zslm-network-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.zsl-matura .zslm-network-goodbad{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.zsl-matura .zslm-network-goodbad>h4{grid-column:1/-1;}
.zsl-matura .zslm-network-goodbad article{padding:14px 16px;border-radius:13px;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-network-goodbad .is-bad{background:#FFF8F6;}
.zsl-matura .zslm-network-goodbad .is-good{background:#F4FBF7;}
.zsl-matura .zslm-network-recall-line{margin-top:10px;}
@media(max-width:1023px){
  .zsl-matura .zslm-network-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-network-era-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-network-self-check{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .zsl-matura .zslm-network-hero,.zsl-matura .zslm-network-topic-hero,.zsl-matura .zslm-network-work-hero,.zsl-matura .zslm-network-section{padding:17px;border-radius:15px;}
  .zsl-matura .zslm-network-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-network-catalog-grid,.zsl-matura .zslm-network-work-evidence-grid,.zsl-matura .zslm-network-comparison-grid,.zsl-matura .zslm-network-context-grid,.zsl-matura .zslm-network-era-strip,.zsl-matura .zslm-network-topic-chip-grid,.zsl-matura .zslm-network-two-col,.zsl-matura .zslm-network-goodbad{grid-template-columns:1fr;}
  .zsl-matura .zslm-network-goodbad>h4{grid-column:auto;}
  .zsl-matura .zslm-network-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-network-mode-button{border-radius:12px;padding:10px;}
}
@media(max-width:420px){
  .zsl-matura .zslm-network-stats{grid-template-columns:1fr 1fr;}
  .zsl-matura .zslm-network-mode-tabs{grid-template-columns:1fr;}
}

/* ============================================================
   v0.31.1 / v0.32 — complete Student Network + language workshops
   ============================================================ */
.zsl-matura .zslm-network-mode-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.zsl-matura .zslm-network-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.zsl-matura .zslm-network-visual-detail{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  gap:22px;
  align-items:start;
}
.zsl-matura .zslm-network-visual-detail img,
.zsl-matura .zslm-network-catalog-card img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:14px;
  object-fit:cover;
}
.zsl-matura .zslm-network-catalog-card img{aspect-ratio:16/9;margin:0 0 12px;}

.zsl-matura .zslm-language-lab-intro,
.zsl-matura .zslm-language-model,
.zsl-matura .zslm-language-correction-answer,
.zsl-matura .zslm-note-word-meter{
  border-radius:12px;
  background:#f5fafb;
  border:1px solid #d7e6ea;
}
.zsl-matura .zslm-language-lab-intro{padding:14px 16px;margin-bottom:16px;}
.zsl-matura .zslm-language-lab-intro p{margin:8px 0 0;}
.zsl-matura .zslm-language-text-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.zsl-matura .zslm-language-text-card{
  min-width:0;
  border:1px solid #d8e2e8;
  border-radius:16px;
  background:#fff;
  padding:18px;
}
.zsl-matura .zslm-language-text-card h5{margin:5px 0 13px;line-height:1.3;}
.zsl-matura .zslm-language-text-card p{line-height:1.7;}
.zsl-matura .zslm-language-sentence-list{display:flex;flex-direction:column;gap:5px;}
.zsl-matura button.zslm-language-sentence{
  appearance:none;
  width:100%;
  text-align:left;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:inherit;
  padding:5px 7px;
  font:inherit;
  line-height:1.65;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.zsl-matura button.zslm-language-sentence:hover,
.zsl-matura button.zslm-language-sentence:focus-visible{background:#f6fafb;border-color:#c9dce1;outline:none;}
.zsl-matura button.zslm-language-sentence.is-marked{background:#fff7d8;border-color:#f0c451;}
.zsl-matura .zslm-language-scratch{display:block;margin-top:16px;}
.zsl-matura .zslm-language-scratch>span{display:block;font-weight:700;margin-bottom:7px;}

.zsl-matura .zslm-language-classify,
.zsl-matura .zslm-language-correction-list{display:grid;gap:14px;}
.zsl-matura .zslm-language-classify-card,
.zsl-matura .zslm-language-correction-card{
  border:1px solid #d8e2e8;
  border-radius:15px;
  background:#fff;
  padding:17px;
  min-width:0;
}
.zsl-matura .zslm-language-classify-prompt{font-weight:700;line-height:1.55;margin:7px 0 12px;}
.zsl-matura .zslm-language-classify-options{display:flex;flex-wrap:wrap;gap:8px;}
.zsl-matura .zslm-language-source{
  margin:0 0 15px;
  padding:16px 18px;
  background:#f7fafc;
  border:0;
  border-left:4px solid #147b89;
  border-radius:10px;
}
.zsl-matura .zslm-language-source p{margin:6px 0 0;line-height:1.65;}
.zsl-matura .zslm-language-model,
.zsl-matura .zslm-language-correction-answer{padding:15px 16px;margin-top:12px;}
.zsl-matura .zslm-language-model p,
.zsl-matura .zslm-language-correction-answer p{line-height:1.65;}
.zsl-matura .zslm-language-bad-sentence{
  padding:12px 14px;
  border-radius:10px;
  background:#fff5f3;
  border-left:4px solid #c55345;
  font-weight:650;
  line-height:1.55;
}
.zsl-matura .zslm-language-analysis-prompt{
  margin:7px 0 12px;
  font-weight:700;
  line-height:1.6;
}
.zsl-matura .zslm-language-analysis-answer strong{
  display:block;
  margin-top:10px;
}
.zsl-matura .zslm-language-analysis-answer strong:first-child{margin-top:0;}

.zsl-matura .zslm-note-source-details{margin:0 0 18px;}
.zsl-matura .zslm-note-source-details>summary{font-weight:750;cursor:pointer;padding:10px 0;}
.zsl-matura .zslm-note-planner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:4px 0 20px;
}
.zsl-matura .zslm-note-field{
  display:block;
  min-width:0;
  padding:14px;
  border:1px solid #d8e2e8;
  border-radius:12px;
  background:#fff;
}
.zsl-matura .zslm-note-field>strong{display:block;margin-bottom:8px;}
.zsl-matura .zslm-note-final{
  border-top:1px solid #d8e2e8;
  padding-top:18px;
}
.zsl-matura .zslm-note-final h5{margin:0 0 6px;}
.zsl-matura .zslm-note-word-meter{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:10px 12px;
  margin-top:8px;
}
.zsl-matura .zslm-note-word-meter strong{font-size:20px;}
.zsl-matura .zslm-note-word-meter.is-good{background:#eef9f2;border-color:#a9d5b8;}
.zsl-matura .zslm-note-word-meter.is-warning{background:#fff5f3;border-color:#e0b0a8;}
.zsl-matura .zslm-note-checklist{display:grid;gap:7px;margin:14px 0;}

@media(max-width:900px){
  .zsl-matura .zslm-network-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-network-visual-detail{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .zsl-matura .zslm-language-text-grid,
  .zsl-matura .zslm-note-planner{grid-template-columns:1fr;}
  .zsl-matura .zslm-language-text-card{padding:14px;}
  .zsl-matura .zslm-language-classify-options{flex-direction:column;align-items:stretch;}
  .zsl-matura .zslm-language-classify-options .zslm-lesson-v2-option{width:100%;text-align:left;}
}
@media(max-width:430px){
  .zsl-matura .zslm-network-stats{grid-template-columns:1fr 1fr;}
  .zsl-matura .zslm-language-text-card,
  .zsl-matura .zslm-language-classify-card,
  .zsl-matura .zslm-language-correction-card{padding:12px;}
}

/* ==========================================================
   v0.33 / v0.34 — Pisanie 2.0, ustna 2027, Mastery Engine 3.0
========================================================== */
.zsl-matura .zslm-home-secondary--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.zsl-matura .zslm-exam-map__card.is-action{appearance:none;text-align:left;font:inherit;cursor:pointer;width:100%;}
.zsl-matura .zslm-exam-map__card.is-action:hover,.zsl-matura .zslm-exam-map__card.is-action:focus-visible{border-color:var(--zslm-teal);box-shadow:0 9px 24px rgba(6,30,52,.08);transform:translateY(-2px);outline:0;}

.zsl-matura .zslm-writing-v2-intro{padding:22px;border:1px solid var(--zslm-border);border-radius:18px;background:linear-gradient(135deg,#F7FCFC,#fff);margin:20px 0;}
.zsl-matura .zslm-writing-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;}
.zsl-matura .zslm-writing-score-card{padding:14px;border-radius:12px;background:#fff;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-writing-score-card strong{display:block;color:var(--zslm-teal);font-size:1.08rem;margin-bottom:3px;}.zsl-matura .zslm-writing-score-card span{font-size:.82rem;color:var(--zslm-muted);line-height:1.35;}
.zsl-matura .zslm-writing-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0 28px;}
.zsl-matura .zslm-writing-v2-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:start;text-align:left;width:100%;padding:18px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;color:inherit;font:inherit;cursor:pointer;min-width:0;}
.zsl-matura .zslm-writing-v2-card:hover,.zsl-matura .zslm-writing-v2-card:focus-visible{border-color:var(--zslm-teal);background:#FAFEFE;box-shadow:0 8px 22px rgba(6,30,52,.06);outline:0;}
.zsl-matura .zslm-writing-v2-number{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#EAF5F6;color:var(--zslm-teal);font-weight:850;}
.zsl-matura .zslm-writing-v2-copy{display:block;min-width:0;}.zsl-matura .zslm-writing-v2-copy strong{display:block;color:var(--zslm-navy);font-size:1rem;line-height:1.4;margin-bottom:6px;overflow-wrap:anywhere;}.zsl-matura .zslm-writing-v2-copy>span{display:block;color:var(--zslm-text);line-height:1.56;font-size:.91rem;}.zsl-matura .zslm-writing-v2-copy small{display:block;color:var(--zslm-muted);margin-top:8px;}
.zsl-matura .zslm-writing-v2-track{border:1px solid var(--zslm-border);border-radius:20px;overflow:hidden;background:#fff;}
.zsl-matura .zslm-writing-v2-track-hero{padding:24px 24px 19px;background:linear-gradient(135deg,#F3FAFB,#fff);}.zsl-matura .zslm-writing-v2-track-hero h3{margin:5px 0 9px;line-height:1.3;overflow-wrap:anywhere;}.zsl-matura .zslm-writing-v2-track-hero>p{margin:0;line-height:1.65;max-width:850px;}
.zsl-matura .zslm-writing-v2-progress{height:7px;background:#E8EEF1;}.zsl-matura .zslm-writing-v2-progress>span{display:block;height:100%;background:var(--zslm-teal);transition:width .25s ease;}
.zsl-matura .zslm-writing-v2-stepnav{display:flex;gap:7px;padding:13px 18px;overflow-x:auto;border-bottom:1px solid var(--zslm-border);scrollbar-width:thin;}.zsl-matura .zslm-writing-v2-stepbtn{flex:0 0 35px;width:35px;height:35px;border-radius:50%;border:1px solid var(--zslm-border);background:#fff;color:var(--zslm-navy);font-weight:800;cursor:pointer;}.zsl-matura .zslm-writing-v2-stepbtn.is-active{background:var(--zslm-teal);border-color:var(--zslm-teal);color:#fff;}
.zsl-matura .zslm-writing-v2-stage{padding:28px 24px;min-height:390px;min-width:0;}.zsl-matura .zslm-writing-v2-stage>.zslm-panel-eyebrow{display:block;margin-bottom:12px;}.zsl-matura .zslm-writing-v2-body{font-size:1rem;line-height:1.78;max-width:850px;margin:0 0 18px;}
.zsl-matura .zslm-writing-v2-remember,.zsl-matura .zslm-writing-v2-recall{padding:15px 17px;border-radius:12px;background:#F4FAFB;border-left:4px solid var(--zslm-teal);margin:16px 0;}.zsl-matura .zslm-writing-v2-remember strong,.zsl-matura .zslm-writing-v2-recall strong{color:var(--zslm-navy);}.zsl-matura .zslm-writing-v2-remember p,.zsl-matura .zslm-writing-v2-recall p{margin:5px 0 0;line-height:1.62;}
.zsl-matura .zslm-writing-v2-question{padding:14px 16px;border:1px solid var(--zslm-border);border-radius:12px;margin:16px 0;}.zsl-matura .zslm-writing-v2-question strong{display:block;color:var(--zslm-teal);font-size:.8rem;text-transform:uppercase;}.zsl-matura .zslm-writing-v2-question p{margin:6px 0 0;line-height:1.6;font-weight:720;color:var(--zslm-navy);}
.zsl-matura .zslm-writing-v2-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0;}.zsl-matura .zslm-writing-v2-examples article{padding:15px 16px;border:1px solid var(--zslm-border);border-radius:13px;min-width:0;}.zsl-matura .zslm-writing-v2-examples article.is-bad{background:#FFF9F8;border-left:4px solid var(--zslm-error);}.zsl-matura .zslm-writing-v2-examples article.is-good{background:#F7FCF9;border-left:4px solid var(--zslm-success);}.zsl-matura .zslm-writing-v2-examples span{font-size:.77rem;font-weight:850;text-transform:uppercase;}.zsl-matura .zslm-writing-v2-examples p{line-height:1.65;margin:7px 0 0;}
.zsl-matura .zslm-writing-v2-anatomy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0;}.zsl-matura .zslm-writing-v2-anatomy>div{border:1px solid var(--zslm-border);border-radius:11px;padding:12px;background:#fff;}.zsl-matura .zslm-writing-v2-anatomy strong{display:block;color:var(--zslm-teal);font-size:.78rem;margin-bottom:5px;}.zsl-matura .zslm-writing-v2-anatomy span{line-height:1.5;}
.zsl-matura .zslm-writing-v2-practice{margin:19px 0;padding:17px;border-radius:14px;background:#F8FAFB;border:1px solid var(--zslm-border);}.zsl-matura .zslm-writing-v2-practice h5{margin:0 0 6px;color:var(--zslm-navy);}.zsl-matura .zslm-writing-v2-practice>p{line-height:1.62;margin:0 0 12px;}.zsl-matura .zslm-writing-v2-model{margin-top:12px;padding:14px;border-radius:11px;background:#fff;border:1px solid #B9D9DD;}.zsl-matura .zslm-writing-v2-model p{line-height:1.65;margin:5px 0 0;}
.zsl-matura .zslm-writing-v2-checklist{display:grid;gap:8px;margin:16px 0;}.zsl-matura .zslm-writing-v2-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;background:#FBFDFD;border-top:1px solid var(--zslm-border);}

.zsl-matura .zslm-oral-hero{padding:24px;border:1px solid var(--zslm-border);border-radius:18px;background:linear-gradient(135deg,#F5FBFC,#fff);}.zsl-matura .zslm-oral-hero h3{margin:5px 0 8px;}.zsl-matura .zslm-oral-hero>p{max-width:900px;line-height:1.65;}
.zsl-matura .zslm-oral-metrics,.zsl-matura .zslm-mastery-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;}.zsl-matura .zslm-oral-metrics>div,.zsl-matura .zslm-mastery-metrics>div{padding:13px 14px;border-radius:12px;background:#fff;border:1px solid var(--zslm-border);}.zsl-matura .zslm-oral-metrics strong,.zsl-matura .zslm-mastery-metrics strong{display:block;color:var(--zslm-teal);font-size:1.08rem;}.zsl-matura .zslm-oral-metrics span,.zsl-matura .zslm-mastery-metrics span{display:block;color:var(--zslm-muted);font-size:.8rem;margin-top:3px;line-height:1.35;}
.zsl-matura .zslm-oral-scoring{margin:20px 0;padding:20px;border:1px solid var(--zslm-border);border-radius:16px;}.zsl-matura .zslm-oral-scoring h4{margin:6px 0 14px;}.zsl-matura .zslm-oral-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}.zsl-matura .zslm-oral-score-grid article{padding:13px;border-radius:11px;background:#F8FBFC;}.zsl-matura .zslm-oral-score-grid strong{display:block;color:var(--zslm-teal);}.zsl-matura .zslm-oral-score-grid span{display:block;margin-top:4px;line-height:1.4;font-size:.83rem;}
.zsl-matura .zslm-oral-controls{display:flex;align-items:center;gap:12px;margin:18px 0;}.zsl-matura .zslm-oral-controls .zslm-library-search{flex:1;}.zsl-matura .zslm-oral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:20px;}.zsl-matura .zslm-oral-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 12px;width:100%;text-align:left;padding:16px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;color:inherit;font:inherit;cursor:pointer;min-width:0;}.zsl-matura .zslm-oral-card:hover,.zsl-matura .zslm-oral-card:focus-visible{border-color:var(--zslm-teal);outline:0;background:#FAFEFE;}.zsl-matura .zslm-oral-number{grid-row:1/4;display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#EAF5F6;color:var(--zslm-teal);font-weight:850;}.zsl-matura .zslm-oral-card strong{line-height:1.4;overflow-wrap:anywhere;color:var(--zslm-navy);}.zsl-matura .zslm-oral-card p{margin:0;line-height:1.5;}.zsl-matura .zslm-oral-card small{color:var(--zslm-teal);font-weight:720;}
.zsl-matura .zslm-oral-practice-hero{padding:22px;border-bottom:1px solid var(--zslm-border);background:#F8FBFC;}.zsl-matura .zslm-oral-practice-hero h3{margin:6px 0 8px;line-height:1.34;}.zsl-matura .zslm-oral-timers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;}.zsl-matura .zslm-oral-timer{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--zslm-border);border-radius:13px;}.zsl-matura .zslm-oral-timer strong{font-size:1.35rem;color:var(--zslm-navy);font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-oral-prep,.zsl-matura .zslm-oral-conversation,.zsl-matura .zslm-oral-self{padding:20px;border:1px solid var(--zslm-border);border-radius:16px;margin:16px 0;}.zsl-matura .zslm-oral-prep h4,.zsl-matura .zslm-oral-conversation h4,.zsl-matura .zslm-oral-self h4{margin:6px 0 16px;}.zsl-matura .zslm-oral-prep-field{display:block;margin:13px 0;}.zsl-matura .zslm-oral-prep-field strong{display:block;margin-bottom:7px;color:var(--zslm-navy);line-height:1.45;}.zsl-matura .zslm-oral-self-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.zsl-matura .zslm-oral-self-grid>article{padding:14px;border-radius:12px;background:#F8FAFB;border:1px solid var(--zslm-border);}.zsl-matura .zslm-oral-self-grid>article>strong{display:block;line-height:1.45;margin-bottom:10px;}

.zsl-matura .zslm-mastery-selfcheck{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}.zsl-matura .zslm-mastery-self-button{border:1px solid var(--zslm-border);background:#fff;color:var(--zslm-navy);font:inherit;font-size:.82rem;font-weight:750;padding:8px 11px;border-radius:9px;cursor:pointer;}.zsl-matura .zslm-mastery-self-button:hover,.zsl-matura .zslm-mastery-self-button:focus-visible,.zsl-matura .zslm-mastery-self-button.is-active{border-color:var(--zslm-teal);background:#EAF7F8;color:var(--zslm-teal);outline:0;}
.zsl-matura .zslm-mastery-today,.zsl-matura .zslm-mastery-dashboard{margin:18px 0;padding:20px;border:1px solid #B9D9DD;border-radius:16px;background:linear-gradient(135deg,#F3FAFB,#fff);}.zsl-matura .zslm-mastery-today-head h4,.zsl-matura .zslm-mastery-dashboard h4{margin:6px 0 0;}.zsl-matura .zslm-mastery-explain{line-height:1.58;color:var(--zslm-muted);margin:12px 0 0;}.zsl-matura .zslm-mastery-due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px;}.zsl-matura .zslm-mastery-due>strong{grid-column:1/-1;}.zsl-matura .zslm-mastery-due-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border-radius:10px;border:1px solid var(--zslm-border);background:#fff;color:inherit;font:inherit;cursor:pointer;}.zsl-matura .zslm-mastery-due-card:hover,.zsl-matura .zslm-mastery-due-card:focus-visible{border-color:var(--zslm-teal);outline:0;}.zsl-matura .zslm-mastery-due-card span{font-weight:750;color:var(--zslm-navy);line-height:1.4;}.zsl-matura .zslm-mastery-due-card small{color:var(--zslm-muted);}
.zsl-matura .zslm-mastery-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px;}.zsl-matura .zslm-mastery-dimensions article{padding:12px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;}.zsl-matura .zslm-mastery-dimensions strong{display:block;text-transform:capitalize;color:var(--zslm-navy);}.zsl-matura .zslm-mastery-dimensions span,.zsl-matura .zslm-mastery-dimensions small{display:block;margin-top:4px;line-height:1.35;color:var(--zslm-muted);font-size:.8rem;}

@media(max-width:1000px){
  .zsl-matura .zslm-home-secondary--four{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-writing-score-grid,.zsl-matura .zslm-oral-metrics,.zsl-matura .zslm-mastery-metrics,.zsl-matura .zslm-oral-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-mastery-dimensions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-writing-v2-grid,.zsl-matura .zslm-oral-grid,.zsl-matura .zslm-writing-v2-examples,.zsl-matura .zslm-oral-self-grid,.zsl-matura .zslm-oral-timers,.zsl-matura .zslm-mastery-due{grid-template-columns:1fr;}
  .zsl-matura .zslm-writing-v2-anatomy,.zsl-matura .zslm-mastery-dimensions{grid-template-columns:1fr;}
  .zsl-matura .zslm-writing-v2-stage{padding:22px 15px;min-height:340px;}.zsl-matura .zslm-writing-v2-track-hero{padding:20px 15px;}.zsl-matura .zslm-writing-v2-footer{padding:12px;}.zsl-matura .zslm-writing-v2-footer .zslm-button{flex:1;min-width:0;white-space:normal;}
  .zsl-matura .zslm-oral-timer{grid-template-columns:1fr auto;}.zsl-matura .zslm-oral-timer .zslm-button,.zsl-matura .zslm-oral-timer .zslm-text-button{justify-self:start;}
  .zsl-matura .zslm-oral-controls{align-items:stretch;flex-direction:column;}.zsl-matura .zslm-oral-controls .zslm-mini-chip{align-self:flex-start;}
}
@media(max-width:520px){
  .zsl-matura .zslm-home-secondary--four,.zsl-matura .zslm-writing-score-grid,.zsl-matura .zslm-oral-metrics,.zsl-matura .zslm-mastery-metrics,.zsl-matura .zslm-oral-score-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-writing-v2-card{grid-template-columns:38px minmax(0,1fr);}.zsl-matura .zslm-writing-v2-card>b{display:none;}.zsl-matura .zslm-writing-v2-number{width:36px;height:36px;}
}
@media(prefers-reduced-motion:reduce){.zsl-matura .zslm-writing-v2-progress>span,.zsl-matura .zslm-exam-map__card.is-action{transition:none;transform:none!important;}}

/* ============================================================
   v0.33.1 — Ustna: trening zadania 2 z materiałem
   ============================================================ */
.zsl-matura .zslm-oral-task2{margin:28px 0;padding:24px;border:1px solid rgba(20,123,137,.18);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfc);}
.zsl-matura .zslm-oral-task2>h4,.zsl-matura .zslm-oral-list-head>h4{margin:8px 0 10px;line-height:1.25;}
.zsl-matura .zslm-oral-task2>p{margin:0 0 18px;line-height:1.7;}
.zsl-matura .zslm-oral-task2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.zsl-matura .zslm-oral-task2-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;min-width:0;padding:18px;border:1px solid rgba(8,43,73,.12);border-radius:17px;background:#fff;cursor:pointer;}
.zsl-matura .zslm-oral-task2-card strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere;}
.zsl-matura .zslm-oral-task2-card p{margin:0;font-size:13px;line-height:1.6;}
.zsl-matura .zslm-oral-task2-card small{margin-top:auto;}
.zsl-matura .zslm-oral-list-head{margin:34px 0 14px;}
.zsl-matura .zslm-oral-stimulus,.zsl-matura .zslm-oral-task2-ops{margin:20px 0;padding:22px;border:1px solid rgba(8,43,73,.12);border-radius:18px;background:#fff;}
.zsl-matura .zslm-oral-stimulus img{display:block;width:min(100%,680px);height:auto;margin:14px auto 0;border-radius:14px;}
.zsl-matura .zslm-oral-stimulus-text{margin:14px 0 0;padding:18px 20px;border-left:4px solid var(--zslm-teal,#147B89);background:#f6fafb;border-radius:0 12px 12px 0;font-style:normal;line-height:1.72;}
@media(max-width:767px){.zsl-matura .zslm-oral-task2{padding:18px}.zsl-matura .zslm-oral-task2-grid{grid-template-columns:1fr}.zsl-matura .zslm-oral-stimulus,.zsl-matura .zslm-oral-task2-ops{padding:17px}}

/* ============================================================
   v0.34 — Dziennik błędów
   ============================================================ */
.zsl-matura .zslm-error-journal,.zsl-matura .zslm-error-journal-compact{margin:22px 0;padding:22px;border:1px solid rgba(240,180,0,.26);border-radius:20px;background:linear-gradient(180deg,#fffdf6,#fff);}
.zsl-matura .zslm-error-journal h4,.zsl-matura .zslm-error-journal-compact h4{margin:7px 0 8px;line-height:1.3;}
.zsl-matura .zslm-error-journal>p,.zsl-matura .zslm-error-journal-compact>p{margin:0 0 16px;line-height:1.65;}
.zsl-matura .zslm-error-journal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;}
.zsl-matura .zslm-error-journal-metrics>div{padding:14px;border-radius:14px;background:#fff;border:1px solid rgba(8,43,73,.1);display:flex;flex-direction:column;gap:3px;}
.zsl-matura .zslm-error-journal-metrics strong{font-size:22px;}
.zsl-matura .zslm-error-journal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:15px 0;}
.zsl-matura .zslm-error-journal-card{min-width:0;padding:15px;border:1px solid rgba(8,43,73,.1);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:7px;}
.zsl-matura .zslm-error-journal-card strong{line-height:1.3;overflow-wrap:anywhere;}
.zsl-matura .zslm-error-journal-card p,.zsl-matura .zslm-error-journal-card span{margin:0;font-size:12.5px;line-height:1.55;}
@media(max-width:767px){.zsl-matura .zslm-error-journal-list,.zsl-matura .zslm-error-journal-metrics{grid-template-columns:1fr}.zsl-matura .zslm-error-journal,.zsl-matura .zslm-error-journal-compact{padding:17px}}

/* v0.34 — spójne mosty Pisanie/Ustna/Mastery */
.zsl-matura .zslm-lesson-v2-bridges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;padding:15px;border-radius:14px;background:#F7FBFC;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-lesson-mastery-check{padding:15px 0 4px;border-top:1px solid var(--zslm-border);margin-top:18px;}
.zsl-matura .zslm-lesson-mastery-check>strong{flex-basis:100%;color:var(--zslm-navy);margin-bottom:4px;}
.zsl-matura .zslm-coach-mastery{margin-top:18px;padding:16px;border:1px solid #B9D9DD;border-radius:14px;background:#F7FCFC;}
.zsl-matura .zslm-coach-mastery>strong{display:block;color:var(--zslm-navy);margin-bottom:12px;}
.zsl-matura .zslm-coach-mastery-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:12px;align-items:center;padding:9px 0;border-top:1px solid rgba(20,123,137,.13);}
.zsl-matura .zslm-coach-mastery-row:first-of-type{border-top:0;}.zsl-matura .zslm-coach-mastery-row>span{font-weight:750;color:var(--zslm-navy);}
@media(max-width:600px){.zsl-matura .zslm-lesson-v2-bridges{display:grid;grid-template-columns:1fr}.zsl-matura .zslm-lesson-v2-bridges .zslm-button{width:100%;white-space:normal}.zsl-matura .zslm-coach-mastery-row{grid-template-columns:1fr}}

/* v0.34 — exam practice bridges from Knowledge Library */
.zsl-matura .zslm-exam-practice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(8,43,73,.10)}
@media(max-width:640px){.zsl-matura .zslm-exam-practice-actions{flex-direction:column}.zsl-matura .zslm-exam-practice-actions .zslm-button{width:100%;justify-content:center}}

/* ============================================================
   v0.35 — Egzamin i diagnostyka 2.0
   ============================================================ */
.zsl-matura .zslm-check-diagnostic-bridge,.zsl-matura .zslm-diagnostic-overview,.zsl-matura .zslm-diagnostic-path,.zsl-matura .zslm-mini-mocks,.zsl-matura .zslm-sectional-diagnostics,.zsl-matura .zslm-diagnostic-history,.zsl-matura .zslm-diagnostic-exam-context,.zsl-matura .zslm-diagnostic-domains,.zsl-matura .zslm-diagnostic-next,.zsl-matura .zslm-progress-diagnostics,.zsl-matura .zslm-essay-self-assessment{margin:24px 0;padding:22px;border:1px solid rgba(8,43,73,.12);border-radius:20px;background:#fff;min-width:0;}
.zsl-matura .zslm-check-diagnostic-bridge{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#F1FAFB,#fff);border-color:rgba(20,123,137,.24)}
.zsl-matura .zslm-check-diagnostic-bridge h4,.zsl-matura .zslm-diagnostic-overview h4,.zsl-matura .zslm-diagnostic-path h4,.zsl-matura .zslm-mini-mocks h4,.zsl-matura .zslm-sectional-diagnostics h4,.zsl-matura .zslm-diagnostic-history h4,.zsl-matura .zslm-diagnostic-exam-context h4,.zsl-matura .zslm-diagnostic-domains h4,.zsl-matura .zslm-diagnostic-next h4,.zsl-matura .zslm-essay-self-assessment h4{margin:7px 0 10px;line-height:1.3;overflow-wrap:anywhere}
.zsl-matura .zslm-check-diagnostic-bridge p,.zsl-matura .zslm-diagnostic-path p,.zsl-matura .zslm-sectional-diagnostics p,.zsl-matura .zslm-essay-self-assessment>p{margin:0;line-height:1.65;color:var(--zslm-muted)}
.zsl-matura .zslm-diagnostic-metrics,.zsl-matura .zslm-diagnostic-point-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0}
.zsl-matura .zslm-diagnostic-metrics>div,.zsl-matura .zslm-diagnostic-point-grid>article{padding:14px;border:1px solid rgba(8,43,73,.1);border-radius:14px;background:#F8FAFB;display:flex;flex-direction:column;gap:4px;min-width:0}
.zsl-matura .zslm-diagnostic-metrics strong,.zsl-matura .zslm-diagnostic-point-grid strong{font-size:22px;line-height:1.15;color:var(--zslm-navy)}
.zsl-matura .zslm-diagnostic-metrics span,.zsl-matura .zslm-diagnostic-point-grid span{font-size:12px;line-height:1.4;color:var(--zslm-muted)}
.zsl-matura .zslm-diagnostic-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.zsl-matura .zslm-diagnostic-path-grid>article{padding:15px;border-radius:14px;background:#F8FAFB;border:1px solid rgba(8,43,73,.1);min-width:0}
.zsl-matura .zslm-diagnostic-path-grid>article>span{display:block;font-weight:850;color:var(--zslm-teal);font-size:12px;margin-bottom:7px}
.zsl-matura .zslm-diagnostic-path-grid strong{display:block;color:var(--zslm-navy);line-height:1.35;margin-bottom:5px}
.zsl-matura .zslm-diagnostic-path-grid p{font-size:12.5px;line-height:1.55}
.zsl-matura .zslm-mini-mock-grid,.zsl-matura .zslm-diagnostic-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.zsl-matura .zslm-mini-mock-grid>article,.zsl-matura .zslm-diagnostic-history-card{padding:16px;border:1px solid rgba(8,43,73,.1);border-radius:15px;background:#fff;min-width:0}
.zsl-matura .zslm-mini-mock-grid h5{margin:9px 0 6px;line-height:1.35;overflow-wrap:anywhere}
.zsl-matura .zslm-mini-mock-grid p{margin:0 0 13px;line-height:1.6;font-size:13px}
.zsl-matura .zslm-diagnostic-weak{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.zsl-matura .zslm-diagnostic-weak>strong{grid-column:1/-1}
.zsl-matura .zslm-diagnostic-weak-card,.zsl-matura .zslm-diagnostic-history-card{display:flex;flex-direction:column;gap:5px;text-align:left;color:inherit;font:inherit;cursor:pointer}
.zsl-matura .zslm-diagnostic-weak-card{padding:13px;border:1px solid rgba(8,43,73,.1);border-radius:12px;background:#fff}
.zsl-matura .zslm-diagnostic-weak-card:hover,.zsl-matura .zslm-diagnostic-weak-card:focus-visible,.zsl-matura .zslm-diagnostic-history-card:hover,.zsl-matura .zslm-diagnostic-history-card:focus-visible{outline:0;border-color:var(--zslm-teal);box-shadow:0 0 0 2px rgba(20,123,137,.08)}
.zsl-matura .zslm-diagnostic-weak-card span,.zsl-matura .zslm-diagnostic-history-card strong{font-weight:800;color:var(--zslm-navy);overflow-wrap:anywhere}
.zsl-matura .zslm-diagnostic-weak-card small,.zsl-matura .zslm-diagnostic-history-card small{color:var(--zslm-muted);line-height:1.45}
.zsl-matura .zslm-diagnostic-history-card em{font-style:normal;font-size:12px;color:var(--zslm-teal);font-weight:700}
.zsl-matura .zslm-domain-results--diagnostic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result{padding:15px;border:1px solid rgba(8,43,73,.1);border-radius:14px;min-width:0;background:#fff}
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result h5{margin:8px 0 6px;line-height:1.35;overflow-wrap:anywhere}
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result>strong{display:block;font-size:24px;color:var(--zslm-navy)}
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result>small{display:block;margin-top:4px;line-height:1.4;color:var(--zslm-muted)}
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result>p{font-size:12.5px;line-height:1.55;margin:10px 0 0}
.zsl-matura .zslm-diagnostic-status{display:inline-flex;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:850;background:#EEF3F5;color:var(--zslm-navy)}
.zsl-matura .zslm-domain-result.is-priority{border-color:rgba(190,67,49,.28);background:#FFF9F8}.zsl-matura .zslm-domain-result.is-developing{border-color:rgba(240,180,0,.32);background:#FFFCF3}.zsl-matura .zslm-domain-result.is-strong{border-color:rgba(20,123,137,.25);background:#F5FBFB}
.zsl-matura .zslm-diagnostic-recommendations{display:grid;gap:10px;margin-top:14px}
.zsl-matura .zslm-diagnostic-recommendations>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;border-radius:14px;border:1px solid rgba(8,43,73,.1);background:#F8FAFB}
.zsl-matura .zslm-diagnostic-recommendations strong{display:block;color:var(--zslm-navy);margin:3px 0 4px}.zsl-matura .zslm-diagnostic-recommendations p{margin:0;line-height:1.55;font-size:13px}.zsl-matura .zslm-diagnostic-order{font-size:11px;font-weight:850;color:var(--zslm-teal)}
.zsl-matura .zslm-essay-rubric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.zsl-matura .zslm-essay-rubric-field{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid rgba(8,43,73,.1);border-radius:13px;background:#F8FAFB;min-width:0}
.zsl-matura .zslm-essay-rubric-field strong{font-size:13px;line-height:1.4;color:var(--zslm-navy)}.zsl-matura .zslm-essay-rubric-field span{font-size:11px;color:var(--zslm-muted)}
.zsl-matura .zslm-essay-rubric-field input{width:100%;min-width:0;padding:9px 10px;border:1px solid rgba(8,43,73,.2);border-radius:9px;background:#fff;font:inherit;color:var(--zslm-navy)}
.zsl-matura .zslm-essay-rubric-total{font-weight:850;font-size:18px;color:var(--zslm-navy);margin:4px 0 12px}
@media(max-width:1000px){.zsl-matura .zslm-diagnostic-metrics,.zsl-matura .zslm-diagnostic-path-grid,.zsl-matura .zslm-essay-rubric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zsl-matura .zslm-mini-mock-grid,.zsl-matura .zslm-diagnostic-history-grid,.zsl-matura .zslm-domain-results--diagnostic,.zsl-matura .zslm-diagnostic-weak{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.zsl-matura .zslm-check-diagnostic-bridge{align-items:stretch;flex-direction:column}.zsl-matura .zslm-diagnostic-metrics,.zsl-matura .zslm-diagnostic-path-grid,.zsl-matura .zslm-mini-mock-grid,.zsl-matura .zslm-diagnostic-history-grid,.zsl-matura .zslm-domain-results--diagnostic,.zsl-matura .zslm-diagnostic-weak,.zsl-matura .zslm-essay-rubric-grid{grid-template-columns:1fr}.zsl-matura .zslm-diagnostic-recommendations>article{grid-template-columns:1fr}.zsl-matura .zslm-check-diagnostic-bridge,.zsl-matura .zslm-diagnostic-overview,.zsl-matura .zslm-diagnostic-path,.zsl-matura .zslm-mini-mocks,.zsl-matura .zslm-sectional-diagnostics,.zsl-matura .zslm-diagnostic-history,.zsl-matura .zslm-diagnostic-exam-context,.zsl-matura .zslm-diagnostic-domains,.zsl-matura .zslm-diagnostic-next,.zsl-matura .zslm-progress-diagnostics,.zsl-matura .zslm-essay-self-assessment{padding:17px}}
.zsl-matura .zslm-rep-diagnostic-bridge{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;padding:11px 14px;border-radius:12px;background:#F5FAFB;border:1px solid rgba(20,123,137,.16);font-size:12.5px;line-height:1.45}
@media(max-width:600px){.zsl-matura .zslm-rep-diagnostic-bridge{align-items:flex-start;flex-direction:column}}

/* ============================================================
   v0.35.1 — diagnostics integration hotfix
   ============================================================ */
.zsl-matura .zslm-diagnostic-context{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:16px 0 20px;padding:18px 20px;border:1px solid rgba(20,123,137,.28);
  border-left:4px solid var(--zslm-teal);border-radius:14px;background:#F3FAFB;
}
.zsl-matura .zslm-diagnostic-context>div{min-width:0;}
.zsl-matura .zslm-diagnostic-context h4{margin:4px 0 5px;color:var(--zslm-navy);line-height:1.3;}
.zsl-matura .zslm-diagnostic-context p{margin:0;color:var(--zslm-text);line-height:1.55;}
.zsl-matura .zslm-diagnostic-context-note{display:block;margin-top:7px;color:var(--zslm-muted);line-height:1.5;}
@media(max-width:700px){
  .zsl-matura .zslm-diagnostic-context{align-items:stretch;flex-direction:column;padding:16px;}
  .zsl-matura .zslm-diagnostic-context>.zslm-button{width:100%;justify-content:center;}
}

/* ============================================================
   v0.36 — UX / Engagement Final
   ============================================================ */
.zsl-matura{position:relative;}
.zsl-matura .zslm-skip-link{
  position:absolute;z-index:10020;top:8px;left:8px;transform:translateY(-180%);
  padding:10px 14px;border-radius:10px;background:var(--zslm-navy,#082B49);color:#fff!important;
  font-weight:850;text-decoration:none;box-shadow:0 8px 28px rgba(6,30,52,.2);
}
.zsl-matura .zslm-skip-link:focus{transform:translateY(0);outline:3px solid var(--zslm-gold,#F0B400);outline-offset:2px;}

/* v0.49 — scoped delayed loader. Never covers the course head or the whole application. */
.zsl-matura .zslm-loading-layer{
  position:relative;z-index:5;display:flex;justify-content:center;margin:10px 0;padding:0;background:transparent;pointer-events:none;
}
.zsl-matura .zslm-loading-layer[hidden]{display:none!important;}
.zsl-matura .zslm-loading-card{
  display:inline-flex;align-items:center;gap:10px;width:auto;max-width:calc(100% - 24px);padding:10px 14px;
  border:1px solid rgba(20,123,137,.2);border-radius:999px;background:#fff;color:var(--zslm-navy,#082B49);
  box-shadow:0 8px 24px rgba(6,30,52,.08);font-size:.8rem;font-weight:800;line-height:1.35;
}
.zsl-matura .zslm-loading-spinner{
  width:15px;height:15px;flex:0 0 15px;border:2px solid rgba(20,123,137,.22);border-top-color:var(--zslm-teal,#147B89);border-radius:50%;animation:zslmSpin .8s linear infinite;
}
.zsl-matura .zslm-app-view.is-busy{opacity:.72;transition:opacity .16s ease;}
@keyframes zslmSpin{to{transform:rotate(360deg)}}
@media(max-width:600px){.zsl-matura .zslm-loading-card{max-width:100%;border-radius:12px;padding:9px 12px}.zsl-matura .zslm-loading-layer{margin:8px 0}}

/* Coherent learning loop on home. */
.zsl-matura .zslm-learning-journey{
  margin:18px 0 24px;padding:22px;border:1px solid rgba(20,123,137,.2);border-radius:18px;
  background:linear-gradient(135deg,#F7FCFD 0%,#fff 70%);box-shadow:0 8px 26px rgba(6,30,52,.04);
}
.zsl-matura .zslm-learning-journey__head{max-width:800px;margin-bottom:16px;}
.zsl-matura .zslm-learning-journey__head h4{margin:4px 0 7px;color:var(--zslm-navy);font-size:1.17rem;line-height:1.3;}
.zsl-matura .zslm-learning-journey__head p{margin:0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-learning-journey__map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-learning-journey__node{
  position:relative;appearance:none;display:grid;align-content:start;min-height:120px;padding:15px;text-align:left;
  border:1px solid var(--zslm-border);border-radius:14px;background:#fff;color:var(--zslm-text);font:inherit;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.zsl-matura .zslm-learning-journey__node:hover,.zsl-matura .zslm-learning-journey__node:focus-visible{border-color:var(--zslm-teal);box-shadow:0 10px 26px rgba(6,30,52,.08);transform:translateY(-2px);outline:0;}
.zsl-matura .zslm-learning-journey__no{display:grid;place-items:center;width:30px;height:30px;margin-bottom:12px;border-radius:50%;background:#EAF6F8;color:var(--zslm-teal);font-size:.75rem;font-weight:900;}
.zsl-matura .zslm-learning-journey__node strong{color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-learning-journey__node small{margin-top:5px;color:var(--zslm-muted);line-height:1.4;}
.zsl-matura .zslm-learning-journey__arrow{position:absolute;right:-12px;top:48%;z-index:2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--zslm-teal);color:#fff;font-size:.8rem;box-shadow:0 4px 12px rgba(20,123,137,.2);}

/* Lesson workspace — sticky map on desktop, focused canvas, mobile step switcher. */
.zsl-matura .zslm-lesson-v2-shell--v036{overflow:visible;}
.zsl-matura .zslm-lesson-v2-progress-head{align-items:center;}
.zsl-matura .zslm-lesson-v2-progress-copy{display:grid;gap:2px;min-width:0;}
.zsl-matura .zslm-lesson-focus-toggle{
  appearance:none;min-height:40px;padding:8px 13px;border:1px solid var(--zslm-border);border-radius:999px;
  background:#fff;color:var(--zslm-navy);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;
}
.zsl-matura .zslm-lesson-focus-toggle:hover,.zsl-matura .zslm-lesson-focus-toggle:focus-visible{border-color:var(--zslm-teal);background:#F2FAFB;outline:0;}
.zsl-matura .zslm-lesson-v2-workspace{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:0;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-lesson-v2-rail{min-width:0;padding:16px 12px 16px 16px;border-right:1px solid var(--zslm-border);background:#F8FBFC;}
.zsl-matura .zslm-lesson-v2-rail .zslm-lesson-v2-nav{
  position:sticky;top:14px;display:grid!important;grid-template-columns:1fr!important;gap:7px;overflow:visible!important;padding:0!important;
}
.zsl-matura .zslm-lesson-v2-rail .zslm-lesson-v2-nav-step{width:100%;grid-template-columns:30px minmax(0,1fr)!important;min-height:50px;text-align:left;}
.zsl-matura .zslm-lesson-v2-main{min-width:0;background:#fff;}
.zsl-matura .zslm-lesson-mobile-jump{display:none;}
.zsl-matura .zslm-lesson-v2-stage{border:0!important;border-radius:0!important;}
.zsl-matura .zslm-lesson-v2-stage.is-stage-entering{animation:zslmStageEnter .24s ease both;}
@keyframes zslmStageEnter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.zsl-matura .zslm-lesson-v2-shell.is-focus-mode .zslm-lesson-v2-workspace{grid-template-columns:1fr;}
.zsl-matura .zslm-lesson-v2-shell.is-focus-mode .zslm-lesson-v2-rail{display:none;}
.zsl-matura .zslm-lesson-v2-shell.is-focus-mode .zslm-lesson-v2-stage{max-width:920px;margin-inline:auto;width:100%;}
.zsl-matura .zslm-lesson-v2-shell.is-focus-mode .zslm-lesson-v2-footer{max-width:920px;margin-inline:auto;width:100%;}

/* Better touch/focus defaults in active learning. */
.zsl-matura .zslm-lesson-v2-shell button,
.zsl-matura .zslm-lesson-v2-shell select,
.zsl-matura .zslm-writing-v2-track button{touch-action:manipulation;}
.zsl-matura .zslm-lesson-v2-shell button:focus-visible,
.zsl-matura .zslm-lesson-v2-shell select:focus-visible{outline:3px solid rgba(20,123,137,.28);outline-offset:2px;}
.zsl-matura .zslm-lesson-v2-progress>span{transition:width .26s ease;}

@media(max-width:900px){
  .zsl-matura .zslm-learning-journey__map{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-learning-journey__node:nth-child(2) .zslm-learning-journey__arrow{display:none;}
}
@media(max-width:767px){
  .zsl-matura .zslm-lesson-v2-progress-head{position:sticky;top:0;z-index:16;background:#fff;border-bottom:1px solid var(--zslm-border);padding-top:12px;padding-bottom:12px;}
  .zsl-matura .zslm-lesson-focus-toggle{min-height:44px;}
  .zsl-matura .zslm-lesson-mobile-jump{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--zslm-border);background:#F8FBFC;}
  .zsl-matura .zslm-lesson-mobile-jump>span{color:var(--zslm-navy);font-size:.78rem;font-weight:850;}
  .zsl-matura .zslm-lesson-mobile-jump select{min-width:0;width:100%;min-height:44px;padding:8px 34px 8px 10px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-text);font:inherit;font-size:.86rem;}
  .zsl-matura .zslm-lesson-v2-workspace{display:block;border-top:0;}
  .zsl-matura .zslm-lesson-v2-rail{display:none!important;}
  .zsl-matura .zslm-lesson-v2-stage{min-height:52vh;padding:22px 16px 96px!important;}
  .zsl-matura .zslm-lesson-v2-footer{
    position:sticky;z-index:15;bottom:0;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    background:rgba(251,253,253,.96);backdrop-filter:blur(10px);box-shadow:0 -8px 22px rgba(6,30,52,.07);
  }
  .zsl-matura .zslm-lesson-v2-footer .zslm-button{min-height:48px;}
}
@media(max-width:520px){
  .zsl-matura .zslm-learning-journey{padding:16px;}
  .zsl-matura .zslm-learning-journey__map{grid-template-columns:1fr;}
  .zsl-matura .zslm-learning-journey__node{min-height:94px;}
  .zsl-matura .zslm-learning-journey__arrow{display:none;}
  .zsl-matura .zslm-lesson-v2-progress-head{gap:10px;align-items:stretch;}
  .zsl-matura .zslm-lesson-focus-toggle{width:100%;}
  .zsl-matura .zslm-lesson-mobile-jump{grid-template-columns:1fr;gap:5px;}
}
@media(prefers-reduced-motion:reduce){
  .zsl-matura .zslm-loading-line{animation:none;}
  .zsl-matura .zslm-learning-journey__node,
  .zsl-matura .zslm-lesson-v2-stage.is-stage-entering,
  .zsl-matura .zslm-lesson-v2-progress>span{animation:none!important;transition:none!important;transform:none!important;}
}
@media(prefers-contrast:more){
  .zsl-matura .zslm-learning-journey,.zsl-matura .zslm-learning-journey__node,
  .zsl-matura .zslm-lesson-v2-shell,.zsl-matura .zslm-lesson-mobile-jump{border-color:currentColor;}
}
@media(forced-colors:active){
  .zsl-matura .zslm-learning-journey__node,.zsl-matura .zslm-lesson-focus-toggle{forced-color-adjust:auto;}
}

/* ============================================================
   v0.36.1 — VISUAL HARDENING / TYPOGRAPHY / SPACING
   Full audit patch for Elementor/WordPress host typography,
   card spacing, borders, sticky layers and responsive rhythm.
   ============================================================ */
.zsl-matura{
  --zslm-border-strong:#CAD8E0;
  --zslm-surface-raised:#FFFFFF;
  --zslm-surface-subtle:#F7FAFB;
  --zslm-surface-teal-2:#F0F8F9;
  --zslm-shadow-card:0 8px 28px rgba(6,30,52,.055);
  --zslm-shadow-card-hover:0 14px 36px rgba(6,30,52,.09);
  --zslm-radius-card:18px;
  --zslm-font-sans:var(--e-global-typography-text-font-family,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  width:100%;
  max-width:1280px;
  padding:clamp(8px,1.5vw,18px) clamp(10px,2vw,22px) 34px;
  font-family:var(--zslm-font-sans);
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Protect the app from too-tight Elementor/theme typography. */
.zsl-matura.zsl-matura :is(h1,h2,h3,h4,h5,h6){
  font-family:var(--e-global-typography-primary-font-family,var(--zslm-font-sans));
  line-height:1.24;
  text-wrap:pretty;
  overflow-wrap:anywhere;
}
.zsl-matura.zsl-matura :is(p,li,blockquote,figcaption){line-height:1.62;}
.zsl-matura.zsl-matura :is(label,legend,summary){line-height:1.48;}
.zsl-matura.zsl-matura small{line-height:1.45;}
.zsl-matura.zsl-matura :is(button,a,input,select,textarea){line-height:1.35;}
.zsl-matura.zsl-matura :is(.zslm-course-kicker,.zslm-eyebrow,.zslm-panel-eyebrow){line-height:1.35;}
.zsl-matura .zslm-title{line-height:1.2;letter-spacing:-.015em;}
.zsl-matura .zslm-learning-home-hero h3,
.zsl-matura .zslm-today-hero h3,
.zsl-matura .zslm-detail-title{line-height:1.22;}
.zsl-matura .zslm-home-progress strong,
.zsl-matura .zslm-rep-total strong,
.zsl-matura .zslm-skill-count strong,
.zsl-matura .zslm-network-stats strong,
.zsl-matura .zslm-exam-map__points,
.zsl-matura .zslm-diagnostic-metrics strong,
.zsl-matura .zslm-diagnostic-point-grid strong,
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result>strong{line-height:1.2;}

/* Stronger outer composition and readable separation between major regions. */
.zsl-matura .zslm-course-head{margin:0;border-radius:20px;box-shadow:0 12px 36px rgba(6,30,52,.09);}
.zsl-matura .zslm-summary{margin-top:14px;border-color:var(--zslm-border-strong);border-radius:16px;box-shadow:0 5px 18px rgba(6,30,52,.025);}
.zsl-matura .zslm-summary>div{padding:17px 19px;min-height:78px;display:flex;flex-direction:column;justify-content:center;}
.zsl-matura .zslm-summary-label{line-height:1.35;}
.zsl-matura .zslm-summary strong{line-height:1.38;}
.zsl-matura .zslm-app-view{padding:2px 0 24px;}

/* Toolbar is a real navigation surface, not text floating between panels. */
.zsl-matura .zslm-app-toolbar{
  margin:16px 0 18px;
  padding:7px 10px;
  border-color:var(--zslm-border-strong);
  border-radius:14px;
  box-shadow:0 7px 22px rgba(6,30,52,.045);
}
.zsl-matura .zslm-back-button,.zsl-matura .zslm-home-button{min-height:42px;padding:8px 12px;}
.zsl-matura .zslm-current-location{line-height:1.4;}

/* Generic module pages receive a proper framed page header. */
.zsl-matura .zslm-module-hero{
  margin:0 0 18px;
  padding:clamp(21px,2.8vw,30px);
  border:1px solid var(--zslm-border-strong);
  border-top:4px solid var(--zslm-course-accent);
  border-radius:var(--zslm-radius-card);
  background:linear-gradient(135deg,#F6FBFC 0%,#FFFFFF 72%);
  box-shadow:var(--zslm-shadow-card);
}
.zsl-matura .zslm-module-hero h3{margin:5px 0 9px;line-height:1.23;}
.zsl-matura .zslm-module-hero p{margin:0;max-width:78ch;}
.zsl-matura .zslm-mode-tabs{margin:0 0 20px;padding:8px;border:1px solid var(--zslm-border);border-radius:13px;background:#F8FBFC;}
.zsl-matura .zslm-mode-tab{border-radius:9px;}

/* Home: clearer hierarchy, safer line-height and visible card boundaries. */
.zsl-matura .zslm-learning-home-hero{
  gap:18px 26px;
  padding:clamp(23px,3vw,32px);
  border-color:rgba(20,123,137,.28);
  border-radius:20px;
  box-shadow:var(--zslm-shadow-card);
}
.zsl-matura .zslm-learning-home-hero>div:first-child{align-self:center;}
.zsl-matura .zslm-learning-home-hero .zslm-home-main-actions{
  grid-column:1/-1;
  justify-content:flex-start;
  width:100%;
  margin-top:2px;
  padding-top:18px;
  border-top:1px solid rgba(8,43,73,.10);
}
.zsl-matura .zslm-home-progress{border-color:var(--zslm-border-strong);box-shadow:0 4px 16px rgba(6,30,52,.035);}
.zsl-matura .zslm-home-today-focus{
  margin-top:18px;
  padding:20px 22px;
  border-color:var(--zslm-border-strong);
  border-radius:17px;
  background:#F7FAFB;
  box-shadow:0 5px 18px rgba(6,30,52,.025);
}
.zsl-matura .zslm-learning-journey,
.zsl-matura .zslm-exam-map{
  margin-top:20px;
  padding:clamp(18px,2.2vw,24px);
  border-color:rgba(20,123,137,.27);
  border-radius:18px;
  box-shadow:var(--zslm-shadow-card);
}
.zsl-matura .zslm-learning-journey__head{margin-bottom:18px;}
.zsl-matura .zslm-learning-journey__node,
.zsl-matura .zslm-exam-map__card,
.zsl-matura .zslm-home-link-card{
  border-color:var(--zslm-border-strong);
  box-shadow:0 3px 12px rgba(6,30,52,.025);
}
.zsl-matura .zslm-learning-journey__node{padding:17px;min-height:126px;}
.zsl-matura .zslm-learning-journey__node strong{line-height:1.35;}
.zsl-matura .zslm-learning-journey__node small{line-height:1.48;}
.zsl-matura .zslm-exam-map__card{padding:17px;min-height:122px;}
.zsl-matura button.zslm-exam-map__card.is-action{cursor:pointer;text-align:left;color:inherit;font:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.zsl-matura button.zslm-exam-map__card.is-action:hover,
.zsl-matura button.zslm-exam-map__card.is-action:focus-visible{border-color:var(--zslm-teal);background:#FAFEFE;box-shadow:var(--zslm-shadow-card-hover);transform:translateY(-2px);}
.zsl-matura .zslm-home-utility-head{display:grid;gap:4px;align-items:start;margin:26px 0 11px;}
.zsl-matura .zslm-home-utility-head strong{line-height:1.35;}
.zsl-matura .zslm-home-utility-head span{line-height:1.5;max-width:76ch;}
.zsl-matura .zslm-home-secondary{gap:12px;}
.zsl-matura .zslm-home-link-card{padding:19px;min-height:116px;border-radius:15px;}
.zsl-matura .zslm-home-link-card strong{line-height:1.35;}
.zsl-matura .zslm-home-link-card span{line-height:1.52;}
.zsl-matura .zslm-profile-bar{margin-top:18px;padding:15px 17px;border-color:var(--zslm-border-strong);border-radius:14px;}

/* Shared content surfaces: consistent inner padding and visible edges. */
.zsl-matura :is(
  .zslm-action-panel,.zslm-info-box,.zslm-knowledge-panel,.zslm-content-section,
  .zslm-program-progress,.zslm-qb-task,.zslm-qb-session-summary,
  .zslm-mastery-today,.zslm-mastery-dashboard,.zslm-oral-scoring,
  .zslm-oral-prep,.zslm-oral-conversation,.zslm-oral-self
){border-color:var(--zslm-border-strong);box-shadow:0 4px 16px rgba(6,30,52,.025);}
.zsl-matura .zslm-section-head{margin:30px 0 17px;}
.zsl-matura .zslm-section-head h3{line-height:1.25;}
.zsl-matura .zslm-section-head p{line-height:1.62;}

/* Inputs must remain readable regardless of host form styles. */
.zsl-matura :is(.zslm-select,.zslm-writing-textarea,.zslm-profile-input,.zslm-skill-search,.zslm-topic-search,.zslm-topic-select,input.zslm-library-search){
  min-height:46px;
  border-color:var(--zslm-border-strong);
  border-radius:11px;
  background:#fff;
  color:var(--zslm-text);
  line-height:1.45;
}
.zsl-matura textarea.zslm-writing-textarea{padding:13px 14px;resize:vertical;}
.zsl-matura :is(input,select,textarea)::placeholder{color:#758896;opacity:1;}

/* Diagnostics: stronger information architecture and breathing room. */
.zsl-matura .zslm-diagnostic-overview,
.zsl-matura .zslm-diagnostic-path,
.zsl-matura .zslm-mini-mocks,
.zsl-matura .zslm-sectional-diagnostics,
.zsl-matura .zslm-diagnostic-history,
.zsl-matura .zslm-diagnostic-exam-context,
.zsl-matura .zslm-diagnostic-domains,
.zsl-matura .zslm-diagnostic-next,
.zsl-matura .zslm-progress-diagnostics,
.zsl-matura .zslm-essay-self-assessment{
  margin:20px 0;
  padding:clamp(18px,2.3vw,24px);
  border-color:var(--zslm-border-strong);
  border-radius:18px;
  box-shadow:var(--zslm-shadow-card);
}
.zsl-matura .zslm-diagnostic-path-grid>article,
.zsl-matura .zslm-mini-mock-grid>article,
.zsl-matura .zslm-diagnostic-history-card,
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result,
.zsl-matura .zslm-diagnostic-metrics>div,
.zsl-matura .zslm-diagnostic-point-grid>article{
  border-color:var(--zslm-border-strong);
  box-shadow:0 3px 12px rgba(6,30,52,.02);
}
.zsl-matura .zslm-mini-mock-grid h5,
.zsl-matura .zslm-domain-results--diagnostic .zslm-domain-result h5{line-height:1.42;}

/* Lesson workspace: clearer stage separation and no stacked sticky headers. */
.zsl-matura .zslm-lesson-v2-hero{border-color:var(--zslm-border-strong);border-radius:18px;box-shadow:var(--zslm-shadow-card);}
.zsl-matura .zslm-lesson-v2-shell{border-color:var(--zslm-border-strong);border-radius:18px;box-shadow:0 12px 34px rgba(6,30,52,.065);}
.zsl-matura .zslm-lesson-v2-progress-head{padding:17px 20px 12px;}
.zsl-matura .zslm-lesson-v2-progress-copy strong{line-height:1.35;}
.zsl-matura .zslm-lesson-v2-progress-copy span{line-height:1.45;}
.zsl-matura .zslm-lesson-v2-rail{padding:18px 13px 18px 17px;}
.zsl-matura .zslm-lesson-v2-rail .zslm-lesson-v2-nav-step{padding:9px 10px;min-height:54px;border-color:var(--zslm-border-strong);}
.zsl-matura .zslm-lesson-v2-nav-step span{line-height:1.38;}
.zsl-matura .zslm-lesson-v2-stage{padding:clamp(26px,4vw,44px);scroll-margin-top:100px;}
.zsl-matura .zslm-lesson-v2-stage-head{margin-bottom:26px;}
.zsl-matura .zslm-lesson-v2-card,
.zsl-matura .zslm-lesson-v2-question,
.zsl-matura .zslm-lesson-v2-evidence-card,
.zsl-matura .zslm-lesson-v2-connection-card,
.zsl-matura .zslm-lesson-v2-recall-card{border-color:var(--zslm-border-strong);box-shadow:0 3px 12px rgba(6,30,52,.02);}
.zsl-matura .zslm-lesson-v2-footer{padding:15px 18px;border-color:var(--zslm-border-strong);}

/* Writing / oral / mastery receive the same visual language. */
.zsl-matura .zslm-writing-v2-track-hero,
.zsl-matura .zslm-oral-hero,
.zsl-matura .zslm-network-hero,
.zsl-matura .zslm-rep-hero,
.zsl-matura .zslm-rep-unit-hero{
  border-color:var(--zslm-border-strong);
  box-shadow:var(--zslm-shadow-card);
}
.zsl-matura .zslm-writing-v2-stage,
.zsl-matura .zslm-writing-v2-practice,
.zsl-matura .zslm-oral-card,
.zsl-matura .zslm-mastery-due-card,
.zsl-matura .zslm-mastery-dimensions article{border-color:var(--zslm-border-strong);}

@media(hover:hover) and (pointer:fine){
  .zsl-matura :is(.zslm-home-link-card,.zslm-learning-journey__node,.zslm-rep-unit-card,.zslm-oral-card,.zslm-mastery-due-card):hover{
    border-color:rgba(20,123,137,.52);
    box-shadow:var(--zslm-shadow-card-hover);
  }
}

@media(max-width:767px){
  .zsl-matura{padding:8px clamp(8px,3.5vw,15px) 28px;font-size:16px;}
  .zsl-matura .zslm-course-head{padding:22px 19px;border-radius:18px;}
  .zsl-matura .zslm-title{font-size:clamp(1.65rem,8vw,2rem);line-height:1.22;}
  .zsl-matura .zslm-summary>div{min-height:68px;padding:13px 15px;}
  .zsl-matura .zslm-learning-home-hero{padding:19px 17px;gap:16px;}
  .zsl-matura .zslm-learning-home-hero .zslm-home-main-actions{padding-top:15px;}
  .zsl-matura .zslm-learning-home-hero .zslm-home-main-actions .zslm-button{min-height:48px;}
  .zsl-matura .zslm-home-today-focus{padding:17px;}
  .zsl-matura .zslm-learning-journey,.zsl-matura .zslm-exam-map{padding:16px;}
  .zsl-matura .zslm-learning-journey__node{min-height:0;padding:15px;}
  .zsl-matura .zslm-home-link-card{min-height:0;padding:16px;}
  .zsl-matura .zslm-module-hero{padding:20px 17px;border-radius:16px;}
  .zsl-matura .zslm-app-toolbar{margin:12px 0 16px;}
  /* The app toolbar is already sticky. A second top-sticky lesson header caused stacking/covering on mobile. */
  .zsl-matura .zslm-lesson-v2-progress-head{position:static;top:auto;z-index:auto;padding:15px 16px 12px;}
  .zsl-matura .zslm-lesson-v2-stage{min-height:0;padding:24px 16px 28px!important;}
  .zsl-matura .zslm-lesson-v2-footer{
    bottom:max(8px,env(safe-area-inset-bottom));
    margin:8px 10px 10px;
    padding:9px;
    border:1px solid var(--zslm-border-strong);
    border-radius:14px;
    background:rgba(255,255,255,.97);
    box-shadow:0 10px 28px rgba(6,30,52,.10);
  }
  .zsl-matura .zslm-lesson-v2-footer .zslm-button{min-height:48px;}
  .zsl-matura .zslm-diagnostic-overview,
  .zsl-matura .zslm-diagnostic-path,
  .zsl-matura .zslm-mini-mocks,
  .zsl-matura .zslm-sectional-diagnostics,
  .zsl-matura .zslm-diagnostic-history,
  .zsl-matura .zslm-diagnostic-exam-context,
  .zsl-matura .zslm-diagnostic-domains,
  .zsl-matura .zslm-diagnostic-next,
  .zsl-matura .zslm-progress-diagnostics,
  .zsl-matura .zslm-essay-self-assessment{padding:17px 15px;}
}

@media(max-width:430px){
  .zsl-matura{padding-inline:8px;}
  .zsl-matura .zslm-course-head{padding:20px 16px;}
  .zsl-matura .zslm-learning-home-hero h3,.zsl-matura .zslm-today-hero h3{font-size:1.55rem;line-height:1.25;}
  .zsl-matura .zslm-button{white-space:normal;}
  .zsl-matura .zslm-home-progress{max-width:none;width:100%;}
  .zsl-matura .zslm-home-secondary{gap:10px;}
  .zsl-matura .zslm-lesson-mobile-jump{padding:12px;}
}

@media(prefers-reduced-motion:reduce){
  .zsl-matura button.zslm-exam-map__card.is-action{transition:none!important;transform:none!important;}
}

/* v0.36.1 host-CSS shield: semantic emphasis must not inherit compressed theme line-height. */
.zsl-matura.zsl-matura strong,
.zsl-matura.zsl-matura b{line-height:1.4;}

/* v0.36.1 final mobile lesson dock hardening: keep navigation in normal flow so it never covers exercises. */
@media(max-width:767px){
  .zsl-matura .zslm-lesson-v2-footer{
    position:relative;
    z-index:auto;
    bottom:auto;
    margin:12px 10px 10px;
  }
  .zsl-matura .zslm-lesson-v2-stage{padding-bottom:32px!important;}
}

/* Loader is deliberately opaque: underlying labels can never visually bleed through skeleton text. */
.zsl-matura .zslm-loading-layer{background:#F8FBFC;backdrop-filter:none;}


/* ============================================================
   v0.36.2 — FULL VISUAL AUDIT / HOST OVERRIDE SHIELD
   Removes pink host bleed, hardens skip-link hiding, improves
   spacing rhythm, card/button reset, numeric alignment and
   cross-view visual consistency.
   ============================================================ */

/* Accessibility skip link must be invisible until keyboard focus. */
.zsl-matura .zslm-skip-link{
  position:absolute !important;
  left:12px !important;
  top:12px !important;
  transform:none !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  width:1px !important;
  height:1px !important;
  margin:-1px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.zsl-matura .zslm-skip-link:focus,
.zsl-matura .zslm-skip-link:focus-visible{
  position:fixed !important;
  left:12px !important;
  top:12px !important;
  clip:auto !important;
  clip-path:none !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:12px 16px !important;
  opacity:1 !important;
  overflow:visible !important;
  pointer-events:auto !important;
  z-index:10050 !important;
  border:1px solid rgba(255,255,255,.95) !important;
  border-radius:12px !important;
  background:var(--zslm-navy,#082B49) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(6,30,52,.22) !important;
}

/* Final shield against host/theme button styling (including pink Elementor variants). */
.zsl-matura :is(
  .zslm-oral-task2-card,.zslm-oral-card,.zslm-home-link-card,.zslm-learning-journey__node,
  .zslm-rep-category-card,.zslm-rep-unit-card,.zslm-kmap-work-card,.zslm-relation-card,
  .zslm-lesson-v2-nav-step,.zslm-mastery-self-button,.zslm-qb-rating-button,
  .zslm-question-index,.zslm-session-preset,.zslm-mode-tab,.zslm-tab,
  .zslm-example-card,.zslm-problem-card
){
  appearance:none;
  -webkit-appearance:none;
  background-image:none !important;
  text-shadow:none !important;
  box-shadow:none;
}
.zsl-matura :is(.zslm-oral-task2-card,.zslm-oral-card,.zslm-home-link-card,.zslm-learning-journey__node,.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-kmap-work-card,.zslm-relation-card){
  color:var(--zslm-text) !important;
  background:var(--zslm-surface-raised,#fff) !important;
  border:1px solid var(--zslm-border-strong,#CAD8E0) !important;
}
.zsl-matura :is(.zslm-oral-task2-card,.zslm-oral-card,.zslm-home-link-card,.zslm-learning-journey__node,.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-kmap-work-card,.zslm-relation-card) :is(strong,b,small,span,p){
  color:inherit;
}
.zsl-matura .zslm-oral-task2-card{
  gap:11px;
  padding:20px 20px 18px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff,#FBFDFE) !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.zsl-matura .zslm-oral-task2-card:hover,
.zsl-matura .zslm-oral-task2-card:focus-visible{
  outline:0;
  background:linear-gradient(180deg,#F8FCFD,#FFFFFF) !important;
  border-color:rgba(20,123,137,.52) !important;
  box-shadow:0 14px 32px rgba(6,30,52,.09) !important;
  transform:translateY(-2px);
}
.zsl-matura .zslm-oral-task2-card strong{color:var(--zslm-navy,#082B49) !important;font-size:1.02rem;line-height:1.36 !important;}
.zsl-matura .zslm-oral-task2-card p{color:var(--zslm-text,#17324A) !important;font-size:.96rem !important;line-height:1.62 !important;}
.zsl-matura .zslm-oral-task2-card small{display:inline-flex;align-items:center;gap:8px;margin-top:2px;color:var(--zslm-teal,#147B89) !important;font-weight:800;line-height:1.4 !important;}
.zsl-matura .zslm-oral-task2 .zslm-mini-chip,
.zsl-matura .zslm-oral-task2-card .zslm-mini-chip{
  align-self:flex-start;
  border:1px solid rgba(20,123,137,.18);
  background:#EFF7F8 !important;
  color:var(--zslm-teal,#147B89) !important;
}

/* Better visual rhythm on top-level views. */
.zsl-matura .zslm-course-head{margin-top:4px;}
.zsl-matura .zslm-app-view > :first-child{margin-top:0 !important;}
.zsl-matura .zslm-app-view > section:first-child,
.zsl-matura .zslm-app-view > article:first-child{margin-top:0 !important;}
.zsl-matura .zslm-module-hero,
.zsl-matura .zslm-learning-home-hero,
.zsl-matura .zslm-oral-task2,
.zsl-matura .zslm-oral-list-head,
.zsl-matura .zslm-lesson-v2-hero,
.zsl-matura .zslm-writing-v2-track-hero,
.zsl-matura .zslm-rep-hero,
.zsl-matura .zslm-rep-unit-hero,
.zsl-matura .zslm-oral-hero,
.zsl-matura .zslm-network-hero{
  scroll-margin-top:110px;
}

/* Number badges and step circles: exact centering and stable numerals. */
.zsl-matura :is(
  .zslm-module-order,.zslm-today-no,.zslm-learning-journey__no,.zslm-oral-number,
  .zslm-rep-unit-no,.zslm-question-index,.zslm-check-mark,
  .zslm-lesson-v2-nav-step b,.zslm-exam-map__points
){
  display:inline-grid !important;
  place-items:center !important;
  line-height:1 !important;
  text-indent:0 !important;
  font-variant-numeric:tabular-nums lining-nums;
  padding:0 !important;
}
.zsl-matura .zslm-lesson-v2-nav-step{
  align-items:center !important;
  gap:10px !important;
  border-radius:14px !important;
}
.zsl-matura .zslm-lesson-v2-nav-step b{
  min-width:30px;
  width:30px;
  height:30px;
  font-size:.82rem !important;
  font-weight:850 !important;
}
.zsl-matura .zslm-question-index{font-weight:850 !important;}

/* Bridges and grouped actions should breathe on both desktop and mobile. */
.zsl-matura .zslm-lesson-v2-bridges,
.zsl-matura .zslm-exam-practice-actions,
.zsl-matura .zslm-writing-coach-actions,
.zsl-matura .zslm-topic-actions,
.zsl-matura .zslm-today-more,
.zsl-matura .zslm-home-main-actions{
  gap:12px !important;
}
.zsl-matura .zslm-lesson-v2-bridges{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  padding:16px;
  border:1px solid var(--zslm-border-strong,#CAD8E0);
  border-radius:16px;
  background:#F8FBFC;
}
.zsl-matura .zslm-lesson-v2-bridges > strong{grid-column:1/-1;}
.zsl-matura .zslm-lesson-v2-bridges .zslm-button{
  width:100%;
  justify-content:center;
  text-align:center;
  min-height:52px;
  border-radius:12px;
}
.zsl-matura .zslm-mastery-selfcheck{gap:9px 10px;align-items:center;}
.zsl-matura .zslm-mastery-self-button{min-height:42px;padding:9px 13px;border-radius:10px;}

/* Shared cards and panels: stronger edges + more padding. */
.zsl-matura :is(
  .zslm-action-panel,.zslm-info-box,.zslm-knowledge-panel,.zslm-content-section,.zslm-program-progress,
  .zslm-qb-task,.zslm-qb-session-summary,.zslm-mastery-today,.zslm-mastery-dashboard,.zslm-oral-scoring,
  .zslm-oral-prep,.zslm-oral-conversation,.zslm-oral-self,.zslm-oral-stimulus,.zslm-oral-task2-ops,
  .zslm-error-journal,.zslm-error-journal-compact,.zslm-check-diagnostic-bridge,.zslm-diagnostic-overview,
  .zslm-diagnostic-path,.zslm-mini-mocks,.zslm-sectional-diagnostics,.zslm-diagnostic-history,
  .zslm-diagnostic-exam-context,.zslm-diagnostic-domains,.zslm-diagnostic-next,.zslm-progress-diagnostics,
  .zslm-essay-self-assessment,.zslm-profile-bar,.zslm-home-today-focus
){
  border-color:var(--zslm-border-strong,#CAD8E0) !important;
  border-radius:18px !important;
  box-shadow:0 5px 18px rgba(6,30,52,.03) !important;
}
.zsl-matura :is(.zslm-oral-card,.zslm-home-link-card,.zslm-rep-unit-card,.zslm-kmap-work-card,.zslm-relation-card,.zslm-assessment-card){
  border-radius:16px !important;
}
.zsl-matura .zslm-section-head,
.zsl-matura .zslm-oral-list-head,
.zsl-matura .zslm-home-utility-head{margin-block:28px 14px !important;}

/* Home and titles: safer wrapping, spacing and CTA rhythm. */
.zsl-matura .zslm-learning-home-hero h3,
.zsl-matura .zslm-module-hero h3,
.zsl-matura .zslm-oral-hero h3,
.zsl-matura .zslm-rep-hero h3,
.zsl-matura .zslm-network-hero h3,
.zsl-matura .zslm-writing-v2-track-hero h3,
.zsl-matura .zslm-lesson-v2-stage-head h3{
  margin:4px 0 10px;
  line-height:1.26 !important;
}
.zsl-matura .zslm-learning-home-hero p,
.zsl-matura .zslm-module-hero p,
.zsl-matura .zslm-oral-hero p,
.zsl-matura .zslm-rep-hero p,
.zsl-matura .zslm-network-hero p,
.zsl-matura .zslm-writing-v2-track-hero p{line-height:1.65 !important;}

/* Inputs and small controls: cleaner geometry. */
.zsl-matura :is(input,select,textarea).zslm-library-search,
.zsl-matura :is(.zslm-select,.zslm-writing-textarea,.zslm-profile-input,.zslm-skill-search,.zslm-topic-search,.zslm-topic-select){
  padding-inline:13px !important;
  box-shadow:none !important;
}

/* Mobile adjustments: no cramped pairs or squeezed cards. */
@media(max-width:900px){
  .zsl-matura .zslm-lesson-v2-bridges{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .zsl-matura .zslm-oral-task2{padding:18px 16px !important;}
  .zsl-matura .zslm-oral-task2-card{padding:17px 15px 16px !important;}
  .zsl-matura .zslm-oral-grid{grid-template-columns:1fr !important;}
  .zsl-matura .zslm-oral-card{padding:15px !important;}
  .zsl-matura .zslm-lesson-v2-bridges{padding:14px !important;}
  .zsl-matura .zslm-app-toolbar{padding:8px !important;}
  .zsl-matura .zslm-lesson-v2-stage-head{margin-bottom:20px !important;}
}
@media(max-width:430px){
  .zsl-matura .zslm-lesson-v2-nav-step{gap:9px !important;}
  .zsl-matura .zslm-lesson-v2-nav-step b,
  .zsl-matura .zslm-question-index,
  .zsl-matura .zslm-oral-number,
  .zsl-matura .zslm-learning-journey__no{width:32px;height:32px;min-width:32px;}
  .zsl-matura .zslm-mastery-selfcheck{display:grid;grid-template-columns:1fr 1fr;}
  .zsl-matura .zslm-mastery-selfcheck .zslm-mastery-self-button:last-child:nth-child(odd){grid-column:1/-1;}
}


/* ============================================================
   v0.36.3 — HOME VISUAL AUDIT
   Consistent vertical rhythm, calmer learning-loop navigation,
   refined path cards and equalized outer/top spacing.
   ============================================================ */
.zsl-matura{
  --zslm-home-gap:18px;
  padding-top:clamp(16px,2vw,22px);
}

/* Equal spacing around the course header / facts / first Home panel. */
.zsl-matura .zslm-course-head{margin-top:0;}
.zsl-matura .zslm-summary{margin-top:var(--zslm-home-gap);}
.zsl-matura .zslm-summary + .zslm-app-toolbar[hidden] + .zslm-app-view{
  padding-top:var(--zslm-home-gap);
}

/* Home owns its vertical rhythm instead of stacking unrelated margins. */
.zsl-matura .zslm-home--v021{
  display:grid;
  gap:var(--zslm-home-gap);
}
.zsl-matura .zslm-home--v021 > :is(
  .zslm-learning-home-hero,.zslm-home-today-focus,.zslm-learning-journey,
  .zslm-exam-map,.zslm-home-paths,.zslm-profile-bar,.zslm-message
){
  margin:0 !important;
}

/* Learning loop: numbered cards are enough — no turquoise arrow bubbles. */
.zsl-matura .zslm-learning-journey__map{
  gap:14px;
}
.zsl-matura .zslm-learning-journey__node{
  min-height:118px;
  padding:17px 18px;
  border-radius:16px;
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFE 100%) !important;
}
.zsl-matura .zslm-learning-journey__no{
  width:32px;
  height:32px;
  min-width:32px;
  margin-bottom:13px;
  border:1px solid rgba(20,123,137,.14);
  background:#EEF6F7;
  color:var(--zslm-navy,#082B49);
}
.zsl-matura .zslm-learning-journey__node strong{font-size:1.02rem;}
.zsl-matura .zslm-learning-journey__arrow{display:none !important;}

/* Own-path block is one coherent region, with no compounded margins. */
.zsl-matura .zslm-home-paths{
  display:grid;
  gap:12px;
  padding-top:2px;
}
.zsl-matura .zslm-home-paths .zslm-home-utility-head,
.zsl-matura .zslm-home-paths .zslm-home-secondary{
  margin:0 !important;
}
.zsl-matura .zslm-home-utility-head{
  gap:5px;
}
.zsl-matura .zslm-home-secondary--four{
  gap:12px;
}
.zsl-matura .zslm-home-link-card{
  min-height:128px;
  grid-template-columns:minmax(0,1fr) 36px;
  gap:6px 14px;
  padding:18px 16px 18px 18px;
  border-radius:16px !important;
}
.zsl-matura .zslm-home-link-card b{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  justify-self:end;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid var(--zslm-border-strong,#CAD8E0);
  border-radius:10px;
  background:#F6F9FA;
  color:var(--zslm-navy,#082B49) !important;
  font-size:1rem;
  line-height:1;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.zsl-matura .zslm-home-link-card:hover b,
.zsl-matura .zslm-home-link-card:focus-visible b{
  background:var(--zslm-navy,#082B49);
  border-color:var(--zslm-navy,#082B49);
  color:#fff !important;
  transform:translateX(2px);
}

/* Keep all Home panels on the same visual baseline. */
.zsl-matura .zslm-learning-home-hero,
.zsl-matura .zslm-home-today-focus,
.zsl-matura .zslm-learning-journey,
.zsl-matura .zslm-exam-map{
  border-radius:18px;
}
.zsl-matura .zslm-learning-home-hero{padding:28px 30px;}
.zsl-matura .zslm-home-today-focus{padding:20px 22px;}
.zsl-matura .zslm-learning-journey,
.zsl-matura .zslm-exam-map{padding:22px;}

@media(max-width:900px){
  .zsl-matura{--zslm-home-gap:16px;}
  .zsl-matura .zslm-learning-journey__map{gap:12px;}
  .zsl-matura .zslm-home-link-card{min-height:116px;}
}
@media(max-width:767px){
  .zsl-matura{padding-top:12px;--zslm-home-gap:14px;}
  .zsl-matura .zslm-learning-home-hero{padding:20px 17px;}
  .zsl-matura .zslm-learning-journey,
  .zsl-matura .zslm-exam-map{padding:16px;}
  .zsl-matura .zslm-home-link-card{min-height:0;padding:16px 14px 16px 16px;}
}
@media(max-width:520px){
  .zsl-matura .zslm-home-link-card{grid-template-columns:minmax(0,1fr) 34px;}
  .zsl-matura .zslm-home-link-card b{width:30px;height:30px;border-radius:9px;}
}


/* ============================================================
   v0.36.4 — MOBILE NAVIGATION + HOME RHYTHM HOTFIX
   Fixes the remaining zero-gap Home seam, card CTA collisions,
   mobile navigation fatigue and stale scroll position after routing.
   ============================================================ */

/* The first Home surface must have the same breathing room as all following surfaces. */
.zsl-matura .zslm-app-view > .zslm-home--v021{
  margin-top:var(--zslm-home-gap,18px) !important;
}
.zsl-matura .zslm-summary:not([hidden]) ~ .zslm-app-view > .zslm-home--v021{
  margin-top:var(--zslm-home-gap,18px) !important;
}

/* Own-path cards: return to a calm typographic arrow instead of a boxed pseudo-button. */
.zsl-matura .zslm-home-link-card{
  grid-template-columns:minmax(0,1fr) 26px;
  gap:6px 12px;
}
.zsl-matura .zslm-home-link-card b{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:32px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#516879 !important;
  font-size:1.15rem;
  font-weight:650;
  line-height:1;
  box-shadow:none !important;
  transition:transform .16s ease,color .16s ease;
}
.zsl-matura .zslm-home-link-card:hover b,
.zsl-matura .zslm-home-link-card:focus-visible b{
  background:transparent !important;
  border-color:transparent !important;
  color:var(--zslm-teal,#147B89) !important;
  transform:translateX(3px);
}

/* Recommended topic card: CTA gets its own row on compact layouts and can never cover copy. */
@media(max-width:900px){
  .zsl-matura .zslm-home-today-focus{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
  }
  .zsl-matura .zslm-home-today-focus > div{min-width:0 !important;}
  .zsl-matura .zslm-home-today-focus > .zslm-button{
    position:static !important;
    inset:auto !important;
    justify-self:start !important;
    align-self:auto !important;
    margin:0 !important;
    max-width:100% !important;
  }
}

/* Mobile app navigation: compact, always sticky inside the course and thumb-friendly. */
@media(max-width:767px){
  .zsl-matura{
    padding-inline:0 !important;
    --zslm-home-gap:16px;
  }
  .zsl-matura .zslm-app-toolbar{
    position:sticky !important;
    top:8px !important;
    z-index:48 !important;
    display:flex;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    min-height:52px;
    margin:12px 0 16px !important;
    padding:6px !important;
    border:1px solid rgba(202,216,224,.96) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 10px 28px rgba(6,30,52,.10) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .zsl-matura .zslm-app-toolbar[hidden]{display:none !important;}
  .zsl-matura .zslm-toolbar-actions{
    display:flex !important;
    flex:0 0 auto;
    width:auto !important;
    gap:6px !important;
  }
  .zsl-matura .zslm-back-button{
    min-height:40px;
    padding:8px 13px !important;
    border-color:var(--zslm-navy,#082B49) !important;
    background:var(--zslm-navy,#082B49) !important;
    color:#fff !important;
  }
  .zsl-matura .zslm-home-button{
    min-height:40px;
    padding:8px 11px !important;
    border-color:var(--zslm-border-strong,#CAD8E0) !important;
    background:#fff !important;
    color:var(--zslm-navy,#082B49) !important;
  }
  .zsl-matura .zslm-current-location{
    flex:1 1 auto;
    min-width:0;
    padding:0 7px 0 2px !important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap !important;
    text-align:right !important;
    font-size:.72rem;
    line-height:1.3 !important;
  }
  .zsl-matura .zslm-home-today-focus > .zslm-button{
    width:100% !important;
    justify-self:stretch !important;
  }
  .zsl-matura .zslm-home-link-card{
    grid-template-columns:minmax(0,1fr) 24px;
    padding-right:14px !important;
  }
  .zsl-matura .zslm-home-link-card b{width:22px;height:30px;}
}

@media(max-width:430px){
  .zsl-matura .zslm-app-toolbar{top:6px !important;}
  .zsl-matura .zslm-current-location{display:none !important;}
  .zsl-matura .zslm-toolbar-actions{width:100% !important;justify-content:space-between !important;}
  .zsl-matura .zslm-back-button{flex:1 1 auto;justify-content:flex-start !important;}
  .zsl-matura .zslm-home-button{flex:0 0 auto;}
}

/* v0.36.4: exam point totals are typographic labels, not circular numeric badges. */
.zsl-matura .zslm-exam-map__points{
  display:block !important;
  line-height:1.2 !important;
  padding:0 !important;
}

/* ============================================================
   v0.36.5 — MOBILE ROUTING + NAVIGATION HARDENING
   Full mobile pass after production scroll inspection.
   ============================================================ */
.zsl-matura .zslm-route-anchor{
  display:block;
  width:100%;
  height:0;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
}

@media(max-width:767px){
  /* The course toolbar sits below the real sticky school header rather than
     underneath it. JS keeps the host offset in sync while the header collapses. */
  .zsl-matura .zslm-app-toolbar{
    top:calc(var(--zslm-host-sticky-offset, 0px) + 6px) !important;
    margin:10px 0 14px !important;
    min-height:50px;
    padding:6px !important;
    border-radius:13px !important;
    box-shadow:0 8px 22px rgba(6,30,52,.09) !important;
  }
  .zsl-matura .zslm-back-button,
  .zsl-matura .zslm-home-button{
    min-height:40px !important;
    border-radius:9px !important;
    line-height:1.2 !important;
  }

  /* Mobile should spend pixels on content, not nested whitespace. */
  .zsl-matura .zslm-course-head{padding:20px 16px !important;}
  .zsl-matura .zslm-summary>div{padding:11px 13px !important;min-height:66px;}
  .zsl-matura .zslm-learning-home-hero,
  .zsl-matura .zslm-module-hero,
  .zsl-matura .zslm-rep-hero,
  .zsl-matura .zslm-today-hero,
  .zsl-matura .zslm-oral-hero,
  .zsl-matura .zslm-network-hero,
  .zsl-matura .zslm-writing-v2-track-hero{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .zsl-matura .zslm-learning-journey,
  .zsl-matura .zslm-exam-map,
  .zsl-matura .zslm-home-today-focus,
  .zsl-matura .zslm-action-panel,
  .zsl-matura .zslm-info-box,
  .zsl-matura .zslm-knowledge-panel,
  .zsl-matura .zslm-content-section{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  /* Long route labels and actions must never create accidental horizontal scroll. */
  .zsl-matura :where(.zslm-app-view,.zslm-app-toolbar,.zslm-toolbar-actions,.zslm-current-location){
    min-width:0;
    max-width:100%;
  }
  .zsl-matura .zslm-app-view :where(h2,h3,h4,h5,p,li,strong,span,small,button,a){
    overflow-wrap:anywhere;
  }
  .zsl-matura .zslm-current-location{overflow:hidden !important;text-overflow:ellipsis;}

  /* Avoid a second sticky layer inside Lesson 2.0. The global toolbar is the
     persistent route control; lesson controls remain in document flow. */
  .zsl-matura .zslm-lesson-v2-progress-head{
    position:relative !important;
    top:auto !important;
  }
}

@media(max-width:430px){
  .zsl-matura .zslm-course-head{padding:18px 14px !important;}
  .zsl-matura .zslm-title{font-size:clamp(1.55rem,8vw,1.9rem) !important;line-height:1.22 !important;}
  .zsl-matura .zslm-lead{font-size:.94rem !important;line-height:1.58 !important;}
  .zsl-matura .zslm-app-toolbar{top:calc(var(--zslm-host-sticky-offset, 0px) + 5px) !important;}
}

/* Production integration: the generic ZSŁ page container is intentionally roomy,
   but on a long interactive course it wastes too much of a 320–430px viewport.
   Tighten only the container that actually owns ZSŁ Matura. */
@supports selector(.zsl-container:has(.zsl-matura)){
  @media(max-width:767px){
    .zsl-section:has(.zsl-matura){padding-inline:0 !important;}
    .zsl-container:has(.zsl-matura){padding-inline:12px !important;}
    .zsl-content:has(> .zsl-matura){width:100% !important;max-width:100% !important;}
  }
  @media(max-width:430px){
    .zsl-container:has(.zsl-matura){padding-inline:10px !important;}
  }
}


/* ============================================================
   v0.36.6 — REPETYTORIUM ROOT VISUAL AUDIT
   Compact category cards, consistent spacing and detached CTA.
   ============================================================ */
.zsl-matura .zslm-rep-view--root{
  display:grid;
  gap:18px;
}
.zsl-matura .zslm-rep-view--root > .zslm-rep-hero,
.zsl-matura .zslm-rep-view--root > .zslm-rep-progressbar,
.zsl-matura .zslm-rep-view--root > .zslm-rep-catalog-head,
.zsl-matura .zslm-rep-view--root > .zslm-rep-category-grid,
.zsl-matura .zslm-rep-view--root > .zslm-rep-continue{
  margin-block:0 !important;
}
.zsl-matura .zslm-rep-catalog-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 0;
}
.zsl-matura .zslm-rep-catalog-head > div{display:grid;gap:3px;}
.zsl-matura .zslm-rep-catalog-head h4{
  margin:0;
  color:var(--zslm-navy,#082B49);
  font-size:1.08rem;
  line-height:1.35 !important;
}
.zsl-matura .zslm-rep-catalog-head p{
  max-width:52ch;
  margin:0;
  color:var(--zslm-muted,#61717c);
  font-size:.9rem;
  line-height:1.55 !important;
  text-align:right;
}
.zsl-matura .zslm-rep-category-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px !important;
  margin-top:0 !important;
}
.zsl-matura .zslm-rep-category-card{
  appearance:none;
  -webkit-appearance:none;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 28px;
  grid-template-areas:
    "title arrow"
    "desc desc"
    "progress progress";
  align-content:start !important;
  align-items:start !important;
  gap:7px 12px !important;
  min-height:142px !important;
  padding:17px 17px 16px !important;
  border:1px solid var(--zslm-border-strong,#CAD8E0) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--zslm-text,#17324A) !important;
  text-align:left !important;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(6,30,52,.025) !important;
}
.zsl-matura .zslm-rep-category-card > strong{
  grid-area:title;
  align-self:center;
  margin:0 !important;
  color:var(--zslm-navy,#082B49) !important;
  font-size:1rem !important;
  line-height:1.35 !important;
}
.zsl-matura .zslm-rep-category-card > .zslm-rep-category-arrow{
  grid-area:arrow;
  place-self:center end;
  display:inline-grid !important;
  place-items:center;
  width:28px;
  height:28px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:9px;
  background:#F2F6F8 !important;
  color:#4C6475 !important;
  font-size:1rem !important;
  font-weight:750 !important;
  line-height:1 !important;
  transition:transform .16s ease,background-color .16s ease,color .16s ease;
}
.zsl-matura .zslm-rep-category-card > .zslm-rep-category-desc{
  grid-area:desc;
  display:block;
  margin:0 !important;
  color:var(--zslm-muted,#61717c) !important;
  font-size:.88rem !important;
  line-height:1.48 !important;
}
.zsl-matura .zslm-rep-category-card > .zslm-rep-category-progress{
  grid-area:progress;
  display:block;
  margin:2px 0 0 !important;
  color:var(--zslm-teal,#147B89) !important;
  font-size:.81rem !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}
@media(hover:hover) and (pointer:fine){
  .zsl-matura .zslm-rep-category-card:hover{
    border-color:rgba(20,123,137,.46) !important;
    background:#FBFDFE !important;
    box-shadow:0 10px 24px rgba(6,30,52,.07) !important;
    transform:translateY(-1px);
  }
  .zsl-matura .zslm-rep-category-card:hover > .zslm-rep-category-arrow{
    transform:translateX(2px);
    background:#EAF3F5 !important;
    color:var(--zslm-navy,#082B49) !important;
  }
}
.zsl-matura .zslm-rep-category-card:focus-visible{
  outline:3px solid rgba(240,180,0,.48) !important;
  outline-offset:3px;
}
.zsl-matura .zslm-rep-continue{
  display:flex;
  justify-content:flex-start;
  padding-top:2px;
}
.zsl-matura .zslm-rep-continue .zslm-button{
  min-height:48px;
  margin:0 !important;
}

@media(max-width:1024px){
  .zsl-matura .zslm-rep-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-rep-view--root{gap:14px;}
  .zsl-matura .zslm-rep-catalog-head{
    display:grid;
    gap:5px;
    padding-inline:1px;
  }
  .zsl-matura .zslm-rep-catalog-head p{
    max-width:none;
    text-align:left;
    font-size:.84rem;
    line-height:1.5 !important;
  }
  .zsl-matura .zslm-rep-category-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .zsl-matura .zslm-rep-category-card{
    grid-template-columns:minmax(0,1fr) 28px !important;
    grid-template-areas:
      "title arrow"
      "desc arrow"
      "progress progress" !important;
    align-items:center !important;
    min-height:0 !important;
    padding:14px 14px 13px !important;
    gap:4px 10px !important;
    border-radius:14px !important;
  }
  .zsl-matura .zslm-rep-category-card > strong{
    font-size:.96rem !important;
    line-height:1.32 !important;
  }
  .zsl-matura .zslm-rep-category-card > .zslm-rep-category-desc{
    font-size:.82rem !important;
    line-height:1.42 !important;
  }
  .zsl-matura .zslm-rep-category-card > .zslm-rep-category-progress{
    margin-top:4px !important;
    font-size:.78rem !important;
  }
  .zsl-matura .zslm-rep-category-card > .zslm-rep-category-arrow{
    align-self:center;
    width:28px;
    height:28px;
  }
  .zsl-matura .zslm-rep-continue{
    padding-top:4px;
  }
  .zsl-matura .zslm-rep-continue .zslm-button{
    width:100% !important;
    justify-content:center !important;
    min-height:46px;
  }
}
@media(max-width:430px){
  .zsl-matura .zslm-rep-view--root{gap:12px;}
  .zsl-matura .zslm-rep-category-grid{gap:9px !important;}
  .zsl-matura .zslm-rep-category-card{padding:13px 13px 12px !important;}
}

/* ============================================================
   v0.37.0 — SIEĆ MATURZYSTY 2.0
   Data-clean catalog, progressive disclosure and mobile-first navigation.
   ============================================================ */
.zsl-matura .zslm-network-view--v2{
  --zslm-network-soft:#F5FAFB;
  --zslm-network-soft-2:#EEF7F8;
  --zslm-network-line:#D5E2E8;
  gap:18px;
}
.zsl-matura .zslm-network-hero--v2{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:center;
  padding:28px 30px;
  background:linear-gradient(135deg,#F5FBFC 0%,#FFFFFF 72%);
  border-color:var(--zslm-network-line);
  border-top:4px solid var(--zslm-gold);
}
.zsl-matura .zslm-network-hero--v2 h3{max-width:780px;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.2 !important;}
.zsl-matura .zslm-network-hero--v2 p{max-width:820px;margin-bottom:0;color:var(--zslm-muted);}
.zsl-matura .zslm-network-path{display:grid;gap:8px;}
.zsl-matura .zslm-network-path>div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--zslm-network-line);
  border-radius:13px;
  background:rgba(255,255,255,.78);
}
.zsl-matura .zslm-network-path b{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--zslm-navy);
  color:#fff;
  font-size:.82rem;
  line-height:1 !important;
  font-variant-numeric:tabular-nums;
}
.zsl-matura .zslm-network-path span{font-weight:850;color:var(--zslm-navy);line-height:1.25;}
.zsl-matura .zslm-network-path small{color:var(--zslm-muted);line-height:1.35;}

.zsl-matura .zslm-network-overview{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border:1px solid var(--zslm-network-line);
  border-radius:17px;
  background:#fff;
}
.zsl-matura .zslm-network-overview-main{display:flex;align-items:baseline;gap:9px;min-width:0;}
.zsl-matura .zslm-network-overview-main strong{font-size:1.65rem;line-height:1;color:var(--zslm-teal);font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-network-overview-main span{font-weight:780;color:var(--zslm-navy);line-height:1.35;}
.zsl-matura .zslm-network-overview-highlights{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--zslm-muted);font-size:.82rem;}
.zsl-matura .zslm-network-overview-highlights b{color:var(--zslm-navy);font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-network-stats-details{position:relative;}
.zsl-matura .zslm-network-stats-details>summary{
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
  padding:8px 11px;
  border:1px solid var(--zslm-network-line);
  border-radius:10px;
  color:var(--zslm-navy);
  font-size:.82rem;
  font-weight:800;
  background:#F8FBFC;
}
.zsl-matura .zslm-network-stats-details>summary::-webkit-details-marker{display:none;}
.zsl-matura .zslm-network-stats-details[open]{grid-column:1/-1;width:100%;}
.zsl-matura .zslm-network-stats-details[open]>summary{width:max-content;margin-left:auto;margin-bottom:12px;}
.zsl-matura .zslm-network-stats-details .zslm-network-stats{margin-top:0;}
.zsl-matura .zslm-network-stats>div{border-color:var(--zslm-network-line);box-shadow:none;}

.zsl-matura .zslm-network-controls--v2{
  gap:14px;
  padding:18px;
  border-color:var(--zslm-network-line);
  border-radius:18px;
  background:#fff;
}
.zsl-matura .zslm-network-controls-head{display:grid;gap:4px;}
.zsl-matura .zslm-network-controls-head h4{margin:0;color:var(--zslm-navy);font-size:1.15rem;line-height:1.3;}
.zsl-matura .zslm-network-controls-head p{margin:0;color:var(--zslm-muted);font-size:.88rem;line-height:1.5;}
.zsl-matura .zslm-network-mode-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  align-items:center;
}
.zsl-matura .zslm-network-mode-button{
  min-height:38px;
  padding:8px 12px !important;
  border:1px solid var(--zslm-network-line) !important;
  border-radius:999px !important;
  background:#F7FAFB !important;
  color:var(--zslm-navy) !important;
  box-shadow:none !important;
  line-height:1.25 !important;
  font-size:.78rem !important;
  white-space:nowrap;
}
.zsl-matura .zslm-network-mode-button:hover{background:#EEF8F9 !important;border-color:var(--zslm-teal) !important;}
.zsl-matura .zslm-network-mode-button:focus-visible{background:#EEF8F9 !important;border-color:var(--zslm-teal) !important;outline:3px solid rgba(20,123,137,.30) !important;outline-offset:2px !important;}
.zsl-matura .zslm-network-mode-button[aria-selected="true"]{
  background:var(--zslm-teal) !important;
  border-color:var(--zslm-teal) !important;
  color:#fff !important;
}
.zsl-matura .zslm-network-search{position:relative;display:flex;align-items:center;min-width:0;}
.zsl-matura .zslm-network-search .zslm-library-search{width:100%;min-height:46px;padding:10px 88px 10px 13px !important;border-color:var(--zslm-network-line);border-radius:11px;}
.zsl-matura .zslm-network-search-clear{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  appearance:none;
  min-height:34px;
  padding:6px 9px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--zslm-teal);
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
.zsl-matura .zslm-network-search-clear:hover,.zsl-matura .zslm-network-search-clear:focus-visible{background:#EEF7F8;outline:2px solid transparent;}
.zsl-matura .zslm-network-results-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding:2px 2px 0;
}
.zsl-matura .zslm-network-results-head>div{display:grid;gap:3px;}
.zsl-matura .zslm-network-results-head h4{margin:0;color:var(--zslm-navy);font-size:1.15rem;line-height:1.3;}
.zsl-matura .zslm-network-result-count{flex:0 0 auto;color:var(--zslm-muted);font-size:.84rem;font-weight:750;font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-network-inline-loading{padding:28px;text-align:center;color:var(--zslm-muted);border:1px dashed var(--zslm-network-line);border-radius:16px;}

.zsl-matura .zslm-network-catalog-grid{align-items:stretch;gap:12px;}
.zsl-matura .zslm-network-catalog-card--v2{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:174px;
  padding:16px 17px 15px;
  border-color:var(--zslm-network-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 3px 12px rgba(6,30,52,.025) !important;
}
.zsl-matura .zslm-network-catalog-card--v2:hover,
.zsl-matura .zslm-network-catalog-card--v2:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(20,123,137,.52) !important;
  box-shadow:0 12px 26px rgba(6,30,52,.07) !important;
}
.zsl-matura .zslm-network-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;margin-bottom:5px;}
.zsl-matura .zslm-network-card-chip{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zsl-matura .zslm-network-card-open{flex:0 0 auto;color:#708594 !important;font-size:.72rem !important;font-weight:760;line-height:1.2 !important;}
.zsl-matura .zslm-network-catalog-card--v2>strong{margin:5px 0 5px;font-size:.98rem;line-height:1.36 !important;}
.zsl-matura .zslm-network-catalog-card--v2>span:not(.zslm-network-card-open):not(.zslm-mini-chip){font-size:.8rem;line-height:1.42 !important;}
.zsl-matura .zslm-network-card-summary{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:8px 0 0 !important;
  color:var(--zslm-text) !important;
  font-size:.84rem !important;
  line-height:1.52 !important;
}
.zsl-matura .zslm-network-catalog-card--v2>small{margin-top:auto;padding-top:9px;font-size:.75rem;line-height:1.42 !important;}
.zsl-matura .zslm-network-card-scope{color:#5B7180 !important;}
.zsl-matura .zslm-network-catalog-card--v2>img{margin:-4px 0 11px;aspect-ratio:16/9;border-radius:11px;}
.zsl-matura .zslm-network-catalog-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #E5EDF1;
}
.zsl-matura .zslm-network-catalog-footer>span{color:var(--zslm-muted);font-size:.82rem;font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-network-more{min-height:42px !important;padding:9px 14px !important;}

/* Detail screens: stronger hierarchy and a real study layer for all 64 works. */
.zsl-matura .zslm-network-detail{gap:16px;}
.zsl-matura .zslm-network-work-hero--v2{padding:27px 28px;border-color:var(--zslm-network-line);}
.zsl-matura .zslm-network-work-badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px;}
.zsl-matura .zslm-network-work-badges .zslm-mini-chip{max-width:100%;white-space:normal;line-height:1.35 !important;}
.zsl-matura .zslm-network-priority-chip{background:#EAF6F7 !important;color:var(--zslm-teal) !important;border:1px solid rgba(20,123,137,.16);}
.zsl-matura .zslm-network-scope-chip{background:#F7F9FA !important;color:var(--zslm-navy) !important;border:1px solid var(--zslm-network-line);}
.zsl-matura .zslm-network-study-core{background:linear-gradient(180deg,#FBFDFE,#FFFFFF);}
.zsl-matura .zslm-network-section{border-color:var(--zslm-network-line) !important;}
.zsl-matura .zslm-network-section>.zslm-rep-list{margin-bottom:0;}
.zsl-matura .zslm-network-prompts{border-left:4px solid var(--zslm-gold) !important;}
.zsl-matura .zslm-network-retrieval .zslm-network-recall-line:first-of-type{margin-top:14px;}
.zsl-matura .zslm-network-card-actions .zslm-text-button,
.zsl-matura .zslm-network-context-card .zslm-text-button,
.zsl-matura .zslm-network-comparison-card .zslm-text-button{margin-top:8px;}

@media(max-width:1023px){
  .zsl-matura .zslm-network-hero--v2{grid-template-columns:1fr;gap:18px;}
  .zsl-matura .zslm-network-path{grid-template-columns:repeat(3,minmax(0,1fr));}
  .zsl-matura .zslm-network-overview{grid-template-columns:1fr auto;}
  .zsl-matura .zslm-network-overview-highlights{grid-column:1/-1;}
}

@media(max-width:767px){
  .zsl-matura .zslm-network-view--v2{gap:14px;}
  .zsl-matura .zslm-network-hero--v2{padding:18px 16px !important;gap:15px;border-radius:16px;}
  .zsl-matura .zslm-network-hero--v2 h3{font-size:1.45rem;}
  .zsl-matura .zslm-network-hero--v2 p{font-size:.91rem;line-height:1.6 !important;}
  .zsl-matura .zslm-network-path{grid-template-columns:1fr 1fr 1fr;gap:6px;}
  .zsl-matura .zslm-network-path>div{grid-template-columns:28px minmax(0,1fr);column-gap:7px;padding:8px;border-radius:11px;}
  .zsl-matura .zslm-network-path b{width:27px;height:27px;border-radius:8px;font-size:.72rem;}
  .zsl-matura .zslm-network-path span{font-size:.78rem;}
  .zsl-matura .zslm-network-path small{display:none;}

  .zsl-matura .zslm-network-overview{grid-template-columns:1fr;gap:11px;padding:14px;border-radius:15px;}
  .zsl-matura .zslm-network-overview-main{align-items:center;}
  .zsl-matura .zslm-network-overview-main strong{font-size:1.5rem;}
  .zsl-matura .zslm-network-overview-main span{font-size:.86rem;}
  .zsl-matura .zslm-network-overview-highlights{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;font-size:.78rem;}
  .zsl-matura .zslm-network-stats-details{width:100%;}
  .zsl-matura .zslm-network-stats-details>summary{width:100%;text-align:center;white-space:normal;}
  .zsl-matura .zslm-network-stats-details[open]>summary{width:100%;margin-left:0;}
  .zsl-matura .zslm-network-stats{grid-template-columns:1fr 1fr !important;gap:7px;}
  .zsl-matura .zslm-network-stats>div{padding:10px 11px;min-height:64px;}
  .zsl-matura .zslm-network-stats strong{font-size:1.18rem;}
  .zsl-matura .zslm-network-stats span{font-size:.72rem;}

  .zsl-matura .zslm-network-controls--v2{padding:14px 12px;gap:12px;border-radius:15px;overflow:hidden;}
  .zsl-matura .zslm-network-controls-head p{font-size:.82rem;}
  .zsl-matura .zslm-network-mode-tabs{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    width:calc(100% + 24px);
    margin-inline:-12px;
    padding:2px 12px 8px;
  }
  .zsl-matura .zslm-network-mode-button{flex:0 0 auto;scroll-snap-align:center;min-height:40px;padding:8px 11px !important;font-size:.76rem !important;}
  .zsl-matura .zslm-network-search .zslm-library-search{min-height:45px;font-size:.88rem;}
  .zsl-matura .zslm-network-results-head{align-items:center;padding-inline:2px;}
  .zsl-matura .zslm-network-results-head h4{font-size:1.05rem;}
  .zsl-matura .zslm-network-result-count{font-size:.78rem;}

  .zsl-matura .zslm-network-catalog-grid{gap:9px;}
  .zsl-matura .zslm-network-catalog-card--v2{min-height:0;padding:14px 13px 13px;border-radius:14px !important;}
  .zsl-matura .zslm-network-card-top{margin-bottom:3px;}
  .zsl-matura .zslm-network-card-open{font-size:.69rem !important;}
  .zsl-matura .zslm-network-catalog-card--v2>strong{font-size:.94rem;margin:4px 0;}
  .zsl-matura .zslm-network-card-summary{-webkit-line-clamp:3;font-size:.82rem !important;}
  .zsl-matura .zslm-network-catalog-card--v2>small{margin-top:6px;padding-top:0;}
  .zsl-matura .zslm-network-catalog-footer{align-items:stretch;flex-direction:column;margin-top:11px;padding-top:11px;}
  .zsl-matura .zslm-network-more{width:100%;justify-content:center;}

  .zsl-matura .zslm-network-work-hero--v2{padding:18px 16px !important;}
  .zsl-matura .zslm-network-work-badges{gap:6px;}
  .zsl-matura .zslm-network-hero-actions{display:grid;grid-template-columns:1fr;gap:8px;}
  .zsl-matura .zslm-network-hero-actions .zslm-button{width:100%;justify-content:center;text-align:center;}
}

@media(max-width:390px){
  .zsl-matura .zslm-network-path{grid-template-columns:1fr;}
  .zsl-matura .zslm-network-path>div{grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto;}
  .zsl-matura .zslm-network-path b{grid-row:auto;}
  .zsl-matura .zslm-network-path small{display:block;font-size:.7rem;}
  .zsl-matura .zslm-network-overview-highlights{grid-template-columns:1fr;}
}

/* v0.37.0 mobile polish after rendered visual inspection. */
.zsl-matura .zslm-network-overview-main strong{
  flex:0 0 auto;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
@media(max-width:520px){
  .zsl-matura .zslm-network-path{grid-template-columns:1fr;gap:7px;}
  .zsl-matura .zslm-network-path>div{
    grid-template-columns:30px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:9px;
    row-gap:1px;
    padding:9px 10px;
  }
  .zsl-matura .zslm-network-path b{grid-column:1;grid-row:1/3;width:28px;height:28px;align-self:center;}
  .zsl-matura .zslm-network-path span{grid-column:2;grid-row:1;font-size:.82rem;}
  .zsl-matura .zslm-network-path small{display:block;grid-column:2;grid-row:2;font-size:.72rem;line-height:1.35 !important;}
  .zsl-matura .zslm-network-overview-highlights{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:340px){
  .zsl-matura .zslm-network-overview-main{align-items:flex-start;gap:7px;}
  .zsl-matura .zslm-network-overview-main span{font-size:.82rem;}
  .zsl-matura .zslm-network-overview-highlights{grid-template-columns:1fr !important;}
}
.zsl-matura .zslm-network-mode-label-short{display:none;}
@media(max-width:767px){
  .zsl-matura .zslm-network-mode-tabs{scrollbar-width:none;}
  .zsl-matura .zslm-network-mode-tabs::-webkit-scrollbar{display:none;width:0;height:0;}
  .zsl-matura .zslm-network-mode-label-full{display:none;}
  .zsl-matura .zslm-network-mode-label-short{display:inline;}
}


/* ============================================================
   v0.38.0 — REPETYTORIUM 2.0 / LESSON 2.0 EXPANSION
   Epoki + visual lessons + Pisanie 2.1 + production selector fix.
   ============================================================ */

/* Programmatic heading/stage focus is announced to AT but must not draw the
   heavy keyboard ring. Interactive controls keep the normal :focus-visible. */
.zsl-matura [data-zslm-auto-focus]:focus,
.zsl-matura .zslm-lesson-v2-stage[tabindex="-1"]:focus,
.zsl-matura .zslm-app-view[tabindex="-1"]:focus{
  outline:none!important;
  box-shadow:none!important;
}

/* Repetytorium 2.0 category explainer. */
.zsl-matura .zslm-rep-category-guide{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:22px;
  align-items:center;
  margin:18px 0 22px;
  padding:20px 22px;
  border:1px solid rgba(20,123,137,.23);
  border-radius:18px;
  background:linear-gradient(135deg,#F3FAFB 0%,#FFFFFF 72%);
}
.zsl-matura .zslm-rep-category-guide h4{margin:5px 0 7px;color:var(--zslm-navy);font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.32;}
.zsl-matura .zslm-rep-category-guide p{margin:0;color:var(--zslm-muted);line-height:1.62;}
.zsl-matura .zslm-rep-category-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.zsl-matura .zslm-rep-category-guide-steps>div{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:10px 11px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;}
.zsl-matura .zslm-rep-category-guide-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#E9F5F6;color:var(--zslm-teal);font-size:.78rem;line-height:1;}
.zsl-matura .zslm-rep-category-guide-steps span{font-size:.82rem;font-weight:750;line-height:1.35;color:var(--zslm-navy);}
.zsl-matura .zslm-rep-essay-bridge{margin:18px 0 22px;}

/* Lesson 2.0 visual laboratory. */
.zsl-matura .zslm-lesson-v2-visual-lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.zsl-matura .zslm-lesson-v2-visual-lab-card{min-width:0;padding:16px;border:1px solid var(--zslm-border-strong,#CAD8E0);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(6,30,52,.035);}
.zsl-matura .zslm-lesson-v2-visual-lab-head{margin-bottom:12px;}
.zsl-matura .zslm-lesson-v2-visual-lab-head h5{margin:5px 0 0;color:var(--zslm-navy);font-size:1.05rem;line-height:1.4;}
.zsl-matura .zslm-lesson-v2-visual-lab-figure{margin:0 0 13px;border-radius:14px;overflow:hidden;background:#EEF3F5;}
.zsl-matura .zslm-lesson-v2-visual-lab-figure img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;margin:auto;}
.zsl-matura .zslm-lesson-v2-visual-lab-card>.zslm-qb-prompt{margin:0 0 13px;line-height:1.58;font-weight:720;color:var(--zslm-navy);}
.zsl-matura .zslm-lesson-v2-visual-planner{display:grid;gap:9px;margin:13px 0;}
.zsl-matura .zslm-lesson-v2-visual-planner label,.zsl-matura .zslm-lesson-v2-visual-final{display:grid;gap:6px;}
.zsl-matura .zslm-lesson-v2-visual-planner strong,.zsl-matura .zslm-lesson-v2-visual-final>strong{font-size:.82rem;color:var(--zslm-navy);line-height:1.4;}
.zsl-matura .zslm-lesson-v2-visual-planner textarea{min-height:74px;}
.zsl-matura .zslm-lesson-v2-visual-final{margin:12px 0;}
.zsl-matura .zslm-lesson-v2-visual-help{display:grid;gap:11px;margin-top:13px;padding:14px;border-radius:13px;background:#F3F8FA;border:1px solid rgba(20,123,137,.18);}
.zsl-matura .zslm-lesson-v2-visual-help>p{margin:0;line-height:1.62;}
.zsl-matura .zslm-lesson-v2-visual-help>small{color:var(--zslm-muted);line-height:1.5;}

/* Pisanie 2.1 — eliminate empty stages and make every step visibly purposeful. */
.zsl-matura .zslm-writing-v2-stage{min-height:0!important;padding:24px!important;}
.zsl-matura .zslm-writing-v2-stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;align-items:end;margin:0 0 16px;}
.zsl-matura .zslm-writing-v2-stage-head>.zslm-panel-eyebrow{grid-column:1/-1;margin:0;}
.zsl-matura .zslm-writing-v2-stage-head h4{margin:0;color:var(--zslm-navy);font-size:clamp(1.22rem,2.2vw,1.58rem);line-height:1.3;}
.zsl-matura .zslm-writing-v2-stage-progress{margin:0;color:var(--zslm-muted);font-size:.78rem;font-weight:750;white-space:nowrap;}
.zsl-matura .zslm-writing-v2-stepnav{gap:8px;padding:12px 16px;scrollbar-width:none;}
.zsl-matura .zslm-writing-v2-stepnav::-webkit-scrollbar{display:none;}
.zsl-matura .zslm-writing-v2-stepbtn{display:inline-grid!important;grid-template-columns:30px minmax(0,auto);align-items:center;gap:7px;flex:0 0 auto;width:auto!important;height:auto!important;min-height:40px;padding:5px 11px 5px 5px!important;border-radius:999px!important;text-align:left;}
.zsl-matura .zslm-writing-v2-stepbtn b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#EEF4F6;color:var(--zslm-navy);font-size:.78rem;line-height:1;}
.zsl-matura .zslm-writing-v2-stepbtn span{max-width:180px;font-size:.73rem;font-weight:740;line-height:1.25;color:var(--zslm-navy);}
.zsl-matura .zslm-writing-v2-stepbtn.is-active{background:#EAF7F8!important;color:var(--zslm-navy)!important;border-color:var(--zslm-teal)!important;}
.zsl-matura .zslm-writing-v2-stepbtn.is-active b{background:var(--zslm-teal);color:#fff;}
.zsl-matura .zslm-writing-v2-microtask{margin:17px 0;padding:16px;border:1px solid rgba(20,123,137,.22);border-left:4px solid var(--zslm-teal);border-radius:14px;background:#F5FAFB;}
.zsl-matura .zslm-writing-v2-microtask h5{margin:5px 0 6px;color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-writing-v2-microtask>p{margin:0 0 10px;line-height:1.58;}
.zsl-matura .zslm-writing-v2-microtask textarea{width:100%;min-height:92px;background:#fff;}
.zsl-matura .zslm-writing-v2-microhint{margin-top:10px;}
.zsl-matura .zslm-writing-v2-microhint summary{cursor:pointer;color:var(--zslm-teal);font-weight:780;}
.zsl-matura .zslm-writing-v2-microhint p{margin:8px 0 0;line-height:1.55;color:var(--zslm-muted);}
.zsl-matura .zslm-writing-v2-exit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:15px;border:1px solid var(--zslm-border);border-radius:15px;background:#F8FBFC;}
.zsl-matura .zslm-writing-v2-exit-actions .zslm-button{width:100%;justify-content:center;text-align:center;}
.zsl-matura .zslm-writing-v2-exit-actions .zslm-text-button{grid-column:1/-1;justify-self:start;}

/* Production diagnostics/oral/error journal selectors used to depend on a
   nonexistent #zsl-matura id. The global selector normalization above makes
   these blocks active on the actual shortcode root (.zsl-matura). */
.zsl-matura .zslm-diagnostic-path-grid>article{min-height:116px;}
.zsl-matura .zslm-diagnostic-path-grid>article>span{display:inline-grid!important;place-items:center;width:30px;height:30px;padding:0!important;border-radius:10px;background:#E9F5F6;line-height:1.2!important;margin-bottom:9px;}
.zsl-matura .zslm-diagnostic-path-grid strong{font-size:.92rem;}

@media(max-width:900px){
  .zsl-matura .zslm-rep-category-guide{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-visual-lab{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .zsl-matura .zslm-rep-category-guide{margin:14px 0 17px;padding:16px 14px;gap:15px;border-radius:16px;}
  .zsl-matura .zslm-rep-category-guide-steps{grid-template-columns:1fr 1fr;gap:7px;}
  .zsl-matura .zslm-rep-category-guide-steps>div{padding:8px 9px;}
  .zsl-matura .zslm-writing-v2-stage{padding:19px 14px!important;}
  .zsl-matura .zslm-writing-v2-stage-head{grid-template-columns:1fr;gap:5px;}
  .zsl-matura .zslm-writing-v2-stage-progress{display:none;}
  .zsl-matura .zslm-writing-v2-stepbtn{width:40px!important;height:40px!important;min-width:40px!important;padding:4px!important;grid-template-columns:1fr;place-items:center;}
  .zsl-matura .zslm-writing-v2-stepbtn b{width:30px;height:30px;}
  .zsl-matura .zslm-writing-v2-stepbtn span{display:none;}
  .zsl-matura .zslm-writing-v2-microtask{padding:14px 12px;}
  .zsl-matura .zslm-writing-v2-exit-actions{grid-template-columns:1fr;padding:12px;}
  .zsl-matura .zslm-writing-v2-exit-actions .zslm-text-button{grid-column:auto;}
  .zsl-matura .zslm-lesson-v2-visual-lab-card{padding:13px;}
  .zsl-matura .zslm-lesson-v2-visual-lab-figure img{max-height:520px;}
}
@media(max-width:430px){
  .zsl-matura .zslm-rep-category-guide-steps{grid-template-columns:1fr;}
}

/* ============================================================
   v0.38.1 — FRONT UX HARDENING AFTER VISUAL AUDIT
   Student-facing labels, step navigation, corners, visual lab,
   progress counters and simplified lesson exits.
   ============================================================ */

/* Writing: desktop shows every step. No clipped horizontal "tape". */
@media (min-width:768px){
  .zsl-matura .zslm-writing-v2-stepnav{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(138px,1fr));
    align-items:stretch;
    gap:8px;
    overflow:visible !important;
    padding:12px 16px !important;
  }
  .zsl-matura .zslm-writing-v2-stepbtn{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    border-radius:13px !important;
    padding:6px 9px 6px 6px !important;
  }
  .zsl-matura .zslm-writing-v2-stepbtn span{
    display:block !important;
    max-width:none !important;
    min-width:0;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto;
  }
}

/* Writing: mobile stays compact, clearly scrollable only when necessary. */
@media (max-width:767px){
  .zsl-matura .zslm-writing-v2-stepnav{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin !important;
    scrollbar-color:#B8CAD3 transparent;
    padding:10px 12px 9px !important;
  }
  .zsl-matura .zslm-writing-v2-stepnav::-webkit-scrollbar{display:block !important;height:4px;}
  .zsl-matura .zslm-writing-v2-stepnav::-webkit-scrollbar-thumb{background:#B8CAD3;border-radius:999px;}
  .zsl-matura .zslm-writing-v2-stepbtn{
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    scroll-snap-align:center;
  }
}

/* Rounded workspace surfaces must not have corners visually cut by children. */
.zsl-matura .zslm-writing-v2-track{
  overflow:visible !important;
  border-radius:20px !important;
  isolation:isolate;
}
.zsl-matura .zslm-writing-v2-track-hero{
  border-radius:19px 19px 0 0;
}
.zsl-matura .zslm-writing-v2-footer{
  border-radius:0 0 19px 19px;
}
.zsl-matura .zslm-lesson-v2-shell--v036{
  overflow:visible !important;
  isolation:isolate;
}
.zsl-matura .zslm-lesson-v2-progress-head{
  border-radius:17px 17px 0 0;
}
.zsl-matura .zslm-lesson-v2-workspace{
  border-radius:0 0 17px 17px;
  min-width:0;
}
.zsl-matura .zslm-lesson-v2-main{
  min-width:0;
  border-radius:0 0 17px 0;
}
.zsl-matura .zslm-lesson-v2-footer{
  border-radius:0 0 17px 0;
}
@media(max-width:767px){
  .zsl-matura .zslm-lesson-v2-workspace,
  .zsl-matura .zslm-lesson-v2-main{border-radius:0 0 17px 17px;}
  .zsl-matura .zslm-lesson-v2-footer{border-radius:14px !important;}
}

/* Visual lab: cards size to their own content instead of stretching to the tallest sibling. */
.zsl-matura .zslm-lesson-v2-visual-lab{
  align-items:start !important;
}
.zsl-matura .zslm-lesson-v2-visual-lab-card{
  align-self:start;
  height:auto !important;
}
.zsl-matura .zslm-lesson-v2-visual-help .zslm-visual-focus-grid,
.zsl-matura .zslm-visual-focus-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  align-items:start;
}
.zsl-matura .zslm-visual-focus-card{
  overflow:visible !important;
  min-width:0;
}
.zsl-matura .zslm-visual-focus-card :is(strong,p,span){
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto;
}
.zsl-matura .zslm-lesson-v2-visual-help .zslm-visual-focus-card{
  padding:12px !important;
}
@media(max-width:520px){
  .zsl-matura .zslm-lesson-v2-visual-help .zslm-visual-focus-grid,
  .zsl-matura .zslm-visual-focus-grid{grid-template-columns:1fr !important;}
}

/* Static progress cards use a single-column layout; counts never fall into the 28px arrow column. */
.zsl-matura .zslm-rep-category-card.is-static{
  grid-template-columns:1fr !important;
  grid-template-areas:"title" "count" "bar" !important;
  gap:10px !important;
  min-height:132px !important;
  cursor:default !important;
  transform:none !important;
}
.zsl-matura .zslm-rep-category-card.is-static > strong{grid-area:title !important;}
.zsl-matura .zslm-rep-category-card.is-static > span{
  grid-area:count !important;
  display:block !important;
  margin:0 !important;
  color:var(--zslm-muted,#61717c) !important;
  font-size:.82rem !important;
  line-height:1.4 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.zsl-matura .zslm-rep-category-card.is-static > .zslm-progress-bar{
  grid-area:bar !important;
  align-self:end;
  margin-top:auto;
}
@media(max-width:767px){
  .zsl-matura .zslm-rep-category-card.is-static{min-height:0 !important;}
}

/* Lesson exits: one clear check action, contextual paths as light links. */
.zsl-matura .zslm-lesson-v2-bridges--compact{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:10px !important;
  padding:15px !important;
}
.zsl-matura .zslm-lesson-v2-bridges--compact > strong{
  grid-column:auto !important;
  color:var(--zslm-navy);
  font-size:.9rem;
}
.zsl-matura .zslm-lesson-v2-bridges--compact > .zslm-button{
  width:max-content !important;
  max-width:100%;
  min-height:46px;
}
.zsl-matura .zslm-lesson-v2-bridge-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 16px;
  align-items:center;
}
.zsl-matura .zslm-lesson-v2-bridge-links .zslm-text-button{
  min-height:36px;
  padding:5px 0;
}
.zsl-matura .zslm-lesson-v2-finish-actions{
  padding-top:2px;
  align-items:center;
}
@media(max-width:600px){
  .zsl-matura .zslm-lesson-v2-bridges--compact > .zslm-button{width:100% !important;justify-content:center;}
  .zsl-matura .zslm-lesson-v2-bridge-links{display:grid;grid-template-columns:1fr;gap:3px;}
  .zsl-matura .zslm-lesson-v2-bridge-links .zslm-text-button{justify-content:flex-start;text-align:left;}
}

/* Prevent aggressive one-letter wrapping in all active-learning cards. */
.zsl-matura :is(
  .zslm-writing-v2-track,.zslm-lesson-v2-shell,.zslm-lesson-v2-card,
  .zslm-lesson-v2-visual-lab-card,.zslm-rep-category-card.is-static,
  .zslm-mastery-dashboard,.zslm-progress-diagnostics
) :is(h3,h4,h5,p,strong,span,small,label,button){
  word-break:normal !important;
}

/* v0.38.4 — actionable progress cards + long open-response trials */
.zsl-matura .zslm-rep-category-card.is-action{
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"title arrow" "count count" "bar bar" !important;
  cursor:pointer !important;
}
.zsl-matura .zslm-rep-category-card.is-action > strong{grid-area:title !important;}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-count{
  grid-area:count !important;
  margin:0 !important;
  color:var(--zslm-muted,#61717c) !important;
  font-size:.84rem !important;
  line-height:1.4 !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-progressbar{grid-area:bar !important;margin-top:2px !important;}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-progress-card-arrow{
  grid-area:arrow !important;
  align-self:center;
  margin:0 !important;
  color:var(--zslm-teal,#147b89) !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  white-space:nowrap;
}
.zsl-matura .zslm-open-diagnostic-task{max-width:920px;margin-inline:auto;}
.zsl-matura .zslm-qb-own-answer{
  margin:16px 0;
  padding:14px 16px;
  border:1px solid var(--zslm-border,#dce6ec);
  border-radius:14px;
  background:#f7fafb;
}
.zsl-matura .zslm-qb-own-answer > strong{display:block;margin-bottom:7px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-qb-own-answer > p{margin:0;white-space:pre-wrap;}
@media(max-width:520px){
  .zsl-matura .zslm-rep-category-card.is-action{grid-template-columns:minmax(0,1fr) !important;grid-template-areas:"title" "count" "bar" "arrow" !important;}
  .zsl-matura .zslm-rep-category-card.is-action > .zslm-progress-card-arrow{justify-self:start;}
}

/* v0.38.4 — interrupted long-trial resume */
.zsl-matura .zslm-diagnostic-resume{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  margin:14px 0 20px;
  border:1px solid var(--zslm-border,#dce6ec);
  border-radius:16px;
  background:#f7fafb;
}
.zsl-matura .zslm-diagnostic-resume h4{margin:3px 0 5px;}
.zsl-matura .zslm-diagnostic-resume p{margin:0;max-width:760px;}
.zsl-matura .zslm-diagnostic-resume .zslm-profile-actions{flex:0 0 auto;margin:0;}
@media(max-width:760px){
  .zsl-matura .zslm-diagnostic-resume{align-items:stretch;flex-direction:column;}
  .zsl-matura .zslm-diagnostic-resume .zslm-profile-actions{display:grid;grid-template-columns:1fr;}
  .zsl-matura .zslm-diagnostic-resume .zslm-button{width:100%;justify-content:center;}
}


/* v0.38.4 — progress-first learning loop */
.zsl-matura .zslm-progress-priorities,
.zsl-matura .zslm-progress-trials,
.zsl-matura .zslm-progress-categories{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--zslm-border,#dce6ec);
  border-radius:18px;
  background:#fff;
}
.zsl-matura .zslm-progress-priorities > h4,
.zsl-matura .zslm-progress-trials > h4,
.zsl-matura .zslm-progress-categories > h4{margin:4px 0 12px;}
.zsl-matura .zslm-mastery-dimension-card{
  appearance:none;
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  padding:14px 15px;
  border:1px solid var(--zslm-border,#dce6ec);
  border-radius:14px;
  background:#fff;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.zsl-matura .zslm-mastery-dimension-card:hover,
.zsl-matura .zslm-mastery-dimension-card:focus-visible{
  border-color:var(--zslm-teal,#147b89);
  box-shadow:0 0 0 3px rgba(20,123,137,.10);
  outline:none;
}
.zsl-matura .zslm-mastery-dimension-card > strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mastery-dimension-card > span,
.zsl-matura .zslm-mastery-dimension-card > small{color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-mastery-dimension-card > .zslm-progress-card-arrow{
  margin-top:2px;
  color:var(--zslm-teal,#147b89);
  font-size:.78rem;
  font-weight:800;
}
@media(max-width:600px){
  .zsl-matura .zslm-progress-priorities,
  .zsl-matura .zslm-progress-trials,
  .zsl-matura .zslm-progress-categories{padding:14px;}
}

/* v0.38.5 — Próba maturalna 2.0 */
.zsl-matura .zslm-written-mock-reference{margin:16px 0 18px;}
.zsl-matura .zslm-written-mock-section-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 14px;}
.zsl-matura .zslm-written-mock-section-map>div{min-width:0;padding:12px 14px;border:1px solid var(--zslm-border,#dce4ea);border-radius:12px;background:#fff;}
.zsl-matura .zslm-written-mock-section-map strong{display:block;color:var(--zslm-navy,#082b49);font-size:.88rem;line-height:1.35;}
.zsl-matura .zslm-written-mock-section-map span{display:block;margin-top:4px;color:var(--zslm-muted,#5e7181);font-size:.75rem;line-height:1.35;}
.zsl-matura .zslm-written-mock-essay-review{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto;}
.zsl-matura .zslm-written-mock-essay-review small{display:block;margin:4px 0 12px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-written-mock-summary .zslm-exam-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.zsl-matura .zslm-open-written-mock .zslm-exam-sections{position:sticky;top:0;z-index:6;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);padding:8px 0;}
@media(max-width:820px){.zsl-matura .zslm-written-mock-summary .zslm-exam-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.zsl-matura .zslm-written-mock-section-map,.zsl-matura .zslm-written-mock-summary .zslm-exam-summary-grid{grid-template-columns:1fr}.zsl-matura .zslm-open-written-mock .zslm-exam-sections{position:static}.zsl-matura .zslm-written-mock-essay-review{max-height:none;}}

/* v0.38.5.1 — Próba maturalna 2.1: osobny workspace jakościowo zgodny z Lesson 2.0 */
.zsl-matura .zslm-mock-v2-view,
.zsl-matura .zslm-mock-v2-review,
.zsl-matura .zslm-mock-v2-summary{max-width:1160px;margin:22px auto 0;min-width:0;}
.zsl-matura .zslm-mock-v2-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:24px 26px;border:1px solid var(--zslm-border);border-top:4px solid var(--zslm-course-accent);border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfc);}
.zsl-matura .zslm-mock-v2-hero h3{margin:0;color:var(--zslm-navy);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.18;}
.zsl-matura .zslm-mock-v2-hero p{max-width:740px;margin:9px 0 0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-hero-facts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center;}
.zsl-matura .zslm-mock-v2-hero-facts>span,.zsl-matura .zslm-mock-v2-timer{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);font-size:.78rem;font-weight:800;white-space:nowrap;}
.zsl-matura .zslm-mock-v2-timer{min-width:94px;justify-content:center;background:var(--zslm-navy);border-color:var(--zslm-navy);color:#fff;}
.zsl-matura .zslm-mock-v2-timer.is-low{background:#855d00;border-color:#855d00;}
.zsl-matura .zslm-mock-v2-timer.is-over{background:var(--zslm-error);border-color:var(--zslm-error);}
.zsl-matura .zslm-mock-v2-progress{display:grid;grid-template-columns:auto minmax(160px,1fr);gap:16px;align-items:center;margin:12px 0 16px;padding:11px 14px;border:1px solid var(--zslm-border);border-radius:13px;background:#fff;}
.zsl-matura .zslm-mock-v2-progress-copy{font-size:.82rem;font-weight:800;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-progress-bar{height:7px;overflow:hidden;border-radius:999px;background:#e8eef2;}
.zsl-matura .zslm-mock-v2-progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--zslm-teal);transition:width .2s ease;}
.zsl-matura .zslm-mock-v2-shell{display:grid;grid-template-columns:238px minmax(0,1fr);gap:18px;align-items:start;}
.zsl-matura .zslm-mock-v2-rail{position:sticky;top:calc(var(--zslm-host-sticky-offset,0px) + 14px);display:grid;gap:7px;padding:17px;border:1px solid var(--zslm-border);border-radius:17px;background:#f8fbfc;min-width:0;}
.zsl-matura .zslm-mock-v2-rail>strong{color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-mock-v2-rail-sections{display:grid;gap:9px;margin-top:7px;}
.zsl-matura .zslm-mock-v2-rail-sections>small{display:block;margin-top:6px;color:var(--zslm-muted);font-size:.72rem;font-weight:800;line-height:1.35;}
.zsl-matura .zslm-mock-v2-task-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.zsl-matura .zslm-mock-v2-task-dot{appearance:none;display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:1;border:1px solid var(--zslm-border);border-radius:9px;background:#fff;color:var(--zslm-navy);font-size:.76rem;font-weight:800;cursor:pointer;position:relative;}
.zsl-matura .zslm-mock-v2-task-dot.is-answered{background:#eef8f8;border-color:#9dcbd1;}
.zsl-matura .zslm-mock-v2-task-dot.is-current{border-color:var(--zslm-navy);box-shadow:0 0 0 2px rgba(8,43,73,.10);}
.zsl-matura .zslm-mock-v2-task-dot.is-marked::after{content:'•';position:absolute;right:3px;top:-3px;color:#9a6900;font-size:1rem;line-height:1;}
.zsl-matura .zslm-mock-v2-essay-link{appearance:none;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-navy);text-align:left;font-weight:800;cursor:pointer;}
.zsl-matura .zslm-mock-v2-essay-link.is-current{border-color:var(--zslm-teal);background:#eef8f8;}
.zsl-matura .zslm-mock-v2-stage{min-width:0;border:1px solid var(--zslm-border);border-radius:18px;background:#fff;padding:clamp(20px,3vw,34px);box-shadow:0 10px 32px rgba(8,43,73,.04);}
.zsl-matura .zslm-mock-v2-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--zslm-border);}
.zsl-matura .zslm-mock-v2-task-head small{display:block;color:var(--zslm-muted);font-size:.78rem;}
.zsl-matura .zslm-mock-v2-mark{appearance:none;flex:0 0 auto;min-height:38px;padding:8px 11px;border:1px solid var(--zslm-border);border-radius:10px;background:#fff;color:var(--zslm-navy);font-size:.76rem;font-weight:800;cursor:pointer;}
.zsl-matura .zslm-mock-v2-mark.is-marked{border-color:#d4ae50;background:#fff8df;color:#735000;}
.zsl-matura .zslm-mock-v2-materials{margin:20px 0 0;border:1px solid var(--zslm-border);border-radius:15px;background:#f8fafb;overflow:hidden;}
.zsl-matura .zslm-mock-v2-materials>summary{padding:13px 16px;color:var(--zslm-navy);font-weight:800;cursor:pointer;}
.zsl-matura .zslm-mock-v2-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--zslm-border);border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-mock-v2-source{min-width:0;padding:20px 22px;background:#fff;}
.zsl-matura .zslm-mock-v2-source h5{margin:2px 0 3px;color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-mock-v2-source small{color:var(--zslm-muted);}
.zsl-matura .zslm-mock-v2-source p{margin:12px 0 0;color:var(--zslm-text);font-size:.92rem;line-height:1.72;}
.zsl-matura .zslm-mock-v2-prompt{margin:24px 0 0;}
.zsl-matura .zslm-mock-v2-prompt h4{margin:0;color:var(--zslm-navy);font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.5;}
.zsl-matura .zslm-mock-v2-prompt blockquote{margin:16px 0 0;padding:15px 17px;border:0;border-left:4px solid var(--zslm-teal);border-radius:10px;background:#f5f8f9;color:var(--zslm-text);line-height:1.65;}
.zsl-matura .zslm-mock-v2-prompt p{margin:10px 0 0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-response{margin-top:22px;min-width:0;}
.zsl-matura .zslm-mock-v2-textarea{display:block;width:100%;min-height:150px;margin:0!important;padding:15px 16px!important;border:1px solid #bdccd6!important;border-radius:13px!important;background:#fff!important;color:var(--zslm-text)!important;line-height:1.65!important;resize:vertical;}
.zsl-matura .zslm-mock-v2-textarea:focus,.zsl-matura .zslm-mock-v2-essay-editor:focus{outline:3px solid rgba(20,123,137,.12);border-color:var(--zslm-teal)!important;}
.zsl-matura .zslm-mock-v2-options{display:grid;gap:10px;}
.zsl-matura .zslm-mock-v2-option{display:grid;grid-template-columns:20px 34px minmax(0,1fr);gap:10px;align-items:start;padding:13px 15px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;cursor:pointer;line-height:1.5;}
.zsl-matura .zslm-mock-v2-option:has(input:checked){border-color:var(--zslm-teal);background:#f1f9fa;box-shadow:0 0 0 2px rgba(20,123,137,.08);}
.zsl-matura .zslm-mock-v2-option input{margin-top:3px;width:18px;height:18px;accent-color:var(--zslm-teal);}
.zsl-matura .zslm-mock-v2-option-key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#edf2f5;color:var(--zslm-navy);font-weight:900;font-size:.78rem;}
.zsl-matura .zslm-mock-v2-binary-list{display:grid;gap:10px;}
.zsl-matura .zslm-mock-v2-binary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 15px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;}
.zsl-matura .zslm-mock-v2-binary-row p{margin:0;line-height:1.55;}
.zsl-matura .zslm-mock-v2-binary{display:flex;gap:6px;}
.zsl-matura .zslm-mock-v2-choice{appearance:none;min-width:42px;min-height:38px;border:1px solid var(--zslm-border);border-radius:9px;background:#fff;color:var(--zslm-navy);font-weight:900;cursor:pointer;}
.zsl-matura .zslm-mock-v2-choice.is-selected{background:var(--zslm-navy);border-color:var(--zslm-navy);color:#fff;}
.zsl-matura .zslm-mock-v2-match-list{display:grid;gap:10px;}
.zsl-matura .zslm-mock-v2-match-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:14px;align-items:center;padding:13px 15px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;line-height:1.5;}
.zsl-matura .zslm-mock-v2-match-row select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #bdccd6;border-radius:9px;background:#fff;color:var(--zslm-text);}
.zsl-matura .zslm-mock-v2-word-meter,.zsl-matura .zslm-mock-v2-essay-meter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:9px 12px;border:1px solid var(--zslm-border);border-radius:10px;background:#f8fafb;color:var(--zslm-muted);font-size:.78rem;}
.zsl-matura .zslm-mock-v2-word-meter strong,.zsl-matura .zslm-mock-v2-essay-meter strong{color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-word-meter .is-ok,.zsl-matura .zslm-mock-v2-essay-meter .is-ok{color:var(--zslm-success);font-weight:800;}
.zsl-matura .zslm-mock-v2-visual{max-width:720px;margin:20px auto 0;padding:14px;border:1px solid var(--zslm-border);border-radius:15px;background:#f8fafb;text-align:center;}
.zsl-matura .zslm-mock-v2-visual img{display:block;max-width:100%;max-height:560px;width:auto;height:auto;margin:0 auto;border-radius:10px;}
.zsl-matura .zslm-mock-v2-visual figcaption{margin-top:9px;color:var(--zslm-muted);font-size:.78rem;}
.zsl-matura .zslm-mock-v2-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--zslm-border);clear:both;}
.zsl-matura .zslm-mock-v2-footer .zslm-button{position:static!important;margin:0!important;}
.zsl-matura .zslm-mock-v2-writing>h4{margin:4px 0 8px;color:var(--zslm-navy);font-size:clamp(1.3rem,2vw,1.7rem);}
.zsl-matura .zslm-mock-v2-writing-lead{margin:0 0 20px;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px;}
.zsl-matura .zslm-mock-v2-topic{appearance:none;min-width:0;padding:17px 18px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;color:var(--zslm-text);text-align:left;cursor:pointer;}
.zsl-matura .zslm-mock-v2-topic:hover,.zsl-matura .zslm-mock-v2-topic:focus-visible{border-color:var(--zslm-teal);outline:none;}
.zsl-matura .zslm-mock-v2-topic.is-selected{border-color:var(--zslm-teal);background:#f1f9fa;box-shadow:0 0 0 3px rgba(20,123,137,.08);}
.zsl-matura .zslm-mock-v2-topic strong{display:block;margin-top:8px;color:var(--zslm-navy);font-size:1rem;line-height:1.5;}
.zsl-matura .zslm-mock-v2-topic ul{margin:12px 0 0;padding-left:20px;color:var(--zslm-muted);font-size:.8rem;line-height:1.55;}
.zsl-matura .zslm-mock-v2-writing-desk{overflow:hidden;border:1px solid #bfd0d9;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(8,43,73,.04);}
.zsl-matura .zslm-mock-v2-writing-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid var(--zslm-border);background:#f8fafb;color:var(--zslm-navy);font-size:.82rem;font-weight:800;}
.zsl-matura .zslm-mock-v2-autosave{color:var(--zslm-muted);font-size:.72rem;font-weight:700;}
.zsl-matura .zslm-mock-v2-essay-editor{display:block;width:100%;min-height:560px;padding:24px 26px;border:0!important;border-radius:0!important;background:#fff;color:var(--zslm-text);font-family:inherit;font-size:1rem;line-height:1.8;resize:vertical;}
.zsl-matura .zslm-mock-v2-essay-editor:disabled{background:#f7f9fa;color:var(--zslm-muted);}
.zsl-matura .zslm-mock-v2-essay-meter{margin:0;border:0;border-top:1px solid var(--zslm-border);border-radius:0;padding:10px 15px;}
.zsl-matura .zslm-mock-v2-review-hero{padding:24px 26px;border:1px solid var(--zslm-border);border-top:4px solid var(--zslm-teal);border-radius:18px;background:#f8fbfc;}
.zsl-matura .zslm-mock-v2-review-hero h3{margin:0;color:var(--zslm-navy);font-size:clamp(1.35rem,2.5vw,1.9rem);}
.zsl-matura .zslm-mock-v2-review-hero p{max-width:820px;margin:10px 0 0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-review-list{display:grid;gap:14px;margin-top:16px;}
.zsl-matura .zslm-mock-v2-review-card{padding:20px 22px;border:1px solid var(--zslm-border);border-radius:16px;background:#fff;}
.zsl-matura .zslm-mock-v2-review-card.is-correct{border-left:4px solid var(--zslm-success);}
.zsl-matura .zslm-mock-v2-review-card.is-partial{border-left:4px solid #b98500;}
.zsl-matura .zslm-mock-v2-review-card.is-wrong{border-left:4px solid #a96d00;}
.zsl-matura .zslm-mock-v2-review-title{display:grid;gap:7px;}
.zsl-matura .zslm-mock-v2-review-title strong{color:var(--zslm-navy);line-height:1.5;}
.zsl-matura .zslm-mock-v2-auto-result{display:inline-flex;margin-top:13px;padding:7px 10px;border-radius:999px;font-size:.75rem;font-weight:900;}
.zsl-matura .zslm-mock-v2-auto-result.is-correct{background:var(--zslm-success-bg);color:var(--zslm-success);}
.zsl-matura .zslm-mock-v2-auto-result.is-partial{background:#fff6d8;color:#6b5100;}
.zsl-matura .zslm-mock-v2-auto-result.is-wrong{background:#fff5dc;color:#765000;}
.zsl-matura .zslm-mock-v2-key{font-weight:800;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-own,.zsl-matura .zslm-mock-v2-criteria{margin-top:14px;padding:14px 16px;border-radius:12px;background:#f8fafb;}
.zsl-matura .zslm-mock-v2-own p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;}
.zsl-matura .zslm-mock-v2-criteria ul{margin:8px 0 0;padding-left:20px;line-height:1.6;}
.zsl-matura .zslm-mock-v2-model{margin-top:12px;border-top:1px solid var(--zslm-border);padding-top:10px;}
.zsl-matura .zslm-mock-v2-model summary{color:var(--zslm-teal);font-weight:800;cursor:pointer;}
.zsl-matura .zslm-mock-v2-model p{margin:10px 0 0;line-height:1.65;}
.zsl-matura .zslm-mock-v2-review-flag{margin-top:14px;}
.zsl-matura .zslm-mock-v2-review-flag.is-selected{border-color:#d4ae50;background:#fff8df;color:#735000!important;}
.zsl-matura .zslm-mock-v2-essay-review{margin-top:20px;padding:20px 22px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;}
.zsl-matura .zslm-mock-v2-essay-review h4{margin:3px 0 12px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-essay-own{padding:12px 14px;border:1px solid var(--zslm-border);border-radius:12px;background:#f8fafb;}
.zsl-matura .zslm-mock-v2-essay-own summary{font-weight:800;color:var(--zslm-navy);cursor:pointer;min-height:44px;padding:10px 0;box-sizing:border-box;}
.zsl-matura .zslm-mock-v2-essay-own p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;}
.zsl-matura .zslm-mock-v2-essay-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.zsl-matura .zslm-mock-v2-essay-area{appearance:none;display:grid;gap:6px;min-width:0;padding:14px 15px;border:1px solid var(--zslm-border);border-radius:12px;background:#fff;color:var(--zslm-text);text-align:left;cursor:pointer;}
.zsl-matura .zslm-mock-v2-essay-area strong{color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-essay-area span,.zsl-matura .zslm-mock-v2-essay-area small{color:var(--zslm-muted);line-height:1.45;}
.zsl-matura .zslm-mock-v2-essay-area.is-selected{border-color:#d4ae50;background:#fff8df;}
.zsl-matura .zslm-mock-v2-review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-mock-v2-summary>h3{margin:0;color:var(--zslm-navy);font-size:clamp(1.4rem,2.6vw,1.9rem);}
.zsl-matura .zslm-mock-v2-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;}
.zsl-matura .zslm-mock-v2-summary-grid>article{padding:15px 16px;border:1px solid var(--zslm-border);border-radius:13px;background:#fff;}
.zsl-matura .zslm-mock-v2-summary-grid strong{display:block;color:var(--zslm-navy);font-size:1.15rem;}
.zsl-matura .zslm-mock-v2-summary-grid span{display:block;margin-top:4px;color:var(--zslm-muted);font-size:.76rem;line-height:1.4;}
.zsl-matura .zslm-mock-v2-summary-explain{padding:17px 18px;border:1px solid var(--zslm-border);border-radius:14px;background:#f8fbfc;}
.zsl-matura .zslm-mock-v2-summary-explain h4{margin:0 0 7px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-summary-explain p{margin:0;line-height:1.6;color:var(--zslm-muted);}
.zsl-matura .zslm-mock-v2-reference,.zsl-matura .zslm-mock-v2-how,.zsl-matura .zslm-mock-v2-history{margin-top:18px;padding:18px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;}
.zsl-matura .zslm-mock-v2-reference>h4,.zsl-matura .zslm-mock-v2-how>h4,.zsl-matura .zslm-mock-v2-history>h4{margin:3px 0 12px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-mock-v2-reference-grid>article{padding:14px 15px;border-radius:13px;background:#f7fafb;}
.zsl-matura .zslm-mock-v2-reference-grid span{display:block;color:var(--zslm-teal);font-size:.74rem;font-weight:900;}
.zsl-matura .zslm-mock-v2-reference-grid strong{display:block;margin-top:3px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-reference-grid p{margin:5px 0 0;color:var(--zslm-muted);line-height:1.5;font-size:.85rem;}
.zsl-matura .zslm-mock-v2-reference-note{margin:12px 0 0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.zsl-matura .zslm-mock-v2-launch-card{min-width:0;padding:20px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;}
.zsl-matura .zslm-mock-v2-launch-card--full{border-top:4px solid var(--zslm-course-accent);}
.zsl-matura .zslm-mock-v2-launch-card h4{margin:9px 0 7px;color:var(--zslm-navy);font-size:1.16rem;}
.zsl-matura .zslm-mock-v2-launch-card p{margin:0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-form-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-mock-v2-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.zsl-matura .zslm-mock-v2-how-grid>article{padding:13px;border:1px solid var(--zslm-border);border-radius:12px;background:#f8fafb;}
.zsl-matura .zslm-mock-v2-how-grid>article>span{display:block;color:var(--zslm-teal);font-size:.7rem;font-weight:900;}
.zsl-matura .zslm-mock-v2-how-grid strong{display:block;margin:4px 0;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-how-grid p{margin:0;color:var(--zslm-muted);font-size:.8rem;line-height:1.45;}
.zsl-matura .zslm-mock-v2-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:17px 18px;border:1px solid #c7dfe2;border-radius:15px;background:#f1f9fa;}
.zsl-matura .zslm-mock-v2-resume h4{margin:2px 0 4px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-resume p{margin:0;color:var(--zslm-muted);}
.zsl-matura .zslm-mock-v2-resume .zslm-profile-actions{margin:0;flex:0 0 auto;}
.zsl-matura .zslm-mock-v2-bottom-actions{margin-top:20px;padding-top:18px;border-top:1px solid var(--zslm-border);}
/* Naprawa odstępów CTA także poza nowym workspace'em. */
.zsl-matura .zslm-matura-plan>.zslm-profile-actions,
.zsl-matura .zslm-progress-trials>.zslm-button{margin-top:16px;}

@media(max-width:960px){
  .zsl-matura .zslm-mock-v2-shell{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-rail{position:static;}
  .zsl-matura .zslm-mock-v2-task-grid{grid-template-columns:repeat(8,minmax(38px,1fr));}
  .zsl-matura .zslm-mock-v2-rail-sections{gap:7px;}
  .zsl-matura .zslm-mock-v2-essay-link{max-width:240px;}
  .zsl-matura .zslm-mock-v2-how-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-mock-v2-view,.zsl-matura .zslm-mock-v2-review,.zsl-matura .zslm-mock-v2-summary{margin-top:14px;}
  .zsl-matura .zslm-mock-v2-hero{grid-template-columns:1fr;padding:20px;gap:14px;}
  .zsl-matura .zslm-mock-v2-hero-facts{justify-content:flex-start;}
  .zsl-matura .zslm-mock-v2-progress{grid-template-columns:1fr;gap:7px;}
  .zsl-matura .zslm-mock-v2-stage{padding:20px 16px;}
  .zsl-matura .zslm-mock-v2-task-head{align-items:stretch;flex-direction:column;gap:10px;}
  .zsl-matura .zslm-mock-v2-mark{align-self:flex-start;}
  .zsl-matura .zslm-mock-v2-source-grid,.zsl-matura .zslm-mock-v2-topic-grid,.zsl-matura .zslm-mock-v2-launch-grid,.zsl-matura .zslm-mock-v2-reference-grid,.zsl-matura .zslm-mock-v2-essay-areas{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-match-row{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-essay-editor{min-height:460px;padding:20px 17px;line-height:1.72;}
  .zsl-matura .zslm-mock-v2-footer{align-items:stretch;flex-direction:column-reverse;}
  .zsl-matura .zslm-mock-v2-footer .zslm-button{width:100%;white-space:normal;text-align:center;}
  .zsl-matura .zslm-mock-v2-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-mock-v2-resume{align-items:stretch;flex-direction:column;}
  .zsl-matura .zslm-mock-v2-resume .zslm-profile-actions{display:grid;grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-resume .zslm-button{width:100%;white-space:normal;}
}
@media(max-width:520px){
  .zsl-matura .zslm-mock-v2-task-grid{grid-template-columns:repeat(5,minmax(36px,1fr));}
  .zsl-matura .zslm-mock-v2-binary-row{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-binary{justify-content:flex-start;}
  .zsl-matura .zslm-mock-v2-option{grid-template-columns:20px 28px minmax(0,1fr);padding:12px;}
  .zsl-matura .zslm-mock-v2-summary-grid,.zsl-matura .zslm-mock-v2-how-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-form-choices{display:grid;grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-form-choices .zslm-button{width:100%;}
  .zsl-matura .zslm-mock-v2-review-card,.zsl-matura .zslm-mock-v2-essay-review{padding:16px;}
}

/* v0.38.6 — wspólny polish: Próby 2.2 + Ustna 2.0 + Postęp 2.0 */
.zsl-matura .zslm-mock-v2-shell{grid-template-columns:210px minmax(0,1fr);gap:20px;}
.zsl-matura .zslm-mock-v2-rail{padding:16px;background:#f7fafb;}
.zsl-matura .zslm-mock-v2-task-grid{grid-template-columns:repeat(4,minmax(36px,1fr));gap:7px;}
.zsl-matura .zslm-mock-v2-task-dot{min-height:36px;aspect-ratio:auto;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem;}
.zsl-matura .zslm-mock-v2-stage{padding:clamp(24px,3.2vw,38px);}
.zsl-matura .zslm-mock-v2-source p{font-size:.98rem;line-height:1.78;}
.zsl-matura .zslm-mock-v2-prompt h4{font-size:clamp(1.08rem,1.8vw,1.32rem);}
.zsl-matura .zslm-mock-v2-footer{margin-top:34px;padding-top:22px;}
.zsl-matura .zslm-mock-v2-writing-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;}
.zsl-matura .zslm-mock-v2-writing-titlebar h4{margin:4px 0 8px;}
.zsl-matura .zslm-mock-v2-writing-titlebar .zslm-lesson-focus-toggle{flex:0 0 auto;}
.zsl-matura .zslm-mock-v2-writing-desk{max-width:860px;margin-inline:auto;}
.zsl-matura .zslm-mock-v2-essay-editor{min-height:620px;padding:34px clamp(24px,5vw,58px);font-size:1.03rem;line-height:1.86;}
.zsl-matura .zslm-mock-v2-shell.is-writing-focus{grid-template-columns:1fr;}
.zsl-matura .zslm-mock-v2-shell.is-writing-focus>.zslm-mock-v2-rail{display:none;}
.zsl-matura .zslm-mock-v2-shell.is-writing-focus .zslm-mock-v2-stage{max-width:980px;width:100%;margin-inline:auto;}
.zsl-matura .zslm-mock-v2-review-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px;}
.zsl-matura .zslm-mock-v2-review-overview>div{padding:14px 16px;border:1px solid var(--zslm-border);border-radius:13px;background:#fff;}
.zsl-matura .zslm-mock-v2-review-overview strong{display:block;color:var(--zslm-navy);font-size:1.1rem;}
.zsl-matura .zslm-mock-v2-review-overview span{display:block;margin-top:3px;color:var(--zslm-muted);font-size:.76rem;line-height:1.4;}
.zsl-matura .zslm-mock-v2-review-section{margin-top:22px;padding:0;}
.zsl-matura .zslm-mock-v2-review-section>h4{margin:4px 0 8px;color:var(--zslm-navy);}
.zsl-matura .zslm-mock-v2-review-help{margin:0 0 12px;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-mock-v2-open-review-list{display:grid;gap:10px;}
.zsl-matura .zslm-mock-v2-open-review{border:1px solid var(--zslm-border);border-radius:14px;background:#fff;overflow:hidden;}
.zsl-matura .zslm-mock-v2-open-review>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none;}
.zsl-matura .zslm-mock-v2-open-review>summary::-webkit-details-marker{display:none;}
.zsl-matura .zslm-mock-v2-open-review>summary>div{display:grid;gap:6px;min-width:0;}
.zsl-matura .zslm-mock-v2-open-review>summary strong{color:var(--zslm-navy);line-height:1.45;}
.zsl-matura .zslm-mock-v2-review-open-label{flex:0 0 auto;color:var(--zslm-teal);font-size:.76rem;font-weight:800;white-space:nowrap;}
.zsl-matura .zslm-mock-v2-open-review-body{padding:0 17px 17px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-mock-v2-correct-details{margin-top:18px;padding:13px 15px;border:1px solid var(--zslm-border);border-radius:14px;background:#f8fafb;}
.zsl-matura .zslm-mock-v2-correct-details>summary{cursor:pointer;color:var(--zslm-navy);font-weight:800;}

/* Ustna 2.0 — ten sam rytm co Lesson 2.0, ale bez udawanej punktacji. */
.zsl-matura .zslm-oral-v2{max-width:1120px;margin:20px auto 0;min-width:0;}
.zsl-matura .zslm-oral-v2-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px;border:1px solid var(--zslm-border);border-top:4px solid var(--zslm-teal);border-radius:18px;background:linear-gradient(145deg,#fff,#f7fbfc);}
.zsl-matura .zslm-oral-v2-hero h3{margin:4px 0 8px;color:var(--zslm-navy);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2;}
.zsl-matura .zslm-oral-v2-hero p{max-width:820px;margin:0;color:var(--zslm-muted);line-height:1.65;}
.zsl-matura .zslm-oral-v2-shell{margin-top:14px;overflow:hidden;border:1px solid var(--zslm-border);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(8,43,73,.04);}
.zsl-matura .zslm-oral-v2-progress-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px 12px;background:#fff;}
.zsl-matura .zslm-oral-v2-progress-head>div{display:grid;gap:2px;}
.zsl-matura .zslm-oral-v2-progress-head strong{color:var(--zslm-navy);font-size:.9rem;}
.zsl-matura .zslm-oral-v2-progress-head span{color:var(--zslm-muted);font-size:.78rem;}
.zsl-matura .zslm-oral-v2-progress{height:5px;background:#e7eef1;overflow:hidden;}
.zsl-matura .zslm-oral-v2-progress>span{display:block;height:100%;background:var(--zslm-teal);transition:width .2s ease;}
.zsl-matura .zslm-oral-v2-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:560px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-oral-v2-rail{display:grid;align-content:start;gap:7px;padding:14px 10px;background:#f7fafb;border-right:1px solid var(--zslm-border);}
.zsl-matura .zslm-oral-v2-step{appearance:none;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:9px 10px;border:1px solid var(--zslm-border);border-radius:11px;background:#fff;color:var(--zslm-navy);text-align:left;font:inherit;font-size:.78rem;font-weight:750;line-height:1.3;cursor:pointer;}
.zsl-matura .zslm-oral-v2-step.is-active{border-color:#9ecbd1;background:#eef8f8;box-shadow:0 0 0 2px rgba(20,123,137,.06);}
.zsl-matura .zslm-oral-v2-step-no{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#edf2f5;color:var(--zslm-navy);font-size:.72rem;font-weight:900;}
.zsl-matura .zslm-oral-v2-step.is-active .zslm-oral-v2-step-no{background:var(--zslm-teal);color:#fff;}
.zsl-matura .zslm-oral-v2-stage{min-width:0;padding:clamp(24px,4vw,40px);}
.zsl-matura .zslm-oral-v2-stage-body>h4{margin:5px 0 10px;color:var(--zslm-navy);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.25;}
.zsl-matura .zslm-oral-v2-stage-body>p,.zsl-matura .zslm-oral-v2-lead{max-width:820px;line-height:1.72;color:var(--zslm-text);}
.zsl-matura .zslm-oral-v2-textarea{display:block;width:100%;margin-top:14px!important;padding:15px 16px!important;border:1px solid #bdccd6!important;border-radius:13px!important;background:#fff!important;line-height:1.65!important;resize:vertical;}
.zsl-matura .zslm-oral-v2-textarea:focus{outline:3px solid rgba(20,123,137,.12);border-color:var(--zslm-teal)!important;}
.zsl-matura .zslm-oral-v2-method{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px;}
.zsl-matura .zslm-oral-v2-method>div{padding:12px;border:1px solid var(--zslm-border);border-radius:11px;background:#f8fafb;}
.zsl-matura .zslm-oral-v2-method span{display:block;color:var(--zslm-teal);font-size:.7rem;font-weight:900;}
.zsl-matura .zslm-oral-v2-method strong{display:block;margin-top:4px;color:var(--zslm-navy);font-size:.82rem;line-height:1.35;}
.zsl-matura .zslm-oral-v2-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.zsl-matura .zslm-oral-v2-two label{display:block;padding:14px;border:1px solid var(--zslm-border);border-radius:13px;background:#f8fafb;}
.zsl-matura .zslm-oral-v2-two label>strong{display:block;color:var(--zslm-navy);}
.zsl-matura .zslm-oral-v2-help,.zsl-matura .zslm-oral-v2-model{margin-top:14px;padding:12px 14px;border:1px solid var(--zslm-border);border-radius:12px;background:#f8fafb;}
.zsl-matura .zslm-oral-v2-help>summary,.zsl-matura .zslm-oral-v2-model>summary{cursor:pointer;color:var(--zslm-teal);font-weight:800;min-height:44px;padding-block:10px;box-sizing:border-box;}
.zsl-matura .zslm-oral-v2-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.zsl-matura .zslm-oral-v2-plan-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0;}
.zsl-matura .zslm-oral-v2-plan-preview>div{padding:13px 14px;border:1px solid var(--zslm-border);border-radius:12px;background:#f8fafb;min-width:0;}
.zsl-matura .zslm-oral-v2-plan-preview strong{display:block;color:var(--zslm-navy);font-size:.8rem;}
.zsl-matura .zslm-oral-v2-plan-preview span{display:block;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--zslm-muted);font-size:.83rem;line-height:1.5;}
.zsl-matura .zslm-oral-v2-timer{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;margin:15px 0;padding:14px 15px;border:1px solid var(--zslm-border);border-radius:13px;background:#f8fafb;}
.zsl-matura .zslm-oral-v2-timer>strong{font-size:1.45rem;color:var(--zslm-navy);font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-oral-v2-footer{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-oral-v2-visual{max-width:700px;margin:14px auto;padding:14px;border:1px solid var(--zslm-border);border-radius:14px;background:#f8fafb;text-align:center;}
.zsl-matura .zslm-oral-v2-visual img{display:block;max-width:100%;height:auto;margin:auto;border-radius:10px;}
.zsl-matura .zslm-oral-v2-shell.is-focus-mode .zslm-oral-v2-workspace{grid-template-columns:1fr;}
.zsl-matura .zslm-oral-v2-shell.is-focus-mode .zslm-oral-v2-rail{display:none;}
.zsl-matura .zslm-oral-v2-shell.is-focus-mode .zslm-oral-v2-stage{max-width:900px;width:100%;margin-inline:auto;}
.zsl-matura .zslm-oral-v2-overview{margin:20px 0;padding:20px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;}
.zsl-matura .zslm-oral-v2-overview>h4{margin:4px 0 12px;color:var(--zslm-navy);}
.zsl-matura .zslm-oral-v2-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.zsl-matura .zslm-oral-v2-overview-grid>article{padding:13px 14px;border:1px solid var(--zslm-border);border-radius:12px;background:#f8fafb;}
.zsl-matura .zslm-oral-v2-overview-grid span{display:block;color:var(--zslm-teal);font-size:.7rem;font-weight:900;}
.zsl-matura .zslm-oral-v2-overview-grid strong{display:block;margin:4px 0;color:var(--zslm-navy);}
.zsl-matura .zslm-oral-v2-overview-grid p{margin:0;color:var(--zslm-muted);font-size:.82rem;line-height:1.48;}

/* Postęp 2.0 — najpierw działanie, potem statystyka. */
.zsl-matura .zslm-progress-v2{max-width:1160px;margin-inline:auto;}
.zsl-matura .zslm-progress-v2-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 26px;border:1px solid var(--zslm-border);border-top:4px solid var(--zslm-teal);border-radius:18px;background:linear-gradient(145deg,#fff,#f7fbfc);}
.zsl-matura .zslm-progress-v2-hero h3{margin:4px 0 8px;color:var(--zslm-navy);font-size:clamp(1.45rem,2.5vw,2rem);}
.zsl-matura .zslm-progress-v2-hero p{max-width:760px;margin:0;color:var(--zslm-muted);line-height:1.6;}
.zsl-matura .zslm-progress-v2-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
.zsl-matura .zslm-progress-v2-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px;}
.zsl-matura .zslm-progress-v2-strip>div{padding:14px 16px;border:1px solid var(--zslm-border);border-radius:13px;background:#fff;}
.zsl-matura .zslm-progress-v2-strip strong{display:block;color:var(--zslm-teal);font-size:1.18rem;}
.zsl-matura .zslm-progress-v2-strip span{display:block;margin-top:4px;color:var(--zslm-muted);font-size:.78rem;line-height:1.35;}
.zsl-matura .zslm-progress-v2-priorities,.zsl-matura .zslm-progress-v2-categories,.zsl-matura .zslm-progress-v2-mastery,.zsl-matura .zslm-progress-v2-errors{margin:18px 0;padding:20px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;}
.zsl-matura .zslm-progress-v2-priorities>h4,.zsl-matura .zslm-progress-v2-categories>h4,.zsl-matura .zslm-progress-v2-mastery>h4,.zsl-matura .zslm-progress-v2-errors>h4{margin:4px 0 12px;color:var(--zslm-navy);}
.zsl-matura .zslm-progress-v2-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-progress-v2-next-card{appearance:none;display:grid;gap:7px;min-width:0;padding:16px 17px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;color:var(--zslm-text);text-align:left;font:inherit;cursor:pointer;}
.zsl-matura .zslm-progress-v2-next-card:hover,.zsl-matura .zslm-progress-v2-next-card:focus-visible{border-color:var(--zslm-teal);outline:none;background:#fbfefe;}
.zsl-matura .zslm-progress-v2-next-card strong{color:var(--zslm-navy);font-size:1rem;line-height:1.4;}
.zsl-matura .zslm-progress-v2-next-card p{margin:0;color:var(--zslm-muted);font-size:.85rem;line-height:1.55;}
.zsl-matura .zslm-progress-v2-next-card.is-review{border-left:4px solid var(--zslm-teal);}
.zsl-matura .zslm-progress-v2-next-card.is-repair{border-left:4px solid #d4ae50;}

@media(max-width:1100px){
  .zsl-matura .zslm-mock-v2-source-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-source{padding:18px 20px;}
}
@media(max-width:960px){
  .zsl-matura .zslm-mock-v2-shell{grid-template-columns:1fr;}
  .zsl-matura .zslm-mock-v2-rail{position:static;}
  .zsl-matura .zslm-mock-v2-task-grid{grid-template-columns:repeat(8,minmax(38px,1fr));}
  .zsl-matura .zslm-oral-v2-workspace{grid-template-columns:1fr;}
  .zsl-matura .zslm-oral-v2-rail{grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto;border-right:0;border-bottom:1px solid var(--zslm-border);scrollbar-width:thin;}
  .zsl-matura .zslm-oral-v2-step{min-width:120px;}
  .zsl-matura .zslm-progress-v2-hero{align-items:flex-start;flex-direction:column;}
  .zsl-matura .zslm-progress-v2-hero-actions{justify-content:flex-start;}
}
@media(max-width:767px){
  .zsl-matura .zslm-mock-v2-writing-titlebar{flex-direction:column;}
  .zsl-matura .zslm-mock-v2-writing-titlebar .zslm-lesson-focus-toggle{align-self:flex-start;}
  .zsl-matura .zslm-mock-v2-review-overview,.zsl-matura .zslm-progress-v2-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-mock-v2-open-review>summary{align-items:flex-start;flex-direction:column;}
  .zsl-matura .zslm-oral-v2-hero{flex-direction:column;padding:20px;}
  .zsl-matura .zslm-oral-v2-stage{padding:22px 16px;}
  .zsl-matura .zslm-oral-v2-method,.zsl-matura .zslm-oral-v2-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-oral-v2-two,.zsl-matura .zslm-oral-v2-plan-preview,.zsl-matura .zslm-progress-v2-next-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-oral-v2-timer{grid-template-columns:1fr auto;}
  .zsl-matura .zslm-oral-v2-footer{align-items:stretch;flex-direction:column-reverse;}
  .zsl-matura .zslm-oral-v2-footer .zslm-button{width:100%;white-space:normal;text-align:center;}
  .zsl-matura .zslm-progress-v2-hero{padding:20px;}
  .zsl-matura .zslm-progress-v2-hero-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .zsl-matura .zslm-progress-v2-hero-actions .zslm-button{width:100%;white-space:normal;}
}
@media(max-width:520px){
  .zsl-matura .zslm-mock-v2-task-grid{grid-template-columns:repeat(5,minmax(38px,1fr));}
  .zsl-matura .zslm-mock-v2-essay-editor{min-height:480px;padding:22px 16px;}
  .zsl-matura .zslm-mock-v2-review-overview,.zsl-matura .zslm-progress-v2-strip,.zsl-matura .zslm-oral-v2-method,.zsl-matura .zslm-oral-v2-overview-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-oral-v2-progress-head{align-items:flex-start;flex-direction:column;}
  .zsl-matura .zslm-oral-v2-progress-head .zslm-lesson-focus-toggle{align-self:flex-start;}
}

/* v0.38.7 — QA polish after desktop screenshot pass + Question Bank 2.1 */
.zsl-matura .zslm-mock-v2-source-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));
}
.zsl-matura .zslm-mock-v2-timer{min-width:142px;font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-mock-v2-writing-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.zsl-matura .zslm-mock-v2-word-live{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);font-size:.72rem;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap;}
.zsl-matura .zslm-progress-v2-hero-actions{flex:0 0 auto;}

.zsl-matura .zslm-oral-v2-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-5px 0 16px;}
.zsl-matura .zslm-oral-v2-filter{appearance:none;min-height:36px;padding:7px 12px;border:1px solid var(--zslm-border);border-radius:999px;background:#fff;color:var(--zslm-navy);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;}
.zsl-matura .zslm-oral-v2-filter:hover,.zsl-matura .zslm-oral-v2-filter:focus-visible{border-color:var(--zslm-teal);outline:none;background:#f5fbfb;}
.zsl-matura .zslm-oral-v2-filter.is-active{border-color:var(--zslm-teal);background:#eaf6f7;color:#0c6671;box-shadow:0 0 0 2px rgba(20,123,137,.05);}
.zsl-matura .zslm-oral-card{grid-template-columns:42px minmax(0,1fr) auto;align-items:start;}
.zsl-matura .zslm-oral-card .zslm-oral-number{grid-column:1;grid-row:1/5;}
.zsl-matura .zslm-oral-card>.zslm-oral-v2-status{grid-column:3;grid-row:1;justify-self:end;}
.zsl-matura .zslm-oral-card>strong,.zsl-matura .zslm-oral-card>p,.zsl-matura .zslm-oral-card>small{grid-column:2/4;}
.zsl-matura .zslm-oral-v2-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#eef2f4;color:#5d6f7c;font-size:.68rem;font-weight:850;line-height:1;white-space:nowrap;}
.zsl-matura .zslm-oral-v2-status.is-started{background:#eef8f8;color:#0f6f7a;}
.zsl-matura .zslm-oral-v2-status.is-done{background:#edf6ef;color:#2f6c3e;}
.zsl-matura .zslm-oral-v2-status.is-review{background:#fff6dd;color:#765600;}

@media(max-width:1180px){
  .zsl-matura .zslm-progress-v2-hero{align-items:flex-start;flex-direction:column;}
  .zsl-matura .zslm-progress-v2-hero-actions{justify-content:flex-start;width:100%;}
}
@media(max-width:1100px){
  /* Override the older viewport-only rule: source cards decide from their real available width. */
  .zsl-matura .zslm-mock-v2-source-grid{grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));}
}
@media(max-width:767px){
  .zsl-matura .zslm-mock-v2-writing-head{align-items:flex-start;flex-direction:column;}
  .zsl-matura .zslm-mock-v2-writing-meta{justify-content:flex-start;}
  .zsl-matura .zslm-mock-v2-timer{min-width:0;}
  .zsl-matura .zslm-oral-v2-list-controls{align-items:stretch;flex-direction:column;}
  .zsl-matura .zslm-oral-v2-list-controls .zslm-mini-chip{align-self:flex-start;}
  .zsl-matura .zslm-oral-card{grid-template-columns:42px minmax(0,1fr);}
  .zsl-matura .zslm-oral-card>.zslm-oral-v2-status{grid-column:2;grid-row:auto;justify-self:start;}
  .zsl-matura .zslm-oral-card>strong,.zsl-matura .zslm-oral-card>p,.zsl-matura .zslm-oral-card>small{grid-column:2;}
}

/* ============================================================
   v0.38.8 — OBRAZ, PLAKAT I GRAFIKA 2.0
   Richer visual operations + safer responsive layouts.
   ============================================================ */
.zsl-matura .zslm-lesson-v2-visual-lab{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  align-items:start;
}
.zsl-matura .zslm-lesson-v2-visual-lab-card{padding:18px;}
.zsl-matura .zslm-lesson-v2-visual-lab-figure{display:grid;place-items:center;min-height:260px;}
.zsl-matura .zslm-lesson-v2-visual-lab-figure img{max-height:520px;object-fit:contain;}
.zsl-matura .zslm-lesson-v2-visual-planner{grid-template-columns:1fr;gap:10px;}
.zsl-matura .zslm-lesson-v2-visual-planner label{padding:12px;border:1px solid #E3ECF0;border-radius:13px;background:#F9FBFC;}
.zsl-matura .zslm-lesson-v2-visual-planner label textarea{margin-top:2px;background:#fff;}
.zsl-matura .zslm-lesson-v2-visual-final{padding-top:2px;}

.zsl-matura .zslm-lesson-v2-compare-gallery,
.zsl-matura .zslm-qb-visual-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
  margin:0 0 18px;
}
.zsl-matura .zslm-lesson-v2-compare-figure{
  min-width:0;
  padding:14px;
  border:1px solid var(--zslm-border-strong,#CAD8E0);
  border-radius:17px;
  background:#fff;
}
.zsl-matura .zslm-lesson-v2-compare-figure h5{margin:5px 0 11px;color:var(--zslm-navy);font-size:1rem;line-height:1.35;}
.zsl-matura .zslm-lesson-v2-compare-figure figure{display:grid;place-items:center;margin:0;border-radius:13px;overflow:hidden;background:#EEF3F5;min-height:260px;}
.zsl-matura .zslm-lesson-v2-compare-figure img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;}
.zsl-matura .zslm-lesson-v2-compare-prompt{margin:4px 0 14px;}
.zsl-matura .zslm-lesson-v2-compare-planner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.zsl-matura .zslm-lesson-v2-compare-planner label{display:grid;gap:6px;min-width:0;padding:13px;border:1px solid #E3ECF0;border-radius:13px;background:#F9FBFC;}
.zsl-matura .zslm-lesson-v2-compare-planner strong{color:var(--zslm-navy);font-size:.82rem;line-height:1.4;}
.zsl-matura .zslm-lesson-v2-compare-planner textarea{min-height:82px;background:#fff;}

.zsl-matura .zslm-qb-visual--paired{margin:0;min-width:0;}
.zsl-matura .zslm-qb-visual--paired img{width:100%;max-height:460px;object-fit:contain;background:#EEF3F5;}
.zsl-matura .zslm-qb-visual--paired figcaption{padding:8px 10px;font-size:.78rem;line-height:1.4;}

/* Visual catalogue: keep cards readable instead of squeezing a third column. */
@media (max-width:1080px){
  .zsl-matura .zslm-visual-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .zsl-matura .zslm-lesson-v2-compare-gallery,
  .zsl-matura .zslm-qb-visual-pair,
  .zsl-matura .zslm-lesson-v2-compare-planner{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-compare-figure figure{min-height:0;}
  .zsl-matura .zslm-visual-catalog-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-lesson-v2-visual-lab-card{padding:14px;}
  .zsl-matura .zslm-lesson-v2-visual-planner label{padding:10px;}
}

/* v0.38.8 — trial summary actions are deliberately stacked on narrow phones. */
@media (max-width:560px){
  .zsl-matura .zslm-mock-v2-summary .zslm-profile-actions,
  .zsl-matura .zslm-mock-v2-summary .zslm-qb-summary-actions{display:grid;grid-template-columns:1fr!important;gap:9px;}
  .zsl-matura .zslm-mock-v2-summary .zslm-button{width:100%;justify-content:center;text-align:center;}
}

/* =========================================================
   v0.38.9 — TWÓJ POSTĘP 2.1 / PROGRESS ORCHESTRATOR
   postęp → priorytet → działanie → sprawdzenie → powrót
   ========================================================= */
.zsl-matura .zslm-progress-v3,
.zsl-matura .zslm-today-view--orchestrated{max-width:1160px;margin-inline:auto;}

.zsl-matura .zslm-progress-primary{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;
  margin:16px 0 20px;padding:24px 26px;border:1px solid var(--zslm-border);border-left:5px solid var(--zslm-teal);
  border-radius:18px;background:linear-gradient(135deg,#f7fbfc 0%,#fff 68%);
}
.zsl-matura .zslm-progress-primary.is-repair{border-left-color:#d4ae50;background:linear-gradient(135deg,#fffaf0 0%,#fff 68%);}
.zsl-matura .zslm-progress-primary.is-review{border-left-color:var(--zslm-teal);}
.zsl-matura .zslm-progress-primary.is-check{border-left-color:var(--zslm-navy);}
.zsl-matura .zslm-progress-primary.is-continue{border-left-color:#3c9eac;}
.zsl-matura .zslm-progress-primary-copy h4{margin:5px 0 8px;color:var(--zslm-navy);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.3;}
.zsl-matura .zslm-progress-primary-copy>p{margin:0;max-width:760px;color:var(--zslm-muted);line-height:1.62;}
.zsl-matura .zslm-progress-primary-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.zsl-matura .zslm-mini-chip.is-muted{background:#f5f7f8;color:#506477;border-color:#dce4e8;}

.zsl-matura .zslm-progress-v3-plan,
.zsl-matura .zslm-progress-evidence,
.zsl-matura .zslm-progress-history,
.zsl-matura .zslm-progress-why,
.zsl-matura .zslm-today-next-steps,
.zsl-matura .zslm-progress-periodic{
  margin:18px 0;padding:21px 22px;border:1px solid var(--zslm-border);border-radius:17px;background:#fff;
}
.zsl-matura .zslm-progress-v3-section-head h4,
.zsl-matura .zslm-progress-evidence h4,
.zsl-matura .zslm-progress-history h4,
.zsl-matura .zslm-progress-why h4,
.zsl-matura .zslm-today-next-steps h4,
.zsl-matura .zslm-progress-periodic h4{margin:4px 0 7px;color:var(--zslm-navy);}
.zsl-matura .zslm-progress-v3-section-head>p,
.zsl-matura .zslm-progress-evidence>div>p,
.zsl-matura .zslm-progress-why>div>p,
.zsl-matura .zslm-progress-periodic>div>p{margin:0;color:var(--zslm-muted);line-height:1.58;}

.zsl-matura .zslm-progress-plan-list{display:grid;margin-top:14px;border-top:1px solid var(--zslm-border);}
.zsl-matura .zslm-progress-plan-card{
  appearance:none;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:14px;
  width:100%;padding:16px 4px;border:0;border-bottom:1px solid var(--zslm-border);background:transparent;color:var(--zslm-text);font:inherit;text-align:left;cursor:pointer;
}
.zsl-matura .zslm-progress-plan-card:last-child{border-bottom:0;}
.zsl-matura .zslm-progress-plan-card:hover,
.zsl-matura .zslm-progress-plan-card:focus-visible{outline:0;background:#f8fbfc;}
.zsl-matura .zslm-progress-plan-no{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf6f7;color:var(--zslm-teal);font-size:.72rem;font-weight:850;}
.zsl-matura .zslm-progress-plan-card.is-repair .zslm-progress-plan-no{background:#fff4d6;color:#84640b;}
.zsl-matura .zslm-progress-plan-copy{display:grid;min-width:0;gap:4px;}
.zsl-matura .zslm-progress-plan-copy>small{color:var(--zslm-teal);font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.045em;}
.zsl-matura .zslm-progress-plan-copy>strong{color:var(--zslm-navy);font-size:1rem;line-height:1.4;overflow-wrap:anywhere;}
.zsl-matura .zslm-progress-plan-copy>span:not(.zslm-progress-plan-meta){color:var(--zslm-muted);font-size:.84rem;line-height:1.52;}
.zsl-matura .zslm-progress-plan-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.zsl-matura .zslm-progress-plan-arrow{justify-self:end;color:var(--zslm-teal);font-size:1.15rem;}

.zsl-matura .zslm-progress-evidence,
.zsl-matura .zslm-progress-why{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:22px;}
.zsl-matura .zslm-progress-evidence.is-none,
.zsl-matura .zslm-progress-evidence.is-low{background:#fbfcfd;}
.zsl-matura .zslm-progress-evidence-grid,
.zsl-matura .zslm-progress-why-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.zsl-matura .zslm-progress-evidence-grid>div,
.zsl-matura .zslm-progress-why-facts>div{padding:11px 12px;border-radius:12px;background:#f6f9fa;}
.zsl-matura .zslm-progress-evidence-grid strong,
.zsl-matura .zslm-progress-why-facts strong{display:block;color:var(--zslm-navy);font-size:1.05rem;}
.zsl-matura .zslm-progress-evidence-grid span,
.zsl-matura .zslm-progress-why-facts span{display:block;margin-top:3px;color:var(--zslm-muted);font-size:.74rem;line-height:1.35;}

.zsl-matura .zslm-progress-periodic{display:flex;justify-content:space-between;align-items:center;gap:22px;background:#fbfcfd;}
.zsl-matura .zslm-progress-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;}
.zsl-matura .zslm-progress-history-card{display:flex;flex-direction:column;gap:7px;padding:14px 15px;border-radius:13px;background:#f8fafb;min-width:0;}
.zsl-matura .zslm-progress-history-card strong{color:var(--zslm-navy);line-height:1.42;overflow-wrap:anywhere;}
.zsl-matura .zslm-progress-history-card small{color:var(--zslm-muted);line-height:1.4;}
.zsl-matura .zslm-progress-history>.zslm-button{margin-top:14px;}
.zsl-matura .zslm-progress-privacy{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f7f9fa;color:var(--zslm-muted);font-size:.78rem;line-height:1.5;}

.zsl-matura .zslm-today-hero--plan{border-top-color:var(--zslm-teal);}
.zsl-matura .zslm-today-plan-strip{margin-top:14px;}
.zsl-matura .zslm-home-today-focus--plan{border-left:4px solid var(--zslm-teal);}
.zsl-matura .zslm-home-today-focus--plan.is-repair{border-left-color:#d4ae50;}
.zsl-matura .zslm-home-today-focus--plan.is-check{border-left-color:var(--zslm-navy);}

@media(max-width:900px){
  .zsl-matura .zslm-progress-primary{grid-template-columns:1fr;align-items:start;}
  .zsl-matura .zslm-progress-primary>.zslm-button{justify-self:start;}
  .zsl-matura .zslm-progress-evidence,
  .zsl-matura .zslm-progress-why{grid-template-columns:1fr;}
  .zsl-matura .zslm-progress-periodic{align-items:flex-start;flex-direction:column;}
}
@media(max-width:640px){
  .zsl-matura .zslm-progress-primary,
  .zsl-matura .zslm-progress-v3-plan,
  .zsl-matura .zslm-progress-evidence,
  .zsl-matura .zslm-progress-history,
  .zsl-matura .zslm-progress-why,
  .zsl-matura .zslm-today-next-steps,
  .zsl-matura .zslm-progress-periodic{padding:17px;}
  .zsl-matura .zslm-progress-primary>.zslm-button{width:100%;}
  .zsl-matura .zslm-progress-plan-card{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0;}
  .zsl-matura .zslm-progress-plan-no{width:30px;height:30px;}
  .zsl-matura .zslm-progress-plan-arrow{display:none;}
  .zsl-matura .zslm-progress-evidence-grid,
  .zsl-matura .zslm-progress-why-facts,
  .zsl-matura .zslm-progress-history-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-progress-primary-meta,
  .zsl-matura .zslm-progress-plan-meta{gap:5px;}
}

/* ============================================================
 * v0.39 — Activity status system
 * A finite learning activity has a durable state: not started / in progress /
 * completed. Repeatable checks and mocks show when they were performed instead
 * of pretending that practice can be permanently "finished".
 * ============================================================ */
.zsl-matura .zslm-activity-status{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  min-height:26px;
  padding:4px 9px !important;
  margin:0 !important;
  border:1px solid #D7E2E8;
  border-radius:999px;
  background:#F4F7F8;
  color:#526979 !important;
  font-size:.74rem !important;
  font-weight:820 !important;
  line-height:1.2 !important;
  letter-spacing:.01em;
  white-space:normal;
  text-align:center;
}
.zsl-matura .zslm-activity-status.is-completed{background:#EDF8F1;border-color:#A7D7BA;color:#1F704C !important;}
.zsl-matura .zslm-activity-status.is-in_progress{background:#FFF8DF;border-color:#E9CF78;color:#705300 !important;}
.zsl-matura .zslm-activity-status.is-review{background:#EEF8FA;border-color:#A8D5DB;color:#0F6F7A !important;}
.zsl-matura .zslm-activity-status.is-performed{background:#EFF7FA;border-color:#BDD7E1;color:#315E72 !important;}
.zsl-matura .zslm-activity-status.is-not_started{background:#F4F7F8;border-color:#D7E2E8;color:#526979 !important;}

/* A subtle surface cue accompanies the text label; status never relies on colour alone. */
.zsl-matura :is(.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-writing-v2-card,.zslm-oral-task2-card).is-status-completed{
  border-color:#A7D7BA !important;
  background:linear-gradient(135deg,#F6FCF8 0%,#FFFFFF 72%) !important;
}
.zsl-matura :is(.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-writing-v2-card,.zslm-oral-task2-card).is-status-in_progress{
  border-color:#E9CF78 !important;
  background:linear-gradient(135deg,#FFFCED 0%,#FFFFFF 72%) !important;
}
.zsl-matura :is(.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-writing-v2-card,.zslm-oral-task2-card).is-status-review{
  border-color:#A8D5DB !important;
  background:linear-gradient(135deg,#F3FBFC 0%,#FFFFFF 72%) !important;
}
.zsl-matura :is(.zslm-path-card,.zslm-mock-v2-launch-card).is-status-performed{
  border-color:#BDD7E1 !important;
  background:linear-gradient(135deg,#F5FAFC 0%,#FFFFFF 75%) !important;
}
@media(hover:hover) and (pointer:fine){
  .zsl-matura .zslm-rep-category-card.is-status-completed:hover{background:#F4FBF7 !important;border-color:#7FC29B !important;}
  .zsl-matura .zslm-rep-category-card.is-status-in_progress:hover{background:#FFF9E4 !important;border-color:#D7B64E !important;}
  .zsl-matura .zslm-rep-unit-card.is-status-completed:hover{border-color:#7FC29B !important;}
  .zsl-matura .zslm-rep-unit-card.is-status-in_progress:hover{border-color:#D7B64E !important;}
}

/* Repetytorium category cards — status sits with the title without breaking old grid areas. */
.zsl-matura .zslm-rep-category-card > .zslm-rep-category-title-row{
  grid-area:title !important;
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
  min-width:0;
  margin:0 !important;
  color:inherit !important;
}
.zsl-matura .zslm-rep-category-card > .zslm-rep-category-title-row > strong{
  min-width:0;
  color:var(--zslm-navy,#082B49) !important;
  font-size:1rem !important;
  line-height:1.35 !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row{grid-area:title !important;}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-count{
  grid-area:count !important;
  display:block !important;
  margin:0 !important;
  color:var(--zslm-muted,#61717c) !important;
  font-size:.84rem !important;
  line-height:1.4 !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row .zslm-activity-status{
  margin-left:auto !important;
}

/* Repetytorium unit rows. */
.zsl-matura .zslm-rep-unit-title-row{
  display:flex !important;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:7px 10px;
  min-width:0;
  margin:0 0 2px !important;
}
.zsl-matura .zslm-rep-unit-title-row > strong{flex:1 1 340px;min-width:0;}
.zsl-matura .zslm-activity-progress-note{color:#705300 !important;font-weight:760 !important;white-space:normal !important;}
.zsl-matura .zslm-rep-unit-card.is-status-completed .zslm-rep-unit-no{background:#E5F5EA !important;color:#1F704C !important;}
.zsl-matura .zslm-rep-unit-card.is-status-in_progress .zslm-rep-unit-no{background:#FFF3C8 !important;color:#705300 !important;}

/* Writing path. */
.zsl-matura .zslm-writing-v2-title-row{display:flex !important;align-items:flex-start;flex-wrap:wrap;gap:7px 9px;min-width:0;margin:0 0 6px !important;}
.zsl-matura .zslm-writing-v2-title-row > strong{flex:1 1 260px;margin:0 !important;}
.zsl-matura .zslm-writing-v2-card.is-status-completed .zslm-writing-v2-number{background:#E5F5EA;color:#1F704C;}
.zsl-matura .zslm-writing-v2-card.is-status-in_progress .zslm-writing-v2-number{background:#FFF3C8;color:#705300;}
.zsl-matura .zslm-writing-v2-stepbtn.is-done:not(.is-active){background:#EDF8F1;border-color:#A7D7BA;color:#1F704C;}

/* Oral task 2 and guided rail. */
.zsl-matura .zslm-oral-task2-card-top{display:flex !important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;width:100%;}
.zsl-matura .zslm-oral-v2-step.is-done:not(.is-active){border-color:#A7D7BA !important;background:#F3FAF5 !important;color:#1F704C !important;}
.zsl-matura .zslm-oral-v2-step.is-done:not(.is-active) .zslm-oral-v2-step-no{background:#E5F5EA !important;color:#1F704C !important;}

/* Repeatable activities: the date/status is metadata, not a permanent completion signal. */
.zsl-matura .zslm-path-card > .zslm-activity-status,
.zsl-matura .zslm-mock-v2-launch-card > .zslm-activity-status{margin-bottom:10px !important;}
.zsl-matura .zslm-check-targeted > .zslm-activity-status{margin:8px 0 2px !important;}

@media(max-width:767px){
  .zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row .zslm-activity-status{margin-left:0 !important;}
  .zsl-matura .zslm-rep-unit-title-row{align-items:flex-start;}
  .zsl-matura .zslm-rep-unit-title-row > strong{flex-basis:100%;}
  .zsl-matura .zslm-activity-status{font-size:.71rem !important;}
}

/* v0.39 — legacy guided-learning surfaces use the same visual status language. */
.zsl-matura .zslm-learning-card.is-status-completed,
.zsl-matura .zslm-path-lesson.is-status-completed{background:#F6FCF8 !important;border-color:#A7D7BA !important;}
.zsl-matura .zslm-learning-card.is-status-in_progress,
.zsl-matura .zslm-path-lesson.is-status-in_progress{background:#FFFCED !important;border-color:#E9CF78 !important;}
.zsl-matura .zslm-learning-card.is-status-completed .zslm-learning-card-number,
.zsl-matura .zslm-path-lesson.is-status-completed .zslm-path-lesson-pos{background:#E5F5EA !important;color:#1F704C !important;}
.zsl-matura .zslm-learning-card.is-status-in_progress .zslm-learning-card-number,
.zsl-matura .zslm-path-lesson.is-status-in_progress .zslm-path-lesson-pos{background:#FFF3C8 !important;color:#705300 !important;}
.zsl-matura .zslm-learning-card-meta .is-in_progress{color:#705300 !important;font-weight:820 !important;}
.zsl-matura .zslm-learning-card-meta .is-completed{color:#1F704C !important;font-weight:820 !important;}

/* v0.39 — the 76 oral-question cards use the same surface status cue as their text chip. */
.zsl-matura .zslm-oral-card.is-status-completed{background:linear-gradient(135deg,#F6FCF8 0%,#FFFFFF 72%) !important;border-color:#A7D7BA !important;}
.zsl-matura .zslm-oral-card.is-status-in_progress{background:linear-gradient(135deg,#FFFCED 0%,#FFFFFF 72%) !important;border-color:#E9CF78 !important;}
.zsl-matura .zslm-oral-card.is-status-review{background:linear-gradient(135deg,#F3FBFC 0%,#FFFFFF 72%) !important;border-color:#A8D5DB !important;}

/* ===== v0.40 — final RWD / pilot hardening ===== */
.zsl-matura :where(img,video,canvas){max-inline-size:100%;height:auto;}
.zsl-matura :where(.zslm-mock-v2-task-dot){min-height:44px !important;min-width:44px;}
.zsl-matura :where(.zslm-mock-v2-task-grid){grid-template-columns:repeat(5,minmax(44px,1fr));}
.zsl-matura :where(
  .zslm-rep-unit-title-row,
  .zslm-rep-category-title-row,
  .zslm-writing-v2-title-row,
  .zslm-mock-v2-task-copy,
  .zslm-oral-v2-stage-body,
  .zslm-progress-v2,
  .zslm-activity-status
){overflow-wrap:anywhere;word-break:normal;}

@media(max-width:767px){
  /* Prevent iOS Safari from zooming the viewport on focus. */
  .zsl-matura input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .zsl-matura select,
  .zsl-matura textarea{font-size:16px !important;}
  .zsl-matura .zslm-mock-v2-task-dot{min-height:44px !important;}
}

@media(max-width:520px){
  .zsl-matura :is(
    .zslm-profile-actions,
    .zslm-writing-actions,
    .zslm-qb-summary-actions,
    .zslm-oral-v2-actions,
    .zslm-check-domain-buttons,
    .zslm-mock-v2-review-actions,
    .zslm-lesson-v2-finish-actions
  ){
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .zsl-matura :is(
    .zslm-profile-actions,
    .zslm-writing-actions,
    .zslm-qb-summary-actions,
    .zslm-oral-v2-actions,
    .zslm-check-domain-buttons,
    .zslm-mock-v2-review-actions,
    .zslm-lesson-v2-finish-actions
  ) > :is(button,.zslm-button,a.zslm-button){
    width:100% !important;
    min-height:44px;
    justify-content:center;
  }
}

@media(max-width:340px){
  .zsl-matura :is(.zslm-card,.zslm-rep-unit-card,.zslm-rep-category-card,.zslm-mock-v2-stage,.zslm-oral-v2-stage){
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .zsl-matura .zslm-mock-v2-task-grid{gap:6px !important;}
}

@media(prefers-reduced-motion:reduce){
  .zsl-matura,
  .zsl-matura *{scroll-behavior:auto !important;}
  .zsl-matura *,
  .zsl-matura *::before,
  .zsl-matura *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}


/* ============================================================
 * v0.41.1 — Student-facing UX stabilization
 * Fix status-card collisions, guided open-response comparison,
 * clickable review cards and writing-coach feedback placement.
 * ============================================================ */
.zsl-matura .zslm-rep-category-card.is-action{
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"title arrow" "count count" "bar bar" !important;
  align-content:start !important;
  align-items:start !important;
  gap:10px 14px !important;
  padding:18px 20px !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row{
  grid-area:title !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:8px 10px !important;
  min-width:0 !important;
  width:100% !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row > strong{
  min-width:0 !important;
  margin:0 !important;
  line-height:1.3 !important;
  overflow-wrap:break-word !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row > .zslm-activity-status{
  margin:0 !important;
  align-self:start !important;
  justify-self:end !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-count{
  grid-area:count !important;
  position:static !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  font-size:.84rem !important;
  line-height:1.4 !important;
}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-progressbar{grid-area:bar !important;width:100% !important;margin:0 !important;}
.zsl-matura .zslm-rep-category-card.is-action > .zslm-progress-card-arrow{grid-area:arrow !important;align-self:start !important;justify-self:end !important;margin:2px 0 0 !important;}

/* Guided open-response comparison. */
.zsl-matura .zslm-qb-guided-compare{
  margin-top:18px;
  padding:20px;
  border:1px solid var(--zslm-border,#DCE6EC);
  border-radius:16px;
  background:#F8FBFC;
}
.zsl-matura .zslm-qb-guided-compare > h5{margin:4px 0 14px;color:var(--zslm-navy,#082B49);}
.zsl-matura .zslm-qb-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px;}
.zsl-matura .zslm-qb-compare-card{min-width:0;padding:16px;border:1px solid var(--zslm-border,#DCE6EC);border-radius:13px;background:#fff;}
.zsl-matura .zslm-qb-compare-card.is-own{border-left:4px solid #A9BEC9;}
.zsl-matura .zslm-qb-compare-card.is-model{border-left:4px solid var(--zslm-teal,#147B89);background:#F4FAFB;}
.zsl-matura .zslm-qb-compare-card > strong{display:block;margin-bottom:8px;color:var(--zslm-navy,#082B49);}
.zsl-matura .zslm-qb-compare-card > p{margin:0;white-space:pre-wrap;line-height:1.6;}
.zsl-matura .zslm-qb-model-outline{white-space:normal !important;}
.zsl-matura .zslm-qb-keywords{margin:16px 0;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--zslm-border,#DCE6EC);}
.zsl-matura .zslm-qb-keywords > strong{display:block;margin-bottom:8px;color:var(--zslm-navy,#082B49);}
.zsl-matura .zslm-qb-keywords .zslm-mini-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:7px;}
.zsl-matura .zslm-qb-keywords .zslm-mini-tags > span{padding:5px 9px;border-radius:999px;background:#EAF5F7;color:#0E6E79;font-size:.78rem;font-weight:760;}
.zsl-matura .zslm-qb-selfcheck-title{display:block;margin:18px 0 9px;color:var(--zslm-navy,#082B49);}
.zsl-matura .zslm-qb-selfcheck-list{display:grid;gap:8px;}
.zsl-matura .zslm-qb-selfcheck-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--zslm-border,#DCE6EC);border-radius:11px;background:#fff;cursor:pointer;}
.zsl-matura .zslm-qb-selfcheck-item input{margin-top:2px;}
.zsl-matura .zslm-qb-guided-decision{margin-top:16px;padding-top:14px;border-top:1px solid var(--zslm-border,#DCE6EC);}
.zsl-matura .zslm-qb-guided-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px;}
.zsl-matura .zslm-qb-guided-status{margin:0;color:var(--zslm-muted,#61717C);}
.zsl-matura .zslm-qb-traps{margin-top:14px;}

/* Review cards are real controls, but should look like calm learning cards. */
.zsl-matura button.zslm-review-card.is-action{
  appearance:none;
  width:100%;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.zsl-matura button.zslm-review-card.is-action:hover{border-color:#9DC7CF;box-shadow:0 7px 20px rgba(6,30,52,.06);}
.zsl-matura button.zslm-review-card.is-action:focus-visible{outline:3px solid rgba(20,123,137,.24);outline-offset:2px;border-color:var(--zslm-teal,#147B89);}
.zsl-matura .zslm-review-card-copy{display:block;min-width:0;}
.zsl-matura .zslm-review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;}
.zsl-matura .zslm-review-reason,.zsl-matura .zslm-review-detail,.zsl-matura .zslm-review-domain,.zsl-matura .zslm-review-card-cta{display:block;}
.zsl-matura .zslm-review-reason{margin-top:6px;color:var(--zslm-muted,#61717C);line-height:1.45;}
.zsl-matura .zslm-review-detail{margin-top:4px;color:#526979;font-size:.88rem;line-height:1.45;}
.zsl-matura .zslm-review-domain{margin-top:7px;color:#637784;font-size:.75rem;font-weight:700;}
.zsl-matura .zslm-review-card-cta{margin-top:10px;color:var(--zslm-teal,#147B89);font-size:.82rem;font-weight:820;}

/* Writing coach result sits directly below the action and receives focus after analysis. */
.zsl-matura .zslm-writing-coach-host:not(:empty){margin-top:14px;scroll-margin-top:24px;}
.zsl-matura .zslm-writing-coach:focus{outline:none;}
.zsl-matura .zslm-coach-short,.zsl-matura .zslm-coach-pattern{padding:14px 16px;border-radius:12px;background:#F7FAFB;border:1px solid var(--zslm-border,#DCE6EC);}
.zsl-matura .zslm-coach-short > strong,.zsl-matura .zslm-coach-pattern > strong{display:block;margin-bottom:6px;color:var(--zslm-navy,#082B49);}
.zsl-matura .zslm-selfcheck-help{margin:6px 0 12px;color:var(--zslm-muted,#61717C);line-height:1.5;}

@media(max-width:767px){
  .zsl-matura .zslm-rep-category-card.is-action{grid-template-columns:minmax(0,1fr) !important;grid-template-areas:"title" "count" "bar" "arrow" !important;padding:16px !important;gap:9px !important;}
  .zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row{grid-template-columns:minmax(0,1fr) !important;gap:7px !important;}
  .zsl-matura .zslm-rep-category-card.is-action > .zslm-rep-category-title-row > .zslm-activity-status{justify-self:start !important;}
  .zsl-matura .zslm-rep-category-card.is-action > .zslm-progress-card-arrow{justify-self:start !important;margin-top:3px !important;}
  .zsl-matura .zslm-qb-compare-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-qb-guided-compare{padding:15px;}
  .zsl-matura .zslm-qb-guided-actions{display:grid;grid-template-columns:1fr;}
  .zsl-matura .zslm-qb-guided-actions .zslm-button{width:100%;justify-content:center;}
  .zsl-matura button.zslm-review-card.is-action{grid-template-columns:34px minmax(0,1fr);padding:13px 14px;}
  .zsl-matura .zslm-review-card-top{flex-direction:column;gap:7px;}
}

.zsl-matura .zslm-qb-model-list{margin:0;padding-left:20px;display:grid;gap:7px;line-height:1.55;}
.zsl-matura .zslm-qb-model-list li{padding-left:2px;}

/* v0.42.0 — Navigation & Home Architecture 2.0 */
.zsl-matura .zslm-home--v042,
.zsl-matura .zslm-learn-hub{
  display:grid;
  gap:18px;
  min-width:0;
}
.zsl-matura .zslm-home-v042-hero,
.zsl-matura .zslm-learn-hub-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:26px 28px;
  border:1px solid var(--zslm-border,#d8e4ea);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#f7fbfc 100%);
  min-width:0;
}
.zsl-matura .zslm-home-v042-copy,
.zsl-matura .zslm-learn-hub-hero>div{min-width:0;}
.zsl-matura .zslm-home-v042-hero h3,
.zsl-matura .zslm-learn-hub-hero h3{margin:5px 0 8px;line-height:1.15;}
.zsl-matura .zslm-home-v042-hero p,
.zsl-matura .zslm-learn-hub-hero p{margin:0;max-width:72ch;line-height:1.55;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-home-v042-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0;}
.zsl-matura .zslm-home-v042-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.zsl-matura .zslm-home-v042-hub{padding:22px;border:1px solid var(--zslm-border,#d8e4ea);border-radius:18px;background:#fff;}
.zsl-matura .zslm-home-v042-hub-head{display:grid;gap:4px;margin-bottom:14px;}
.zsl-matura .zslm-home-v042-hub-head h4{margin:0;}
.zsl-matura .zslm-home-v042-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.zsl-matura .zslm-home-main-card{
  appearance:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  grid-template-areas:"meta meta" "title arrow" "desc arrow";
  gap:7px 12px;
  align-content:start;
  text-align:left;
  min-width:0;
  min-height:156px;
  padding:18px;
  border:1px solid var(--zslm-border,#d8e4ea);
  border-radius:15px;
  background:#fff;
  color:var(--zslm-navy,#082b49);
  cursor:pointer;
}
.zsl-matura .zslm-home-main-card:hover,
.zsl-matura .zslm-home-main-card:focus-visible{border-color:rgba(20,123,137,.45);background:#f8fcfd;}
.zsl-matura .zslm-home-main-card-meta{grid-area:meta;font-size:.76rem;font-weight:700;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-home-main-card strong{grid-area:title;font-size:1.05rem;line-height:1.3;}
.zsl-matura .zslm-home-main-card>span:not(.zslm-home-main-card-meta){grid-area:desc;font-size:.88rem;line-height:1.5;color:var(--zslm-muted,#61717c);}
.zsl-matura .zslm-home-main-card b{grid-area:arrow;align-self:center;justify-self:end;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(20,123,137,.08);color:var(--zslm-teal,#147b89);font-size:1.1rem;}
.zsl-matura .zslm-home-v042-utility{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid var(--zslm-border,#d8e4ea);border-radius:14px;background:#fff;}
.zsl-matura .zslm-home-v042-utility>div:first-child{display:grid;gap:3px;min-width:0;}
.zsl-matura .zslm-home-v042-utility>div:first-child span{font-size:.86rem;color:var(--zslm-muted,#61717c);line-height:1.45;}
.zsl-matura .zslm-home-v042-utility-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;}
.zsl-matura .zslm-learn-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.zsl-matura .zslm-learn-hub-card{
  appearance:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta meta" "title title" "desc desc" "cta cta";gap:8px;
  min-width:0;min-height:190px;padding:20px;border:1px solid var(--zslm-border,#d8e4ea);border-radius:16px;background:#fff;text-align:left;color:var(--zslm-navy,#082b49);cursor:pointer;
}
.zsl-matura .zslm-learn-hub-card:hover,.zsl-matura .zslm-learn-hub-card:focus-visible{border-color:rgba(20,123,137,.45);background:#f8fcfd;}
.zsl-matura .zslm-learn-hub-card .zslm-mini-chip{grid-area:meta;justify-self:start;}
.zsl-matura .zslm-learn-hub-card strong{grid-area:title;font-size:1.12rem;}
.zsl-matura .zslm-learn-hub-card p{grid-area:desc;margin:0;color:var(--zslm-muted,#61717c);line-height:1.55;}
.zsl-matura .zslm-learn-hub-card b{grid-area:cta;align-self:end;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-exam-map--learn{margin-top:2px;}
.zsl-matura .zslm-check-grid .zslm-path-card--mock{border-color:rgba(8,43,73,.22);}
@media(max-width:1100px){
  .zsl-matura .zslm-home-v042-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .zsl-matura .zslm-home-v042-hero,.zsl-matura .zslm-learn-hub-hero{grid-template-columns:1fr;padding:22px;}
  .zsl-matura .zslm-home-v042-actions{justify-content:flex-start;}
  .zsl-matura .zslm-learn-hub-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-learn-hub-card{min-height:0;}
}
@media(max-width:600px){
  .zsl-matura .zslm-home--v042,.zsl-matura .zslm-learn-hub{gap:14px;}
  .zsl-matura .zslm-home-v042-hero,.zsl-matura .zslm-learn-hub-hero{padding:18px 16px;border-radius:15px;}
  .zsl-matura .zslm-home-v042-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .zsl-matura .zslm-home-v042-actions .zslm-button{width:100%;min-height:46px;}
  .zsl-matura .zslm-home-v042-hub{padding:16px 14px;border-radius:15px;}
  .zsl-matura .zslm-home-v042-grid{grid-template-columns:1fr;gap:9px;}
  .zsl-matura .zslm-home-main-card{min-height:0;padding:15px 14px;grid-template-columns:minmax(0,1fr) 30px;}
  .zsl-matura .zslm-home-main-card b{width:30px;height:30px;}
  .zsl-matura .zslm-home-v042-utility{align-items:flex-start;flex-direction:column;padding:14px;}
  .zsl-matura .zslm-home-v042-utility-actions{justify-content:flex-start;}
  .zsl-matura .zslm-learn-hub-card{padding:16px 14px;}
}

/* v0.43.0 — Learning Flow Consolidation */
.zsl-matura .zslm-lesson-v2-finish-note{
  margin:18px 0 0;
  padding:13px 15px;
  border-left:3px solid var(--zslm-teal,#147b89);
  background:#f7fbfc;
  color:var(--zslm-muted,#61717c);
  line-height:1.5;
}

/* v0.44.0 — UX Friction Audit / Pilot Hardening */
.zsl-matura .zslm-toast-host{
  position:fixed;right:18px;bottom:18px;z-index:100000;
  display:grid;gap:8px;width:min(390px,calc(100vw - 28px));pointer-events:none;
}
.zsl-matura .zslm-toast{
  pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:10px;
  padding:12px 12px 12px 14px;border:1px solid var(--zslm-border,#d8e4ea);border-radius:13px;
  background:#fff;color:var(--zslm-navy,#082b49);box-shadow:0 12px 30px rgba(8,43,73,.16);line-height:1.45;
}
.zsl-matura .zslm-toast.is-error{border-color:#b94a48;background:#fff8f7;}
.zsl-matura .zslm-toast.is-success{border-color:#2f7d57;background:#f5fbf7;}
.zsl-matura .zslm-toast.is-info{border-color:rgba(20,123,137,.4);background:#f7fbfc;}
.zsl-matura .zslm-toast.is-warning{border-color:#c48a00;background:#fffaf0;}
.zsl-matura .zslm-toast-copy{min-width:0;overflow-wrap:anywhere;}
.zsl-matura .zslm-toast-close{appearance:none;border:0;background:transparent;color:inherit;font-size:1.25rem;line-height:1;min-width:34px;min-height:34px;border-radius:8px;cursor:pointer;}
.zsl-matura .zslm-toast-close:hover,.zsl-matura .zslm-toast-close:focus-visible{background:rgba(8,43,73,.07);}
.zsl-matura .zslm-action-dialog{width:min(560px,calc(100vw - 28px));max-height:min(82vh,720px);margin:auto;padding:0;border:0;border-radius:18px;background:transparent;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-action-dialog::backdrop{background:rgba(6,30,52,.48);backdrop-filter:blur(2px);}
.zsl-matura .zslm-action-dialog-card{display:grid;gap:12px;padding:22px;border:1px solid var(--zslm-border,#d8e4ea);border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(6,30,52,.24);}
.zsl-matura .zslm-action-dialog-title{margin:0;font-size:1.25rem;line-height:1.25;}
.zsl-matura .zslm-action-dialog-lead{margin:0;color:var(--zslm-muted,#61717c);line-height:1.55;}
.zsl-matura .zslm-action-dialog-list{margin:0;padding-left:1.2rem;color:var(--zslm-muted,#61717c);line-height:1.55;}
.zsl-matura .zslm-action-dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px;}
.zsl-matura .zslm-qb-attempt-note.is-error{color:#9b3634;font-weight:650;}
@media(max-width:600px){
  .zsl-matura .zslm-toast-host{right:14px;bottom:14px;width:calc(100vw - 28px);}
  .zsl-matura .zslm-action-dialog-card{padding:18px 15px;border-radius:15px;}
  .zsl-matura .zslm-action-dialog-actions{display:grid;grid-template-columns:1fr;}
  .zsl-matura .zslm-action-dialog-actions .zslm-button{width:100%;min-height:46px;}
}

/* v0.45.0 — Draft Recovery / Session Continuity */
.zsl-matura .zslm-writing-recovery{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  margin:0 0 14px;padding:15px 16px;border:1px solid rgba(20,123,137,.28);border-radius:13px;
  background:#f7fbfc;color:var(--zslm-navy,#082b49);
}
.zsl-matura .zslm-writing-recovery h4{margin:2px 0 5px;font-size:1rem;line-height:1.3;}
.zsl-matura .zslm-writing-recovery p{margin:0;color:var(--zslm-muted,#61717c);line-height:1.5;}
.zsl-matura .zslm-writing-recovery .zslm-profile-actions{justify-content:flex-end;margin:0;}
.zsl-matura .zslm-writing-local-status{margin-left:auto;color:var(--zslm-teal,#147b89);font-weight:700;}
.zsl-matura .zslm-writing-local-status.is-error{color:#9b3634;}
@media(max-width:760px){
  .zsl-matura .zslm-writing-recovery{grid-template-columns:1fr;padding:14px;}
  .zsl-matura .zslm-writing-recovery .zslm-profile-actions{justify-content:flex-start;}
  .zsl-matura .zslm-writing-recovery .zslm-button{width:100%;min-height:46px;}
  .zsl-matura .zslm-writing-local-status{width:100%;margin-left:0;}
}

/* v0.46.0 — Storage Resilience / Pilot RC */
.zsl-matura .zslm-storage-warning{
  display:flex;align-items:flex-start;gap:6px;
  margin:12px 0;padding:12px 14px;border:1px solid #e2b7b4;border-radius:12px;
  background:#fff8f7;color:#7f302f;line-height:1.5;
}
.zsl-matura .zslm-storage-warning[hidden]{display:none!important;}
.zsl-matura .zslm-storage-warning strong{flex:0 0 auto;color:#7f302f;}
.zsl-matura .zslm-mock-v2-autosave.is-error{color:#9b3634;font-weight:750;}
@media(max-width:600px){
  .zsl-matura .zslm-storage-warning{display:grid;gap:4px;padding:11px 12px;}
}

/* v0.47.0 — Pilot Fixes / Local Work Continuity */
.zsl-matura .zslm-local-work-protection{
  display:grid;gap:8px;margin:12px 0 16px;
}
.zsl-matura .zslm-local-work-status{
  justify-self:start;display:inline-flex;align-items:center;min-height:30px;
  padding:5px 9px;border:1px solid rgba(20,123,137,.24);border-radius:999px;
  background:#f7fbfc;color:var(--zslm-teal,#147b89);font-size:.875rem;font-weight:750;line-height:1.35;
}
.zsl-matura .zslm-local-work-status.is-error{
  border-color:#e2b7b4;background:#fff8f7;color:#9b3634;
}
.zsl-matura .zslm-local-work-protection > .zslm-storage-warning{margin:0;}
@media(max-width:600px){
  .zsl-matura .zslm-local-work-protection{margin:10px 0 14px;}
  .zsl-matura .zslm-local-work-status{justify-self:stretch;border-radius:10px;}
}

/* v0.49 server-first shell: visually mirrors the final home while JS/profile hydration starts. */
.zsl-matura .zslm-home-v042-grid--startup .zslm-home-main-card{cursor:default;pointer-events:none;}
.zsl-matura .zslm-home--startup{opacity:1;}

/* Writing: comparison, revision and portable notes. Scoped to the plugin. */
.zsl-matura .zslm-writing-revision,
.zsl-matura .zslm-writing-notebook,
.zsl-matura .zslm-writing-decision {
  min-width:0; margin:20px 0; padding:20px; border:1px solid #c6d9df;
  border-radius:12px; background:#f6fafb; color:#082b49;
}
.zsl-matura .zslm-writing-decision legend {font-weight:700;max-width:100%;padding:0 6px;white-space:normal;}
.zsl-matura .zslm-writing-notebook-actions {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
.zsl-matura .zslm-writing-notebook input[type=file] {max-width:100%;font:inherit;}
.zsl-matura .zslm-writing-revision summary,
.zsl-matura .zslm-writing-notebook summary {cursor:pointer;font-weight:700;min-height:44px;line-height:1.5;}
.zsl-matura .zslm-writing-v2-model p {white-space:pre-line;line-height:1.75;}
.zsl-matura .zslm-writing-decision .zslm-lesson-v2-check {padding:12px 0;align-items:flex-start;}
.zsl-matura .zslm-writing-decision-feedback:empty {display:none;}
.zsl-matura .zslm-writing-decision-feedback {padding:12px;border-left:4px solid #147b89;}
.zsl-matura .zslm-writing-revision textarea {width:100%;box-sizing:border-box;}
@media(max-width:600px){
 .zsl-matura .zslm-writing-revision,.zsl-matura .zslm-writing-notebook,.zsl-matura .zslm-writing-decision {padding:14px;}
 .zsl-matura .zslm-writing-notebook-actions {display:grid;}
}

/* ============================================================
   v0.50.0-alpha.2 — SPACING / RHYTHM HARDENING
   Real-browser review after the writing audit. The goal is to
   prevent Elementor/theme margins and dense intermediate widths
   from making neighbouring controls look as if they overlap.
   ============================================================ */
.zsl-matura{
  --zslm-space-1:6px;
  --zslm-space-2:10px;
  --zslm-space-3:14px;
  --zslm-space-4:18px;
  --zslm-space-5:24px;
  --zslm-space-6:32px;
}

/* Keep host theme paragraph/heading margins from accumulating inside
   the interactive workspaces. Components own their vertical rhythm. */
.zsl-matura :is(
  .zslm-writing-v2-stage,
  .zslm-writing-v2-practice,
  .zslm-writing-v2-microtask,
  .zslm-writing-decision,
  .zslm-writing-revision,
  .zslm-writing-notebook,
  .zslm-storage-warning,
  .zslm-oral-v2-stage,
  .zslm-lesson-v2-stage
) > :first-child{margin-top:0;}
.zsl-matura :is(
  .zslm-writing-v2-stage,
  .zslm-writing-v2-practice,
  .zslm-writing-v2-microtask,
  .zslm-writing-decision,
  .zslm-writing-revision,
  .zslm-writing-notebook,
  .zslm-storage-warning,
  .zslm-oral-v2-stage,
  .zslm-lesson-v2-stage
) > :last-child{margin-bottom:0;}

/* Writing shell: each layer gets a clear visual boundary. */
.zsl-matura .zslm-writing-v2-track > .zslm-local-work-protection{
  margin:0!important;
  padding:10px 18px 12px;
  gap:10px;
  background:#FBFDFD;
  border-top:1px solid var(--zslm-border);
  border-bottom:1px solid var(--zslm-border);
}
.zsl-matura .zslm-writing-v2-track > .zslm-local-work-protection .zslm-local-work-status{
  margin:0;
}
.zsl-matura .zslm-writing-v2-track > .zslm-local-work-protection .zslm-storage-warning{
  margin:0;
}
.zsl-matura .zslm-writing-v2-progress{
  margin:0!important;
  position:relative;
  z-index:0;
}
.zsl-matura .zslm-writing-v2-stepnav{
  margin:0!important;
  border-top:0;
}
.zsl-matura .zslm-writing-v2-stage{
  border-top:1px solid rgba(220,228,234,.72);
}
.zsl-matura .zslm-writing-v2-stage-head{margin-bottom:var(--zslm-space-4)!important;}
.zsl-matura .zslm-writing-v2-stage > :is(.zslm-writing-v2-body,.zslm-writing-v2-remember,.zslm-writing-v2-recall,.zslm-writing-v2-question,.zslm-writing-v2-examples,.zslm-writing-v2-anatomy,.zslm-writing-v2-practice,.zslm-writing-v2-microtask,.zslm-writing-decision,.zslm-writing-revision){
  clear:both;
}
.zsl-matura .zslm-writing-v2-stage > .zslm-writing-v2-body{margin-bottom:var(--zslm-space-4)!important;}
.zsl-matura .zslm-writing-v2-stage > :is(.zslm-writing-v2-remember,.zslm-writing-v2-recall,.zslm-writing-v2-question,.zslm-writing-v2-examples,.zslm-writing-v2-anatomy,.zslm-writing-v2-practice,.zslm-writing-v2-microtask,.zslm-writing-decision,.zslm-writing-revision){
  margin-top:var(--zslm-space-4)!important;
  margin-bottom:var(--zslm-space-4)!important;
}
.zsl-matura .zslm-writing-v2-footer{
  margin:0!important;
  align-items:center;
  min-height:72px;
}
.zsl-matura .zslm-writing-v2-track > .zslm-writing-notebook{
  margin:var(--zslm-space-5) 0 0!important;
}

/* New 0.50 writing controls. A fieldset legend normally sits on the
   border; inside this card that looked like two elements crossing. */
.zsl-matura .zslm-writing-decision{
  display:block;
  padding:18px 20px 20px!important;
}
.zsl-matura .zslm-writing-decision legend{
  float:left;
  width:100%;
  max-width:none!important;
  margin:0 0 12px!important;
  padding:0!important;
  background:transparent;
  color:var(--zslm-navy);
  line-height:1.45;
}
.zsl-matura .zslm-writing-decision legend + *{clear:both;}
.zsl-matura .zslm-writing-decision .zslm-lesson-v2-check{
  margin:0;
  padding:11px 12px!important;
  border-color:rgba(20,123,137,.18);
  background:#fff;
}
.zsl-matura .zslm-writing-decision .zslm-lesson-v2-check + .zslm-lesson-v2-check{
  margin-top:8px;
}
.zsl-matura .zslm-writing-decision > .zslm-button{
  margin-top:12px;
}
.zsl-matura .zslm-writing-decision-feedback{
  margin:12px 0 0!important;
  border-radius:0 10px 10px 0;
  background:#fff;
  line-height:1.55;
}

.zsl-matura .zslm-writing-revision,
.zsl-matura .zslm-writing-notebook{
  display:block;
}
.zsl-matura .zslm-writing-revision > summary,
.zsl-matura .zslm-writing-notebook > summary{
  display:flex;
  align-items:center;
  min-height:44px;
  margin:-4px 0!important;
  padding:4px 0;
  line-height:1.45;
}
.zsl-matura .zslm-writing-revision[open] > summary,
.zsl-matura .zslm-writing-notebook[open] > summary{
  margin:-4px 0 14px!important;
  padding-bottom:12px;
  border-bottom:1px solid rgba(20,123,137,.16);
}
.zsl-matura .zslm-writing-revision > p,
.zsl-matura .zslm-writing-notebook > p,
.zsl-matura .zslm-writing-import-result{
  margin:0 0 12px;
  line-height:1.6;
}
.zsl-matura .zslm-writing-revision textarea{margin-top:4px;}
.zsl-matura .zslm-writing-notebook-actions{
  margin:14px 0!important;
  align-items:center;
}
.zsl-matura .zslm-writing-notebook input[type=file]{
  display:block;
  width:100%;
  margin:4px 0 12px;
}
.zsl-matura .zslm-writing-import-result:empty{display:none;}

/* Local-storage status and warning must read as one block, not two
   labels visually touching each other. */
.zsl-matura .zslm-local-work-protection{row-gap:10px;}
.zsl-matura .zslm-storage-warning{
  column-gap:8px;
  line-height:1.55;
}
.zsl-matura .zslm-storage-warning > :is(strong,span){min-width:0;overflow-wrap:anywhere;}

/* At laptop/Windows-scaled effective widths, seven writing steps used to
   form a very dense auto-fit grid. Four predictable columns leave enough
   room for labels and prevent the rows from visually running together. */
@media (min-width:768px) and (max-width:1100px){
  .zsl-matura .zslm-writing-v2-stepnav{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px 16px!important;
  }
  .zsl-matura .zslm-writing-v2-stepbtn{
    min-height:50px!important;
    padding:7px 10px 7px 7px!important;
  }
  .zsl-matura .zslm-writing-v2-stepbtn span{line-height:1.32!important;}
}

/* Shared interactive workspaces: keep large blocks from merging into the
   following navigation/footer when host CSS adds its own text margins. */
.zsl-matura .zslm-oral-v2-stage,
.zsl-matura .zslm-lesson-v2-stage{
  min-width:0;
}
.zsl-matura .zslm-oral-v2-stage > :is(section,fieldset,details),
.zsl-matura .zslm-lesson-v2-stage > :is(section,fieldset,details){
  margin-block:var(--zslm-space-4);
}
.zsl-matura .zslm-oral-v2-stage > :is(section,fieldset,details):first-child,
.zsl-matura .zslm-lesson-v2-stage > :is(section,fieldset,details):first-child{margin-top:0;}
.zsl-matura .zslm-oral-v2-stage > :is(section,fieldset,details):last-child,
.zsl-matura .zslm-lesson-v2-stage > :is(section,fieldset,details):last-child{margin-bottom:0;}

@media(max-width:767px){
  .zsl-matura .zslm-writing-v2-track > .zslm-local-work-protection{
    padding:10px 12px 12px;
  }
  .zsl-matura .zslm-writing-v2-stage{border-top:0;}
  .zsl-matura .zslm-writing-v2-footer{min-height:0;gap:10px;}
  .zsl-matura .zslm-writing-v2-track > .zslm-writing-notebook{margin-top:18px!important;}
  .zsl-matura .zslm-writing-decision{padding:15px 14px 16px!important;}
}

/* alpha.2 correction after full renderer scan: never use negative summary
   margins — at real Inter metrics they let the first paragraph enter the
   44 px summary hit-area by ~4 px. */
.zsl-matura .zslm-writing-revision > summary,
.zsl-matura .zslm-writing-notebook > summary{
  margin:0!important;
  padding:0;
}
.zsl-matura .zslm-writing-revision[open] > summary,
.zsl-matura .zslm-writing-notebook[open] > summary{
  margin:0 0 14px!important;
  padding-bottom:12px;
}

/* Remove legacy negative content margins that can visually collide after
   host-font metrics or browser zoom change. Full-bleed mobile scrollers and
   decorative pseudo-elements keep their intentional geometry. */
.zsl-matura .zslm-network-context-card small{margin:0 0 9px;}
.zsl-matura .zslm-network-catalog-card--v2>img{margin:0 0 11px;}
.zsl-matura .zslm-oral-v2-filters{margin:0 0 16px;}


/* ==========================================================================
   v0.51.0-alpha.5 — fixes driven by the real alpha.4 Deep Diagnostics report
   ========================================================================== */

/* Ustna 2027: filtry były mierzone jako 36 px na wszystkich węższych
   viewportach. Zapewniamy rzeczywisty, wygodny cel interakcji >= 44 px. */
.zsl-matura .zslm-oral-v2-filter{
  min-height:44px;
  padding:10px 14px;
  line-height:1.2;
}

/* Ustna: na <=960 px rail jest świadomym, poziomym scrollerem kroków.
   grid-auto-flow eliminuje sztuczne wymuszanie szerokości przez repeat(7,...)
   i daje stabilny scroll także przy 320–600 px. */
@media (max-width:960px){
  .zsl-matura .zslm-oral-v2-rail{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(132px,180px);
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .zsl-matura .zslm-oral-v2-step{
    min-width:0;
    scroll-snap-align:start;
  }
}

/* Sieć maturzysty: tryby miały 38–40 px wysokości na 768–1024 px. */
.zsl-matura .zslm-network-mode-button{
  min-height:44px !important;
  padding:10px 12px !important;
  line-height:1.2 !important;
}
@media (max-width:767px){
  .zsl-matura .zslm-network-mode-button{
    min-height:44px !important;
    padding:10px 12px !important;
  }
}

/* Raport wykazał realne ucięcie podsumowania kart Sieci (1100 i 320 px).
   Nie ukrywamy treści line-clampem; karta może naturalnie zwiększyć wysokość. */
.zsl-matura .zslm-network-card-summary{
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  overflow:visible;
  max-height:none;
}

/* ==========================================================================
   v0.52.0-alpha.1 — oficjalne arkusze CKE 2023–2026
   ========================================================================== */
.zsl-matura .zslm-cke-archive{
  margin-top:28px;
  padding:24px;
  border:1px solid var(--zslm-border,#dce6ec);
  border-radius:20px;
  background:linear-gradient(145deg,#f7fbfc 0%,#fff 58%);
  min-width:0;
}
.zsl-matura .zslm-cke-archive>h4{margin:6px 0 8px;font-size:clamp(1.25rem,1rem + .65vw,1.7rem);line-height:1.22;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke-archive>.zslm-section-intro{max-width:900px;margin:0 0 20px;}
.zsl-matura .zslm-cke-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;}
.zsl-matura .zslm-cke-year-card{min-width:0;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(8,43,73,.045);}
.zsl-matura .zslm-cke-year-card>strong{display:block;margin-bottom:12px;font-size:1.12rem;line-height:1.2;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke-session-list{display:grid;gap:9px;min-width:0;}
.zsl-matura button.zslm-cke-session{width:100%;min-width:0;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;text-align:left;border:1px solid #d7e3e8;border-radius:13px;background:#f9fcfd;color:var(--zslm-navy,#082b49);cursor:pointer;box-shadow:none;transition:border-color .16s ease,background-color .16s ease,transform .16s ease;}
.zsl-matura button.zslm-cke-session:hover{border-color:var(--zslm-teal,#147b89);background:#f1f8f9;transform:translateY(-1px);}
.zsl-matura button.zslm-cke-session:focus-visible{outline:3px solid rgba(20,123,137,.26);outline-offset:2px;}
.zsl-matura .zslm-cke-session>span:first-child{display:grid;gap:4px;min-width:0;}
.zsl-matura .zslm-cke-session strong{font-size:.96rem;line-height:1.3;overflow-wrap:anywhere;}
.zsl-matura .zslm-cke-session small{font-size:.78rem;line-height:1.38;color:#557080;overflow-wrap:anywhere;}
.zsl-matura .zslm-cke-session-arrow{font-size:1.18rem;line-height:1;color:var(--zslm-teal,#147b89);}

.zsl-matura .zslm-mock-v2-prompt.is-official{padding:20px;border:1px solid rgba(20,123,137,.23);border-radius:16px;background:linear-gradient(145deg,#f8fcfd 0%,#fff 72%);}
.zsl-matura .zslm-mock-v2-official-symbol{display:inline-flex;align-items:center;min-height:28px;margin:0 0 10px;padding:5px 9px;border-radius:999px;background:#e8f4f5;color:#0b6170;font-size:.76rem;font-weight:700;line-height:1.2;}
.zsl-matura .zslm-mock-v2-official-copy{display:grid;gap:11px;min-width:0;}
.zsl-matura .zslm-mock-v2-official-copy p,.zsl-matura .zslm-mock-v2-official-copy ul{margin:0;}
.zsl-matura .zslm-mock-v2-official-copy ul{padding-left:1.25rem;}
.zsl-matura .zslm-mock-v2-official-copy li+li{margin-top:6px;}
.zsl-matura .zslm-mock-v2-official-context{margin-top:14px;padding:14px 16px;border-left:4px solid var(--zslm-teal,#147b89);border-radius:0 12px 12px 0;background:#f5fafb;min-width:0;}
.zsl-matura .zslm-mock-v2-official-context>strong{display:block;margin-bottom:7px;color:var(--zslm-navy,#082b49);}

.zsl-matura .zslm-mock-v2-source-pages{margin-top:16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;overflow:clip;}
.zsl-matura .zslm-mock-v2-source-pages>summary{min-height:46px;display:flex;align-items:center;padding:11px 15px;font-weight:700;color:var(--zslm-navy,#082b49);cursor:pointer;background:#f7fafb;}
.zsl-matura .zslm-mock-v2-source-pages>summary:hover{background:#f0f6f7;}
.zsl-matura .zslm-mock-v2-source-pages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;padding:16px;background:#eef3f5;min-width:0;}
.zsl-matura .zslm-mock-v2-source-pages figure{margin:0;min-width:0;border:1px solid #d4dee3;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(8,43,73,.07);}
.zsl-matura .zslm-mock-v2-source-pages img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:#fff;}

.zsl-matura .zslm-mock-v2-official-scoring{margin-top:16px;border:1px solid rgba(20,123,137,.24);border-radius:14px;background:#f7fbfc;overflow:clip;}
.zsl-matura .zslm-mock-v2-official-scoring>summary{min-height:46px;display:flex;align-items:center;padding:11px 15px;font-weight:750;color:var(--zslm-navy,#082b49);cursor:pointer;}
.zsl-matura .zslm-mock-v2-official-scoring-copy{display:grid;gap:12px;padding:0 16px 16px;min-width:0;max-height:560px;overflow:auto;overscroll-behavior:contain;}
.zsl-matura .zslm-mock-v2-official-scoring-copy p,.zsl-matura .zslm-mock-v2-official-scoring-copy ul{margin:0;}
.zsl-matura .zslm-mock-v2-official-scoring-copy ul{padding-left:1.25rem;}

.zsl-matura .zslm-mock-v2-official-topic{margin:15px 0;padding:16px 18px;border:1px solid rgba(20,123,137,.22);border-radius:14px;background:#f7fbfc;min-width:0;}
.zsl-matura .zslm-mock-v2-official-topic strong{display:block;margin-bottom:8px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v2-official-topic p{margin:0;white-space:pre-line;overflow-wrap:anywhere;}

@media(max-width:900px){
  .zsl-matura .zslm-cke-years{grid-template-columns:1fr;}
  .zsl-matura .zslm-cke-archive{padding:20px;}
}
@media(max-width:600px){
  .zsl-matura .zslm-cke-archive{margin-top:22px;padding:16px 14px;border-radius:16px;}
  .zsl-matura .zslm-cke-year-card{padding:14px 12px;}
  .zsl-matura button.zslm-cke-session{min-height:64px;padding:11px 12px;}
  .zsl-matura .zslm-mock-v2-prompt.is-official{padding:16px 14px;}
  .zsl-matura .zslm-mock-v2-source-pages-grid{grid-template-columns:1fr;padding:10px;gap:10px;}
  .zsl-matura .zslm-mock-v2-official-scoring-copy{max-height:480px;padding:0 13px 14px;}
}
@media(max-width:430px){
  .zsl-matura button.zslm-cke-session{grid-template-columns:minmax(0,1fr) 20px;gap:8px;}
  .zsl-matura .zslm-cke-session small{font-size:.75rem;}
  .zsl-matura .zslm-mock-v2-source-pages>summary,
  .zsl-matura .zslm-mock-v2-official-scoring>summary{min-height:48px;padding:11px 12px;}
}

/* ==========================================================================
   v0.52.0-alpha.3 — poprawki z realnego Deep Diagnostics 0.52 alpha.1
   ========================================================================== */

/* Rzeczywiste cele interakcji: raport pokazał wiele kontrolek 38–42 px mimo
   wcześniejszych reguł deklaratywnych. Te selektory mają wyższą swoistość,
   więc min. 44 px jest faktycznie respektowane przez końcowy CSS. */
.zsl-matura button.zslm-back-button,
.zsl-matura button.zslm-home-button,
.zsl-matura button.zslm-mode-tab,
.zsl-matura button.zslm-writing-v2-stepbtn,
.zsl-matura button.zslm-mock-v2-task-dot,
.zsl-matura button.zslm-mock-v2-choice,
.zsl-matura button.zslm-mock-v2-mark,
.zsl-matura button.zslm-lesson-focus-toggle,
.zsl-matura button.zslm-lesson-v2-part-button,
.zsl-matura button.zslm-mock-v2-essay-link,
.zsl-matura button.zslm-atlas-nav-button{
  min-height:44px !important;
}
.zsl-matura button.zslm-mock-v2-task-dot,
.zsl-matura button.zslm-writing-v2-stepbtn{
  min-width:44px !important;
}
.zsl-matura button.zslm-writing-v2-stepbtn{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
}

/* Katalog Ustnej: po raporcie 22,8 tys. px wysokości na 320 px renderujemy
   listę progresywnie. Footer pozostaje lekki i nie zmienia semantyki kart. */
.zsl-matura .zslm-oral-list-footer{
  display:flex;
  justify-content:center;
  margin:-4px 0 24px;
}
.zsl-matura .zslm-oral-load-more{
  min-width:min(100%,280px);
  min-height:46px !important;
}

/* Mikroetykiety Sieci były realnie renderowane poniżej 12 px. */
.zsl-matura .zslm-network-card-chip,
.zsl-matura .zslm-network-card-open{
  font-size:12px !important;
  line-height:1.35 !important;
}

@media(max-width:600px){
  .zsl-matura .zslm-oral-list-footer{margin-top:2px;}
  .zsl-matura .zslm-oral-load-more{width:100%;}
}

/* Oficjalne arkusze CKE: nagłówek rozwijanego materiału jest kontrolką,
   więc również zachowuje pełny cel dotykowy. */
.zsl-matura .zslm-mock-v2-official-context > summary{
  display:flex;
  align-items:center;
  min-height:44px;
  padding-block:9px;
}

/* Import notatek jest rzeczywistą kontrolką plikową; w raporcie miała ~32 px
   wysokości. Podnosimy ją do tego samego minimum 44 px co pozostałe akcje. */
.zsl-matura .zslm-writing-notebook input[type=file]{
  min-height:44px;
  padding:6px 8px;
}

/* Pozostałe <summary> wykryte przez zaostrzony audyt 44 px. */
.zsl-matura .zslm-writing-v2-microhint > summary,
.zsl-matura .zslm-network-stats-details > summary,
.zsl-matura .zslm-network-visual-detail details > summary{
  min-height:44px;
  display:flex;
  align-items:center;
  padding-block:8px;
}

/* v0.54 — Rubric / Scoring Engine 2.0 */
.zslm-rubric-diagnostic{margin:18px 0;padding:18px;border:1px solid rgba(8,43,73,.14);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(6,30,52,.05)}
.zslm-rubric-diagnostic__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.zslm-rubric-diagnostic__head strong{font-size:1rem;color:#082b49}
.zslm-rubric-diagnostic__grid{display:grid;gap:8px}.zslm-rubric-unit{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:10px 12px;border-radius:12px;background:#f7fafb;border:1px solid rgba(8,43,73,.08);line-height:1.45}
.zslm-rubric-unit__mark{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;font-weight:800}.zslm-rubric-unit.is-present .zslm-rubric-unit__mark{background:#e3f5ee;color:#176747}.zslm-rubric-unit.is-partial .zslm-rubric-unit__mark{background:#fff3cf;color:#8a6500}.zslm-rubric-unit.is-missing .zslm-rubric-unit__mark{background:#fde9e7;color:#9e3027}
.zslm-rubric-next{margin:14px 0 6px;padding:12px 14px;border-left:4px solid #147b89;background:rgba(20,123,137,.07);font-weight:650;color:#082b49}.zslm-rubric-disclaimer{display:block;color:#526574;line-height:1.45}
.zslm-qb-auto-diagnosis-head{margin-top:18px;display:flex;flex-direction:column;gap:3px}.zslm-qb-auto-diagnosis-head strong{color:#082b49}.zslm-qb-auto-diagnosis-head small{color:#607583}
.zslm-open-answer-note{font-size:.9rem;color:#607583;margin-top:-4px}.zslm-open-answer-history{margin:14px 0;padding:14px;border-radius:12px;background:#f7fafb}.zslm-open-answer-history p{white-space:pre-wrap;margin:.4rem 0 0}.zslm-feedback--partial{border-color:rgba(240,180,0,.45)!important;background:rgba(240,180,0,.06)!important}.zslm-oral-plan-diagnostic{margin-top:14px}
@media(max-width:640px){.zslm-rubric-diagnostic{padding:14px;border-radius:14px}.zslm-rubric-unit{grid-template-columns:24px 1fr;padding:9px 10px}.zslm-rubric-unit__mark{width:22px;height:22px}.zslm-rubric-next{padding:10px 12px}}
.zslm-structured-open-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.zslm-structured-open-field{display:grid;gap:6px}.zslm-structured-open-field strong{font-size:.9rem;color:#082b49}@media(max-width:700px){.zslm-structured-open-grid{grid-template-columns:1fr}}
.zslm-rubric-errors{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.zslm-rubric-errors span{font-size:.82rem;line-height:1.35;padding:5px 8px;border-radius:999px;background:#fff3cf;color:#6f5500;border:1px solid rgba(240,180,0,.28)}

/* v0.55 — Asystent redakcji 3.0 + Ustna 2027 */
.zsl-matura .zslm-writing-coach-v3{display:grid;gap:18px;}
.zsl-matura .zslm-writing-v3-triage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.zsl-matura .zslm-writing-v3-summary{min-width:0;padding:16px;border:1px solid var(--zslm-border);border-radius:14px;background:#fff;}
.zsl-matura .zslm-writing-v3-summary h5{margin:4px 0 10px;color:var(--zslm-navy);font-size:1rem;line-height:1.35;}
.zsl-matura .zslm-writing-v3-summary.is-good{background:#F4FBF7;border-color:#BFDCCB;}
.zsl-matura .zslm-writing-v3-summary.is-warning{background:#FFF9EC;border-color:#E7D09B;}
.zsl-matura .zslm-writing-v3-summary.is-repair{background:#F2F8FA;border-color:#B8D7DC;}
.zsl-matura .zslm-writing-v3-priority-list{margin:8px 0 0;padding-left:20px;display:grid;gap:7px;}
.zsl-matura .zslm-writing-v3-layers{display:grid;gap:10px;}
.zsl-matura .zslm-writing-v3-layers>h5{margin:0;color:var(--zslm-navy);font-size:1.08rem;}
.zsl-matura .zslm-writing-v3-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-writing-v3-layer{min-width:0;border:1px solid var(--zslm-border);border-radius:13px;background:#fff;overflow:hidden;}
.zsl-matura .zslm-writing-v3-layer>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 15px;cursor:pointer;list-style:none;}
.zsl-matura .zslm-writing-v3-layer>summary::-webkit-details-marker{display:none;}
.zsl-matura .zslm-writing-v3-layer>summary span{display:grid;gap:3px;min-width:0;}
.zsl-matura .zslm-writing-v3-layer>summary strong{color:var(--zslm-navy);line-height:1.3;}
.zsl-matura .zslm-writing-v3-layer>summary small{color:var(--zslm-muted);line-height:1.35;}
.zsl-matura .zslm-writing-v3-layer>summary b{flex:0 0 auto;font-size:.78rem;color:var(--zslm-teal);}
.zsl-matura .zslm-writing-v3-layer.is-needs_work>summary{background:#FFF9EC;}
.zsl-matura .zslm-writing-v3-layer.is-good>summary{background:#F4FBF7;}
.zsl-matura .zslm-writing-v3-layer-body{display:grid;gap:8px;padding:0 12px 12px;}
.zsl-matura .zslm-writing-v3-layer-row{padding:11px 12px;border-radius:10px;background:#F8FAFB;border:1px solid #E7ECEF;}
.zsl-matura .zslm-writing-v3-layer-row strong{display:block;color:var(--zslm-navy);font-size:.9rem;}
.zsl-matura .zslm-writing-v3-layer-row p{margin:5px 0 0;line-height:1.5;}
.zsl-matura .zslm-writing-v3-layer-row small{display:block;margin-top:6px;color:var(--zslm-muted);line-height:1.45;}
.zsl-matura .zslm-writing-v3-layer-row.is-risk,.zsl-matura .zslm-writing-v3-layer-row.is-warn{background:#FFF9EC;border-color:#E7D09B;}
.zsl-matura .zslm-writing-v3-layer-row.is-good{background:#F4FBF7;border-color:#C9E3D3;}
.zsl-matura .zslm-writing-v3-repair{padding:18px;border-radius:15px;background:#F7FAFB;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-writing-v3-repair>h5{margin:4px 0 14px;color:var(--zslm-navy);}
.zsl-matura .zslm-writing-v3-repair-list{display:grid;gap:10px;}
.zsl-matura .zslm-writing-v3-repair-card{padding:14px;border-radius:12px;background:#fff;border:1px solid var(--zslm-border);}
.zsl-matura .zslm-writing-v3-repair-card>div:first-child{display:flex;align-items:center;gap:9px;}
.zsl-matura .zslm-writing-v3-repair-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#EAF5F6;color:var(--zslm-teal);font-weight:850;font-size:.78rem;}
.zsl-matura .zslm-writing-v3-problem{margin:9px 0 5px;font-weight:700;color:var(--zslm-navy);line-height:1.5;}
.zsl-matura .zslm-writing-v3-action{margin:0;line-height:1.55;}
.zsl-matura .zslm-writing-v3-preview{display:block;margin-top:8px;padding:8px 10px;border-radius:8px;background:#F6F7F8;color:var(--zslm-muted);line-height:1.45;}
.zsl-matura .zslm-writing-v3-starter{margin-top:9px;}
.zsl-matura .zslm-writing-v3-starter summary{cursor:pointer;color:var(--zslm-teal);font-weight:800;}
.zsl-matura .zslm-writing-v3-starter p{margin:8px 0 0;padding:10px 12px;border-left:3px solid var(--zslm-yellow);background:#FFFDF6;}
.zsl-matura .zslm-writing-v3-paragraphs{border:1px solid var(--zslm-border);border-radius:13px;background:#fff;padding:0 14px 14px;}
.zsl-matura .zslm-writing-v3-paragraphs>summary{padding:14px 0;cursor:pointer;font-weight:850;color:var(--zslm-navy);}
.zsl-matura .zslm-writing-v3-paragraph-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.zsl-matura .zslm-writing-v3-paragraph{padding:11px;border-radius:10px;background:#F5F8F9;}
.zsl-matura .zslm-writing-v3-paragraph strong,.zsl-matura .zslm-writing-v3-paragraph span{display:block;}
.zsl-matura .zslm-writing-v3-paragraph span{margin-top:3px;color:var(--zslm-muted);font-size:.82rem;}
.zsl-matura .zslm-writing-v3-paragraph p{margin:7px 0 0;line-height:1.45;}
.zsl-matura .zslm-writing-v3-paragraph.is-warning{background:#FFF9EC;}
.zsl-matura .zslm-writing-v3-mini-host{margin-top:10px;}
.zsl-matura .zslm-writing-v3-mini{padding:14px;border:1px solid #B8D7DC;border-radius:12px;background:#F5FBFC;}
.zsl-matura .zslm-writing-v3-mini h6{margin:3px 0 10px;color:var(--zslm-navy);font-size:.98rem;}
.zsl-matura .zslm-writing-v3-mini-checks{display:grid;gap:7px;}
.zsl-matura .zslm-writing-v3-mini-checks>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:start;padding:8px 9px;border-radius:9px;background:#fff;}
.zsl-matura .zslm-writing-v3-mini-checks>div b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#EDF2F4;color:var(--zslm-muted);}
.zsl-matura .zslm-writing-v3-mini-checks>div.is-good b{background:#E4F4EA;color:#226A42;}
.zsl-matura .zslm-writing-v3-mini-checks>div.is-missing b{background:#FFF2D6;color:#765100;}
.zsl-matura .zslm-writing-v3-mini-fix,.zsl-matura .zslm-writing-v3-mini-ok{margin:10px 0 0;padding:9px 11px;border-radius:9px;line-height:1.5;}
.zsl-matura .zslm-writing-v3-mini-fix{background:#FFF7E5;}.zsl-matura .zslm-writing-v3-mini-ok{background:#EAF7EF;}
.zsl-matura .zslm-mock-v2-writing-coach{margin-top:12px;}

.zsl-matura .zslm-oral-v3-phrase-coach,.zsl-matura .zslm-oral-v3-self-review{margin-top:16px;padding:16px;border:1px solid var(--zslm-border);border-radius:14px;background:#F8FBFC;}
.zsl-matura .zslm-oral-v3-phrase-coach h5,.zsl-matura .zslm-oral-v3-self-review h5{margin:4px 0 12px;color:var(--zslm-navy);font-size:1rem;}
.zsl-matura .zslm-oral-v3-phrase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.zsl-matura .zslm-oral-v3-phrase-grid article{padding:11px 12px;border-radius:10px;background:#fff;border:1px solid #E3EAED;}
.zsl-matura .zslm-oral-v3-phrase-grid strong{display:block;color:var(--zslm-teal);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;}
.zsl-matura .zslm-oral-v3-phrase-grid p{margin:6px 0 0;line-height:1.48;color:var(--zslm-navy);font-weight:650;}
.zsl-matura .zslm-oral-v3-rescue{margin-top:10px;background:#fff;border-radius:10px;padding:10px 12px;}
.zsl-matura .zslm-oral-v3-rescue summary{cursor:pointer;color:var(--zslm-teal);font-weight:800;}
.zsl-matura .zslm-oral-v3-self-checks{display:grid;gap:8px;}
.zsl-matura .zslm-oral-v3-self-result{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#FFF9EC;line-height:1.5;font-weight:700;color:var(--zslm-navy);}

@media (max-width:900px){
  .zsl-matura .zslm-writing-v3-triage{grid-template-columns:1fr;}
  .zsl-matura .zslm-writing-v3-layer-grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .zsl-matura .zslm-writing-v3-paragraph-grid,.zsl-matura .zslm-oral-v3-phrase-grid{grid-template-columns:1fr;}
  .zsl-matura .zslm-writing-v3-summary,.zsl-matura .zslm-writing-v3-repair,.zsl-matura .zslm-oral-v3-phrase-coach,.zsl-matura .zslm-oral-v3-self-review{padding:14px;}
}

/* v0.56 — Graphic Explain Mode + Friendly Learning Layer
   Lekkie SVG są osadzane przez JS; brak fontów ikon i dodatkowych requestów. */
.zsl-matura{
  --zslm-soft-teal:#EEF8F9;
  --zslm-soft-navy-2:#F0F5F8;
  --zslm-soft-warm:#FFF8E5;
  --zslm-soft-violet:#F5F2FB;
  --zslm-violet:#655A8A;
}
.zsl-matura .zslm-module-glyph{
  display:inline-grid;place-items:center;flex:0 0 auto;
  width:44px;height:44px;border:1px solid rgba(8,43,73,.10);border-radius:14px;
  background:var(--zslm-soft-teal);color:var(--zslm-teal);
  box-shadow:0 5px 16px rgba(8,43,73,.045);
}
.zsl-matura .zslm-module-glyph svg{display:block;width:23px;height:23px;overflow:visible;}
.zsl-matura .zslm-module-glyph.is-review{background:var(--zslm-soft-warm);color:#8A6900;}
.zsl-matura .zslm-module-glyph.is-check{background:#EFF8F3;color:var(--zslm-success);}
.zsl-matura .zslm-module-glyph.is-library,.zsl-matura .zslm-module-glyph.is-cke{background:var(--zslm-soft-navy-2);color:var(--zslm-navy);}
.zsl-matura .zslm-module-glyph.is-writing,.zsl-matura .zslm-module-glyph.is-argument{background:var(--zslm-soft-warm);color:#8A6200;}
.zsl-matura .zslm-module-glyph.is-oral{background:var(--zslm-soft-violet);color:var(--zslm-violet);}
.zsl-matura .zslm-module-glyph.is-visual{background:#EEF7FB;color:#1D6884;}
.zsl-matura .zslm-module-glyph.is-synthesis{background:#F1F8F5;color:#2C725A;}
.zsl-matura .zslm-module-glyph.is-repair{background:#FFF4F0;color:#9A4D3D;}

/* Start: ikona ma wspierać rozpoznanie drogi, ale tekst pozostaje główną etykietą. */
.zsl-matura .zslm-home-main-card{
  grid-template-columns:44px minmax(0,1fr) 34px;
  grid-template-areas:"icon meta meta" "icon title arrow" "icon desc arrow";
  column-gap:12px;
  background:linear-gradient(150deg,#fff 0%,#fff 72%,rgba(20,123,137,.025) 100%);
  box-shadow:0 4px 16px rgba(6,30,52,.028);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.zsl-matura .zslm-home-main-card:hover,.zsl-matura .zslm-home-main-card:focus-visible{box-shadow:0 9px 24px rgba(6,30,52,.07);transform:translateY(-1px);}
.zsl-matura .zslm-home-main-card-icon{grid-area:icon;align-self:start;}
.zsl-matura .zslm-home-v042-hub{background:linear-gradient(180deg,#fff,#FCFEFE);}

/* Hub nauki — duże drogi dostają jeden rozpoznawalny znak. */
.zsl-matura .zslm-learn-hub-card{
  grid-template-columns:52px minmax(0,1fr);
  grid-template-areas:"icon meta" "title title" "desc desc" "cta cta";
  background:linear-gradient(145deg,#fff 0%,#fff 74%,rgba(20,123,137,.035) 100%);
  box-shadow:0 4px 15px rgba(6,30,52,.025);
}
.zsl-matura .zslm-learn-hub-icon{grid-area:icon;width:48px;height:48px;align-self:start;}
.zsl-matura .zslm-learn-hub-card .zslm-mini-chip{align-self:center;justify-self:start;}
.zsl-matura .zslm-learn-hub-card:hover,.zsl-matura .zslm-learn-hub-card:focus-visible{box-shadow:0 9px 22px rgba(6,30,52,.065);transform:translateY(-1px);}

/* Biblioteka — ikonę oddzielamy od tekstu, żeby skanowanie listy było szybsze. */
.zsl-matura .zslm-home-link-card{
  grid-template-columns:44px minmax(0,1fr) 36px !important;
  grid-template-areas:"icon title arrow" "icon desc arrow" !important;
  gap:6px 12px !important;
}
.zsl-matura .zslm-home-link-card > .zslm-library-card-icon{grid-area:icon !important;grid-column:auto !important;grid-row:auto !important;align-self:start;width:40px;height:40px;}
.zsl-matura .zslm-home-link-card > strong{grid-area:title;}
.zsl-matura .zslm-home-link-card > span:not(.zslm-module-glyph){grid-area:desc;grid-column:auto !important;}
.zsl-matura .zslm-home-link-card > b{grid-area:arrow !important;grid-column:auto !important;grid-row:auto !important;}

/* Karty Sprawdzam się. */
.zsl-matura .zslm-path-card-icon{width:44px;height:44px;margin:0 0 13px;}
.zsl-matura .zslm-check-grid .zslm-path-card{background:linear-gradient(150deg,#fff,#fff 76%,rgba(20,123,137,.025));box-shadow:0 4px 14px rgba(6,30,52,.026);}

/* Wspólna mikroinfografika: numer + krótka decyzja. */
.zsl-matura .zslm-microguide{
  min-width:0;margin:4px 0 18px;padding:18px 19px 19px;
  border:1px solid rgba(20,123,137,.22);border-radius:17px;
  background:linear-gradient(135deg,#F8FCFD 0%,#fff 72%);
  box-shadow:0 4px 16px rgba(6,30,52,.025);
}
.zsl-matura .zslm-microguide.is-warm{border-color:rgba(240,180,0,.30);background:linear-gradient(135deg,#FFFDF6,#fff 74%);}
.zsl-matura .zslm-microguide.is-oral{border-color:rgba(101,90,138,.22);background:linear-gradient(135deg,#FAF8FD,#fff 74%);}
.zsl-matura .zslm-microguide.is-visual{border-color:rgba(29,104,132,.22);background:linear-gradient(135deg,#F6FBFD,#fff 74%);}
.zsl-matura .zslm-microguide.is-repair{border-color:rgba(158,59,52,.20);background:linear-gradient(135deg,#FFF9F7,#fff 74%);}
.zsl-matura .zslm-microguide-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:15px;}
.zsl-matura .zslm-microguide-head .zslm-module-glyph{width:42px;height:42px;box-shadow:none;}
.zsl-matura .zslm-microguide-head h4{margin:2px 0 3px;color:var(--zslm-navy);font-size:1.08rem;line-height:1.35;}
.zsl-matura .zslm-microguide-head p{margin:0;color:var(--zslm-muted);font-size:.88rem;line-height:1.52;max-width:82ch;}
.zsl-matura .zslm-microguide-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:none;}
.zsl-matura .zslm-microguide-step{
  position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;
  min-width:0;padding:12px 12px;border:1px solid rgba(8,43,73,.09);border-radius:12px;background:rgba(255,255,255,.88);
}
.zsl-matura .zslm-microguide-step:not(:last-child)::after{content:'→';position:absolute;right:-9px;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--zslm-teal);font-weight:900;font-size:.78rem;box-shadow:0 0 0 1px rgba(20,123,137,.14);}
.zsl-matura .zslm-microguide-no{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--zslm-navy);color:#fff;font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-microguide-copy{display:block;min-width:0;}
.zsl-matura .zslm-microguide-copy strong{display:block;color:var(--zslm-navy);font-size:.86rem;line-height:1.35;}
.zsl-matura .zslm-microguide-copy small{display:block;margin-top:3px;color:var(--zslm-muted);font-size:.77rem;line-height:1.42;}
.zsl-matura .zslm-microguide.is-warm .zslm-microguide-no{background:#8A6200;}
.zsl-matura .zslm-microguide.is-oral .zslm-microguide-no{background:var(--zslm-violet);}
.zsl-matura .zslm-microguide.is-visual .zslm-microguide-no{background:#1D6884;}
.zsl-matura .zslm-microguide.is-repair .zslm-microguide-no{background:#8E473A;}

/* Materiały wizualne: lżejszy nagłówek katalogu. */
.zsl-matura .zslm-visual-catalog-intro{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"icon title" "icon desc";gap:3px 12px;align-items:start;}
.zsl-matura .zslm-visual-catalog-intro > .zslm-visual-intro-icon{grid-area:icon;width:40px;height:40px;}
.zsl-matura .zslm-visual-catalog-intro > strong{grid-area:title;}
.zsl-matura .zslm-visual-catalog-intro > p{grid-area:desc;margin:2px 0 0;}

/* Friendly layer: subtelny rytm, bez infantylizacji. */
.zsl-matura .zslm-home-v042-hero,.zsl-matura .zslm-learn-hub-hero,.zsl-matura .zslm-oral-hero{
  background-image:radial-gradient(circle at 92% 14%,rgba(60,158,172,.10) 0 42px,transparent 43px),linear-gradient(135deg,#fff 0%,#F7FBFC 100%);
}
.zsl-matura .zslm-writing-v2-intro{background-image:radial-gradient(circle at 94% 18%,rgba(240,180,0,.10) 0 36px,transparent 37px);}

@media(max-width:900px){
  .zsl-matura .zslm-microguide-flow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zsl-matura .zslm-microguide-step:nth-child(2)::after{display:none;}
}
@media(max-width:600px){
  .zsl-matura .zslm-home-main-card{grid-template-columns:38px minmax(0,1fr) 30px;grid-template-areas:"icon meta meta" "icon title arrow" "desc desc arrow";column-gap:10px;}
  .zsl-matura .zslm-home-main-card-icon{width:38px;height:38px;}
  .zsl-matura .zslm-learn-hub-card{grid-template-columns:44px minmax(0,1fr);}
  .zsl-matura .zslm-learn-hub-icon{width:42px;height:42px;}
  .zsl-matura .zslm-home-link-card{grid-template-columns:38px minmax(0,1fr) 30px !important;gap:5px 10px !important;}
  .zsl-matura .zslm-home-link-card > .zslm-library-card-icon{width:36px;height:36px;}
  .zsl-matura .zslm-microguide{padding:15px 14px;margin-bottom:14px;}
  .zsl-matura .zslm-microguide-head{grid-template-columns:38px minmax(0,1fr);gap:10px;margin-bottom:12px;}
  .zsl-matura .zslm-microguide-head .zslm-module-glyph{width:36px;height:36px;border-radius:11px;}
  .zsl-matura .zslm-microguide-head .zslm-module-glyph svg{width:20px;height:20px;}
  .zsl-matura .zslm-microguide-flow{grid-template-columns:1fr;gap:7px;}
  .zsl-matura .zslm-microguide-step:not(:last-child)::after{display:none;}
  .zsl-matura .zslm-microguide-step{padding:10px 11px;}
}
@media(prefers-reduced-motion:reduce){
  .zsl-matura .zslm-home-main-card,.zsl-matura .zslm-learn-hub-card{transition:none!important;transform:none!important;}
}


/* ==========================================================================
   v0.56.0-alpha.2 — hotfix po realnym Deep Diagnostics 0.56 alpha.1
   ========================================================================== */
/* Pisanie: alpha.1 miała historyczny globalny override 44x44, który po
   desktopowej regule z etykietami ponownie zwężał przyciski kroków. */
@media (min-width:768px){
  .zsl-matura button.zslm-writing-v2-stepbtn{
    flex:1 1 auto !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
  }
}
@media (max-width:767px){
  .zsl-matura button.zslm-writing-v2-stepbtn{
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:4px !important;
  }
}
/* Próby/CKE: boczny rail ma ok. 176 px treści. Cztery cele po 44 px + gap
   nie mieszczą się fizycznie, więc desktop rail używa trzech kolumn. */
@media (min-width:961px){
  .zsl-matura .zslm-mock-v2-rail .zslm-mock-v2-task-grid{
    grid-template-columns:repeat(3,minmax(44px,1fr)) !important;
  }
}
/* Sieć maturzysty: projektowe minimum celu dotykowego to 44 px. */
.zsl-matura button.zslm-network-more{min-height:44px !important;}


/* ==========================================================================
   v0.56.0-alpha.3 — layout integrity hotfix + Deep Diagnostics v10
   ========================================================================== */
/* 0.56 dodało named grid areas, ale pomocnicze grid-column/grid-row:auto
   kasowały pozycję wynikającą z grid-area. Ustawiamy miejsca jednoznacznie. */
.zsl-matura .zslm-home-main-card > .zslm-home-main-card-icon{
  grid-area:icon !important;
  grid-column:1 !important;
  grid-row:1 / span 3 !important;
  align-self:start;
}
.zsl-matura .zslm-home-main-card > span:not(.zslm-home-main-card-meta):not(.zslm-module-glyph){
  grid-area:desc !important;
  grid-column:2 !important;
  grid-row:3 !important;
  min-width:0 !important;
}
.zsl-matura .zslm-home-main-card > .zslm-home-main-card-meta{
  grid-area:meta !important;
  grid-column:2 / 4 !important;
  grid-row:1 !important;
  min-width:0 !important;
}
.zsl-matura .zslm-home-main-card > strong{
  grid-area:title !important;
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0 !important;
}
.zsl-matura .zslm-home-main-card > b{
  grid-area:arrow !important;
  grid-column:3 !important;
  grid-row:2 / span 2 !important;
}

.zsl-matura .zslm-home-link-card > .zslm-library-card-icon{
  grid-area:icon !important;
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  align-self:start;
}
.zsl-matura .zslm-home-link-card > strong{
  grid-area:title !important;
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
}
.zsl-matura .zslm-home-link-card > span:not(.zslm-module-glyph){
  grid-area:desc !important;
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0 !important;
  width:auto !important;
}
.zsl-matura .zslm-home-link-card > b{
  grid-area:arrow !important;
  grid-column:3 !important;
  grid-row:1 / span 2 !important;
}
@media(max-width:600px){
  .zsl-matura .zslm-home-main-card > .zslm-home-main-card-icon{grid-row:1 / span 2 !important;}
  .zsl-matura .zslm-home-main-card > span:not(.zslm-home-main-card-meta):not(.zslm-module-glyph){
    grid-column:1 / 3 !important;
    grid-row:3 !important;
  }
}

/* ==========================================================================
   v0.56.0-alpha.5 — Oficjalne arkusze CKE: semantyczna typografia źródeł
   ========================================================================== */
.zsl-matura .zslm-mock-v2-source-intro{
  margin:0 0 8px!important;
  color:var(--zslm-navy,#082b49)!important;
  font-weight:700;
}
.zsl-matura .zslm-mock-v2-source-head{
  display:grid;
  gap:2px;
  margin:2px 0 9px;
  color:var(--zslm-navy,#082b49);
}
.zsl-matura .zslm-mock-v2-source-head>span{
  font-size:.9rem;
  font-weight:650;
}
.zsl-matura .zslm-mock-v2-source-head>strong{
  font-size:1rem;
  line-height:1.35;
}
.zsl-matura .zslm-mock-v2-literary-lines{
  display:grid;
  gap:2px;
  margin:2px 0;
  min-width:0;
  color:#344f63;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.96rem;
  line-height:1.52;
}
.zsl-matura .zslm-mock-v2-literary-lines>span{
  display:block;
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
}
.zsl-matura .zslm-mock-v2-source-cite{
  display:block;
  margin-top:2px;
  color:#667b8b;
  font-size:.82rem;
  line-height:1.45;
  font-style:normal;
}
.zsl-matura .zslm-mock-v2-footnotes{
  margin:2px 0 0!important;
  padding-left:1.55rem!important;
  color:#607686;
  font-size:.82rem;
  line-height:1.45;
}
.zsl-matura .zslm-mock-v2-footnotes li+li{margin-top:4px;}
.zsl-matura .zslm-mock-v2-match-row>span{
  min-width:0;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.zsl-matura .zslm-mock-v2-option>span:last-child{
  white-space:pre-line;
  overflow-wrap:anywhere;
}
@media(max-width:600px){
  .zsl-matura .zslm-mock-v2-literary-lines{font-size:.93rem;line-height:1.48;}
}


/* ==========================================================================
   v0.56.0-alpha.6 — hotfix po pełnym Deep Diagnostics 0.56 alpha.5
   ========================================================================== */
/* Przy skalowaniu/zoomie visual viewport może mieć ułamkową szerokość między
   767 i 768 px. Stare pary max-width:767 / min-width:768 tworzyły wtedy
   martwą strefę: przycisk zachowywał 44 px, ale etykieta pozostawała widoczna.
   Zakres mobilny domykamy do 767.98 px i ustawiamy kompletny stan komponentu. */
@media (max-width:767.98px){
  .zsl-matura .zslm-writing-v2-stepnav{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:10px 12px 9px !important;
  }
  .zsl-matura button.zslm-writing-v2-stepbtn{
    display:inline-grid !important;
    grid-template-columns:1fr !important;
    place-items:center !important;
    gap:0 !important;
    flex:0 0 44px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:4px !important;
    border-radius:999px !important;
    overflow:hidden !important;
  }
  .zsl-matura button.zslm-writing-v2-stepbtn b{
    width:30px !important;
    height:30px !important;
  }
  .zsl-matura button.zslm-writing-v2-stepbtn span{
    display:none !important;
  }
}

/* Kontrolki odpowiedzi P/F/A–E: minimum dotykowe musi dotyczyć obu osi.
   Alpha.5 gwarantowała wysokość 44 px, ale krótka litera F mogła dawać
   rzeczywistą szerokość ~43.3 px. */
.zsl-matura button.zslm-mock-v2-choice{
  min-width:44px !important;
  min-height:44px !important;
  min-inline-size:44px !important;
  min-block-size:44px !important;
}

/* ============================================================
   v0.57.0-alpha.1 — Pisanie 3.0 / Writing Engine 3.0
   ============================================================ */
.zsl-matura .zslm-writing-v3-workspace{min-width:0;max-width:1180px;margin:0 auto;}
.zsl-matura .zslm-writing-v3-workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;margin-bottom:16px;}
.zsl-matura .zslm-writing-v3-workspace-head h3{margin:.25rem 0 .35rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-workspace-head p{margin:0;max-width:760px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v3-head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;}
.zsl-matura .zslm-writing-v3-head-actions .zslm-button.is-active{background:var(--zslm-navy,#082b49);border-color:var(--zslm-navy,#082b49);color:#fff;}
.zsl-matura .zslm-writing-v3-save-status{min-height:36px;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef7f8;color:#176873;font-size:.82rem;font-weight:700;}
.zsl-matura .zslm-writing-v3-save-status.is-error{background:#fff2f0;color:#8a3428;}
.zsl-matura .zslm-writing-v3-topic{margin:0 0 14px;}
.zsl-matura .zslm-writing-v3-steps{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:2px 2px 10px;margin:12px 0 0;}
.zsl-matura .zslm-writing-v3-step{flex:0 0 auto;min-height:44px;padding:9px 13px;border:1px solid var(--zslm-border,#dce6ec);border-radius:11px;background:#fff;color:var(--zslm-navy,#082b49);font:inherit;font-size:.9rem;font-weight:750;cursor:pointer;white-space:nowrap;}
.zsl-matura .zslm-writing-v3-step.is-active{border-color:var(--zslm-teal,#147b89);background:#eef8f9;box-shadow:inset 0 0 0 1px rgba(20,123,137,.08);}
.zsl-matura .zslm-writing-v3-step.is-done::before{content:'✓ ';color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-writing-v3-progress{height:6px;background:#e8eff3;border-radius:999px;overflow:hidden;margin:0 0 18px;}
.zsl-matura .zslm-writing-v3-progress>span{display:block;height:100%;width:12.5%;background:var(--zslm-teal,#147b89);transition:width .18s ease;}
.zsl-matura .zslm-writing-v3-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start;min-width:0;}
.zsl-matura .zslm-writing-v3-stage{min-width:0;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:#fff;padding:24px;box-shadow:0 8px 26px rgba(8,43,73,.035);}
.zsl-matura .zslm-writing-v3-stage-head{margin-bottom:18px;}
.zsl-matura .zslm-writing-v3-stage-head h4{margin:.2rem 0 .45rem;font-size:1.35rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-stage-head p{margin:0;color:var(--zslm-muted,#5e7181);max-width:780px;}
.zsl-matura .zslm-writing-v3-field{display:block;margin:0 0 16px;min-width:0;}
.zsl-matura .zslm-writing-v3-field>span{display:block;margin:0 0 7px;font-weight:800;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-field textarea,.zsl-matura .zslm-writing-v3-field input{display:block;width:100%;max-width:100%;min-width:0;padding:13px 14px;border:1px solid #cbd9e0;border-radius:11px;background:#fff;color:var(--zslm-text,#17324a);font:inherit;line-height:1.55;resize:vertical;box-sizing:border-box;}
.zsl-matura .zslm-writing-v3-field textarea:focus,.zsl-matura .zslm-writing-v3-field input:focus,.zsl-matura .zslm-writing-v3-editor:focus{outline:3px solid rgba(20,123,137,.14);border-color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-writing-v3-field small{display:block;margin-top:6px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v3-topic-quote,.zsl-matura .zslm-writing-v3-echo{margin:0 0 18px;padding:14px 16px;border-left:4px solid var(--zslm-teal,#147b89);border-radius:0 11px 11px 0;background:#f4f9fa;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-echo strong{display:block;margin-bottom:4px;}.zsl-matura .zslm-writing-v3-echo p{margin:0;}
.zsl-matura .zslm-writing-v3-context-card{margin:0 0 14px;padding:17px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#f9fbfc;}
.zsl-matura .zslm-writing-v3-context-card h5{margin:0 0 12px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-plan-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;}
.zsl-matura .zslm-writing-v3-plan-overview>h5{grid-column:1/-1;margin:0;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-plan-card{min-width:0;padding:12px;border:1px solid var(--zslm-border,#dce6ec);border-radius:11px;background:#fff;}
.zsl-matura .zslm-writing-v3-plan-card strong{display:block;margin-bottom:4px;color:var(--zslm-navy,#082b49);font-size:.88rem;}.zsl-matura .zslm-writing-v3-plan-card p{margin:0;color:var(--zslm-muted,#5e7181);font-size:.9rem;overflow-wrap:anywhere;}
.zsl-matura .zslm-writing-v3-plan-side{position:sticky;top:108px;min-width:0;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#f8fbfc;max-height:calc(100vh - 130px);overflow:auto;}
.zsl-matura .zslm-writing-v3-plan-side h4{margin:.2rem 0 10px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-writing-v3-plan-progress{height:7px;border-radius:999px;background:#e4ecef;overflow:hidden;margin-bottom:14px;}.zsl-matura .zslm-writing-v3-plan-progress span{display:block;height:100%;background:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-writing-v3-plan-mini{display:grid;gap:8px;}.zsl-matura .zslm-writing-v3-plan-mini .zslm-writing-v3-plan-card{padding:10px;background:#fff;}
.zsl-matura .zslm-writing-v3-coverage,.zsl-matura .zslm-writing-v3-versions{display:grid;gap:7px;margin-top:16px;padding-top:15px;border-top:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-writing-v3-coverage>small,.zsl-matura .zslm-writing-v3-versions>small{color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v3-coverage>div,.zsl-matura .zslm-writing-v3-draft-coverage>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 7px;align-items:center;padding:8px 0;}.zsl-matura .zslm-writing-v3-coverage>div small,.zsl-matura .zslm-writing-v3-draft-coverage>div small{grid-column:2;color:var(--zslm-muted,#5e7181);}.zsl-matura .zslm-writing-v3-coverage .is-found b,.zsl-matura .zslm-writing-v3-draft-coverage .is-found b{color:#17734c}.zsl-matura .zslm-writing-v3-coverage .is-missing b,.zsl-matura .zslm-writing-v3-draft-coverage .is-missing b{color:#9a5c00}
.zsl-matura .zslm-writing-v3-version{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #e7edf0;}.zsl-matura .zslm-writing-v3-version:last-child{border-bottom:0}.zsl-matura .zslm-writing-v3-version span{min-width:0}.zsl-matura .zslm-writing-v3-version b,.zsl-matura .zslm-writing-v3-version small{display:block}.zsl-matura .zslm-writing-v3-version small{color:var(--zslm-muted,#5e7181);font-size:.78rem;}
.zsl-matura .zslm-writing-v3-side-actions{display:grid;gap:8px;margin-top:16px;}
.zsl-matura .zslm-writing-v3-editor-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;}.zsl-matura .zslm-writing-v3-editor-stats{margin-right:auto;font-weight:800;color:var(--zslm-muted,#5e7181);}.zsl-matura .zslm-writing-v3-editor-stats.is-good{color:#17734c;}
.zsl-matura .zslm-writing-v3-editor{display:block;width:100%;min-width:0;min-height:560px;padding:20px;border:1px solid #cbd9e0;border-radius:13px;background:#fff;color:var(--zslm-text,#17324a);font:inherit;font-size:1.03rem;line-height:1.75;resize:vertical;box-sizing:border-box;}
.zsl-matura .zslm-writing-v3-draft-coverage{margin-top:18px;padding:17px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fbfcfd;}.zsl-matura .zslm-writing-v3-draft-coverage h5{margin:.2rem 0 .35rem;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-writing-v3-draft-coverage>p{margin:0 0 8px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v3-final-summary{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:16px;padding:14px 16px;border-radius:13px;background:#f4f9fa;border:1px solid rgba(20,123,137,.16);}.zsl-matura .zslm-writing-v3-final-summary strong{font-size:1.15rem;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-writing-v3-final-summary span{color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v3-self-review{display:grid;gap:8px;margin-bottom:18px;}.zsl-matura .zslm-writing-v3-review-actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0;}
.zsl-matura .zslm-writing-v3-footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px;}
.zsl-matura .zslm-writing-v3-workspace.is-focus{position:fixed;inset:0;z-index:999999;max-width:none;margin:0;padding:18px clamp(16px,4vw,64px);background:#f6f9fa;overflow:auto;}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-topic,.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-steps,.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-progress,.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-plan-side,.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-footer{display:none;}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-shell{grid-template-columns:minmax(0,900px);justify-content:center;}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-stage{min-height:calc(100vh - 120px);}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-editor{min-height:calc(100vh - 260px);}
@media (max-width:1024px){.zsl-matura .zslm-writing-v3-shell{grid-template-columns:minmax(0,1fr) 270px;gap:14px}.zsl-matura .zslm-writing-v3-workspace-head{grid-template-columns:1fr}.zsl-matura .zslm-writing-v3-head-actions{justify-content:flex-start}.zsl-matura .zslm-writing-v3-plan-side{top:90px}}
@media (max-width:820px){.zsl-matura .zslm-writing-v3-shell{grid-template-columns:1fr}.zsl-matura .zslm-writing-v3-plan-side{position:static;max-height:none;}.zsl-matura .zslm-writing-v3-plan-mini{grid-template-columns:repeat(2,minmax(0,1fr));}.zsl-matura .zslm-writing-v3-plan-overview{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.zsl-matura .zslm-writing-v3-workspace-head{gap:12px}.zsl-matura .zslm-writing-v3-head-actions{display:grid;grid-template-columns:1fr 1fr}.zsl-matura .zslm-writing-v3-head-actions .zslm-writing-v3-save-status{grid-column:1/-1}.zsl-matura .zslm-writing-v3-head-actions>.zslm-button:last-child{grid-column:1/-1}.zsl-matura .zslm-writing-v3-step{min-width:44px;min-height:44px;padding:9px 11px}.zsl-matura .zslm-writing-v3-stage{padding:17px;border-radius:14px}.zsl-matura .zslm-writing-v3-plan-mini,.zsl-matura .zslm-writing-v3-plan-overview{grid-template-columns:1fr}.zsl-matura .zslm-writing-v3-editor{min-height:430px;padding:15px;font-size:1rem}.zsl-matura .zslm-writing-v3-editor-tools,.zsl-matura .zslm-writing-v3-review-actions,.zsl-matura .zslm-writing-v3-footer{display:grid;grid-template-columns:1fr}.zsl-matura .zslm-writing-v3-editor-stats{margin:0}.zsl-matura .zslm-writing-v3-footer .zslm-button{width:100%}.zsl-matura .zslm-writing-v3-workspace.is-focus{padding:10px}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-workspace-head p{display:none}.zsl-matura .zslm-writing-v3-workspace.is-focus .zslm-writing-v3-editor{min-height:calc(100vh - 250px)}}
@media (prefers-reduced-motion:reduce){.zsl-matura .zslm-writing-v3-progress>span{transition:none}}

/* ============================================================
   v0.58 — Pisanie 3.1: redakcja wersja po wersji
   ============================================================ */
.zsl-matura .zslm-writing-v31-revision{margin:0 0 18px;padding:18px;border:1px solid rgba(20,123,137,.28);border-radius:16px;background:linear-gradient(135deg,#f7fbfc 0%,#fff 75%);min-width:0;}
.zsl-matura .zslm-writing-v31-revision-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:13px;}.zsl-matura .zslm-writing-v31-revision-head h5{margin:.2rem 0 .35rem;color:var(--zslm-navy,#082b49);font-size:1.08rem;}.zsl-matura .zslm-writing-v31-revision-head p{margin:0;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v31-repair-queue{display:grid;gap:10px;}.zsl-matura .zslm-writing-v31-repair-item{min-width:0;padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:13px;background:#fff;}.zsl-matura .zslm-writing-v31-repair-item.is-done{background:#f6fbf8;border-color:rgba(23,115,76,.22);}.zsl-matura .zslm-writing-v31-repair-item.is-done>p{opacity:.76;}.zsl-matura .zslm-writing-v31-repair-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:8px;}.zsl-matura .zslm-writing-v31-repair-top strong{min-width:0;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-writing-v31-repair-item>p{margin:.35rem 0;}.zsl-matura .zslm-writing-v31-repair-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}.zsl-matura .zslm-writing-v31-repair-progress{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid var(--zslm-border,#dce6ec);}.zsl-matura .zslm-writing-v31-repair-progress span{color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v31-recheck{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 18px;}.zsl-matura .zslm-writing-v31-diagnosis-history,.zsl-matura .zslm-writing-v31-version-compare{margin:14px 0;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;overflow:clip;}.zsl-matura .zslm-writing-v31-diagnosis-history>summary,.zsl-matura .zslm-writing-v31-version-compare>summary{min-height:44px;padding:12px 14px;font-weight:800;color:var(--zslm-navy,#082b49);cursor:pointer;display:flex;align-items:center;}.zsl-matura .zslm-writing-v31-diagnosis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 14px;}.zsl-matura .zslm-writing-v31-diagnosis-grid article{min-width:0;padding:12px;border-radius:11px;background:#f7fafb;}.zsl-matura .zslm-writing-v31-diagnosis-grid strong,.zsl-matura .zslm-writing-v31-diagnosis-grid span,.zsl-matura .zslm-writing-v31-diagnosis-grid small{display:block;}.zsl-matura .zslm-writing-v31-diagnosis-grid small{margin-top:4px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-writing-v31-diff-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 14px 12px;}.zsl-matura .zslm-writing-v31-diff-stats>div{min-width:0;padding:10px;border-radius:10px;background:#f7fafb;text-align:center;}.zsl-matura .zslm-writing-v31-diff-stats strong,.zsl-matura .zslm-writing-v31-diff-stats span{display:block;}.zsl-matura .zslm-writing-v31-diff-stats span{font-size:.78rem;color:var(--zslm-muted,#5e7181);}.zsl-matura .zslm-writing-v31-diff-rows{display:grid;gap:9px;padding:0 14px 14px;}.zsl-matura .zslm-writing-v31-diff-rows article{min-width:0;padding:12px;border:1px solid var(--zslm-border,#dce6ec);border-radius:11px;}.zsl-matura .zslm-writing-v31-diff-rows article.is-added{border-left:4px solid #17734c;}.zsl-matura .zslm-writing-v31-diff-rows article.is-removed{border-left:4px solid #9e3b36;}.zsl-matura .zslm-writing-v31-diff-rows article.is-changed{border-left:4px solid var(--zslm-yellow,#f0b400);}.zsl-matura .zslm-writing-v31-diff-rows p{margin:.45rem 0 0;overflow-wrap:anywhere;}.zsl-matura .zslm-writing-v31-before{color:#76504d;}.zsl-matura .zslm-writing-v31-after{color:#315f4d;}.zsl-matura .zslm-writing-v31-go-repair{margin-top:12px;}
@media (max-width:700px){.zsl-matura .zslm-writing-v31-revision{padding:14px}.zsl-matura .zslm-writing-v31-repair-top{grid-template-columns:auto minmax(0,1fr)}.zsl-matura .zslm-writing-v31-repair-top .zslm-mini-chip{grid-column:2}.zsl-matura .zslm-writing-v31-diagnosis-grid{grid-template-columns:1fr}.zsl-matura .zslm-writing-v31-diff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.zsl-matura .zslm-writing-v31-recheck,.zsl-matura .zslm-writing-v31-repair-actions{display:grid;grid-template-columns:1fr}.zsl-matura .zslm-writing-v31-recheck .zslm-button,.zsl-matura .zslm-writing-v31-repair-actions .zslm-text-button{width:100%;min-height:44px}}

/* ============================================================
   v0.59 — Próby maturalne 3.0 / Exam Engine 3.0
   ============================================================ */
.zsl-matura .zslm-mock-v3-mode.is-training,
.zsl-matura .zslm-mock-v3-rail .zslm-mini-chip.is-training{background:#fff7da;border-color:#e6c65d;color:#6c5200;}
.zsl-matura .zslm-mock-v2-timer.is-training{background:#147b89;border-color:#147b89;}
.zsl-matura .zslm-mock-v3-rail-stats{display:grid;grid-template-columns:1fr auto;gap:8px;margin:4px 0 2px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid var(--zslm-border,#dce6ec);font-size:.76rem;font-weight:800;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v2-task-dot.is-visited:not(.is-answered){background:#f7fafb;border-color:#bbcbd4;color:#415d71;}
.zsl-matura .zslm-mock-v2-task-dot.is-unseen{background:#fff;color:#748797;}
.zsl-matura .zslm-mock-v3-overview-link{appearance:none;width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--zslm-border,#dce6ec);border-radius:10px;background:#fff;color:var(--zslm-navy,#082b49);font:inherit;font-size:.8rem;font-weight:800;text-align:left;cursor:pointer;}
.zsl-matura .zslm-mock-v3-overview-link.is-current{border-color:var(--zslm-teal,#147b89);background:#eef8f8;}
.zsl-matura .zslm-mock-v3-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;padding-top:10px;border-top:1px solid var(--zslm-border,#dce6ec);font-size:.68rem;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-mock-v3-legend span{display:flex;align-items:center;gap:6px;min-width:0;}
.zsl-matura .zslm-mock-v3-legend span::before{content:'';width:9px;height:9px;flex:0 0 9px;border-radius:3px;border:1px solid #b9c9d2;background:#fff;}
.zsl-matura .zslm-mock-v3-legend .is-answered::before{background:#d9f1f2;border-color:#86c3ca;}
.zsl-matura .zslm-mock-v3-legend .is-visited::before{background:#eef2f4;}
.zsl-matura .zslm-mock-v3-legend .is-marked::before{background:#fff1b8;border-color:#d4ae50;}
.zsl-matura .zslm-mock-v3-training-guide{margin:18px 0 0;border:1px solid rgba(240,180,0,.38);border-radius:13px;background:#fffaf0;overflow:clip;}
.zsl-matura .zslm-mock-v3-training-guide>summary{min-height:44px;padding:11px 14px;display:flex;align-items:center;color:#684e00;font-weight:850;cursor:pointer;}
.zsl-matura .zslm-mock-v3-training-list{margin:0;padding:0 18px 0 34px;line-height:1.62;color:var(--zslm-text,#17324a);}
.zsl-matura .zslm-mock-v3-training-note{margin:10px 14px 14px!important;color:var(--zslm-muted,#5e7181)!important;font-size:.82rem;}
.zsl-matura .zslm-mock-v3-map-button{margin-inline:auto!important;}
.zsl-matura .zslm-mock-v3-overview>h4,.zsl-matura .zslm-mock-v3-preflight>h4{margin:.25rem 0 .4rem;color:var(--zslm-navy,#082b49);font-size:clamp(1.3rem,2vw,1.65rem);}
.zsl-matura .zslm-mock-v3-overview-lead{margin:0 0 18px;color:var(--zslm-muted,#5e7181);line-height:1.65;}
.zsl-matura .zslm-mock-v3-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 22px;}
.zsl-matura .zslm-mock-v3-metrics article{padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#f8fbfc;}
.zsl-matura .zslm-mock-v3-metrics strong{display:block;color:var(--zslm-navy,#082b49);font-size:1.25rem;}
.zsl-matura .zslm-mock-v3-metrics span{display:block;margin-top:3px;color:var(--zslm-muted,#5e7181);font-size:.76rem;}
.zsl-matura .zslm-mock-v3-map-group{margin-top:20px;}
.zsl-matura .zslm-mock-v3-map-group h5{margin:0 0 9px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v3-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.zsl-matura .zslm-mock-v3-map-task{appearance:none;display:grid;gap:4px;min-width:0;min-height:86px;padding:12px 13px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#fff;color:var(--zslm-text,#17324a);text-align:left;cursor:pointer;}
.zsl-matura .zslm-mock-v3-map-task strong{color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-mock-v3-map-task span,.zsl-matura .zslm-mock-v3-map-task small{color:var(--zslm-muted,#5e7181);line-height:1.35;}
.zsl-matura .zslm-mock-v3-map-task.is-answered{border-color:#9dcbd1;background:#f3fbfb;}.zsl-matura .zslm-mock-v3-map-task.is-visited{background:#f8fafb;}.zsl-matura .zslm-mock-v3-map-task.is-marked{box-shadow:inset 4px 0 0 #d4ae50;}
.zsl-matura .zslm-mock-v3-essay-status{margin-top:20px;padding:16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:13px;background:#f8fbfc;}.zsl-matura .zslm-mock-v3-essay-status h5{margin:0;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-mock-v3-essay-status p{margin:5px 0 12px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-mock-v3-overview-actions,.zsl-matura .zslm-mock-v3-preflight-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--zslm-border,#dce6ec);}
.zsl-matura .zslm-mock-v3-preflight-list{display:grid;gap:9px;}
.zsl-matura .zslm-mock-v3-preflight-list article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start;padding:13px 14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#fff;}
.zsl-matura .zslm-mock-v3-preflight-list article>b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#eef2f4;color:#5d7180;}.zsl-matura .zslm-mock-v3-preflight-list article.is-ok>b{background:#e6f5ed;color:#17734c;}.zsl-matura .zslm-mock-v3-preflight-list article.is-warning>b{background:#fff2c6;color:#7a5600;}
.zsl-matura .zslm-mock-v3-preflight-list strong,.zsl-matura .zslm-mock-v3-preflight-list span{display:block;}.zsl-matura .zslm-mock-v3-preflight-list span{margin-top:3px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-mock-v3-gap-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding:12px 14px;border-radius:12px;background:#f8fafb;}.zsl-matura .zslm-mock-v3-gap-links>strong{margin-right:4px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v3-essay-plan{margin:0 0 18px;border:1px solid rgba(240,180,0,.36);border-radius:14px;background:#fffaf0;overflow:clip;}.zsl-matura .zslm-mock-v3-essay-plan>summary{min-height:44px;padding:11px 14px;display:flex;align-items:center;font-weight:850;color:#684e00;cursor:pointer;}.zsl-matura .zslm-mock-v3-essay-plan>p{margin:0;padding:0 14px 12px;color:var(--zslm-muted,#5e7181);}.zsl-matura .zslm-mock-v3-essay-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px;}.zsl-matura .zslm-mock-v3-essay-plan-grid label{display:block;}.zsl-matura .zslm-mock-v3-essay-plan-grid label>span{display:block;margin-bottom:5px;font-size:.8rem;font-weight:800;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-mock-v3-essay-plan-grid textarea{display:block;width:100%;min-width:0;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd9e0;border-radius:10px;background:#fff;color:var(--zslm-text,#17324a);font:inherit;line-height:1.5;resize:vertical;}
.zsl-matura .zslm-mock-v3-writing-bridge{margin-top:10px;}
@media(max-width:960px){.zsl-matura .zslm-mock-v3-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.zsl-matura .zslm-mock-v3-legend{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:700px){.zsl-matura .zslm-mock-v3-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.zsl-matura .zslm-mock-v3-map-grid,.zsl-matura .zslm-mock-v3-essay-plan-grid{grid-template-columns:1fr}.zsl-matura .zslm-mock-v3-overview-actions,.zsl-matura .zslm-mock-v3-preflight-actions{display:grid;grid-template-columns:1fr}.zsl-matura .zslm-mock-v3-overview-actions .zslm-button,.zsl-matura .zslm-mock-v3-preflight-actions .zslm-button{width:100%}.zsl-matura .zslm-mock-v3-legend{grid-template-columns:1fr 1fr}.zsl-matura .zslm-mock-v3-map-button{width:100%}}
@media(max-width:420px){.zsl-matura .zslm-mock-v3-metrics{grid-template-columns:1fr 1fr}.zsl-matura .zslm-mock-v3-rail-stats{grid-template-columns:1fr auto}.zsl-matura .zslm-mock-v3-gap-links{display:grid;grid-template-columns:1fr 1fr}.zsl-matura .zslm-mock-v3-gap-links>strong{grid-column:1/-1}}

/* v0.60 — Review Engine 3.0: kalibracja pewności, samoocena i plan naprawczy */
.zsl-matura .zslm-mock-v4-confidence-gate,
.zsl-matura .zslm-mock-v4-review,
.zsl-matura .zslm-mock-v4-summary{max-width:1160px;margin:22px auto 0;min-width:0;}
.zsl-matura .zslm-mock-v4-confidence-list{display:grid;gap:11px;margin:18px 0;}
.zsl-matura .zslm-mock-v4-confidence-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;min-width:0;}
.zsl-matura .zslm-mock-v4-confidence-card>div:first-child{display:grid;gap:6px;min-width:0;}
.zsl-matura .zslm-mock-v4-confidence-card strong{color:var(--zslm-navy,#082b49);line-height:1.45;overflow-wrap:anywhere;}
.zsl-matura .zslm-mock-v4-confidence-choices,.zsl-matura .zslm-mock-v4-cause-grid,.zsl-matura .zslm-mock-v4-self-controls{display:flex;flex-wrap:wrap;gap:7px;min-width:0;}
.zsl-matura .zslm-mock-v4-confidence,.zsl-matura .zslm-mock-v4-cause,.zsl-matura .zslm-mock-v4-self{appearance:none;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #cbd9e0;border-radius:10px;background:#fff;color:var(--zslm-navy,#082b49);font:inherit;font-size:.78rem;font-weight:800;line-height:1.25;cursor:pointer;}
.zsl-matura .zslm-mock-v4-confidence.is-selected,.zsl-matura .zslm-mock-v4-cause.is-selected,.zsl-matura .zslm-mock-v4-self.is-selected{border-color:var(--zslm-teal,#147b89);background:#eef8f8;box-shadow:inset 0 0 0 1px rgba(20,123,137,.18);}
.zsl-matura .zslm-mock-v4-confidence-status{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px 14px;border-radius:12px;background:#f5f8fa;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-mock-v4-confidence-status strong{color:var(--zslm-navy,#082b49);font-size:1.05rem;}
.zsl-matura .zslm-mock-v4-confidence-chip{display:inline-flex;align-items:center;min-height:30px;margin:10px 0 2px;padding:5px 9px;border:1px solid #d4dee3;border-radius:999px;background:#f7fafb;color:#4e6676;font-size:.74rem;font-weight:800;}
.zsl-matura .zslm-mock-v4-confidence-chip.is-sure{border-color:#9dcbd1;background:#eef8f8;color:#0f6572;}
.zsl-matura .zslm-mock-v4-confidence-chip.is-guess{border-color:#e6c65d;background:#fff8df;color:#725400;}
.zsl-matura .zslm-mock-v4-cause-picker,.zsl-matura .zslm-mock-v4-self-assessment,.zsl-matura .zslm-mock-v4-essay-self{margin-top:14px;padding:14px 15px;border:1px solid var(--zslm-border,#dce6ec);border-radius:13px;background:#f8fbfc;}
.zsl-matura .zslm-mock-v4-cause-picker>strong,.zsl-matura .zslm-mock-v4-self-assessment>strong,.zsl-matura .zslm-mock-v4-essay-self>strong{display:block;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v4-cause-picker>p,.zsl-matura .zslm-mock-v4-self-assessment>p,.zsl-matura .zslm-mock-v4-essay-self>p{margin:5px 0 11px;color:var(--zslm-muted,#5e7181);line-height:1.55;}
.zsl-matura .zslm-mock-v4-self-rows{display:grid;gap:8px;}
.zsl-matura .zslm-mock-v4-self-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #dce6ec;border-radius:11px;background:#fff;min-width:0;}
.zsl-matura .zslm-mock-v4-self-row>span,.zsl-matura .zslm-mock-v4-self-row>div:first-child{min-width:0;overflow-wrap:anywhere;}
.zsl-matura .zslm-mock-v4-self-row>div:first-child strong,.zsl-matura .zslm-mock-v4-self-row>div:first-child span{display:block;}.zsl-matura .zslm-mock-v4-self-row>div:first-child span{margin-top:3px;color:var(--zslm-muted,#5e7181);font-size:.8rem;line-height:1.45;}
.zsl-matura .zslm-mock-v4-review-dashboard,.zsl-matura .zslm-mock-v4-section-map,.zsl-matura .zslm-mock-v4-calibration,.zsl-matura .zslm-mock-v4-journal,.zsl-matura .zslm-mock-v4-self-summary,.zsl-matura .zslm-mock-v4-writing-bridge{margin-top:20px;padding:18px;border:1px solid var(--zslm-border,#dce6ec);border-radius:15px;background:#fff;min-width:0;}
.zsl-matura .zslm-mock-v4-review-dashboard>h4,.zsl-matura .zslm-mock-v4-section-map>h4,.zsl-matura .zslm-mock-v4-calibration>h4,.zsl-matura .zslm-mock-v4-journal>h4,.zsl-matura .zslm-mock-v4-self-summary>h4,.zsl-matura .zslm-mock-v4-writing-bridge>h4{margin:4px 0 7px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-mock-v4-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px;}
.zsl-matura .zslm-mock-v4-review-metrics article{padding:13px 14px;border:1px solid #dce6ec;border-radius:11px;background:#f8fbfc;min-width:0;}
.zsl-matura .zslm-mock-v4-review-metrics strong{display:block;color:var(--zslm-navy,#082b49);font-size:1.15rem;}.zsl-matura .zslm-mock-v4-review-metrics span{display:block;margin-top:3px;color:var(--zslm-muted,#5e7181);font-size:.76rem;line-height:1.4;}
.zsl-matura .zslm-mock-v4-calibration-note{margin:12px 0 0;padding:11px 12px;border-left:4px solid var(--zslm-yellow,#f0b400);border-radius:8px;background:#fff9e8;color:#5d4b18;line-height:1.55;}
.zsl-matura .zslm-mock-v4-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.zsl-matura .zslm-mock-v4-section-grid article{padding:14px;border:1px solid #dce6ec;border-radius:12px;background:#f8fbfc;min-width:0;}.zsl-matura .zslm-mock-v4-section-grid strong,.zsl-matura .zslm-mock-v4-section-grid span,.zsl-matura .zslm-mock-v4-section-grid small{display:block;}.zsl-matura .zslm-mock-v4-section-grid span{margin-top:4px;color:var(--zslm-navy,#082b49);font-weight:800;}.zsl-matura .zslm-mock-v4-section-grid small{margin-top:2px;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-mock-v4-mini-bar{height:7px;margin-top:10px;border-radius:999px;background:#e8eef2;overflow:hidden;}.zsl-matura .zslm-mock-v4-mini-bar>span{display:block;height:100%;margin:0;background:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-mock-v4-journal-list{display:grid;gap:9px;margin-top:13px;}.zsl-matura .zslm-mock-v4-journal-list article{padding:13px 14px;border:1px solid #dce6ec;border-radius:11px;background:#f8fbfc;}.zsl-matura .zslm-mock-v4-journal-list strong{display:block;margin-top:5px;color:var(--zslm-navy,#082b49);}.zsl-matura .zslm-mock-v4-journal-list p{margin:5px 0 0;color:var(--zslm-muted,#5e7181);line-height:1.5;}
.zsl-matura .zslm-mock-v4-repair-plan{margin-top:20px;}
@media(max-width:900px){.zsl-matura .zslm-mock-v4-confidence-card{grid-template-columns:1fr}.zsl-matura .zslm-mock-v4-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.zsl-matura .zslm-mock-v4-self-row{grid-template-columns:1fr;align-items:start;}}
@media(max-width:600px){.zsl-matura .zslm-mock-v4-confidence-gate,.zsl-matura .zslm-mock-v4-review,.zsl-matura .zslm-mock-v4-summary{margin-top:14px}.zsl-matura .zslm-mock-v4-review-metrics,.zsl-matura .zslm-mock-v4-section-grid{grid-template-columns:1fr}.zsl-matura .zslm-mock-v4-confidence-choices,.zsl-matura .zslm-mock-v4-self-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.zsl-matura .zslm-mock-v4-cause-grid{display:grid;grid-template-columns:1fr 1fr}.zsl-matura .zslm-mock-v4-confidence,.zsl-matura .zslm-mock-v4-self,.zsl-matura .zslm-mock-v4-cause{width:100%;}.zsl-matura .zslm-mock-v4-confidence-status{align-items:flex-start;}}
@media(max-width:390px){.zsl-matura .zslm-mock-v4-cause-grid{grid-template-columns:1fr}.zsl-matura .zslm-mock-v4-confidence-card,.zsl-matura .zslm-mock-v4-review-dashboard,.zsl-matura .zslm-mock-v4-section-map,.zsl-matura .zslm-mock-v4-calibration,.zsl-matura .zslm-mock-v4-journal,.zsl-matura .zslm-mock-v4-self-summary,.zsl-matura .zslm-mock-v4-writing-bridge{padding:14px}.zsl-matura .zslm-mock-v4-confidence-choices,.zsl-matura .zslm-mock-v4-self-controls{grid-template-columns:1fr}}

/* ========================================================================== 
   ZSŁ Matura 0.61 — oficjalne CKE: doświadczenie 2.0
   ========================================================================== */
.zsl-matura .zslm-cke2-intro{display:grid;gap:18px;min-width:0;max-width:1180px;margin:0 auto;}
.zsl-matura .zslm-cke2-intro-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px;border:1px solid var(--zslm-border,#dce6ec);border-radius:18px;background:linear-gradient(135deg,#f7fbfc 0%,#fff 76%);min-width:0;}
.zsl-matura .zslm-cke2-intro-hero h3{margin:.25rem 0 .35rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke2-symbol{display:block;margin-top:8px;color:var(--zslm-muted,#5e7181);font-size:.9rem;overflow-wrap:anywhere;}
.zsl-matura .zslm-cke2-intro-facts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:340px;}
.zsl-matura .zslm-cke2-intro-facts>span{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid rgba(20,123,137,.18);border-radius:999px;background:#fff;color:var(--zslm-navy,#082b49);font-weight:750;font-size:.88rem;}
.zsl-matura .zslm-cke2-structure,.zsl-matura .zslm-cke2-modes,.zsl-matura .zslm-cke2-integrity,.zsl-matura .zslm-cke2-summary-structure{padding:20px;border:1px solid var(--zslm-border,#dce6ec);border-radius:16px;background:#fff;min-width:0;}
.zsl-matura .zslm-cke2-structure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.zsl-matura .zslm-cke2-structure-grid>article{display:grid;gap:5px;padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#f8fbfc;min-width:0;}
.zsl-matura .zslm-cke2-structure-grid>article strong{color:var(--zslm-navy,#082b49);overflow-wrap:anywhere;}
.zsl-matura .zslm-cke2-structure-grid>article span{color:var(--zslm-teal,#147b89);font-weight:800;}
.zsl-matura .zslm-cke2-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.zsl-matura .zslm-cke2-mode{display:grid;gap:8px;align-content:start;min-height:188px;padding:18px;text-align:left;border:1px solid var(--zslm-border,#dce6ec);border-radius:15px;background:#fff;color:var(--zslm-text,#17324a);cursor:pointer;box-shadow:none;}
.zsl-matura .zslm-cke2-mode:hover,.zsl-matura .zslm-cke2-mode:focus-visible{border-color:rgba(20,123,137,.5);background:#f8fcfd;}
.zsl-matura .zslm-cke2-mode strong{font-size:1.08rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke2-mode p{margin:0;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-cke2-mode b{margin-top:auto;color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-cke2-mode--guided{border-color:rgba(240,180,0,.32);background:linear-gradient(135deg,#fffdf6,#fff);}
.zsl-matura .zslm-cke2-integrity{display:grid;gap:5px;background:#f7fbfc;}
.zsl-matura .zslm-cke2-integrity strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke2-integrity p{margin:0;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-cke2-archive-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px;}
.zsl-matura .zslm-cke2-archive-modes>article{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#f8fbfc;}
.zsl-matura .zslm-cke2-archive-modes strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke2-archive-modes span{color:var(--zslm-muted,#5e7181);font-size:.88rem;}
.zsl-matura .zslm-cke2-session-history{margin-top:4px;color:var(--zslm-teal,#147b89)!important;font-weight:700;}
.zsl-matura .zslm-cke2-excluded{margin:16px 0 0;padding:12px 14px;border-left:4px solid var(--zslm-yellow,#f0b400);border-radius:8px;background:#fff9e8;color:#5f4b00;}
.zsl-matura .zslm-cke2-hero{border-color:rgba(20,123,137,.28);background:linear-gradient(135deg,#f7fbfc 0%,#fff 72%);}
.zsl-matura .zslm-cke2-points{font-weight:850!important;color:var(--zslm-navy,#082b49)!important;background:#eef6f7!important;}
.zsl-matura .zslm-cke2-source-ribbon{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 14px;padding:9px 11px;border:1px solid rgba(20,123,137,.2);border-radius:10px;background:#f7fbfc;color:var(--zslm-muted,#5e7181);font-size:.88rem;}
.zsl-matura .zslm-cke2-source-ribbon .zslm-mini-chip{margin:0;}
.zsl-matura .zslm-cke2-rail>.zslm-panel-eyebrow{color:var(--zslm-teal,#147b89);}
.zsl-matura .zslm-cke2-rail .zslm-mock-v2-task-dot{font-variant-numeric:tabular-nums;}
.zsl-matura .zslm-cke2-overview .zslm-mock-v3-map-group>h5{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.zsl-matura .zslm-cke2-preflight .zslm-mock-v3-preflight-list{margin-top:14px;}
.zsl-matura .zslm-cke2-review .zslm-mock-v2-open-review-body{display:grid;gap:14px;}
.zsl-matura .zslm-cke2-review .zslm-mock-v2-source-pages,.zsl-matura .zslm-cke2-review .zslm-mock-v2-official-scoring{border-color:rgba(20,123,137,.22);}
.zsl-matura .zslm-cke2-summary-structure{margin:16px 0;background:#f7fbfc;}
.zsl-matura .zslm-cke2-summary-structure>p{margin:12px 0 0;color:var(--zslm-muted,#5e7181);}

@media (max-width:767.98px){
  .zsl-matura .zslm-cke2-intro-hero{grid-template-columns:1fr;padding:18px;}
  .zsl-matura .zslm-cke2-intro-facts{justify-content:flex-start;max-width:none;}
  .zsl-matura .zslm-cke2-structure-grid,.zsl-matura .zslm-cke2-mode-grid,.zsl-matura .zslm-cke2-archive-modes{grid-template-columns:1fr;}
  .zsl-matura .zslm-cke2-mode{min-height:0;}
  .zsl-matura .zslm-cke2-source-ribbon{align-items:flex-start;}
}
\n\n/* v0.62 — CKE 2.1: naprawa odpowiedzi otwartych + Pisanie 3.1 wewnątrz review */
.zsl-matura .zslm-cke21-open-section{scroll-margin-top:90px;}
.zsl-matura .zslm-cke21-open-review{border-color:rgba(20,123,137,.28);}
.zsl-matura .zslm-cke21-open-pre,
.zsl-matura .zslm-cke21-original-diagnosis,
.zsl-matura .zslm-cke21-open-revision,
.zsl-matura .zslm-cke21-essay-revision{margin:16px 0;padding:16px;border:1px solid var(--zslm-border,#dce6ec);border-radius:14px;background:#fff;min-width:0;}
.zsl-matura .zslm-cke21-open-pre{background:#f8fbfc;border-color:rgba(20,123,137,.24);}
.zsl-matura .zslm-cke21-open-pre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;}
.zsl-matura .zslm-cke21-pre-choice{min-height:44px;padding:10px 12px;border:1px solid #cbd8de;border-radius:10px;background:#fff;color:var(--zslm-navy,#082b49);font:inherit;font-weight:700;cursor:pointer;text-align:left;}
.zsl-matura .zslm-cke21-pre-choice.is-selected{border-color:var(--zslm-teal,#147b89);box-shadow:0 0 0 2px rgba(20,123,137,.12);background:#eef8f9;}
.zsl-matura .zslm-cke21-pre-saved{margin:12px 0 8px;color:#36566b;}
.zsl-matura .zslm-cke21-locked{margin:14px 0;padding:14px;border-radius:12px;background:#f3f6f7;border:1px dashed #cbd8de;}
.zsl-matura .zslm-cke21-locked strong{display:block;color:var(--zslm-navy,#082b49);margin-bottom:4px;}
.zsl-matura .zslm-cke21-revision-editor,.zsl-matura .zslm-cke21-essay-editor{width:100%;max-width:100%;min-height:170px;resize:vertical;border:1px solid #b9cbd4;border-radius:12px;padding:14px;font:inherit;line-height:1.65;background:#fff;color:#17324a;box-sizing:border-box;}
.zsl-matura .zslm-cke21-essay-editor{min-height:360px;}
.zsl-matura .zslm-cke21-revision-live,.zsl-matura .zslm-cke21-open-compare,.zsl-matura .zslm-cke21-essay-stats{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 0;color:#4f6879;}
.zsl-matura .zslm-cke21-revision-live strong,.zsl-matura .zslm-cke21-open-compare strong,.zsl-matura .zslm-cke21-essay-stats strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke21-revision-actions,.zsl-matura .zslm-cke21-essay-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.zsl-matura .zslm-cke21-revision-diagnosis{margin-top:14px;}
.zsl-matura .zslm-cke21-revision-diagnosis>strong{display:block;margin-bottom:8px;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-cke21-revision-history{margin-top:12px;border-top:1px solid #e2eaee;padding-top:10px;}
.zsl-matura .zslm-cke21-revision-history>summary{cursor:pointer;font-weight:700;color:var(--zslm-navy,#082b49);min-height:44px;display:flex;align-items:center;}
.zsl-matura .zslm-cke21-revision-history>div{display:grid;gap:8px;margin-top:8px;}
.zsl-matura .zslm-cke21-revision-history>div>div{display:flex;flex-wrap:wrap;gap:8px 12px;padding:9px 10px;border-radius:9px;background:#f7fafb;}
.zsl-matura .zslm-cke21-essay-revision{background:linear-gradient(135deg,#f7fbfc 0%,#fff 72%);border-color:rgba(20,123,137,.26);}
.zsl-matura .zslm-cke21-essay-queue{margin-top:14px;}
.zsl-matura .zslm-cke21-essay-round{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#eef6f7;color:#294d61;}
.zsl-matura .zslm-cke21-essay-compare{margin-top:12px;border-top:1px solid #e2eaee;padding-top:10px;}
.zsl-matura .zslm-cke21-essay-compare>summary{cursor:pointer;font-weight:700;color:var(--zslm-navy,#082b49);min-height:44px;display:flex;align-items:center;}
@media(max-width:767.98px){.zsl-matura .zslm-cke21-open-pre-grid{grid-template-columns:1fr;}.zsl-matura .zslm-cke21-revision-actions>.zslm-button,.zsl-matura .zslm-cke21-essay-actions>.zslm-button{width:100%;justify-content:center;}.zsl-matura .zslm-cke21-open-pre,.zsl-matura .zslm-cke21-original-diagnosis,.zsl-matura .zslm-cke21-open-revision,.zsl-matura .zslm-cke21-essay-revision{padding:14px;}}

/* v0.63 — Wnioski z prób / Exam Intelligence */
.zsl-matura .zslm-exam-intelligence{display:grid;gap:16px;padding:20px;border:1px solid rgba(20,123,137,.24);border-radius:16px;background:linear-gradient(135deg,#f7fbfc 0%,#fff 78%);min-width:0;}
.zsl-matura .zslm-exam-intelligence__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;min-width:0;}
.zsl-matura .zslm-exam-intelligence__head h4{margin:.2rem 0 .35rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-exam-intelligence__head p{margin:0;color:var(--zslm-muted,#5e7181);}
.zsl-matura .zslm-exam-intelligence__mix,.zsl-matura .zslm-exam-intelligence__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.zsl-matura .zslm-exam-intelligence__focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.zsl-matura .zslm-exam-intelligence__focus-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--zslm-border,#dce6ec);border-radius:12px;background:#fff;min-width:0;}
.zsl-matura .zslm-exam-intelligence__focus-card>div{display:grid;gap:4px;min-width:0;}
.zsl-matura .zslm-exam-intelligence__focus-card small{color:var(--zslm-teal,#147b89);font-weight:750;}
.zsl-matura .zslm-exam-intelligence__focus-card strong{color:var(--zslm-navy,#082b49);overflow-wrap:anywhere;}
.zsl-matura .zslm-exam-intelligence__focus-card p{margin:0;color:var(--zslm-muted,#5e7181);font-size:.92rem;}
.zsl-matura .zslm-exam-intelligence__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.zsl-matura .zslm-exam-intelligence__stats>div{display:grid;gap:3px;padding:12px;border:1px solid var(--zslm-border,#dce6ec);border-radius:11px;background:#fff;min-width:0;}
.zsl-matura .zslm-exam-intelligence__stats strong{font-size:1.12rem;color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-exam-intelligence__stats span{font-size:.84rem;color:var(--zslm-muted,#5e7181);overflow-wrap:anywhere;}
.zsl-matura .zslm-exam-intelligence__causes{display:grid;gap:4px;}
.zsl-matura .zslm-exam-intelligence__causes>strong{color:var(--zslm-navy,#082b49);}
.zsl-matura .zslm-exam-intelligence__note{margin:0;padding-top:10px;border-top:1px solid #e3eaee;color:var(--zslm-muted,#5e7181);font-size:.86rem;}
.zsl-matura .zslm-exam-intelligence.is-compact{padding:16px;gap:12px;}
.zsl-matura .zslm-exam-intelligence.is-compact .zslm-exam-intelligence__focus{grid-template-columns:1fr;}
@media(max-width:900px){.zsl-matura .zslm-exam-intelligence__stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767.98px){.zsl-matura .zslm-exam-intelligence__focus{grid-template-columns:1fr;}.zsl-matura .zslm-exam-intelligence__focus-card{grid-template-columns:1fr;}.zsl-matura .zslm-exam-intelligence__stats{grid-template-columns:1fr 1fr;}.zsl-matura .zslm-exam-intelligence{padding:14px;}}
@media(max-width:420px){.zsl-matura .zslm-exam-intelligence__stats{grid-template-columns:1fr;}}


/* ==========================================================================
   v0.66.0-alpha.5 — WCAG A/AA hardening after live audit
   ========================================================================== */
/* Do not fade entire text-bearing views. The old enter/busy opacity blended
   otherwise compliant #147B89/#5E7181 with white and temporarily pushed text
   below 4.5:1. Keep motion transform-only. */
.zsl-matura .zslm-app-view.is-entering{
  opacity:1 !important;
  animation:zslm-v0665-enter .16s ease-out both !important;
}
@keyframes zslm-v0665-enter{
  from{transform:translateY(5px)}
  to{transform:none}
}
.zsl-matura .zslm-app-view.is-busy{opacity:1 !important;}
/* Other text-bearing states must not lower the effective foreground contrast. */
.zsl-matura .zslm-choice-list--history{opacity:1 !important;}
.zsl-matura .zslm-today-exam span{opacity:1 !important;}
.zsl-matura .zslm-writing-v31-repair-item.is-done>p{opacity:1 !important;}

/* Make the Start surface contrast deterministic for automated and manual WCAG
   review: no gradient/pseudo overlay behind text. Brand colors stay intact. */
.zsl-matura .zslm-course-head{
  background:#082B49 !important;
  background-image:none !important;
}
.zsl-matura .zslm-course-head::after{display:none !important;content:none !important;}
.zsl-matura .zslm-status{
  background:#061E34 !important;
  border-color:#748696 !important;
}
.zsl-matura .zslm-home-v042-hero{
  background:#F7FBFC !important;
  background-image:none !important;
}
.zsl-matura .zslm-home-v042-hub{
  background:#FFFFFF !important;
  background-image:none !important;
}
.zsl-matura .zslm-home-main-card{
  background:#FFFFFF !important;
  background-image:none !important;
}
.zsl-matura .zslm-home-main-card:hover,
.zsl-matura .zslm-home-main-card:focus-visible{
  background:#F8FCFD !important;
  background-image:none !important;
}
/* Explicit AA-safe Start colors. These are already >=4.5:1 on the surfaces
   above; !important also prevents a transient/later decorative layer from
   weakening them during audit. */
.zsl-matura .zslm-home-v042-utility>div:first-child span{
  color:#5E7181 !important;
}
.zsl-matura .zslm-home-v042-utility .zslm-text-button,
.zsl-matura .zslm-home-v042-actions .zslm-text-button{
  color:#147B89 !important;
}
.zsl-matura .zslm-text-button{color:#147B89;}

/* Start-card arrow is decorative SVG rather than a text glyph, so text
   contrast rules do not have to interpret a non-text character. */
.zsl-matura .zslm-home-main-card > .zslm-home-main-card-arrow{
  grid-area:arrow !important;
  grid-column:3 !important;
  grid-row:2 / span 2 !important;
  align-self:center !important;
  justify-self:end !important;
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  border-radius:10px !important;
  background:#ECF4F6 !important;
  color:#147B89 !important;
  font-size:0 !important;
  line-height:0 !important;
}
.zsl-matura .zslm-home-main-card > .zslm-home-main-card-arrow svg{
  display:block;width:18px;height:18px;overflow:visible;
}
@media(max-width:600px){
  .zsl-matura .zslm-home-main-card > .zslm-home-main-card-arrow{
    width:30px !important;height:30px !important;min-width:30px !important;
    grid-row:2 / span 2 !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .zsl-matura .zslm-app-view.is-entering{animation:none !important;transform:none !important;}
}
