
:root{--bg:#0a0e13;--panel:#111821;--panel2:#161f2a;--ink:#f3efe6;--muted:#9aa6b3;--gold:#d9a441;--blue:#5ab8ff;--green:#52c788;--red:#ef6b68;--line:rgba(255,255,255,.09);--radius:18px;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% -10%,rgba(217,164,65,.10),transparent 34rem),var(--bg);color:var(--ink);font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.55}a{color:inherit}.course-main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:34px 0 100px}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.crumb{color:var(--muted);text-decoration:none;font-weight:700}.eyebrow{font:700 12px/1.2 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}h1{font-size:clamp(36px,7vw,70px);line-height:.98;letter-spacing:-.045em;margin:.2em 0}h2{font-size:clamp(24px,4vw,38px);line-height:1.08;letter-spacing:-.025em;margin:0 0 12px}h3{margin:0 0 8px}.lead{font-size:clamp(17px,2vw,21px);color:#c9d2db;max-width:820px}.hero{padding:clamp(24px,5vw,56px);border:1px solid rgba(217,164,65,.25);border-radius:28px;background:linear-gradient(145deg,rgba(217,164,65,.10),rgba(90,184,255,.035));box-shadow:0 30px 80px rgba(0,0,0,.28)}.hero-actions,.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{appearance:none;border:0;border-radius:12px;padding:12px 17px;background:var(--gold);color:#16120a;font:800 14px/1.1 inherit;text-decoration:none;cursor:pointer}.btn.secondary{background:#24303d;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 34px}.stat,.card,.panel{border:1px solid var(--line);background:rgba(17,24,33,.9);border-radius:var(--radius)}.stat{padding:18px}.stat b{display:block;font:800 clamp(24px,4vw,40px)/1 "JetBrains Mono",monospace;color:var(--gold)}.stat span{color:var(--muted);font-size:13px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:48px 0 18px}.section-head p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{display:block;padding:22px;text-decoration:none;transition:.18s transform,.18s border-color,.18s background}.card:hover{transform:translateY(-2px);border-color:rgba(217,164,65,.45);background:var(--panel2)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.icon{font-size:28px}.badge{font:700 11px/1 "JetBrains Mono",monospace;color:var(--muted);padding:7px 9px;border:1px solid var(--line);border-radius:999px}.card p{color:var(--muted);margin:8px 0 0}.card-meta{margin-top:14px;color:#cfd8df;font:600 12px/1.3 "JetBrains Mono",monospace}.panel{padding:24px}.notice{border-left:3px solid var(--gold);padding:14px 16px;background:rgba(217,164,65,.08);color:#d8d2c7;border-radius:0 12px 12px 0}.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#0e141c;color:var(--ink);font:inherit}.list{display:grid;gap:10px;margin-top:18px}.list-item{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(17,24,33,.85)}.list-item small{color:var(--gold);font:700 11px/1.2 "JetBrains Mono",monospace}.list-item p{margin:6px 0 0;color:#bdc7d0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chip{font:700 11px/1 "JetBrains Mono",monospace;padding:7px 9px;border-radius:999px;background:#202b37;color:#cdd7df}.timer{font:800 28px/1 "JetBrains Mono",monospace;color:var(--gold)}.question{padding:20px;border:1px solid var(--line);border-radius:16px;background:#111821;margin:14px 0}.options{display:grid;gap:9px;margin-top:14px}.option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.option:has(input:checked){border-color:var(--gold);background:rgba(217,164,65,.08)}textarea{width:100%;min-height:150px;background:#0d131a;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit}.check{display:flex;gap:10px;padding:9px 0}.hidden{display:none!important}.footer-note{margin-top:40px;color:var(--muted);font-size:13px}.score{font-size:clamp(32px,7vw,64px);font-weight:800;color:var(--gold)}@media(max-width:760px){.course-main{width:min(100% - 22px,1120px);padding-top:18px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.hero{border-radius:20px}.section-head{align-items:start;flex-direction:column}.topline{align-items:flex-start}.btn{min-height:44px}}

/* Mapa standardów: rozwijana część karty z sytuacjami i pułapkami.
   Bez niej 166 przykładów i 249 pułapek leżało w danych niewidocznych
   dla ucznia: treść istniała, ale strona jej nie pokazywała. */
.list-item details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.list-item summary{cursor:pointer;color:var(--gold);font:700 12px/1.3 "JetBrains Mono",monospace;list-style:none}.list-item summary::-webkit-details-marker{display:none}.list-item summary::before{content:"▸ "}.list-item details[open] summary::before{content:"▾ "}.karta-grupa{margin-top:14px}.karta-grupa b{display:block;font:700 11px/1.2 "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.karta-grupa ul{margin:0;padding-left:18px;color:#bdc7d0}.karta-grupa li{margin:7px 0}.karta-grupa li i{color:var(--ink);font-style:normal;font-weight:700}

/* ════════════════════════════════════════════════════════════════════
   Zmienne wymagane przez komponenty przeniesione z kursu wzorcowego.

   Bez nich 44 pliki spadały na wpisane w sobie wartości awaryjne, a te
   pochodzą z kursu źródłowego i są NIEBIESKIE. Skutek nie wyglądałby jak
   błąd, tylko jak niechlujstwo: część interfejsu w złocie tego kursu,
   część w barwie cudzego. Definiujemy je tutaj, centralnie, zamiast
   poprawiać wartości awaryjne w każdym pliku z osobna.
   ════════════════════════════════════════════════════════════════════ */
:root{
  /* powierzchnie: kolejne stopnie wyniesienia nad tłem */
  --surface:#111821;
  --surface-2:#161f2a;
  --surface-3:#1b2634;
  --bg-elev:#141d27;

  /* tekst: od pełnej czytelności po podpis */
  --ink-dim:#c9d2db;
  --ink-muted:#9aa6b3;

  /* linie */
  --line-strong:rgba(255,255,255,.18);

  /* barwa wiodąca kursu: złoto, nie błękit kursu źródłowego */
  --primary:#d9a441;
  --primary-deep:#b8862b;
  --primary-on-dark:#16120a;
  --accent:#d9a441;

  /* ocena odpowiedzi */
  --correct:#52c788;
  --wrong:#ef6b68;

  /* akcenty ścieżek: dziesięć egzaminów z wiedzy oraz moduł ESG */
  --c-br:#d9a441;
  --c-esg:#52c788;
  --c-egzamin:#b45c50;

  /* ruch */
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(0,0,.2,1);

  /* bezpieczny margines na urządzeniach z wcięciem ekranu */
  --safe-bottom:env(safe-area-inset-bottom,0px);

  /* typografia nagłówkowa, ta sama rodzina co w reszcie kursu */
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
}

/* Uzupełnienie: bezpieczne marginesy ekranu i sprężysta krzywa ruchu.
   `--tx`, `--ty`, `--r` i `--kind-color` celowo NIE są tu definiowane: 
   ustawiają je w locie skrypty (przesunięcia konfetti, barwa rodzaju
   wyniku w wyszukiwarce), a wpisanie ich w motyw nadpisałoby tamte. */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --accent-rgba:rgba(217,164,65,.16);
}
