/* au-cabinet.fr / dermoscopie — bloc de peau 3D (styles de la visionneuse) */
.p3d{position:relative;border:3px solid var(--gm-encre,#1B2B38);border-radius:3px;background:#F5F1E6;box-shadow:6px 6px 0 var(--gm-encre,#1B2B38);overflow:hidden}
.p3d-stage{position:relative;width:100%;aspect-ratio:16/10;min-height:16rem}
.p3d-gl{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.p3d-gl:focus-visible{outline:3px solid #F47A30;outline-offset:-3px}
.p3d-lines{position:absolute;inset:0;pointer-events:none;stroke:#1B2B38;stroke-width:1.2;fill:#1B2B38}
.p3d-labs{position:absolute;inset:0;pointer-events:none}
.p3d-lab{position:absolute;left:0;top:0;font:600 .72rem/1.15 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.02em;padding:.18rem .4rem;background:#FFFDF7;border:1.5px solid #1B2B38;border-radius:2px;white-space:nowrap}
.p3d-lab.k-el{background:#FFD84F}
.p3d-msg{position:absolute;inset:auto 1rem 1rem 1rem;font-size:.9rem;background:#FFFDF7;border:2px solid #1B2B38;padding:.5rem .7rem}
.p3d-hint{position:absolute;right:.5rem;bottom:.4rem;font:500 .7rem "IBM Plex Mono",monospace;color:#1B2B38;opacity:.7;pointer-events:none;transition:opacity .4s}
.p3d-used .p3d-hint{opacity:0}
.p3d-bar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.6rem .7rem;border-top:3px solid #1B2B38;background:#FFFDF7}
.p3d-views button,.p3d-lay .chip{font:600 .78rem "Atkinson Hyperlegible",system-ui,sans-serif;border:2px solid #1B2B38;background:#FFFDF7;border-radius:2px;padding:.25rem .55rem;cursor:pointer;min-height:2.2rem}
.p3d-views button.on{background:#1B2B38;color:#FFFDF7}
.p3d-lay{display:flex;flex-wrap:wrap;gap:.3rem}
.p3d-lay .chip:not(.on){opacity:.45;text-decoration:line-through}
.p3d-rng{display:flex;flex-direction:column;gap:.1rem;font:600 .72rem "IBM Plex Mono",monospace;min-width:9rem}
.p3d-rng input{width:100%;min-height:1.8rem}
.p3d-cap{padding:.6rem .8rem;border-top:2px dashed #1B2B38;font-size:.95rem;line-height:1.45;min-height:3.2rem;background:#FFFDF7}
.p3d-repli{display:block;width:100%;height:auto}
@media (max-width:40rem){.p3d-stage{aspect-ratio:4/5}.p3d-lab{font-size:.62rem}.p3d-rng{min-width:100%}}
.p3d-leg{padding:.55rem .8rem .2rem;border-top:2px dashed #1B2B38;background:#FFFDF7}
.p3d-leg-t{margin:0 0 .35rem;font:600 .74rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.p3d-leg-t span{text-transform:none;letter-spacing:0;font-weight:400;color:#4a5a66}
.p3d-leg-l{display:flex;flex-wrap:wrap;gap:.3rem}
.p3d-puce{display:inline-flex;align-items:center;gap:.35rem;font:600 .8rem "Atkinson Hyperlegible",system-ui,sans-serif;border:1.5px solid #1B2B38;border-radius:2px;background:#FFFDF7;padding:.25rem .5rem;cursor:pointer;min-height:2.2rem;color:#1B2B38;text-align:left}
.p3d-puce i{display:inline-block;flex:none;width:.85rem;height:.85rem;border-radius:50%;border:1.5px solid #1B2B38}
.p3d-puce.on,.p3d-puce:hover{background:#FFD84F}
.p3d-fiche-e{margin:.45rem 0 .2rem;font-size:.9rem}
.p3d-mini{border-left:5px solid #FFD84F;padding-left:.6rem}
.p3d-mini p{margin:.2rem 0}
.p3d-mini-t{font-size:1rem}
.p3d-nu span b{font-weight:700}
