/* MedMigrant — Anatomia 3D. Kolory z palety wtyczki/motywu (--mq-*), działa w trybie nocnym i dziennym. */
.mcqp-anat { max-width: 1180px; margin: 0 auto 28px; color: var(--mq-text); font-family: var(--mq-font); font-size: .9375rem; line-height: 1.5; }
.mcqp-anat-lead { margin: 0 0 16px; color: var(--mq-soft); max-width: 760px; }
.mcqp-anat noscript p, .mcqp-anat .anat-fallback { padding: 20px; background: var(--mq-card); border: 1px solid var(--mq-line); border-radius: 12px; }

.mcqp-anat-models { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.mcqp-anat-model { display: inline-flex; align-items: center; padding: 8px 16px; border: 1.5px solid var(--mq-line); border-radius: 999px; color: var(--mq-soft); font-weight: 600; text-decoration: none; }
.mcqp-anat-model:hover { color: var(--mq-strong); border-color: var(--mq-soft); }
.mcqp-anat-model[aria-current="page"] { border-color: var(--mq-primary); color: var(--mq-ptext); background: var(--mq-primary-bg); }
.mcqp-anat-model:focus-visible { outline: 2px solid var(--mq-primary); outline-offset: 2px; }
.anat-note { margin: 0 0 8px; color: var(--mq-muted); font-size: .8125rem; }
.anat-modes { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 4px; background: var(--mq-card); border: 1px solid var(--mq-line); border-radius: 12px; width: max-content; max-width: 100%; box-sizing: border-box; }
.anat-mode { padding: 8px 16px; border: 0; border-radius: 9px; background: transparent; color: var(--mq-soft); font: inherit; font-weight: 600; cursor: pointer; }
.anat-mode:hover { color: var(--mq-strong); background: var(--mq-hover); }
.anat-mode[aria-selected="true"] { background: var(--mq-primary); color: var(--mq-on-primary); }
.anat-mode:focus-visible, .anat-btn:focus-visible, .anat-item:focus-visible, .anat-eye:focus-visible, .anat-option:focus-visible { outline: 2px solid var(--mq-primary); outline-offset: 2px; }

.anat-main { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; }
.anat-stage { position: relative; min-width: 0; height: min(70vh, 640px); min-height: 380px; border: 1px solid var(--mq-line); border-radius: 14px; overflow: hidden; background: radial-gradient(ellipse 80% 70% at 50% 38%, var(--mq-card2), var(--mq-bg) 75%); }
.anat-canvas { position: absolute; inset: 0; }
.anat-canvas canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; outline: none; }
.anat-canvas canvas:active { cursor: grabbing; }

.anat-loading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--mq-soft); text-align: center; padding: 20px; }
.anat-loading.is-error { color: var(--mq-bad-text); }
.anat-loading[hidden] { display: none; }
.anat-bar { display: block; width: 220px; max-width: 70%; height: 6px; border-radius: 3px; background: var(--mq-track); overflow: hidden; }
.anat-bar-fill { display: block; width: 0; height: 100%; background: var(--mq-primary); transition: width .2s; }
.anat-bar--quiz { width: 100%; max-width: none; margin: 0 0 14px; }

