/* PALS - dodatki do wspolnego style.css (triage / przypadki). */
:root{ --pals:#c0272d; --pals-wash:rgba(192,39,45,0.10); --warn:#b45309; --warn-wash:rgba(180,83,9,0.10); --ok-wash:rgba(12,163,12,0.10); }
:root[data-theme="dark"]{ --pals:#ff6b6b; --pals-wash:rgba(255,107,107,0.14); --warn:#f0a040; --warn-wash:rgba(240,160,64,0.14); --ok-wash:rgba(47,191,79,0.14); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --pals:#ff6b6b; --pals-wash:rgba(255,107,107,0.14); --warn:#f0a040; --warn-wash:rgba(240,160,64,0.14); --ok-wash:rgba(47,191,79,0.14); } }

.main-tabs{margin:0 0 18px;}
.main-tabs .tab-btn{flex:1 1 auto; min-height:42px;}
.small-note{font-size:12.5px; color:var(--muted); margin:0;}
.row-between{justify-content:space-between; align-items:center;}
.title-sm{font-size:30px;}
.title-sm:focus{outline:none;}
.h-sub{font-size:16px; margin:0;}

/* ---------- algorytmy ---------- */
.option-card.alg-card{text-align:left;}
.alg-head{display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;}
.alg-head h2{font-size:24px; margin:0;}
.alg-head h2:focus{outline:none;}
.flow{display:flex; flex-direction:column; gap:0;}
.flow > .fb{position:relative; margin-bottom:22px;}
.flow > .fb:not(:last-child)::after{content:""; position:absolute; left:50%; bottom:-20px; width:2px; height:16px; background:var(--border-strong);}
.flow > .fb:not(:last-child)::before{content:""; position:absolute; left:calc(50% - 5px); bottom:-21px; border:5px solid transparent; border-top-color:var(--border-strong); border-bottom:0;}
.fb-box{border:1.5px solid var(--border-strong); border-radius:12px; padding:14px 16px; background:var(--surface);}
.fb-box h4{margin:0 0 6px; font-size:15.5px;}
.fb-box p{margin:0; font-size:14px; line-height:1.5; color:var(--ink-2);}
.fb-box ul{margin:0; padding-left:18px; font-size:14px; line-height:1.5; color:var(--ink-2);}
.fb-box li{margin:3px 0;}
.fb-box .sub{font-size:12.5px; color:var(--muted); font-weight:600; margin:-4px 0 8px;}
.tone-info{border-color:var(--accent); background:var(--accent-wash);}
.tone-rhythm{border-color:var(--accent); text-align:center;}
.tone-shock{border-color:var(--pals); background:var(--pals-wash);}
.tone-noshock{border-color:var(--accent); background:var(--accent-wash);}
.tone-warn{border-color:var(--warn); background:var(--warn-wash);}
.tone-ok{border-color:var(--good); background:var(--ok-wash);}
.fb-split{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px;}
.fb-dec{border:1.5px dashed var(--border-strong); border-radius:12px; padding:14px 16px; background:var(--surface-2);}
.fb-dec h4{margin:0 0 10px; font-size:15px;}
.fb-dec .yn{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px;}
.fb-dec .yn > div{border-radius:8px; padding:10px 12px; font-size:13.5px; line-height:1.45; background:var(--surface); border:1px solid var(--border);}
.fb-dec .yn b{display:block; font-size:11px; letter-spacing:.06em; margin-bottom:3px;}
.fb-dec .yes b{color:var(--good);}
.fb-dec .no b{color:var(--pals);}
.fb-note{font-size:13.5px; line-height:1.5; color:var(--ink-2); border-left:3px solid var(--accent); padding:6px 12px; background:var(--surface-2); border-radius:0 8px 8px 0;}
.src-note{font-size:12px; color:var(--muted); margin:0;}

/* ---------- kalkulator ---------- */
.calc-inputs{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px;}
.calc-field{display:flex; flex-direction:column;}
.calc-field.narrow{max-width:220px;}
.calc-field select, .calc-field input{font:inherit; font-size:17px; padding:10px 12px; border-radius:10px; border:1.5px solid var(--border-strong); background:var(--surface); color:var(--ink); min-height:48px;}
.calc-field select:focus, .calc-field input:focus{border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--accent-wash);}
.calc-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px;}
.calc-card{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 16px; box-shadow:var(--shadow);}
.calc-card.c-shock{border-top:4px solid var(--pals);}
.calc-card.c-drug{border-top:4px solid var(--accent);}
.calc-card.c-air{border-top:4px solid var(--good);}
.calc-card.c-other{border-top:4px solid var(--warn);}
.calc-card h4{margin:0 0 2px; font-size:14.5px;}
.calc-card .rule{font-size:12px; color:var(--muted); margin:0 0 8px;}
.calc-card .val{font-family:"IBM Plex Mono",monospace; font-size:24px; font-weight:600; color:var(--ink); line-height:1.15;}
.calc-card .val small{font-size:14px; font-weight:500; color:var(--ink-2);}
.calc-card .extra{font-size:13px; color:var(--ink-2); margin:6px 0 0; line-height:1.45;}
.calc-card .flag{display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--warn); margin-top:6px;}
.calc-section{grid-column:1 / -1; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); margin:8px 0 -2px;}
.note-warn{font-size:12.5px; color:var(--muted); text-align:center; margin:0;}

