/* ═══════════════════════════════════════════════════════════════════
   SZKOŁA 4-6 — STYL SCHEMATÓW
   ═══════════════════════════════════════════════════════════════════
   Paleta schematów żyje TUTAJ, nie w generatorze SVG. Dzięki temu ten
   sam rysunek wygląda inaczej w arkuszu rozwiązania niż w podglądzie
   dla nauczyciela, bez dotykania kodu rysującego.
   ══════════════════════════════════════════════════════════════════ */

.szv {
  display: block;
  max-width: 100%;
  height: auto;
  overflow: visible;
  font-family: 'Baloo 2', 'DM Sans', -apple-system, sans-serif;
  --szv-ink: #3A2E1E;
  --szv-line: #D6C7A8;
  --szv-soft: #F3E7C9;
  --szv-gold: #F9C843;
  --szv-orange: #F07020;
  --szv-green: #0E9F4F;
  --szv-blue: #2B7FD4;
  --szv-paper: #FFFDF7;
}

/* wspólne */
.szv-t { font-size: 13px; font-weight: 700; fill: var(--szv-ink); }
.szv-l, .szv-p { fill: none; stroke: var(--szv-line); stroke-width: 2; }
.szv-r, .szv-c { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-arrowhead { fill: var(--szv-line); stroke: none; }
.szv-cap { font-size: 12px; font-weight: 800; fill: #9A8A6A; }

/* oś liczbowa */
.szv-axis { fill: none; stroke: var(--szv-line); stroke-width: 2.4; stroke-linecap: round; }
.szv-tick { stroke: var(--szv-line); stroke-width: 1.8; }
.szv-tick-l { font-size: 11px; font-weight: 600; fill: #9A8A6A; }
.szv-jump { fill: none; stroke: var(--szv-orange); stroke-width: 2.6; stroke-linecap: round; }
.szv-jump-l { font-size: 13px; font-weight: 800; fill: var(--szv-orange); }
.szv-dot { fill: var(--szv-orange); stroke: none; }
.szv-mark { fill: var(--szv-green); stroke: var(--szv-paper); stroke-width: 2; }

/* działanie pisemne */
.szv-digit { font-size: 25px; font-weight: 700; fill: var(--szv-ink); font-variant-numeric: tabular-nums; }
.szv-res { fill: var(--szv-green); }
.szv-op { font-size: 23px; font-weight: 700; fill: var(--szv-orange); }
.szv-carry { font-size: 13px; font-weight: 800; fill: var(--szv-orange); }
.szv-rule { stroke: var(--szv-ink); stroke-width: 2.4; stroke-linecap: round; }

/* rozbicie liczby */
.szv-big { font-size: 24px; font-weight: 800; fill: var(--szv-ink); }
.szv-branch { fill: none; stroke: var(--szv-line); stroke-width: 2; }
.szv-chip { fill: var(--szv-soft); stroke: var(--szv-gold); stroke-width: 2; }
.szv-chip-2 { fill: #FFF; }
.szv-chip-t { font-size: 16px; font-weight: 800; fill: #8A6A16; }

/* ułamki */
.szv-part { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-part-on { fill: var(--szv-gold); stroke: #E0A81E; }
.szv-frac-l { font-size: 15px; font-weight: 800; fill: var(--szv-ink); }
.szv-wedge { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-wedge-on { fill: var(--szv-gold); stroke: #E0A81E; }

/* siatka */
.szv-cell { fill: var(--szv-soft); stroke: #E8D5A8; stroke-width: 1.4; }
.szv-dim { font-size: 13px; font-weight: 800; fill: var(--szv-blue); }

/* figury */
.szv-fig { fill: rgba(43, 127, 212, .12); stroke: var(--szv-blue); stroke-width: 2.4; }
.szv-dimline { stroke: var(--szv-orange); stroke-width: 2; }
.szv-dash { stroke-dasharray: 5 4; }

/* waga */
.szv-beam { stroke: var(--szv-ink); stroke-width: 4; stroke-linecap: round; }
.szv-stand { fill: var(--szv-soft); stroke: var(--szv-ink); stroke-width: 2; }
.szv-ground { stroke: var(--szv-ink); stroke-width: 3; stroke-linecap: round; }
.szv-hang { stroke: var(--szv-line); stroke-width: 2; }
.szv-pan { fill: var(--szv-soft); stroke: var(--szv-gold); stroke-width: 2.2; }
.szv-pan-t { font-size: 15px; font-weight: 800; fill: #8A6A16; }

/* tabelka */
.szv-th-bg { fill: var(--szv-soft); stroke: none; }
.szv-tr-alt { fill: rgba(243, 231, 201, .42); stroke: none; }
.szv-th { font-size: 12px; font-weight: 800; fill: #8A6A16; }
.szv-td { font-size: 13px; font-weight: 600; fill: var(--szv-ink); }
.szv-tline { stroke: #EADFC4; stroke-width: 1.4; }

/* oś czasu */
.szv-year { font-size: 13px; font-weight: 800; fill: var(--szv-orange); font-variant-numeric: tabular-nums; }
.szv-ev { font-size: 13px; font-weight: 600; fill: var(--szv-ink); }

/* drzewko */
.szv-node { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-node-root { fill: var(--szv-soft); stroke: var(--szv-gold); }
.szv-node-t { font-size: 13px; font-weight: 800; fill: var(--szv-ink); }
.szv-leaf { font-size: 11px; font-weight: 600; fill: #9A8A6A; }

/* obieg */
.szv-cyc { stroke: var(--szv-line); stroke-width: 2.2; }
.szv-cyc-node { fill: var(--szv-gold); stroke: #E0A81E; stroke-width: 2; }
.szv-cyc-n { font-size: 14px; font-weight: 800; fill: #7A5A10; }
.szv-cyc-l { font-size: 12px; font-weight: 700; fill: var(--szv-ink); }

/* ═══ schematy dodane 2026-08-15 (fala 2 przedmiotów) ═══════════════ */

/* zegar */
.szv-clock-face { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2.4; }
.szv-clock-tick { stroke: var(--szv-line); stroke-width: 2; }
.szv-clock-n { font-size: 12px; font-weight: 700; fill: #9A8A6A; }
.szv-hand-h { stroke: var(--szv-ink); stroke-width: 4.2; stroke-linecap: round; }
.szv-hand-m { stroke: var(--szv-orange); stroke-width: 2.8; stroke-linecap: round; }
.szv-clock-pin { fill: var(--szv-ink); stroke: none; }

/* termometr */
.szv-th-tube { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-th-bulb { fill: #E8580A; stroke: #C2450A; stroke-width: 2; }
.szv-th-fill { fill: #E8580A; stroke: none; }
.szv-th-cold { fill: var(--szv-blue); }
.szv-th-val { font-size: 15px; font-weight: 800; fill: var(--szv-ink); }

/* słupki */
.szv-bar { fill: var(--szv-gold); stroke: #E0A81E; stroke-width: 1.6; }
.szv-bar-v { font-size: 12px; font-weight: 800; fill: var(--szv-ink); }
.szv-bar-l { font-size: 11px; font-weight: 600; fill: #9A8A6A; }

/* siatka bryły */
.szv-net-face { fill: rgba(43,127,212,.14); stroke: var(--szv-blue); stroke-width: 2; }
.szv-net-n { font-size: 13px; font-weight: 800; fill: var(--szv-blue); }

/* budowa wyrazu */
.szv-wb { stroke-width: 2; }
.szv-wb-a { fill: #EEF2FF; stroke: #6366F1; }
.szv-wb-b { fill: var(--szv-soft); stroke: var(--szv-gold); }
.szv-wb-c { fill: #ECFDF5; stroke: #10B981; }
.szv-wb-t { font-size: 17px; font-weight: 800; fill: var(--szv-ink); }
.szv-wb-l { font-size: 10px; font-weight: 700; fill: #9A8A6A; }

/* rozbiór zdania */
.szv-sp-box { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-sp-p { fill: #EEF2FF; stroke: #6366F1; }
.szv-sp-o { fill: #FFF1F2; stroke: #E11D48; }
.szv-sp-t { font-size: 14px; font-weight: 700; fill: var(--szv-ink); }
.szv-sp-r { font-size: 11px; font-weight: 700; fill: #9A8A6A; }

/* dwa zbiory */
.szv-venn { fill: rgba(249,200,67,.24); stroke: #E0A81E; stroke-width: 2; }
.szv-venn-r { fill: rgba(43,127,212,.2); stroke: var(--szv-blue); }
.szv-venn-t { font-size: 11.5px; font-weight: 700; fill: var(--szv-ink); }
.szv-venn-l-t { font-size: 12px; font-weight: 800; fill: #9A8A6A; }

/* róża wiatrów */
.szv-comp-face { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2.4; }
.szv-comp-arm { fill: none; stroke: var(--szv-line); stroke-width: 2.6; stroke-linecap: round; }
.szv-comp-on { stroke: var(--szv-orange); stroke-width: 3.4; }
.szv-comp-t { font-size: 14px; font-weight: 800; fill: #9A8A6A; }
.szv-comp-t-on { fill: var(--szv-orange); }

/* warstwy */
.szv-layer { stroke: var(--szv-line); stroke-width: 1.6; }
.szv-layer-0 { fill: #FEF3C7; }
.szv-layer-1 { fill: #DCFCE7; }
.szv-layer-2 { fill: #DBEAFE; }
.szv-layer-3 { fill: #F3E8FF; }
.szv-layer-t { font-size: 13px; font-weight: 700; fill: var(--szv-ink); }
.szv-layer-n { font-size: 11px; font-weight: 600; fill: #9A8A6A; }

/* ═══ schematy dodane 2026-08-15 (audyt pokrycia: 47 tematów bez schematu) ═══ */

/* bryła */
.szv-solid-face { fill: rgba(43,127,212,.13); stroke: var(--szv-blue); stroke-width: 2.2; }
.szv-solid-base { fill: rgba(43,127,212,.2); stroke: var(--szv-blue); stroke-width: 2.2; }
.szv-solid-edge { fill: none; stroke: var(--szv-blue); stroke-width: 2; }

/* orbita */
.szv-orbit-path { stroke: var(--szv-line); stroke-width: 2.2; stroke-dasharray: 6 5; fill: none; }
.szv-orbit-on { stroke: var(--szv-orange); stroke-width: 3; stroke-dasharray: none; }
.szv-sun { fill: #FDE68A; stroke: #F59E0B; stroke-width: 2.4; }
.szv-sun-t { font-size: 20px; }
.szv-earth { fill: #7DD3FC; stroke: var(--szv-blue); stroke-width: 2.2; }
.szv-axis-tilt { stroke: var(--szv-orange); stroke-width: 2.6; stroke-linecap: round; }
.szv-orbit-l { font-size: 12px; font-weight: 700; fill: #9A8A6A; }

/* pasek procentowy */
.szv-pb-bg { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-pb-fill { fill: var(--szv-gold); stroke: none; }
.szv-pb-tick { stroke: rgba(154,138,106,.45); stroke-width: 1.2; }
.szv-pb-mark { stroke: var(--szv-orange); stroke-width: 3; stroke-linecap: round; }
.szv-pb-val { font-size: 16px; font-weight: 800; fill: var(--szv-orange); }

/* kąt */
.szv-ang-ray { stroke: var(--szv-ink); stroke-width: 2.6; stroke-linecap: round; }
.szv-ang-arc { fill: none; stroke: var(--szv-orange); stroke-width: 2.6; }
.szv-ang-t { font-size: 15px; font-weight: 800; fill: var(--szv-orange); }
.szv-ang-right { fill: none; stroke: var(--szv-orange); stroke-width: 2; }

/* drabinka jednostek */
.szv-ul-box { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-ul-on { fill: var(--szv-soft); stroke: var(--szv-gold); }
.szv-ul-t { font-size: 15px; font-weight: 800; fill: var(--szv-ink); }
.szv-ul-arr { fill: none; stroke: var(--szv-orange); stroke-width: 2.2; stroke-linecap: round; }
.szv-ul-arr-up { stroke: var(--szv-blue); }
.szv-ul-op { font-size: 12px; font-weight: 800; fill: #9A8A6A; }

/* ułamek na siatce */
.szv-fg { fill: var(--szv-paper); stroke: rgba(154,138,106,.4); stroke-width: 1; }
.szv-fg-a { fill: rgba(249,200,67,.38); }
.szv-fg-b { fill: rgba(43,127,212,.22); }
.szv-fg-both { fill: #E8A33C; }

/* wykres zdania */
.szv-sg-main { fill: var(--szv-soft); stroke: var(--szv-gold); stroke-width: 2.2; }
.szv-sg-sub { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 2; }
.szv-sg-line { fill: none; stroke: var(--szv-line); stroke-width: 2; }
.szv-sg-t { font-size: 13px; font-weight: 700; fill: var(--szv-ink); }
.szv-sg-r { font-size: 11px; font-weight: 700; fill: #9A8A6A; }

/* łańcuch */
.szv-chain-box { fill: #ECFDF5; stroke: #10B981; stroke-width: 2; }
.szv-chain-t { font-size: 13.5px; font-weight: 700; fill: #065F46; }
.szv-chain-arr { stroke: #10B981; stroke-width: 2.4; }

/* kalendarz */
.szv-cal-h { font-size: 10px; font-weight: 800; fill: #9A8A6A; text-transform: uppercase; }
.szv-cal-c { fill: var(--szv-paper); stroke: var(--szv-line); stroke-width: 1.4; }
.szv-cal-on { fill: var(--szv-gold); stroke: #E0A81E; stroke-width: 2; }
.szv-cal-t { font-size: 12px; font-weight: 700; fill: var(--szv-ink); }
.szv-cal-t-on { fill: #7A5A10; font-weight: 800; }

/* poziomice */
.szv-cont { fill: none; stroke: #B08A4A; stroke-width: 2; }
.szv-cont-t { font-size: 11px; font-weight: 700; fill: #B08A4A; }

/* wartość miejsca — klocki dziesiątkowe */
.szv-pv-col { fill: var(--szv-soft); stroke: var(--szv-gold); stroke-width: 2; }
.szv-pv-b { stroke-width: 1.4; }
.szv-pv-1000 { fill: #C7D2FE; stroke: #6366F1; }
.szv-pv-100 { fill: #BFDBFE; stroke: var(--szv-blue); }
.szv-pv-10 { fill: #BBF7D0; stroke: var(--szv-green); }
.szv-pv-1 { fill: var(--szv-gold); stroke: #E0A81E; }
.szv-pv-line { stroke: rgba(255,255,255,.75); stroke-width: 1; }
.szv-pv-n { font-size: 18px; font-weight: 800; fill: var(--szv-ink); }
.szv-pv-n-on { fill: var(--szv-orange); }
.szv-pv-l { font-size: 10px; font-weight: 700; fill: #9A8A6A; }
.szv-pv-v { font-size: 12px; font-weight: 700; fill: #9A8A6A; }
.szv-pv-v-on { fill: var(--szv-orange); font-weight: 800; }
