#characters3d-dialog{padding:0;border:0;background:transparent;color:#fff8e9;width:min(1300px,calc(100vw - 16px));height:96dvh;max-width:none;max-height:96dvh;overflow:hidden;font:14px system-ui,sans-serif}#characters3d-dialog[open]{display:flex;flex-direction:column}#characters3d-dialog::backdrop{background:#100b08bf;backdrop-filter:blur(12px)}
.characters3d-header{padding:18px 55px 0 20px;flex-shrink:0}.characters3d-header h2{font-size:22px;font-weight:700;margin:0}.characters3d-close{position:absolute;top:8px;right:12px;padding:5px 10px;font-size:30px;border:0;background:none;color:inherit;cursor:pointer}
.characters3d-stage{flex:1;min-height:0;display:grid;place-items:center;perspective:1400px;overflow:hidden;touch-action:none;cursor:grab;position:relative}.characters3d-stage.is-dragging{cursor:grabbing}
.characters3d-model{width:var(--character-width,180px);height:calc(var(--character-height,300px) + var(--base-height,10px) - var(--character-insert,2px));position:relative;transform-style:preserve-3d;pointer-events:none;user-select:none}
.characters3d-standee{position:absolute;top:0;left:0;width:var(--character-width);height:var(--character-height);transform-style:preserve-3d}
.characters3d-face,.characters3d-cardboard{position:absolute;inset:0;backface-visibility:hidden}.characters3d-front{transform:translateZ(calc(var(--character-thickness)/2))}.characters3d-back{transform:rotateY(180deg) translateZ(calc(var(--character-thickness)/2))}
.characters3d-art{position:absolute;inset:0;overflow:hidden}.characters3d-art img{position:absolute;max-width:none;width:var(--art-width);height:var(--art-height);left:var(--art-left);top:var(--art-top)}.characters3d-back .characters3d-art{transform:scaleX(-1)}
.characters3d-cardboard{background:#b7a78c;backface-visibility:visible}
.characters3d-cardboard,.characters3d-face::after{-webkit-mask-image:var(--character-mask);mask-image:var(--character-mask);-webkit-mask-size:var(--art-width) var(--art-height);mask-size:var(--art-width) var(--art-height);-webkit-mask-position:var(--art-left) var(--art-top);mask-position:var(--art-left) var(--art-top);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.characters3d-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,var(--character-light,0)),transparent 65%),rgba(0,0,0,var(--character-shadow,.08))}.characters3d-back::after{transform:scaleX(-1)}
.characters3d-base{position:absolute;left:50%;top:calc(var(--character-height) - var(--character-insert));width:var(--base-diameter);height:var(--base-height);transform:translateX(-50%);transform-style:preserve-3d}
.characters3d-disc,.characters3d-base-wall{position:absolute;left:50%;top:50%;backface-visibility:hidden;background:#f5f5f2}
.characters3d-disc{width:calc(var(--base-diameter) + .5px);height:calc(var(--base-diameter) + .5px);border-radius:50%;background:radial-gradient(ellipse at 35% 30%,#fff 15%,#efefec 70%,#d5d5d0 100%)}
.characters3d-base-top{transform:translate(-50%,-50%) translateY(calc(var(--base-height)/ -2)) rotateX(90deg)}.characters3d-base-bottom{transform:translate(-50%,-50%) translateY(calc(var(--base-height)/2)) rotateX(-90deg);background:#deded9}
.characters3d-base-top::after{content:"";position:absolute;left:20%;top:calc(50% - var(--character-thickness)*.6);width:60%;height:calc(var(--character-thickness)*1.2);border-radius:2px;background:#686864;box-shadow:0 1px 1px #fff}
.characters3d-base-wall{width:var(--base-segment-width);height:var(--base-height);background:linear-gradient(to bottom,#fff,#deded9);box-shadow:none}
.characters3d-disc::before,.characters3d-base-wall::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--character-shadow,.08));pointer-events:none}.characters3d-disc::before{border-radius:50%}
.characters3d-switcher,.characters3d-controls{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:0 12px 10px}.characters3d-switcher button,.characters3d-controls button{background:#0004;border:1px solid #fff5;color:inherit;border-radius:9px;padding:10px 12px;font:600 12px system-ui,sans-serif;cursor:pointer}.characters3d-switcher button:hover,.characters3d-switcher button[aria-pressed=true],.characters3d-controls button:hover,.characters3d-controls button[aria-pressed=true]{background:#e9b52c;border-color:#e9b52c;color:#302416}
.characters3d-status{flex-shrink:0;text-align:center;font-size:11px;color:#fff8e9b3;padding:0 12px 12px;margin:0}#characters3d-dialog :focus-visible{outline:3px solid #bc861e;outline-offset:3px}
.character-card-image{position:relative;height:210px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px}.character-card-image img{position:relative;z-index:1;max-height:190px;max-width:85%;object-fit:contain}.character-card-image::after{content:"";position:absolute;bottom:10px;left:calc(50% - 38px);width:76px;height:24px;border-radius:50%;background:linear-gradient(#fff,#d7d7d3);box-shadow:0 4px 0 #bcbcb7,0 8px 12px #0004}
@media(max-width:480px){.characters3d-header h2{font-size:18px}.characters3d-switcher,.characters3d-controls{gap:5px}.characters3d-switcher button,.characters3d-controls button{padding:8px;font-size:11px}.character-card-image{height:180px}.character-card-image img{max-height:160px}}

.characters3d-standee{transform:translateX(var(--character-offset-x,0px))}

/* Deux mâchoires rectangulaires de maintien sur le disque blanc. */
.characters3d-jaw{position:absolute;left:50%;top:0;width:var(--jaw-length);height:var(--jaw-height);transform-style:preserve-3d}
.characters3d-jaw-face{position:absolute;inset:0;background:#f7f7f4;backface-visibility:hidden;clip-path:var(--jaw-profile)}
.characters3d-jaw-front{transform:translateZ(calc(var(--jaw-thickness)/2))}.characters3d-jaw-back{transform:rotateY(180deg) translateZ(calc(var(--jaw-thickness)/2))}
.characters3d-jaw-roof{position:absolute;height:var(--jaw-thickness);background:#fff;backface-visibility:hidden}
.characters3d-jaw-face::after,.characters3d-jaw-roof::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--character-shadow,.08));pointer-events:none}
.characters3d-jaw-end{position:absolute;left:50%;top:50%;width:var(--jaw-thickness);height:var(--jaw-height);background:#f7f7f4;backface-visibility:hidden}
.characters3d-jaw-end-left{transform:translate(-50%,-50%) translateX(calc(var(--jaw-length)/ -2)) rotateY(-90deg)}
.characters3d-jaw-end-right{transform:translate(-50%,-50%) translateX(calc(var(--jaw-length)/2)) rotateY(90deg)}
.characters3d-jaw-end::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--character-shadow,.08))}
.characters3d-base-bottom{background-image:var(--base-bottom-image,none);background-size:63% 63%;background-position:center;background-repeat:no-repeat}

/* Couleur opaque sur la tranche : les jonctions ne cumulent plus les ombres. */
.characters3d-base-wall::after{display:none}
/* Le Mont repose sur deux pièces de carton croisées, sans socle plastique. */
.characters3d-cross-piece{display:none;transform:rotateY(90deg)}
.characters3d-model.is-cross .characters3d-cross-piece{display:block}
.characters3d-model.is-cross .characters3d-base{display:none}
.characters3d-model.is-cross{height:var(--character-height)}
.mont3d-preview{position:relative;height:280px;display:grid;place-items:center;perspective:1000px}
.mont3d-preview::before{content:"";position:absolute;left:50%;bottom:17px;width:230px;height:38px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#0008 0%,#0004 40%,transparent 72%);filter:blur(6px);pointer-events:none}
.mont3d-preview>div{position:relative;width:240px;height:216px;transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(-32deg)}
.mont3d-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none;filter:brightness(.94) drop-shadow(1px 1px 1px #38291999)}
.mont3d-preview img+img{transform:rotateY(90deg);filter:brightness(.67) drop-shadow(1px 1px 1px #38291999)}
