/* Prototype remplaçable : logique dans character.js, dessin de base dans
   assets/character/prototype-core.svg, variations et accessoires ici. */
.character-prototype{--character-size:10rem;position:relative;display:block;width:var(--character-size);aspect-ratio:24/29;isolation:isolate;pointer-events:none;filter:drop-shadow(0 1rem 1.25rem rgba(0,0,0,.28))}.character-prototype .character-core{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.character-face{position:absolute;z-index:2;left:50%;top:42%;display:flex;align-items:center;justify-content:space-between;width:34%;height:12%;translate:-50% -50%}.character-face i{display:block;width:27%;aspect-ratio:1;border-radius:50%;background:#d9ff53;box-shadow:0 0 .75rem rgba(217,255,83,.95)}.character-face:after{content:"";position:absolute;left:50%;bottom:-52%;width:33%;height:23%;translate:-50% 0;border-bottom:2px solid #75e4dd;border-radius:0 0 50% 50%}.character-prototype[data-mood="thinking"] .character-face{transform:rotate(-7deg)}.character-prototype[data-mood="thinking"] .character-face i:last-child{height:35%;margin-top:-19%}.character-prototype[data-mood="happy"] .character-face:after{height:42%;border-width:3px}.character-prototype[data-mood="dubious"] .character-face:after{width:23%;height:0;border-radius:0;transform:rotate(-11deg)}.character-prototype[data-mood="sleepy"] .character-face i{height:16%;border-radius:100% 100% 0 0;box-shadow:none}.character-prototype[data-mood="surprised"] .character-face:after{bottom:-42%;width:18%;height:40%;border:2px solid #75e4dd;border-radius:50%}.character-prototype[data-mood="cold"] .character-face{animation:character-shiver .32s linear infinite alternate}.character-prototype[data-mood="hot"] .character-face{animation:character-pant 1.2s ease-in-out infinite}.character-accessory,.character-prop{position:absolute;z-index:3;display:block}.character-prototype[data-accessory="umbrella"] .character-accessory{left:-6%;top:4%;width:92%;height:34%;border:5px solid #f4f3e8;border-bottom:0;border-radius:100% 100% 0 0;rotate:-12deg}.character-prototype[data-accessory="umbrella"] .character-accessory:after{content:"";position:absolute;right:7%;top:82%;width:5px;height:5.5rem;border-radius:99px;background:#f4f3e8;box-shadow:.4rem 5.1rem 0 -.15rem #f4f3e8}.character-prototype[data-accessory="coffee"] .character-prop{right:-6%;bottom:16%;width:2.1rem;height:2rem;border:3px solid #f4f3e8;border-radius:.25rem .25rem .7rem .7rem;background:#ff8469}.character-prototype[data-accessory="coffee"] .character-prop:before{content:"";position:absolute;top:-.45rem;left:.15rem;width:1.6rem;height:.45rem;border-radius:50%;background:rgba(244,243,232,.75);filter:blur(.15rem);animation:steam 2.2s ease-in-out infinite}.character-prototype[data-accessory="sunshade"] .character-accessory{right:-11%;top:12%;width:4rem;height:4rem;border-radius:50%;background:#f9ce57;box-shadow:0 0 0 .5rem rgba(249,206,87,.2),0 0 2rem rgba(249,206,87,.6)}.character-prototype[data-accessory="scarf"] .character-prop{left:20%;bottom:18%;width:58%;height:.8rem;border-radius:99px;background:#ff8469;rotate:8deg}.character-prototype[data-accessory="leaf"] .character-prop{right:-3%;top:19%;width:3.5rem;height:1.2rem;border-radius:100% 0 100% 0;background:#d9ff53;rotate:-27deg;animation:leaf-fly 1.5s ease-in-out infinite}.character-prototype[data-weather="rain"]:after,.character-prototype[data-weather="drizzle"]:after,.character-prototype[data-weather="heavy-rain"]:after{content:"";position:absolute;z-index:-1;inset:23% -14% -8%;background:repeating-linear-gradient(112deg,transparent 0 .55rem,rgba(117,228,221,.8) .58rem .66rem,transparent .7rem 1.35rem);opacity:.7;animation:rain-fall .6s linear infinite}.character-prototype[data-weather="snow"]:after{content:"✦  ·  ✦";position:absolute;z-index:-1;inset:8% -22%;color:#f4f3e8;letter-spacing:.65rem;animation:snow-fall 4s linear infinite}.character-prototype[data-weather="storm"]:after{content:"ϟ";position:absolute;z-index:4;right:-2%;top:7%;color:#f9ce57;font-size:3rem;text-shadow:0 0 1rem #f9ce57;animation:lightning 4s steps(1,end) infinite}.character-prototype[data-period="night"]{filter:brightness(.82) saturate(.86) drop-shadow(0 1rem 1.25rem rgba(0,0,0,.38))}.character-prototype[data-period="evening"]{filter:saturate(1.08) drop-shadow(0 1rem 1.25rem rgba(0,0,0,.28))}.character-prototype[data-state="point"]{animation:character-point 2.8s ease-in-out infinite}.character-prototype[data-state="hello"]{animation:character-wave 2.4s ease-in-out infinite}.character-prototype[data-state="idle"]{animation:character-float 4.5s ease-in-out infinite}.character-prototype[data-state="guide"]{animation:character-guide 5s ease-in-out infinite}@keyframes character-float{50%{translate:0 -.55rem}}@keyframes character-wave{45%{rotate:4deg;translate:0 -.45rem}60%{rotate:-4deg}}@keyframes character-point{50%{translate:.65rem -.25rem;rotate:-3deg}}@keyframes character-guide{50%{translate:-.35rem -.7rem;rotate:2deg}}@keyframes character-shiver{to{translate:.14rem 0}}@keyframes character-pant{50%{scale:1.035 1}}@keyframes rain-fall{to{background-position:0 2.4rem}}@keyframes snow-fall{to{translate:0 1.3rem}}@keyframes lightning{0%,5%,100%{opacity:0}6%,8%{opacity:1}}@keyframes steam{50%{translate:.25rem -1.15rem;opacity:.2}}@keyframes leaf-fly{50%{translate:1.5rem -.9rem;rotate:24deg}}@media(prefers-reduced-motion:reduce){.character-prototype,.character-prototype[data-state],.character-prototype[data-mood],.character-prototype[data-weather]:after,.character-prototype[data-accessory] .character-prop{animation:none!important}}
