/* Pico provides one useful nudge without taking over the workspace. */
.pico-avatar{display:block;flex:none;width:80px;height:80px;overflow:visible;filter:drop-shadow(0 3px 3px #53362710)}
.companion-card{--companion-bg:#f4f1fd;--companion-line:#e1d9f4;--companion-accent:#7963b6;display:flex;align-items:flex-start;gap:15px;padding:19px 20px;border:1px solid var(--companion-line);border-radius:15px;background:var(--companion-bg);color:#38465a;margin:18px 0;min-width:0;text-align:left;line-height:1.6}
.companion-avatar{flex:none;display:grid;place-items:center;width:80px;height:80px;margin:-3px 0 0 -3px;user-select:none}
.companion-content{min-width:0;flex:1;padding-top:2px}
.companion-label{display:block;color:var(--companion-accent);font-size:10px;font-weight:720;letter-spacing:.035em;line-height:1.6;margin-bottom:5px}
.companion-title{font-size:16px!important;line-height:1.45!important;letter-spacing:-.018em!important;margin:0 0 7px!important;color:#2d3d55;font-weight:700;overflow-wrap:anywhere}
.companion-text{font-size:13px!important;line-height:1.75!important;letter-spacing:0;margin:0!important;color:#65718b;white-space:pre-line;overflow-wrap:anywhere}
.companion-indice{--companion-bg:#fff8ed;--companion-line:#eee1c8;--companion-accent:#9c733d}
.companion-conseil{--companion-bg:#f0f7ec;--companion-line:#dce9d2;--companion-accent:#648447}
.companion-compact{padding:13px 14px;border-radius:12px;gap:11px;margin:12px 0;align-items:center}
.companion-compact .companion-avatar{width:56px;height:56px;margin:0 0 0 -2px}
.companion-compact .pico-avatar{width:56px;height:56px}
.companion-compact .companion-content{padding:0}
.companion-compact .companion-label{font-size:9px;margin-bottom:3px}
.companion-compact .companion-title{font-size:14px!important;margin-bottom:4px!important}
.companion-compact .companion-text{font-size:12px!important;line-height:1.7!important}
.simulator-guide .companion-card{margin:12px 0 16px;padding:13px 12px;border-radius:12px;gap:9px}
.simulator-guide .companion-avatar{width:60px;height:60px;margin:0 0 0 -3px}
.simulator-guide .pico-avatar{width:60px;height:60px}
.simulator-guide .companion-title{font-size:14px!important;line-height:1.5!important}
.simulator-guide .companion-text{font-size:12px!important;line-height:1.65!important}
.outcome .companion-card{max-width:630px;margin:22px auto;text-align:left}
.hacker-panel .companion-card{margin:19px 0}
.mode-hacker .companion-card{--companion-bg:#1b2635;--companion-line:#3d3a58;--companion-accent:#bea9eb;color:#d4ddec}
.mode-hacker .companion-indice{--companion-bg:#29281f;--companion-line:#5a4b33;--companion-accent:#d6b988}
.mode-hacker .companion-conseil{--companion-bg:#243023;--companion-line:#4b603a;--companion-accent:#c2dc93}
.mode-hacker .companion-title{color:#e0e8f4}
.mode-hacker .companion-text{color:#a5b5c8}
.mode-hacker .pico-avatar{filter:drop-shadow(0 3px 5px #0002)}
@media(max-width:760px){.companion-card{padding:16px;gap:12px;border-radius:13px}.companion-avatar{width:64px;height:64px;margin:0 0 0 -3px}.pico-avatar{width:64px;height:64px}.companion-title{font-size:15px!important}.companion-text{font-size:12px!important;line-height:1.75!important}.companion-label{font-size:9px}.companion-compact{padding:12px;gap:9px}.companion-compact .companion-avatar,.companion-compact .pico-avatar{width:56px;height:56px}.simulator-guide .companion-card{padding:12px 10px;gap:8px}.simulator-guide .companion-avatar,.simulator-guide .pico-avatar{width:56px;height:56px}.simulator-guide .companion-label{font-size:8px}.simulator-guide .companion-title{font-size:13px!important}.simulator-guide .companion-text{font-size:12px!important}.outcome .companion-card{margin:20px 0}}
@media(max-width:390px){.companion-card{padding:14px 12px;gap:10px}.companion-avatar,.pico-avatar{width:56px;height:56px}.companion-title{font-size:14px!important}.companion-text{font-size:12px!important}.companion-compact{padding:12px 10px;gap:8px}}
@media(prefers-reduced-motion:reduce){.companion-card,.pico-avatar{animation:none!important;transition:none!important}}

/* Lumi: separate body parts give the character a real presence. */
.lumi-avatar{display:block;width:100px;height:100px;overflow:visible;flex:none;filter:drop-shadow(0 3px 3px #1e506514)}
.companion-avatar{width:100px;height:100px}.companion-compact .companion-avatar,.companion-compact .lumi-avatar{width:70px;height:70px}.simulator-guide .companion-avatar,.simulator-guide .lumi-avatar{width:80px;height:80px}
.lumi-body{transform-origin:80px 90px;animation:lumi-float 4.5s ease-in-out infinite}.lumi-shadow{transform-origin:80px 145px;animation:lumi-shadow 4.5s ease-in-out infinite}.lumi-head{transform-origin:80px 90px}.lumi-eyes{transform-origin:80px 68px;animation:lumi-blink 6.5s infinite}.lumi-wing{transform-box:view-box}.lumi-wing-left{transform-origin:53px 82px;animation:lumi-wing-left 3s ease-in-out infinite}.lumi-wing-right{transform-origin:107px 82px;animation:lumi-wing-right 3s ease-in-out infinite}.lumi-glow{animation:lumi-light 4.5s ease-in-out infinite}.lumi-hand-right{transform-origin:110px 96px}.lumi-speaking-mouth{display:none;transform-origin:80px 86px}.lumi-talking .lumi-speaking-mouth{display:block;animation:lumi-talk .38s ease-in-out infinite}.lumi-talking .lumi-smile{display:none}.lumi-talking .lumi-head{animation:lumi-nod 1.9s ease-in-out infinite}.lumi-talking .lumi-hand-right{animation:lumi-wave 1.6s ease-in-out infinite}.companion-conseil .lumi-talking .lumi-hand-right{animation:lumi-wave 1.3s ease-in-out infinite}
.companion-controls{display:flex;gap:8px;align-items:center;margin-top:9px}.companion-controls button{background:transparent;color:inherit;border:1px solid #9bacc655;border-radius:7px;padding:5px 9px;min-height:36px;font:inherit;font-size:11px;cursor:pointer}.companion-controls button:hover{background:#9bacc61c}.companion-controls [data-companion-motion]{width:36px;padding:5px}.mode-hacker .companion-controls{color:#bac9e1}
@keyframes lumi-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes lumi-shadow{0%,100%{transform:scaleX(1);opacity:.12}50%{transform:scaleX(.83);opacity:.08}}
@keyframes lumi-blink{0%,43%,47%,76%,80%,100%{transform:scaleY(1)}45%,78%{transform:scaleY(.08)}}
@keyframes lumi-wing-left{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
@keyframes lumi-wing-right{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
@keyframes lumi-light{0%,100%{opacity:.85}50%{opacity:1;filter:drop-shadow(0 0 4px #ffe39e)}}
@keyframes lumi-talk{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes lumi-nod{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes lumi-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
.lumi-motion-paused .lumi-avatar *{animation:none!important}.lumi-motion-paused .lumi-speaking-mouth{display:none}.lumi-motion-paused .lumi-smile{display:block}
@media(max-width:760px){.companion-avatar,.lumi-avatar{width:80px;height:80px}.companion-compact .companion-avatar,.companion-compact .lumi-avatar{width:64px;height:64px}.simulator-guide .companion-avatar,.simulator-guide .lumi-avatar{width:70px;height:70px}.companion-controls button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.lumi-avatar *{animation:none!important;transition:none!important}.lumi-speaking-mouth{display:none!important}.lumi-smile{display:block!important}}

/* Bilan réussi : Lumi saute de joie au milieu de confettis, trois fois puis se pose. */
.companion-avatar{position:relative}
.companion-celebrate .lumi-avatar{transform-origin:50% 90%;animation:lumi-cheer-jump .7s ease-out .3s 3 both}
.companion-celebrate .lumi-hand-right{animation:lumi-wave .45s ease-in-out .3s 5}
.companion-celebrate .lumi-hand-left{transform-origin:51px 96px;animation:lumi-cheer-left .45s ease-in-out .3s 5}
.lumi-confetti{position:absolute;inset:0;pointer-events:none}
.lumi-confetti i{position:absolute;left:50%;top:45%;width:8px;height:11px;border-radius:2px;background:var(--c,#f6ca74);opacity:0;animation:lumi-confetti 1.6s cubic-bezier(.2,.7,.4,1) var(--d,.3s) 2 both}
.lumi-confetti i:nth-child(1){--x:-46px;--y:-40px;--r:200deg;--c:#f6ca74}
.lumi-confetti i:nth-child(2){--x:44px;--y:-44px;--r:-160deg;--c:#7fd1a0;--d:.38s}
.lumi-confetti i:nth-child(3){--x:-30px;--y:-58px;--r:120deg;--c:#8f7ad2;--d:.45s}
.lumi-confetti i:nth-child(4){--x:30px;--y:-60px;--r:-220deg;--c:#f1aaa1;--d:.33s}
.lumi-confetti i:nth-child(5){--x:-54px;--y:-6px;--r:260deg;--c:#4d9ca7;--d:.5s}
.lumi-confetti i:nth-child(6){--x:54px;--y:-10px;--r:-200deg;--c:#f6ca74;--d:.42s}
.lumi-confetti i:nth-child(7){--x:-12px;--y:-66px;--r:180deg;--c:#7fd1a0;--d:.55s}
.lumi-confetti i:nth-child(8){--x:14px;--y:-50px;--r:-140deg;--c:#f1aaa1;--d:.36s}
.lumi-confetti i:nth-child(9){--x:-40px;--y:20px;--r:220deg;--c:#8f7ad2;--d:.6s}
.lumi-confetti i:nth-child(10){--x:42px;--y:16px;--r:-260deg;--c:#4d9ca7;--d:.48s}
.lumi-confetti i:nth-child(11){--x:-22px;--y:-30px;--r:160deg;--c:#f6ca74;--d:.62s}
.lumi-confetti i:nth-child(12){--x:24px;--y:-28px;--r:-180deg;--c:#7fd1a0;--d:.4s}
@keyframes lumi-confetti{0%{opacity:0;transform:translate(-50%,0) rotate(0) scale(.4)}12%,70%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(var(--y) + 30px)) rotate(var(--r)) scale(1)}}
@keyframes lumi-cheer-jump{0%,100%{transform:translateY(0)}40%{transform:translateY(-12px) rotate(-3deg)}70%{transform:translateY(0) scale(1.04,.96)}}
@keyframes lumi-cheer-left{0%,100%{transform:rotate(0)}50%{transform:rotate(16deg)}}
.companion-celebrate.lumi-talking .lumi-speaking-mouth{display:none}.companion-celebrate.lumi-talking .lumi-smile{display:block}
.lumi-sweat{animation:lumi-sweat 2.4s ease-in-out infinite}
@keyframes lumi-sweat{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(3px);opacity:.6}}
.lumi-motion-paused .companion-celebrate .lumi-avatar,.lumi-motion-paused .lumi-confetti i{animation:none!important}.lumi-motion-paused .lumi-confetti{display:none}
@media(prefers-reduced-motion:reduce){.companion-celebrate .lumi-avatar,.lumi-confetti i{animation:none!important}.lumi-confetti{display:none}}
/* Très petit écran (320 px) : au bilan, Lumi passe au-dessus du texte, avec ses confettis,
   au lieu de serrer la carte en colonne étroite (audit interface, 9 octobre 2026). */
@media(max-width:360px){.decision-debrief .companion-card{flex-direction:column;align-items:flex-start}.decision-debrief .companion-avatar{margin:0}}