.anat-prompt { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 24px); box-sizing: border-box; padding: 10px 18px; background: rgba(20, 22, 26, .88); color: #fff; border-radius: 12px; text-align: center; font-size: 1.05rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); pointer-events: none; }
.anat-prompt-label { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.anat-prompt[hidden] { display: none; }
.anat-tip { position: absolute; z-index: 3; padding: 4px 9px; border-radius: 7px; background: rgba(20, 22, 26, .9); color: #fff; font-size: .8125rem; pointer-events: none; white-space: nowrap; }
.anat-tip[hidden] { display: none; }

.anat-toolbar { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; pointer-events: none; }
.anat-toolbar > * { pointer-events: auto; }
.anat-views, .anat-tools2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 5px; border-radius: 11px; background: rgba(20, 22, 26, .72); }
.anat-explode { display: inline-flex; align-items: center; gap: 8px; padding: 0 6px; color: #e8e8ee; font-size: .8125rem; }
.anat-range { width: 110px; accent-color: var(--mq-primary); }

.anat-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--mq-line); border-radius: 10px; background: var(--mq-card2); color: var(--mq-strong); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; line-height: 1.2; }
.anat-btn:hover { border-color: var(--mq-soft); }
.anat-btn--sm { padding: 6px 10px; font-size: .8125rem; }
.anat-toolbar .anat-btn { background: transparent; border-color: transparent; color: #e8e8ee; }
.anat-toolbar .anat-btn:hover { background: rgba(255, 255, 255, .12); }
.anat-btn--primary { background: var(--mq-primary); border-color: var(--mq-primary); color: var(--mq-on-primary); }
.anat-btn--primary:hover { filter: brightness(.95); border-color: var(--mq-primary); }
.anat-btn--ghost { background: transparent; color: var(--mq-soft); }
.anat-btn[aria-pressed="true"] { border-color: var(--mq-primary); color: var(--mq-ptext); }
/* nerwy, tętnice, żyły, serce (osobny plik, wczytywany po pierwszym kliknięciu): kropka w kolorze struktur = legenda */
.anat-tog--nerves, .anat-tog--arteries, .anat-tog--veins, .anat-tog--heart { --anat-sw: #e2b93b; }
.anat-tog--arteries { --anat-sw: #c8423b; }
.anat-tog--veins { --anat-sw: #3c66c4; }
.anat-tog--heart { --anat-sw: #b14a43; }
.anat-tog--brain { --anat-sw: #e2b6a6; }
.anat-tog--spinal { --anat-sw: #dcc7ab; }
.anat-tog--eyes { --anat-sw: #7a5536; }
.anat-tog--nerves::before, .anat-tog--arteries::before, .anat-tog--veins::before, .anat-tog--heart::before, .anat-tog--brain::before, .anat-tog--spinal::before, .anat-tog--eyes::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--anat-sw); box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); }
.anat-tog.is-loading { cursor: progress; opacity: .75; }
.anat-tog.is-loading::before { animation: anat-sw-pulse .9s ease-in-out infinite alternate; }
@keyframes anat-sw-pulse { from { transform: scale(.6); opacity: .5; } to { transform: scale(1.15); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .anat-tog.is-loading::before { animation: none; } }
/* warianty modelu (np. miednica męska / żeńska): przełącznik — wybrany wariant wypełniony */
.anat-vars { display: inline-flex; gap: 2px; padding: 2px; border-radius: 9px; background: rgba(255, 255, 255, .08); }
.anat-vars[hidden] { display: none; }
.anat-toolbar .anat-var[aria-pressed="true"] { background: var(--mq-primary); border-color: var(--mq-primary); color: var(--mq-on-primary); }

.anat-panel { min-width: 0; max-height: min(70vh, 640px); overflow: auto; padding: 16px; box-sizing: border-box; background: var(--mq-card); border: 1px solid var(--mq-line); border-radius: 14px; }
.anat-panel h3 { margin: 0 0 6px; color: var(--mq-strong); font-size: 1rem; }
.anat-muted { color: var(--mq-muted); margin: 0 0 8px; }
.anat-info { padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--mq-line); }
.anat-info .anat-name { font-size: 1.15rem; color: var(--mq-ptext); }
.anat-la { margin: 0; font-style: italic; color: var(--mq-soft); }
.anat-en { margin: 2px 0 0; color: var(--mq-soft); font-size: .875rem; }
.anat-meta { margin: 6px 0 0; color: var(--mq-muted); font-size: .8125rem; }
.anat-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }

.anat-list-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.anat-list-head h3 { margin: 0; }
.anat-group { margin: 0 0 6px; }
.anat-group > summary { padding: 6px 0; color: var(--mq-muted); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.anat-ul { list-style: none; margin: 0 0 6px; padding: 0; }
.anat-li { display: flex; align-items: center; gap: 4px; }
.anat-li.is-hidden .anat-item { opacity: .5; text-decoration: line-through; }
.anat-eye { flex: none; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--mq-soft); cursor: pointer; }
.anat-eye::before { content: ""; display: block; width: 18px; height: 18px; margin: auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
.anat-eye[aria-pressed="false"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.6 10.6 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-3.2 4M6.6 6.6C3.8 8.4 2 12 2 12s3.6 7 10 7a9.6 9.6 0 0 0 5.4-1.6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.6 10.6 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-3.2 4M6.6 6.6C3.8 8.4 2 12 2 12s3.6 7 10 7a9.6 9.6 0 0 0 5.4-1.6'/%3E%3C/svg%3E"); opacity: .6; }
.anat-eye:hover { background: var(--mq-hover); color: var(--mq-strong); }
.anat-item { flex: 1; min-width: 0; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; color: var(--mq-text); font: inherit; text-align: left; cursor: pointer; }
.anat-item:hover { background: var(--mq-hover); color: var(--mq-strong); }
.anat-item.is-selected { background: var(--mq-primary-bg); color: var(--mq-ptext); font-weight: 600; }

.anat-stats { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--mq-line); }
.anat-score { margin: 0 0 8px; color: var(--mq-soft); }
.anat-score strong { font-size: 1.4rem; color: var(--mq-strong); }
.anat-weak { margin: 0 0 8px; padding-left: 18px; }
.anat-weak .anat-la { display: inline; }

.anat-progress { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 6px; color: var(--mq-soft); font-weight: 600; }
.anat-progress-score { color: var(--mq-muted); font-weight: 500; }
.anat-options { display: grid; gap: 8px; margin: 4px 0 12px; }
.anat-option { padding: 11px 14px; border: 1.5px solid var(--mq-line); border-radius: 11px; background: var(--mq-card2); color: var(--mq-strong); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.anat-option:hover:not(:disabled) { border-color: var(--mq-primary); }
.anat-option:disabled { cursor: default; opacity: .75; }
.anat-option.is-ok { border-color: var(--mq-ok); background: var(--mq-ok-bg); opacity: 1; }
.anat-option.is-bad { border-color: var(--mq-bad); background: var(--mq-bad-bg); opacity: 1; }
.anat-feedback { margin: 4px 0 12px; padding: 12px 14px; border-radius: 11px; border: 1px solid var(--mq-line); }
.anat-feedback p { margin: 4px 0 0; }
.anat-feedback.is-ok { border-color: var(--mq-ok); background: var(--mq-ok-bg); }
.anat-feedback.is-ok > strong { color: var(--mq-ok); }
.anat-feedback.is-bad { border-color: var(--mq-bad); background: var(--mq-bad-bg); }
.anat-feedback.is-bad > strong { color: var(--mq-bad-text); }
.anat-next { width: 100%; }
.anat-result .anat-big { font-size: 1.6rem; font-weight: 700; color: var(--mq-strong); margin: 4px 0 10px; }
.anat-hint { margin: 10px 0 0; color: var(--mq-muted); font-size: .8125rem; }
.mcqp-anat-credit { margin: 14px 0 0; color: var(--mq-muted); font-size: .75rem; }
.mcqp-anat-credit a { color: var(--mq-soft); }

/* pełny ekran */
.mcqp-anat.is-fullscreen { max-width: none; margin: 0; padding: 12px; box-sizing: border-box; background: var(--mq-bg); display: flex; flex-direction: column; }
.mcqp-anat.is-fullscreen .anat-main { flex: 1; min-height: 0; }
.mcqp-anat.is-fullscreen .anat-stage, .mcqp-anat.is-fullscreen .anat-panel { height: 100%; max-height: none; }
.mcqp-anat.is-fullscreen .anat-hint, .mcqp-anat.is-fullscreen .mcqp-anat-lead, .mcqp-anat.is-fullscreen .mcqp-anat-credit { display: none; }

@media (max-width: 899px) {
	.anat-main { grid-template-columns: 1fr; }
	.anat-stage { height: 62vh; min-height: 340px; }
	.anat-panel { max-height: none; }
	.mcqp-anat.is-fullscreen .anat-stage { height: 64vh; }
	.mcqp-anat.is-fullscreen .anat-panel { height: auto; overflow: auto; }
}
@media (max-width: 559px) {
	/* telefon: przyciski modeli mniejsze — 7 modeli w dwóch rzędach, model 3D wyżej na ekranie */
	.mcqp-anat-models { gap: 6px; }
	.mcqp-anat-model { padding: 6px 11px; font-size: .875rem; }
	.anat-modes { width: 100%; }
	.anat-mode { flex: 1; padding: 8px 6px; font-size: .8125rem; }
	/* telefon: przyciski pod modelem, żeby nie zasłaniały czaszki */
	.anat-stage { height: auto; min-height: 0; display: flex; flex-direction: column; }
	.anat-canvas { position: relative; inset: auto; height: 56vh; min-height: 300px; }
	.anat-toolbar { position: static; padding: 8px; gap: 6px; border-top: 1px solid var(--mq-line); background: var(--mq-card); }
	.anat-views, .anat-tools2 { width: 100%; box-sizing: border-box; justify-content: space-between; background: transparent; padding: 0; }
	.anat-toolbar .anat-btn { color: var(--mq-strong); background: var(--mq-card2); border-color: var(--mq-line); }
	.anat-toolbar .anat-btn[aria-pressed="true"] { border-color: var(--mq-primary); color: var(--mq-ptext); }   /* włączone przełączniki widać też na telefonie */
	.anat-views .anat-btn { flex: 1; padding: 7px 4px; }
	.anat-vars { background: transparent; padding: 0; }
	.anat-explode { color: var(--mq-soft); padding: 0; }
	.anat-range { width: 96px; }
	.anat-prompt { font-size: .95rem; padding: 8px 12px; }
	.mcqp-anat.is-fullscreen .anat-stage { height: auto; }
	.mcqp-anat.is-fullscreen .anat-canvas { height: 58vh; }
}
html[data-theme="light"] .anat-stage { background: radial-gradient(ellipse 80% 70% at 50% 38%, #ffffff, #e9ecf1 78%); }

/* szczegóły kości (kropki na modelu przedramienia) */
.anat-lms-title { margin: 14px 0 6px; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mq-muted); }
.anat-lms { display: flex; flex-wrap: wrap; gap: 6px; }
.anat-lm { font-size: .8125rem; text-align: left; }
.anat-btn[hidden] { display: none; }

/* wersja szczegółowa: przełącznik, opis mięśnia (przyczepy, unerwienie, czynność), komunikat o powrocie do uproszczonej */
.anat-detail { display: inline-flex; gap: 2px; padding: 2px; border-radius: 9px; background: rgba(255, 255, 255, .08); }
.anat-detail[hidden] { display: none; }
.anat-group > summary { display: flex; align-items: center; gap: 6px; list-style: none; }
.anat-group > summary::-webkit-details-marker { display: none; }
.anat-group > summary::before { content: "▸"; flex: none; width: 1em; font-size: .9em; }
.anat-group[open] > summary::before { content: "▾"; }
.anat-group > summary > span { flex: 1 1 auto; }
.anat-eye--group { width: 26px; height: 26px; }
.anat-eye--group::before { width: 16px; height: 16px; }
.anat-detail .anat-detail-btn[aria-pressed="true"] { background: var(--mq-primary); border-color: var(--mq-primary); color: var(--mq-on-primary); }
.anat-desc { margin: 8px 0 10px; font-size: .8125rem; line-height: 1.45; }
.anat-desc dt { margin: 7px 0 1px; color: var(--mq-muted); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.anat-desc dd { margin: 0; color: var(--mq-strong); }
.anat-desc .anat-la { font-size: inherit; }
.anat-notice { margin: 0 0 10px; padding: 8px 10px; border-radius: 9px; background: rgba(240, 165, 0, .14); border: 1px solid rgba(240, 165, 0, .5); color: var(--mq-strong); font-size: .8125rem; }

/* ---------- zakładka „TK / MRI” (scan.js): duży obraz warstwy po lewej, mały model 3D z płaszczyznami i panel po prawej ---------- */
.mcqp-anat[data-mode="scan"] .anat-main { grid-template-rows: auto 1fr; }
.mcqp-anat[data-mode="scan"] .scan { grid-column: 1; grid-row: 1 / span 2; }
.mcqp-anat[data-mode="scan"] .anat-stage { grid-column: 2; grid-row: 1; height: 250px; min-height: 0; }
.mcqp-anat[data-mode="scan"] .anat-panel { grid-column: 2; grid-row: 2; max-height: none; }
.mcqp-anat[data-mode="scan"] .anat-toolbar, .mcqp-anat[data-mode="scan"] .anat-tip { display: none; }
.scan { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.scan-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.scan-mods, .scan-planes { display: flex; flex-wrap: wrap; gap: 4px; }
.scan-mod[aria-pressed="true"], .scan-plane[aria-pressed="true"] { background: var(--mq-primary); border-color: var(--mq-primary); color: var(--mq-on-primary); }
.scan-plane:disabled { opacity: .45; cursor: not-allowed; }
.scan-fs { margin-left: auto; }
.scan-stage { position: relative; height: min(66vh, 600px); min-height: 340px; border: 1px solid var(--mq-line); border-radius: 14px; overflow: hidden; background: #000; touch-action: none; user-select: none; outline: none; cursor: crosshair; }
.scan-stage:focus-visible { box-shadow: 0 0 0 2px var(--mq-primary); }
.scan-img { display: block; width: 100%; height: 100%; }
.scan-line { position: absolute; pointer-events: none; opacity: .8; }
.scan-line--h { height: 1px; }
.scan-line--v { width: 1px; }
.scan-or { position: absolute; padding: 1px 6px; border-radius: 6px; background: rgba(20, 22, 26, .7); color: #e8e8ee; font-size: .8125rem; font-weight: 700; pointer-events: none; }
.scan-or--t { top: 8px; left: 50%; transform: translateX(-50%); }
.scan-or--b { bottom: 8px; left: 50%; transform: translateX(-50%); }
.scan-or--l { left: 8px; top: 50%; transform: translateY(-50%); }
.scan-or--r { right: 8px; top: 50%; transform: translateY(-50%); }
.scan-scale { position: absolute; right: 12px; bottom: 34px; height: 4px; background: #fff; border-radius: 2px; pointer-events: none; }
.scan-scale span { position: absolute; right: 0; bottom: 7px; color: #e8e8ee; font-size: .75rem; white-space: nowrap; }
.mcqp-anat.is-fullscreen .scan-stage { height: calc(100vh - 170px); }
.scan-caption { position: absolute; left: 10px; bottom: 8px; max-width: calc(50% - 30px); padding: 3px 9px; border-radius: 7px; background: rgba(20, 22, 26, .72); color: #e8e8ee; font-size: .8125rem; pointer-events: none; }
.scan-loading { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 8px 14px; border-radius: 9px; background: rgba(20, 22, 26, .85); color: #fff; font-size: .875rem; pointer-events: none; }
.scan-loading[hidden] { display: none; }
.scan-nav { display: flex; align-items: center; gap: 8px; }
.scan-range { flex: 1; min-width: 0; accent-color: var(--mq-primary); }
.scan-counter { min-width: 72px; text-align: right; color: var(--mq-soft); font-variant-numeric: tabular-nums; font-size: .875rem; }
.scan-thumbs { display: flex; gap: 8px; }
.scan-thumb { display: flex; flex-direction: column; gap: 3px; padding: 4px; border: 1px solid var(--mq-line); border-radius: 10px; background: var(--mq-card); color: var(--mq-soft); font: inherit; font-size: .75rem; cursor: pointer; }
.scan-thumb:hover { border-color: var(--mq-primary); color: var(--mq-strong); }
.scan-thumb[hidden] { display: none; }
.scan-thumb-img { display: block; width: 150px; height: 120px; border-radius: 6px; background: #000; }
.scan-panel .scan-desc { margin: 0 0 10px; color: var(--mq-text); }
.scan-adjust { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 0 0 12px; }
.scan-adjust label { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: var(--mq-soft); }
.scan-adjust label span { min-width: 64px; }
.scan-adjust .anat-range { flex: 1; width: auto; }
@media (max-width: 899px) {
	.mcqp-anat[data-mode="scan"] .anat-main { grid-template-rows: none; }
	.mcqp-anat[data-mode="scan"] .scan, .mcqp-anat[data-mode="scan"] .anat-stage, .mcqp-anat[data-mode="scan"] .anat-panel { grid-column: 1; grid-row: auto; }
	.mcqp-anat[data-mode="scan"] .anat-stage { height: 220px; }
	.scan-stage { height: 58vh; min-height: 300px; }
	.scan-thumb-img { width: 120px; height: 96px; }
}
@media (max-width: 559px) {
	.mcqp-anat[data-mode="scan"] .anat-stage { height: 200px; display: block; }
	.scan-caption { display: none; }   /* rodzaj obrazu i płaszczyzna są na przyciskach, numer warstwy przy suwaku */
	.mcqp-anat[data-mode="scan"] .anat-canvas { position: absolute; inset: 0; height: auto; min-height: 0; }
	.scan-fs { display: none; }
}
/* podpisy struktur na warstwach, podtryby (nauka / quizy) i lista struktur */
.scan-dots { position: absolute; inset: 0; pointer-events: none; }
.scan-dot { position: absolute; width: 14px; height: 14px; margin: -7px 0 0 -7px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #2f8fd8; box-shadow: 0 0 0 1px rgba(0, 0, 0, .6); cursor: pointer; pointer-events: auto; }
.scan-dot:disabled { cursor: default; }
.scan-dot.is-far { opacity: .55; }
.scan-dot.is-sel, .scan-dot.is-ask { background: #f0a500; width: 18px; height: 18px; margin: -9px 0 0 -9px; opacity: 1; }
.scan-dot.is-ok { background: #3bb273; width: 18px; height: 18px; margin: -9px 0 0 -9px; opacity: 1; }
.scan-dot.is-bad { background: #e05252; width: 18px; height: 18px; margin: -9px 0 0 -9px; opacity: 1; }
.scan-dot.is-hit { background: #3bb273; border-style: dashed; }
.scan-dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.scan-dot-txt { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); padding: 1px 6px; border-radius: 6px; background: rgba(20, 22, 26, .78); color: #fff; font-size: .75rem; font-weight: 600; line-height: 1.3; white-space: nowrap; pointer-events: none; }
.scan-dot.is-left .scan-dot-txt { left: auto; right: 16px; }
.scan-dot.is-sel .scan-dot-txt { background: #f0a500; color: #1b1b1f; }
.scan-tip { position: absolute; z-index: 4; padding: 5px 9px; border-radius: 7px; background: rgba(20, 22, 26, .92); color: #fff; font-size: .8125rem; pointer-events: none; white-space: nowrap; display: flex; flex-direction: column; gap: 1px; }
.scan-tip .anat-la { font-size: .75rem; opacity: .8; }
.scan-tip[hidden] { display: none; }
.scan-prompt { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 90px); box-sizing: border-box; padding: 8px 16px; background: rgba(20, 22, 26, .88); color: #fff; border-radius: 12px; text-align: center; font-size: 1rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); pointer-events: none; }
.scan-prompt[hidden] { display: none; }
.scan.is-quiz .scan-or--t { top: 74px; }
.scan-panel-title { margin: 0 0 8px; }
.scan-submodes { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; padding: 3px; background: var(--mq-card2); border: 1px solid var(--mq-line); border-radius: 10px; }
.scan-submode[hidden] { display: none; }
.scan-submodes[hidden] { display: none; }
.scan-submode { flex: 1 1 30%; padding: 6px 4px; border: 0; border-radius: 8px; background: transparent; color: var(--mq-soft); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; }
.scan-submode:hover { color: var(--mq-strong); background: var(--mq-hover); }
.scan-submode[aria-selected="true"] { background: var(--mq-primary); color: var(--mq-on-primary); }
.scan-submode:focus-visible { outline: 2px solid var(--mq-primary); outline-offset: 2px; }
.scan-sel { padding: 8px 10px; margin: 0 0 10px; border-radius: 10px; background: var(--mq-card2); border: 1px solid var(--mq-line); }
.scan-sel[hidden] { display: none; }
.scan-sel p { margin: 0; }
.scan-list { margin: 0 0 12px; }
.scan-item.is-sel { color: var(--mq-ptext); font-weight: 700; }
.scan-stats { margin: 0 0 12px; }
.scan-next-q { margin-top: 10px; }

/* Anatomia 3D dla niezalogowanych (0.44.0): opis, przyciski logowania, filmik z motywu */
.mcqp-anat-guest { display: grid; gap: 24px; align-items: start; max-width: 1180px; margin: 4px auto 20px; color: var(--mq-text); font-family: var(--mq-font); line-height: 1.55; }
.mcqp-anat-guest-lead { margin: 0 0 18px; font-size: 1.06rem; color: var(--mq-soft); max-width: 640px; }
.mcqp-anat-guest h2 { margin: 18px 0 10px; font-size: 1.08rem; color: var(--mq-strong); }
.mcqp-anat-guest-models { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.mcqp-anat-guest-models li { padding: 6px 14px; border: 1.5px solid var(--mq-line); border-radius: 999px; color: var(--mq-soft); font-weight: 600; font-size: .9rem; }
.mcqp-anat-guest-list { margin: 0; padding-left: 1.25em; display: grid; gap: 7px; }
.mcqp-anat-guest-list li::marker { color: var(--mq-primary); }
.mcqp-anat-guest-cta { margin-top: 22px; padding: 16px 18px; border: 1px solid var(--mq-line); border-left: 4px solid var(--mq-primary); border-radius: 12px; background: var(--mq-card); }
.mcqp-anat-guest-cta p { margin: 0; }
.mcqp-anat-guest-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px !important; }
.mcqp-anat-guest-media { display: grid; gap: 16px; }
.mcqp-anat-guest-media video, .mcqp-anat-guest-media img { display: block; width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--mq-line); }
@media (min-width: 960px) {
	.mcqp-anat-guest.has-media { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 40px; }
	.mcqp-anat-guest.has-media .mcqp-anat-guest-media { position: sticky; top: 96px; }
}