/* ---------- timer ---------- */
.timer-head{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; position:sticky; top:0; z-index:5;}
.t-block{display:flex; flex-direction:column;}
.t-block .label{font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}
.t-big{font-family:"IBM Plex Mono",monospace; font-size:30px; font-weight:600; line-height:1.15;}
.t-sub{font-size:12px; color:var(--muted);}
.t-rhythm{font-weight:700; font-size:15px; margin-top:6px;}
.t-rhythm.shock{color:var(--pals);}
.t-rhythm.noshock{color:var(--accent);}
.t-rhythm.rosc{color:var(--good);}
#t-cycle.due{color:var(--pals); animation:blink 1s steps(2) infinite;}
@keyframes blink{50%{opacity:.35;}}
.t-actions{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px;}
.t-btn{min-height:56px; font-size:14.5px; font-weight:700; justify-content:center;}
.t-shock{background:var(--pals); color:#fff; border-color:var(--pals);}
.t-rosc{border-color:var(--good); color:var(--good);}
.prompt{border-radius:12px; padding:12px 16px; font-size:15px; font-weight:600; border:1.5px solid var(--border-strong); background:var(--surface);}
.prompt small{display:block; font-weight:400; font-size:13px; color:var(--ink-2); margin-top:2px;}
.prompt.p-now{border-color:var(--pals); background:var(--pals-wash);}
.prompt.p-soon{border-color:var(--warn); background:var(--warn-wash);}
.prompt.p-info{border-color:var(--accent); background:var(--accent-wash);}
.prompt.p-ok{border-color:var(--good); background:var(--ok-wash);}
.rh-shock{border-color:var(--pals);}
.rh-noshock{border-color:var(--accent);}
.rh-rosc{border-color:var(--good);}
.toggle{display:inline-flex; gap:8px; align-items:center; font-size:14px; cursor:pointer; min-height:40px;}
.toggle input{width:18px; height:18px;}
.hits-box summary{cursor:pointer; font-weight:700;}
.hits-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px; margin-top:12px;}
.hits-grid label{display:flex; gap:8px; align-items:center; font-size:14px; padding:8px 10px; border-radius:8px; border:1px solid var(--border); background:var(--surface-2); cursor:pointer;}
.t-log{margin:0; padding-left:0; list-style:none; font-size:13.5px; display:flex; flex-direction:column; gap:4px; max-height:320px; overflow:auto;}
.t-log li{display:flex; gap:10px;}
.t-log .tt{font-family:"IBM Plex Mono",monospace; color:var(--muted); min-width:48px;}

/* ---------- quiz (jak przypadki) ---------- */
.step-q{font-size:17px; font-weight:700; margin:0 0 14px; line-height:1.4;}
.step-q:focus{outline:none;}
.answer-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px;}
.answer-btn{text-align:left; padding:12px 14px; border-radius:10px; cursor:pointer; background:var(--surface); color:var(--ink); border:1.5px solid var(--border-strong); font-size:14px; line-height:1.35; min-height:48px;}
.answer-btn:hover:not(:disabled){border-color:var(--accent); background:var(--accent-wash);}
.answer-btn:disabled{cursor:default;}
.answer-btn.big{font-size:16px; font-weight:700;}
.answer-btn.big small{display:block; font-size:12.5px; font-weight:400; color:var(--muted);}
.answer-btn.is-ok{border-color:var(--good); background:var(--ok-wash);}
.answer-btn.is-bad{border-color:var(--pals); background:var(--pals-wash);}
.reveal p{margin:6px 0 0; font-size:14px; line-height:1.55; color:var(--ink-2);}
.step-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; align-items:center;}
.q-result{border:1px solid var(--border); border-radius:10px; padding:12px 14px; background:var(--surface-2);}
.q-result summary{cursor:pointer; font-weight:600; font-size:14px; display:flex; gap:8px;}
.q-result .mark{font-weight:700;}
.q-result .mark.ok{color:var(--good);}
.q-result .mark.bad{color:var(--pals);}
.q-result p{font-size:13.5px; color:var(--ink-2); margin:8px 0 0; line-height:1.5;}

/* ---------- zmiany ---------- */
.chg{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 16px;}
.chg h4{margin:0 0 8px; font-size:15px; display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.chg .area{font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:99px; background:var(--accent-wash); color:var(--accent);}
.chg .area.nb{background:var(--ok-wash); color:var(--good);}
.chg-cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px;}
.chg-cols > div{border-radius:8px; padding:10px 12px; font-size:13.5px; line-height:1.45;}
.chg-cols b{display:block; font-size:11px; letter-spacing:.06em; margin-bottom:3px;}
.chg .old{background:var(--surface-2); color:var(--muted);}
.chg .old b{color:var(--muted);}
.chg .new{background:var(--pals-wash); color:var(--ink);}
.chg .new b{color:var(--pals);}

.promo-symprm{margin-top:22px;}
@media (max-width:520px){
  .t-big{font-size:22px;}
  .timer-head{grid-template-columns:repeat(3,1fr); gap:8px; padding:12px 14px;}
  .t-actions{grid-template-columns:repeat(2,1fr);}
  .main-tabs .tab-btn{padding:8px 10px; font-size:12.5px;}
}
@media (prefers-reduced-motion:reduce){ #t-cycle.due{animation:none;} }
