/* ST-EW v0.1.5: pytania i podsumowanie odwzorowane z mainv21 SameTesty. */
.stew-exam-shell { color:#282828; }
.stew-exam-shell .stew-exam-top { max-width:1320px; }
.stew-exam-shell .stew-native-exam,
.stew-exam-shell .stew-native-summary { max-width:1250px; margin:30px auto 65px; background:#fff; border-radius:28px; padding:32px; box-shadow:0 10px 30px rgba(0,0,0,.035); }
.stew-native-banner { display:flex; align-items:center; gap:25px; padding:20px 24px; background:#f8f8f8; border-radius:16px; flex-wrap:wrap; }
.stew-native-attribute { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:700; }
.stew-native-attribute strong { display:grid; place-items:center; width:48px; height:48px; background:#fe4a23; color:#fff; border-radius:50%; font-size:21px; font-weight:800; }
.stew-native-global { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:750; }
.stew-native-global b { color:#fe4a23; font-size:27px; font-variant-numeric:tabular-nums; }
.stew-native-type { color:#fe4a23; font-size:17px; font-weight:800; margin-left:auto; white-space:nowrap; }
.stew-native-progress { display:grid; gap:4px; line-height:1.3; font-size:14px; margin-left:auto; }
.stew-native-progress span { color:#fe4a23; font-weight:800; white-space:nowrap; }
/* Media zajmują maks. 730 px; prawa kolumna wypełnia pozostałą szerokość.
   Dzięki temu sterowanie jest przy prawej krawędzi karty, jak w SameTesty. */
.stew-native-question-body { display:grid; grid-template-columns:minmax(0,730px) minmax(280px,1fr); gap:clamp(16px,2vw,28px); padding:28px 0 15px; align-items:start; width:100%; }
/* Oryginalne SameTesty: .exam-asset szerokość 730 px, maks. wysokość 410 px.
   Stały viewport zapobiega zmianom układu pomiędzy zdjęciami i filmami. */
.stew-native-media { position:relative; display:grid; place-items:center; width:100%; max-width:730px; min-width:0; min-height:0; aspect-ratio:730 / 410; overflow:hidden; background:#f2f2f2; border-radius:10px; isolation:isolate; }
.stew-native-media video, .stew-native-media img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; border-radius:10px; background:transparent; }
/* display:block nie może nadpisać atrybutu hidden przed naciśnięciem Start. */
.stew-exam-shell [hidden] { display:none !important; }
.stew-native-media.stew-media-empty { aspect-ratio:auto; min-height:160px; }
.stew-native-no-media { text-align:center; font-weight:700; color:#9e9e9e; letter-spacing:.01em; padding:25px; }
.stew-native-image-gate { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:18px; text-align:center; color:#747474; background:#f2f2f2; line-height:1.45; }
.stew-native-image-gate strong { font-size:clamp(15px,1.6vw,19px); font-weight:700; }
.stew-native-image-gate span { font-size:13px; font-weight:500; }
.stew-native-image-gate b { font-weight:800; }
/* Sekcja czasu i przycisków jest dosunięta do prawej, a jej elementy
   wyśrodkowane wewnątrz własnego bloku — tak jak w oryginalnym egzaminie. */
.stew-native-qtools { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; justify-self:end; gap:13px; padding-top:0; text-align:center; width:min(100%,230px); min-width:0; }
.stew-native-qtools #stew-question-phase { width:max-content; max-width:100%; align-self:flex-end; text-align:right; white-space:nowrap; }
#stew-question-phase { font-size:14px; font-weight:800; color:#707070; }
.stew-native-timer { font-size:46px; line-height:1.1; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.03em; color:#fe4a23; }
.stew-native-qtools .stew-btn { width:100%; max-width:210px; }
.stew-native-question-text { margin:24px auto 16px; max-width:900px; }
.stew-native-question-text h1 { margin:0; text-align:center; font-size:clamp(19px,2.1vw,27px); font-weight:750; line-height:1.4; }
.stew-native-choices { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:14px; margin:26px 0 30px; }
.stew-native-choices button { font:inherit; cursor:pointer; border:2px solid #e0e0e0; background:#fff; transition:border-color .15s, background .15s, color .15s; }
.stew-native-choice-yn { min-width:190px; padding:14px 28px; border-radius:40px; font-size:18px; font-weight:800; }
.stew-native-choice-yn:hover:not(:disabled), .stew-native-choice-yn.selected { background:#fe4a23; border-color:#fe4a23; color:#fff; }
.stew-native-choice-abc { display:flex; align-items:center; gap:15px; min-height:58px; padding:10px 16px; border-radius:14px; font-size:16px; font-weight:650; text-align:left; width:min(100%,700px); }
.stew-native-choice-key { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border:1px solid #d5d5d5; border-radius:10px; background:#f4f4f4; font-weight:800; font-size:20px; }
.stew-native-choice-abc.selected { border-color:#fe4a23; background:#fff2ed; }
.stew-native-choice-abc.selected .stew-native-choice-key { background:#fe4a23; color:white; border-color:#fe4a23; }
.stew-native-choices button:disabled { opacity:.5; cursor:not-allowed; }
.stew-native-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #eaeaea; padding-top:24px; margin-top:18px; color:#858585; font-weight:750; }
.stew-native-exam .stew-message { margin-top:16px; }
/* Podsumowanie wzorowane na .exam-summary-card w głównym motywie SameTesty. */
.stew-native-summary { padding:40px; }
.stew-summary-grid { display:grid; grid-template-columns:0.95fr 1.25fr 0.9fr; align-items:center; gap:22px; padding:15px 0 34px; }
.stew-summary-left { text-align:center; }
.stew-summary-left img { width:100%; max-width:290px; height:auto; }
.stew-summary-status span { display:block; font-size:17px; font-weight:750; }
.stew-summary-status strong { display:block; margin:5px 0 20px; color:#189e4c; font-size:clamp(25px,2.8vw,39px); font-weight:900; }
.stew-summary-status strong.stew-fail { color:#e0483d; }
.stew-summary-counts { display:grid; gap:8px; color:#555; font-size:16px; }
.stew-summary-counts strong { color:#202020; }
.stew-summary-right { display:flex; flex-direction:column; align-items:center; text-align:center; }
.stew-summary-gauge svg { display:block; width:210px; max-width:100%; }
.stew-gauge-num { font-size:22px; font-weight:900; fill:#232323; }
.stew-gauge-note { font-size:8px; fill:#777; }
.stew-summary-right>span { font-size:14px; font-weight:700; margin:5px 0 8px; }
.stew-summary-right>b { display:inline-block; min-width:70px; padding:8px 20px; border-radius:30px; background:#fe4a23; color:#fff; font-size:19px; }
.stew-summary-block { border-top:1px solid #ededed; padding:20px 0 26px; }
.stew-summary-block h2 { margin:0 0 18px; font-size:21px; font-weight:800; }
.stew-summary-block h2 small { font-size:13px; font-weight:600; margin-left:13px; color:#777; }
.stew-summary-dots { display:flex; flex-wrap:wrap; gap:13px; }
.stew-summary-dot { cursor:pointer; display:block; height:31px; width:31px; padding:0; border:0; border-radius:50%; background:#d7d7d7; }
.stew-summary-dot.ok { background:#1a9b4a; }
.stew-summary-dot.bad { background:#e0483d; }
.stew-summary-dot.empty { background:#cecece; }
.stew-summary-dot:hover { transform:scale(1.11); outline:3px solid rgba(0,0,0,.1); }
.stew-summary-actions { display:flex; justify-content:center; padding-top:20px; }
.stew-review-dialog { max-width:min(880px,calc(100vw - 35px)); max-height:85vh; overflow:auto; border:0; border-radius:22px; padding:26px; background:#fff; box-shadow:0 25px 85px rgba(0,0,0,.2); }
.stew-review-dialog::backdrop { background:rgba(0,0,0,.54); }
.stew-review-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.stew-review-head h2 { font-size:19px; font-weight:800; margin:0; }
.stew-review-head button { border:0; background:#f4f4f4; font-size:24px; width:38px; height:38px; border-radius:50%; }
.stew-review-status { display:flex; gap:10px; align-items:center; justify-content:flex-end; margin:12px 0 18px; font-weight:800; font-size:15px; color:#777; }
.stew-review-status-dot { display:inline-block; width:13px; height:13px; border-radius:50%; flex:0 0 13px; background:#bbb; }
.stew-review-status.ok { color:#1a9b4a; }
.stew-review-status.bad { color:#e0483d; }
.stew-review-status.ok .stew-review-status-dot { background:#1a9b4a; }
.stew-review-status.bad .stew-review-status-dot { background:#e0483d; }
.stew-review-media img,.stew-review-media video { display:block; max-width:100%; max-height:380px; border-radius:12px; margin:0 auto 15px; }
.stew-review-question { font-size:18px; font-weight:750; line-height:1.5; }
.stew-review-answer-row { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:10px 0; min-height:66px; border-bottom:1px solid #eee; }
.stew-review-answer-circle { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; font-weight:800; font-size:16px; background:#fff; color:#454545; border:2px solid #dedede; border-radius:50%; }
.stew-review-answer-circle.picked.ok { background:#1a9b4a; border-color:#1a9b4a; color:#fff; }
.stew-review-answer-circle.picked.bad { background:#e0483d; border-color:#e0483d; color:#fff; }
.stew-review-answer-label { font-weight:600; font-size:15px; flex:0 1 auto; }
.stew-review-picked-note { margin-left:0; color:#777; font-size:12px; font-weight:700; }
@media(max-width:520px){ .stew-review-picked-note { flex-basis:auto; margin-left:0; } }
@media(max-width:1100px){
  .stew-exam-shell .stew-native-exam,.stew-exam-shell .stew-native-summary{margin:20px 15px 40px;padding:20px;}
  .stew-native-type{margin-left:0;}
  .stew-native-progress{margin-left:0;}
}
@media(max-width:720px){
  .stew-native-banner{gap:10px;padding:15px;}
  .stew-native-attribute strong{width:38px;height:38px;font-size:16px;}
  .stew-native-type{width:100%;}
  .stew-native-question-body{grid-template-columns:minmax(0,1fr);gap:12px;}
  .stew-native-media{min-height:0;}
  .stew-native-media.stew-media-empty{min-height:140px;}
  .stew-native-image-gate{padding:12px;}
  .stew-native-image-gate strong{font-size:15px;}
  .stew-native-qtools{padding:8px 0; width:100%; justify-self:center; align-items:center;}
  .stew-native-qtools #stew-question-phase{text-align:center; width:100%; white-space:normal;}
  .stew-native-timer{font-size:36px;}
  .stew-native-choices{gap:10px;}
  .stew-native-choice-yn{min-width:130px;padding:10px 18px;}
  .stew-native-choice-abc{width:100%;}
  .stew-summary-grid{grid-template-columns:1fr;gap:10px;}
  .stew-summary-left img{max-width:220px;}
  .stew-summary-mid{text-align:center;}
  .stew-summary-block h2 small{display:block;margin:7px 0 0;}
  .stew-summary-dot{width:27px;height:27px;}
  .stew-native-footer{flex-direction:column;align-items:stretch;}
}

/* Lokalny loader kompletnego zestawu pytań (przed uruchomieniem zegara). */
.stew-preload-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:24px}
.stew-preload-screen[hidden]{display:none}
.stew-preload-card{max-width:560px;width:100%;padding:48px 40px;border-radius:25px;background:#fff;text-align:center;box-shadow:0 15px 55px #15151514}
.stew-preload-card h2{font-size:28px;line-height:1.25;margin:16px 0;color:#222}
.stew-preload-card p{font-size:15px;line-height:1.65;color:#555;margin:0 0 18px}
.stew-preload-spinner{width:44px;height:44px;margin:auto;border:5px solid #ffd7cd;border-top-color:#fe4a23;border-radius:50%;animation:stew-spin 1s linear infinite}
.stew-preload-track{height:8px;background:#f3e9e5;border-radius:20px;overflow:hidden;margin:18px 0}
#stew-preload-progress{height:100%;width:0;background:#fe4a23;transition:width .15s linear}
@keyframes stew-spin{to{transform:rotate(360deg)}}

/* v0.1.9: nie pokazuj pustego / domyślnie pozytywnego wyniku przed weryfikacją API. */
.stew-exam-shell .stew-native-summary[hidden],
.stew-exam-shell .stew-preload-screen[hidden] { display:none !important; }
