/* Picture concept maps. All styles are scoped; no theme or global element changes. */
.pz-map{--pm-ink:#233a34;--pm-muted:#52675e;--pm-bg:#fbfcf7;--pm-surface:#fff;--pm-soft:#edf3e9;--pm-line:#a3b3a6;--pm-accent:#226346;--pm-accent-text:#fff;--pm-question:#75551a;--pm-question-bg:#fff0cf;--pm-focus:#a95b14;color:var(--pm-ink);background:var(--pm-bg);border:1px solid #d4dfd1;border-radius:18px;padding:20px;margin:18px 0;max-width:100%;min-width:0;font:inherit;line-height:1.5;box-sizing:border-box;text-align:left;isolation:isolate}
.pz-map *,.pz-map *::before,.pz-map *::after{box-sizing:border-box}
.pz-map [hidden]{display:none!important}
.pz-map .pz-map-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.pz-map .pz-map-title{color:var(--pm-ink);font-size:clamp(18px,2.5vw,24px);font-weight:750;line-height:1.25;letter-spacing:0;text-transform:none;margin:0;padding:0;border:0;background:none}
.pz-map .pz-map-modes,.pz-map .pz-map-practice-actions{display:flex;flex-wrap:wrap;gap:8px}
.pz-map .pz-map-button{appearance:none;box-shadow:none;background:var(--pm-surface);color:var(--pm-ink);font:inherit;font-size:14px;font-weight:650;line-height:1.3;text-transform:none;letter-spacing:0;border:1px solid var(--pm-line);border-radius:10px;padding:10px 14px;min-height:44px;max-width:100%;cursor:pointer;white-space:normal;margin:0}
.pz-map .pz-map-button:hover:not(:disabled){background:var(--pm-soft);color:var(--pm-ink);border-color:var(--pm-accent)}
.pz-map .pz-map-button[aria-pressed=true],.pz-map .pz-map-button[aria-pressed=true]:hover{background:var(--pm-accent);color:var(--pm-accent-text);border-color:var(--pm-accent)}
.pz-map .pz-map-button:disabled{cursor:default;opacity:1;background:var(--pm-soft);color:var(--pm-muted);border-color:var(--pm-line)}
.pz-map .pz-map-button:focus-visible,.pz-map input:focus-visible,.pz-map summary:focus-visible{outline:3px solid var(--pm-focus);outline-offset:4px}
.pz-map .pz-map-instructions{font-size:14px;color:var(--pm-muted);margin:12px 0 0;padding:0}
.pz-map .pz-map-board{position:relative;width:100%;height:560px;margin:8px 0;border-radius:16px;background:radial-gradient(circle at center,var(--pm-soft),var(--pm-bg) 68%);overflow:hidden}
.pz-map .pz-map-connectors{position:absolute;inset:0;max-width:none!important;width:100%;height:100%;pointer-events:none;overflow:visible}
.pz-map .pz-map-connector{fill:none;stroke:var(--pm-line);stroke-width:2.1;stroke-linecap:round}
.pz-map .pz-map-connector.is-active{stroke:var(--pm-accent);stroke-width:3.4}
.pz-map .pz-map-connector.is-question{stroke-dasharray:5 5}
.pz-map .pz-map-arrow-normal{fill:var(--pm-line)}
.pz-map .pz-map-arrow-active{fill:var(--pm-accent)}
.pz-map .pz-map-edge-label{position:absolute;z-index:1;background:var(--pm-bg);color:var(--pm-ink);font-size:12px;font-weight:600;line-height:1.35;text-align:center;padding:5px 7px;border-radius:7px;border:1px solid var(--pm-line);overflow-wrap:anywhere}
.pz-map .pz-map-edge-label.is-active{border-color:var(--pm-accent)}
.pz-map .pz-map-edge-label.is-question,.pz-map .pz-map-lane-label.is-question{background:var(--pm-question-bg);color:var(--pm-question);border-color:var(--pm-question)}
.pz-map .pz-map-node{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:124px;max-width:none;padding:5px 6px 8px;border:2px solid transparent;background:var(--pm-bg);border-radius:16px;z-index:2;box-shadow:none;text-align:center;color:var(--pm-ink)}
.pz-map .pz-map-board>.pz-map-node{position:absolute}
.pz-map .pz-map-node:hover:not(:disabled){border-color:var(--pm-accent);background:var(--pm-soft)}
.pz-map .pz-map-node[aria-pressed=true],.pz-map .pz-map-node[aria-pressed=true]:hover{color:var(--pm-ink);background:var(--pm-soft);border-color:var(--pm-accent);box-shadow:0 0 0 2px var(--pm-accent)}
.pz-map .pz-map-node.is-neighbor{border-color:var(--pm-line);background:var(--pm-soft)}
.pz-map .pz-map-node-picture{display:flex;align-items:center;justify-content:center;width:86px;height:86px;border-radius:14px;flex-shrink:0;background:#f8faf5;overflow:hidden}
.pz-map .pz-map-node-picture img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;border:0;border-radius:0;margin:0;padding:0;background:transparent}
.pz-map .pz-map-node-picture.is-unavailable::after{content:'◇';color:#52675e;font-size:40px;line-height:1}
.pz-map .pz-map-node-label{font-size:13px;font-weight:700;line-height:1.25;overflow-wrap:anywhere;color:inherit}
.pz-map .pz-map-lanes{display:none;margin:16px 0}
.pz-map.is-compact .pz-map-lanes{display:grid;gap:12px}
.pz-map .pz-map-lane{display:grid;grid-template-columns:minmax(0,1fr) minmax(78px,1.15fr) minmax(0,1fr);gap:5px;align-items:center;border:1px solid var(--pm-line);border-radius:14px;padding:8px 4px;background:var(--pm-surface)}
.pz-map .pz-map-lane.is-active{border-color:var(--pm-accent);background:var(--pm-soft)}
.pz-map .pz-map-lane .pz-map-node{padding:4px 2px;min-height:110px;width:100%;background:transparent}
.pz-map .pz-map-lane .pz-map-node-picture{width:min(74px,100%);height:auto;aspect-ratio:1}
.pz-map .pz-map-lane .pz-map-node-label{font-size:12px}
.pz-map .pz-map-lane-connector{text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.pz-map .pz-map-lane-label{display:block;color:var(--pm-ink);font-size:12px;line-height:1.4;font-weight:600;overflow-wrap:anywhere;border:1px solid transparent;border-radius:6px;padding:4px}
.pz-map .pz-map-lane-arrow{display:block;width:100%;font-size:30px;line-height:1;color:var(--pm-accent)}
.pz-map .pz-map-selection{margin:12px 0;padding:14px;background:var(--pm-soft);border:1px solid var(--pm-line);border-radius:12px;color:var(--pm-ink);font-size:14px}
.pz-map .pz-map-selection strong{color:var(--pm-ink)}
.pz-map .pz-map-selection ul,.pz-map .pz-map-text-relations ul{margin:8px 0 14px;padding-left:22px;color:var(--pm-ink)}
.pz-map .pz-map-selection li,.pz-map .pz-map-text-relations li{margin:6px 0;color:var(--pm-ink);font-size:14px}
.pz-map .pz-map-text-relations{margin:12px 0;padding:8px 0;color:var(--pm-muted);font-size:13px}
.pz-map .pz-map-text-relations summary{cursor:pointer;display:list-item;list-style:disclosure-closed;padding:5px 0;color:var(--pm-muted)}
.pz-map .pz-map-text-relations[open] summary{list-style:disclosure-open}
.pz-map .pz-map-practice{border-top:1px solid var(--pm-line);padding-top:12px;margin-top:10px;min-width:0}
.pz-map .pz-map-progress{color:var(--pm-accent);font-size:14px;font-weight:750;margin:4px 0 18px}
.pz-map .pz-map-task{min-width:0;border:1px solid var(--pm-line);border-radius:12px;padding:14px;margin:0 0 18px;background:var(--pm-surface);color:var(--pm-ink)}
.pz-map .pz-map-task legend{color:var(--pm-ink);font:inherit;font-size:15px;font-weight:750;line-height:1.4;max-width:100%;width:auto;float:none;white-space:normal;margin:0;padding:0 6px;background:var(--pm-surface);border:0}
.pz-map .pz-map-task-context{color:var(--pm-muted);font-size:13px;margin:0 0 12px;overflow-wrap:anywhere}
.pz-map .pz-map-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:8px;margin:0 0 12px}
.pz-map .pz-map-option{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:46px;border:1px solid var(--pm-line);border-radius:10px;background:var(--pm-bg);color:var(--pm-ink);font-size:14px;line-height:1.4;cursor:pointer;font-weight:500;text-transform:none;letter-spacing:0;margin:0;word-break:normal;overflow-wrap:anywhere}
.pz-map .pz-map-option:has(input:checked){border-color:var(--pm-accent);background:var(--pm-soft);box-shadow:inset 0 0 0 1px var(--pm-accent)}
.pz-map .pz-map-option input{appearance:auto;accent-color:var(--pm-accent);width:18px!important;height:18px!important;min-width:18px;padding:0;margin:0;flex:0 0 18px;border:0;box-shadow:none}
.pz-map .pz-map-feedback{font-size:13px;line-height:1.45;color:var(--pm-muted);margin:9px 0 0;min-height:1.45em}
.pz-map .pz-map-feedback.is-right,.pz-map .pz-map-complete{color:var(--pm-accent);background:var(--pm-soft);padding:10px;border-radius:8px}
.pz-map .pz-map-feedback.is-wrong{color:var(--pm-question);background:var(--pm-question-bg);padding:10px;border-radius:8px}
.pz-map .pz-map-note{color:var(--pm-muted);font-size:12px;margin:10px 0 0}
.pz-map .pz-map-complete{font-size:14px;margin:0 0 16px}
[data-peazit-theme=dark] .pz-map,.pz-map[data-theme=dark],[data-theme=dark] .pz-map{--pm-ink:#e5eee7;--pm-muted:#b8c9bd;--pm-bg:#15251d;--pm-surface:#1c2f24;--pm-soft:#2b4232;--pm-line:#779580;--pm-accent:#ade2ba;--pm-accent-text:#15291c;--pm-question:#f5d69d;--pm-question-bg:#483b25;--pm-focus:#ffc478;border-color:#577560;color-scheme:dark}
@media(max-width:480px){.pz-map{padding:12px;border-radius:13px}.pz-map .pz-map-button{font-size:13px;padding:9px 11px}.pz-map .pz-map-task{padding:10px}.pz-map .pz-map-task legend{font-size:14px}.pz-map .pz-map-option{font-size:13px}.pz-map .pz-map-lane{gap:2px}.pz-map .pz-map-lane-label{font-size:11px;padding:3px}.pz-map .pz-map-node-label{font-size:11px}.pz-map .pz-map-instructions{font-size:13px}}
@media(prefers-reduced-motion:reduce){.pz-map *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.pz-map{break-inside:avoid;border:0}.pz-map .pz-map-modes,.pz-map .pz-map-practice-actions,.pz-map .pz-map-task>.pz-map-button{display:none}.pz-map .pz-map-node{print-color-adjust:exact}}
