paimm-mechanism{display:block;min-width:0;margin:20px 0;scroll-margin-top:90px;container-type:inline-size}
paimm-mechanism[hidden],.clear-map-visual[hidden],.plate-project-guide[hidden]{display:none!important}
.labelled-plate{margin:0;border:1px solid #809f9b70;border-radius:19px;overflow:hidden;background:var(--plate-panel,#fffdf6);color:var(--plate-ink,#183d40);font:17px/1.8 system-ui,"Microsoft YaHei",sans-serif}
.labelled-plate header{padding:16px 20px 8px}.labelled-plate .plate-kicker{font-size:14px!important;letter-spacing:1px;margin:0}.labelled-plate h3{font-size:23px!important;margin:3px 0 8px!important;line-height:1.5}
.plate-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:16px;align-items:start}
.plate-art{position:relative;aspect-ratio:1.5;background:#fbf8f0;overflow:hidden}.plate-enlarge{display:block!important;border:0!important;padding:0!important;border-radius:0!important;min-height:0!important;width:100%;background:transparent!important;cursor:zoom-in!important}.plate-art img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0!important;border-radius:0!important}
.plate-callouts{position:absolute;inset:0;pointer-events:none}.plate-callouts span{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#fffdf5;color:#15484b;border:2px solid #216c73;font:bold 17px/1 system-ui;box-shadow:0 1px 7px #082d3650}.plate-callouts span.current{background:#18636a;color:#fffdf5;outline:3px solid #f4bc6a;outline-offset:2px}
.plate-key{padding:0 16px 12px 0;min-width:0}.plate-key-title{font-size:16px!important;margin:10px 0}.plate-key ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plate-key li{padding:0!important;margin:0!important;font-size:17px!important}.plate-key button[data-structure]{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:9px 12px;border:1px solid #789c9670;border-radius:11px;background:var(--plate-paper,#f4f6f0);color:inherit;text-align:left;font:inherit;cursor:pointer;line-height:1.5}.plate-key [data-structure]>span{flex:none;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#1e646b;color:#fffdf5;font-weight:800}.plate-key [data-structure]>strong{font-size:17px!important;overflow-wrap:anywhere}.plate-key [data-structure][aria-pressed=true]{outline:2px solid var(--plate-accent,#256c72);outline-offset:1px}.plate-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}.plate-controls button{min-height:44px;font:inherit;color:inherit;background:var(--plate-paper,#f3f5ee);border:1px solid #789c9670;border-radius:10px;padding:7px 12px}.plate-status{font-size:16px}
.labelled-plate figcaption{padding:10px 18px;font-size:15px!important;line-height:1.7}.plate-hd{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer;min-height:44px}.plate-explanation{padding:0 18px 16px}.plate-explanation h4{font-size:19px;margin:8px 0}.plate-explanation p{font-size:17px!important;line-height:1.9;margin:0;white-space:normal}.plate-sources{padding:0 18px 16px;font-size:16px}.plate-sources summary{min-height:44px;cursor:pointer}.plate-sources a{color:inherit}.plate-viewer{max-width:min(96vw,1600px);max-height:94vh;background:#fffdf6;color:#183d40;border:1px solid #789c96;border-radius:17px;padding:20px;font:17px/1.8 system-ui}.plate-close{position:sticky;top:0;float:right;min-width:48px;min-height:48px;background:#fffdf6;color:#183d40;border:1px solid #789c96;border-radius:10px;font-size:26px}.plate-viewer::backdrop{background:#06232be0}.plate-viewer h2{font-size:25px;line-height:1.5}.plate-full-art{position:relative;min-width:0}.plate-full-art img{width:100%;height:auto;display:block}.plate-full-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-left:22px}.plate-full-key li{font-size:17px}.plate-full-key p{font-size:16px}
.clear-map-visual:has(paimm-mechanism){background:transparent!important;padding:0!important}.clear-map-visual paimm-mechanism{margin:0}.clear-map-visual .plate-explanation{display:none}.plate-image-only .plate-body{display:block}.plate-image-only .plate-key{padding:12px 16px}.plate-image-only .plate-key ol{grid-template-columns:repeat(2,minmax(0,1fr))}.plate-image-only .plate-key-title{margin:0 0 8px}.plate-image-only .plate-art{aspect-ratio:auto}.plate-image-only .plate-art img{position:static!important}
paimm-mechanism[data-touring=true] .plate-callouts .current{animation:plate-glow .7s ease-in-out infinite alternate}@keyframes plate-glow{to{box-shadow:0 0 17px #f5b657}}
@container(max-width:750px){.plate-body{display:block}.plate-key{padding:8px 14px 12px}.plate-key ol{grid-template-columns:repeat(2,minmax(0,1fr))}.plate-key button[data-structure]{padding:8px;gap:6px}.labelled-plate h3{font-size:21px!important}.plate-full-key{grid-template-columns:1fr}.plate-panels .plate-art{position:relative}.plate-panels .plate-art img{position:absolute;width:200%!important;max-width:none!important;left:calc(-100% * var(--plate-col,0));top:calc(-100% * var(--plate-row,0))}.plate-panels .plate-art [data-marker]{display:none}.plate-panels .plate-art [data-marker].current{display:grid;left:7%!important;top:9%!important}}
@media(prefers-reduced-motion:reduce){paimm-mechanism *{animation:none!important;transition:none!important}}

.plate-project-guide{max-width:1280px;margin:24px auto;padding:14px 18px;border:1px solid #819e9470;border-radius:16px;font:18px/1.8 system-ui;color:inherit}
.plate-project-guide>summary{cursor:pointer;min-height:44px;padding:6px;font-weight:700}
[data-theme=dark] .labelled-plate{--plate-panel:#102e36;--plate-paper:#163c43;--plate-ink:#ecf7ee;--plate-accent:#8dd4c9}
.plate-project-guide[open]{background:transparent}

.plate-optical-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.plate-optical-paths polyline{fill:none;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.plate-light-path{stroke:#ffb21a;filter:drop-shadow(0 0 2px #fff7c1)}.plate-neural-path{stroke:#087db3;stroke-dasharray:7 4;filter:drop-shadow(0 0 1px white)}.plate-path-key{font-size:16px;padding:4px 18px 10px}.plate-path-key:empty{display:none}
